1. 개요
최근 SVG1 파일포맷을 이용한 악성코드 유포가 다시 인기를 끌고 있다. SVG 는 2차원 벡터 그래픽을 표현하기 위한 XML2 기반 파일 형식으로, 개방형 표준3형식을 지켜 많은 그래픽 편집도구에서 이 파일포맷을 지원한다. 또한 IE 9 을 포함한 대부분의 웹 브라우저에서 SVG 를 지원하기에 별도의 그래픽 편집도구 없이도 이 파일을 열 수 있다.
문제는 이 SVG 파일이 자바스크립트를 지원한다는 점이다. 본디 목적은 이미지 애니메이션을 지원하기 위함이었으나 자바스크립트로 작성된 많은 악성코드가 그러하듯이, SVG에 포함된 자바스크립트를 통해서도 악성 행위를 수행할 수 있다.
SVG가 악성행위에 이용된 것은 이번이 처음이 아니다. 페이스북을 통한 악성코드 유포에도 svg 파일이 쓰인 이력이 있고, 지난 주에는 일본어로 작성된 이메일을 통해 SVG 형식의 악성코드가 유포된 바 있다. 관련이슈1 관련이슈2
お世話になっております 写真ご送付いただきましてありがとうございます。
신세를지고 있습니다 사진 보내 주셔서 감사합니다.
이 보고서에서는 지난주 Xavier Mertens 의 허니팟에 수집된 일본어 이메일에 포함된 두 악성코드 00967999543-(02).svg 에 대해 알아보겠다.
2. 파일 정보
항목 | 내용 |
---|---|
파일명 | 00967999543-(02).svg |
파일 타입 | SVG |
파일 크기 | 135,956 bytes |
MD5 | 6b9649531f35c7de78735aa45d25d1a7 |
설명 | 자바스크립트가 포함된 그림파일, 다운로더 |
3. 악성 행위
결론부터 말하자면, 이 샘플은 다른 웹 서버의 추가 악성코드 hxxp://juanpedroperez.com/fotos/photos/xfs_extension.exe 를 다운로드 한다. 여기서는 그림 파일 형식인 SVG가 어떻게 추가 악성코드를 다운로드 하는지 좀 더 자세히 알아보겠다.
3.1. 행위 수행 방법
앞서 설명한 바와 같이 SVG 파일은 XML 기반의 그림파일이다. XML 파일은 사람과 기계 모두가 읽을 수 있는 형식을 갖도록 규정해 메모장과 같은 텍스트 에디터로도 내용물을 쉽게 확인할 수 있다. 아래는 00967999543-(02).svg 을 텍스트 에디터로 열어본 모습이다.
00967999543-(02).svg 는 두 개의 섹션만을 가진 매우 단순한 구조로 이뤄져 있다. 두 섹션은 사용자를 속이기 위한 JPG파일과 자바스크립트이다. JPG파일은 “지원하지 않는 파일 포맷입니다. 확장 프로그램을 설치하세요” 라는 가짜 안내문구로 다운로드 받는 악성코드의 실행을 유도한다.
자바스크립트는 간단한 난독화가 되어 있는데 해제 시 아래와 같은 내용을 확인할 수 있다. 이 스크립트는 1초동안 가짜 안내문을 출력하고 xfs_extention.exe 를 다운로드 하는 동작을 수행한다.
3.2. 추가 악성코드
분석 시점에 xfs_extension.exe 는 다운로드 되지 않지만 확인결과 이 악성코드는 파밍 악성코드로 알려진 Ursnif 이다. Ursnif 는 PC에 다운로드 될 뿐 실행 여부는 전적으로 사용자의 선택에 달려있어 조금만 주의를 기울인다면 감염되지 않는다.
Ursnif 분석정보
Virustotal – xfs_extension.exe
4. 대응방안
SVG 파일포맷은 본디 벡터 이미지를 저장하기 위한 용도로 개발된 포맷이다. 파일 내부에 실행코드가 있다 한들 실행파일이 아닌 데이터파일로 취급한다면, 어떠한 악성 행위도 할 수 없을 것이다. 따라서 반드시 SGV 파일을 열어봐야 할 경우, 웹 브라우저가 아닌 전용 편집 툴을 이용한다면 피해를 예방할 수 있다.