HTTP CC ATTACK
일반적으로 HTTP의 해더옵션중 Cache-Control 을 이용하여, 웹트랜잭션의 효율성을 위해서 해당 옵션을 사용 한다.예를 들어 ssl 통신시 cache 되지 않게 하는등
여러가지로 사용 되지만, 악용 되어 cache 되지 않게 옵션을 설정 되어 http get flooding 보다 더 많은 부하를 발생 시킨다.
HTTP CC ATTACK 은 한국이나 중국 에서 많이 사용 되는 용어로 정확한 명칭은 아님.
Cache-Control 중 가장 많이 공격에 사용되는 지시자 옵션은 no-store,must-revalidate 옵션으로 오는 형태가 가장 대표적이다.
no-store 는 해당 reponse 데이터를 저장 하지 않으며, ,must-revalidate는 캐시에 대한 재검증을 요청하게 된다.
해당 두 지시자로 인하여 클라이언트가 서버에 접근시 cache 되지 않고 많은 부하를 발생 하게 된다.
실제 발생된 패킷을 확인 하기 위해서 wireshark 를 이용 필티링 하여 must-revalidate,no-store 가 지시자로 있는지 확인 한다.
http contains "no-store" && http contains "must-revalidate"
아래와 같이 실제 공격 발생시 no-store,must-revalidate지시자를 확인 할 수 있다. 모두 client 요청에 의하여 서버가 200 ok 으로 정상적으로 응답을 해주는데
해당 지시자로 인하여 client 가 재 요청시 cache 없이 진행 하기 때문에 많은 부하를 발생 한다.
이상황에서 만약 linux 기반 netfilter 를 사용(iptables 등) 을 사용 할 수 있다면 해당 string 을 필터링 하여 이상있는 요청을 drop 할 수 있다.
-A INPUT -p tcp -m string --string "no-store" --algo kmp --to 65535 -j DROP -A INPUT -p tcp --m string --string "must-revalidate" --algo kmp --to 65535 -j DROP -A INPUT -p tcp -m string --hex-string "|6e6f2d73746f7265|" --algo kmp --to 65535 -j DROP -A INPUT -p tcp -m string --hex-string "|6d7573742d726576616c6964617465|" --algo kmp --to 65535 -j DROP
참고 사이트 :http://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?seq=16316
반응형
'Security' 카테고리의 다른 글
Gpg4win (pgp) 를 이용한 email 암호화 (1) | 2016.05.29 |
---|---|
OPENSSL 을 이용한 평문 암호화 복호화 (0) | 2016.05.29 |
Cain and Abel (0) | 2015.05.27 |
arpspoof 과 해결책 (0) | 2015.05.27 |