▶ 보안 관련 정보 및 팁

[정리 2] HIPS와 Behavioral Blocker의 차이점 (행동 기반 의심 진단)

물여우 2011. 7. 2. 21:56
반응형

행동 기반 진단 기능인 HIPS와 Behavioral Blocker의 차이에 대해서 살펴보겠습니다.




AV-TEST나 AV-Comparatives 같은 보안 제품 테스트의 결과 보고서를 살펴보면, 사전 방역 진단 기능 중 행동 기반 진단 기능에 대해서 언급하면서, HIPS와 Behavioral Blocker이라는 용어가 종종 보입니다.

행동 기반 진단은 바이러스의 전통적인 진단 방식인 시그니처 방식과 달리, 실제 프로그램 또는 특정 코드가 담긴 스크립트 등이 실행되었을 때에 이를 탐지 동작하는 기능입니다.

'HIPS''Host-based Intrusion Prevention'. 즉, 시스템 침입 방지 시스템의 약자로 넓은 의미로 볼 때 시스템에 위해를 줄 수 있는 모든 침입(악성) 행위를 차단하는 것을 의미합니다. 따라서 일반적으로는 행동 기반 진단 기능을 포괄적으로 포함하고 있는 개념이라고 할 수 있습니다.

다시 정리하자면 행동 기반 진단 기능은 일반적으로 시스템을 감시하고 있다가 새로운 프로세스가 실행되었을 때, 해당 프로세스의 행동(이벤트)를 분석하고, 해당 행동이 감시 목록(악성코드들이 주로 하는 행동)에 포함된 것이면, 행동을 차단하는 기술을 의미합니다.

따라서 HIPS는 아래와 같이 정의할 수 있습니다.

▶ HIPS : 호스트 시스템 또는 시스템에 설치된 어플리케이션에서 발생된 이벤트(행동)를 감시, 분석하여, 위험성이 예측되는 특정 이벤트로 판명되면, 이벤트 실행을 차단하는 시스템 보호 기술 

이런 면에서 Behavioral Blocker도 크게 보아서는 HIPS에 포함되는 기능입니다. 사실 내부적인 알고리즘과 구조도 비슷하다고 합니다.

여하튼 HIPS는 프로세스의 행동을 기준으로 진단하는 방식이기 때문에, 시그니처(진단에 필요한 악성코드 정보)가 없더라도, 악성코드의 실행을 차단할 수 있습니다. 이러한 이유로 사전 방역 기술의 대표적인 기술 중 하나로 꼽히고 있습니다. 최근들어 HIPS(넓은 의미) 기능이 각종 제품에 추가되면서, 제품마다 다양한 형태를 띄게됩니다. 

그렇다면 유명 보안 제품 테스트에서 HIPS와 Behavioral Blocker를 구분하는 이유는 뭘까요?

여러 가지 이유가 있을 수 있지만 사용자 입장에서 볼 때 '사용자가 판단해야할 범위가 어디까지 인가?'를 기준으로 생각하면 될 듯 합니다. 정리하면 행동 기반 진단 기능의 감시 범위와 진단 조건의 차이를 기준으로 'HIPS'(좁은 의미)와 'Behavioral Blocker'로 나눈다고 볼 수 있겠습니다.


▶ 좁은 의미의 HIPS

좁은 개념의 HIPS는 프로그램 관리에 사용되던 'Application Control'에서 발전된 기술입니다.

그렇다면 HIPS의 특징은 무엇일까요? HIPS의 특징을 간략하게 표현하자면  "새롭게 실행된 프로세스의 개별 동작을 하나하나 관리하는 것"악성 의심 이벤트가 생성될 때마다 사용자 처리를 요구하는 것이라 할 수 있습니다.

HIPS의 작동 과정을 간단히 정리하면 아래와 같습니다.

① HIPS의 시스템 모니터링
② 시스템에 새로운 프로세스 구동
③ 악성 코드 유사 행동 발생
프로세스의 행동 일시 차단
⑤ 해당 행동에 대한 사용자 처리 팝업 생성
사용자 행동 허용/차단 선택
⑦ 프로세스 행동 실행/차단

HIPS는 악성코드가 사용할 수 있는 시스템 이벤트의 목록을 가지고 시스템을 모니터링합니다. 감시 목록(명령 코드)과 관련된 이벤트가 발생하면, 일시적으로 실행을 차단, 사용자에게 해당 이벤트의 실행 허용 여부를 물어보게 됩니다. 

이와 같은 HIPS 기능이 포함된 제품 중에서는 대표적으로 '카스퍼스키'가 있으며, 코모도, 아웃포스트, 피시툴즈 등 개인용 방화벽 제품으로 유명한 제품들 대다수에도 포함되어 있습니다.

아래는 카스퍼스키 제품에서 HIPS 기능이 감시하는 시스템 이벤트와 레지스트리 목록입니다.

           감시하는 시스템 이벤트의 예                              감시하고 있는 레지시트리 항목의 예
                                       클릭시 큰 화면으로 볼 수 있습니다.


이와 같이 다양한 시스템 이벤트를 모니터링하고 있고, 이에 대한 처리를 사용자에게 요구하고 있기 때문에, 사용하기가 상당히 어렵다는 단점이 있습니다.


                                          시스템 이벤트 처리 요구 팝업창 예시

이 기능을 제대로 사용하려면 시스템에 대한 어느 정도의 이해를 갖추고 있어야 하며, 설정에 따라 상당히 많은 수의 처리 요구가 발생하기 때문에 일반 사용자들이 사용하기에는 다소 어려운 기능입니다.

그러나 최근 들어서는 HIPS의 이런 단점을 극복하기 위해 다양한 방법들이 사용되고 있습니다. 

① 화이트 리스트 기반 정상 프로세스 실행 자동 허용
 - 
가장 기본적인 방법이며 다른 방법들의 기본이 되는 방법입니다. 디지털 인증 확인 등의 방법이 병
   행되며, 자주 사용되는 유명 프로그램들의 실행에 관여하지 않기 때문에 사용자 편의성을 높일 수
   있습니다. 그러나 악성코드들의 디지털 인증 위조와 정상 프로그램을 통해 실행되는 취약점 공격까
   지 자동으로 허용하는 일부 사례도 존재하는 등 단점도 많습니다.

② 프로그램 계층화 관리
 - 화이트 리스트 기반에서 응용된 것으로 프로그램 위험도에 따라, 계층적으로 시스템 권한을 부여하
   는 방법입니다. 카스퍼스키에서 사용하는 방법으로 자체적으로 분석된 위험도에 따라 실행된 프로
   그램을 분류 자동으로 시스템 권한을 부여합니다. 정상 파일과 악성 파일, 의심 파일 및 미분석 파
   일을 따로 나누어 권한을 차등적으로 분류하기 때문에 사용자의 처리 요구를 줄일 수 있습니다.

③ 클라우드 진단
 - 화이트 리스트 기반이지만 시스템 내의 DB가 아닌 클라우드 서버에서 정보를 받아와 프로세스의
   실행 허용 등을 판단합니다.

최근 들어서는 제품에 따라 위 방법들을 섞어가며 사용합니다. 카스퍼스키의 경우 프로그램 계층화를 위해 자체 분석 및 클라우드 DB를 받아와 최종적으로 위험도를 판단합니다.



▶ Behaviora Blocker

Behavioral Blocker도 기본적으로 시스템 모니터링 과정 중에 악성 의심 행동(이벤트)가 나타나면, 이를 중간에서 정지, 차단시키는 기능이기 때문에 HIPS와 기본 작동 원리는 동일합니다. 그러나 HIPS와 달리 Behavioral Blocker는 애초부터 악성코드 차단을 목적으로 하여 개발된 사전 방역기술입니다. 

Behavioral Blocker의 특징은 아래와 같습니다.

① (제품에 따라) 단일 이벤트가 아니라 프로세스에서 일어나는 다양한 이벤트들의 위험도를 분석,
    종합적으로 위험도를 평가하여 악성 여부를 판단하는 방식이 쓰임
② 특정 이벤트에 특화된 진단 DB가 존재(예 : 취약점 공격 시도 진단)
    -> 일반적으로 진단 목록에 포함된 이벤트가 발생시 프로세스 자체를 차단
③ 진단된 프로세스의 악성 의심 여부만 알려줄 뿐 어떤 이벤트를 악성으로 판단했는가에 대한 정보
    를 사용자에게 미공개하는 경우가 많음 

기본적으로 Behaviral Blocker는 실행된 프로세스의 행동들을 보고 하나하나 위험도를 측정, 이를 합산하다가, 위험도가 기준을 초과하면 해당 프로세스를 악성코드로 판단, 실행을 차단하게 됩니다. 이와 함께 시스템 취약점 공격이나 악성코드가 자주 사용하는 특정 행동에 대해 반응하여 시스템을 보호합니다.

따라서 일반적으로 프로세스의 실행 자체를 허용, 차단합니다. 사용자 입장에서는 이 부분이 HIPS와 가장 큰 차이입니다. 내부적인 분석 및 진단 항목은 감추고 최종적인 결과(실행된 프로세스)만 사용자가 판단하면 되기 때문입니다.

오진의 위험성이 있지만 자체적으로 위험 여부를 판단한 상태에서 사용자에게 알려주고, 프로세스의 개별 행동이 아닌 프로그램을 실행할 것이냐 말 것이냐만을 판단하면 되기 때문에 HIPS에 비해 상대적으로 시스템에 대한 이해가 적어도 사용할 수 있고 처리 요구가 적습니다.

Behaviral Blocker 대표적인 기능으로는 노턴의 SONAR가 있습니다.

이외에 외국 제품에는 대부분 이 기능이 포함되어 있습니다.


             AVIRA의 ProActive                                       AVG의 Identity Protection
                                                      카스퍼스키의 PDM 항목


왼쪽 그림이 카스퍼스키의 PDM 진단 항목인데 위 어플리케이션 제어 팝업창과 차이점을 비교해보면 HIPS와 Behaviral Blocker의 차이를 확인할 수 있을 듯 합니다.


           프로그램 실행/종료 여부를 질문                     프로그램 행동의 허락/차단 여부를 질문




다소 장황하게 HIPS와 Behaviral Blocker를 살펴봤습니다. 

HIPS(좁은 의미)는 대중적이지 못한 기능이라 할 수 있습니다. 유명 보안 제품의 경우 기본적으로 사용자의 보안 관련 관련 작업양을 최소 한도로 줄이고자 하는데, 이유는 모든 사용자가 시스템에 능통하고 보안 제품에 대한 이해가 높은 것이 아니며, 직접 작업하는 것을 불편해하는 사용자들도 많기 때문입니다.

이러한 이유로 현재는 HIPS가 아닌 Behaviral Blocker가 행동 기반 진단 기능에서 많이 쓰이고 있습니다. 그러나 아직까지 Behaviral Blocker는 악성코드 차단에 다소 미흡한 모습을 보여주고 있습니다. 이와 반대로 HIPS는 실행된 프로그램의 개별적인 행동을 따로 관리할 수 있다는 장점을 갖고 있으며, 악성코드 차단면에서 Behaviral Blocker보다도 훨씬 더 뛰어난 성능을 보여주고 있습니다. 

결과적으로 귀찮은 사용자 팝업을 감수하더라도 강력한 시스템 보호 성능을 중요시하는 사용자는 HIPS가 상당히 매력적이며, 그 외에는 Behaviral Blocker가 더 어울린다고 생각합니다.

시스템이나 보안 제품의 이해가 부족한 상태에서 남들이 추천한다고 덥썩 HIPS가 포함된 방화벽 제품을 사용함으로써 스트레스를 받을 필요는 없다고 봅니다.


- 이상입니다.
반응형