2016년 4월 1일 금요일

LogParser 활용(Web Log 이상징후 분석 - 5th)

4회에 걸쳐서 웹 응답코드 및 웹 문서 종류의 개수라는 로그의 단일 요소를 기준으로 이상징후 분석을 시도했었다. 그런데 이상징후 분석에 대한 오해가 생길 수도 있을 것 같아서 오늘은 좀 다른 얘기를 해볼까 한다.

지난 분석 사례에서 공격 징후 포착이 나름 수월(?)했었다. 이상징후 분석은 원래 이렇게 쉬운 걸까? 그럴리가 해당 사례의 분석이 쉬웠던 이유는 사고 발생이 알려지고 난 뒤에 이루어진 분석이기 때문.

피해자라는 힌트가 있었기 때문에 피해 시스템에서 피해가 발생한 일시의 로그만을 분석하는데 어려울 턱이 있나. 그런데 만약 공격이 발생하지 않았다면 어땠을까? 수많은 시스템과 서비스에서 발생하는 대량의 로그라는 어려움을 겨우 극복해서 분석했음에도 정작 발생한 공격이 없다면?

분석 결과 공격 없음을 확인했다는 얘기는 곧 안전함을 확인했다는 뜻이지만 아쉽게도 안전함을 확인했다는 결과를 성과로 인정해주는 경우는 별로 없기 때문에 (아무 것도 안 한 거라고 보는 경우가 많기 때문에) 결국 시간만 낭비한 지경이 된다.

낭비한 시간을 다른 업무에 쏟았었더라면 하는 후회를 해봐야 이미 떠난 버스. 당연히 업무 우선순위를 결정할 수 있는 권한이 있어야 이런 후회도 가능하겠지만(..)

물론 '나는 가끔 심심할 때 이상징후 분석을 하는데 그럴 때마다 공격 징후가 떡하니 나오더라' 하는 분들도 있을 수 있겠지만 개인적으로 드는 생각은, 아니 도대체 그 좋은 운빨을 가지고 고작 로그 분석이나 하고 있다니, 뭐 하는 짓이죠? -_-


운빨에 기대지 않으려면?

워낙 예찬들이 많아서 처음 이상징후 분석이란 걸 하게 되면 보통 의욕적으로 공격 징후라는 비정상을 찾는 데 매달리기 쉽다. 그런데 세상은 생각보다(?) 아름다워서 비정상보다는 정상인 상태가 압도적으로 더 많다.

그래서 정상을 모르면 비정상을 알기 어려워진다. 그만큼 정상과 비정상의 경계는 모호하기 때문. 지난 분석 사례에서 공격 징후 판단의 근거는 단순한 발생량의 변화가 아니라 기존과는 다른 발생 양상이었다. 

정상일 때 응답코드의 원인, 웹 문서의 종류와는 발생 양상이 달랐기 때문에 비정상으로 판단할 수 있었던 것.
정상을 알면 비정상은 쉽게 구분된다 - IDS와 보안관제의 완성 (439 페이지)

그래서 이상징후 분석 과정은 공격 징후를 발견해도 의미가 있지만, 정상을 정의할 수 있다는 점에서 발견된 공격 징후가 없어도 의미가 있다.

결국 지속 가능한 이상징후 분석 체계의 확립을 위해서는 정상 상태를 정량적 측정을 통해 수치화함으로써 조직의 로그 발생 특성을 파악해야 한다. 정상을 알아내는 이상징후 분석이 먼저 실행됐을 때 비정상을 알아내는 이상징후 분석으로 이어질 수 있는 것.

이런 전제조건의 필요성에 대한 공감대가 형성되고, 체계를 세울 때까지 지원(물질적 지원도 중요하지만, 성과를 채근하지 않는 조직 문화가 제일 중요)이 뒤따라 준다면 이상징후 분석, 별 거 아니다.

이상징후 분석 체계를 수립하기 위한 과정도 별 거 없다. 외부침입, 정보유출 감시 등의 목적을 정한 후, 분석의 범위를 결정해서 진행하면 된다.

어떻게? 

다양한 방법론이 있겠지만, 그냥 상식을 따르면 되지 않나 싶다. 보통 어떤 상태를 파악할 때는 전체 흐름에서 세부 흐름으로, 넓은 범주에서 좁은 범주로, 단순한 조건에서 복잡한 조건으로 관점을 바꿔가면서 파악하는 방식이 일반적이다. (반대로 할 수도 있지만 그러면 처음부터 할 게 너무 많아서 지치더라)

웹 응답코드, 웹 문서 종류의 변화 추이 등을 추적하는 식으로 로그의 단일 요소별 변화 추이 확인을 통해 큰 밑그림을 그린 후, 둘 이상의 요소를 조합한 다양한 상태의 변화 추이를 확인함으로써 세부를 묘사하는 것.


이런 과정이 반복되면 어떻게 될까? 조직이 가지고 있는 로그, 데이터에 대한 이해가 넓어지고, 결국 상태를 정확하게 보는 눈을 갖게 되지 않을까?

빅데이터와 APT의 공포가 만나면서 이상징후 분석을 자신하는 솔루션이 우후죽순 등장하고 있다. 하지만 그 솔루션이 멍텅구리가 되느냐, 알파고가 되느냐를 결정하는 것은 결국 사람의 몫임을 잊어서는 안 된다.

그리고 정말 잊어서는 안 되는 또 한가지, 바로 이상징후 분석과 기존 업무 간 우선순위 선정 및 조율의 필요성이다. 이상징후 분석은 어디까지나 기존 정보보안 체계의 보완 수단이기 때문.

주로 군대나 경찰 조직에서 많이 사용하는, 아직 확인되지 않았지만 특정 사고를 유발할 만한 수상한 행동을 하는 사람을 뜻하는 '거동수상자'란 용어가 있다.

군대나 경찰 모두 '거동수상자'를 색출하려는 활동을 하는데, 이는 어디까지나 사고 대응을 보완하기 위한 사전 예방 측면의 활동.

'거동수상자' 색출에만 집중하다 사고 대응이 부실해지는 우를 범하지 않으며, 사고 대응에 무게를 두고 사전 예방 활동을 병행한다는 사실을 모르는 이는 아마 없을 것이다.

넘쳐나는 이상징후 분석 관련 예찬들을 보고 있자면 기존 업무 다 중지하고 이것만 하면 안전한 세상이 도래할 것 같은 기분이 든다. 

당연히 기존 업무와의 병행을 전제로 하는데 나만 이해하지 못하고 있는 걸까? 그랬으면 좋겠다.

관련 글

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스