정상적인 암호화 기능인 만큼 랜섬웨어 대응 솔루션도 우회 가능해
[보안뉴스 이상우 기자] 랜섬웨어(Ransomware)는 이름처럼 사용자나 기업의 ‘파일’을 인질로 잡고 ‘몸값(Ransom)’을 요구하는 악성 소프트웨어를 말한다. 사용자 PC의 모든 데이터를 암호화한 뒤 사용하지 못하게 하고, 이 파일을 다시 사용하고 싶으면 일정 비용을 공격자에게 지불하라고 협박하는 것이다.
국내에서는 대형 커뮤니티 플래시 광고 취약점을 통해 일반 사용자에게 랜섬웨어가 유포되며 알려졌고, 최근에는 메이즈(Maze)라는 이름의 해킹 조직이 핸섬웨어 공격 및 해킹으로 유출한 자료를 일반에 공개하겠다고 협박하며 유명세를 타기도 했다.
[이미지=utoimage]
랜섬웨어는 개인은 물론 기업에게도 뼈아픈 공격이다. 일반 사용자는 추억이 담긴 사진이나 각종 자료를 모두 쓸 수 없게 되며, 기업은 운영에 필요한 주요 자료가 묶이게 된다. 특히, 전자상거래 기업이라면 제품 판매나 소비자 정보 등의 DB가 암호화될 경우 운영 자체가 마비될 수도 있다. 랜섬웨어 공격 역시 멀웨어(악성 소프트웨어)를 이용한 공격인 만큼, 스팸 및 피싱 메일, 웹사이트 취약점, 파일공유 사이트 등에서 유포돼 사용자 PC에 설치된다.
PC에 제대로 된 보안 소프트웨어가 설치돼 있다면 이미 알려진 랜섬웨어 자체를 탐지해 제거하거나 랜섬웨어의 암호화 과정을 차단할 수 있다. 그런데, ‘랜섬웨어를 이용하지 않은 랜섬웨어 공격’이 발생한다면 어떻게 대응해야 할까?
윈도우 운영체제는 ‘비트로커(BitLocker)’라는 암호화 기능을 제공한다. 특정 폴더나 파일을 잠그는 정도가 아니라 파티션 혹은 드라이브 자체를 암호화해 타인이 주요 데이터에 접근할 수 없게 하는 기능으로, 이를 통해 데이터가 유출되더라도 내용을 알 수 없게 한다. 비트로커를 지원하는 버전은 윈도우 7 얼티메이트/엔터프라이즈, 윈도우 8.1 프로 , 윈도우 10 프로, 윈도우 서버 2008 이상이다. 이는 사용자 데이터 보호에 유용한 기능이지만, 해당 기능의 권한이 해커에게 넘어갈 경우 정상적인 기능을 통해 타인이 자신의 데이터를 암호화해 협박하는 것도 가능하다.
▲비트로커는 윈도우 운영체제에서 지원하는 디스크 암호화 기능으로, 정보유출을 방지한다[이미지=보안뉴스]
한국인터넷진흥원에 따르면 최근 윈도우 서버를 대상으로 하는 랜섬웨어 공격 양상이 이같은 방식으로 변하고 있다. 과거에는 관리자 권한을 탈취한 이후 서버에서 직접 랜섬웨어를 실행해 파일을 암호화했지만, 최근에는 비트로커처럼 정상적으로 제공하는 디스크 암호화 기능을 악용해 백신이나 랜섬웨어 대응 솔루션을 우회하고 있다.
공격자는 우선, 웹셸 업로드 기법을 이용해 서버에서 시스템 권한을 획득하고, 원활한 원격 접속을 위해 서버 내에 원격제어용 악성코드를 설치하고, 가짜 계정을 생성해 해당 계정에 관리자 권한을 부여한다. 이후 관리자 권한을 통해 비트로커 기능을 실행하고 주요 데이터가 보관된 디스크를 암호화한 뒤 금전을 요구한다. 복구 키 및 설정한 암호가 있어야 파일에 접근할 수 있다는 점과 이를 통해 ‘몸값’을 요구한다는 점에서 기존 랜섬웨어 공격과 같은 맥락이다. 다만, 비트로커는 윈도우 서버 운영체제의 정상 기능이기 때문에 각종 보안 솔루션을 우회하는 것도 가능하다.
▲비트로커를 이용한 공격 발생 순서[자료=한국인터넷진흥원]
그렇다면 윈도우 서버를 이용하는 기업은 이러한 공격에 어떻게 대응해야 할까? 우선 대표적인 웹 서버 취약점인 웹셸 업로드를 차단해야 한다. 공격자가 서버에 올린 웹셸은 시스템 정보를 유출하거나 내부 취약점을 찾는 등 각종 명령을 서버에 전달하는 역할을 한다. 이 때문에 웹 서버 게시판 등을 통해 올릴 수 있는 파일의 확장자를 제한하거나(*.jpg, *.txt 등) 올린 파일명을 자동으로 난수로 변경해 저장하는 등 웹 서버 취약점을 보완해야 한다. 또한, 웹셸이 서버에 들어와도 실행도지 않도록 디렉토리 실행권한을 제거해야 한다.
주기적인 모니터링 역시 중요하다. 주요 시스템 폴더에 비정상 파일이 생기는지 점검해야 하고, 사용하지 않는 비정상 계정이 관리자 그룹에 추가되지는 않았는지 확인해야 한다. 또한, 서버 및 PC에 백신을 설치하고 실시간 감시를 통해 외부 사용자가 악성코드 실행 시 차단할 수 있어야 한다.
공격에 당할 가능성에 대비해 오프라인 저장매체에 서버 이미지를 백업해 두는 것도 좋다. 온라인 백업의 경우 공격자가 침투해 동일한 방식으로 암호화할 수 있기 때문에 가능하면 망분리 등을 통해 백업 이미지를 오프라인으로 보관해야 한다.
랜섬웨어 공격은 한 번 당할 경우 이를 돌이키는 것은 현실적으로 불가능하다. 간혹 랜섬웨어 조직이 검거되면서 복호화 키가 공개되는 경우도 있지만, 이러한 사례가 그리 많지는 않다. 공격자의 침입을 완전히 차단하기는 어려우며, 특히 웹 서버처럼 항상 열어둬야 하는 공간을 완벽히 방어하는 것 역시 사실상 불가능하다. 그럼에도 불구하고 주기적인 소프트웨어 및 운영체제 업데이트를 통한 취약점 제거, 백신 등 보안 솔루션 적용, 주기적인 백업 및 안전한 매체에 보관 등 기본적인 보안수칙은 상당수의 공격에 대응하고 피해를 최소화하는 데 큰 도움을 준다는 점을 명심할 필요가 있다.
[이상우 기자(boan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>