디도스 공격이 뭘까?

개발자 베니·2021년 10월 25일
1
post-custom-banner

오늘 카페에서 작업을 하려고 일찍 나왔는데 와이파이나 데이터를 이용한 인터넷 연결이 약 1시간 정도 안 됐습니다. 뭐가 문제인가 싶어서 당장 확인 할 수 있는 카페 와이파이가 어디 통신사랑 연결이 되있는지 확인해봤는데 카페 와이파이도 KT 그리고 제 개인 통신사도 KT였습니다.

아하! KT에 뭔가 문제가 생겼구나!

라는 생각에 기다려봤습니다. 1시간 정도 기다린 후에 다시 인터넷이 연결이 되어서 확인해본 결과 KT 인터넷 망이 누군가에 의해 디도스 공격을 당했다는 것을 알게됬습니다. 그런데 어느 회사나 홈페이지가 아니고 인터넷 망 자체를 디도스 공격한 경우가 있었나 싶기도 하고 일단 디도스가 뭔지 갑자기 궁금해져서 인터넷도 풀렸겠다 한번 정리를 해보겠습니다!

DDOS 공격이란 무엇입니까?

  • DoS(Denial of Service) 공격은 웹 사이트 또는 애플리케이션과 같은 대상 시스템의 가용성과 합법적인 최종 사용자에게 악영향을 미치려는 악의적인 시도입니다. 일반적으로 공격자는 대량의 패킷 또는 요청을 생성하여 궁극적으로 대상 시스템을 마비시킵니다. DDoS(Distributed Denial of Service) 공격에서는 공격자가 여러 개의 손상된 또는 제어된 소스를 사용하여 공격을 생성합니다.
  • 일반적으로 DDoS 공격은 공격 대상인 OSI(Open Systems Interconnection) 모델의 계층에 따라 분리될 수 있습니다. DDoS 공격은 네트워크(계층 3), 전송(계층 4), 표현(계층 6) 및 애플리케이션(계층 7) 계층에서 가장 많이 나타납니다.
    AWS 발췌

우선 DDOS의 대부분은 악의를 가진 공격자가 가지고 있는 좀비 PC로 일제히 하나의 서버를 향해 진입하는 것을 말합니다. 만약에 수용 인원이 5테이블 정도 되는 가게에 갑자기 이성을 잃은 손님 100명이 뛰어들어 간다고 하면 가게가 마비가 되는 것과 비슷하다고 보면 됩니다.

그나마 다행인 것은 서버에 과부화를 유도하는 공격이기 때문에 유저의 데이터를 훔쳐간다거나 개인 정보에 관한 보안 사고 발생은 드물다고 볼 수 있습니다. 그런데 만약에 자신의 PC가 공격자에 의해 감염된 좀비 PC라면 혹시 모르긴 합니다. 개인 정보를 훔쳐갈 수도 있고 드물게 도청이나 도촬을 당할 수도 있긴 합니다.

AWS에 공개된 내용을 자세히 들여다보니 인프라 계층 공격에 해당하는 계층 3,4의 공격이 아닐까 라는 생각이 듭니다! 이러한 공격은 네트워크나 애플리케이션 서버 용량의 과부화를 유발한다고 합니다.

이러한 공격에 있어서 서비스를 사용하는 유저의 입장에서는 딱히 방지할 방법은 없다고 보시면 됩니다. 굳이 찾자면 좀비 PC가 되지 않게끔 조심해야 하는데 수상한 메일은 바로 삭제하시거나 스팸 처리 해버리고, 공용 와이파이를 사용함에 있어서 조심해야 하고 https 보안 연결이 되있는 사이트를 이용하는 것 정도 할 수 있을 것 같습니다.

사실 이런 공격은 서버 측에서 관리를 할 수 밖에 없습니다.

공격 대상 영역 줄이기

공격을 완화하는 기법 중에 하나는 공격 받을 수 있는 영역을 최소화 해서 공격자의 공격 옵션을 제한하고 보호 기능을 구축하는 방법이 있는데, AWS사에서는 포트의 공격 지점으로 예상되지 않는 프로토콜이나 애플리케이션을 노출하지 않아서 공격자의 옵션을 제한할 수 있다고 하는데, 대충 해석해보면 여러 개의 통신 루트가 있는데 공개하지 않은 지점으로 정상적인 유저의 진입을 유도하고, 공격당한 지점은 보호 기능을 구축한다 그런 의미인 것 같습니다.

규모에 의한 대비

규모에 의한 대비는 공격자에 의한 충격을 완화할 수 있게 전송 용량과 서버 용량을 충분하게 구비해 놓는 것입니다. 전송 용량의 대비는 주로 애플리케이션의 영역이고, 이번 디도스 공격은 아마도 서버 용량에 의한 대비를 해야되는 경우 일 것입니다.

정상 및 비정상 트래픽 파악

호스트의 트래픽 증가를 감지할 때마다 가용성에 영향을 주지 않고 호스트가 처리할 수 있을 만큼의 트래픽만 수용하는 방법입니다. 이러한 개념을 속도 제한이라고 말하는데, 좀 더 고급 보호 기법으로는 개별 패킷 자체를 분석하여 정상적인 트래픽만 수용하는 것 입니다.

정교한 애플리케이션 공격에 대비하여 방화벽 배포

이 경우는 이번 디도스 공격과는 관련이 많지 않은 부분인데, 애플리케이션 자체의 취약성을 악용하려고 시도하는 SQL 주입 또는 사이트 간 요청 위조와 같은 공격에 대비하기 위해서 WAF(웹 애플리케이션 방화벽)을 사용하는 방법입니다. 스타트업이나 보안 설계가 잘 되어있지 않은 페이지에서 직접 SQL 명령어를 사용하는 악의적인 행동이나 CSRF 공격을 의미합니다.

결론

결국에 개인적으로는 할 수 있는 기본적인 보안 영역을 늘 체크해주시고 서버 관계자 분들은 마음이 아프지만 고생을 할 수 밖에 없을 것 같습니다. 아무튼 KT 관계자 분들을 응원하면서 글 마치겠습니다.

감사합니다!

profile
https://github.com/VVSOGI
post-custom-banner

0개의 댓글