분산 서비스 거부(DDoS) 공격
분산 서비스 거부 공격(DDoS)은 다양한 컴퓨터에서 대량의 트래픽을 전송하여 온라인 서비스에 접속할 수 없도록 만드는 시도입니다. DDoS 공격은 서버, 디바이스, 데이터베이스, 네트워크 및 애플리케이션에 대한 액세스를 차단할 수 있습니다.
DDoS 공격과 표준 서비스 거부 공격의 차이점은 DDoS 공격은 한 대가 아닌 여러 대의 컴퓨터에서 발생한다는 점입니다. 이를 어떻게 달성하는지 살펴보겠습니다.
DDoS 공격의 작동 방식
DDoS 공격은 봇넷에서 시작됩니다. 봇넷은 디도스 공격 및 기타 악의적인 용도로 설계된 악성 소프트웨어에 감염된 컴퓨터의 네트워크를 말합니다. 사용자는 피싱 이메일, 감염된 웹사이트, 심지어 소셜 네트워크를 통해 소프트웨어 및 운영 체제의 알려진 취약점을 악용하여 감염된 소프트웨어를 다운로드하도록 속일 수 있습니다.
이러한 컴퓨터가 감염되면 봇넷 "랭글러(" )가 하나의 애플리케이션에서 사용자 모르게 모든 컴퓨터를 원격으로 제어할 수 있습니다. 봇넷이 충분히 커지면 네트워크를 사용하여 모든 표적에 대한 공격을 시작할 수 있습니다.
봇넷이 준비되면 공격자는 시작 명령을 보내 봇넷의 모든 컴퓨터가 의도한 표적에 요청을 대량으로 보내도록 할 수 있습니다. 공격이 방어를 통과하면 대부분의 시스템을 빠르게 압도하여 서비스가 중단되고 서버가 다운될 수 있습니다.
봇넷을 생성한 많은 공격자들이 온라인 및 다크넷 마켓플레이스에서 대가를 받고 서비스를 제공하고 있어, 누구나 DDoS 공격을 시작할 수 있는 가능성이 있습니다.
DDoS 공격의 유형
DDoS 공격은 공격자의 목적에 따라 다양한 형태로 이루어집니다. 세 가지 주요 범주는 볼륨 기반 공격, 프로토콜 공격, 애플리케이션 계층 공격입니다.
볼륨 기반 공격
이 유형의 공격은 표적과 인터넷 간에 사용 가능한 모든 대역폭을 사용하려고 시도합니다. 이를 수행하는 한 가지 방법은 증폭을 사용하는 것으로, 스푸핑된 IP 주소(공격 대상의 IP 주소)로 DNS 서버를 넘쳐나게 하여 공격 대상에 대해 훨씬 더 큰 규모의 DNS 응답을 트리거하는 것입니다. SNMP 및 NTP 프로토콜은 볼륨 기반 공격에도 사용됩니다. 결국 타겟이 수신하는 응답으로 인해 네트워크가 막히고 들어오는 트래픽이 차단됩니다.
프로토콜 공격
프로토콜 공격은 로드 밸런서 및 방화벽과 같은 네트워크 장비의 리소스를 고갈시켜 서비스를 중단시킵니다. 이러한 공격은 프로토콜 스택의 네트워크 및 데이터 링크 계층을 대상으로 합니다. 프로토콜 공격의 한 유형은 SYN 플러드라고 합니다. 이 유형의 공격은 TCP 핸드셰이크를 사용하여 네트워크를 폭주시킵니다. 봇넷은 스푸핑된 IP 주소를 사용하여 표적에게 대량의 TCP 초기 연결 요청 SYN 패킷을 보냅니다. 대상 컴퓨터의 리소스가 고갈되어 결코 일어나지 않을 모든 요청의 마지막 단계를 기다리게 됩니다.
애플리케이션 계층 공격
이러한 유형의 DDoS 공격은 네트워크에서 실행 중인 애플리케이션, 특히 HTTP 요청에 응답하는 웹 애플리케이션을 대상으로 합니다. HTTP 요청은 클라이언트에게는 가볍지만 응답을 생성하는 데 서버의 많은 리소스가 필요할 수 있습니다. 하나의 요청에는 코드 실행, 여러 이미지 요청, 데이터베이스 쿼리가 포함될 수 있습니다. 애플리케이션 계층 공격을 사용하는 봇넷은 각 노드에서 동일한 웹 페이지를 동시에 공격하는 것만으로도 서버를 다운시킬 수 있습니다.
DDoS 공격의 증상
DDoS 공격의 증상은 사이트나 서비스가 갑자기 느려지거나 응답하지 않는 것이지만, 모든 느린 사이트가 공격을 받는 것은 아닙니다. 트래픽 급증과 합법적인 서버 문제도 동일한 유형의 응답 불가를 일으킬 수 있습니다.
DDoS 공격을 받고 있는지 확인하려면 트래픽 분석 도구를 사용하여 어떤 유형의 트래픽이 발생하고 있는지, 트래픽의 출처가 어디인지, 어디로 가는지 등을 추가로 조사해야 합니다. DDoS 공격의 몇 가지 징후는 다음과 같습니다:
- 단일 IP 주소 또는 주소 범위에서 비정상적인 양의 트래픽이 발생하는 경우
- 하루 중 이상한 시간대에, 제한된 시간 동안 발생하거나 패턴을 따르는 비정상적인 트래픽 급증
- 단일 웹페이지 또는 서비스에 대한 트래픽이 갑자기 폭주하는 경우
- 지리적 위치, 브라우저 버전, 디바이스 유형 등 유사한 프로필을 가진 사용자의 트래픽이 폭주하는 경우
DDoS 공격 방지
DDoS 공격으로부터 네트워크를 보호하는 것은 그리 간단한 일이 아닙니다. 감염된 시스템에서 제거할 수 있는 멀웨어나 바이러스와는 다릅니다. DDoS 공격은 네트워크 외부에서 발생하며 세부 사항을 살펴보기 전까지는 일반적인 트래픽처럼 보일 수 있습니다. 이러한 유형의 공격은 몇 분 만에 웹사이트나 서비스를 중단시킬 수 있으므로 DDoS 공격이 감지되면 신속하게 대응하는 것이 중요합니다.
라우터 보안
라우터는 네트워크에 드나드는 관문입니다. 봇넷의 봇이 라우터를 통과하지 못하면 라우터의 어떤 서비스에도 영향을 미칠 수 없습니다. 이는 첫 번째 방어선이며 우선순위에 따라 트래픽을 필터링하고 위협적인 데이터나 트래픽을 차단하도록 구성해야 합니다.
IoT 디바이스 보안
노트북과 휴대폰을 보호하는 많은 사람들이 IoT 디바이스의 기본 비밀번호를 그대로 두는 것에 대해 두 번 생각하지 않습니다. 많은 IoT 디바이스가 봇넷의 봇이 될 수 있는 멀웨어의 표적이 될 수 있는 풀 리눅스 운영 체제를 실행하고 있으며 실제로 표적이 된 적이 있습니다. 이 때문에 그들은 가장 좋아하는 표적입니다. 강력한 비밀번호로 IoT 디바이스를 보호하면 봇넷의 또 다른 봇이 되는 것을 방지할 수 있습니다.
머신 러닝 사용
DDoS 공격을 탐지하려면 트래픽 분석이 필요합니다. 수동으로도 가능하지만 머신 러닝 기술을 사용하면 악성 트래픽을 빠르게 탐지할 수 있습니다. 트래픽을 실시간으로 분석하여 알려진 DDoS 패턴과 이상 징후를 파악하고 의심스러운 트래픽이 서비스나 웹사이트 속도를 저하시키기 전에 차단할 수 있습니다.
Conclusion
분산 서비스 거부 또는 DDoS 공격은 웹사이트나 서비스에 요청을 쏟아부어 시스템에 과부하를 일으켜 접속을 차단하려는 시도입니다. 공격자는 원하는 사이트나 서비스를 공격하는 데 사용할 수 있는 멀웨어로 여러 대의 컴퓨터를 감염시켜 이를 달성합니다. DDoS 공격의 문제 해결과 예방은 간단하지 않으며 트래픽을 분석하여 이상 징후를 파악해야 하지만 올바른 도구를 사용하면 DDoS 공격을 차단하거나 예방할 수 있습니다.