본문 바로가기

AhnLab SR 7th/Semina & Exhibition

보안문제는 결국 사람문제이다. 0722 KAIST 사이버 보안 워크숍

이전의 여러 정보 보안 관련 세미나, 워크숍 현장을 취재하면서 실무에 관련된 이야기는 많이 들을 수 있었다. 한편으로 정보 보안 공부를 시작한 학생의 입장에서는 '보안에 관심을 갖고 공부하는 학생들을 위한 자리는 없을까?' 하는 생각을 했다.

이런 생각을 하고 있던 찰나 사이버 보안 실무자는 물론 미래의 정보 보안 전문가를 꿈꾸는 중,고등학생들도 함께 참여할 수 있는 자리가 열렸다. 바로 7월 22일,23일 양일간 대전의 한국과학기술원(이하 KAIST)에서 진행된  '2011 KAIST 사이버 보안 워크숍'이다. (http://csrc.kaist.ac.kr/workshop2011/). 그 중 22일에 일반인과 대학생 대상으로 한 프로그램이 구성되어있어 첫째날 그 현장을 다녀왔다.


올해에 이런 워크숍이 열리면 항상 안철수연구소 대학생 기자단 소속으로 등록을 했었다. 하지만 이번 워크숍의 경우는 '정보 보안에 대해 공부하는 한 학생으로서 배우러가자' 는 생각으로 대학생 신분으로 등록을 하고 참여했다.

근교에 있는 중,고등학생들부터 멀리있는 다른 지역에서 온 대학생, 어른들까지 보안에 대한 관심과 열정으로 모인 다양한 연령대의 참가자들을 볼 수 있었다. 

다양한 연령대의 참가자들만큼이나 주제도 다양하게 구성이 되었다. 그 중 이번 워크숍을 통해 처음 알게된 '
인지과학'에 대한 발표가 있어서 소개하려고 한다. 

Security 인지과학 분석에 관한 연구 - A3 시큐리티 윤영 부장


A3 시큐리티의 윤영 부장의 "'
인지과학'에 대해 알고있거나 한 번이라도 들어보신 분 있습니까?" 라는 질문과 함께 발표가 시작이 되었다.


얼핏 들어본적은 있었으나 이번 발표를 통해  '인지과학'에 대해 자세히 알 수 있었다.  '인지과학'을 처음 들어본 분들을 위해 간략하게 짚고 넘어가보자.

인지과학이란?

사람의 행동과 마음을 연구하는 학문이다. 인지과학을 연구하기 위해서는 다양한 인문학적 지식이 필요하다. 즉 이름은 과학이지만 사실 인문학에 가깝다많이 들어가있는 것 중의 하나가 사람이 말하는 것과 행위를 연구하는 것이다. 우리가 기존의 알고 있는 기술적인 부분을 인간적으로 접근하는 것이다.


미국 드라마 '멘탈리스트' (출처 : http://0jin0.com/1651)


미국 드라마 ‘멘탈리스트’ 에서 주인공 '패트릭 제인'은 각 용의자를 만난다. 다양한 인지 기법을 통해서 다양한 질문을 한다. 몇 가지 기법 중 콜드 리딩(상대방에 대한 사전 정보가 없는 경우에 사용)은 상대방에 교묘한 질문을 던지는 것이다. 그 반대인 핫 리딩은 사전에 정보를 파악해서 체면을 걸어서 상대방을 원하는 방향으로 유도하는 것이다. 즉 '살펴보고, 들어보고, 질문하는' 과정을 통해 범인을 잡는다.

영화 속 최고의 프로파일러 '렉터'박사는 
범죄심리를 정신과적 분석과 자신의 경험에 반추하여 누구보다 명확하게 범죄자를 파악한다.
- 영화 '양들의 침묵' 中 -  


그리고 미국에서는 연쇄 살인 사건이 발생하면 강력 범죄 사건으로 분류해서 FBI의 프로파일러(범죄 심리 분석관)가 출동한다. 출동한 프로파일러는 범행 현장에 남겨진 지문이나 살인 도구 같은 여러 흔적을 모아 범인의 성격, 콤플렉스, 취향, 연령대, 성별 등을 도출해내는 심리 분석을 통해서 범인의 윤곽을 잡아낸다.

'멘탈리스트' 의 패트릭 제인이나 FBI의 프로파일러들이 수사도 
일종의 기법이다. '인지과학'을 이용한 이런 수사 기법을 정보 보안 분야에서 충분히 활용할 수 있다고 한다. 

2000년대 부터 계속해서 보안 이슈가 나왔는데 아직도 보안 문제는 계속 나오고 해결되지 못했다. 보안 기술이나 솔루션 만으로는 해결이 안되고 있다.  구체적인 예로 올해 초에 일어난 농협, 현대 캐피탈의 보안 사건을 보면 알 수 있다. 회사의 내부자들은 보안을 한다고 하면 왠지 불편하게 여기고 부정적인 인식을 갖고 있다. 

이처럼 해결이 안되는 원인을 보면 보안 문제는 결국 사람의 문제라는 것을 알 수 있다. 그렇기 때문에 정보 보안 문제에 인지과학을 활용할 수 있다고 본다.

'인지과학'을 보안에 어떻게 활용할 수 있을까? 

인지과학적 특성을 이용해서 보안을 하는데 이용하려고 한다. 운영자, 사용자, 해커들의 행동양식에 대해 연구를 하는 것이다. 이전에는 이런 사람들의 행위에 대해 연구를 해오지 않았기 때문에 보안 문제 해결이 어려웠다고 본다.

1. 패스워드 대안
 

보안하면 첫번째로 떠오르는 것이 바로
패스워드다. 좋은 패스워드라고 하면 매번 입력때 마다 변하는 랜덤 패스워드라고 할 수 있다. 하지만 사람은 직접 랜덤 패스워드를 생성할 수 없다. 결국 사람들은 패스워드 생성시 패턴과 규칙을 제시해 주게 된 것이다. 
비밀번호 생성시에 @,# 같은 특수문자를 넣으라는 경우가 있다. 사람들은 특수 문자를 옵션이라고 생각한다. 그래서 문구를 친 다음 마지막에 특수문자를 사용하는 경우가 많다. 맨 끝에 @나 #을 넣기 때문에 크래킹을 하는 것은 시간 문제다.

이런 기존의 패스워드 문제를 극복하기 위해 인지과학적 인증방식으로 접근해보았다.



이미지 하나는 1000개의 단어와 같은 효과를 낼 수 있다. 그리고 사람들은 1000개의 단어를 외우는 것보다 시각적 이미지를 기억하는 능력이 강하다. 이미지를 이용한 패스워드로 기존 패스워드를 대체를 할 수 있다고 본다. 그리고 4개의 이미지 정도면 적당하다고 본다. 그래픽컬 패스워드 방식은 사용자는 편리하면서 보안성이 높아지는 장점과 키로깅(Keylogging)에 대한 해결책이 될 수 있다.

물론 이런 방법도 문제는 있다. 바로 사람들은 새로운 것이 다가오면 거부감과 불안감이 높아진다는 것이다. 인지적으로 접근해서 이런 것들이 해결되면 그 후에는 몸으로 익혀지기 때문에 순식간에 퍼질수 있다고 본다.

2. 
Malware DNA ( 악성코드 DNA )

악성코드(Malware)는 어떻게 인지적으로 접근할 수 있을까? 바로 악성코드를 바이러스라고 보고 생물학적으로 접근하는 것이다.



출처 : 악성코드분석 (http://boanin.tistory.com/6),
 
DNA  (http://www.news-medical.net/health/)

하루에 수 천 개의 악성코드가 쏟아져 나오는데 하나하나 분석하는 것은 힘들다고 본다. 정상파일과 악성코드를 분석해서 사람의 DNA 처럼 만드는 것이다. 즉 악성코드의 행동을 분석하는 것이다. DNA화가 잘 이루어지면 스캔 과정을 거쳐 비교를 하면 따로 패턴 업데이트를 안해도 악성코드로 판단해 줄 수 있다.

악성코드는 대개 4가지 동작을 한다. 새로운 프로세스를 만들고 레지스트리 수정, 파일을 생성, 네트워크 문제를 일으킨다. 이것이 전부다. 예를 들면 이런 4가지 동작 방식을 나열해서 DNA로 만들 수 있을 것이다.

이 방법이 실효성이 있는지 아직은 알 수 없다. 하지만 악성코드 분석에서 '인지과학'을 강조하는 이유는 무엇일까? 요즘 발견되는 악성코드 대부분이 자동화툴에 의해 생성되기 때문에 여기에 빨리 적응하려면 유사성을 파악해서 악성코드 유무를 분석하는 것이 좋기 때문이라고 본다.

3. 해킹 사고 분석 시 크래커와 관리자의 차이를 알 수 있다.


사실 크래커(악의적인 목적으로 남의 컴퓨터 시스템에 침입하는 사람, 즉 나쁜 해커)는 기본적으로 관리자와 하는 것은 같다.

다만 관리자와의 차이 하는 행위가 나쁘냐 좋냐의 차이다. 크래커는 관리자의 기능을 악용하는 것이다. 관리자와 크래커 두 사람 모두 Root
(서버 관리자) 권한을 따서 명령어를 실행시킨다. 명령어만 가지고는 관리자와 크래커가 구분이 안된다.

기본적으로 크래커는 해킹할 시스템을 모르기 때문에 알기위한 행동을 할 것이다. 반면 관리자는 시스템 관련 정보를 알기 위한 명령어는 칠 필요가 없다. 시스템하고 명령어는 동일하지만 두 명의 습관이 다르기 때문에 뚜렷한 차이가 나타나게 된다. [예) 동일 명령어를 사용하는 빈도수, 파일 수정 여부, 명령어 오류 등] 이와 같은 데이터를 많이 갖고 있으면 크래커와 관리자를 구분할 수 있다.

4. 해킹 사고 대응 시 로그에 대한 인지과학적 접근이 필요하다 


취약점을 이용해서 파일을 생성하는 경우에 대해서 알아보자. 배치 파일(1.bat)이 VB스크립트(2.vbs)를 생성한다. 그리고 2.vbs 는 최종적으로 실행파일(3.exe)을 생성하는 경우가 있다고 가정하자. 여기서 발생하는 문제는 크래커는 1.bat 와 2.vbs 는 완전 삭제한 뒤에 3.exe 만 남기는 것이다. 물론 리버싱 프로그래밍을 통해서 3.exe 를 분석할 수 있다. 하지만 어느 경로를 통해 3.exe 가 설치된 되었는가? 바로 이 것이 중요한 문제이다.

실제 침해 사고가 일어나서 분석을 하면 공격은 ABCD로 이루어 졌는데 시스템에는 마지막의 결과(3.exe)만 보이기 때문에 이것만 보고 분석하기란 힘들다.

분석시에 기록된 로그(log)를 확인하게 된다. 하지만 이 로그들은 보안에 대한 생각이 없었던 30년 전에 만들어 진 것이다. 그런데 지금도 30년 전 것을 사용하고 있고 사고시에 분석을 하고 있다. 그렇다고 로그 분석이 잘 이루어 지고 있는가? 아쉽게도 완벽하게 분석이 되는 경우가 없다.

왜냐하면 일단 웹에 의한 공격은 사회공학적 기법에 의해서 자신도 모르는 사이 자동적으로 설치가 되는 경우가 많기 때문이다. 그리고 웹에서 어플리케이션이 실행되는 경우 웹 서버에 올라가게 되어서 로그 분석을 해보면 사용자에게 로그가 남지 않는다.
또 하나의 문제는 필요한 로그들이 제 각각 이어서 연관성을 지을 수없다. 로그가 절단되어 있는 것이다. 
부끄럽게도 30년 된 로그를 바꿔야 한다는 사람이 어느 누구도 없었다. 

이러한 기존의 로그 문제를 인지과학적인 접근한 방법은 로그에 5W1H 만 남기는 것이다. 즉
 타임라인을 기준으로 로그를 만드는 것이다. 공격이 이루어져도 실시간 기록을 하는 서버나 방화벽에 대해서는 해커는 시간을 바꿀수 없기 때문에 로그에 연관성을 지을 수 있다. When(언제) 접속했는지 Where(어디에서) 관리를  했고 Who (누가) What (무엇을) 인증해서 How(어떤) 권한을 가졌는지에 대한 로그 기록을 하면 보안 사고가 나면 해결 할 수 있다. 

하지만 문제는 실제로 디자인되기 어렵다는 것이다. 실제 담당자들이 고객사에 가보면 보안팀들의 발언권이 강하지 않다고 한다. 결국 보안의 파워가 없어서 좋다고 하는 것이 있어도 채택되기 힘든 것이다. 하지만 10년후에는 지금과 똑같으면 안 될 것이다. 바뀌고 발전해서 이렇게 되었으면 좋겠다.



보안 문제 = 사람 문제  

지금부터 향후 10년 뒤에는 그 동안 해온 것이 맞는지 확인하고 크게는 전부 뒤집어야 할 수 있다. 시대에 맞는 방법과 전략을 세워야 되는 것이다. 기술 프로세스가 아무리 좋아도 사람이 문제가 되면 그 시스템은 망가지기 때문이다.

결국 기술,시스템,프로세스 모두 중요하지만 근본적인 문제는 사람이라는 것이다. 그래서 사람의 행동을 교정해야 된다. 만약 교정이 안되면 그 사람에 맞게끔 바꿔야 보안 문제가 해결될 수 있다.


사람들은 보안에 대해 불편하게 생각하고 깊게 알고 싶어하지 않는다. 그래서 지금처럼 보안을 강요하기 보다는 투명한 보안을 해야 될 것이다.  즉 보안통제가 된다는 것을 느끼지 못하게 해야한다. 통합적이고 간단한 프로세스로 구현되어야 하는 것이다.

지금까지 이야기 한 것은 아직은 학회에 검증된 것이 아닌 이론적인 것이다. 향후에 발전시키기 위해서는 체계적인 것이 필요할 것이다. 인지과학적 분석 기법들이 만들어져서 활용할 때에 혼자만 아는 것이 아니라 사례나 분석 데이터를 갖게 되면 정보를 공유하고 다양한 케이스를 모았으면 한다.