DoS 공격을 완화하는 데 사용할 수 있는 두 가지 네트워크 보안 솔루션
DoS(서비스 거부) 공격은 서버나 네트워크 자원을 고갈시켜 정상적인 서비스를 방해하는 대표적인 사이버 위협입니다. 이 글에서는 DoS 공격을 완화하는 데 활용할 수 있는 네트워크 보안 솔루션과 함께, 다양한 공격 유형과 대응 방법을 문답 형식으로 정리했습니다.
DoS 공격의 대표적인 예시 두 가지
DoS 공격의 대표적인 예로는 버퍼 오버플로우(buffer overflow)와 핑 오브 데스(ping of death)가 있습니다. 이 공격들은 비정상적으로 많은 양의 데이터나 변조된 데이터를 서버에 전송해 서버를 마비시키려는 시도입니다.
핑 스캔(ping scan)을 완화하는 방법
네트워크를 손상시키지 않고 포트 스캔이나 핑 스윕을 완전히 막는 것은 불가능합니다. 하지만 침입 방지 시스템(IPS)을 활용하면 네트워크와 호스트에 발생하는 피해를 크게 줄일 수 있습니다. 또한 에지 라우터(edge router)에서 ICMP echo 및 echo-reply 기능을 비활성화하면 핑 스윕 자체를 차단할 수 있습니다.
세 가지 주요 네트워크 공격 유형
네트워크 공격은 크게 접근(access) 공격, 정찰(reconnaissance) 공격, 서비스 거부(denial-of-service) 공격의 세 가지로 분류됩니다. 각 분류별로 더 세분화된 공격 기법들이 존재합니다.
프로미스큐어스 모드로 패킷을 캡처하는 소프트웨어
네트워크 패킷 스니핑 소프트웨어는 프로미스큐어스 모드(promiscuous mode)로 설정된 네트워크 어댑터 카드를 사용해 특정 충돌 도메인(collision domain)에서 전송되는 모든 패킷을 캡처합니다. 프로미스큐어스 모드란 어댑터가 물리적 네트워크 회선으로 수신한 모든 패킷을 소프트웨어 애플리케이션에 전달해 처리하도록 하는 동작 방식입니다.
DoS 공격의 두 가지 방식: 플러딩과 크래시
DoS 공격은 서비스를 플러딩(flooding)하거나 시스템을 다운(crash)시키는 방식으로 이루어집니다. 플러딩 공격의 경우 서버가 감당할 수 없는 트래픽이 몰려 버퍼링이 불가능해지고, 시스템 성능이 점차 저하되다가 결국 중단됩니다. 플러딩 공격에는 여러 종류가 있으며, 그중 가장 흔한 것이 버퍼 오버플로우 공격입니다.
DoS 공격의 일반적인 형태
DoS 공격은 로컬 또는 글로벌 범위에서 발생할 수 있으며, 웹 서비스를 플러딩하거나 크래시시키는 방식으로 진행됩니다. 가장 일반적인 형태는 플러딩으로, 공격 대상 시스템에 비정상적으로 높은 트래픽을 집중시켜 서버를 마비시킵니다.
주요 DoS 공격 유형
대표적인 DoS 공격 유형은 다음과 같습니다.
- ICMP(핑) 플러드
- SYN 플러드
- 핑 오브 데스
- 슬로로리스(Slowloris)
- NTP 증폭 공격
- HTTP 플러드
- 탐지되기 어려운 DDoS 공격
- 볼륨 기반(volume-based) 공격
핑 스윕과 포트 스캔을 차단하는 방법
핑 스윕과 포트 스캔에 대응하려면 내부 호스트에 반드시 필요한 트래픽만 허용하고(가급적 보호 대상 호스트에 최대한 가까운 지점에서 필터링) 나머지 모든 트래픽은 거부해야 합니다. HTTP에 사용되는 TCP 80번 포트나 핑에 사용되는 ICMP처럼 널리 알려진 표준 포트와 프로토콜은 특히 주의해서 관리해야 합니다.
포트 스캔을 완화하는 방법
사설 네트워크를 보호하려면 방화벽을 설치해 무단 접근을 차단하는 것이 효과적입니다. 여기에 TCP 래퍼(TCP wrappers)를 함께 사용하면 도메인 이름이나 IP 주소를 기반으로 서버 접근을 세밀하게 제어할 수 있습니다.
핑 스윕과 포트 스캔에 사용되는 도구
Nmap이 가장 널리 사용되는 도구입니다. Nmap은 포트 스캔에 최적화되어 있지만 핑 스캔에도 활용할 수 있습니다. -sP 옵션을 사용하면 호스트가 살아 있는지(up/down) 확인할 수 있으며, Nmap의 핑 스윕 기능은 -sP 옵션을 통해서만 제공됩니다.
바이러스와 웜의 공격 단계 (순서대로)
바이러스나 웜이 사용하는 기본 공격 단계는 순서대로 다음과 같습니다.
1. 탐지(probe)
2. 침투(penetrate)
3. 지속(persist)
4. 전파(propagate)
5. 마비(paralyze)
주요 네트워크 공격 클래스
- 무단 접근(unauthorized access): 공격자가 허가 없이 네트워크에 접근
- 서비스 거부(DoS): 정상적인 서비스 중단 유발
- 중간자(man-in-the-middle) 공격: 통신 경로를 가로채는 공격
- 코드 및 SQL 인젝션 공격: 악성 코드나 SQL 구문을 주입
- 권한 상승(privilege escalation): 낮은 권한에서 높은 권한 획득 시도
- 내부자 위협(insider threats): 조직 내부 인물에 의한 위협
암호학이 보장하는 정보 보안의 3대 요소
정보 보안의 기본 모델인 CIA 삼각형(CIA triad)은 기밀성(confidentiality), 무결성(integrity), 가용성(availability)의 세 가지 핵심 요소로 구성됩니다. 각 요소는 정보 보안이 달성해야 할 근본적인 목표를 나타냅니다.
프로미스큐어스 모드가 필요한 경우
AirMagnet과 같은 일부 네트워크 매핑 프로그램은 네트워크 어댑터를 프로미스큐어스 모드로 설정해야 정상적으로 작동합니다.
사용자가 생성하고 라우터가 전달하는 패킷 유형
사용자가 생성하고 라우터가 전달하는 패킷은 데이터 플레인(data plane) 패킷입니다. 참고로 라우터에 대한 안전한 원격 접속 방식으로는 HTTPS와 SSH 두 가지가 있습니다.