해킹이나 보안이나 결국은 사람 문제다

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

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

근교에 있는 중고등학생부터 먼 지역에서 온 대학생, 어른까지 보안에 대한 관심과 열정으로 모인 다양한 연령대의 참가자들을 볼 수 있었다. 다양한 연령대의 참가자들만큼이나 주제도 다양했다. 그 중 A3시큐리티 윤영 부장이 발표한 '시큐리티 인지과학 분석에 관한 연구'가 흥미로웠다. 다음은 주요 내용.

정보보안에 인지과학을 접목한다면

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

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

영화 '양들의 침묵'

 
그리고 미국에서는 연쇄 살인 사건이 발생하면 강력 범죄 사건으로 분류해서 FBI의 프로파일러(범죄 심리 분석관)가 출동한다. 출동한 프로파일러는 범행 현장에 남겨진 지문이나 살인 도구 같은 여러 흔적을 모아 범인의 성격, 콤플렉스, 취향, 연령대, 성별 등을 도출해내는 심리 분석을 통해서 범인의 윤곽을 잡아낸다. 영화 '양들의 침묵'에서 최고의 프로파일러 '렉터' 박사는 범죄 심리를 정신과적 분석과 자신의 경험에 비추어 누구보다 명확하게 범죄자를 파악한다. '멘탈리스트'의 패트릭 제인이나 FBI의 프로파일러들이 하는 수사도 일종의 기법이다. '인지과학'을 이용한 이런 수사 기법을 정보 보안 분야에서 충분히 활용할 수 있다. 

2000년대부터 계속 보안 이슈가 나왔는데 아직도 보안 문제는 계속 나오고 해결되지 못했다. 보안 기술이나 솔루션만으로는 해결이 안 된다. 회사의 내부자들은 보안을 한다고 하면 왠지 불편하게 여기고 부정적인 인식을 갖고 있다. 이처럼 해결이 안 되는 원인을 보면 보안 문제는 결국 사람의 문제라는 것을 알 수 있다.

그렇기 때문에 정보 보안 문제에 인지과학을 활용할 수 있다고 본다.
인지과학적 특성을 이용해 운영자, 사용자, 해커들의 행동양식을 연구하는 것이다. 이전에는 이런 사람들의 행위를 연구하지 않았기 때문에 보안 문제 해결이 어려웠다고 본다. 인지과학을 보안에 어떻게 활용할 수 있고, 그 효과는 어떠할까?
 

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

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

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

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

2. 악성코드를 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가 설치되었는가가 중요한 문제이다.
실제 공격은 A-B-C-D로 이루어졌는데 시스템에는 마지막의 결과(3.exe)만 보이기 때문에 이것만 보고 분석하기란 힘들다. 일단 웹에 의한 공격은 사회공학적 기법에 의해서 자신도 모르는 사이 설치되는 경우가 많다. 그리고 웹에서 애플리케이션이 실행되는 경우에는 사용자에게는 로그가 남지 않는다. 또 하나의 문제는 필요한 로그들이 제 각각이어서 연관성을 찾기 어렵다는 점이다. 로그가 절단되어 있는 것이다.

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

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

 
보안 문제 = 사람 문제  

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

그래서 사람의 행동을 교정해야 한다. 만약 교정이 안 되면 그 사람에 맞게끔 바꿔야 보안 문제가 해결될 수 있다.
사람들은 보안에 대해 불편하게 생각하고 깊게 알고 싶어하지 않는다. 그래서 지금처럼 보안을 강요하기보다는 투명한 보안을 해야 할 것이다. 즉, 보안 통제가 된다는 것을 느끼지 못 하게 해야 한다. 통합적이고 간단한 프로세스로 구현해야 하는 것이다.

지금까지 이야기한 것은 아직은 학회에 검증된 것이 아닌 이론적인 것이다. 향후에 발전시키기 위해서는 체계적인 연구와 검증이 필요하다. Ahn
 

대학생기자 김재기 / 한양대 안산 컴퓨터공학과

해보지도 않고 포기하는 것은 현명하지 않은 일이라고 생각합니다. 
타고난 천재가 아닌 이상 처음부터 잘하는 사람은 없겠지요. 
새로운 것에 도전하고 항상 노력하는 대학생기자 김재기입니다. 

댓글을 달아 주세요

  1. 2011.08.05 11:47  Address |  Modify / Delete |  Reply

    비밀댓글입니다

  2. 김재기 2011.08.08 13:41  Address |  Modify / Delete |  Reply

    안녕하세요 김재기씨 트위터 @koreajack 김재기 입니다. ㅎㅎㅎ
    우연히 취재를 위해서 검색하던 중에 또 여기서 뵙네요. ^-^