정보보안기사&산업기사 필기 27장 요약 - 네트워크 기반 공격의 이해 (네트워크 보안)
정보보안기사 필기 27장 요약내용입니다.
* 2020 조현준 정보보안기사 산업기사 필기 + 핵심기출 1200제 정보보안기사 & 산업기사 필기 교재를 기반으로 요약하였습니다.
Section 27. 네트워크 기반 공격의 이해 (네트워크 보안)
1. 네트워크 보안 공격의 분류
구분 | 수동적 공격 | 능동적 공격 |
---|---|---|
특징 | 직접적 피해 없음 | 직접적 피해 있음 |
탐지 가능성 | 어려움 | 쉬움 |
예 | 스니핑, 도청 | 재전송 공격, DoS/DDoS, 변조, 세션 하이재킹 |
2. 서비스 거부공격(Dos)
▶ 시스템에 과도한 부하를 일으켜 시스템의 사용을 방해하는 공격 방식 > 가용성 침해
1) TCP Syn Flooding Attack
- TCP 연결 설정 과정 중 3-Way Handshaking 과정에서 Half-Open 연결 시도가 가능하다는 취약점을 이용한 공격
-
공격방법
1) 공격자는 시작 주소가 조작된 상당히 많은 양의 SYN 메시지를 목적지에 보냄.
2) 서버는 이 패킷 각각에 대해 서버에 정보를 저장하고 SYN/ACK 패킷을 조작된 주소에 보냄
3) 이 주소에 시스템이 존재하면 RST(Reset) 패킷이 전송되어 요청된 연결이 끊어지고 정보도 삭제되지만 이 주소에 시스템이 존재하지 않거나 너무 바쁘면 해당 주소에서 응답이 오지 않게 된다.
4) 서버는 연결요청이 실패했다고 생각할 때까지 SYN/ACK 패킷을 계속 보내어 연결 설정 시도를 반복
5) 이 기다리는 시간과 정보가 TCP 연결테이블에 저장되어 이후의 정상적인 연결 요청이 거부됨.
2) SMURF Attack
- 직접적인 ICMP Broadcast와 세 가지 구성요소(공격자, 증폭 네트워크, 공격대상서버)를 이용
-
공격방법
1) 공격자는 IP를 공격대상 서버의 IP주소로 위장, ICMP를 broadcast로 다수의 시스템에 전송
2) ICMP broadcast를 수신한 다수의 시스템은 ICMP Echo 패킷을 공격대상 서버로 전송하게 됨
3) 다수의 ICMP Echo를 수신한 공격대상 서버는 시스템 성능에 문제가 생기게 됨.
3) Land Attack
- 공격자가 임의로 자신의 IP 어드레스와 포트를 대상 서버의 IP 어드레스 및 포트와 동일하게 하여 서버에 접속하는 공격방식
4) Ping of Death
- 공격의 기본은 핑을 이용하여 ICMP 패킷을 정상적인 크기보다 크게 만드는 것
5) Teardrop Attack
- 오프셋 값을 단편화 간에 중복되도록 고의적으로 수정하거나 정상적인 오프셋 값보다 더 큰 값을 더해 그 범위를 넘어서는 오버플로우를 일으켜 시스템의 기능을 마비시켜 버리는 공격 기법
6) Inconsistent Fragmentation Attack
- Bonk : 패킷을 프래그먼트하여 전송할 때 패킷을 조작하여 결과적으로 공격대상자에게 시스템 부하를 증가시키는 공격
- Boink : Bonk를 수정한 Dos 공격 도구, 패킷 시퀀스 번호를 비정상적인 상태로 보내는 공격 기술
3. DDoS 공격
▶ 여러 대의 컴퓨터로 엄청난 분량의 패킷을 동시에 범람시킴으로써 네트워크 성능 저하나 시스템 마비를 유발하는 공격 기법
1) 공격 순서
공격자(봇 마스터) → 마스터(C&C 서버) → 에이전트(좀비) → 공격 대상
[공격자, 봇 마스터]
-
공격을 주도하는 해커의 컴퓨터
-
C&C(Commad & Control) 서버에 공격 명령을 전달하는 해커의 컴퓨터
[마스터, C&C서버]
-
공격자에게 직접 명령을 받은 시스템
-
여러 대의 에이전트를 관리
[핸들러 프로그램]
- 마스터 시스템의 역할을 수행하는 프로그램
[에이전트]
-
공격 대상에 직접적인 공격을 가하는 시스템
-
악성코드에 감염된 시스템
-
슬레이브, 좀비라고도 함
[데몬 프로그램]
- 에이전트 시스템 역할을 수행하는 프로그램
[표적]
- 공격 대상이 되는 시스템
2) 대응 절차
-
공격 이전(공격 예방 및 선취): 공격 대상이 정당한 클라이언트에 대한 서비스를 거부하지 않으면서 이겨낼 수 있게 한다.
-
공격 중(공격 탐지 및 필터링) : 공격이 시작되면 탐지를 시도하고 즉시 대처한다.
-
공격 이후(공격 근원지 역추적 및 확인) : 근원지를 찾아내어 추후 공격에 대비한다.
3) 대응 방안
-
라우터 정책 : ACL을 이용한 필터링, Ingress/Egress 필터링
-
라우터의 약속된 접근 비율(CAR) 기능 : 단위시간 동안 일정량 이상의 패킷이 라우터로 들어올 경우 이후 패킷은 버림
-
침입탐지시스템(IDS) 이용
4) DDoS 공격 사례
-
트리누 공격
→ 많은 호스트로부터 통합된 UDP flood 서비스 거부 공격을 유발하는데 사용되는 도구
-
TFN 공격
→ 분산 서비스 거부 도구
→ 많은 소스에서 하나 혹은 여러 개의 목표 시스템에 대해 서비스 거부 공격을 수행
-
Stacheldraht 공격
→ 트리누와 TFN을 참고하여 제작된 도구
→ 마스터 시스템 및 자동적으로 업데이트 되는 에이전트 데몬과의 사이에 통신을 할 때 암호화하는 기능이 추가
-
TFN2K 공격
→ TFN 발전된 형태
→ 통신에 특정 포트가 사용되지 않고 암호화되어 있음
→ 프로그램에 의해 UDP, TCP, ICMP가 복합적으로 사용되며 포트도 임의로 결정됨
4. 최신 DDoS 공격유형 분류
문자값 | 대역폭 소진 공격 | 서비스(어플리케이션) 마비 공격 |
---|---|---|
대표 공격 유형 | UDP/ICMP Flooding, SYN Flooding | HTTP GET Flooding |
공격 형태 | - UDP/ICMP Traffic Flooding, UDP/ICMP Flooding, DNS Query Flodding - TCP Traffic Flooding, SYN Flooding, SYN+ACK Flooding - IP Flooding, Land Attack, Teer Drop, HTTP Continuation - HTTP Traffic Flooding, GET Flooding, CC Attack - HTTP Header/Option Spoofing, Slowloris - TCP Traffic Flooding, TCP Session, SYN Flooding, TCP Slow Read - Other L7 Service Flooding, Hash DoS |
|
프로토콜 | 3~4계층 : IP, ICMP, IGMP, UDP, TCP 등 | 7계층 : HTTP, DNS, FTP, SMTP 등 |
공격 대상 | 네트워크, 인프라 | 웹 서버, 정보보호 장비 |
Spoofing 여부 | 사용/미사용 | 미사용 |
증상 | - 회선대역폭고갈 - 동일 네트워크를 사용하는 모든 서비스에 접속장애 발생 |
- HTTP 서버 과다 접속으로 인한 장애발생 - 서비스 부하로 인한 장애발생 - 공격대상 시스템만 피해 |
5. DRDoS(Distributed Reflection Denial of Service)
▶ 분산 반사 서비스 거부 공격(DRDoS)은 별도의 에이전트 설치 없이 프로토콜 구조의 취약점을 이용해 정상적인 서비스를 운영하 는 시스템을 에이전트로 활용하여 공격
1) UDP 서비스를 이용한 DRDoS 공격 유형
-
DNS 증폭 DRDoS 공격 : DNS 서버(반사 서버)에 많은 양의 레코드 정보를 요구하는 DNS 질의 타입을 요청하여 공격 대상에게 대량의 트래픽을 유발시키는 기법
-
NTP 증폭 DRDoS 공격 : NTP 서버(반사 서버)에 최근 접속한 클라이언트 목록(monlist 명령)을 요청하여 대량의 트래픽 유발
-
SNMP 증폭 DRDoS 공격 : SNMP 에이전트에 MIB와 같은 정보를 대량 요청하여 대량의 트래픽 유발
-
CHARGEN 증폭 DRDoS 공격 : CHARGEN 서버에 접속 시 대량의 문자열을 전송하여 공격 대상자에게 대량의 트래픽 유발
2) 일반 DDoS 공격에 비해 DRDoS 공격이 위협적인 이유
-
패킷이 전송되는 경로가 무수히 많음
-
반사 서버의 단계적 사용 및 확산 : 다수의 반사 서버 목록을 보유하고 있다면 공격 경로를 끊임없이 변경 가능
-
위조된 SYN 패킷 출발지 IP를 랜덤으로 생성하는 DDoS 공격과 다르게 공격대상 IP를 출발지 IP로 위조하여 전송하기 때문에 추적이 힘듦
3) 대응 방안
-
출발지 IP 주소가 위조된 패킷이 인터넷망으로 들어오지 않도록 ISP가 직접 차단(Ingress Filtering)
-
ICMP 프로토콜을 이용한 DRDoS에 대응하기 위해 ICMP 프로토콜이 필요 없는 시스템인 경우 해당 프로토콜을 차단
-
내부 사용자용 DNS 서버인 경우 서버 설정을 통해 내부 사용자 주소만 Recursive Query가 가능하도록 제한
6. 네트워크 스캐닝
1) Sweep
- 특정 네트워크에 대하여 해당 네트워크에 속해 있는 시스템의 유무를 판단할 수 있고, 목표 네트워크에서 사용하거나 소유하고 있는 IP 주소와 네트워크 범위를 알아내는 기법
2) Open Scan
- 시스템 활성화 여부, 스캔하는 포트에 해당되는 서비스의 활성화 여부를 조사할 수 있는 방법
1) TCP Full Open Scan [ = TCP SYN/ACK Scan ]
- 완전한 TCP 연결을 맺어서 신뢰성 있는 결과를 얻을 수 있지만, 속도가 느리고 로그가 남음
2) TCP Half Open Scan [ = TCP SYN Scan ]
- 세션을 완전히 연결하지 않고 포트의 활성화 여부를 판단
- 포트가 열려있는 경우 : 공격자가 SYN 패킷을 보내고 공격 대상으로부터 SYN/ACK 패킷을 받으면 그 즉시 RST 패킷을 보 내 연결을 끊음으로써 로그를 남기지 않음
- 포트가 닫혀 있는 경우 : 공격자가 SYN 패킷을 보내면 공격 대상으로부터 RST/ACK 패킷을 받음.
3) UDP Scan
- 아무런 응답이 없으면 해당 포트의 활성화를 의미하고, ICMP Unreachable 패킷을 받으면 해당 포트의 비활성화를 의미
- 이 포트 스캔 방법은 신뢰하기 어려운 이유는 UDP 패킷이 네트워크상에서 손실될 수 있기 때문
- TCP 스캔보다 속도가 느림
3) Stealth Scan
-
TCP 헤더를 조작하여 특수한 패킷을 만들어 보낸 후 그 응답으로 포트 활성화 여부를 파악
-
세션을 완전히 연결하지 않기 때문에 로그가 남지 않음
-
TCP FIN Scan : TCP 헤더 내에 FIN 플래그를 설정하여 전송.
-
TCPNULLScan : TCP 헤더 내에 플래그 값을 설정하지 않고 전송.
-
TCP XMAS Scan : TCP 헤더 내에 ACK, FIN, RST, SYN, URG 플래그를 모두 설정하여 전송.
7. 스니핑(Sniffing)
▶ 네트워크 트래픽을 도청하는 기법
1) 허브 환경에서의 스니핑
-
허브(Hub)는 기본적으로 들어온 패킷에 대해 패킷이 들어온 포트를 제외한 모든 포트에 패킷을 보내는 장비
-
허브를 사용하고 있다면 다른 사람의 패킷을 받고 있는 것이 됨
-
시스템의 NIC를 promiscuous 모드로 동작하게 해야 다른 사람의 패킷을 받아 볼 수 있음
2) 스위치 환경에서의 스니핑
-
스위치 재밍(Switch Jamming, MACOF) : 스위치의 MAC 주소 테이블 버퍼를 오버플로우 시켜서 스위치가 허브처럼 동작하게 강제적으로 만드는 기법
-
ARP 리다이렉트(Redirect) : 공격자가 자신이 라우터인 것처럼 MAC 주소를 위조하여 ARP Reply 패킷을 해당 네트워크에 broadcast 하여 해당 로컬 네트워크의 모든 호스트와 라우터 사이의 트래픽을 스니핑하는 기법
-
ICMP 리다이렉트 : 3계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격
-
스위치의 SPAN(Switch Port Analyzer) / Port Mirroring 기능 이용 : 관리적인 목적으로 스위치 특정 포트에 분석 장비를 접속 하여 다른 포트의 트래픽을 분석하는 기술
3) 보안대책
-
능동적인 대응 방법 (스니퍼 탐지)
→ 네트워크 스니퍼 : 패킷 또는 LAN 세그먼트 상을 지나는 트래픽을 분석할 수 있는 소프트/하드웨어
→ 스니퍼는 기본적으로 유입 패킷에 대한 IP 주소와 MAC 주소 필터링을 하지 않는 promiscuous 모드에서 작동
→ ping을 이용한 방법 : 네트워크에 존재하지 않는 MAC 주소로 위장하여 ping을 보냄
→ ARP watch : 초기의 MAC 주소와 IP 주소의 매칭 값을 저장하고 ARP 트래픽을 모니터링하여 이를 변경하는 패킷이 있으면 관리자에게 알려주는 툴
-
수동적인 대응 방법 (암호화)
→ 스니핑되더라도 해당 내용이 노출되지 않도록 통신내용을 암호화하는 방법 (SSL, PGP 등)
8. 스푸핑 유형
유형 | 설명 | 공격계층 |
---|---|---|
IP 스푸핑 | 공격자가 정보를 얻거나 접근을 하기 위해 다른 컴퓨터의 IP 주소 사용 | 3계층 |
이메일 스푸핑 | 이메일 발신자를 위장하여 메일을 보내는 방식 | 7계층 |
웹 스푸핑 | 공격자가 중간에서 웹 페이지 내용을 가로채어 원래 웹페이지 내용을 변경하여 보내는 방법 | 7계층 |
DNS 스푸핑 | DNS를 사칭하여 입력한 사이트와 관련 없는 사이트로 접속되도록 DNS 전달하는 IP 주소를 변경하는 방법 | 7계층 |
9. 세션 하이재킹
▶ 서버와 클라이언트가 TCP를 이용하여 통신할 때, RST 패킷을 보내 일시적으로 세션을 끊고 시퀀스 넘버를 새로 생성하여 세션을 빼앗아 인증을 회피하는 기법
* 보안대책
-
암호화 : 전송되는 데이터를 암호화하는 것이 최선의 방법
-
지속적인 인증 : 처음 로그인 후 일정 시간 내에 재인증을 지속적으로 실시하는 방법
-
패치 : TCP/IP 취약점을 수정하는 작업
Leave a comment