서비스 거부 및 DDoS 공격이란 무엇입니까?
DoS (Denial of Service) 및 DDoS (Distributed Denial of Service) 공격이 점차 보편화되고 강력 해지고 있습니다. 서비스 거부 공격은 다양한 형태로 나타나지만 공통된 목적을 공유합니다. 사용자가 웹 페이지, 전자 메일, 전화 네트워크 또는 다른 어떤 것이 든 리소스에 액세스하는 것을 막을 수 있습니다. 웹 타겟에 대한 가장 일반적인 공격 유형과 DoS가 DDoS가되는 방법을 살펴 보겠습니다..
가장 일반적인 유형의 서비스 거부 (DoS) 공격
서비스 거부 공격은 일반적으로 웹 사이트 서버와 같은 서버를 범람시켜 합법적 인 사용자에게 서비스를 제공 할 수 없도록합니다. 이 작업을 수행 할 수있는 몇 가지 방법이 있습니다. TCP 플러딩 공격 및 DNS 증폭 공격이 가장 많이 발생합니다..
TCP 플러딩 공격
거의 모든 웹 (HTTP / HTTPS) 트래픽은 TCP (Transmission Control Protocol)를 사용하여 수행됩니다. TCP는 대안 인 UDP (User Datagram Protocol)보다 많은 오버 헤드가 있지만 신뢰할 수 있도록 설계되었습니다. TCP를 통해 서로 연결된 두 대의 컴퓨터가 각 패킷의 수신을 확인합니다. 확인이 제공되지 않으면 패킷을 다시 보내야합니다..
한 컴퓨터가 연결이 끊어지면 어떻게됩니까? 어쩌면 사용자가 전원을 끊거나 ISP에 장애가 발생했거나 사용중인 응용 프로그램이 다른 컴퓨터에 알리지 않고 종료됩니다. 다른 클라이언트는 동일한 패킷을 다시 보내지 않아야합니다. 그렇지 않으면 리소스를 낭비합니다. 끝없는 전송을 막기 위해 시간 제한 기간이 지정되고 연결을 완전히 끊기 전에 패킷을 다시 보낼 수있는 횟수가 제한됩니다.
TCP는 재난 발생시 군사 기지 간 통신을 원활하게하기 위해 고안되었지만 서비스 거부 공격에 취약합니다. TCP가 생성되었을 때, 아무도 10 억개 이상의 클라이언트 장치에 사용될 것이라고 상상하지 못했습니다. 현대의 서비스 거부 공격에 대한 보호는 설계 프로세스의 일부가 아닙니다..
웹 서버에 대한 가장 일반적인 서비스 거부 공격은 스팸 SYN (동기화) 패킷에 의해 수행됩니다. SYN 패킷을 보내는 것은 TCP 연결을 시작하는 첫 번째 단계입니다. SYN 패킷을 수신 한 후, 서버는 SYN-ACK 패킷 (승인 동기화)으로 응답합니다. 마지막으로 클라이언트는 ACK (확인 응답) 패킷을 보내 연결을 완료합니다..
그러나 클라이언트가 설정된 시간 내에 SYN-ACK 패킷에 응답하지 않으면 서버는 패킷을 다시 보내고 응답을 기다립니다. 이 절차를 반복하여 서버에서 메모리와 프로세서 시간을 낭비 할 수 있습니다. 실제로 충분히 수행되면 합법적 인 사용자가 세션을 짧게 처리하거나 새로운 세션을 시작할 수없는 많은 메모리와 프로세서 시간을 낭비 할 수 있습니다. 또한 모든 패킷에서 증가 된 대역폭 사용량으로 인해 네트워크가 포화되어 실제로 원하는 트래픽을 전달할 수 없게됩니다.
DNS 증폭 공격
DoS (Denial of Service) 공격은 도메인 이름 (howtogeek.com과 같은)을 컴퓨터가 통신하는 데 사용하는 IP 주소 (12.345.678.900)로 변환하는 DNS 서버를 목표로 삼을 수 있습니다. 브라우저에 howtogeek.com을 입력하면 DNS 서버로 전송됩니다. 그러면 DNS 서버가 실제 웹 사이트로 연결됩니다. 속도와 지연 시간이 DNS의 주된 관심사이므로 프로토콜이 TCP 대신 UDP를 통해 작동합니다. DNS는 인터넷 인프라의 중요한 부분이며 DNS 요청에 의해 소비되는 대역폭은 일반적으로 최소입니다.
그러나 DNS가 서서히 증가하면서 새로운 기능이 점차 추가되었습니다. 이로 인해 DNS의 패킷 크기 제한이 512 바이트로 충분하지 못하여 모든 새로운 기능에 문제가 발생했습니다. 그래서 1999 년 IEEE는 DNS (EDNS) 확장 메커니즘에 대한 사양을 발표했습니다.이 메커니즘은 캡을 4096 바이트로 늘려 각 요청에 더 많은 정보가 포함되도록했습니다.
그러나 이러한 변화로 인해 DNS는 "증폭 공격"에 취약했습니다. 공격자는 DNS 서버에 특수하게 조작 된 요청을 보내고 많은 양의 정보를 요구하고 대상 IP 주소로 보내달라고 요청할 수 있습니다. 서버의 응답이 요청을 생성하는 것보다 훨씬 크기 때문에 "증폭"이 생성되고 DNS 서버는 위조 된 IP에 응답을 보냅니다..
많은 DNS 서버가 잘못된 요청을 탐지하거나 삭제하도록 구성되지 않기 때문에 공격자가 반복적으로 위조 된 요청을 보내면 피해자가 네트워크를 정체시키는 거대한 EDNS 패킷으로 넘치게됩니다. 너무 많은 데이터를 처리 할 수 없으면 합법적 인 트래픽이 손실됩니다..
따라서 분산 서비스 거부 (DDoS) 공격이란 무엇입니까??
분산 형 서비스 거부 공격은 여러 명의 (때로는 고의가 아닌) 공격자가있는 공격입니다. 웹 사이트와 응용 프로그램은 여러 동시 연결을 처리하도록 설계되었습니다. 결국 한 번에 한 사람 만 방문 할 수 있으면 웹 사이트는별로 유용하지 않습니다. Google, Facebook 또는 Amazon과 같은 거대 서비스는 수백만 또는 수천만 명의 동시 사용자를 처리하도록 설계되었습니다. 따라서 한 명의 공격자가 서비스 거부 공격으로 시스템을 종료 할 수는 없습니다. 그러나 많은 공격자는.
공격자를 모집하는 가장 일반적인 방법은 봇넷 (botnet)을 이용하는 것입니다. 봇넷에서 해커는 인터넷에 연결된 모든 종류의 장치를 악성 코드로 감염시킵니다. 이러한 장치는 컴퓨터, 전화 또는 DVR 및 보안 카메라와 같은 가정의 다른 장치 일 수 있습니다. 감염되면 Zombie라고하는 장치를 사용하여 명령 및 제어 서버에 주기적으로 연락하여 지침을 요청할 수 있습니다. 이 명령은 광산 암호 화에서부터 DDoS 공격에 참여할 수 있습니다. 그렇게하면 그들은 함께 해산 할 수있는 해커가 필요하지 않습니다. 일반 가정 사용자의 안전하지 않은 장치를 사용하여 더러운 작업을 할 수 있습니다.
다른 DDoS 공격은 일반적으로 정치적 동기로 자발적으로 수행 될 수 있습니다. Low Orbit Ion Cannon과 같은 클라이언트는 DoS 공격을 간단하게 만들어 배포가 쉽습니다. 대부분의 국가에서 (의도적으로) DDoS 공격에 참여하는 것은 불법입니다.
마지막으로, 일부 DDoS 공격은 의도하지 않을 수 있습니다. 원래는 Slashdot 효과라고 불리며 "죽음의 포옹"으로 일반화되어 엄청난 양의 합법적 인 트래픽이 웹 사이트를 손상시킬 수 있습니다. 인기있는 사이트가 작은 블로그에 링크되어 사용자가 엄청나게 유입되어 우연히 사이트가 다운 된 경우가 있습니다. 기술적으로 이것은 의도적이거나 악의적이지 않은 경우에도 여전히 DDoS로 분류됩니다..
서비스 거부 공격으로부터 자신을 보호하려면 어떻게해야합니까??
일반적인 사용자는 서비스 거부 공격의 대상이되는 것에 대해 걱정할 필요가 없습니다. 깃발과 프로 게이머를 제외하고는 DoS가 개인에게 향하는 것은 거의 없습니다. 그렇다고해도 봇넷의 일부가 될 수있는 악성 코드로부터 모든 장치를 보호하기 위해 최선을 다해야합니다.
그러나 웹 서버 관리자 인 경우 DoS 공격으로부터 서비스를 보호하는 방법에 대한 풍부한 정보가 있습니다. 서버 구성 및 어플라이언스는 일부 공격을 완화 할 수 있습니다. 인증되지 않은 사용자가 중요한 서버 자원을 필요로하는 조작을 수행 할 수 없도록함으로써 다른 것들을 예방할 수 있습니다. 불행히도, DoS 공격의 성공은 가장 큰 파이프를 가진 사람이 가장 자주 결정합니다. Cloudflare 및 Incapsula와 같은 서비스는 웹 사이트 앞에 서서 보호 기능을 제공하지만 비용이 많이 듭니다..