KOROMOON

착한 사마리아인이 되고 싶습니다.

4/16/2019

HTML5 언어 a 태그의 ping 속성을 이용한 대규모 DDoS 공격


( 1 ) 공격 정보


< HTML5 언어 a 태그의 ping 속성을 이용한 대규모 DDoS 공격 정보 >

HTML5 언어 <a> 태그의 ping 속성을 이용한 DDoS 공격에 대해서 2019년 04월 11일 Imperva 보안 업체의 연구원 Vitaly Simonovich 와 Dima Bekerman 에 의해서 공개됨.
최근 아시아 지역 사용자들로부터 발생하였으며 4시간 만에 약 7천만건이 웹사이트에 요청한 것으로 조사됨.
공격에 참여한 거의 모든 사용자는 중국의 IT 대기업 텐센트에서 개발하고 거의 중국인이 사용하는 QQBrowser 의 모바일 사용자임.



( 2 ) 공격 분석


< ping 속성을 이용한 링크가 포함된 간단한 HTML 페이지 >


< HTTP Body 에 PING 문자열이 포함된 POST 요청 >

HTML5 언어 <a> 태그의 Ping 속성은 합법적으로 웹 사이트 링크의 클릭 수를 추적하는 데 사용되며 방문자 수를 모니터링하거나 감사할 수 있음.


< DDoS 공격에 의해 생성된 공격 로그 > 

공격에 사용된 로그를 보면 모든 악의적인 요청에 "Ping-From" 과 "Ping-To" 라는 HTTP 헤더 필드가 있으며 “hxxp://booc.gz.bcebos.com/you.html” URL 을 참조함


< hxxp://booc.gz.bcebos.com/you.html 소스 코드 >

이 URL 에는 두개의 외부 JavaScript 파일인 "ou.js" 와 "yo.js" 가 포함된 매우 간단한 HTML 페이지임.


< ou.js 소스 코드 >
< yo.js 소스 코드 >

"ou.js" 파일은 DDoS 공격의 대상인 URL 을 포함하는 JavaScript 배열을 가지고 있음.
"yo.js" 파일은 배열에서 대상을 무작위로 선택하고 대상 URL 을 가리키는 <a> 태그의 Ping 속성을 만듬.
그래서 매초마다 <a> 태그가 생성되고 프로그래밍 방식으로 클릭되며 Ping 요청을 대상 웹사이트로 전송됨.
사용자가 페이지에 머물러 있는 한 Ping 요청을 계속 생성됨.


< 공격 시나리오 >

Ping 요청의 User-Agent 필드 정보는 중국 채탱앱인 WeChat 과 연결되어 있는 것으로 나타내며 WeChat 은 기본 모바일 브라우저를 사용하여 메시지 링크를 열게 됨.
또한, QQBrower 는 많의 사용자가 중국 스마트폰의 기본 브라우저로 선택함.
이를 토대로 공격 가능한 시나리오는 사회공학 기법을 활용한 악성광고 브라우저 클릭으로 추정되며 다음과 같음.

1. 공격자는 특정 웹사이트에 악의적인 광고를 주입함.
2. 정상적인 WeChat 그룹 채팅에 iframe 태그를 이용한 악성 광고가 포함된 합법적인 웹사이트 링크가 게시됨.
3. 합법적인 사용자는 악의적인 광고로 웹 사이트를 방문함.
4. JavaScript 코드가 실행되어 Ping 속성이 있는 링크가 생성됨.
5. HTTP Ping 요청이 생성되어 합법적인 사용자의 브라우저에서 대상 도메인으로 전송됨.



( 3 ) 공격 방어

BleepingComputer 사이트 기사에 따르면 최신 다수 브라우저 제품에서는 Ping 요청과 관련된 하이퍼링크 감사 기능이 제거되어 있어 HTML5 언어 <a> 태그의 ping 속성을 이용한 대규모 DDoS 공격에 악용될 수 있음.
관련 기사 링크 : 
https://www.bleepingcomputer.com/news/software/major-browsers-to-prevent-disabling-of-click-tracking-privacy-risk/

보안장비 IPS, WAF 에서 웹 서비스에 Ping 요청이 필요하지 않는다면 HTTP 헤더 필드 "Ping-From" 과 "Ping-To" 가 포함된 웹 요청을 차단해야 함.
아래 Snort 룰을 참고 바람.

alert tcp any any -> any any (msg:"KOROMOON_Ping_Attribute_DDoS_Request"; content:"POST "; content:" HTTP/1"; content:"Ping-From|3a|"; nocase; content:"Ping-To|3a|"; nocase;)



참고 사이트 : 
https://www.imperva.com/blog/the-ping-is-the-thing-popular-html5-feature-used-to-trick-chinese-mobile-users-into-joining-latest-ddos-attack/
https://securityaffairs.co/wordpress/83890/hacking/ddos-html-hyperlink-audit-ping.html
http://www.securityweek.com/large-scale-ddos-attack-abuses-htmls-hyperlink-audit-ping-facility



============================================================
본 게시물은 KOROMOON 님께서 작성하였으며 CCL (Creative Commons License) 에서 "저작자표시-비영리-동일조건변경허락" 이용조건으로 자료를 이용하셔야 합니다.

댓글 없음:

댓글 쓰기