메뉴 닫기

HTTP Get Flooding 소개

이미지 링크용(출처 포함)

안녕하세요. 오늘은 Http Get Flooding에 대해 소개하고 대비하는 방법에 대해 소개합니다.
해당 글을 소개하기전에 ‘GET’요청에 대하여 소개합니다.

※ Get이란? 
Hypertext Transfer Protocol(HTTP)에서 사용하는 메서드중 하나입니다.
주로 웹브라우저가 웹서버로 웹페이지, 이미지, 동영상 등의 리소스를 요청할때 주로 사용합니다.
URL를 통해 요청할 리소스의 경로를 전달하고, 서버는 해당 리소스를 찾아 응답으로 반환합니다.

HTTP Get Flooding 공격방식


Http Get Flooding은 정상적인 TCP연결 이후에 정상적으로 보이는
HTTP Transcation(변환)과정을 수행하는 방식으로, ‘DOS’또는 ‘DDOS’공격 방법의 일종으로 이해하면 좋습니다.
HTTP Get Flooding은 아주 간단한 공격방법입니다.  
공격자는 대상 웹서버로 HTTP Get Request  계속 요청하여 시스템 부하를 유발합니다.

공격자가 의도적으로 get /list.php?id=10를 Web Server로 지속적으로 보낸다고
상황을 가정할 경우 웹서버는 해당 경로를 받아 처리하게됩니다.

이 경우 ‘list.php’라는 파일이나 경로에 대한 처리를 수행하여
‘id’라는 매개변수 값 10을 전달하여 데이터를 DB서버에 요청합니다.

이 과정중 웹서버와 DB서버는 서로 처리를 주고받는 과정이 반복되며,
시스템 자체 부하나 응답지연을 고의적으로 발생시킵니다.

Slow HTTP Get Flooding 차이 

Slow HTTP Get Flooding은 서버자원을 고갈시키기보단 서버의 처리 속도를 저하시키는것을 목표로합니다. 
공격자는 속도가 느린 HTTP GET 요청을 보냄으로 웹서버에 더 많은 부하를 유발합니다. 

HTTP Get Floodig 대응방법


이러한 공격에도 대응방법은 존재합니다.

● 선별적 IP 차단
ㄴ TCP 연결 요청 임계치 값과 HTTP Get 임계치 값을 모니터링하여 비정상적인 트래픽을 체크하여 차단합니다.
※ 연결기반 공격으로 IP를 변조할 수 없습니다. 

● 컨텐츠 요청횟수에 의한 임계치 설정
ㄴ 특정 컨텐츠를 다량으로 요청하는것으로 IP마다 콘텐츠 요청 횟수를 설정합니다. 

● URL 접속 임계치 설정 
ㄴ 시간대별 임계치를 설정하여 임의의 시간 내 설정한 이상의 요청이 들어올 경우 해당 IP를 탐지하여 방화벽 차단목록에 추가합니다. 

● Web Scraping 기법을 이용한 차단
ㄴ L7 스위치를 운영하는 경우 Web Scraping 기능을 이용하여 요청 패킷에 대한 쿠키값나 JAVA Script를 보내
    클라이언트로부터 원하는 값에 재요청이 없는경우 차단합니다. 

※Web Scraping 이란?
웹 사이트에서 정보를 추출하는 자동화된 데이터 수집 기술입니다.

웹 스크랩핑은 웹 페이지의 HTML 구조를 분석하고 필요한 데이터를 추출하는 과정을 의미합니다.
이를 통해 웹 사이트의 텍스트, 이미지, 링크, 테이블 등 다양한 종류의 데이터를 수집할 수 있습니다.

 

Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
UNCLEBULGOM
1 year ago

get flooding 공격에 대한 가장 손쉬운 방법은 apache 나 nginx 에서 mod ddos 류의 카운팅 방어를 설정하면 됨

1
0
Would love your thoughts, please comment.x
()
x