Firewall
방화벽은 미리 정의된 보안 규칙에 의거하여, 출입하는 네트워크 트래픽을 감시/제어하는 네트워크 보안 시스템이다. 주로, 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크 사이의 장벽을 구성하며, 서로 다른 네트워크를 지나는 데이터를 허용 및 거부, 검열, 수정하는 소프트웨어/하드웨어 장치를 의미한다.
주요 기능
1. 접근 통제
- 허용된 서비스나 공개 정보 서버 같은 특정 호스트를 제외한 외부 네트워크의 접근 시도를 패킷 필터링, 프록시 방식으로 제어한다.
2. 인증
- 메시지 인증 : VPN 같이 신뢰할 수 있는 통신선을 통해 전송된 메시지의 신뢰성을 보장
- 사용자 인증 : OTP, 패스워드 인증 등 방화벽을 지나는 트래픽에 대한 사용자가 누군지 증명
- 클라이언트 인증 : 모바일 사용자처럼 특수한 경우 접속을 요구하는 호스트에 대해 인가된 호스트인지 확인
3. 감사 및 로그
- 정책 설정 및 변경, 관리자 접근, 네트워크 트래픽 허용 또는 차단 관련 사항 등 접속 정보를 로그로 남긴다.
4. 프록시 (Proxy)
- 보안 정책에 따라 실제 서비스를 수행하는 서버로, 클라이언트의 서비스 요청을 받아 전달하고, 결과를 수신하여 사용자에게 전달한다.
5. NAT (Network Address Translation)
- 외부 호스트의 public ip를 내부 네트워크의 private ip로 변환하거나 그 반대를 수행하는 기능으로, 외부망과 내부망을 분리한다.
한계점
- 악성 소프트웨어 침투 방어에 대한 한계
- 방화벽은 패킷의 IP 주소와 포트 번호로 접근 제어를 수행하는데 바이러스, 웜 같이 문서 또는 프로그램 내부에 포함된 악성 소프트웨어는 탐지하지 못하는 한계가 존재한다.
- 이는 방화벽이 두 네트워크 사이를 오고 가는 트래픽을 중개하면서 패킷의 세부 내용까지 확인하는 건 큰 부담을 초래할 수 있음을 고려한 맹점이다.
- 악의적인 내부 사용자의 공격에 대한 한계
- 내부 사용자가 방화벽을 통과하는 통신 선로가 아닌 사설 통신망을 사용한다면 공격자가 방화벽을 우회하여 내부 네트워크로 접속할 수 있는데, 내부자가 이를 악용하면 막을 방법이 없다.
- 전혀 새로운 형태의 공격에 대한 한계
- 방화벽은 예측된 접속(= 공격)에 대한 규칙을 세우고 이것만 방어하므로 새로운 형태의 공격에는 능동적으로 대응하기 어렵다.
방화벽 기술 유형
동작 계층 (OSI) |
주요 특징 | 장점 | 단점 | |
Packet Filtering |
3~4 계층 | 패킷의 IP 주소, 포트 번호 검사 후, 규칙에 따라 접근 허용 여부 결정 |
- 빠름 - 애플리케이션 연동 용이 |
- 강력한 로깅 및 사용자 인증 기능 부족 - 패킷 데이터 활용한 공격 차단 불가 |
Stateful Inspection |
3계층 | 프로토콜 상태 정보 테이블 유지, 세션 추적 및 순서 위배 패킷 차단 | - 동적 대응 가능 - 세션 추적 |
- DoS/DDoS로 인한 상태 목록 문제 |
Application Gateway | 7계층 | 서비스별 프록시 구동, 패킷 헤더 및 데이터 영역 검사 | - 높은 보안 설정, OTP 인증 - 콘텐츠 보안 / 세션 정보 추적 기능 |
- 네트워크 부하 증가 - 하드웨어에 의존적 - 빠른 애플리케이션 변환 대응이 어려움 |
Circuit Gateway |
6~7계층 | 대표 프록시 사용, 모든 서비스 프로토콜에 방화벽 적용 가능 | - 수정된 클라이언트 프로그램 필요 - 애플리케이션 수정 필요 |
- 특정 클라이언트 프로그램 요구 |
IDS와 IPS
IDS : Intrusion Detection System
IDS는 네트워크나 시스템에서 발생하는 활동을 모니터링하고, 악의적이거나 비정상적인 활동을 탐지하는 수동적 체계로, 악의적 공격의 탐지 및 경고에 중점을 둔다. 네트워크 트래픽을 분석하는 네트워크 기반 IDS (NIDS)와 개별 호스트의 활동을 분석하는 호스트 기반 IDS (HIDS)로 분류된다.
기능
- 로그 분석 및 실시간 모니터링
- 패턴 매칭을 통한 알려진 공격 탐지
- 알림 기능을 통해 관리자에게 경고
IPS : Intrusion Prevention System
IPS는 IDS에서 탐지된 악의적 활동을 차단하거나 방어 조치를 자동으로 수행하는 능동적 체계로, 악의적 공격 예방 및 차단이 주된 목적이다.
기능
- 실시간으로 트래픽을 분석하고 악의적인 활동을 차단함
- 공격 패턴을 인식하고 사전에 설정된 규칙에 따라 방어
- 방화벽 기능과 통합하여 보안을 강화
IDS vs. IPS
IDS는 탐지만 수행하는 반면, IPS는 탐지와 차단까지 수행하니 일견 IPS가 더 좋아보이고 선호될 것 같다. 하지만 IPS는 지나가는 packet을 실시간으로 처리해야 하기 때문에 신속히 처리해야 서비스가 느려지지 않는다. 때문에 네트워크 부하가 발생할 수 있고, 탐지만 하는 것이 아니라 실제 대응 또한 수행하기 때문에 오탐이 발생할 경우 매우 곤란하다.
반면, IDS는 지나간 패킷을 복사하여 검사하기 때문에 네트워크 부하를 유발하지 않지만 공격 패킷을 실시간으로 제어할 수 없고, 오탐에도 큰 영향을 받지 않기 때문에 최적화가 잘 이루어지지 않는다는 단점이 존재한다.
IDS (mirroring) | IPS (Inline) | |
장점 | 네트워크 부하가 덜함 | 공격 패킷 실시간 차단 가능 |
단점 | 공격 패킷을 실시간으로 차단하지 못함 | 네트워크 부하가 발생함 |
규칙(Rule) 최적화가 잘 이루어지지 않음 | 오탐 발생 시 매우 곤란함 |
DDoS
DDoS는 Distributed Denial of Service의 약자로, 분산 서비스 거부 공격을 의미한다. 이는 여러 대의 시스템을 동원하여 특정 서버, 서비스, 네트워크에 과도한 트래픽을 발생시켜 정상적인 운영을 방해하는 공격이다.
특징
- 대규모 트래픽 발생
- 여러 대의 시스템을 사용해 목표 대상에 대량의 요청을 보내 네트워크나 서버의 자원을 고갈시킨다.
- 트래픽의 양이 방대하여 정상적인 트래픽과 구분하기 어렵다.
- 분산된 공격 소스
- 전 세계의 컴퓨터나 IoT 장치를 이용한다.
- 공격을 수행하는 봇넷(botnet)은 해킹된 컴퓨터, 라우터, 카메라 등의 IoT 장치로 구성될 수 있다.
- 다양한 공격 기법
- Volumetric 공격 : 대규모 트래픽을 발생시켜 네트워크 대역폭을 소모시킴 (ex. UDP/ICMP flooding)
- Protocol 공격 : 서버나 네트워크 장치의 자원을 소모시킴 (ex. SYN flooding, smurfing)
- Application Layer 공격 : 특정 application을 목표로 자원을 소모시킴 (ex. HTTP flooding)
- 지속성과 변동성
- 공격이 일정 시간 동안 지속되거나, 특정 시간에만 집중적으로 발생할 수 있다
- 트래픽 패턴이 불규칙하여 방어가 어렵다
- 은폐성과 익명성
- 공격 트래픽은 정상적인 트래픽처럼 보이게 만들어 탐지를 어렵게 한다.
- 분산된 다수의 IP를 사용해 공격을 수행하므로 추적이 어렵다.
네트워크 대역폭 소모 vs. 네트워크 자원 소모
1. 네트워크 대역폭 소모
- 대량의 데이터 트래픽을 네트워크에 보내 네트워크의 용량을 초과하게 만드는 공격
- 이로 인해 네트워크 연결 속도는 저하되고, 대역폭 부족으로 인해 네트워크 혼잡이 발생한다.
- 예시 : UDP Flood, DNS Amplification
2. 네트워크 자원 소모
- 네트워크 장치나 서버의 자원을 고갈시키는 공격으로, CPU, 메모리, 세션 테이블 등의 자원이 포함된다.
- 이로 인해 네트워크 장치나 서버의 성능이 저하되거나 다운될 수 있다.
- 예시 : SYN Flood, Ping of Death
정리하면, 대역폭 소모는 네트워크 트래픽의 양을 증가시켜 네트워크의 처리 능력을 초과시키는 것이고, 자원 소모는 네트워크 장치나 서버의 하드웨어/소프트웨어 자원을 고갈시키는 것이다.
DDoS 공격 유형
- UDP Flood
- 공격자가 대량의 UDP 패킷을 임의의 포트로 보내 서버의 네트워크 자원을 소모시킨다.
- SYN Flood
- 공격자가 TCP 연결 초기화 요청(SYN 패킷)을 대량으로 보내 서버 자원을 소모해 연결을 과부하 상태로 만든다.
- HTTP Flood
- 정상적인 HTTP 요청을 대량으로 보내 웹 서버 자원을 소모시킨다.
- DNS Amplification
- 공격자가 작은 요청을 보내고 큰 응답을 유발시켜 목표 서버로 증폭된 트래픽을 전달한다.
- Ping of Death
- 공격자가 큰 ICMP 패킷을 보내 네트워크 장비의 버퍼 오버플로우를 유발시켜 시스템을 다운시킨다.
DDoS 공격 방어 방법
- 트래픽 모니터링 및 분석
- 네트워크 트래픽을 실시간으로 모니터링하고 이상 트래픽을 탐지한다.
- 트래픽을 분석해 DDoS 공격을 조기에 감지한다.
- 네트워크 방어 장치
- 방화벽, IDS/IPS 같은 보안 장치를 활용해 비정상적인 트래픽을 차단한다.
- DDoS 방어 전용 장치를 도입하여 공격 트래픽을 효과적으로 처리한다
- 트래픽 분산 및 CDN 사용
- Load Balancer를 사용해 트래픽을 여러 서버로 분산시켜 서버 과부하를 방지한다.
- CDN을 활용해 트래픽을 분산시켜 공격의 영향을 최소화한다.
- 사전 준비 및 대응 계획 수립
- DDoS 공격 시나리오를 작성하고 대응 계획을 수립한다.
- 모의 훈련을 통해 실제 공격 상황에 신속히 대응 가능하도록 준비한다.
참고 출처
- [네트워크] 방화벽(Firewall) (1) - 개념, 기능, 동작방식
'리팩토링 > 2. 보안관제' 카테고리의 다른 글
리팩토링 12주차. 악성코드 분석 환경 구성 & 악성코드 샘플링 웹사이트 (1) | 2024.09.24 |
---|---|
리팩토링 11주차. 악성 코드 분석 방법 (1) | 2024.09.10 |
리팩토링 10주차. VirusTotal (2) | 2024.09.02 |
리팩토링 9주차. 보안관제 (1) | 2024.08.22 |
리팩토링 8주차. 악성 코드 (1) | 2024.08.14 |