[보안뉴스 문가용 기자] ATM을 노리는 또 다른 멀웨어가 카스퍼스키에 의해 발견됐다. 카스퍼스키는 이 멀웨어의 이름을 ATMii라고 붙였다. 이 멀웨어가 최초로 카스퍼스키의 눈에 띈 것은 올해 4월의 일로, “주입시키는 모듈(exe.exe)과 주입되는 모듈(dll.dll)로 구성되어 있다”는 것이 특징이라고 한다. 이 멀웨어를 사용하려면 ATM 기기로 물리적인 접근을 해야만 한다.

[이미지 = iclickart]
카스퍼스키는 ATMii의 샘플을 계속 분석해오며 주입시키는 모듈이 1) 보안 장치가 없는 명령행 애플리케이션이며 2) 비주얼 C로 작성되었고 3) 가짜 컴파일 타임스탬프(4년 전 시점)가 찍혀 있다는 걸 발견해냈다. 또한 대부분의 ATM에 설치된 운영체제인 윈도우 XP보다 나중에 나온 윈도우들에서도 멀웨어가 작동한다는 사실도 알아냈다.
이 주입 모듈은 atmapp.exe라는 ATM 소프트웨어 프로세스를 노리고, 여기에 두 번째 모듈을 삽입시킨다. 하지만 카스퍼스키는 “코딩이 그렇게 짜임새 있게 되어 있지 않다”며 “여러 매개변수가 잘 입력되어야만 작동된다”고 설명한다. “매개변수가 하나도 없을 때는 오류가 일어납니다.” 호환이 되는 매개변수는 /load(dll.dll을 atmapp.exe에 주입시킨다), /cmd(C:/ATM/c.ini 파일을 생성하거나 업데이트한다), /unload(주입된 라이브러리를 atmapp.exe 프로세스로부터 빼낸다) 등이 있다.
ATMii의 명령들을 봤을 때 1) CASH_UNIT XFS 서비스를 스캔하고 2) 원하는 만큼의 현금을 빼내며(이 때는 amount와 currency라는 매개변수가 사용된다), 3) ATM 현금이 들어있는 카셋트 정보를 얻어내어 로그 파일에 기록하고, 4) C:/ATM/c.ini 파일을 삭제하는 기능을 갖추고 있는 것으로 카스퍼스키는 파악하고 있다.
삽입된 모듈(dll.dll)은 ATM의 CASH_UNIT 서비스 아이디가 있어야만 제 기능을 발휘한다. 그래서 제일 처음 하는 일이 아이디를 찾는 것이다. 찾아낸 후 결과를 저장하고 C:/ATM/c.ini 파일로부터의 명령들을 읽고, 검사하고, 실행하는 것과 관련된 함수로 모든 추가 요청을 보내기 시작한다.
“ATMii는 공격자들이 ATM을 공격하기 위해 정상 라이브러리를 악용할 뿐만 아니라 아주 소량의 코드만을 사용한다는 것을 보여주는 사례입니다. 자동 거부 방식 정책과 기기에 대한 통제를 강화함으로써 방어가 가능합니다. 자동 거부 방식은 ATM 내부 PC에서 외부인이 임의의 프로그램을 작동시킬 수 없게 만들고, 기기 통제를 강화하면 물리적인 접근을 불가능하게 만들 수 있습니다.”
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>