Malware analysis 1

2015. 11. 7. 15:53Security ★ Development/Malware

반응형

http://codeengn.com/challenges/malware/01


Problem : This file is a source code of a malware. What is the attack method of this malware 

ex ) ddos 
(Answer must be all in lowercase, with no spaces)

악성코드 분석 문제로 주어진 소스를 통해 무슨 공격인지 알아내야 합니다.


간단하게 주석을 달아봤습니다.

 이 공격은 출발지 ip, port를 속여서 많은 수의 패킷을 보내는 것으로 tcp 프로토콜을 사용한 SYN Flooding으로 볼 수 있습니다. 

 보통은 하나의 목적 포트를 설정하여 해당 포트로 서비스를 제공하고 있는 것의 방해를 하는데 쓰입니다.  

 답은 synflooding이 되겠습니다.


 예전에 네트워크와 관련된 프로젝트를 진행할 때 바로 이 TCP SYN Flooding에 대한 대비책을 구현했던게 떠오르네요.  목적 포트가 같다고 할 때 들어오는 패킷을 확인하면서 소스 IP가 같은 경우 SYN 패킷의 수가 일정이상 쌓이면 해당 소스IP를 차단하도록 했고 소스 IP가 다를 경우 이를 풀어줄 수 있는 RST패킷을 생성하도록 했습니다.  이 때 알맞은 ACK가 소스IP로부터 들어오면 카운트를 감소시키는 로직도 구현해줘야합니다.

 아래 동영상은 그 때 개발한 일부분으로 

1. SYN Flooding에 의해 SYN_RCVD가 쌓이는 장면.  

2. SYN Flooding 공격에 대해 해당 소스 IP를 차단한 장면.  (테스트 툴로 패킷을 보내도 SYN_RCVD가 생기지 않는 부분입니다.)

3. SYN 패킷에 대응하는 RST패킷을 보냄으로써 Flooding을 해소하는 장면.

으로 구성되어 있습니다.


'Security ★ Development > Malware' 카테고리의 다른 글

Malware analysis 6  (0) 2015.12.02
Malware analysis 5  (0) 2015.12.01
Malware analysis 4  (0) 2015.12.01
Malware analysis 3  (0) 2015.12.01
Malware analysis 2  (0) 2015.11.22