보안

해커가 흔적을 숨기는 5가지 방법

Ax Sharma | CSO 2021.05.25
네트워크 모니터링 도구, 바이러스 스캐너, 소프트웨어 조합 분석(Software Composition Analysis, SCA) 도구, 디지털 포렌식 및 사고 대응(digital forensics and incident response, DFIR) 솔루션 등 CIOS가 악의적 활동을 탐지하고 차단하는 데 도움이 되는 도구는 많고 끊임없이 발전 중이다.

하지만 사이버 보안은 공격과 방어 간의 지속적인 싸움이고, 공격자도 계속해서 새로운 수법을 들고 나온다.

스테가노그래피(steganography, 악의적 페이로드를 포함한 정보를 이미지와 같은 무해해 보이는 파일 안에 숨기는 수법)와 같은 오래된 수법이 발전을 거쳐 새로운 기능이 추가되고 있다. 예를 들어, 최근 한 연구원은 트위터 플랫폼의 이미지 안에 최대 3MB의 ZIP 압축 파일을 집어넣을 수 있음을 입증하며, 트위터 역시 스테가노그래피에서 자유로울 수 없게 됐다. 

한편, 필자는 개인적인 연구를 통해 현재의 위협 행위자들은 난독화, 스테가노그래피, 맬웨어 패킹 수법을 사용하는 것 외에 합법적인 서비스와 플랫폼, 프로토콜, 도구를 이용해 활동하는 것을 알게 됐다. 이와 같은 방법으로 사람의 눈과 기계에 모두 ‘깨끗해’ 보이는 트래픽이나 활동 안에 숨어들 수 있다. 

사이버 범죄자가 자신의 흔적을 숨기기 위해 사용하는 5가지 방법은 다음과 같다.
 
ⓒ Pixabay / Gerd Altmann
 

1. 경계심을 낮추는 신뢰받는 플랫폼 악용

2020년 보안 전문가들이 빈번하게 발견한 수법으로, 올해까지 계속 그 추세가 이어지는 중이다.

코발트 스트라이크(Cobalt Strike), Ngrok 같은 침투 테스트 서비스 및 도구부터 깃허브와 같은 오픈소스 코드 생태계, Imgur, 페이스트빈(Pastebin)과 같은 이미지 및 텍스트 사이트에 이르기까지, 공격자들은 지난 몇 년 사이 신뢰받는 다양한 플랫폼을 공격에 이용했다.

일반적으로 Ngrok은 버그 사냥 연습이나 침투 테스트의 일부로 데이터 수집 또는 모의 터널을 만드는 데 관심이 있는 윤리적 해커들 사이에서 사용된다. 그러나 악의적 행위자들은 Ngrok을 악용해 봇넷을 설치하거나 정상적인 통신 서비스를 악성 서버에 연결한다. SANS 인스티튜트(SANS Institute)의 자비에 머텐스는 최근 파이썬으로 작성된 이러한 악성코드 샘플을 발견했다. 악성코드 샘플에는 Ngrok을 사용하는 감염된 시스템에 백도어를 심기 위한 base64로 인코딩된 코드가 포함돼 있었다.

Ngrok은 많은 사람들이 신뢰하므로 원격 공격자는 Ngrok 터널을 통해 감염된 시스템에 연결해 기업 방화벽 또는 NAT 보호를 높은 확률로 회피할 수 있다.

것허브 역시 옥토퍼스 스캐너(Octopus Scanner)부터 깃페이스트-12(Gitpaste-12)에 이르는 다양한 악성코드를 호스팅하는 데 악용됐다. 영악한 공격자들은 최근 오픈소스 파워셸 스크립트를 사용해서 깃허브와 Imgur을 조합해 깃허브에 무해한 Imgur 사진의 코발트 스트라이크 페이로드를 계산하는 간단한 스크립트를 호스팅했다. 코발트 스트라이크는 인기 있는 침투 테스트 프레임워크로, 고도의 실제 사이버 공격을 시뮬레이션하는 데 사용되지만 모든 보안 소프트웨어 제품이 그렇듯이 공격자에 의해 오용될 소지도 있다.

개발자가 사용하는 자동화 툴 역시 악용에서 자유롭지 못하다.

공격자들은 지난 4월 깃허브 액션(GitHub thfActions)을 악용, 수백 개의 리포지토리를 대상으로 자동화된 공격을 감행했고 암호화폐 채굴에 깃허브의 서버와 리소스를 사용했다.

이러한 사례는 공격자들이 왜 굳이 많은 방화벽과 보안 모니터링 툴이 지키고 있을 가능성이 높은 합법적인 플랫폼을 노리는지, 그 이유를 보여준다.
 

2. 브랜드 가치, 평판 또는 인기를 이용한 상향 공격

최근 솔라윈즈(SolarWinds) 침해 이후 소프트웨어 공급망에 대한 보안 우려가 확산됐지만 이러한 공격이 부상한 것은 꽤 오래 전이다.

타이포스쿼팅(typosquatting), 브랜드재킹(brandjacking), 종속성 혼동(원래 개념 증명 연구로 시작했지만 이후 악의적 목적으로 오용됨) 등 다양한 형식을 취하는 “상향” 공격은 알려진 파트너 생태계 간의 신뢰를 악용하고 브랜드나 소프트웨어 구성 요소의 인기 또는 평판을 이용한다. 공격자는 브랜드와 관련된 신뢰받는 코드베이스로 악성 코드를 상향으로 밀어 넣는 것을 목표로 한다. 이 악성 코드는 이후 하향으로, 최종 목표, 즉 해당 브랜드의 파트너, 고객 또는 사용자에게 배포된다.

모두에게 개방된 시스템은 당연히 공격자에게도 개방돼 있다. 따라서 많은 공급망 공격은 오픈소스 생태계를 노린다. 그중 일부는 “모두에게 개방”이라는 원칙을 지키기 위해 검증 절차가 다소 느슨한 경우가 있다. 그러나 상업 조직 역시 이러한 공격을 받을 수 있다.

최근 솔라원즈 사고와의 유사성이 지목되기도 한 사례로, 소프트웨어 테스트 업체 코드코브(Codecov)는 자사의 배시 업로더(Bash Uploader) 스크립트를 대상으로 한 공격이 이루어졌다며 관련 정보를 공개했다. 이 공격은 2개월이 넘게 탐지되지 않았다.

코드코드의 고객 기업은 29,000개 이상으로, 이 중에는 유명 글로벌 브랜드도 포함된다. 공격에서 회사의 고객들이 사용하는 업로더가 시스템의 환경 변수(키, 인증 정보, 토큰)를 공격자의 IP 주소로 유출하도록 변조됐다.

공급망 공격을 방어하기 위해서는 여러 측면에서의 조치가 필요하다. 소프트웨어 제공업체는 개발 빌드를 안전하게 유지하기 위한 투자를 강화해야 한다. 의심스러운 소프트웨어 구성요소를 자동으로 탐지해 차단할 수 있는 AI와 ML 기반 데브옵스 솔루션은 타이포스쿼팅, 브랜드재킹, 종속성 혼동 공격을 차단하는 데 도움이 될 수 있다.

또한 쿠버네티스나 도커 컨테이너를 도입해 애플리케이션을 배포하는 기업이 늘면서 웹 애플리케이션 방화벽을 내장하고 간단한 구성 오류를 조기에 탐지할 수 있는 컨테이너 보안 솔루션도 더 큰 침해를 막는 데 도움이 될 수 있다.
 

3. 추적하기 어려운 방법으로 암호화폐 빼돌리기

다크넷 마켓플레이스 판매자와 랜섬웨어 운영자는 탈중앙화되고 개인정보보호를 중시하는 특성을 가진 암호화폐를 사용해 거래하는 경우가 많다. 그러나 정부 중앙 은행에서 발행하거나 통제하지 않는 암호화폐도 익명성 수준은 현금과 마찬가지로 제한적이다. 따라서 사이버 범죄자들은 여러 계좌 사이로 돈을 빼돌리기 위한 독창적인 방법을 찾고 있다.

최근 사례로, 2016년 비트파이넥스(Bitfinex) 해킹과 관련된 7억 6,000만 달러 가치의 비트코인이 1BTC부터 1,200BTC 사이의 여러 건의 소규모 거래를 통해 새로운 계좌로 이동됐다.

암호화폐는 자금 추적을 완전히 피할 수는 없다. 2020년 미국 대통령 선거일 밤, 미국 정부는 가장 악명높은 다크넷 마켓플레이스였다가 2013년에 폐쇄된 실크 로드와 연루된 자금이 들어 있던 10억 달러 상당의 비트코인 지갑을 비웠다.

모네로(XMR), Z캐시(ZEC)와 같은 일부 다른 암호화폐는 비트코인에 비해 거래를 익명화하기 위한 더 포괄적인 개인정보 보호 기능이 있다. 공격자들이 흔적을 숨길 더 나은 방법을 계속해서 찾고 있는 만큼 이 전선에서 범죄자와 수사 기관 사이의 줄다리기는 앞으로도 계속될 것이 분명하다.
 

4. 일반적인 채널과 프로토콜 사용

사람들이 신뢰하는 플랫폼, 브랜드와 마찬가지로 합법적인 애플리케이션에서 사용하는 암호화된 채널이나 포트, 프로토콜 역시 공격자에게는 족적을 숨기는 수단이 된다.

예를 들어, HTTPS는 오늘날 웹의 모든 곳에 사용되는 필수적인 프로토콜이지만 바로 그 이유로 포트 443(HTTPS/SSL에 사용되는 포트)은 기업 방화벽에서 차단하기가 매우 어렵다. 도메인 확인에 사용되는 프로토콜인 DNS 오버 HTTPS(DNS over HTTPS, DOH)도 포트 443을 사용하며, 맬웨어 제작자들이 지휘통제(C2) 명령을 감염된 시스템으로 전송하는 데 사용된다.

이 문제에는 두 가지 측면이 있다. 첫째, 공격자들은 HTTPS 또는 DoH와 같이 일반적으로 사용되는 프로토콜을 악용함으로써 합법적 사용자와 마찬가지로 종단간 암호화된 채널이 제공하는 개인정보보호의 이점을 얻는다.

둘째, 네트워크 관리자 입장에서 대처하기가 어렵다. 어느 형태든 DNS를 차단하는 것이 어렵기도 하지만, DNS 요청과 응답이 HTTPS를 통해 암호화되는 지금 상황에서 보안 전문가가 네트워크를 통해 오가는 수많은 HTTPS 요청 중에서 의심스러운 트래픽을 가로채 판별하고 분석하기는 쉽지 않다.

35개 이상의 대형 기술 기업을 대상으로 한 윤리적 해킹을 통해 종속성 혼동 수법을 증명한 연구원 알렉스 버산은 DNS(포트 52)를 사용해 기본적인 정보를 빼내는 방법으로 해킹 성공률을 극대화할 수 있었다. 버산은 기업 방화벽이 성능 요구사항과 합법적인 DNS 사용을 고려, DNS 트래픽을 차단하지 않을 가능성이 높은 데 착안해 DNS를 선택했다.
 

5. 서명된 바이너리를 사용해 난독화된 악성코드 실행

자급자족형 바이너리(LOLBIN)를 사용하는 익숙한 파일리스(fileless) 악성코드 개념이 여전히 유효한 회피 수법으로 사용되고 있다.

LOLBIN은 마이크로소프트가 서명한 윈도우 실행 파일과 같이 합법적이고 디지털 서명된 실행 파일로, 공격자가 승격된 권한으로 악성 코드를 실행하거나 안티바이러스와 같은 엔드포인트 보안 제품을 회피하는 용도로 악용할 수 있다.

지난 달 마이크로소프트는 기업에서 마이크로소프트 애저 LOLBIN 악용을 통한 공격을 차단하는 데 사용할 수 있는 방어 기술에 관한 몇 가지 지침을 공개했다.

또 다른 사례로, 최근 발견된 리눅스 및 맥OS 악성코드는 필자가 분석해 보니 모든 주요 안티바이러스 제품에서 완벽한 제로 탐지율을 기록했다.

바이너리에는 회피에 도움이 되는 난독화된 코드가 포함되어 있었다. 추가로 조사한 결과 이 맬웨어는 수백 개의 합법적인 오픈소스 구성요소를 사용해 제작됐으며, 관리자 권한 획득과 같은 악의적인 활동을 합법적 애플리케이션과 동일한 방식으로 수행한 것으로 드러났다.

난독화된 악성코드, 런타임 패커, VM 회피 또는 이미지에 악성 페이로드 숨기기는 지능적 위협에 사용되는 알려진 회피 수법이지만, 이들의 진정한 파괴력은 보안 제품을 피해가는 능력, 즉 레이더에 포착되지 않는 은밀한 움직임에 있다.

이는 신뢰받는 소프트웨어 구성 요소, 프로토콜, 채널, 서비스 또는 플랫폼과 페이로드가 일정 수준으로 결합될 때 가능하다. editor@itworld.co.kr
 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.