Security

[Security] 서비스 거부 공격(DoS : Denial of Service)_3

구루싸 2020. 2. 16. 16:30
반응형
SMALL

지난 포스팅에 이어 서비스 거부 공격(DoS:Denial of Service) 중

HTTP Get(POST) Flooding에 대해 알아보겠습니다

HTTP Get(POST) Flooding은 정상적인 TCP 연결 이후에

정상적으로 보이는 HTTP Transaction 과정을 수행하는 방식인데

HTTP Get(POST)을 지속적으로 요청하여서 HTTP 연결 및 HTTP 처리 로직까지 과부하를 유발하는데

TCP의 3-Way Handshaking 이후 공격을 수행하기 때문에 IP 변조를 하지 않습니다

아래의 표는 HTTP Get(POST) Flooding 대응 방법을 정리한 것입니다

대응 방법 내용
선별적 IP 차단 TCP 연결요청 임계치 값과 HTTP Get의 임계치 값을 모니터링한 후 비정상적인 트래픽 차단
콘텐츠 요청횟수에 의한 임계치 설정 특정 콘텐츠를 다량으로 요청하는 것이므로 IP마다 콘텐츠 요청 횟수의 임계치를 설정
시간대별 웹 페이지 URL 접속 임계치 설정 차단 시간대별 임계치를 설정하여 임의의 시간 안에 설정한 임계치 이상의 요청이 들어온 경우 해당 IP를 탐지하여 방화벽 차단 목록에 등록
Web Scraping 기법을 이용한 차단 L7 스위치를 운영하는 경우 웹 스크래핑 기능을 사용하여 요청 패킷에 대한 쿠키 값이나 자바 스크립트를 보내어 클라이언트로부터 원하는 값에 재요청 패킷이 없는 경우 해당 패킷을 차단

다음으로 Cache Control Attack에 대해 알아보겠습니다

자주 변경되는 데이터에 대해서 새롭게 HTTP 요청과 응답을 요구하는

HTTP RFC 2616에 규정되어 있는 Cache-Control Header 옵션 값을 사용하는데

Cache-Control을 no-cache로 설정하고 웹 서버를 호출하면

항상 최신 페이지를 전송해 주어야 하기 때문에 cache 설정을 했을 때보다 부하가 늘게됩니다

이 공격에 대응하는 방법은 앞에서 설명한 HTTP Get Flooding과 마찬가지로

임계치 기반 대응을 실시하는 것인데 no-cache 설정일 때 문제가 되는 것이므로

Cache-Control 사용여부에 따른 임계치 설정을 하는 것이 더 효과적이겠죠-_- 

그럼 이만-_-

반응형
LIST