2015. 11. 7. 15:53ㆍSecurity ★ 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 |