Port Scanning
※ 학습 목표
구분 | Stealth 여부 | 내용 | 결과 | Nmap |
TCP Connect Scan | TCP 포트 오픈 여부 확인 | 열림 : SYN + ACK 닫힘 : RST + ACK |
-sT | |
TCP SYN Scan | O (Half-Open) |
TCP 포트 오픈 여부 확인 | 열림 : SYN + ACK 닫힘 : RST + ACK |
-sS |
TCP ACK Scan | 방화벽 정책 여부 확인 | 필터링 On : 응답 없음 or ICMP 에러 필터링 OFF : RST + ACK |
-sA | |
TCP FIN Scan TCK Xmas Scan TCK NULL Scan |
O | FIN : TCP FIN 제어 비트 패킷 Xmas : TCP Flag (UAPRSF) 전달 NULL : 아무것도 설정하지 않는 비트 |
열림 : 응답없음 닫힘 : RST + ACK |
-sF -sX -sN |
UDP Scan | UDP 포트 오픈 여부 확인 | 열림 : DUP 응답 or 응답없음 닫힘 : ICMP 에러 메시지 |
-sU | |
Ping Scan | 호스트 활성화 여부 확인 | -sP | ||
Decoy Scan | 다양한 주소로 위조하여 스캔 (위조된 IP로 포트스캐닝 등) |
-sS [ ] -D |
DoS vs DDoS vs DRDoS
※ 학습 목표
[DoS vs DDoS vs DRDoS]
구분 | 내용 |
DoS (Denial of Service) | 1 VS 1 공격 |
DDoS (Distributed Denial of Service) | N vs 1 공격 |
DRDos (Distributed Reflection Denial of Service) | 분산시스템을 악용한 공격 |
[DoS / DDoS]
구분 | 내용 | 보안방법 | |
대역폭 공격 | ICMP Flooding | 1. 대량의 ICMP Echo 요청 | ICMP 패킷 차단 |
Ping of Death | 1. 비정상적으로 큰 ICMP 패킷 전송 2. MTU로 인해 패킷 재조합 과정에서 65536Byte 초과 |
||
Smurf | 1. 공격자 IP 위조(희생자 PC 스푸핑) 2. 대량의 ICP Echo Request 패킷 전송 |
IP Broadcast 패킷 차 | |
Land Attack | 1. TCP 패킷의 출발지 IP와 목적지 IP를 공격 대상의 IP주소로 설정 | ||
UDP Flood | 1. 대량의 UDP 패킷 전송 | ||
자원 소진 공격 | SYN Flooding | 3-Way-HandShake 악용하여 대량의 SYN 패킷만 전달하여 세션 연결 | 1. SYN Cookie 적용 (SYN/ACK 값에 sequence값을 Cookie값에 추가하여, 정상 연결이 아니면 Backlog Queue를 소모하지 않음) 2. TCP 연결유지 시간 조정 3. 임계치 기반 4. First SYN Drop |
ACK Flooding | 3-Way-Handshake 악용하여 대량의 ACK 패킷 전달 | 1. 임계치 기반 2. 비정상 TCP 패킷 차단 (방화벽 -> 3-way-handshake 거치지 않는 패킷 차단) |
|
DNS Query Flooding | DNS서버에 대량의 DNS질의 | 1. 임계치 기반 2. 비정상 질의 차단 (비정상 도메인 질의, 랜덤한 호스트 값) |
|
웹/DB 부하 공격 | HTTP GET Flooding | 3-way-handshake 세션 맺은 후, HTTP GET 메소드를 요청하여, 웹서버와 DB자원 소진 | 1. 상태코드 4xx 차단 IP 설정 2. 임계치 기반 3. 동일 URL 대량 요청 IP 차단 4. 쿠키값 추가 응답 -> 쿠키 값 미포함 사용자 차단 |
Hulk DoS | 공격대상 웹사이트 주소를 지속적으로 변경하면서 대량 HTTP GET 요청 | ||
Hash DoS | Hash 테이블에 Hash Contention을 발생시켜 지속적인 Hash Collision으로 CPU 부하 | 1. HTTP 요청 길이 제한 2. 랜덤 해쉬함수 사용 |
|
Slowloris Attack (Slow HTTP Header Dos) |
헤더 개행문자(\r\n)를 조작하여 세션을 끊내지 않음. | 1. Session Timeout 설정 2. 시그니처 차단 |
|
RUDY Attack (Slow HTTP POst DoS) |
Post Method를 매으 크게 설정한 후 분할하여 서버에 장시간 전달 | 1. Content-Length 임계치 설정 2. Session Timeout 설정 |
|
Slow read Attack (Slow HTTP Read DoS) |
windows Size를 낮게 설정하여 서버로 전달 | 1. 비정상 windows size 패킷 차단 2. Session Timeout 설정 |
[DRDoS]
구분 | 내용 | 보완방법 |
DNS Reflection Attack |
1. DNS 통신은 DNS 서버간의 통신이기에, 출발지 포트가 53/UDP이면서 목적지 주소가 DNS 서버가 아닌 패킷을 차단 2. DNS Query 패킷에 대한 임계치 값을 설정 |
|
NTP Reflection Attack | 1. 출발 포트가 123/UDP인 패킷을 차단 , 패킷에 monlist 값이 포함될 경우 차단 - 외부망 NTP 사용 : 화이트리스트 정책 |
|
CLDAP Reflection Attack |
1. 외부로부터 들어오는 CLDAP Response 패킷(UDP 프로토콜을 사용하며 출발지 Port는 389번을 사용함)은 차단 | |
SSDP Reflection Attack |
1. 외부로부터 들어오는 SSDP Response 패킷(UDP 프로토콜을 사용하며 출발지 Port는 1900번을 사용함)은 차단 | |
Memcached Reflection Attack : |
1. 외부로부터 인입되는 Memcached Response 패킷 (UDP 프로토콜을 사용하며 출발지 Port는 11211번을 사용함)은 차단 | |
WS-Discovery Reflection Attack | 1. 외부로부터 인입되는 UDP 프로토콜(출발지 Port 3702)을 차단해야 함 | |
CoAP Reflection Attack | 1. 외부 노출이 되지 않아야 하기 때문에 5683번 Port 로 인입되는 UDP 프로토콜 패킷은 차단해야 함 | |
Jenkins Reflection Attack |
1. UDP 프로토콜 중 출발지 Port를 33848번으로 사용하는 패킷(Jenkins Response Packet)에 대하여 차단하는 정책 설정 | |
SNMP Reflection Attack | 1. 161번을 출발지 Port로 사용하는 패킷을 최상단에서 차단 |
스위치 환경 스니핑 공격 (ARP)
※ 학습 목표
구분 | 내용 | 보안방법 |
Switch Jamming Attack (Mac Flooding Attack) |
Switch MAC Address Table의 buffer를 Overflow 시켜서 Switch가 Hub처럼 동작하게 만드는 기법 | 1. 네트워크 상의 Promiscuous Mode (무차별 모드) 점검 2. ARP Cache Table 내부 IP Static 설정 (재부팅 시 정책 사라짐) 3. 스니핑 전용 탐지 도구 (ARP Watch, Anitsniff, CPM, Neped) |
ARP Spoofing Attack | MAC주소 위조 → ARP Reply 패킷 지속적 전송 → 희생자 ARP Cache Table 변조 → 스니핑 가능한 구조에서 공격자는 IP Forwarding 기능을 활성화 | |
ARP Redirect Attack | Router/Gateway 주소로 Mac 변조 → 외부나가는 패킷 스니핑 | 1. ICMP Redirection 기능 해제 |
ICMP Redirect Attack | ICMP Redirect Message를 악용하여 희생자의 라우팅 테이블 변조 | |
SPAN(Swich Port Analyzer) / Port Mirroring Attack |
스위치 관리 포트 접근 | 물리보안 |
Router 보안
※ 학습 목표
구분 | 내용 |
Ingress Filtering | |
Egress Filtering | |
Blackhole Filtering | |
Unicast RPF |
SSL/TLS
※ 학습 목표
[SSL 특징]
SSL 보안 서비스 | 내용 |
기밀성 (Confidentiality) |
* 대칭 암호(Symmetric Cipher)를 이용한 송수신 메세지 암호화를 통해, 기밀성 제공 |
무결성 (Integrity) |
* 메세지 인증 코드(MAC : Message Access Code)를 통해, 송수신 메세지의 위/변조 여부를 확인할 수 있는 무결성 제공 |
인증 (Authentication) |
* 공개키 인증서를 이용한 Server/Client 간 상호 인증을 수행 |
(HTTPS-443/TCP, SMTPS-465/TCP, FTPS-990/TCP, TELNETS-992/TCP 등)
[SSL/TLS Handshake]
SSL/TLS 완전협상 과정 | 내용 |
1. Client Hello | * 클라이언트가 지원 가능한 SSL/TLS 버전, 암호 도구 목록(Cipher Suites), 압축 방식 등을 Server에 전달하는 메세지 * Client Random : 클라이언트가 생성하는 32Byte 난수값 - 임의 난수 28byte + 현재 시간 및 날짜 4byte으로, Master Secret 및 Key Block 생성 시, Salt 역할 수행 * Session ID : 서버 세션 식별을 위한 ID - 클라이언트가 처음 세션을 생성할 때(완전 협상)에는, 빈값을 전달하고, 이미 생성된 세션을 재사용할 때(단축 협상)에는, 세션 ID를 담아서 전달 * 암호 도구 목록(Cipher Suites) : 클라이언트에서 지원 가능한 정보를 담아서 전송 - 키 교환 및 인증 알고리즘, 암호 명세(Cipher Spec)으로 구성 -> 형식 : SSL/TLS_(키 교환 및 인증 알고리즘)_WITH_(Cipher Spec) - Cipher Spec(암호 명세) : 대칭 암호 알고리즘, 암호키 길이, 블럭 암호모드, HMAC용 해시 알고리즘 등으로 구성 ex) TLS_RSA_WITH_AES_256_CBC_SHA256 : 키 교환 및 인증 알고리즘으로 RSA 사용, 대칭 암호 알고리즘으로 AES 사용, 암호키 길이 256bit, 블록 암호 모드는 CBC, HMAC용 해시 알고리즘은 SHA-256 사용 ex) TLS_DHE_DSS_WITH_AES_256_GCM_SHA256 : 키 교환 알고리즘으로 DHE(Ephemeral Diffie-Hellman), 인증 알고리즘으로 DSS, 대칭 암호 알고리즘 AES, 암호 키 길이 256, 블럭 암호 모드 GCM, HMAC용 해시 알고리즘 SHA-256 사용 * SSL/TLS에서 Diffie-Hellman 키 교환 유형 1. Ephemeral Diffie-Hellman(임시 디피 헬먼) : 매 협상 시 마다, 새 Diffie Hellman 개인키(임의 정수값)을 생성, 공개 Diffie-Hellman 매개변수에 대한 서명(Cipher Suite의 인증/서명 알고리즘 이용)을 통해 인증을 수행 2. Anonymous Diffie-Hellman(익명 디피 헬먼) : 임시 방식과 동일하게 새로운 Diffie-Hellman 개인키(임의 정수값)을 생성하나, 매개변수에 대한 인증을 수행하지 않아 MITM 공격에 취약, 해당 키 교환 방식의 Cipher Suite는 사용하지 않는 것을 권고 |
2. Server Hello | * 사용할 SSL/TLS 버전, 암호 도구(Ciper Suite), 압축 방식 등을 클라이언트에 전달하는 메세지 * Server Random : 서버가 생성하는 32byte 난수값 - 임의 난수 28byte + 현재 시간 및 날짜 4byte로, master secret 및 Key block 생성 시, Salt 역할 수행 * Session ID : 새롭게 생성하거나 존재하는 세션 ID 정보 |
3. Server Certificate (선택적 메세지) |
* 필요 시, 서버 인증서 목록(서버 인증서 및 인증서에 서명한 인증기관들의 인증서 목록)을 클라이언트에게 전달 |
4. Server Key Exchange (선택적 메세지) |
* 필요 시, 키 교환에 필요한 정보를 전달 - 키 교환 알고리즘으로 Ephemeral Diffie-Hellman을 사용할 시, 공개 Diffie-Hellman 매개변수(소수 p, 원시근 g, 서버 Diffie-Hellman 공개키)를 서명 알고리즘으로 서명하여, 서명값과 함께 전달 |
5. Certificate Request (선택적 메세지) |
* 필요 시, 클라이언트 인증을 위한 인증서를 요청 - 요청 시, 서버측에서 인증 가능한 인증기관 목록을 제공 |
6. Server Hello Done | * Server Hello 종료 과정을 알림 |
7. Client Certificate (선택적 메세지) |
* 필요 시(서버의 Certificate Request 메세지 수신 시), 클라이언트 인증서 목록을 전달 |
8. Client Key Exchange | * 키 교환에 필요한 premaster secret을 생성 후 서버에 전달하는 메세지 - 키 교환 알고리즘에 따라 premaster secret 생성 방식이 다름 RSA : premaster secret(난수값) 생성 후 수신한 서버 인증서의 공개키를 이용하여 암호화 전송 Diffie-Hellman : 클라이언트 Diffie-Hellman 공개키를 생성하여 서버에 전달, 클라이언트와 서버는 각각 Diffie-Hellman 연산을 통해 공통의 premaster secret 생성 |
9. Certificate Verify (선택적 메세지) |
* 필요 시(서버의 Certificate Request 메세지 수신 시), 클라이언트가 보낸 인증서에 대한 개인키를, 클라이언트가 가지고 있음을 증명 - 현재까지의 핸드셰이크 과정에서 주고 받은 메세지와, master secret을 조합한 해시값에, 클라이언트의 개인키로 서명하여 전달 |
10. Change Cipher Spec | * 협상한 암호명세(Cipher Spec)를 이후부터 적용/변경함을 알리는 메세지 |
11. Finished | * 협상 완료를 서버에 알림 |
12. Change Cipher Spec | * 협상한 암호명세(Cipher Spec)를 이후부터 적용/변경함을 알리는 메세지 |
13. Finished | * 협상 완료를 클라이언트에 알림 |
SSL/TLS 단축협상 과정 | 내용 |
1. Client Hello | * 사용할 Session ID와 Client Random을 전달 |
2. Server Hello | * Server Random을 전달 |
[SSL 취약점]
구분 | 내용 | 보안방법 |
Open SSL의 HeartBleed |
||
SSL 3.0 취약점과 Poodle |
||
FREAK 공격과 암호 수출 규제 |
||
완전 순방향 비밀성 | 1. 서버 공개키와 개인키를 이용, 키 교환을 수행(RSA 방식)할 시, 공격자는 MITM을 통해 트래픽을 가로채고, 서버 개인키를 이용하여 세션키/비밀키 및 송수신 데이터 복호화가 가능 2. 희생자는 유출된 서버 인증서를 폐기(CRL 또는 OCSP Protocol을 통한 폐기)하여도, 유출된 서버 개인키로 보호되는 이전 트래픽 정보를 공격자가 보관한다면, 이들 모두 복호화가 가능 |
* PFS (Perfect Forward Secrecy : SSL/TLS와 완전 순방향 비밀성) : SSL/TLS 통신의 서버 개인키 노출 문제점을 해결하기 위해 등장한 암호학적 성질을 순방향 비밀성(FS) 또는 완전 순방향 비밀성(PFS)라고 칭함 PFS : 클라이언트 서버 간, 키 교환에 사용되는 개인키가 노출 되어도, 이전 트래픽의 세션키/비밀키 기밀성은 그대로 유지되어 통신 내용을 알 수 없는 암호학적 성질 |
IPSec
※ 학습 목표
[IPSec 특징]
구분 | 내용 |
기밀성 (Confidentiality) |
ESP 프로토콜을 통해 네트워크 구간 암호화 수행 (AH 제외) |
비 연결형 무결성 (Connectionless Integrity) |
HMAC(Hash-based Message Authentication) 위변조 방지 기법 사용 |
재전송 공격 방지 (Protection Against Replays) |
패킷 번호(Sequence Number) 부여 |
접근 제어 (Access Control) |
보안 정책 설정 |
흐름제어 | 터널/보안 게이트웨이 |
[AH 프로토콜 동작 모드]
- 인증
전송모드
IP-H | AH-H | IP Payload |
터널모드
New IP-H | AH-H | Original IP-H | IP Payload |
[ESP 프로토콜 동작모드]
- 인증, 기밀성
전송모드
IP-H | ESP-H | IP Payload | ESP-T | ESP AUTH |
터널모드
New IP-H | ESP-H | Original IP-H | IP Payload | ESP-T | ESP AUTH |
무선 랜
※ 학습 목표
구분 | WEP (Wired Equivalent Privacy) |
WPA1 (Wi-Fi Protected Access) |
WPA2 (Wi-Fi Protected Access) |
WPA3 (Wi-Fi Protected Access) |
Release | 1999년 | 2003년 | 2004년 | 2018년 |
표준 | IEEE 802.11b | IEEE 802.11i | ||
암호화 | RC4 | RC4-TKIP | AES-CCMP | AES-CCMP AES-GCMP |
무결성 검증 | CRC-32 | MIC | CBC-MAC | GMAC |
인증방법 | WEP-OPEN WEP-SHARE |
PSK(Personal) IEEE 802.1x with EAP(Enterprise) |
PSK(Personal) IEEE 802.1x with EAP(Enterprise) |
SAE(Personal) IEEE 802.1x with EAP(Enterprise) |
Key 관리 방법 | X | 4-way handshaking | SAE handshaking | |
문제점 | 사전 공유 비밀키 크랙 취약(암호화 제한) | RC4 알고리즘 | 키 재설치 공격(크랙) |
'Certification > 2. 정보보안기사' 카테고리의 다른 글
[정보보안기사 실기] [3. Apllication 보안] 요약 본 (0) | 2024.08.09 |
---|---|
[정보보안기사 실기] [4. 정보보안 일반] 요약 본 (0) | 2024.07.27 |
[2. 네트워크 보안] 무선랜 보안 (0) | 2024.07.21 |
[2. 네트워크 보안] 스위치 환경 스니핑 (0) | 2024.07.21 |
[2. 네트워크 보안] [DoS] DRDoS (0) | 2024.07.21 |