[컴] 구글이 2023년 8월에 받은 DDoS 공격

트래픽 / 대용량 /대규모 / 네트워크 traffic / 디도스

구글이 2023년 8월에 받은 DDoS 공격

  • 23년 8월 DDoS 공격, 작년 최대치보다 7.5배 더 큰 크기
  • peak 에서 3억9800만rps(request per second, 초당 request)
  • HTTP/2 “Rapid Reset” 기술 이용한 공격
  • 작년의 최대 기록은 peak 에서 4600만 rps 였다.
  • 2분간 보내진 공격request 가 위키피디아의 2023년 9월의 총 페이지 뷰보다 많다.
  • HTTP/2 protocol 를 지원하는 서버라면, CVE-2023-44487 관련 patch 를 적용하자.

from ref.3:

  • 대략 2만대기기로 수행
  • 이런 DDoS attack 은 누가 일으키는가?(from: https://news.ycombinator.com/item?id=37833074)
    • 정부 행동자들(government actors)
    • 때론, 동유럽의 scammer(나쁜일 하는사람)
      • 이런 큰 공격을 통해 botting community에서 street cred(길거리 신용) 를 얻기 위해 한다.
      • 이 신용을 가지고, rival 을 공격하려는 주체에게 돈 받고 이런 일을 해준다.
      • 이런 주체는 정부, 수상한 회사들(예를들어, 2022년에는 암호화폐회사들이 라이벌을 공격해달라는 요청을 많이 했다.)
      • 이런 일을 하는 사람들의 대다수는 기술은 있지만, 자신이 사는 환경이 돈을 벌 수 있는 환경이 안되는 경우가 많다.

공격

http2 는 end user 가 다른 곳으로 가거나, data 교환을 멈추게 할 수 있는데, 그래서 stream 을 cancel 할 수 있는 방법을 제공한다.

그래서 공격자는 connection 을 열고, 여기서 stream 을 시작하고 바로 stop 을 시키는 것을 반복한다.(RST_STREAM) 그래서 connection 하나에서 사용가능한 stream 한계치를 넘어서서 stream 을 보내게 된다. 이것이 서버가 서비스를 못하게 만든다(denial of service)

대략 2천대의 시스템으로 구성된 bot net 이 관련되어 있다. 이렇게 작은 botnet 크기로도 큰 볼륨의 request 를 만들 수 있다는 것이 이 취약점이 보호되지 않은 네트워크에 얼마나 위협적인지 알려준다.

만약 http2를 이용해서 https://daum.net 으로 GET request 를 보내면, 이때는 stream ID 1 를 통해 교환된다. 이때 client 가 1개의 HEADERS 1 frame 을 서버로 보내면, 서버는 1개의 HEADERS frame 붙여서 1개이상의 DATA Frame 을 붙여서 보낸다. 그리고 client 가 다른 request를 서버로 보내면, 그것은 HEADERS 3 이 되고, 서버는 이것에 대한 응답을 DATA stream 1 뒤에 붙여서 보낸다. 이것이 스트림의 multiplexing이고, concurrenct 이다.

이것이 http2의 강력한 기능인데, 이로인해 client 가 동시에 많은 request를 보낼 수 있게 되는데, 그러면 peak 시점의 server resource 가 더 많이 필요하게 된다.

etc

See Also

  1. 쿠…sal: [컴][사례] 네크워크 부하가 큰 경우 네트워크 대역폭 사용량
  2. 쿠...sal: [컴][네트워크] DDos(distributed denial of service) 공격

Reference

  1. Google Cloud mitigated largest DDoS attack, peaking above 398 million rps | Google Cloud Blog
  2. HTTP/2 신속한 재설정 취약점으로 인해 역대 규모의 DDoS 발생 | GeekNews
  3. The largest DDoS attack to date, peaking above 398M rps | Hacker News
  4. https://github.com/caddyserver/caddy/issues/5877

댓글 없음:

댓글 쓰기