A. 드라이브-바이 다운로드 개요
1) 일반적으로 웹 페이지에서 악의적인 목적에 의해 사용자에게 메시지를 표시하지 않고 스크립트(Script) 등의 계기로 악의적인 소프트웨어(Malware)를 다운로드하고 실행하는 것
2) 용어 정리
- 경유지(Landing Pages) - 사용자가 웹 서비스에 접근하는 웹 페이지, 변조 행위
-> 경유지 = 정상 페이지 + 악성 페이지(중계지)
- 중계지(Redirection Pages, Hopping Pages) - 악성코드 유포지로 트래픽 전송을 위한 징검다리 역할을 하는 숨겨진 웹 페이지, 삽입 행위
-> 중계지 = (리디렉션으로 구성된) 악성 페이지
- 유포지(Exploit Pages) - 브라우저 및 브라우저 플러그인 취약성을 이용하여 악성코드를 다운로드하고 실행시키는 웹 페이지
-> 유포지 = (취약성 + 악성코드 저장소를 포함하는) 악성 페이지
- 악성코드 저장소(Malware Repository) - 유포지에 의해 호출한느 악성코드를 저장한 주소
B. 토폴로지
C. 고급 유포 기술
- 사회 공학적 기법
-> 워터링 홀 공격 ( Watering Hole Attack )
-> 제휴 광고 악성코드 ( Affiliate Web-based Malware, Malware Advertisng - Malvertising )
-> 공통 파일에 악성 코드 주입 ( Malicious Code Injection to Common File )
-> CDN 기반 드라이브-바이 다운로드 ( CDN Based Drive-by Download )
-> 내부 드라이브-바이 다운로드 ( Internal Drive-by Download )
1) 워터링 홀 공격 ( Watering Hole Attack )
- 이 기법은 시만텍(Symantec)에서 2009년부터 연구를 진행
-> 중요 인사들이 회원으로 가입되어 있는 미국 외교 협회 홈페이지를 대상으로 공격
-> MS 제로데이 취약점 ( CVE-2012-4792 )를 이용
-> 최근 특정 대상 공격 또는 APT 공격에 이 공격 기법을 많이 사용
2) 제휴 광고 악성코드 ( Affiliate Web-based Malware, Malware Advertisng - Malvertising )
- 소포스 연구원이 연구한 내용으로 제휴 관고의 다단계 구조(MLM)을 이용한 악성 소프트웨어의 유포
- 최근에는 악성 광고 의뢰(실시간 입찰) 및 광고 서버 탈취 등으로 유포
-> 해외 활발히 유포한 크립토락커의 경우 최근 광고 서버를 공략하여 악성코드를 유포
-> 클리앙, 뽐뿌 랜섬웨어 유포 - 해외 광고 솔루션을 공략
3) 공통 파일에 악성 코드 주입 ( Malicious Code Injection to Common File )
- 특정 페이지가 아닌 사이트 전체에서 악성코드를 유포하기 효율적인 공략 방법
-> 공통으로 사용하는 모듈화된 파일을 선정하고 공격을 진행
-> 주로 자바스크립트 프레임워크(ex. jQuery)나 기타 js 파일, 공통으로 사용하는 swf 파일을 공략
4) CDN 기반 드라이브-바이 다운로드 ( CDN Based Drive-by Download )
- CDN, Contents Delivery Network
- 콘텐츠 전송 네트워크로 콘텐츠를 효율적으로 배포하기 위한 시스템
- 콘텐츠로 텍스트, 그래픽, 스크립트, 미디어, 소프트웨어, 문서 등
- 대표적인 웹 콘텐츠로 자바스크립트 프레임워크, 플래시 플레이어 등 있음
- 이 파일을 공략하여 다수의 웹 서비스에서 동시다발로 악성코드를 유포
5) 내부 드라이브-바이 다운로드 ( Internal Drive-by Download )
- 비인가자가 접근할 수 없는 웹 서버 내부에서 드라이브-바이 다운로드 공격이 발생
- 인가자만이 공격 대상이 되기 때문에 드라이브-바이 다운로드 수집 및 분석이 어려움
-> 특정 기업의 사내망 혹은 로그인 후 정보를 이용할 수 있는 웹 서비스에서 드라이브-바이 다운로드가 구현되어 악성코드를 유포 (레터털 무브먼트)
- 기술 응용
-> ARP 스푸핑을 이용한 드라이브-바이 다운로드(ARP Spoofing Based Drive-by Download)
-> 트래픽 분배 시스템(Traffice Distribution System)
-> 파일이 없는 드라이브-바이 다운로드(Fileless Drive-by Download)
-> 도메인 쉐도잉(Domain Shadowing)
1) ARP 스푸핑을 이용한 드라이브-바이 다운로드(ARP Spoofing Based Drive-by Download)
- 2007년 드라이브-바이 다운로드 용어가 만들어지기 앞서 ARP 스푸핑을 이용하여 악성코드를 유포한 보고서 존재
( www.krcert.or.kr > 자료실 > arp 검색 )
- 그 후 자주 ARP 스푸핑을 이용한 악성코드 유포 정황 발견 ( 특히 호스팅사 )
- ARP는 근거리 네트워크이기에 이미 악성코드에 감염된 후 공격하는 것이기에 Post Exploitation으로 분류 가능
2) 트래픽 분배 시스템(Traffice Distribution System)
- 트렌트 마이크로의 연구원이 연구한 내용
- 네트워크 트래픽의 정보를 토대로 사용자의 정보에 맞는 서비스로 트래픽을 분산시키는 목적에서 시작
- 서버 측 언어(PHP,JSP 등)를 이용한 드라이브-바이 다운로드 구조를 만드는 것을 통칭함
3) 파일이 없는 드라이브-바이 다운로드(Fileless Drive-by Download)
- 페이로드 탐지 회피 기술의 일종
- 악성코드를 다운로드받지 않고 메모리에 상주시키는 형태로 공격하는 기법
- 방어자 입장에서 악성코드 수집, 침해사고 대응, 증거 수사가 어렵고, 트래픽 내에 실행 파일 형태의 전송 구간이 존재하지 않아 탐지하기 어려움
- 공격자 입장에서 피해자 시스템이 재부팅과 같이 메모리를 초기화할 경우 피해자와 연결된 세션 종료
- Memory Drive-By Download로 불리기도 함
4) 도메인 쉐도잉(Domain Shadowing)
- 시스코 보안 연구원이 Angler Exploit Kit 캠페인을 분석하는 과정에서 발견
- 하위 도메인을 무작위로 생성하여 드라이브-바이 다운로드 공격에 사용
- 도메인 쉐도잉이라는 이름이 만들어지기 전부터 SaaS 모델의 공격 서비스에서 제공해 왔었으나 랜덤 도메인 생성 방식(DGA, Domain Generation Algorithm)에서 사전 방식으로 변경되어 사용
- Fast Flux DNS vs Domain Shadowing
D. 드라이브-바이 다운로드 참고자료
- 한국 인터넷진흥원 인터넷 보호나라 보고서
-> 반기별 - 악성코드 은닉사이트 탐지 동향 보고서 ( https://wwwkrcert.or.kr/data/reportList.do )
- 주 유포 악성코드 유형 -> 트로이목마 / 랜섬웨어 / 크립토 마이너 / RAT 악성코드
[보안] 08. 해킹 공격 방법론과 악성코드 - 사이버 킬체인 및 ATT&CK, TTPs 이해
[용어/개념] SNMP MIB와 OID의 관계 및 정의 - OID 분석 사이트 소개