Slowloris 공격 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
[[분류:보안]] | [[분류:보안]][[분류:보안 공격]] | ||
[[분류:보안 공격]] | ; Slow HTTP Header DoS | ||
;Slow HTTP Header DoS | |||
일명 Slowloris 공격 | 일명 Slowloris 공격 | ||
* HTTP Header 정보를 비정상적으로 조작하여 웹서버가 온전한 Header정보가 올때 까지 기다리도록 한다. | |||
* 서버가 연결 상태를 유지할 수 있는 가용자원은 한계가 있으므로 임계치를 넘어가면 다른 정상적인 접근을 거부하게 된다. | |||
== 동작 == | |||
* HTTP에선 헤더의 끝을 /r/n 이라는 개행문자로 구분한다. | |||
* 공격자는 이 마지막 개행문자를 보내지 않고 지속적으로 의미없는 변수를 추가한다. | |||
==동작== | * 서버는 헤더 정보가 아직 전송 중이라고 인식하고 연결을 유지한다. | ||
*HTTP에선 헤더의 끝을 | |||
*공격자는 이 마지막 개행문자를 보내지 않고 지속적으로 의미없는 변수를 추가한다. | |||
*서버는 헤더 정보가 아직 전송 중이라고 인식하고 연결을 유지한다. | |||
*한 클라이언트가 3-Ways-Handshaking을 통해 정상적으로 TCP 연결을 수립하고 나서 Keep Alive Signal을 보내어 연결을 유지하는 행위를 반복하고 있음을 알 수 있다. | == 공격 분석 == | ||
[[파일:Slowloris 패킷.png]] | |||
* 한 클라이언트가 3-Ways-Handshaking을 통해 정상적으로 TCP 연결을 수립하고 나서 Keep Alive Signal을 보내어 연결을 유지하는 행위를 반복하고 있음을 알 수 있다. | |||
[[파일:Slowloris 패킷 분석.png]] | [[파일:Slowloris 패킷 분석.png]] | ||
* Keep alive 패킷은 PSH ACK 플래그를 포함한다. | |||
* Header와 Body를 구분하는 0d0a0d0a가 아닌, 0d0a에서 끝냈다는 것은 아직 전송할 헤더가 남았음을 의미한다. | |||
* 공격자는 이렇게 연결을 유지하여 가용자원을 소진되게 만든다. | |||
== 대응 == | |||
* 공격자가 동시에 많은 세션을 유지하므로 방화벽 등을 통하여 세션 임계치 제한을 설정한다. | |||
* 공격자가 헤더를 천천히 전달하며 연결 시간을 지속시키므로 연결 타임아웃 시간을 적절히 짧게 두어 의심되는 연결이 종료되도록 한다. 단, 너무 짧게 둘 경우 일부 느린 네트워크의 정상적인 연결에 대해서도 가용성을 해칠 수 있다. | |||
==대응== | |||
*공격자가 동시에 많은 세션을 유지하므로 방화벽 등을 통하여 세션 임계치 제한을 설정한다. | |||
*공격자가 헤더를 천천히 전달하며 연결 시간을 지속시키므로 연결 타임아웃 시간을 적절히 짧게 두어 의심되는 연결이 종료되도록 한다. 단, 너무 짧게 둘 경우 일부 느린 네트워크의 정상적인 연결에 대해서도 가용성을 해칠 수 있다. | |||
*[[Slow HTTP 공격]] | == 같이 보기 == | ||
*[[DoS]] | * [[Slow HTTP 공격]] | ||
* [[DoS]] |