지난주까지는 네트워크 상에서 이용되는 프로토콜들을 알아보았다.
이번주는 보안 시스템의 기본인 Firewall, IDS와 IPS, DDoS 의 특징 및 차이점에 대해 조사해보자.
네트워크 보안을 위한 장비로, 내부와 외부 네트워크 간의 트래픽을 관리하고 제어한다. 방화벽은 승인된 트래픽만 통과시키고, 승인되지 않은 접근 시도를 차단하여 외부 공격으로부터 네트워크를 보호한다.
1980년대 초반: 처음 방화벽의 개념은 1980년대에 등장했다. 초기에는 패킷 필터링 기법을 사용하여 네트워크 트래픽을 제어했다. 이 방법은 IP 주소와 포트 번호를 기반으로 트래픽을 허용하거나 차단하는 단순한 방식이었다.
1989년 - 시스코의 패킷 필터링 라우터: 시스코 시스템즈가 패킷 필터링 기능을 제공하는 라우터를 출시하면서 방화벽 기술이 상용화되기 시작했다. 이 기술은 네트워크 경계에서 트래픽을 제어하는 역할을 했습니다.
1990년대 초반 - 스테이트풀 검사: 패킷 필터링의 단점을 보완하기 위해 스테이트풀 인스펙션(Stateful Inspection) 방화벽이 개발되었습니다. 이는 각 연결의 상태를 추적하여 더욱 지능적으로 트래픽을 제어할 수 있게 했습니다.
1990년대 중반 - 애플리케이션 수준 필터링: 방화벽은 더 발전하여 애플리케이션 게이트웨이(또는 프록시 방화벽)로 불리는 형태로 발전했습니다. 이는 애플리케이션 계층에서 데이터를 검사하고 제어하며, 특정 애플리케이션 트래픽을 보다 정교하게 필터링할 수 있었습니다.
2000년대 - 차세대 방화벽(NGFW): 차세대 방화벽은 전통적인 방화벽 기능을 통합하여 보다 진보된 위협 방지 기능을 제공합니다. 이들은 애플리케이션 인식, 침입 방지 시스템(IPS) 통합, 스테이트풀 인스펙션, 암호화된 트래픽의 검사 등을 통해 보다 포괄적인 보안을 구현합니다.
현재: 현대의 방화벽은 클라우드 기반 솔루션, 분산 네트워크, 그리고 하이브리드 IT 환경을 지원하며, 인공지능과 머신러닝을 활용하여 점점 더 복잡해지는 위협에 대처하고 있습니다.
정리하자면 패킷 필터링 -> 이 기능을 전문으로 하는 라우터 -> 여러 기능이 합쳐진 UTM -> 차세대 방화벽인 NGFW
통합 위협 관리(UTM, Unified Threat Management)는 2000년대 초반에 등장한 개념으로, 다양한 보안 기능을 하나의 장비에 통합하여 제공하는 것을 목표로 합니다. UTM 장비는 방화벽, VPN, 안티바이러스, 침입 방지 시스템(IPS), 콘텐츠 필터링, 데이터 손실 방지(DLP) 등의 기능을 결합하여, 보안 관리의 복잡성을 줄이고 비용 효율성을 높이기 위한 솔루션으로 자리잡았습니다.
UTM이라는 용어와 개념은 2004년경에 본격적으로 사용되기 시작했습니다. 이 시점에서 UTM 장비는 중소기업들의 네트워크 보안 요구를 충족시키기 위해 특히 인기를 끌었으며, 통합된 솔루션을 통해 보다 효율적으로 다양한 보안 위협에 대응할 수 있게 되었습니다. 이러한 통합적인 접근은 IT 보안 관리에 있어 보다 간편하고 일관된 방법을 제공한다는 장점이 있습니다.
NGFW(차세대 방화벽, Next-Generation Firewall)는 UTM의 개념에서 더 발전된 형태로, 전통적인 방화벽 기능을 포함하면서도 보다 정교하고 고급화된 보안 기능을 제공합니다.
심층 패킷 검사(DPI, Deep Packet Inspection): NGFW는 패킷을 애플리케이션 계층까지 분석할 수 있어, 보다 정밀하게 트래픽을 제어할 수 있습니다. 이는 애플리케이션을 식별하고 그에 따른 보안 정책을 적용할 수 있게 합니다.
애플리케이션 인식 및 제어: NGFW는 특정 애플리케이션 트래픽을 식별하고 제어할 수 있으며, 사용자 및 애플리케이션 기반 정책 설정을 지원합니다. 이를 통해 특정 애플리케이션이나 사용자의 트래픽을 허용 또는 차단할 수 있습니다.
통합 위협 방지: NGFW는 침입 방지 시스템(IPS), 안티바이러스, 웹 필터링 등 다양한 보안 기능을 통합하여 더욱 강력한 보호 기능을 제공하며, 실시간 위협 인텔리전스를 통해 최신 위협에 대한 방어를 강화합니다.
SSL/TLS 검사: 암호화된 트래픽을 분석할 수 있는 기능을 제공하여, 악성 트래픽이 암호화 통신을 통해 숨어서 들어오는 것을 차단할 수 있습니다.
고급 네트워크 모니터링: NGFW는 네트워크 전반에 대한 자세한 모니터링과 로그 기록을 제공하여, 보안 상태를 실시간으로 파악하고 분석할 수 있도록 합니다.
방화벽의 다양한 기능들은 소프트웨어로 프로그래밍되어 하드웨어 장치에 구현됩니다. 방화벽은 주로 두 가지 형태로 제공된다.
하드웨어 방화벽: 전용 하드웨어 장치에 소프트웨어가 설치되어 운영됩니다. 이러한 장치는 네트워크 경계에 배치되어 네트워크 트래픽을 필터링하고 관리합니다. 하드웨어 방화벽은 높은 성능과 안정성을 제공하며, 대기업 및 데이터 센터 등에서 많이 사용됩니다.
소프트웨어 방화벽: 일반적인 운영 체제 상에서 실행되는 소프트웨어로, 개별 서버나 컴퓨터에 설치할 수 있습니다. 소프트웨어 방화벽은 개별 시스템을 보호하는 데 적합하며, 소규모 네트워크 환경에서 자주 사용됩니다.
최근에는 클라우드 기반 방화벽 솔루션도 제공되어, 물리적인 하드웨어 없이 클라우드 환경에서 방화벽의 기능을 제공하기도 합니다. 이러한 모든 형태의 방화벽은 프로그램 코드에 의해 작동하며, 정책 설정과 트래픽 관리 등을 수행합니다.
현대의 방화벽은 트래픽 필터링 뿐만 아니라 다양한 기능을 제공한다.
트래픽 필터링: 방화벽은 네트워크를 통과하는 트래픽을 검사하고, 설정된 규칙에 따라 허용 또는 차단합니다. 이는 IP 주소, 포트 번호, 프로토콜 등을 기반으로 하며, 불필요하거나 악의적인 접근을 차단합니다.
스테이트풀 인스펙션: 방화벽은 연결 상태를 추적하여 데이터 패킷이 단순히 허용 IP와 포트를 통과하는지 뿐만 아니라, 허용된 연결의 일부인지 확인합니다. 이를 통해 세션에 기반한 보다 정교한 트래픽 관리가 가능합니다.
애플리케이션 레벨 필터링: 고급 방화벽은 애플리케이션 계층에서 데이터를 검사하고 제어합니다. 이는 특정 애플리케이션에서 발생하는 트래픽을 파악하고, 애플리케이션의 이상 동작을 감지합니다.
침입 방지 기능 통합: 차세대 방화벽(NGFW)은 침입 방지 시스템(IPS)을 통합하여 알려진 취약점을 악용하는 공격으로부터 보호합니다. 이는 실시간 위협 차단 및 예방을 가능하게 합니다.
VPN 지원: 방화벽은 가상 사설망(VPN)을 통해 안전한 원격 액세스를 지원합니다. 이를 통해 외부에서 내부 네트워크로 안전하게 연결할 수 있습니다.
로깅 및 감사: 방화벽은 트래픽 로그를 기록하여 네트워크 활동을 모니터링하고 감사할 수 있도록 합니다. 이를 통해 잠재적인 보안 문제를 식별하고 해결할 수 있습니다.
정책 관리 기능: 방화벽은 사용자가 정의한 정책에 따라 네트워크 트래픽을 제어할 수 있는 관리 도구를 제공합니다. 이는 기업의 보안 정책에 맞춰 네트워크 보호를 세부적으로 설정할 수 있게 합니다.

망과 망 사이에 라우터를 설치하고 라우터에 ACL을 구성함
응용 프로그램 환경변화에 무관하게 동작하므로 투명한 구성이 가능
라우터에 부하를 줌
주로 방화벽 설치가 힘든 중소기업들이 많이 사용함
2. 베스천 호스트 (Bastion Host) / 싱글 홈드 게이트웨이 (Single Homed Gateway)

OSI Layer 7에서 동작
방어 기능을 가진 호스트 시스템
인증기능/모니터링/로깅 등 기능 제공
베스천 호스트가 공격당하면 내부 네트워크 자원 보호 불가능
3. 듀얼 홈드 게이트웨이 (Dual Homed Gateway)

두 개의 네트워크 인터페이스를 가진 베스천 호스트를 이용해 구성
논리적으로만 구분하는 베스천 호스트와 달리 물리적으로도 구분이 되어 훨씬 안전함
4. 스크린드 호스트 게이트웨이 (Screened Host Gateway)

스크리닝 라우터 + 베스천호스트
Layer 3, 4에서 스크리닝 라우터 1차 필터링
Layer 7에서 베스천 호스트가 방어
5. 스크린드 서브넷 게이트웨이 (Screened Subnet Gateway)

스크리닝 라우터 2개 사이에 하나의 서브넷(망)을 구성함: DMZ
스크리닝 라우터 -> 베스천 호스트 서브넷 -> 스크리닝 라우터 -> 내부망
가장 안전하고 비싸며 느리다.
DMZ: 외부에서 서비스 제공 시 내부 자원을 보호하기 위한 네트워크 구간과 외부 네트워크 구간 사이에서 접근 제한을 수행하는 영역, 내부 네트워크 노출을 막기 위해 구성함
침입 탐지 시스템으로, 네트워크나 시스템의 트래픽을 모니터링하여 해킹이나 악의적인 활동, 정책 위반을 식별합니다. IDS는 실시간으로 의심스러운 활동을 감시하고 관리자에게 경고를 보냅니다.
IDS (Intrusion Detection System)
목적: IDS는 네트워크 또는 시스템의 트래픽을 모니터링하여 악의적인 활동이나 정책 위반을 탐지합니다. IDS는 주로 경고를 발행하여 관리자에게 이상 활동을 알리는 역할을 합니다.
운영 방식:
서명 기반 탐지: 이미 알려진 공격 패턴이나 서명을 탐지하여 공격을 식별합니다. 이 방식은 새로운 유형의 공격에 대응하기 어렵다는 단점이 있습니다.
행위 기반 탐지: 정상 활동의 기준을 설정하고 해당 기준을 벗어나는 비정상적인 패턴을 탐지합니다. 이는 새로운 공격 유형을 탐지할 수 있는 가능성을 제공합니다.
특징:
실시간 탐지가 가능하며, 보안 관리자에게 경고를 발송합니다.
트래픽을 차단하지 않고 탐지만 하므로, 잠재적인 보안 사고에 대한 정보를 수집하여 관리자에게 알립니다.
침입 방지 시스템으로, IDS의 기능을 포함하면서도 능동적으로 의심스러운 활동을 차단하는 시스템입니다. IPS는 의심되는 트래픽을 발견하면 자동으로 이를 차단하여 피해를 방지합니다.
IPS (Intrusion Prevention System)
목적: IPS는 IDS의 기능을 포함하면서도 한 단계 더 나아가 실시간으로 악의적인 트래픽을 차단하거나 제거하는 역할을 합니다.
운영 방식**: IPS는 IDS와 유사한 방식으로 트래픽을 분석하지만, 탐지한 위협에 대해서 즉각적인 대응을 수행합니다. 예를 들어, 악의적인 패킷을 차단하거나, 공격이 진행되는 세션을 종료시키는 등의 조치를 취합니다.
특징:
네트워크 트래픽의 중간에 위치하여 실시간으로 트래픽을 검사하고 차단할 수 있습니다.
자동으로 악성 활동을 차단할 수 있어, 네트워크를 적극적으로 보호합니다.
IDS는 탐지 후 경고를 발행하지만, IPS는 탐지 후 즉각적 차단을 실행합니다.
IDS는 주로 모니터링 역할에 중점을 두며 트래픽 변화를 감시하고 분석하고, IPS는 보안 위협에 대해 직접적인 방어 조치를 취합니다.
이 두 시스템은 종종 함께 사용되어 보안 인프라를 강화하며, 현대의 네트워크 보안 솔루션에서는 이러한 기능들이 통합되어 더욱 강력한 보호를 제공합니다
IDS와 IPS의 탐지 방법은 주로 소프트웨어로 구현되어 있습니다. 이 소프트웨어는 다양한 알고리즘과 규칙 세트를 사용하여 네트워크 트래픽을 분석하고, 알려진 위협이나 이상 활동을 식별합니다.
이상한 트래픽의 예
이러한 시스템들이 탐지할 수 있는 비정상적이거나 악의적인 트래픽 유형에는 다음과 같은 것들이 있습니다:
포트 스캐닝: 공격자는 네트워크나 시스템의 포트를 스캔하여 열려 있는 포트를 식별하고 그 후에 공격을 시도할 수 있습니다. 이는 자주 네트워크 침입의 초기 단계로 사용됩니다.
Dos 및 DDoS 공격: 대량의 트래픽을 발생시켜 서버나 네트워크를 마비시키려는 시도를 탐지합니다. 비정상적으로 많은 양의 트래픽이 단시간에 발생하면 이를 따로 감지하여 경고할 수 있습니다.
악성 코드 및 바이러스: 트래픽에 포함된 파일이나 소프트웨어가 알려진 악성 코드와 일치할 경우 이를 탐지합니다.
비정상적인 대역폭 사용: 평소보다 비정상적으로 많은 대역폭이 사용되는 경우, 데이터 유출 시도나 DDoS 공격의 징후일 수 있습니다.
권한 없는 접근 시도: 인가되지 않은 사용자가 시스템 또는 애플리케이션에 접근하려는 시도를 탐지합니다. 예를 들면 부적절한 로그인 시도나 유출된 자격 증명으로 접속하려는 시도 등이 있습니다.
패킷의 비정상적 패턴: 비정상적인 크기나 순서의 패킷이 반복되는 경우, 이는 프로토콜 악용의 징후일 수 있습니다.
제어 프로토콜의 남용: ICMP(핑)나 SNMP와 같은 프로토콜이 비정상적으로 자주 사용될 경우, 네트워크 스캔이나 다른 형태의 탐색 행위일 수 있습니다.
이러한 이상 트래픽을 탐지하기 위한 방법들은 보안 정책과 규칙에 따라 지속적으로 업데이트되며, 네트워크 환경에 특화된 방법이 사용되기도 합니다. 머신러닝과 인공지능 기술이 접목되어 이상 징후를 더욱 정교하게 탐지하는 시스템도 개발되고 있습니다.
분산 서비스 거부 공격으로, 여러 대의 시스템에서 동시에 타겟 시스템에 대량의 트래픽을 전송하여 서비스를 마비시키는 형태의 사이버 공격입니다. DDoS 공격은 웹사이트를 다운시킬 수 있어 비즈니스에 큰 피해를 줄 수 있습니다.
DDoS 공격의 주요 특징과 구성 요소
다수의 공격자: DDoS 공격은 여러 컴퓨터, 흔히 '봇넷'이라고 불리는 네트워크를 사용하여 대량의 요청을 생성합니다. 이 봇넷은 악성 코드에 감염된 컴퓨터들로 구성되어 원격에서 제어됩니다.
목표 과부하: 공격의 주요 목표는 서버, 서비스 또는 네트워크 자원을 과부하 상태로 만들어 정상적인 사용자들이 서비스를 이용할 수 없게 하는 것입니다. 이로 인해 서비스가 중단되거나 성능이 저하됩니다.
실제 케이스: 일반적으로 웹사이트나 온라인 서비스를 대상으로 하며, 금융 서비스, 뉴스 플랫폼, 온라인 쇼핑몰뿐만 아니라 게임 서버 같은 다양한 곳에서 발생할 수 있습니다.
주로 사용되는 DDoS 공격 유형
볼륨 기반 공격: 대량의 트래픽을 일으켜 대역폭을 포화 상태로 만듭니다. 예로는 UDP 홍수 공격이나 ICMP 홍수 공격이 있습니다.
프로토콜 공격: 네트워크 스택 자원에 대한 공격으로, SYN 플러드(SYN Flood), 패킷 분할(fragmentation) 공격 같은 공격이 대표적입니다. 이는 서버가 각 요청에 대해 과도한 자원을 사용하게 만듭니다.
애플리케이션 계층 공격: HTTP 플러드(HTTP Flood)와 같은 공격은 서버의 애플리케이션 계층 자원을 고갈시키는 것을 목표로 합니다. 이는 상대적으로 적은 트래픽으로도 서버에 큰 영향을 미칩니다.
스택 자원이나 애플리케이션 계층 자원에 대한 공격에서는 서버의 메모리, CPU 처리 능력, 네트워크 인터페이스 및 기타 시스템 리소스를 과부하 상태로 만들어 정상적인 요청을 처리할 수 없도록 합니다. 각각의 자원에 대한 과부하 방식은 다음과 같이 설명할 수 있습니다:
CPU 처리 능력: 공격자들은 패킷의 세밀한 처리를 요구하는 작업(예: 암호화 해제, 세션 할당)을 대량으로 유발해서 CPU 사용량을 최대화시킵니다. 예를 들면, SYN 플러드(SYN Flood)와 같은 공격은 서버가 새로운 연결 요청을 처리하기 위해 과도한 CPU 작업을 계속 시도하게 합니다.
메모리 사용: 일부 공격은 의도적으로 시스템 메모리를 고갈시킵니다. 예를 들어, 많은 수의 동시 연결을 설정하거나 유지하게 만들어 서버의 메모리를 소진시키는 방식입니다.
네트워크 인터페이스: 대량의 데이터를 송수신하게 하여 네트워크 인터페이스 자체를 포화 상태로 만듭니다. 이는 대역폭을 초과하게 만들어 계속해서 정당한 데이터를 처리하지 못하게 합니다.
애플리케이션 계층 로직: HTTP 플러드와 같은 애플리케이션 계층 공격은 서버가 각 요청에 대해 복잡한 처리 로직을 수행하게 만들고, 이를 통해 일반적인 사용자 요청 처리에 필요한 자원을 고갈시킵니다.
트래픽 모니터링 및 분석: 네트워크 트래픽 패턴을 지속적으로 모니터링하여 비정상적인 활동을 조기에 탐지합니다.
방화벽 및 IPS: 위협을 인식하고 차단할 수 있는 방화벽과 침입 방지 시스템(IPS)으로 방어선을 강화합니다.
클라우드 기반 방어 서비스: 클라우드 서비스 제공 업체들이 제공하는 DDoS 방어 솔루션을 통해 트래픽을 분산 처리합니다.
로드 밸런싱: 트래픽을 여러 대의 서버로 분산시켜 부하를 완화합니다.
대역폭 증설 및 무력화 전략: 공격을 무력화하기 위해 더 많은 대역폭을 확보하거나 시나리오별로 대처할 수 있는 맞춤 방어 전략을 수립합니다.
DDoS 공격은 그 특성상 완전히 방어하기 어렵고, 복잡한 공격은 특히 방어하기 쉽지 않지만, 위에서 언급한 방어 전략들을 적절히 조합 및 활용하여 피해를 최소화할 수 있습니다.