▶ 보안 제품 리뷰/:: F-Secure

F-secure Internet Security 2009 리뷰 (2-1) - Main UI 및 엔진 설명

물여우 2009. 1. 26. 17:47
반응형

오늘의 리뷰 주제는 에프시큐어의 각 부분별 기능 및 설정 분석에대한 첫 번째 리뷰입니다. 

에프시큐어 인터넷 시큐리티 2009는 All-in-one 형태의 제품처럼 시스템 최적화/백업 등 다양한 부가
기능이 탑재된 제품은 아니며 보안 제품의 전통적인 기능에 초점을 맞춘 제품이라 할 수 있습니다.

이번 리뷰에서는 에프시큐어의 메인화면 UI와 악성코드 탐지 엔진에 대해 분석해보겠습니다.


참고로 저는 보안 전문가가 아니며 해당 프로그램에 대한 기술적인 지식이 없기에 이 글에 오류가
있을 수 있음을 밝힙니다. 오류가 있는 부분은 언제든지 지적해 주시기 바랍니다.




3. 메인 화면 UI


에프시큐어의 기본 메인화면이며 왼쪽에 나열된 6개의 항목 중 Home 항목을 의미합니다.
위에 그림에서 알 수 있듯이 메인화면에서는 에프시큐어의 각 기능들의 활성/비활성 정보를 제공하며
에프시큐어에서 구분한 위험요소 감시 강도 설정을 조절할 수 있습니다.

1) 에프시큐어는 기능별로 감시 강도에 따른 세세한 설정을 구분해서 제공해주고 있습니다.
   위의 그림에서 첫 번째 빨간 박스에서 메인화면에서 에프시큐어의 가장 중요 기능이라 할 수 있는
   악성 코드 탐지와 네트워크 연결 통제 기능에 대한 설정을 변경할 수 있는데 이를 통하여 사용자가
   고급설정 기능 항목에서 일일이 각각의 설정을 조정하지 않아도 필요한 기능과 세부 설정을 조정할
   수 있습니다. 단, Custom 설정 메뉴를 제외한 다른 설정 메뉴를 지정시 사용자가 수동으로 설정 변경
   할 수 없습니다. 
  
   (각 기능에 대한 설정 항목에 대한 정보는 이후에 설명할 기능별 고급설정 부분에서 자세히 설명하도록 하겠습니다.)

  ① Virus & Spy Protection 기능의 설정 구분
                                                          5개의 설정 구분
       해당 기능은 파일 실시간 감시 기능과 E-mail 감시 기능에 대한 설정 항목을 제공합니다.

   ② Internet Shield : 기능의 설정 구분
                                                         6개의 설정 구분
        해당 기능은 Firewall 규칙의 일반 규칙 부분에 대한 설정 항목을 제공합니다.


2) 스팸메일 관리 및 유해물 차단 관리 기능의 활성/비활성화 조정

3) 고급 설정 활성화 버튼

4) 도움말 활성화 버튼

5) 에프시큐어 웹사이트 링크 버튼 
   Virus World Map 사이트는
http://worldmap.f-secure.com/vwweb_1_2/en/previous_day 입니다.
   에프시큐어사에서 접수된 악성코드 탐지 누적 정보를 세계지도를 통하여 시각적으로 볼 수 있습니다.


6) 특정 감시 기능이 비활성화 되었을 경우 아래 그림처럼 기능이 비활성화 되었음을 표시하여 줍니다.




4. 에프시큐어 악성코드 탐지 엔진 설명

계속 언급되는 것 같지만 에프시큐어 제품은 항상 여러 엔진들의 특징과 역활이 궁금했었습니다.
이에 따라 이번 에프시큐어의 리뷰에서 가장 중요하게 살펴보고 알아본 것은 역시 멀티엔진에 관한 것이 되는 것 같습니다.

이제부터 에프시큐어의 기능과 설정에 대해 본격적으로 다루어볼 것인데 이에 앞서 에프시큐어에서
사용되고 있는 엔진에 대한 설명이 필요할 듯 합니다. 이번 리뷰에서 설명하고자 하는 엔진들은 AV관련
항목의 실시간 감시 및 수동 검사에 사용되는 엔진으로 국한하도록 하겠습니다. 

에프시큐어의 실시간 감시는 크게 나누어 시그니처 기반 탐지 방식(전통적인 DB 이용 방법)과 행동기반
탐지 방식로 이루어 집니다. 이와 달리 수동 검사는 시그니처 기반 탐지 방식만이 사용됩니다.

시그니처 기반 탐지 방식은 특정 파일에 대한 접근(외부 다운로드, 폴더 및 파일 접근, 파일 쓰기/읽기/
이동 등)시에 에프시큐어가 보유한 DB와 비교하여 악성코드를 탐지하는 방식이고, 행동기반 탐지 방식
은 파일 실행 시, 즉 프로세스 등의 로딩될 때 프로세스의 행동이나 프로세스 내부 코드의 심층적인
분석으로 악성코드를 탐지합니다.

에프시큐어하면 멀티 엔진 보유 제품으로 기억될 만큼 과거에는 시그니처 기반 방식의 엔진( F-prot, Ad-awre, Orion, Draco 등)들이 많이 탑재되었으나 최근에는 에프시큐어 내부적으로 이러한 시그니처
탐지 기법보다는 행동기반탐지 방식을 통한 사전차단에 주력하려 하는 것 같습니다. 이러한 경향으로
현재 시그니처 기반 엔진은 2개로 간소화 되었으며, 행동 기반 탐지 방식의 엔진이 강화되었습니다.


4-1. 시그니처 기반 탐지 엔진 : Hydra, AVP + BlackLight

Hydra 엔진은 에프시큐어의 자체 엔진이며 AVP는 바로 카스퍼스키의 엔진입니다. 에프시큐어와 카스퍼
스키랩의 협력관계는 10년이 넘었다고 하는데, 이를 반영하듯 에프시큐어의 주력 엔진은 카스퍼스키의
엔진입니다.

그런데 악성코드 샘플을 바이러스 토탈 등에서 검사했을 경우 카스퍼스키는 진단하나 에프시큐어에서
는 진단하지 못할 경우를 종종 볼 수 있습니다. 이 경우 최근에 업데이트 된 샘플일 때가 많은데, 이는
외부에서 엔진과 DB를 받아오는 방식에서 기인한 에프시큐어랩과 카스퍼스키랩 간의 DB업데이트 시간
차 때문에 생긴 문제라
보여집니다. 이러한 DB 업데이트의 시간차 문제와 에프시큐어랩과 카스퍼스키
랩간의 악성코드에 대한 약간의 정책적인 차이 등을 감안하면 에프시큐어랩에서는 자체 엔진이 필요하
다는 것을 예상할 수 있습니다.  이미 밝혔지만 에프시큐어에서는 Hydra 라는 자체엔진을 갖고 있으며
이는 구 버전에 포함되어 있던 Orion, Draco 등의 엔진을 대체하고 있습니다.
이 엔진을 통하여 에프시큐어 자체적으로 긴급한 조치가 필요하거나 카스퍼스키랩에 접수되지 않거나,
정책상 추가되지 않은 악성코드들을 자체적으로 진단할 수 있게 되었습니다.

AVP엔진에 대해 이야기 해보면, 현재 에프시큐어 포럼에서 확인한 바로는 에프시큐어 2009 제품에
포함된 카스퍼스키의 엔진은 7버전 엔진이 사용되고 있다고 합니다. 

그러나 확장 DB를 포함한 모든 DB를 제공받고 있으나 휴리스틱과 관련된 부분은 공급받지 않는 것으로
알고있습니다. 따라서 현재 카스퍼스키의 최신버전인 8버전의 엔진과는 휴리스틱 탐지 부분에서 차이가
큽니다. 이러한 차이는 시그니처에 기반한 휴리스틱 탐지만을 테스트하는 Av-Comparatives
등의 사전
방역 테스트 결과에서 쉽게알 수 있습니다.
(http://www.av-comparatives.org/)
Hydra 엔진도 시그니처 기반의 휴리스칙 능력은 거의 없다고 알려져 있는데, 휴리스틱으로 유명한 안티버, 노드 처럼 시그니처를 이용한 의심 진단은 에프시큐어에서는 거의 없다고 봐야할 듯 합니다. 

Hydra와 AVP 엔진 모두 안티 바이러스(AV)와 안티스파이웨어(AS) 기능을 담당하여 모든 악성코드에
대해 전방위적인 진단이 가능합니다. 참고로 에프시큐어 설치 폴더에 보면 AV와 AS 폴더가 따로 존재
하는 것을 볼 수 있습니다. 물론 AV와 AS 엔진이 따로 있는 것은 아니고 과거 엔진 중에 Ad-aware같은
안티스파이웨어 전문 제품이 포함되어 있었고, 에프시큐어 자체적으로 AV와 AS기능이 각각 활성화 될
수 있는 구조이기에 엔진과 관련된 실행 모듈을 따로 나누어 둔 것일 뿐 추가적인 엔진이 있는 것은
아닙니다.

마지막으로 이러한 악성코드 중에서 일반적인 AV나 AS 엔진으로 진단이 어려운 악성코드가 있는데,
그 중 하나가 루트킷 기법을 이용하는 악성코드입니다. 이러한 이유로 최근에는 많은 보안 제품들이
기본적인 AV엔진 외에 루트킷 기법을 이용하는 악성코드를 전담하는 안티루트킷 엔진을 추가하는 경우
가 많습니다. 에프시큐어도 성능이 뛰어난 안티루트킷 엔진을 보유하고 있는데, 그 엔진의 명칭이 바로
BlackLight 엔진입니다.  BlackLight 엔진은 사용자 모드/커널모드에서 동작하는 많은 수의 루트킷을
탐지할 수 있다고 합니다만, 실시간 검사 방식에서는 사용을 못하고 오직 수동 검사 방식에서만 사용이
가능합니다. 실시간 감시 방식에서 루트킷에 대한 방어는 행동기반탐지 방식에서 담당합니다.


4-2. 행동 기반 탐지 엔진 : DeepGaurd 2.0 , Gemini, Pegasus

에프시큐어의 자체 기술 중 하나인 딥가드는 HIPS기능의 일종으로 윈도우에서 실행되는 모든 어플리케
이션의 프로세스의 실행 권한을 관리할 수 있는 기능입니다. 사실 딥가드는 특정 엔진 또는 모듈을 지칭
하기도 합니다만, 에프시큐어 제품 내부의 행동탐지기반 방식을 사용하는 엔진들(Deepguard, Gemini,
Pegasus)이 조합된 탐지 시스템으로 봐도 무방합니다.

딥가드는 어플리케이션의 행동에 대한 판단을 에프시큐어 제품 자체에서 할 것인지, 사용자가 할 것인
지를 조정할 수 있는데, 행동판단을 에프시큐어 제품에서 자동으로 실시할 경우 아래와 같은 방식으로
악성코드 탐지가 이루집니다.
 
① 프로세스 탐지
  - 어플리케이션 실행시 로딩되는 프로세스들이 시스템에 어떤 특정한 행동을 할 때 딥가드가 이러한
    행위를 탐지, 프로세스의 실행을 일단 정지 시킵니다.

② 프로세스 위험요소 1차 분석
  - 에프시큐어랩에서는 각종 프로세스에 대한 정보를 수집/분석하여 신뢰 또는 악성 프로세스 리스트
    를 보유하고 있습니다.
    딥가드는 1차적으로 네트워크 연결을 통해 실행된 프로세스에 대한 정보를 에프시큐어 서버에 전송
    합니다. 전송된 프로세스 정보는 프로세스 리스트와 비교/분석 되는데, 분석된 정보를 다시 사용자
    에게 전달하여 딥가드에서 프로세스의 실행을 '허용 또는 차단' 하도록 하게합니다. 
    리스트에 없는 프로세스인 경우 에프시의큐어 제품에서 2차 분석을 실시하도록 명령을 내립니다.
    이 후 에프시큐어랩에서도 해당 프로세스에 대한 분석을 실시하여 리스트를 지속적으로 업데이트
    시킵니다.

③ 프로세스 위험요소 2차 분석 - Gemini, Pegasus
  - 에프시큐어랩의 프로세스 리스트에 없는 프로세스는 에프시큐어 프로그램 자체적으로 분석을 실시
    하는데, 이 때 사용되는 엔진이 바로 Gemini 엔진과 Pegasus 엔진입니다.

    Gemini 엔진은 실행된 프로세스의 코드를 심층적으로 분석하는데 일반적인 시그니처 엔진과 달리
    코드 내부의 내용을 분석, 이후 프로세스가 실행될 때 하게 되는 행동을 예측합니다.
    Pegasus 엔진은 Norman의 SandBox 기능입니다. 윈도우 OS와 거의 유사한 가상 환경에서 프로세스
    를 실행, 이 후 프로세스가 시도한 행동들(레지스트리 변경, 시스템파일 접근 및 변경, 특정 파일 생
    성 및 다운로드 등)을 기록합니다.

    2차 분석에서는 위의 두 엔진에서 기록되어 분석된 정보를 가지고 위험성을 계산하여 위험도 지수에
    따라 해당 프로세스가 악성코드인지 아닌 지를 판단하게 됩니다.
   
④ 2차 분석에 따른 위험도 지수를 바탕으로 딥가드에서는 최종적으로 프로세스의 실행 허용/차단을
    시키게 됩니다.

(간략하게 설명했는데 딥가드에 대한 자세한 정보는 첨부파일을 참고하시기 바랍니다.)

참고로 2차 분석 방식을 이용한 프로세스 관리는 딥가드 1.0버전의 방식이었습니다. 
1.0버전과 2.0의 가장 큰 변화점은 제미니와 페가수스 엔진의 분석이 없이도 에프시큐어랩과 온라인을 통한 실시간 방식으로 프로세스 정보를 공유하여 사용자 판단이 없어도 비교적 오진 없이 딥가드 엔진
만으로도 프로세스를 관리할 수 있다는 점입니다.

딥가드 2.0이 사용하는 네트워크 연결 방식으로 정보를 공유하는 것을 클라우딩이라 하는데 에프시큐어
에서는 이를 'In The Cloud' , 이를 통해 구성된 보안 시스템을 'Real-time Protection Network'
명칭하고 있습니다.

에프시큐어 측에서는 정보과 개인 클라이언트 PC에서 에프시큐어 서버로 전송되어 되돌아 오는데
약 60초가 걸린다고 광고하고 있습니다. 진짜로 그런 것인지는 모르겠습니다만 해당 기능을 활성화하나
비활성화하나 프로세스 로딩에는 눈에 띄는 차이가 없습니다. 그리고 60초의 딜레이가 있는 것 같지도
않더군요.
(물론 해당 기능이 시스템 부하의 주요인이긴 합니다.)

설정 상에서 자동 모드가 아닌 사용자 판단으로 프로세스에 대한 허용/차단을 결정할 경우에도 제미니,
페가수스 엔진이 구동되어
사용자에게 위험도 지수를 판별하여 보여주는 것으로 보이는 데 이에 대한
정보는 찾지 못했습니다. 딥가드 팝업창에는 위험도 지수가 나타나 있습니다.

앞서 시그니처 기반 엔진들이 의심진단기능(휴리스틱 기능)이 매우 떨어진다(아니면 거의 없거나) 설명했는데,
이러한 딥가드 2.0의 행동기반탐지 엔진들이 이를 보충하여 뛰어난 사전방역 성능을 발휘합니다.

이에 대한 것은 조금 오래된 자료이나 AV-test(http://www.av-test.org/)의 사전방역 결과를 참고하시면
될 듯 합니다. Av-test는 Av-comparatives에서의 사전방역 테스트와 달리 시그니처와 행동탐지 방식을
모두 테스트하여 악성코드를 탐지한 결과입니다. 일반화할 만한 것은 아닙니다만 테스트 결과만을 보면
시그니처 기반의 휴리스틱 탐지방식만 존재하는 안티버보다도 높은 점수를 받는 것을 볼 수 있습니다.



지금까지
딥가드의 탐지 절차를 살펴봤습니다. 에프시큐어에는 딥가드 기능을 HIPS 기능으로 소개하고 있습니다만 국내외에 소개된 제품들의 HIPS 기능과 다소 다른 면이 있는 것 같습니다. 해당 부분에 대해
아는 바가 적어서 글로 설명하기가 어렵습니다만 간단하게 의견을 내보겠습니다.

일단 HIPS는 내부침입방지(기술)이라는 한글 번역대로 아주 포괄적인 의미를 갖고 있기에 프로세스를
관리할 수 있는 기능은 모두 HIPS라 불리울 수 있습니다. 다만 관리하는 방법에 차이가 있을 뿐 입니다.

예를 들어 코모도나 아웃포스트 등 개인용 방화벽에 포함된 HIPS 기능은 프로
세스의 '행동'에 초점을
맞추고 있습니다. 따라서 프로세스의 행동 하나 하나를 관리할 수 있습니다. 따라서 특정 행동은 차단하
지만 다른 행동은 허용하는 것 같은 프로세스 행동 관리가 가능합니다. 다만 이러한 특성상 
사용자가 일일이 그 행동을 분석하고 처리해야 합니다. 물론 일부 제품은 자동 모드가 존재합니다만, 자동모드는
수동 모드에 비해 아직까지 성능적인 면도 떨어지고, 사용자의 취향에 따른 프로세스 관리는 할 수가
없습니다.

반면, 에프시큐어의 딥가드는 프로세스의 행동보다는 프로세스 자체를 문제삼습니다. 내부적인 정책에
따라 프로세스의 행동을 감시하지만, 일일이 그 행동을 관리하지는 않습니다. 에프시큐어랩의 정보와
내부적인 분석에 따라 따라 해당 프로세스의 위험성을 측정하여 프로세스 자체의 실행을 허용/차단할
뿐입니다. 또한 사용자 처리 부분에서도 수동모드 옵션이 있지만, 기본적으로 자동 모드가 기본 옵션이기에 상대적으로 사용자가 판단할 일이 없습니다.
(기본옵션은 자동 모드가 아닌 '리스트에 없는 프로세스에 대해서만 사용자 처리'입니다.)

코모도, 아웃포스트 등의 개인용 방화벽은 '프로세스의 행동을 관리' 한다 할 수 있고 에프시큐어의
딥가드는 '프로세스의 실행'을 관리한다고 볼 수 있습니다.
어플리케이션에 대한 세부적인 관리를 원하
는 사용자에게는 그리 매력적인 기능은 아닙니다만
개인적으로 일반 사용자에게 가장 적합한 형태가
아닌가
합니다. 
네트워크 연결이 반드시 필요하다는 단점이 있지만  코모도, 아웃포스트, 카스퍼스키 등
과 같은 HIPS 포함 제품과 비교해보면 사용하기 편하기 때문입니다.
(물론 루트킷을 포함한 악성코드 탐지, 프로세스 관리에 대한 비교 우위를 결정할 만한 근거가 없어서  성능에 관한 부분은 생각하
 지 않은 의견입니다.)


또한, HIPS 기능은 원래 기업의 네트워크 보안에 관련된 여러 항목 중에서 특히 아웃바운드에 대한 보안
을 강화하기 위한 일환으로 클라이언트 PC에 추가된 기능이라고 합니다. 개인용 방화벽 제품에서도
이러한 이유에서인지 대부분의 HIPS
포함 제품들은 방화벽과 연동되어 사용되는데 (예를 들면 코모도)
에프시큐어의 딥가드는 그 시작이 방화벽과 연동된 한 부분이 아니라 AV엔진의 한 부분에서 발전한 것
이기에 앞서 예를 든 제품들의 HIPS 기능과 감시하는 영역에 차이가 있어보입니다. 개인적으로는 이
한 이유로 Matousec
(http://www.matousec.com/)에서 진행하는 방화벽 테스트에서 에프시큐어가 좋은
성적을 거두지 못하는 것이 아닌가 합니다.
(물론 이 의견도 저의 개인적인 생각입니다.)

위에 예를 든 것을 종합해보면 양자간에 개념적인 차이가 있어보입니다만 이를 명쾌하게 정의할 만큼의
실력이 안되는지라 안타깝습니다.


그리고 에프시큐어의 딥가드 2.0 기능도 다른 HIPS가 탑제된 제품과 마찬가지로 악성코드 탐지를 완벽
하게 보장하는 것은 아니기 때문에
사용에 주의가 필요합니다. 실제로 네트워크 아웃바운드 연결을
시도하고 다른 악성코드를 생성하는 악성코드
를 개인적으로 실험해봤는데, 자동 모드에서 그대로 실행
되었고, 수동모드에서도 위험도 지수가 0인
Green 항목으로 나타나고 있었습니다. 즉, 수동모드에서
사용자가 차단은 가능했지만 에프시큐어의
분석에서는 정상 파일로 나왔다는 것입니다. 이에 대한 것은
딥가드를 자세히 다룰 다음 리뷰에서 알아
보도록 하겠습니다만 분명히 허점은 존재합니다..

추가 내용 : 딥가드에서 관리하는 시스템 내부의 폴더 및 레지스트리
참고 : Deepguard 2.0 White Paper 첨부

                                      

4-3. 엔진에 따른 악성 코드 탐지 순서 

에프시큐어의 악성코드 탐지 엔진들에 대해 간략하게 살펴보았는데, 많은(?) 엔진이 포함되어 있는
제품인 만큼 악성코드 탐지를 위하여 각종 엔진들은 작동 순서대로 구동됩니다.

기본적으로  시그니처 기반 탐지 엔진 -> 행동 기반 탐지 엔진  순서대로 작동됩니다.
                               
세부적으로 살펴보면 Hydra -> AVP -> Deepguard (->Gemini, Pegasus)순으로 엔진이 작동하여
악성코드를 탐지합니다.

수동검사에서는 Hydra->AVP 순서로 파일마다 순차적으로 검사합니다. 수동검사에서는 설정에 따라
BlackLight 엔진도 가동되는데 개인적인 생각으로는 Hydra, AVP 검사 후에 검사를 진행할 것 같습니다.
 
나중에 설명하겠지만 수동 검사 시간은 에프시큐어 경우 타 제품에 비해 오래걸리는 편입니다.
개인적으로는 두 개 혹은 3 개의 엔진이 파일을 각각 검사하면서 시간이 비교적 오래 걸리는 것이
아닌가 합니다.

참고로 개인적인 실험 결과 진단 순서상 앞서있는 시그니처 기반 엔진에서 이미 악성코드가 발견된
경우, 그 악성코드에 대한 사용자의 처리와 상관없이(예를 들면 악성코드 진단을 무시하는 것 등)
딥가드 엔진에서 다시 한번 그 파일을 분석하지는 않는 것 같습니다. 물론 사용자가 그 파일을 제외설정에 추가하기 전에는 실행할 수 없도록 AV엔진에서 해당 파일의 실행을 차단하고 있습니다.
즉 시그니처 엔진에서 탐지된 파일을 행동기반 엔진에서 다시 분석하는 것은 아닌 것으로 보입니다.
이에 대해서도 다음 리뷰에서 자세히 다루어 보도록 하겠습니다.




- 이상 메인화면 UI 및 에프시큐어에 포함되어 있는 엔진에 대한 리뷰를 마칩니다.

반응형