▶ 보안 제품 리뷰/:: Kaspersky

Kaspersky Internet Security 2012 리뷰 (6) - ProActive, System Watcher (행동 기반 진단)

물여우 2011. 11. 5. 08:30
반응형
카스퍼스키의 행동 기반 진단 첫 번째 글입니다.



6. 행동 기반 진단 (1) - ProActive Defense, System Watcher

이제부터 본격적으로 카스퍼스키의 행동 기반 진단 기능에 대해서 살펴봅니다. 카스퍼스키의 행동 기반 진단 기능에는 먼저 시스템을 총괄하는 Application Control(HIPS, 이하 어플리케이션 컨트롤) 기능이 있고, 이를 보조하는 기능으로 ProActive Defense(이하 사전방역)와 System Watcher(이하 시스템 감시기)가 있습니다.

사전 방역 기능과 시스템 감시기를 알아보고 다음 글에서 어플리케이션 컨트롤 기능을 살펴보겠습니다.

6-1. ProActive Defense - 사전 방역

'ProActive Defense'는 한글판에서 이름 그대로 직역되어 '사전 방역'이라는 이름을 갖고 있습니다. 이 글에서도 이 번역을 사용합니다. 사전 방역 기능은 이름이 의미하는 것과는 조금 다르지만, 악성코드가 실행되면서 생기는 시스템 변경 사항을 탐지 이를 차단하는 역할을 합니다.

즉, 시그니처 진단에서 탐지 못한 새로운 종류의 악성코드를 진단하기 위하여 실행되는 프로그램들의 행위를 분석, 악성코드와 유사한 행동을 하거나, 위험 요소로 지목된 특정 행동(루트킷 설치 등)을 할 때 이를 차단하는 기능입니다. 사전 방역은 HIPS류의 기능이되 다소 제한적인 부분만을 탐지하며, 키로거나 Trojan 등 특정 악성코드에 대한 진단 규칙이 존재하는 Behavior Blocker의 기능도 함께 갖고 있는 기능입니다.

기본적으로 어플리케이션 컨트롤에 없는 항목들을 진단하고 카스퍼스키의 시스템 상 어플리케이션 컨트롤과 별개의 진단 기능이지만, 실질적으로 어플리케이션 컨트롤보다 진단 우선 순위가 떨어지며 이를 보조하는 역할을 합니다. 따라서 사실상 어플리케이션 컨트롤의 하부 기능으로 동작합니다. 단, 어플리케이션 컨트롤의 계층 구분과는 무관하게 동작합니다.

진단 특성상 오진도 은근히 많은 편입니다.[각주:1]

(1) 사전 방역 진단 항목 및 설정


사전 방역 기능이 시스템을 감시하며 진단하는 행위 목록은 아래와 같습니다.
ㆍP2P Worm-like Activity : P2P를 이용 전파되는 웜의 행동과 유사한 패턴을 가진 프로세스 진단[각주:2]
ㆍTrojan-like activity : Trojan의 행동과 유사한 패턴을 가진 프로세스 진단
ㆍkeyloggers : 키로거 역할을 하는 프로세스 진단
ㆍhidden driver install : 은폐된 드라이버를 설치하려는 행동 진단
ㆍoperating system kernel modification : OS의 커널을 수정하려는 행동 진단
ㆍHidden Object : 은폐된 객체를 생성하는 프로세스 진단
ㆍHidden Process(with negative PID) : 은폐된 프로세스를 생성하는 프로세스 진단
ㆍWorm-like Activity : 웜의 행동과 유사한 패턴을 가진 프로세스 진단
ㆍInput/Output Redirection : I/O redirection 실행시 이를 진단

이를 통해서 프로세스 인젝션이나 레지스트리, 네트워크 연결 설정, 시스템 커널, 호스트 파일, 시작 프로그램 설정 등의 변경과 키로거 등의 행위를 차단할 수 있습니다.

실제 환경 설정은 아래와 같습니다.


세부 설정은 아래와 같습니다. 앞서 언급한 악성 행위 목록을 선택하고 사용자 처리와 로그 기록 저장 등을 조정합니다.



(2)
6-2. 사전 방역 진단창


일반적으로 어플리케이션 컨트롤의 계층 설정이 이루어지고 난 이후에 사전 방역과 시스템 감시기가 동작합니다. 아래는 사전 방역 진단에서 각종 규칙에 따라 팝업창들입니다.


                                                    사전 방역 진단창 모습

검역소 격리가 가능하다는 점을 보아 기본적으로 의심 진단으로 여겨지는 것을 알 수 있습니다. 주로 "PDM.***.***" 형식의 진단명이 많이 쓰입니다.

"i" 모양의 추가 정보 버튼을 클릭하면 아래와 같은 정보를 확인할 수 있습니다.


검역소 격리, 프로세스 강제 종료 등을 수행하면, 특정한 경우 아래와 같은 고급 치료 과정이 나타납니다.

 

이때 "Dangerous activity log" 를 클릭하면 아래와 같이 파일 및 레지스트리 등 프로세스의 세부 행동 기록을 확인할 수 있습니다.

어플리케이션 활동 정보창

 

고급 치료 과정 절차에는 전에 언급한 롤백(Roll Back) 기능이 있는데, 위에 기록된 프로세스 분석 정보에 남겨진 수정된 사항들을 모두 복구시킵니다.

 

 

 

6-2. System Watcher - 시스템 감시기


시스템 감시기는 시스템을 감시하며 모든 프로세스의 행동을 기록, 저장하는 기능입니다. 이 저장 기록을 토대로 의심스러운 행동을 수행하는 프로세스의 행동을 모두 초기화하여 시스템을 복구(Roll back)하는 역할을 합니다. 카스퍼스키의 고급 치료 과정 중 하나인 복구 기능의 핵심적인 역할을 하며, 자체적으로 악성 행위를 진단하는 기능을 갖고 있습니다.

사전 방역이 HIPS와 Behavior Blocker의 혼합이라면 시스템 감시기는 명확하게 Behavior Blocker류로 분류되는 기능입니다. 자체적인 진단 기능 때문에 사전 방역과 겹치는 부분이 있음에도 따로 분류되어 존재하는 기능입니다. 

시스템 감시기의 중요 기능을 정리하자면 아래와 같습니다.
ㆍRoll Back : 시스템 변경 점을 저장하고 이를 제거하여 복구시킬 수 있는 기능
ㆍBSS(Behavior Stream Signatures) : 프로세스의 일련의 행동을 감시하며 분석.
                                                         악성 행위로 판단될 때 이를 차단

복구 기능을 사용할 수 있는 기능은 아래와 같습니다.
ㆍ파일 감시 (File Anti-virus)
ㆍ수동 검사 (Scan)
ㆍ사전 방역 (Proactive Defense)
ㆍ시스템 감시기 (System Watcher)


(1)
환경 설정과 진단창



먼저 BSS(Behavior Stream Signatures)은 패턴 분석을 통해 악성 행위를 의심 진단 하는 기능으로 시스테 감시기 고유의 Behavior blocker 기능을 의미합니다.

복구용 저장 캐쉬 용량은 시스템의 퍼포먼스를 위해 저장 캐쉬의 용량을 제한하는 기능입니다. 이전 버전에서는 30MB의 제한을 갖고 있었으나, 최근 들어 시스템 파일 변조나 자체 파일 생성시 진단 회피를 위한 용량 증가 기법이 많이 쓰이면서 제한을 풀어두었습니다. PC 성능이 낮은 경우에는 용량에 제한을 두는 것이 시스템 성능을 높이는 한 방법이겠으나, 어지간하면 제한을 두지 않을 것을 권장합니다.[각주:3]


시스템 감시기의 진단창은 아래와 같습니다.

웹에서 사진을 갖고 왔습니다.


사전 방역과 동일한 진단창입니다. 진단명은 위의 것 외에도 "BSS.Heur.Dection.***" 등 다양한 이름들이 존재합니다. 주로 'BSS'가 포함된 경우 시스템 감시기에서 진단한 것이라고 보시면 됩니다.

복구와 관련된 팝업창은 위에서 살펴본 사전 방역의 그것과 모두 동일합니다. 복구 과정 무시는 오진과 관련된 것이지만, 단순 실수로 그 이전 과정에서 치료나 삭제, 격리 등의 버튼을 누른 것이 아니라면 무시하셔도 됩니다.




카스퍼스키에서 행동 기반 진단 기능을 테스트하기 어려운 점 하나는 시그니처 기능으로 진단되는 파일들의 상당수가 어플리케이션 컨트롤의 계층에서 비신뢰 항목으로 지정되어 실행이 차단되기 때문입니다. 나중에 다루겠습니다만, 어플리케이션 컨트롤을 비활성화해두어도 사실상 기능이 켜져있어 어플리케이션의 계층 구분이 이루어집니다. 이런 문제를 해결하기 위해서는 약간의 방법이 필요한데, 이는 다음에 살펴보도록 하겠습니다.

기능적인 면에서 언급을 더 하자면 생각보다 사전 방역과 시스템 감시기의 진단 수준은 떨어지는 편입니다. 어플리케이션 컨트롤의 보조 기능의 역할을 하고 있고 아직까지 타 제품의 Behavior Blocker의 성능도 만족스러운 수준이 아니기도 합니다만 개인적으로는 참 아쉬운 부분입니다.


- 이상입니다.

  1. 행동 기반 진단(특히 HIPS에서) 정상 파일에 대한 진단 시 나타나는 오진에 대한 정의에는 약간 논란이 있을 수 있습니다.그러나 카스퍼스키가 추구하는 방향이 사용자의 선택을 줄이고자 하는 것이기에 여기서는 오진이라 칭하겠습니다. [본문으로]
  2. 카스퍼스키는 웜을 6가지로 구분합니다.(Email Worm, IM Worm, IRC Worm, Net Worm, P2P Worm, Worm) [본문으로]
  3. 제한된 용량보다 큰 파일이 생성되거나 용량이 부족할 경우 복구 기능이 제대로 동작하지 않습니다. [본문으로]
반응형