비트맵 이미지로 위장한 악성코드 ‘주의’
IT 기술 및 다양한 보안 제품과 기술이 발전함에 따라 악성코드에서 사용하는 기술 또한 정교해지고 있다. 특히 악성코드 제작자는 자신이 유포하려는 악성코드가 보안 장비나 제품에서 탐지되지 않도록 다양한 탐지 회피 기법을 적극적으로 활용하고 있다. 회피 기법 중 하나가 바로 파일의 외형은 가급적 정상 파일과 비슷하게 유지하면서, 악성 기능을 하는 코드를 내부에 은닉하는 방법이다. 파일 외부에서 확인 시 악성 기능에 해당하는 코드•데이터가 바로 발견되지 않도록 인코딩 등의 과정을 거쳐 은닉하는데, 악성코드 종류에 따라 매우 다양한 데이터 은닉 기법이 발견되고 있다.
이 글에서는 비트맵 이미지(BMP)로 위장한 뒤 악성 데이터를 은닉하는 형태를 가진 악성코드 2종에 대해 살펴본다.
비트맵 이미지(BMP)
악성 데이터를 비트맵 이미지(BMP) 형태로 위장한 형태의 악성코드를 알아보기에 앞서 우선 비트맵 이미지에 대한 기본적인 이해가 필요하다. 비트맵(BITMAP)은, 비트(BIT)와 맵(MAP)의 합성어로, 일련의 비트가 나열된 데이터의 집합을 의미한다. 비트는 컴퓨터에서 데이터를 표현하는 최소 단위이며 ‘0’과 ‘1’로 구성된다. ‘비트맵’으로는 단순한 데이터를 저장할 수도 있지만, 이미지 데이터를 저장할 경우에는 ‘비트맵 이미지’로 해석될 수 있다.
[그림 1] 비트맵 이미지 구조
비트맵 이미지 구조는 [그림 1]에서 보듯 비트맵 파일헤더(BitmapFileHeader)와 비트맵인포헤더(BitmapInfoHeader), 픽셀어레이(PixelArray)로 이루어진다. 비트맵파일헤더와 피트맵인포헤더는 운영체제나 응용 프로그램에서 비트맵 이미지를 제대로 해석하기 위해 필요한 정보로, 운영체제에 따라 일부 차이가 있다. 이 글에서는 윈도우(Windows)를 기준으로 설명한다.
비트맵파일헤더는 문자열 ‘BM’으로 시작하며, 비트맵 이미지 전체 크기와 픽셀어레이가 시작되는 위치에 대한 정보를 포함하고 있다. 비트맵인포헤더는 이미지의 가로, 세로 크기와 사용되는 색상의 심도, 압축 사용 여부 등의 정보를 포함하고 있다. 픽셀어레이는 비트맵 이미지의 실제 색상 정보를 포함하고 있으며, 비트맵인포헤더에 정의된 내용에 따라 픽셀어레이의 데이터 구성 방식에 차이가 있을 수 있다. 특히 색상 심도 값에 따라 각 픽셀(이미지를 구성하는 점, Pixel)당 사용되는 데이터의 크기가 달라진다. 이 글에서 소개할 악성코드는 24비트 색상 심도를 사용하고 있다. 트루 컬러라고도 불리는 24비트 비트맵에서는 1픽셀당 24비트를 사용하여 색상을 표현한다. 1개 픽셀은 빨강(R), 녹색(G), 파랑(B) 3가지 색상의 조합으로 표현되며, 각 색상당 8비트의 데이터가 할당되어 0(0x00)~255(0xFF) 범위로 색상 농도를 표현한다. [표 1]에 주요 색상에 대한 RGB 값을 표시했다.
[표 1] 주요 색상의 RGB 값
픽셀어레이 영역에는 이미지를 구성하는 개별 픽셀에 대한 색상 정보가 B-G-R 순서로 차곡차곡 쌓이게 되며, 주로 이미지의 왼쪽 아래 모서리에서부터 오른쪽 위 모서리 방향으로 데이터가 기록된다
악성코드 내부의 비트맵 이미지
지금까지 일반적인 비트맵 이미지에 대한 구조와 이미지의 색상이 표현되는 방법을 설명했다. 배경 설명을 바탕으로 이 글에서 다룰 악성코드는 다음과 같이 두 가지 유형으로 분류가 가능하다.
유형 1 - 실행 파일 리소스 내부에 비트맵 이미지를 포함하는 경우
유형 2 - 비주얼베이직폼(VisualBasic Form) 내부에 비트맵 이미지를 포함하는 경우
각 유형의 내부에 포함된 비트맵 이미지만 확인해보면 [그림 2]와 같다. 어떠한 형태를 표현하는 것이 아니라 여러 가지 색상의 점으로만 이루어져 있다. 이러한 특징이 나타나는 이유는 픽셀어레이의 데이터가 색상을 표시하기 위한 값이 아니라 인코딩된 데이터의 일부이기 때문이다. 즉, 색상값이 아닌 데이터를 비트맵 이미지의 픽셀어레이에 포함시켰기 때문에 데이터가 색상값으로 강제 해석되면서 [그림 2]와 같이 표현된 것이다.
[그림 2] 유형 1 악성코드와 유형 2 악성코드 내부 비트맵 이미지 예
사람이 보기에는 의미를 찾을 수 없는 형태의 이미지이지만, 악성 파일 내부에서는 각 이미지가 의미를 갖는 데이터로 활용된다. 유형 1과 유형 2는 다양한 색의 점으로 구성됐다는 점에서는 유사한 형태라고 볼 수 있다. 하지만 자세히 살펴보면 몇 가지 차이점이 존재한다. 육안으로 확인하기에도 차이가 있지만 실제 데이터가 악성 행위에 사용되는 방법에도 차이가 있다. 이제부터 각 유형의 악성코드와 내부 랜덤 픽셀 이미지의 특징에 대해 자세히 살펴보겠다.
유형 1 - 실행 파일 리소스 내부에 비트맵 이미지를 포함하는 경우
[그림 3] 유형 1 악성코드의 섹션 구조
특징: 유형 1 악성코드는 섹션의 개수, 진입점(EntryPoint) 부분, 코드의 흐름 등 구조적으로 비주얼 스튜디오(Visual Studio)로 컴파일된 실행 파일의 특징을 보인다. 총 4개의 섹션 중 리소스(.rsrc) 섹션에 다양한 리소스 엔트리를 포함하고 있는데, [그림 3]에서 확인할 수 있듯 공통적인 특징으로 비트맵 엔트리가 존재한다. 비트맵 엔트리는 실행 파일 내부에서 사용하는 이미지 파일이 저장되는 곳으로, GUI 기반의 실행 파일에서 흔하게 확인할 수 있는 리소스다.
유형 1 악성코드는 비트맵 리소스 엔트리 내부에 랜덤 픽셀 이미지를 포함한다. 같은 유형의 악성코드일지라도 파일간에 차이가 존재한다. 비트맵 리소스 엔트리 내부에 한 개의 이미지만 포함하는 경우도 있고, 다수의 이미지를 포함하는 경우도 있다. 유형 1 악성코드의 주요 특징은 비트맵 리소스 엔트리 내에 랜덤 픽셀 이미지가 한 개는 반드시 존재한다는 점이다.
[그림 4]와 같이 샘플 1-1은 비트맵 리소스 엔트리 내에 총 두 개의 비트맵 이미지를 포함하며, 그 중 두 번째 이미지가 랜덤 픽셀 이미지다. 샘플 1-2는 총 세 개 중 세 번째 이미지에, 샘플 1-3은 총 한 개의 랜덤 픽셀 이미지가 존재한다.
[그림 4] 유형 1 악성코드 내부의 랜덤 픽셀 이미지
[표 2] 유형1 악성코드의 파일 및 이미지 크기 분포
유형 1에 해당하는 악성코드의 크기는 대체로 200~900KB다. 내부에 포함된 랜덤 픽셀 이미지의 크기도 파일마다 다르지만, 대체로 전체 파일 크기의 30~40% 정도를 차지하고 있다. [표 2]에 유형 1 악성코드의 일부 샘플에 대한 크기 비교 자료를 표시했다.
[그림 5] 유형 1 악성코드의 실행 흐름
랜덤 픽셀 이미지 데이터: 리소스 내부의 랜덤 픽셀이미지들은 악성코드가 실제 악성 행위를 수행하기 위해 2차로 생성하는 또 다른 악성코드의 인코딩 데이터다. 유형 1 악성코드의 랜덤 픽셀 이미지 디코딩 과정은 [그림 5]와 같이 요약할 수 있다. 예로 사용한 샘플 1-1의 코드 흐름을 따라가며 랜덤 픽셀 이미지가 디코딩되는 과정과 실제 악성 행위에 대한 특성을 살펴보도록 한다.
[그림 6] 유형 1 랜덤 픽셀 이미지 디코딩 과정 (1)
해당 샘플의 메인 함수 내에 진입하면, 처음에는 실제 악성 행위와 관련 없는 명령어가 다수 존재한다. 마치 정상 파일인 것처럼 보이지만 이 부분을 주의 깊게 살펴 보면 메모리 공간을 할당하는 코드(LocalAlloc() API)를 발견할 수 있다. 해당 코드는 파일 본체의 특정 위치를 참조하는데, 그 위치는 바로 파일 본체에서 리소스 내 랜덤 픽셀 이미지가 존재하는 영역이다. 악성코드는 할당 받은 메모리 영역에 랜덤 픽셀 이미지 전체를 복사하여 디코딩에 사용한다. 복사되는 데이터의 위치를 실제 이미지에서 확인해보면, [그림 6]의 우측 하단에 표시한 것처럼 이미지의 분홍색 배경과 랜덤 픽셀 이미지 영역의 경계 부분에 해당한다. 즉, 분홍색 배경 부분은 악성 데이터에 해당되지 않는다. 오직 중간의 랜덤 픽셀 이미지 부분만이 유효한 악성 데이터로서 사용된다.
[그림 7] 유형 1 랜덤 픽셀 이미지 디코딩 과정 (2)
메모리 영역으로 불러온 랜덤 픽셀 이미지 데이터를 디코딩하는 방법은 악성코드 종류별로 약간 차이가 있다. 샘플 1-1의 경우 TEA(Tiny Encryption Algorithm)를 통해 디코딩하고 있다. 그 외에는 단순 1바이트 XOR을 통한 디코딩 방식도 발견된 바 있다. [그림 7]에 랜덤 픽셀 이미지의 디코딩 전후 내용과 디코딩 루틴 부분 일부를 표시했다. 디코딩된 코드는 메모리 상에서만 동작하며 실제 악성 기능에 따라 디코딩된 결과 코드도 달라진다.
이와 같이 내부에 디코딩된 코드로부터 본격적인 악성 행위가 발생하기 때문에, 외형상의 특징만으로 어떤 악성행위를 하는 악성코드인지 판단하는 것은 어렵다. 예로 사용한 3가지 샘플 모두 서로 다른 기능을 하는 악성코드다. 샘플 1-1과 샘플 1-3은 세이지크립트(SageCrypt) 랜섬웨어이며, 샘플 1-2는 매트릭스(Matrix) 랜섬웨어다.
랜섬웨어 이외에도 일반적인 트로이목마(Trojan)나 백도어(Backdoor) 등의 악성코드에서도 유형1의 특징을 보이는 경우가 다수 발견됐다.
[그림 8] 유형 1 악성코드의 랜덤 픽셀 이미지 변화
이후 발견된 변종의 경우는 초기 유형과 비교하여 [그림 8]과 같이 내부의 랜덤 픽셀 이미지에 육안상 확인 할 수 있는 차이가 존재한다. 가장 확연한 차이는 각 픽셀에 사용된 색상이 전체적으로 어두워진 점인데, 이는 악성 데이터의 인코딩 방식 차이에서 기인한다. TEA 또는 XOR 방식을 사용했던 초기 유형과 달리 후기 유형에서는 Base64 인코딩을 사용한다. 전자의 경우는 인코딩 결과 데이터의 무질서도가 높다. 반면, 후자의 경우 결과 데이터가 가지는 값의 범위가 제한적이므로 색상으로 해석될 때에도 사용되는 색상의 범위가 제한적으로 나타나는 것이다.
유형 2 - VisualBasic Form 내부에 비트맵 이미지를 포함하는 경우
특징: 두 번째로 살펴볼 유형의 악성코드는 비주얼베이직(VisualBasic)으로 컴파일된 파일의 특징을 갖는다. [그림 9]와 같이 유형 2의 샘플은 총 3개의 섹션을 포함하는데, 유형 1 과는 다르게 랜덤 픽셀 이미지가 리소스(.rsrc) 섹션이 아닌 텍스트(.text) 섹션에 존재한다. 이러한 차이가 발생하는 이유는 비주얼베이직 컴파일러의 특징 때문이다.
비주얼베이직 파일은 고유한 내부 구조를 유지하기 때문에 GUI 프로그램에 필요한 이미지 데이터를 텍스트 섹션에 포함하고 있다.
[그림 9] 유형 2 악성코드의 섹션 구조
유형 1과 유형 2 사이에는 랜덤 픽셀 이미지의 구성상 차이점도 있다. 유형 1은 다양한 색상의 배경 그림이 있고 랜덤 픽셀 영역이 이미지 중앙에 밀집된 반면, 유형 2는 배경색이 대체로 검정이나 흰색이며, 랜덤 픽셀 영역 중간에 띠와 같은 무늬가 발견된다. 이러한 무늬는 랜덤 픽셀 중간에 임의의 데이터를 추가했기 때문에 생긴다. 보안 프로그램 진단 회피나 분석 방해를 위한 목적으로 파악된다.
[그림 10] 유형 2 악성코드 내부의 랜덤 픽셀 이미지
유형 2 악성코드 내부에는 매우 다양한 종류의 랜덤 픽셀 이미지가 존재하며, 이미지 크기 또한 매우 다양하다. 대체로 200~300KB이지만 무려 5MB에 달하는 경우도 있다. 파일 내에서 랜덤 픽셀 이미지가 등장하는 위치도 모두 다르다. 이미지의 정확한 위치를 파악하려면 비주얼베이직 파일의 데이터 구조에 따른 파싱이 필요하다. 비주얼베이직 데이터 구조 중 내부의 폼(Form) 데이터를 확인할 경우 [그림 11]과 같이 랜덤 픽셀 이미지가 참조되는 부분을 발견할 수 있다.
[그림 11] VisualBasic Form 내부의 랜덤 픽셀 이미지 참조 부분
랜덤 픽셀 이미지 데이터: 유형 2 악성코드 중 하나를 선택하여 실제 코드 내에서 랜덤 픽셀 이미지가 사용되고 디코딩되는 과정을 살펴보면 다음과 같다. 유형 2 악성코드는 유형 1 악성코드와는 달리 랜덤 픽셀 이미지 영역의 코드를 로드하거나 디코딩하는 루틴이 프로그램 실행 코드 내에 존재하지 않는다. 유형 2 악성코드는 랜덤 픽셀 이미지 자체가 실행 가능한 코드이며, 그 중 일부 데이터는 인코딩된 상태로 존재하여 추후 디코딩되어 사용된다. 따라서 처음에는 정상적으로 비주얼베이직 코드가 실행되는 듯 하다가 바로 랜덤 픽셀 이미지 영역의 코드로 분기하여 동작한다.
랜덤 픽셀 이미지 영역의 코드로 분기하는 방법을 쉽게 요약하면, 콜백(Callback) 함수 호출이 가능한 시스템 API를 호출하는 것이다. 이러한 시스템 API는 호출 시 실행하고자 하는 함수(코드)의 주소를 인자로 전달하면 해당 함수(코드)가 바로 실행될 수 있는 특징을 가진다. 유형 2 악성코드는 이와 같이 시스템 API를 호출하면서, 인자로 자신이 실행하고자 하는 코드의 위치(랜덤 픽셀 이미지 영역)를 지정하여 전달한다. 이렇게 사용 가능한 시스템 API의 종류는 매우 다양하다. 수집된 464개의 유형 2 악성코드를 대상으로 하여 내부에서 사용되는 시스템 API의 종류를 표기해보면 [표 3]과 같다.
[표 3] 유형 2 악성코드에서 사용하는 API 및 수량
[그림 12] 유형2 랜덤 픽셀 이미지 디코딩 과정 (1)
[그림 12]는 유형 2 악성코드 중 이넘윈도우(EnumWindows) API를 사용하여 랜덤 픽셀 이미지 내부의 코드를 실행하는 과정을 표시했다. 이넘윈도우 API를 호출하며 전달한 콜백 함수 주소는 실제 파일에서 랜덤 픽셀 이미지 내의 특정 코드 부분을 가리킨다. [그림 12]의 상단 부분에 나타난 것과 같이 해당 랜덤 픽셀 이미지를 크게 세 영역으로 분리하면 검정색 영역, 중앙의 색상이 다소 밀집된 영역, 아래쪽으로 검정색 띠가 나타나는 영역으로 나눌 수 있다. 이 중 콜백 함수로써 호출되는 부분은 ‘중앙 영역’이다. 해당 부분의 코드를 자세히 살펴보면 유효한 명령어와 의미 없는 명령어가 난잡하게 섞여있으며 일부 데이터는 명령어로 해석되지 못하고 남아있기도 한다.
랜덤 픽셀 이미지 내부의 데이터를 디코딩하는 방법도 샘플마다 차이가 있다. 그 중 한 예로 [그림 13]에서는 XOR을 사용한 디코딩 루틴을 표시했다. 랜덤 픽셀 이미지 내 유효한 코드 중 해당 이미지 영역의 일부를 디코딩하는 루틴이 존재하며, 디코딩 결과 또 다른 실행 코드가 확인된다. 악성코드는 디코딩된 코드 영역으로 분기하여 추가적인 악성 행위를 진행한다.
[그림 13] 유형 2 랜덤 픽셀 이미지 디코딩 과정 (2)
예로 사용한 샘플 내부의 랜덤 픽셀 이미지에는 검정색 줄무늬가 다수 발견되고 있다. 이 부분을 실제 파일에서 확인하면 [그림 14]와 같이 “00 00 00 00 ...” 으로 채워진 부분을 확인할 수 있다. 앞서 [표 1]에서 표시한 것처럼 RGB에 해당하는 데이터가 모두 0일 경우 검정색을 나타내며, 이러한 데이터가 반복적으로 나타나기 때문에 이미지 전반에 걸쳐 검정색 줄무늬가 나타난다. 검정색 영역 중간의 랜덤 픽셀 데이터 일부는 실행 코드이거나 인코딩된 데이터다.
[그림 14] 유형 2 랜덤 픽셀 이미지의 줄무늬 영역
유형 2 악성코드의 경우 내부에 포함된 비트맵 이미지의 크기가 전체 파일 크기 대비 매우 크다는 점이 주요한 특징이 된다. 유형 1 악성코드의 경우에는 텍스트 섹션 부분에도 디코딩에 사용되는 코드가 일부분 존재했고, 랜덤 픽셀 이미지가 존재하는 리소스 섹션에도 기타 다른 리소스가 함께 존재하기 때문에 전체 파일 크기 대비 이미지의 크기가 일정 수준 이상으로 커지기 어려웠다.
하지만 유형 2 악성코드는 디코딩 루틴조차 랜덤 픽셀 내부에 포함되어 있는데다 추가적인 리소스의 크기가 매우 작고 디코딩 루틴으로 진입하기까지의 코드 분량도 적은 편이라 전체 파일 크기 대비 랜덤 픽셀 이미지의 크기가 매우 크게 나타난다. [표 4]는 유형 2 악성코드의 파일 크기와 내부 이미지 크기에 대한 분포다.
[표 4] 유형 2 악성코드의 파일 및 이미지 크기 분포
유형 2 악성코드의 또 다른 특징은 다소 부자연스러운 버전 정보를 갖는다는 점이다. [표 4]는 해당 유형의 세 가지 샘플로부터 추출한 버전 정보다. 랜덤하게 생성된 문자열이나 잘 알려진 회사명이 보이기도 하지만, 전체적으로 일관된 내용이 아닌 다소 의미 없는 문자열의 나열이다. 보안 제품에서 실행 파일의 버전 정보를 진단에 활용할 수 있기 때문에 버전 정보를 비워두거나 일관된 내용을 사용하지 않고 이런 식의 예측 불가능한 문자열을 사용한 것으로 예상된다.
[표 5] 유형2 악성코드의 버전 정보
유형 1 악성코드와 마찬가지로 유형 2 악성코드 또한 최초 실행된 상태에서 바로 악성 행위를 하지는 않는다. 내부에서 디코딩을 통해 실제 악의적인 행위를 수행하는 코드를 복원한 후 사용한다. 즉, 내부에 은닉된 악성코드가 무엇인지 파악하기 전에 외형만으로는 실제 악성 행위를 예측하기 힘들다. 예로 사용했던 샘플 2-1은 내부에 포함된 실제 악성코드가 델파이(Delphi)로 제작된 다크코맷(DarkComet)으로 알려진 백도어다. 샘플2-2는 케르베르(Cerber) 랜섬웨어다. 샘플 2-3도 내부에 백도어 형태의 악성코드를 포함하는 것으로 확인됐다.
악성코드 유형별 비교
지금까지 살펴본 바와 같이, 유형 1 악성코드와 유형 2 악성코드는 비슷한 듯 하지만 세부적으로는 많은 차이를 보인다. 공통점이라면 두 가지 유형 모두 내부에 랜덤 픽셀 이미지를 포함한다는 점, 각 랜덤 픽셀 이미지는 실제 악성 행위와 관련된 인코딩된 데이터라는 점, 따라서 실제 디코딩된 결과를 확인하기 전까지 외형만으로는 어떤 기능의 악성코드인지 정확하게 파악할 수 없다는 점이다. [표 5]에 정리한 것과 같이 두 유형간 차이점은 외형상 파악되는 컴파일러의 차이, 디코딩 루틴의 차이, 이미지 데이터의 구성 차이 등이 있다.
[표 6] 유형 1 악성코드와 유형 2 악성코드 간 차이점
두 유형의 실행 흐름상 차이는 [그림 15]와 같다.
[그림 15] 유형 1과 유형 2 악성코드 실행 흐름
유사 변종 악성코드
지금까지 살펴본 두 가지 유형의 악성코드는 모두 내부에 랜덤 픽셀 이미지를 포함한다는 공통점이 있었다. 그런데 두 유형의 악성코드와 많은 면에서 비슷한 특징을 가지지만, 랜덤 픽셀 이미지를 포함하지는 않는 형태의 악성코드가 몇 종류 발견되어 함께 소개하고자 한다.
- 유사한 비트맵 이미지를 포함하지만 랜덤 픽셀 이미지는 없는 경우
유형 1과 거의 비슷하지만, 결정적으로 랜덤 픽셀 이미지가 존재하지 않는 경우다. 인코딩된 악성 데이터는 리소스 영역의 비트맵 엔트리 대신 임의의 이름을 가진 엔트리로 존재하며, 해당 데이터가 이미지로 해석되지 않는다. 이런 유형의 악성코드에서는 [그림 16]에 나타난 것과 같이 유형 1과 유사하게 다양한 색이 조합된 이미지 파일을 확인할 수 있다.
[그림 16] 랜덤 픽셀 이미지가 없는 유형1의 변종 악성코드
- 랜덤 픽셀 이미지 형태의 아이콘을 갖는 경우
실행 파일의 아이콘 모양을 결정하는 아이콘 리소스의 경우, 비트맵 이미지나 PNG 이미지를 내부에 포함할 수 있다. 이 유형의 악성코드는 리소스 영역에 1개 이상의 아이콘 엔트리를 포함하며, 해당 아이콘 내의 그림이 [그림 17]과 같이 랜덤 픽셀 이미지의 형태를 갖는 경우다.
아이콘으로 사용 가능한 이미지 크기에 명시적인 제약이 있지는 않지만, 이 경우는 유형 1이나 유형 2처럼 큰 크기의 이미지가 사용되지 않고 일반적인 아이콘 크기(16x16~256x256)에 해당하는 그림이 포함된다. 이 유형의 악성코드는 아이콘 데이터가 디코딩되어 사용되는 경우도 있고 그렇지 않은 경우도 있다.
[그림 17] 랜덤 픽셀 형태의 아이콘을 포함하는 변종 악성코드
- 콜백 함수를 통한 코드 실행을 하지만 랜덤 픽셀 이미지가 없는 경우
유형 2 악성코드처럼 비주얼베이직 외형인 점과 CallWindowProcW 등의 API를 사용하여 콜백 방식으로 악의적인 코드를 실행하는 기법은 동일하지만, 랜덤 픽셀 이미지를 내부에 포함하지 않는 점이 특징인 경우다. 해당 기법을 사용하는 악성 파일 내의 코드 일부를 [그림 18]에 표시했다.
[그림 18] 랜덤 픽셀 이미지가 없는 유형 2 변종 악성코드
V3 제품에서는 다음과 같은 진단명으로 유형 1 악성코드와 유형 2 악성코드를 탐지하고 있다.
<V3 제품군의 진단명>
HEUR/Ranpix.Gen (유형 1)
Win-Trojan/VBKrypt.RP (유형 2)
Win-Trojan/VBKrand.Gen (유형 2)
- AhnLabASEC 분석팀 김혜선 선임연구원