개요
맬웨어는 악성 소프트웨어로서, 사용자의 이익을 침해하는 모든 소프트웨어를 포함합니다. 맬웨어는 감염된 컴퓨터 또는 기기는 물론, 감염된 기기가 통신할 수 있는 다른 기기에까지 영향을 줄 수 있습니다.
맬웨어는 단순한 컴퓨터 웜, 트로이 목마에서 가장 복잡한 형태의 컴퓨터 바이러스에 이르는 모든 것을 포괄합니다. 맬웨어, 바이러스, 악성 코드는 서로 관련이 있지만 동일하지는 않기 때문에 한 가지의 바이러스 백신 소프트웨어 또는 맬웨어 방지 소프트웨어로 모든 위협을 막을 수는 없습니다. 맬웨어는 데스크탑 컴퓨터, 노트북, 모바일 기기에 존재할 수 있으며 기기가 사용하는 운영 체제(Windows, Android, iOS 또는 Apple MacOS)에 따라 다르게 공격하고, 다른 형태로 나타날 수 있습니다. 항상 영향을 받지 않는 기기는 없으며, 대부분의 기기는 전문가용이든 개인용이든 맬웨어 방어 혜택을 누릴 수 있습니다.
효과적인 IT 보안을 사용하면 조직이 맬웨어 공격에 노출될 위험을 줄일 수 있습니다. 일반적인 사이버 보안 사례는 시스템과 액세스 제어의 취약점을 차단하여 맬웨어로 인한 위험을 제한하는 패치 관리를 포함합니다. 또한 주요 프로덕션 시스템에서 격리된 곳에 데이터를 주기적으로 백업하면 맬웨어 감염 시 빠르고 안전하게 복구할 수 있습니다.
사이버 보안에서 맬웨어가 중요한 이유는 무엇일까요?
평범한 사무실 풍경을 상상해 보세요. 아침에 출근해 커피를 마시며 컴퓨터를 켭니다. 그런데 모든 것이 잘못 돌아가기 시작합니다.
바탕화면 대신 자물쇠와 카운트다운 시계가 표시된 붉은색의 화면이 뜹니다. "파일이 암호화되었습니다"라는 메시지가 보입니다. "7일 내에 비용을 지불하지 않으면, 파일을 복구할 수 없습니다." 이 화면을 본 후 주위를 둘러보니 다른 동료의 컴퓨터 화면에도 똑같은 메시지가 떠 있음을 알 수 있었습니다. 모든 컴퓨터가 같은 상황입니다.
이 시나리오는 2017년 5월, 전 세계 곳곳의 사업장, 관공서, 심지어는 병원과 같은 중요 공공 서비스를 제공하는 곳까지 공격했던 워너크라이(WannaCry)라는 맬웨어를 기반으로 한 것입니다.
모든 맬웨어가 이렇게 극적으로 나타나지는 않습니다. 미처 인지하지도 못한 상태에서 시스템을 느리게 만들거나 개인정보를 침해하는 악의적인 프로그램이 실행 중일 수도 있습니다. 사이버 범죄자들은 이러한 프로그램이 감지되는 것을 피하고 정확한 조건 하에서만 감지 가능한 활동을 수행하도록 설계하는 경우가 많습니다.
맬웨어를 원천적으로 차단하는 것은 불가능할지도 모르지만, 최신 정보를 파악하고 합리적인 보안 방식을 유지 관리하여 운영 중단의 가능성을 낮출 수는 있습니다.
Red Hat 리소스
맬웨어의 유형
맬웨어가 가져올 수 있는 결과와 위험을 줄이는 방법에 대한 이해를 돕기 위해 맬웨어의 일반적인 유형을 여러 범주로 나누어 보겠습니다. 이러한 유형의 맬웨어는 주의하지 않으면 Android 모바일 기기에서 Apple 노트북에 이르기까지 모든 기기에 침투할 수 있습니다.
맬웨어는 의도한 목표를 달성하기 위해 확산 경로와 코드를 필요로 합니다. 이를 각각 전송 시스템과 페이로드라고 생각할 수 있습니다. 아래는 이 구조를 간단히 요약한 것으로서, 더 자세한 설명은 다음에 이어집니다.
전송 시스템
트로이 목마: 사용자가 설치하도록 유인
웜: 자체 복사
다음과 같이 조합될 수 있습니다.
익스플로잇: 소프트웨어 취약점을 이용해 시스템과 민감한 데이터에 대한 액세스 권한 확보
피싱: 액세스 권한을 얻는 데 사용할 수 있는 정보를 사용자가 제공하도록 유인
루트킷 또는 부트킷: 관리자 권한으로 액세스해 감지를 피하고 더 많은 제어 권한 획득
페이로드
애드웨어: 원치 않는 광고 표시
봇넷: 기기를 제어할 수 없는 상태로 만듦
암호 화폐 채굴: 컴퓨팅 성능을 암호 화폐를 채굴하는 데 사용
랜섬웨어: 대가를 지불하도록 요구
스파이웨어: 키로거 또는 다른 수단을 통해 데이터를 은밀히 수집
기타 피해: 데이터 손상, 파괴 등
트로이 목마
트로이 목마(Trojans)는 소셜 엔지니어링을 통해 전파되는 실행 가능한 파일로, 다른 무언가로 가장하여 사용자가 자신도 모르는 사이에 열어 실행 가능한 파일을 시작하도록 유인합니다. 가장 흔한 공격 전략은 사용자에게 파일 또는 웹 링크를 열도록 하여 맬웨어를 설치하는 것입니다. 예를 들어 트로이 목마는 스케어웨어처럼 특정 프로그램이 컴퓨터를 보호하는 데 도움이 된다고 생각하도록 사용자를 설득할 수 있습니다. 하지만 이 프로그램은 사실 정반대의 역할을 합니다.
편리한 브라우저 도구 모음이나 재미있는 이모티콘 키보드처럼 위험하지 않아 보이는 애플리케이션에도 맬웨어가 포함되어 있을 수 있습니다. 또 다른 트로이 목마 기법으로는 USB 메모리 스틱(또는 USB 드라이브)에 자동 설치되는 맬웨어를 심은 다음 의심하지 않는 사용자에게 이를 전달하는 방법도 있습니다. 원격 액세스 트로이 목마(Remote Access Trojans, RAT) 맬웨어를 통해 사이버 범죄자는 침투 후 원격으로 기기를 제어할 수 있습니다.
웜
웜은 원치 않는 곳에 침투합니다. 최초의 실험용 컴퓨터 웜은 단순히 자가 복제를 반복하는 것으로 1970년대에 등장했습니다. 자가 복제하여 파괴력이 더 강한 웜은 1980년대에 등장하였으며, 컴퓨터 바이러스로는 최초로 널리 알려지게 되었습니다. 이러한 웜은 플로피 디스크의 감염된 파일을 통해 PC에서 다른 PC로 확산되며 액세스한 파일을 손상시켰습니다. 인터넷이 확산됨에 따라 맬웨어 개발자와 해커는 네트워크 전반에 자가 복제하는 웜을 설계하여 인터넷으로 연결된 조직과 사용자를 위협했습니다.
익스플로잇
익스플로잇이란 불법적으로 악용될 경우 소프트웨어가 원래의 설계 의도와는 다르게 작동하게 만들 수 있는 소프트웨어의 취약점을 말합니다. 맬웨어의 한 부분이 이러한 익스플로잇을 활용하여 시스템에 침투하거나, 다른 시스템으로 이동할 수 있습니다. 모든 사용자가 시스템에 보안 패치를 적용하여 최신 상태로 유지하는 것은 아니기 때문에 이렇게 알려진 취약점(CVE)을 이용하는 익스플로잇이 많습니다. 드물게 발생하는 제로 데이 익스플로잇은 소프트웨어 관리자가 해결하지 않은 중요 취약점을 악용합니다.
피싱
피싱은 스푸핑 이메일이나 스캠 오퍼와 같은 부정한 요청을 통해 민감한 정보나 개인 데이터를 넘겨 주도록 누군가를 유인하는 소셜 엔지니어링의 한 가지 형태입니다. 비밀번호와 로그인 자격 증명을 알아내거나 신원 도용을 저지르기 위한 전략인 피싱 공격은 때로 맬웨어 공격의 전조이기도 합니다.
루트킷과 부트킷
루트킷은 시스템에 대한 전체적인 제어 권한을 얻고 그 자취를 숨기기 위해 설계된 일련의 소프트웨어 툴 세트를 뜻합니다. 루트킷은 시스템의 일반적인 관리 제어 권한을 효과적으로 대체합니다. 부트킷은 루트킷의 고급 버전으로 시스템을 커널 수준에서 감염시켜 더 많은 제어 권한을 얻고 감지는 더욱 어렵게 합니다.
애드웨어와 스파이웨어
애드웨어는 사용자의 기기에서 웹 브라우저의 팝업과 같은 원치 않는 광고를 보여줍니다. 이와 매우 유사한 스파이웨어는 사용자의 정보를 수집해 다른 곳으로 전송합니다. 스파이웨어는 인터넷 활동을 모니터링하는 트래커에서 더욱 정교한 스파이 툴까지 다양합니다. 사용자가 입력하는 내용을 기록하는 키보드 입력 로고 또는 키로거도 스파이웨어에 포함될 수 있습니다. 스파이웨어와 애드웨어는 개인정보를 침해할 뿐만 아니라, 시스템과 네트워크를 느리게 만들 수 있습니다. 이제까지 Windows에서 실행되는 컴퓨터가 맬웨어의 주요 표적이었지만 macOS 사용자 역시 팝업 광고, 그리고 합법 소프트웨어로 가장한 PUP(Potentially Unwanted Programs)에 똑같이 취약합니다.
봇넷
봇넷 맬웨어는 기기의 제어 권한을 외부로 전환하여 장치를 감염된 기기로 이루어진 대규모 네트워크의 일부로 만듭니다. 봇넷은 주로 분산 서비스(DDoS) 공격이나 스팸 전송, 암호 화폐 채굴에 사용됩니다. 보안되지 않은 네트워크의 기기는 모두 이러한 감염에 취약할 수 있습니다. 봇넷은 일반적으로 기기 네트워크를 확장할 수 있는 수단을 갖추고 있으며 여러 가지 악성 활동을 동시에 또는 순차적으로 수행할 수 있을 정도로 복잡합니다. 예를 들어 2016년의 미라이(Mirai) 맬웨어 공격에서는 인터넷에 연결된 카메라와 가정용 라우터로 거대한 DDoS 봇넷을 형성했습니다.
랜섬웨어
랜섬웨어는 조건을 걸고 대가를 지불하도록 요구하는 맬웨어입니다. 일반적인 랜섬웨어는 사용자의 시스템에 있는 파일을 암호화하고 해독 키를 주는 대신 비트코인(Bitcoin)으로 대가를 지불하도록 요구합니다. 랜섬웨어는 2000년대 중반부터 널리 알려지기 시작했습니다. 이후 랜섬웨어 공격은 계속해서 가장 심각하고도 널리 확산되는 컴퓨터 보안 위협 중 하나로 자리 잡았습니다.
스미싱
스미싱 또는 SMS 피싱은 비교적 새로운 유형의 맬웨어로, 공격자가 SMS 문자 메시지를 통해 맬웨어 링크를 보내 사용자가 링크를 클릭하여 애플리케이션으로 가장한 맬웨어를 다운로드하도록 유도합니다. 스미싱 공격자는 금융 기관, 정부 기관, 고객 지원 팀 등으로 가장해 사용자를 속여 비밀번호, 신용 카드 또는 기타 개인 정보를 제공하도록 유도할 수 있습니다.
기타 피해
때때로 맬웨어 개발자 또는 운영자가 데이터 또는 시스템 손상을 목적으로 하는 경우도 있습니다. 랜섬웨어가 문제가 되기 오래전부터 대중 매체의 관심을 받았던 최초의 맬웨어 프로그램 중 하나는 바로 1992년의 미켈란젤로(Michelangelo) 바이러스였습니다. 이 바이러스는 3월 6일이라는 특정한 날짜에 감염된 PC의 디스크 드라이브를 덮어썼습니다. 몇 년 후인 2000년에는 아이러브유(ILOVEYOU) 바이러스가 Visual Basic 스크립트 형식으로 이메일 첨부 파일을 통해 사용자 간에 확산되기도 했습니다. 이는 실행될 경우 컴퓨터의 다양한 파일을 삭제하고 스스로를 복사하여 사용자의 주소록에 있는 모든 연락처에 이메일로 전송되는 바이러스였습니다.
이러한 바이러스는 오늘날 맬웨어에 비하면 구식처럼 여겨집니다. 스턱스넷(Stuxnet)의 예를 살펴보겠습니다. 2010년, 보안 커뮤니티에서는 특정한 유형의 산업 장비를 조작하려는 목적으로 설계된 매우 복잡하고 정교한 웜을 발견했습니다. 현재 대부분의 보안 전문가는 Stuxnet이 이란의 핵 무기 프로그램을 파괴하기 위해 미국과 이스라엘 정부가 설계한 것이라 여기고 있습니다. (공식적으로 이를 인정한 정부는 없습니다.) 만약 사실이라면, 정부 지원 사이버 공격이라는 새로운 맬웨어의 예시라고 할 수 있을 것입니다.
맬웨어로부터 자신을 방어하려면 어떻게 해야 할까요?
맬웨어를 방지하는 가장 좋은 방법은 애초에 감염되지 않는 것입니다. 바이러스 백신이나 맬웨어 방지 소프트웨어가 도움이 될 수 있지만 복구 능력 향상을 위해 바로 구현할 수 있는 다른 보안 솔루션들도 있습니다.
제로 트러스트 보안 아키텍처 도입
수십 년간 기업은 방화벽과 기타 보안 방어 체계에 의해 외부 환경으로부터 격리된 신뢰할 수 있는 네트워크 또는 내부 네트워크로 설계되었습니다. 이 경계 안에 있거나 VPN과 같은 원격 방법으로 연결된 개인 또는 엔드포인트는 경계 외부에 있는 경우보다 더 높은 신뢰를 받았습니다. 그 결과 "네트워크가 겉은 바삭하고 속은 말랑말랑한 상태"가 되면서 악의적인 사용자가 일단 액세스에 성공하고 나면 쉽게 통과할 수 있게 되었습니다. 이러한 취약점을 관리하기 위해 기업들은 더욱 세분화된 제로 트러스트 네트워크 액세스(ZTNA) 방식을 도입하고 있습니다. ZTNA에서는 액세스를 세분화하고 사용자 권한을 특정 애플리케이션과 서비스로 제한합니다.
공격 범위 축소
시스템, 애플리케이션, 포트의 인터넷 노출을 최소화합니다.
사용자 교육
사용자는 이메일에 포함된 링크와 첨부 파일에 주의해야 한다는 교육을 받아야 합니다. 내부 위협이 어떻게 맬웨어 공격으로 이어질 수 있는지 이 교육에서 설명합니다.
감지
맬웨어 감염을 빠르게 감지할수록, 감염된 시스템을 더 빨리 처리할 수 있습니다. 일부 맬웨어는 숨어 있도록 설계되었다는 점을 명심하시기 바랍니다. 바이러스 백신이나 맬웨어 방지 툴은 감지 서명을 정기적으로 업데이트하여 새로운 변형을 모니터링해야 합니다. 또한 다양한 맬웨어 감지 방법을 마련해 활용하는 것이 좋습니다.
패치 관리
요즘 소프트웨어 관리자들은 보안 취약점에 가능한 한 빨리 패치를 적용하고 있으므로 최신 버전의 보안 소프트웨어를 실행하는 것은 물론, 시스템 전체를 최신 버전으로 유지하는 것이 맬웨어 감염 위험을 줄이는 방법입니다. 효과적인 패치 관리란 조직의 모든 시스템 전반에 적시에 보안 패치를 적용한다는 것을 의미합니다. 주기적으로 업데이트를 확인하고 적용하여 알려진 익스플로잇으로부터 보호합니다.
액세스 제어
관리 제어 권한은 신뢰할 수 있는 애플리케이션과 이를 필요로 하는 사용자로 제한해야 합니다. 그렇게 하면 맬웨어가 컴퓨터를 공격하더라도 시스템의 핵심 기능까지 침투하기는 어렵기 때문입니다. 관리 제어 권한을 정기적으로 검토합니다. 가능한 경우 액세스 보안을 보장하기 위해 다단계 인증을 요구합니다.
데이터 백업 및 암호화
적절한 데이터 보안은 맬웨어 공격에 상당한 차이를 만들 수 있습니다. 최악의 경우 맬웨어가 시스템에 침입하더라도, 감염되기 전의 백업으로 페일오버를 수행할 수 있기 때문입니다. 간단히 말해 맬웨어가 데이터를 손상시키거나 삭제하지 못하도록 백업 데이터를 격리된 상태로 유지한다는 의미입니다. 또한 맬웨어가 접근한 데이터를 사용할 수 없도록 데이터를 언제나 암호화하는 것도 좋은 방법입니다. 실제로 이러한 전략을 조직의 규모와 복잡도에 따라 다양하게 조합하여 활용할 수 있습니다. 대규모 조직에서는 매우 유연한 백업 및 암호화 옵션을 제공하는 하이브리드 클라우드 환경의 소프트웨어 정의 스토리지 솔루션을 활용하는 것이 좋습니다.
모든 컴퓨터 시스템에는 취약점이 있고 맬웨어 개발자는 지속적으로 이를 찾아내고 악용하려 합니다. 이것이 맬웨어 보안이 계속해서 진화하는 이유입니다.
IT 보안을 위한 Red Hat의 기술 가이드에는 보안 정책, 프로세스, 절차를 구축하는 방법이 자세히 설명되어 있습니다.
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.