저는 보안 전문가가 아니며 해당 프로그램에 대하여 전문적이고 기술적인 지식을 지니고,
이 글을 작성하는 것이 아니므로 이 글에 오류가 있을 수 있음을 밝힙니다.


HIPS는 Host Intrusion Prevention System의 약자로 사용자 시스템에서 일어나는 모든 행동 중 일부 보안상 중요한 행동을 탐지/관리하여 악성코드의 시스템 침입을 차단하는 기능입니다. 현재까지는 주로 방화벽 제품에 포함되어 있어서, 방화벽 제품에 포함된 기능만을 지칭하는 경우도 있지만 Pctools의 Threatfire나 노턴의 SONAR 같은 기능, 노만의 SandBox 같은 기능들도 폭넓게는 HIPS 기능으로 분류합니다.

HIPS의 특징은 시그니처(악성코드 DB)를 이용해서 악성코드를 선별하는 것이 아니라 프로그램의 행동이나 특정 명령에 대해 반응하기 때문에 이론적으로는 악성코드의 시스템침입을 100% 차단할 수 있는 기능입니다. 물론, 현재 악성코드의 행동을 100% 차단하는 성능을 가진 제품은 존재하지도 않고, 아직까지 여러 취약점이 있는게 사실입니다. 그러나 보안 업체의 시그니처 대응(악성코드 수집 및 DB화)이 점점 취약해지고 있는 것이 사실이기 때문에 많은 보안업체들이 HIPS 기술 연구에 상당히 많은 투자를 하고 있습니다. 

HIPS는 매우 강력하고 앞으로 자동 분석 기능의 발달에 따라 점차 사용폭이 늘어난 것임에는 틀림없는 기능이긴 하지만 구조적으로 가진 한계점이 있습니다.

예를 들어, HIPS 기능은 감시하는 영역에 제한이 있기 때문에, 관리 밖의 영역을 통해서 HIPS를 우회하는 경우도 있으며, 안티바이러스 제품을 무력화하는 악성코드도 있듯이 여러 제품들의 HIPS의 감시와 자기보호 기능을 피하여 해당 제품을 무력화 시키는 악성코드도 존재합니다.

사용자 입장에서는 HIPS 기능을 사용하기 위해 사용자의 수준 높은 이해 및 사용 능력이 필요하다는 문제도 있습니다. 또한, 기본 사용자 권장 설정 상태의 감시 강도와 최고 수준의 감시 강도에 진단 범위의차이가 있기 때문에 시스템 감시 기능의 강도 설정에 따른 탐지 범위도 문제가 됩니다.

이러한 문제들은 아웃포스트나 코모도를 비롯한 HIPS 기능이 탑재된 방화벽 제품들과 카스퍼스키, 노턴 등 안티바이러스 제품의 HIPS 기능에서도 동일하게 생기는 문제입니다. 


위에 언급한 문제들외에도 여러 문제들이 있지만 이번 게시글에서는 이미 사용자 시스템에서 활성화되어버린 악성코드를 처리할 수 없다는 것. 즉, HIPS 기능은 사전 예방용으로 사용 용도에 제한이 있다는 것을 살펴보겠습니다.


아래의 그림을 참고해봅니다.


위의 상황은 제가 임의대로 만든 상황입니다. 아웃포스트의 호스트 보호 기능을 잠시 중지 시켜두고 악성코드를 실행시켜서 악성 dll 모듈의 삽입 등 시스템이 악성코드로 인해 여러 가지가 수정 또는 추가된 상태입니다. 이와 같이 악성코드를 모두 실행시킨 다음, 호스트 보호를 재활성화시켰습니다.

위 그림의 팝업창은 호스트 보호가 다시 활성화되면서 아웃포스트에서 이전에 관리되던 네트워크 연결 가능 프로그램(IE)에 새로운 컴포넌트가 추가되어 이를 허용할 것인지를 물어보는 사용자 처리 요구창입니다.

사용자가 문제를 인식하고 해당 모듈의 활동을 차단하기 위해 Block 처리를 하면 사용자는 정상 프로그램인 IE까지 사용할 수 없습니다. 비단, IE뿐만아니라 저러한 dll 파일들이 인젝션되는 프로그램들은 모두마찬가지입니다.

위와 같은 상황은 보통 사용자가 실수로 악성코드를 활성화시키고 여러 행동을 허락했을 때와 유사한 경우입니다. 여기서 알 수 있는 것은 HIPS 기능만으로는 위와 같은 문제를 해결할 수 없다는 것을 알 수 있습니다.

이와 같이, 이미 활성화된 악성코드는 아무리 강력한 HIPS 기능이 있는 제품이라 할지라도 악성코드의 활동을 차단하기가 어려우며, 악성코드의 제거를 위해서는 안티 바이러스나 사용자의 직접적인 처리가 필요합니다. 이는 기존의 시스템의 행동에서 이미 활성화된 악성코드의 여러 행동만을 분리해서 처리할 수 있는 경우가 거의 없기 때문입니다. 결국, 악성코드가 시스템에 준 변화를 다시 복구(치료)하는 기능은 HIPS에서는 존재하지 않습니다. 따라서 HIPS 기능은 사전 예방 기능으로 밖에 사용할 수 없다는 것을 알 수 있습니다. 

HIPS로 차단하지 못하는 악성코드나, 악성코드로 인한 시스템 치료 등 사후 대처를 위해서는 반드시 안티 바이러스 제품이 필요합니다. HIPS 기능을 사용하시고자 하는 사용자 분들은 살펴본 여러 문제점들을 고려해서 신뢰할 수 있는 안티 바이러스 제품을 함께 병용하면서 사용하시거나, 충돌 문제에서 자유로운 HIPS 기능과 안티바이러스 기능 등이 통합된 제품을 사용하셔야 합니다. 




살펴본 것처럼 HIPS 기능은 여러 한계점이 존재합니다. 버전이 올라가면서 여러 문제점들이 해결되고 있고, 앞으로 기술발전에 의해 기능적인 한계도 해결될지 모르겠습니다. 그러나 현재 상황에서는 기본적으로 HIPS 기능은 안티 바이러스 제품을 보조해주는 기능이라고 생각합니다.

어떠한 경우에도 만능의 능력을 가진 것은 없으며 이는 HIPS 기능도 마찬가지 입니다. HIPS 기능을 너무 맹신하지 마시고 언제나 악성코드의 위협을 방지하고 차단하는 것은 보안 제품보다도 사용자의 여러 사용 습관이 더 중요한 것임을 언제나 잊지 말아야 하겠습니다.  




- 이상입니다.
신고
Posted by 물여우

댓글을 달아 주세요

  1. Favicon of http://hummingbird.tistory.com BlogIcon 벌새 2009.07.30 20:33 신고  댓글주소  수정/삭제  댓글쓰기

    역시 이 기능은 고급사용자에게는 유용할지 모르지만 일반 사용자에게는 참 부담이 되는 기능같습니다.

    그리고 역시 HIPS 기능은 보안제품의 한 기능적 요소이고 DB 등을 이용한 안티바이러스의 기능은 어쩔 수 없는 필수욕소라고 봅니다. 나중에 엄청난 악성코드로 인해 비대해질지라도...

    • Favicon of http://arrestlove.tistory.com BlogIcon 물여우 2009.07.30 21:09 신고  댓글주소  수정/삭제

      노턴의 SONAR같은 기능도 있지만 HIPS 기능은 일반 사용자들에게까지 널리 사용되려면 넘어야할 산이 많은 것 같습니다.

      벌새님 말씀처럼 점점 유포수와 그 증가율의 크기가 커지는 악성코드에 대해서 앞으로 안티 바이러스 제품들이 DB를 어떻게 관리할까 궁금하기도 하네요. 현재의 수준이라면 나중에는 가벼운 제품들도 점차 무게감이 증가할 것 같은데 말이죠.




티스토리 툴바