Slowloris 공격 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
[[분류:보안]]
[[분류:보안]][[분류:보안 공격]]
[[분류:보안 공격]]
; Slow HTTP Header DoS
 
;Slow HTTP Header DoS
 
일명 Slowloris 공격
일명 Slowloris 공격
* HTTP Header 정보를 비정상적으로 조작하여 웹서버가 온전한 Header정보가 올때 까지 기다리도록 한다.
* 서버가 연결 상태를 유지할 수 있는 가용자원은 한계가 있으므로 임계치를 넘어가면 다른 정상적인 접근을 거부하게 된다.


*HTTP Header 정보를 비정상적으로 조작하여 웹서버가 온전한 Header정보가 올때 까지 기다리도록 한다.
== 동작 ==
*서버가 연결 상태를 유지할 수 있는 가용자원은 한계가 있으므로 임계치를 넘어가면 다른 정상적인 접근을 거부하게 된다.
* HTTP에선 헤더의 끝을 /r/n 이라는 개행문자로 구분한다.
 
* 공격자는 이 마지막 개행문자를 보내지 않고 지속적으로 의미없는 변수를 추가한다.
==동작==
* 서버는 헤더 정보가 아직 전송 중이라고 인식하고 연결을 유지한다.
 
*HTTP에선 헤더의 끝을 /r/n/r/n 이라는 개행문자로 구분한다.
*공격자는 이 마지막 개행문자를 보내지 않고 지속적으로 의미없는 변수를 추가한다.
*서버는 헤더 정보가 아직 전송 중이라고 인식하고 연결을 유지한다.
 
==공격 분석==
[[파일:Slowloris 패킷.png]]<ref>[https://kb.mazebolt.com/knowledgebase/slowloris-attack/ 출처]</ref>


*한 클라이언트가 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에서 끝냈다는 것은 아직 전송할 헤더가 남았음을 의미한다.
* 공격자는 이렇게 연결을 유지하여 가용자원을 소진되게 만든다.


*Keep alive 패킷은 PSH ACK 플래그를 포함한다.
== 대응 ==
*Header와 Body를 구분하는 0d0a0d0a가 아닌, 0d0a에서 끝냈다는 것은 아직 전송할 헤더가 남았음을 의미한다.
* 공격자가 동시에 많은 세션을 유지하므로 방화벽 등을 통하여 세션 임계치 제한을 설정한다.
*공격자는 이렇게 연결을 유지하여 가용자원을 소진되게 만든다.
* 공격자가 헤더를 천천히 전달하며 연결 시간을 지속시키므로 연결 타임아웃 시간을 적절히 짧게 두어 의심되는 연결이 종료되도록 한다. 단, 너무 짧게 둘 경우 일부 느린 네트워크의 정상적인 연결에 대해서도 가용성을 해칠 수 있다.
 
==대응==
 
*공격자가 동시에 많은 세션을 유지하므로 방화벽 등을 통하여 세션 임계치 제한을 설정한다.
*공격자가 헤더를 천천히 전달하며 연결 시간을 지속시키므로 연결 타임아웃 시간을 적절히 짧게 두어 의심되는 연결이 종료되도록 한다. 단, 너무 짧게 둘 경우 일부 느린 네트워크의 정상적인 연결에 대해서도 가용성을 해칠 수 있다.
 
==같이 보기==


*[[Slow HTTP 공격]]
== 같이 보기 ==
*[[DoS]]
* [[Slow HTTP 공격]]
<references />
* [[DoS]]
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)