본문 바로가기

벌새::Security

AhnLab V3 Lite : 특정 실시간 검사 확장자 지정시 자체 보호 기능 문제

예전에 안철수연구소(AhnLab)에서 베타(Beta) 테스트를 할 당시 작성한 AhnLab Smart Defense 제품에서 발생하던 특정 레지스트리 문제로 인한 자체 보호 기능 동작과 관련된 이슈(Issue)가 AhnLab V3 Lite 제품에서 확인이 되었습니다.

당시의 문제도 사실 별거 아니고, 레지스트리 정리에 민감한 사용자들에게만 해당되는 문제로 봐야할 것 같지만, 이번의 경우에는 특정 확장자의 경우에만 국한된 문제가 아닐까 생각되며 정리해 보겠습니다.


테스트의 환경을 구성하기 위해서는 환경 설정 항목의 [PC 검사 - PC 실시간 검사 설정]에서 [검사 파일 형식 선택 - 사용자 지정 확장자 파일] 항목에 그림과 같이 [int] 파일 확장자를 입력합니다.

해당 설정을 통해 사용자가 인터넷을 통해 int 파일 확장자를 가진 파일을 다운로드시 자동으로 실시간 검사를 통해 해당 파일이 악성인지 여부를 확인할 수 있도록 설정할 수 있습니다.


이제 실제로 인터넷에서 해당 확장자를 가진 파일 몇 개를 다운로드하였고, 이는 [HKEY_LOCAL_MACHINE\SOFTWARE\AhnLab\V3Lite\Profile\ScanData\_AdvancedScan] 레지스트리 값에 기록이 되는 것을 확인할 수 있습니다.

<추가> 해당 레지스트리 값은 프로그램이 검사한 최종 파일에 대한 기록값으로 특정 확장자에 대한 실시간 검사로 인해 생성되는 특별한 경우가 아닌 것으로 확인이 되었습니다. 즉, 해당 키 값의 하위 F0 / F1... 값은 매번 환경에 따라 변경되는 문제이며, 최적화 프로그램을 이용하여 불필요한 레지스트리 항목을 검사할 경우 추가될 수는 있습니다.

여기서 의문은 다른 사용자 지정 확장자 파일을 다운로드할 경우에는 레지스트리에 기록이 되지 않는 반면 해당 확장자 파일만은 기록이 되는 부분은 왜 그런지 이해가 어렵습니다.(혹시 실시간 검사를 통해 바로 악성 여부를 판단할 수 없고 수동 검사를 통해서만 확인이 가능한 경우가 아닌가도 생각됩니다.)

이렇게 지정된 경우 레지스트리 최적화 프로그램 등을 이용하여 불필요한 값을 찾다보면 해당 항목이 포함이 되며 삭제를 시도할 경우, 그림과 같이 지정한 값을 지울 수 없다는 메시지가 출력됩니다.


또한 추가적인 메시지를 통하여 해당 레지스트리는 V3에서 지원하는 자체 보호 기능에 의하여 삭제가 되지 않도록 되어 있는 것을 확인할 수 있습니다.

이런 경우에는 임시로 [해제] 버튼을 실행하여 V3 Lite 프로그램 자체 보호 기능을 OFF한 상태에서 해당 레지스트리 값을 삭제하시면 됩니다.

<추가> 제품에서 제공하는 프로그램 자체 보호 기능을 해제하는 경우 악성코드 감염으로 인한 보안제품의 치명적 오동작을 유발할 수 있으므로 반드시 환경 설정에서 해당 기능은 다시 활성화를 하시기 바랍니다.

위와 같이 특정 파일 확장자를 실시간 검사 확장자로 등록한 경우 발생할 수 있는 경우를 살펴보았습니다.

  • 안녕하십니까. V3 Lite 개발자 입니다.

    지인을 통해 해당 글에 대한 질의를 받아, 이렇게 글을 남기게 됩니다.
    우선, V3 Lite 제품에 대한 애정을 가지고 블로그 글을 포스팅 해주신거에 대한 감사를 드립니다.

    우선, 실시간 검사 옵션에 "모든 파일"이 On되어있어도 ".int"로 이뤄진 확장자에 대한 실시간 검사가 진행
    됩니다. 즉, 실시간 검사 옵션의 "사용자 지정 확장자"에 ".int"를 추가하실 필요는 없어 보입니다.

    그리고, 레지스트리의 F0~... 값들은, 최근의 검사를 시도한 폴더/파일을 기록하는 공간입니다.
    즉, 정밀 검사 혹은 탐색기의 오른쪽 클릭의 정밀 검사를 통해, 마지막으로 검사를 시도한
    항목을 저장하는 공간입니다. 해당 값을 이용하여 정밀 검사 시작전에 이전 검사 시도한 폴더를
    체크를 해주게 됩니다. 해당 값(F0~...)들은 실시간 검사의 확장자 내용과 아무런 연관이 없습니다.
    해당 F0 값을 지운다음, 샘플인 http://www.eicar.org/download/eicar.com 다운하여, .int로 확장자를
    변경하여 테스트해보십시요.

    "혹시 실시간 검사를 통해 바로 악성 여부를 판단할 수 없고 수동 검사를 통해서만 확인이 가능한 경우가 아닌가도 생각됩니다" ==> 하셨는데, 이는 전혀 맞지 않는 내용입니다. 커널 모드의 드라이버에서
    악성 코드를 판단하여 실시간 검사로 진단이 이뤄지고 있습니다. 수동 검사 방식으로 실시간 검사가
    이뤄지면, 시스템은 많은 성능 저하를 가져오게 됩니다.

    현재 제품에서 사용하고 있는 레제스트리를 자체 보호하고 있습니다.
    자체 보호를 Off하면, 다른 악성코드들이 레지스트리를 접근할 수 있습니다.
    따라서, 되도록이면, 블로그 내용에 자체보호를 해제하면, 시스템 리스크가 생길 수 있다라는
    언급을 해주셨음 좋겠습니다.

    다시한번, V3 Lite 제품에 대한 애정을 가지고 블로그 글을 포스팅 해주신거에 대한 감사를 드리며,
    앞으로도 안랩 제품에 대한 리뷰 포스트를 기대하겠습니다.

  • 안리포트에 추가되는 내용도 아닌 것 같고 v3 lite에는 검사한 파일에 대한 띄어넘기 기능이 있는 것도 아닌데 굳이 레지스트리에 해당 기록을 저장할 필요가 있나 합니다.

    다른 제품을 사용해보면서 지적하신 부분은 생각도 못했는데 한번 살펴봐야 겠네요.