어떻게 하는 게 상관분석일까요?
다음은 'failed login' 메시지 조건을 이용한 로컬 로그인 실패 발생 추이. 'failed login' 메시지와 로그인 실패 발생은 양의 상관관계를 갖는다.
상관분석 사례는 없냐는 질문을 받았다. 네? 지금 하고 있는데요 담배 타임 때 슬쩍 물어봤다.
어떻게 하는 게 상관분석일까요?
로그를 2개 이상 묶어야 상관분석이라고. 사례도 하나 알려 주신다. ID나 PASSWORD 또는 금융정보 관련 문자열을 IDS로 탐지한 후, (탐지했지만 믿을 수 없어서) 별도로 수집된 트래픽 뒤져서 실제 정보 유출 여부를 판단하는 상관분석을 하고 있다고.
네? 그냥 같은 트래픽인데요 IDS는 원래 트래픽을 검사하는 장비. 정오탐 판별 관점에서는 아주 적절한 IDS 활용이지만 상관분석? 물론 인풋과 아웃풋 트래픽 간 상관분석이라고 봐줄 수도 있지만(..)
상관분석은 통계분석
통계분석은 숫자로 상태를 확인하는 방법. 숫자로 상황 판단이 가능해야 한다는 얘기. ①인구가 늘어나니 ②땅값이 오르는구나..개꿀 뭐 이런 식.
반면 IDS와 같은 패턴매칭 장비는 죽으나 사나 패턴의 맥락까지 확인해야 하며, 숫자로는 어떤 판단도 할 수 없다. 여앵커, 불륜, 재벌2세라는 패턴만으로 실화와 드라마를 구분할 수 있을까?
로그 하나 가지고 무슨 상관분석이냐는 말에 좌절할 뻔. 이게 다 2000년대부터 고도의 분석기법을 연상케 하는 상관분석(correlation) 마케팅을 남발한 미국 탓이다.
간만에 재활용
보안 분야에서 자주 거론되는 몇 가지 상관분석 방법론의 허점을 살펴보자.
첫 번째는 보안로그끼리의 상관분석. 이 방법론의 목적은 상관분석을 통해서 보안로그의 정확도를 높이겠다는 것이다. 그런데 보안로그(패턴매칭)의 정확도가 보장이 된다면 상관분석은 사실 할 필요가 없다(..)
그렇다면 정확도 보장을 못할 경우엔 필요한가? 오탐끼리 상관분석을 하게 될텐데? 영원히 빠져나올 수 없는 닭과 달걀의 딜레마에 빠지게 될 것이다.
두 번째는 가장 많이 주장되는, 공격 로그가 발생했을 때 피해 시스템에서 에러 로그가 발생하면 공격이라는 식의, 보안/일반로그 간 상관분석. 이게 성공하려면 공격일 때만 에러 로그가 발생한다는 전제가 필요하다.
그러나 (보안로그의 오탐 가능성은 무시하더라도) 에러로그는 공격이 아닐 때도 얼마든지 발생한다. 어느 하나도 확실한 기준이 되어주지 못한다는 얘기. 결국 오탐끼리 상관분석을(..)
세 번째는 일반로그끼리의 상관분석. 1번 로그에서 a란 패턴이, 2번 로그에서 b란 패턴이 나오면 공격이라는 식의, 한마디로 일반로그에서 패턴 필터링을 하는 것. 그런데 패턴 필터링은 이미 보안솔루션이 하고 있는데? 바퀴를 또 발명할 필요가 있을까?
재활용 끝. 로그를 2개 이상 묶었다 그러면 있어 보이는 건 사실이지만 패턴매칭과는 잘 어울리지 않는다. 이상징후 분석은 어울릴까? 현실은 로그 하나도 힘들다. 하지만 하나를 열심히 파다 보면 다른 로그와 이어지는 실마리를 찾을 수도 있지 않을까?