보안 분야에서의 빅데이터 활용 극대화 위해선 보안로그에 주목해야
연재목차----------------------
1. 빅데이터와 보안
2. 빅데이터와 보안업계의 인력난
3. 빅데이터와 보안로그
-----------------------------
[보안뉴스=강명훈 IT 보안전문가] 관리 주체의 활용 역량을 초과하는 대량의 데이터, 2012년에 갑자기 등장한 빅데이터에 대한 간단한 정의이다. 구글 등 정말 특별한 역량을 가진 조직만이 접근할 수 있었다던 빅데이터는 왜 갑자기 이슈가 되었을까? 아마도 구글에서 출발한 ‘하둡’ 등의 빅데이터 처리기술이 성숙하면서 기술 벤더들이 제품화에 자신감을 갖게 된 결과일 것이다.
이러한 배경 속에서 보안 업계 역시 차세대 핵심기술로 빅데이터에 주목하고 있으며, 빅데이터를 앞세운 제품과 기술이 앞 다투어 발표되고 있는 상황이다. 그렇다면 과연 빅데이터는 업계의 주장 또는 희망처럼 차세대 보안을 이끌어갈 핵심기술이 될 수 있을까?
빅데이터 이전에 먼저 우리는 데이터가 가지는 의미에 대해서 생각해볼 필요가 있다. 위키백과(http://ko.wikipedia.org/wiki/빅_데이터)를 보면 ‘아마존(구매 리스트를 이용한 상품 추천)’, ‘구글(검색 기록을 이용한 맞춤 광고)’, ‘대한민국 19대 총선(SNS 메시지를 이용한 여론 분석)’ 등 다양한 빅데이터 활용사례가 나온다. 그런데 이러한 활용이 가능했던 이유는 구매 리스트, 검색 기록, SNS 메시지 등의 데이터가 발생 그 자체만으로 의미를 가지고 있기 때문이다. 미래 행위를 예측하기 위해 관련된 현재 행위를 분석, 즉 데이터 분석의 목적에 맞는 정확한 데이터를 분석한 결과인 것이다.
그렇다면 보안 분야는? 과연 보안 분야에서 발생하는 모든 데이터 역시 발생 그 자체만으로 의미를 가질 수 있을까? 보안 분야에서 데이터가 발생하는 과정을 살펴보자.
1. 서버 등 일반 시스템 및 네트워크 장비에서 동작/상태 로그 및 트래픽, 즉 일반로그가 발생한다.
-> 대량 발생
-> 보안 측면에서 낮은 정확도
2. 보안솔루션별 특성 및 기준에 의해 일반 로그가 필터링되어 보안로그가 발생한다.
-> 1번 보다는 그나마 소량 발생
-> 1번 보다는 그나마 높은 정확도
보안 분야까지 빅데이터에 열광하는 이유는 그 동안 2번 과정에서 발생한, 그나마 소량이고 정확한 보안로그 분석으로도 더 이상의 수준 향상이 어렵다고 느꼈기 때문일 것이다. 과연 그럴까?
매우 아쉽게도 보안 솔루션이 만들어내는 로그는 보안에 위협이 되는 정확한 로그와 그렇지 못한 부정확한 로그로 나뉘게 된다. 왜 그럴까? 앞서 애기했듯이 일반로그를 필터링해서 보안로그를 만들어 내는데 그 과정에서 IDS, IPS, 웹방화벽 등의 보안솔루션은 일반적으로 수천 개 이상의 다양한 필터링 규칙(Rule)을 사용하게 된다. 사례를 보자. 시스템 정보를 조회하는 uname이란 명령어의 네트워크 전송행위를 탐지하는 아래와 같은 룰이 있다.
alert tcp any any -> any 80 (content:"uname";)
아래 로그는 해당 룰이 트래픽을 필터링, 즉 검사하여 발생시킨 보안로그의 원시데이터이다. 둘다 보안에 위협이 될까? 참고로 보안로그는 일반적으로 ‘공격명/IP/Port’ 등의 정보를 수록한 기본정보(공격 심증)와 해당 기본정보를 발생시킨 원인 패킷, 즉 원시데이터(공격 물증)로 나뉜다. 보안로그는 물증인 원시데이터 분석을 통해 공격 여부, 즉 심증이 확정됨을 알 수 있다.
1. GET /contact.php?find=1&name=[php]echo
('casper'.php_uname().'kae');die();[/php]
2. GET /view.html?Code=L00200100520&tBIName=tblNews&menuname=food
1번 로그는 PHP함수(php_uname)를 이용한 공격 코드가 들어있지만, 2번 로그는 ‘menuname’이란 패턴이 룰 패턴과 우연하게 일치한, 즉 보안에 위협이 되지 않는 부정확한 로그이다(정상적으로 사용되는 패턴이지만 불행히도 룰과 우연히 일치했다).
보안솔루션, 즉 컴퓨터는 패턴의 일치 여부만을 검사할 뿐, 패턴의 의미를 이해하지 못하기 때문에 발생하는 당연한 결과인데, 이런 사례가 비일비재한 것이 보안 분야의 현실이다. 7음계의 한계로 인해 표절 시비가 끊이지 않는 음악계처럼, 공격/정상 패턴 모두 같은 범위의 기호(문자/숫자)로 표현되는 한계로 인해 ‘오탐(공격 표절)’이 끊이지 않고 있는 것이다.
해당 룰에 의해서는 1번 로그가 많이 발생할까? 아니면 2번 로그가 많이 발생할까? 오탐인 2번 로그가 많이 발생하면 해당 룰을 사용하는 조직의 보안수준은 높아질까? 낮아질까? 해당 룰은 그대로 둔 상태에서 모든 로그(보안로그 + 일반로그)를 빅데이터로 분석하는 것이 효과적일까? 아니면 해당 룰을 수정, 즉 정확도를 높인 후 발생하는 정확한 보안로그를 분석하는 것이 효과적일까?
정확한 보안로그를 분석하는 것이 효과적임은 누구도 부정할 수 없을 것이다. 2번 로그가 많이 발생한다면 아래와 같이 룰을 정교화해서 불필요한 로그의 발생을 방지해야 하는 것이다(uname 패턴으로 1차 필터링, 알파벳으로 시작하지 않는 uname 패턴으로 2차 필터링). 그러나 인공지능을 연상시키는 자동화 마케팅과 보안을 제품으로 해결하려는 문화로 인해 룰 분석 및 개발 분야는 좀처럼 발전의 계기를 찾지 못하고 있다.
alert tcp any any -> any 80 (content:"uname"; pcre:"/[^a-z]uname/";)
정리해보자.
1. 룰이 정교해지면 위협 가능성이 낮은 로그를 높은 비율로 걸러내므로 적은 양의 정확한 보안로그를 생성한다.
2. 그렇지 못하면 부정확한 보안로그를 대량 생성한다.
-> 업계는 수년째 '인력난'을 호소하고 있다. 대량 로그를 분석하기 위해서는 많은 분석 인력이 필요하기 때문이다.
-> 부정확한 보안로그, 즉 부정확한 데이터는 다시 부정확한 빅데이터가 될 가능성이 크다.
현 보안 분야는 체계적인 룰 정확도 향상 방안을 마련하는 대신, 대량의 부정확한 로그를 대상으로 ‘표본검사’나 발생 빈도 및 중복 빈도 등의 기준에 의한 무리한 ‘통계검사’에 의존하면서 전수검사의 실패, 즉 많은 로그를 제대로 분석하지 못하는 상황이 지속되고 있다. 결과적으로 공격이 발생해도 알지 못하는 문제가 발생할 수 있고, 실제 발생하고 있다. 보안로그가 적시에 분석되지 못하면서 많은 보안 사고들이 피해가 발생한 후에야 분석이 시도되고 있는 것이다. 이 문제를 해결하기 위해서는 보안(솔루션/관제) 업계와 사용자가 함께 고민할 필요가 있으나, 현실은 아직 문제 인식이 부족하거나, 책임소재 때문에 애써 문제를 외면하고 있는 상황이다.
이런 상황에서, 즉 일반로그보다 그나마 소량이고 정확한 보안로그도 제대로 분석하지 못하는 상황에서 빅데이터 처리기술이 뛰어나니 일반로그까지 통합해서 보안 수준을 높이자? 이미 영악한 빅데이터 벤더들은 데이터를 저장은 해주겠지만 정교한 패턴 작성 등 올바른 활용은 사용자의 몫이라며 책임소재를 명확히 구분하고 있다.
빅데이터에 파묻히고 싶지 않다면 빅데이터에 열광하기 전에,
1. 데이터 분석의 목적을 정하고,
2. 그 목적에 맞는 데이터를 선택한 후,
3. 그 데이터에 접근하는 방법을 찾아가는 경험을 쌓아야 한다.
기존 데이터의 활용경험과 만날 때, 빅데이터는 우리에게 더 나은 가치를 제공해줄 것이다. 그리고 룰 정확도 향상을 위해 우리는 보안로그, 특히 원시데이터에 주목할 필요가 있으며, 빅데이터는 우리가 그동안 외면하고 있던 비정형 원시데이터에 접근할 수 있는 길을 제시해줄 것이다.
[글_ 강 명 훈 IT 보안전문가(ruese@hanmail.net)]
[출처] 보안뉴스(http://www.boannews.com/)
카페 소개 : 정보보안기사 카페(다음 정보보안기사 대표 카페)
카페 주소 :http://cafe.daum.net/Security-no1클릭
교재 소개 : 알기쉬운 정보보안기사.산업기사(이론편,문제편[1,200제])