서비스 거부 공격

(디도스에서 넘어옴)

서비스 거부 공격(Denial of Service attack;DoS attack)은 시스템에 과부하를 걸어 정상적인 서비스가 불가능하도록 하는 해킹 기법 중 하나다. 일반적인 해킹 공격은 시그니처 기반 필터로 쉽게 걸러지지만, 서비스 거부 공격은 정상적인 통신과 구별하기 어렵기 때문에 현대 정보사회에서 가장 취약한 공격방법이다.

종류[편집 | 원본 편집]

  • 단독공격
    패킷을 변조하여 LAND 공격, Tear Drop, Ping on death 등을 유도해 시스템이 과부하에 걸리게 하거나, 각종 Flooding 기법이나 의도된 연결 지연을 동원하여 작업 대기열을 가득 채우거나 자원을 소모시켜 정상적인 서비스 접근이 불가능하게 틀어막는 기법을 통틀어 DoS라고 한다. 대부분은 시스템의 취약점을 기반으로 하기 때문에 보안 패치로 어느 정도 막을 수 있다.
  • 분산 서비스 거부 공격(Distributed DoS;DDoS)
    좀비 PC 등을 동원하여 위에서 말했던 단독공격을 여러 곳에서 동시에 퍼붓는 것을 말한다. 대규모 공격에서는 그저 정상적인 연결만 해도 막대한 패킷의 파도가 되어 네트워크를 휩쓸게 되고, 서버는 버티더라도 네트워크 자원이 고갈되어 서비스가 막힌다. 분산 서비스 거부 공격을 사전 예방하기는 어렵고, 공격 지령 자체를 ISP단에서 잡아내어 소멸시키는 싱크홀 기법이나 전문 방어 장비를 전면에 내세우는 우회방어 등을 사용한다.
  • 분산 반사식 서비스 거부 공격(Distributed Reflect DoS;DRDoS)
    DDoS와 비슷하지만, 좀비 PC 대신 내부망의 정상적인 시스템들을 역이용한다는 것이 다른 점이다. 공격자가 내부 네트워크에 정상 패킷으로 위장한 공격지령 패킷을 유입시키면, 내부망 시스템들이 표적을 향해 패킷을 퍼붓게 된다. 악용되는 기술들 자체는 원래 정상적인 서비스들이기 때문에 방화벽에서 패킷을 잘 걸러내는 수밖에 없다. 대표적으로 ping 되돌리기 공격을 하는 스머프 기법이 있다.

방어[편집 | 원본 편집]

서비스 거부 공격은 그때 그때의 방어보다는 예방이 더 중요한 공격이다. 단독 공격은 대부분 임계치 설정이나 패킷 필터링으로 걸러낼 수 있다.

문제는 분산 서비스 거부 공격인데, 단순히 호스트 자원 소모에 국한하지 않고 대량의 패킷으로 네트워크 대역폭 자체를 고갈시키기 때문에 호스트가 살아있던, 죽었던 간에 서비스가 막히게 된다. 하지만 그만큼 대역폭을 늘려 예방하는 것은 비용이 너무 많이 들고, 그 대역폭을 넘어서는 공격을 퍼붓는 것도 어렵지 않기 때문에 방어가 곤란하다.

각주