mini-prog-normal

slowris ddos 고도화?

파이s 2009. 11. 23. 10:59

7.7 DDoS 공격이 끝난지 약 4개월이 지났지만 아직까지 이에 대한 이슈가 꾸준히 제기되고 있는것 같음.

여러 전문가분들께서 공격자 입장과 방어자 입장에서 이를 두고 여러가지 해석과 설명을 내놓는 것으로 보이며, 그러면서 DDoS에 대한 궁극적 해결방안 또는 최대한의 방어책들이 쏟아져 나오고 있는것 같음...정책적이든 기술적이든 모든지 간에...

그런데...

아시는 지인분의 말씀을 빌자면 웹서버에서 설정된 세션수을 모두 채우고,

이를 지속시키는 공격이 발생 한다면 이를 방어할 장비나 방어책이 없을거라함.

(이것을  slow attack DDoS(slowris) 라고 부르며, 어느 ISP업체에서도 이에 대한 방어책은 거의 없고 ISP와 해당 사이트와 공조를 해서 막아야 한다는데, 무엇을 어떻게 공조해야 하는지에 대한 방법은 얘기는 안함;;)


오래된 애기이긴한데,

방어자 입장에서 정상사용자와 비정상사용자를 구분하기 매우 어려움

그런데... Slowris DDoS의 중요한 가정사항이 있는데, 

그것은 다수의 좀비PC가 동원되어야 한다는 것이죠. 

(지금 DDoS 라는 장비가 이런것 까지 대응을 하는지는 잘 모르겠습니다만...)


평가목적이니...실상과 같이 많은 수의 PC를 동원할 순 없고...

적은 PC만으로 Slowris DDoS 공격을 재현해볼 수 없을까 해서 몇가지 내용을 테스트해봄

테스트 대상은 apache 1.3.x / apache 2.2.x 대상입니다.


1) apache 1.3.x

GET / HTTP/1.0
...(생략)...
\r\n\r\n 

이런식으로 한 ip에서 지속적으로 연결을 요청하면 기본옵션의 경우 약 280 여개 정도의 세션이 차면 웹서버 연결요청이 거부 


2) apache 2.2.x

GET / HTTP/1.0
...(생략)...
\r\n\r\n 

이런식으로 한 ip에서 지속적으로 연결을 요청하면 ESTABLISHED 된 놈이 몇녀석 안됨.

그런데 다음과 같이 패킷을 전송하면 일부 효과가 있음 

GET / HTTP/1.0
...(생략)... 

아마도 웹서버에서 종료구분자를 기다리나 봄.

apache 2.2.x 의 경우 maxclient 수도 많이 증가시켜놨는데(2048) 그럼에도 불구하고 풀이 금방 참

그런데 문제는 하나의 ip 에서 지속적으로 같은 내용으로 공격을 하다보니...ddos 장비에서 이를 금방 알아챌 수 있을거라 생각.

slowris attack은 다수의 좀비PC가 패킷을 전송하는것 처럼 해야 하는데...

rawpacket 이면 쉬울텐데 이거는 모 금방 알아채릴테고...

방법을 살짝 고민하다...

일정 범위의 정해진 네트워크 ip 대역을 설정해 놓고 ip를 계속 변경하면서 공격을 하면 다수의 pc가 공격을 한것처럼 보이지 않을까 해서 한번 작성해봄

초당 얼마를 보낼것이냐...등등에 따라 상황이 다르긴 한데..
2개의 pc 에서 0.2초 주기로 데이터를 보낼 경우 10 ~ 15 여분 정도되면 세션이 풀!!!


위 공격은 현재 apache 에서만 테스트 해봤고, 다른 서버에서도 허용되는지는 잘 모르겠지만...위 공격의 치명적인 단점?은 웹서버에서 기본 timeout (120)을 5초 정도로 낮춰버리면 해당 공격은 사실상 무용지물(홍석범 아저씨가 낮춰써도 문제 없데요..)

서비스 가용성 측면에서 timeout을 많이 낮춰도 상관없는지...그건 잘 모르겠지만...(듣기로는 큰 사이트의 경우 timeout 시간을 늘리면 늘렸지 줄일수 없다는....)

시간이 되면 다음버전에서는 mac 정보도 다 바꿔서...ㅋㅋ

'mini-prog-normal' 카테고리의 다른 글

DOM capture  (0) 2010.02.05
apache, iis ddos 테스트 방법  (0) 2010.01.07
ip /port alive checker  (0) 2009.08.24
7.7 DDoS 악성코드 업데이트 서버 목록 추출  (0) 2009.08.21
proxy setting tools - [無]  (0) 2009.05.12