DDoS 테스트 도구에는 어떤 것이 있을까요?
이런 DDoS 공격을 하기 위한 다양한 공격 툴이 최근 사용하기 쉽고 성능 높은 파이썬(Python) 같은 프로그래밍 언어가 많이 보급되면서, 옛날보다 더 적은 시간으로 더 효율적이고 다기능의 해킹도구를 개발할 수 있는 환경이 되었습니다. 더욱이 다양한 오픈소스들이 공유되고 개발되면서 깃허브(github) 같은 오픈소스 공유 사이트를 통해 손쉽게 다양한 공격도구를 다운로드하여 테스트할 수 있습니다.
아래 <그림 1>과 같이 ddos 검색한 결과를 보면 다양한 DDoS 테스트 도구, 공격 도구 혹은 방어 도구 등 다양한 오픈소스를 확인할 수 있습니다.
여기서 두 번째 OffensivePython/Saddam을 클릭해 보았습니다. 아래 <그림 2>와 같이 라이선스 정보, 설명서, 실행파일 소스코드 등을 확인할 수 있습니다. 이 프로그램은 사담이라는 이름의 DDoS 공격도구이며, 공격을 수행하는 방식은 서비스 반사 증폭 공격에 특화되어 있는 도구로 설명되어 있습니다. 주로 사용하는 프로토콜은 DNS, NTP, SNMP, SSDP 등을 이용하며, 기능이 간단한 초보적인 실행파일로 판단됩니다.
그 외에도 아래 <그림 3>과 같이 Memcrashed라는 프로토콜을 이용한 반사 증폭 공격을 할 수 있는 공격 도구도 확인할 수 있습니다. 이 프로토콜은 사용하는 서버가 많지는 안지만 증폭비가 51,200:1이라는 어마어마한 효율적인 공격이 가능합니다. 즉 이론적으로는 이 공격도구를 통해 1 Mbyte의 트래픽을 전달하면 해당 서버는 공격 대상으로 51.2 Gbps의 트래픽을 전송하는 효과가 있다고 할 수 있습니다. 이 실행파일은 위의 '사담'이라는 초보적인 도구에서 진화하여 반사 증폭 공격에 사용할 서버를 스스로 찾아서 공격을 자동화할 수 있는 기능이 추가된 것으로 설명되어 있습니다.
깃허브 같은 오픈소스 공유 사이트에서 이런 공격도구만 있는 것이 아니라 실제로는 공격 방어 도구가 더 많이 공유되어 있습니다. 아래 <그림 4>과 같이 최근 가볍고 고성능을 제공하는 대표적인 웹 데몬인 엔진엑스(NGINX)에 확장 방식으로 추가되어 DDoS 등 다양한 공격 시도에 대응할 수 있는 방어 도구 등을 제공하고 있습니다. 이런 프로그램은 상용으로 판매되는 프로그램에 비해서는 별도의 기술지원이 없거나 기능이 한정적이기는 하지만, 무료로 사용할 수 있는 장점이 있기 때문에 특정한 기능만 필요한 보안담당자의 경우 부분적으로 사용을 고려해 볼 수 있습니다.
그럼 다음 글에서는 DDoS 공격으로 판단되는 트래픽을 어떻게 최대한 정확하게 선별해서 효율적으로 차단할 수 있는지 설명하도록 하겠습니다.