상세 컨텐츠

본문 제목

fast-flux 기술을 이용한 악성 URL 은닉 방법

국내외 보안동향

by 알약(Alyac) 2017. 8. 9. 09:59

본문

2006년, 복잡한 프록시 서버를 이용하여 악성 트래픽을 은닉하는 fast-flux 기술이 등장하였습니다. 이 기술은 원래 수천만대의 PC를 감염시킨 공격자가, 악성 트래픽을 감염자들에게 분산시키는데 악용되고 있습니다. 



동작원리




일반적으로 호스트들은 만약 정상적인 도메인(예를들어 www.innocentsite.com에 request 패킷을 전송하면, 당연히 innocentsite서버에서 reply 패킷이 올 것이라고 예상합니다. 


fast-flux는 특정 도메인에 대량의 IP주소를 제공하는 것을 가능하도록 합니다. TTL의 크기는 3~5정도이며, IP주소들은 라운드로빈 방식으로 빠르고 주기적으로 바뀌게 됩니다. 


라운드 로빈 DNS는 일종의 네트워크 부하 분산 및 네트워크 밸런싱에 사용되는 기술입니다. 이 기술은 각기 다른 사용자가 동일한 도메인에 접속하도록 허용하며, 각기 다른 서버에서 전달되는 reply를 받을 수 있도록 허용합니다. 


예를들면, 사용자 1이 Google에 request를 전송하게되면, google-server1에서 reply 를 받게 되지만, 사용자 2가 동일하게 Google에 접속한다면 google-server2에서 reply를 받게 되는 것입니다. 매 호스트는 reply 패킷을 발송한다면, 해당 호스트의 ip는 리스트의 가장 하단으로 이동하기 때문에, 리스트 상단에는 항상 항상 부하가 제일 적은 호스트가 위치하게 됩니다. 


fast-flux 네트워크로 돌아가보면, 호스트들은 모두 감염된 PC이며, 악성 서버에 프록시 네트워크를 제공해 주기 위하여 봇넷을 생성합니다. 


위에 이미지를 보면, "mothership"서버는 감염 호스트들에게서 받은 request에 대한 reply를 담당하고 있는 것입니다. 


fast-flux는 single-flux와 double-flux로 구분할 수 있습니다. 



Single-flux 네트워크


감염 호스트는 www.innocentsite.com에 request를 발송합니다. 하지만 해당 호스트의 트래픽은 봇넷으로 리다이렉션 되며, mothership에게 전송됩니다. 이 봇넷의 대부분은 감염된 개인 host로 구성되어 있습니다. 


리다이렉션 작업은 flux-agent 호스트에 의해 실현됩니다. flux-agent의 DNS는 매 3분에서 10분에 한번씩 갱신되기 때문에, 하나의 리다이렉션 호스트가 죽는다해도 빠른 시간내에 다른 노드로 전환이 가능한 것입니다. fast-flux 네트워크는 DNS와 HTTP 프로토콜을 이용한 서비스를 제공할 수 있을 뿐만 아니라, IMAP, SMTP 및 POP 프로토콜도 사용이 가능합니다. 



Double-flux 네트워크


Double-flux 는 fast-flux의 더 복잡한 버전입니다. 왜냐하면 DNS의 A레코드와 NS레코드가 라운드 로빈 방식으로 변경되기 때문입니다.


어떤 권위있는 서버가 특정 DNS 영역을 처리하도록 DNS NS record를 설정하는 동안, DNS A 레코드는 32bit의 IPv4를 해당 ip에 연결되어 있는 호스트한테 반환합니다. 이는 즉 doubleflux 기술을 이용하여 공격할 때, 호스트의 ip주소 변환은 단일의 DNS 명칭의 일부가 아닌, 전체 DNS 영역임을 뜻합니다.  


이렇기 때문에, Double-flux 공격의 근원지를 찾기가 매우 힘듭니다. 기존에는 IRC 서버를 기반으로 봇넷을 운영했지만, IRC 컨트롤 서버만 발견하면 전체의 악성코드를 삭제할 수 있었습니다. 하지만 fast-flux 기술로 봇넷을 구성한다면,수천~수만대의, 전 세계 각지에 위치해 있는 봇들을 무력화 시키는 방법 밖에 없습니다.




출처 :

https://www.deepdotweb.com/2017/08/03/hackers-hide-malicious-sites/



관련글 더보기

댓글 영역