핵심은 멀웨어가 특정한 기법이나 기술이 아닌, 의도된 악의적 사용을 기반으로 식별된다는 것이다. 멀웨어와 바이러스의 차이에 관한 질문은 그다지 적절하지 않다. 바이러스는 멀웨어의 일종이다. 즉, 모든 바이러스가 멀웨어인 것이다. 다만, 반대로 모든 멀웨어가 바이러스는 아니다.
멀웨어의 확신 및 사용자 기기 침투 방법
사용자는 바이러스, 트로이 목마, 웜이라는 단어를 혼용하는 경우를 많이 봤을 것이다. 실제로 이들 용어는 각 3가지 다른 멀웨어를 지칭하는 것으로, 복제 및 확산되는 방식이 서로 다르다.- 웜 : 스스로 복제하고 컴퓨터 간에 확산되는 독립적인 악성 소프트웨어이다. 웜 제작자는 운영체제의 취약점을 파악한 후 웜을 생성한다. 웜 프로그램은 실행 중인 모든 컴퓨터에서 운영체제 취약점을 탐색하고, 불안정한 컴퓨터에서 스스로를 복제한다. 최초의 웜 프로그램은 스스로를 플로피 디스크와 같은 리무버블 미디어에 복사하고, 이 디스크가 다른 컴퓨터에 삽입될 때 또 한 번 스스로를 복제하도록 설계됐다. 하지만 오늘날 웜은 대부분 기업 네트워크나 인터넷을 통해 호스트에 연결된 취약한 컴퓨터를 찾는다.
- 바이러스 : 컴퓨터 코드 조각으로, 스스로를 다른 독립형 프로그램 코드 안에 주입한다. 그런 다음 해당 프로그램이 악의적 행위를 하도록 강제하며 스스로를 확산시킨다. 감염된 프로그램이 확산되는 방식은 웜과 동일하다. 다시 말해, 인터넷이나 로컬 네트워크를 통해 다른 컴퓨터에서 취약점을 찾는 것이다. 하지만 바이러스 코드는 합법적으로 보이는 프로그램 내부에 잠복해 있기 때문에 확산될 수 있는 다른 경로가 있다. 해커가 애플리케이션을 감염시킬 수 있다면, 바이러스 코드를 포함한 애플리케이션은 오픈소스 리포지토리, 앱 스토어, 심지어 소프트웨어 개발자의 자체 서버에서도 다운로드될 수 있다.
- 트로이 목마 : 스스로를 활성화시킬 수 없지만, 사용자가 원하는 것으로 가장하고 소셜 엔지니어링 수법을 통해 실행을 유도한다. 트로이 목마는 흔히 이메일에 첨부된 ‘salary.xls’, ‘resume.doc’와 같은 이름의 파일로 사용자에 도달한다. 여기서 멀웨어는 마이크로소프트 오피스 매크로 형태로 숨어 있다. 사용자가 파일을 실행하면 트로이 목마는 가장 먼저 스스로를 확산시킨다. 이를 통해 이메일 클라이언트 프로그램을 탈취해 스스로의 복제본을 또 다른 피해자에게 발송할 수 있다.
또한, 멀웨어는 공격자에 의해 수동으로 설치될 수 있으며, 컴퓨터에 대해 물리적 접근 권한을 얻거나 권한 상승을 이용해 원격 관리자로 액세스할 수 있다.
공격자가 멀웨어를 만드는 이유
일단 멀웨어가 컴퓨터에서 실행되면 여러 가지 작업을 수행할 수 있다. 예를 들어, 컴퓨터를 아예 사용할 수 없도록 만들거나, 사용자의 통제권을 빼앗아 원격 공격자가 컴퓨터를 통제하도록 할 수 있다. 또한, 멀웨어는 자신의 제작자에 기밀 데이터를 전송할 수 있다. 일부 해커는 지성적 활동이나 파괴의 스릴을 위해 멀웨어를 제작하기도 하지만, 사이버 범죄자의 동기는 대부분 노골적인 금전적 이익이다. 이들 범죄자는 은행 비밀번호를 찾거나 판매 및 악용할 수 있는 기밀 데이터로 액세스할 수 있다. 혹은 컴퓨터에 대한 통제 권한을 얻어 DDoS 공격의 출발점으로 활용하려는 경우도 있다.또한, 멀웨어는 정치적 동기를 가진 공격일 수도 있다. 핵티비스트(Hactivist)는 기업이나 정부에 대항하는 활동에 멀웨어를 사용할 수 있으며, 국가가 후원하는 해커도 멀웨어를 만들 수 있다. 실제로 2가지 유명한 멀웨어 사건은 국가 정보기관의 소행인 것이 거의 확실하다. 스턱스넷(Stuxnet)은 미국과 이스라엘이 이란의 핵 프로그램을 파괴하려는 목적으로 제작됐다. 반면, 낫페트야(NotPetya)는 우크라이나를 겨냥한 러시아의 사이버 공격으로 시작됐으며, 순식간에 원래 의도한 표적을 넘어 인접 국가까지 확산됐다.
멀웨어 공격의 유형
멀웨어는 목적을 달성하기 위해 사용할 수 있는 공격 수법은 다음과 같다.- 스파이웨어 : 웹루트 사이버 시큐리티(Webroot Cybersecurity)는 스파이웨어를 ‘의심 없는 사용자의 데이터를 은밀하게 수집하려는 목적으로 사용되는 멀웨어’라고 정의했다. 스파이웨어는 서드파티에 정보를 전송하기 위해 기본적으로 컴퓨터가 실행되는 동안 사용자의 행동과 송수신 데이터를 염탐한다. 키로거(keylogger)는 사용자의 키보드 입력을 기록하는 특수한 형태의 스파이웨어이고, 비밀번호를 훔치는 데 매우 유용하다.
- 루트킷 : 테크타겟(TechTarget)이 설명한 것처럼, 루트킷은 위협 행위자에게 컴퓨터나 기타 시스템에 대한 액세스를 제공하거나 통제 권한을 부여하는 프로그램이자 소프트웨어 툴 모음이다. ‘루트킷’이라는 명칭은 대개 불법적으로 컴퓨터에 대해 루트 액세스 권한을 얻고, 이 권한을 이용해 자신의 존재를 감추는 툴 모음이라는 뜻에서 유래했다.
- 애드웨어 : 브라우저를 웹 광고로 강제적으로 리다이렉트 시키는 멀웨어이다. 애드웨어는 흔히 스스로를 더욱 확산시키고 더 많은 악성 소프트웨어 다운로드를 시도한다. 뉴욕 타임즈가 지적한 것처럼, 애드웨어는 게임이나 브라우저 확장 프로그램 등 무료 프로그램에서 주로 실행된다.
- 랜섬웨어 : 하드 드라이브 파일을 암호화하며, 복호화 키에 대한 대가로 비트코인과 같은 형태의 금전을 요구하는 멀웨어이다. 지난 몇 년 동안, 페트야(Petya)와 같은 유명 멀웨어 사건도 랜섬웨어였다. 사용자가 복호화 키 없이 자신의 파일에 액세스하는 것은 수학적으로 불가능하다. 이른바 스케어웨어(Scareware)는 랜섬웨어의 허위 버전이지만, 컴퓨터를 접수했다고 주장하며 몸값을 요구한다. 하지만 실제보다 더 많은 피해를 입힌 것처럼 보이기 위해 브라우저 리다이렉트 루프(browser redirect loops) 등 속임수를 이용하는 것뿐이다. 또한, 랜섬웨어와는 달리 중지시키는 것이 비교적 쉽다.
- 크립토재킹 : 암호화폐 채굴 멀웨어로 비트코인을 갈취하는 또 다른 방법이다. 사용자가 알아채지 못한 사이에 실행되며, 컴퓨터를 감염시킨 후 CPU 명령 주기를 이용해 비트코인을 채굴하며 이익을 취한다. 운영체제 백그라운드나 브라우저 창 안에서 자바스크립트로도 실행된다.
- 멀버타이징 : 정당한 광고나 광고 네트워크를 이용해 의심하지 않는 사용자의 시스템으로 멀웨어를 몰래 배포한다. 예를 들어, 사이버 범죄자는 합법적인 웹사이트에 광고를 배치하는 데 요금을 지불할 수 있다. 사용자가 해당 광고를 클릭하면 광고 안의 코드에 의해 악성 웹사이트로 리다이렉트되거나, 컴퓨터에 멀웨어가 설치된다. 가끔 사용자가 아무런 행위를 하지 않아도 광고에 심어진 멀웨어가 자동으로 실행되는 ‘드라이브 바이 다운로드(Drive-by download)’ 수법도 있다.
어떤 형태의 멀웨어이든지 각 하나의 감염 수단과 행위 범주를 갖는다. 예를 들어, 워너크라이(WannaCry)는 랜섬웨어 웜이다. 어떤 멀웨어는 상이한 형식과 공격 경로가 있다. 이모텟(Emotet) 뱅킹 멀웨어는 현실에서 트로이 목마와 웜이라는 2가지 형태로 발견됐다.
인터넷 보안 센터가 공개한 작년 12월 10대 멀웨어 공격자 목록을 살펴보면 현실 세계에 존재하는 멀웨어의 종류를 정확하게 파악할 수 있다. 현재까지는 사용자를 속여 트로이 목마 멀웨어를 활성화하는 스팸 이메일을 통한 감염이 가장 흔하며, 워너크라이(WannaCry)나 이모텟(Emotet) 멀웨어가 뒤를 이었다. 그 다음은 이른바 원격 액세스 트로이 목마(Remote Access Trojans, RAT)인 나노코어(NanoCore)와 고스트(Gh0st) 멀웨어로, 기본적으로 트로이 목마처럼 퍼지는 루트킷이다. 코인마이너(CoinMiner) 등 암호화폐 멀웨어가 마지막 순위를 차지했다.