본문 바로가기

My Study/Malware&Vulnerabilities

CodeEngn Malware Analysis Level1

바이러스를 제대로 분석해보고 싶은게 나의 목표이지만.. 아직은 실력이 안되는거 같다.. 많은 지식을 요구로 하기도 하고말이다. 일단은 CodeEngn에 있는 문제나 풀어보면서 감이나 길러볼 생각입니다.

이번 단계는 소스코드만 있고 해당 소스코드로 부터 어떠한 공격기법인지를 알아맞추는 문제입니다.

뭐 소스코드를 보면 IPheader의 내용을 채워서 해당 서버로 보내게 됩니다.
그것도 While문으로 계속해서 돌리고 있는 걸로 봐서 처음에는 DDOS로 생각해봤지만 아니었습니다.
보통 DDOS소스코드를 보면 스레드를 만들어서 보내는 코드입니다. 
그래서 아닌거 같고.. 보통 이렇게 계속적으로 데이터를 보내는 경우는 제가 아는 지식으로 2가지 입니다.
DDOSSYN FLOODING..
아마 DDOS는 어떠한 공격 기법인지 다들 아실 것입니다. 한 때 논란이 되기도 했죠.
SYN FLOODING이 어떠한 공격 기법인지 잠시 설명을 해보겠습니다.
구글에 설명하기 좋은 사진이 있어서 퍼왔습니다.

처음에 접속요청하는 SYN을 서버로 보냅니다.
서버는 SYN과 함께 잘 받았다는 ACK를 보냅니다.
그러면 사용자는 ACK를 보내야 되는데 보내버리지 않습니다.
이 때 서버는 ACK를 받을려고 문을 조금 열어두는데 ACK가 오질 않으니까 
열어놓고 기다리고만 있습니다. 이 때 공격자는 SYN을 마구마구 보내버립니다.
그러면 서버는 SYN이 가득차게 되겠죠. 마비가 되는 것입니다.
비록 서버에도 일정 시간이 지나면 초기화를 시킵니다. 하지만 초기화 시키는 속도보다
더욱 빠르게 SYN을 보내버리는 것입니다.
바로 이 공격 기법이 SYN FLOODING공격 기법입니다.

위 소스코드를 보면 출발지 포트와 IP를 계속 바꿔서 보내고 있는 것을 볼 수 있습니다.

'My Study > Malware&Vulnerabilities' 카테고리의 다른 글

CodeEngn Malware Analysis Level5  (0) 2010.05.04
CodeEngn Malware Analysis Level4  (0) 2010.04.28
CodeEngn Malware Analysis Level3  (0) 2010.04.27
CodeEngn Malware Analysis Level2  (0) 2010.04.27
745.exe 바이러스 분석  (2) 2010.04.10