--switch jamming
스위치에 임의로 생성한 MAC 주소를 출발지로 하는 패킷을 다량으로 전송하여 스위치 MAC Address table이 가득 차 허브처럼 동작(모든 포트로 브로드캐스트)하도록 하는 점을 이용한 공격
--arp cache poisoning/arp spoofing
공격자가 자신의 특정 호스트의 MAC주소를 자신의 MAC주소로 조작한 ARP REPLY 패킷을 공격 대상에게 지속적으로 전송하면 희생자의 ARP 캐시 테이블에 특정 호스트의 주소가 공격자의 MAC 주소로 변경됨. 이를 통해 희생자로부터 특정 호스트로 향하는 패킷을 스니핑할 수 있음.
공격자가 자신의 MAC주소로 조작된 ARP 패킷을 A에게는 B가 보낸 것처럼, B에게는 A가 보낸 것처럼 전송하여 A와 B 사이에 전송되는 내용을 확인
--arp redirect
공격자가 자신이 라우터인 것처럼 MAC주소를 조작한 ARP REPLY 패킷을 브로드캐스트하여 해당 네트워크에 연결된 모든 호스트의 ARP cache table의 라우터 주소를 자신의 MAC주소로 변조시켜 외부로 향하는 모든 패킷을 스니핑하는 공격
--ip spoofing
출발지 IP주소를 공격 대상의 IP 주소로 조작한 패킷을 보내 공격 대상으로 향하는 패킷을 가로채는 공격
--tcp 세션 하이재킹
서버와 정상 통신하던 클라이언트 사이에 위치한 공격자가 서버로 RST를 보내 통신을 끊고 자신이 기존의 클라이언트를 대신해 통신을 이어가는 공격. 클라이언트는 연결이 끊긴 줄 모르며, 서버와 클라이언트 사이에서 패킷을 엿보며 Seq num을 확인해두었기 때문에 서버와의 새로운 세션을 연결할 수 있음.
--포트 스캔 공격
공격자가 침입 전 공격 대상 시스템의 어떤 포트가 열려있는지 파악하기 위해 선행되는 기법. 주로 nmap 명령 사용.
1) TCP 스캔
① half-open scan: 스텔스 스캔 방식으로 상대로부터 응답이 오면 RST를 전송하여 로그가 남지 않게 함. 공격 대상으로 SYN을 전송하고, 열린 포트는 SYN+ACK를 닫힌 포트는 RST+ACK로 응답
>> 대표적인 스텔스 스캔 방식: FIN(FIN 제어비트만 설정)/NULL(아무런 제어비트 설정하지 않음)/XMAS(URG, PSH, FIN 제어비트를 설정) 스캔이 있음. 열린 포트에서는 응답 없고, 닫힌 포트인 경우 RST+ACK으로 응답
② TCP ACK scan: 포트 오픈 여부 판단 목적이 아닌 방화벽 필터링 정책 확인 목적. ACK 플래그가 설정된 TCP 패킷 전송했을 때, 방화벽 필터링 정책이 없다면 RST로 응답, 방화벽 필터링 정책을 사용 중이라면 DROP 필터링일 때 응답 없음, REJECT 필터링일 때 ICMP unreachable로 응답
**SYN+FIN 동시 설정해서 전송할 경우, 일부 구형의 IDS/IPS에서 FIN이 설정된 경우 무조건 허용하는 경우가 있음
2) UDP 스캔
포트 열려있는 경우 UDP 응답/응답없음, 포트 닫힌 경우 ICMP unreachable 응답. 방화벽 필터링 정책이 있는 경우에는 필터링 정책에 따라 응답 없거나 unreachable로 응답
3) Decoy 스캔
다양한 포트 스캐닝을 수행할 때 스캔 대상 서버에서 스캔 수행하는 쪽의 주소를 식별하기 어렵도록 다양한 주소로 위조된 주소로 스캔하는 방법. -oN: 일반파일로 출력, -oX: XML 파일로 출력, -oG: Grepable(grep, awk 등으로 분석하기 편한 형태) 파일로 출력, -O: 대상의 OS 정보 출력
--DoS(Denial of Service 공격)
공격 대상 시스템이 정상적인 서비스를 할 수 없도록 가용성을 해치는 공격.
① ping of death: ping 명령으로 ICMP request 메시지를 매우 큰 크기로 전송해 MTU에 의해 단편화가 발생하도록 하여 시스템에 부하가 생기도록 한다. 단편화된 패킷을 재조합하는 과정에서 시스템에 많은 부하가 발생하는 점을 이용 >> 일반적인 ping 패킷은 단편화가 이루어지지 않으므로 분할이 일어나는 ping패킷에 대해서는 공격으로 간주하고 필터링
② Land attack: 출발지 주소와 목적지 주소가 같은 패킷을 전송하여 공격 대상 시스템 내에서 무한 루핑이 발생하도록 함으로서 공격 대상 시스템의 자원을 소진시키는 공격. >> 출발지와 목적지가 동일한 패킷은 필터링
③ Smurf attack: 출발지를 공격 대상의 IP로 조작한 ping 패킷을 브로드캐스트함으로써 공격 대상으로 대량의 ping 응답 패킷이 전송되도록 하여 가용성을 해치는 공격 >> 증폭 네트워크로 사용되는 것을 막기 위해 다른 네트워크로부터 direct braodcast로 들어오는 패킷을 차단하도록 라우터 설정(#no ip directed-broadcast)을 하고, 침입차단시스템을 통해 동일한 icmp 응답 패킷은 drop하도록 설정. 브로드캐스트로 전송된 icmp 요청 패킷에는 응답하지 않도록 설정.
④ tear drop: IP패킷의 재조합 과정에서 조작된 단편의 오프셋 정보(IP fragment 오프셋이 중첩되도록 조작)로 인해 수신시스템에 오류/부하가 걸리도록 하는 공격. >> OS의 보안 패치를 최신으로 유지
**tiny fragment attack(최초의 IP 단편을 헤더가 두 개의 IP 단편에 담길 정도로 작게 만들어 첫 번째 단편에 목적지 포트가 포함되지 않도록 하여 패킷 필터링 장비를 통과하고, 두 번째 단편에 목적지 포트를 포함해 첫 번째 단편이 통과하였으므로 두 번째 단편도 통과됨. 목적지 포트에서 IP 단편 재조합이 일어나 공격자가 원하는 포트로 연결되도록 함)/fragment overlap(첫 번째 IP 단편에는 패킷 필터링 장비에서 허용하는 포트를 설정하고, 두 번째 단편에는 공격자가 원하는 목적지 포트를 포함하도록 함. 이후 IP 오프셋을 조작하여 첫 번째 단편이 두 번째 단편의 목적지 포트를 덮어쓰도록 하여 필터링 장비 통과)은 DoS는 아니고, 침입차단시스템을 우회하여 허용하지 않는 공격 대상 시스템에 접근하기 위한 공격임. >> IP 단편화를 통한 우회 공격의 탐지가 가능한 패킷 필터링 장비(방화벽, 침입차단시스템 등)을 사용
--DDoS(Distributed DoS)
공격자(봇마스터)는 스팸 메일이나 악의적인 웹 사이트 등을 통해 PC를 감염시켜 좀비 PC(봇넷)로 만들고, 공격 명령을 C&C서버(Command&Control 서버/마스터)로 전송함. C&C서버는 공격 명령을 봇넷으로 전달해 실제 공격을 수행하도록 함. 봇넷 제어 방법으로는 C&C서버를 이용하는 중앙집중형 제어/봇넷 간 공격 명령을 전파시키는 분산형(P2P 봇넷)방식이 있음. 봇넷은 Fast Flux(하나의 C&C 서버 도메인에 다수의 IP주소를 할당해 DNS 질의 시마다 지속적으로 IP가 변경되도록 함)/DGA(Domain Generation Algorithm_약속된 알고리즘에 따라 C&C 서버 도메인을 지속적으로 동적 생성하여 도메인 기반의 탐지 및 차단을 우회할 수 있는 기법으로, 다수의 임시 C&C서버가 도메인이 동적으로 생성되기 때문에 보안장비 입장에서 이를 모두 탐지하고 차단하기 어렵게 함)/Domain shadowing(알려진 합법적인 도메인의 서브 도메인을 C&C서버 도메인으로 사용하여 도메인 기반의 탐지 및 차단을 우회) 등의 방법을 이용해 보안 장비를 우회할 수 있음.
**DNS 싱크홀 서비스: KISA에서 배포한 알려진 C&C 서버 목록을 주기적으로 ISP 등 DNS 싱크홀 적용 기관의 DNS에 업데이트함으로써, 봇넷이 싱크홀 서버에 접속하도록 하여 공격자의 명령으로부터의 피해 방지하는 서비스
--DDoS 공격 유형
① UDP/ICMP Flooding: 다량의 UDP/ICMP 패킷을 공격 대상으로 전달 >> ACL 사용, 임계치 설정
② TCP SYN Flooding: 공격 대상의 TCP 연결 자원(TCP 백 로그 큐)를 소진시켜 더 이상 TCP 연결 불가하도록 함 >> Syn Cookie 기능 활성화, 방화벽/DDoS 대응 장비를 이용해 동일 클라이언트의 연결 요청에 대한 임계치 설정, 첫 번째 SYN 패킷 드롭 설정(정상적인 요청이라면 재요청 패킷 수신됨), 백로그 큐의 크기 확장
③ DNS query Flooding
④ HTTP GET Flooding: 공격자가 동일한 동적 컨텐츠에 대해 HTTP GET Request를 다량으로 발생시켜 다량의 HTTP GET Response를 받은 공격대상 웹서버가 해당 요청을 처리하기 위해 서버 자원을 과도하게 사용하도록 하여 정상 요청을 처리할 수 없도록 함 >> 요청 횟수에 대한 임계치 설정
⑤ HTTP GET Flooding with cache control
HTTP 서버가 부하를 줄이기 위해 많이 요청되는 데이터는 캐싱 서버를 통해 응답하도록 설정한 경우, 공격자가 HTTP 캐시 옵션(cache-control)을 조작하여 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도하여 웹서버의 자원을 소진시키는 공격 >> no-store(캐시 저장 금지_클라이언트로부터 요청받은 데이터를 디스크나 메모리, 별도의 시스템에 저장하는 것을 방지), must-revalidate(캐시 검증_웹서버와 별도로 캐싱 서버 운영하는 경우 웹서버는 캐싱 서버에 저장된 캐시 데이터에 대한 검증을 요구함)
⑥ Slow HTTP Header DoS(Slowloris): HTTP header의 개행문자를 조작하여 요청 메시지가 아직 다 전송되지 않은 것처럼 함으로써 연결 시간을 장시간 유지함
⑦ Slow HTTP Post DoS(Rudy): POST 방식으로 데이터 전송하면서 content-length를 매우 크게 설정한 뒤 소량의 데이터를 전송함으로써 공격 대상과의 연결 시간을 오래 유지하여 가용성을 해침
⑧ Slow HTTP Read DoS: TCP 흐름제어의 특징을 이용해 수신 버퍼(window) 크기에 여유가 없다고 응답하여 연결을 장시간 유지
>> Slow HTTP 공격에 대한 대응: 세션 연결 유지 시간에 제한 설정, 방화벽(iptables와 같은 필터링 정책)을 통해 동시 연결 수의 임계치 설정
--DRDoS
출발지 IP를 공격 대상의 IP로 위조한 요청 정보를 다수의 반사 서버에 보내는 DDoS공격으로, 공격대상이 증폭된 대규모의 메시지를 수신하게 하여 가용성을 해침. 요청 대비 응답이 커 공격의 효율이 좋으며, 다수의 반사서버를 경유하기 때문에 공격의 근원지 파악이 어려움.
1) TCP 기반: TCP 서버를 반사 서버로 이용. 공격 대상의 IP 주소를 출발지로 조작한 TCP 연결 요청 패킷을 전송. SYN+ACK에 대한 응답이 없을 경우 재전송을 다수 수행하기 때문에 응답이 증폭됨.
2) UDP 프로토콜을 사용하는 DNS, NTP, SNMP 등의 서비스 기반
**DNS 기반: DNS 서버를 반사 서버로 이용. 요청 대비 응답이 큰 DNS 질의 타입(ANY_질의한 도메인과 일치하는 모든 레코드 정보 반환/TXT_텍스트레코드정보 타입)을 다수 요청해 공격 대상에게 대량의 트래픽 유발시킴
>> IP주소가 조작된 패킷 ISP(Internet Service Provider)가 직접 차단, ICMP 이용한 DRDoS의 반사서버로 악용되지 않도록 네트워크 보안장비를 이용해 사용할 필요 없는 ICMP 패킷 필터링, 내부 사용자용 DNS 서버라면 내부 사용자 주소만 DNS 질의 수행할 수 있도록 제한, 동일 출발지 IP에 대해 단위 시간 당 요청 개수 제한(임계치) 설정
③ ICMP 기반: ICMP echo request 패킷을 다수의 반사 서버로 전송
'네트워크 보안' 카테고리의 다른 글
| 무선랜 보안 (0) | 2023.12.11 |
|---|---|
| 네트워크 기본 개념 (1) | 2023.12.11 |