- 스니핑 (Sniffing)
사전적 의미: 코를 훌쩍이는, 킁킁거리며 냄새를 맡는
보안 공격에서 의미: 도청, 템페스트(Tempest) 장비를 통한 전기적 신호 분석
공격 종류
- 스위치 재밍 (Switch Jamming) : 스위치가 가진 MAC 테이블을 가득차게 하여 브로드캐스트를 발생시키는 공격 (MACOF 라고도 불림)
- SPAN Port Tapping : 스위치의 포트 미러링 기술을 이용한 공격으로 미러링된 포트로 정보를 획득하는 공격
- ARP Redirect : 공격자가 라우터인 것처럼 속여 외부로 나가는 패킷을 공격자를 거쳐 나가도록 하는 공격
- ICMP Redirect : ARP Redirect와 동일
※ARP Redirect, ICMP Redirect 차이: ARP Redirect는 사용자의 ARP 캐시 테이블 정보를 변조, ICMP Redirect는 라우팅 테이블 정보를 변조 - 스푸핑 (Spoofing)
사전적 의미: 패러디한 것, 도용하다
보안 공격에서 의미: 허가 받은 사용자로 위장하여 권한 획득, 정보 탈취를 하는 행위
과정: ARP Reply를 지속적으로 브로드캐스트하여 ARP Cache Table에 있는 해당 IP의 MAC 주소를 공격자의 MAC 주소로 바꾼
공격 종류
- ARP Spoofing: 클라이언트/서버 IP의 MAC 주소를 공격자의 MAC 주소로 변경하여 중간에서 가로채는 공격 방법(공격 방법은 ARP Redirect와 동일하나 상대방 MAC 주소를 알고 있고, 적극적으로 공격한다는 과정에서 차이를 둠)
- IP Spoofing: 다른 사용자가 사용 중인 IP를 강탈해 공격하는 방법
- DNS Spoofing: DNS 서버보다 DNS 응답 패킷을 빨리 보내 공격대상이 잘 못 된 웹사이트로 접근하도록 유도 - ARP (Address Resolution Protocol)
IP 주소를 MAC 주소와 매칭 시키기 위한 프로토콜 - ICMP (Internet Control Message Protocol)
패킷 전달 외에 아무 기능이 없는 IP의 패킷 전송 중 에러 발생 시, 에러 발생 원인을 알려주거나 네트워크 상태를 진단해주는 기능을 제공하는 프로토콜 - 네트워크 장비
허브: LAN 내의 컴퓨터와 컴퓨터를 연결하기 위한 단순한 장비로 연결 대상이 아닌 컴퓨터에도 패킷이 전달됨(MAC주소 관리 안 함)
스위치: 허브의 단점을 보완한 장비로 MAC 주소를 관리하여 실제 연결이 필요한 컴퓨터끼리만 연결하도록 함
라우터: LAN 외부의 네트워크인 인터넷 연결을 위한 장비로 IP를 기반으로 경로 전달 및 데이터를 수신함
공유기: 하나의 회선으로 여러 컴퓨터가 접속할 수 있도록 IP를 할당하는 장비 - TCP/IP 계층
- 포트 스캔 (Port Scan)
서버에 열려있는 TCP/UDP 포트를 검색
서비스를 위한 포트 연결이 아닌 취약점으로 삼기위한 포트 찾는 행위를 의미
스윽 훓어본다해서 Sweep 이라고도 함
종류
- Open Scan : 프로토콜의 정상적인 연결을 시도하며 서버에 연결 로그가 남는 스캔 방법
1. TCP Open Scan: 포트가 열려있으면 SYN + ACK 패킷을 응답받음
2. UDP Open Scan: 포트가 열려있으면 응답이 없고, 닫혀 있는 경우 ICMP Unreachable 패킷을 응답받음
- Stealth Scan : 연결 과정의 일부 또는 수정된 패킷을 전달하여 서버에 로그가 남지 않도록 스캔하는 방법
1. TCP SYN Scan(Half-Open Scan): SYN + ACK 패킷을 응답받는지 확인하기 위해 SYN 패킷만 전달하며, 확인 후 FIN 패킷을 전달해 연결을 바로 종료함 (RST + ACK 패킷을 응답받으면 포트가 닫힌 상태)
2. TCP FIN Scan: FIN 패킷을 보내보고, RST 응답이 오면 닫힌 상태로 판단 (응답이 오지 않으면 열려있거나, 방화벽 때문에 요청자체가 제외됨)
3. TCP Xmas Scan: FIN, URG, PUSH 패킷을 보내보고, RST 응답이 오면 닫힌 상태로 판단 (응답이 오지 않으면 열려있거나, 방화벽 때문에 요청자체가 제외됨)
4. TCP NULL Scan: NULL 패킷을 보내보고, RST 응답이 오면 닫힌 상태로 판단 (응답이 오지 않으면 열려있거나, 방화벽 때문에 요청자체가 제외됨)
5. TCP ACK Scan: 포트가 열림/닫힘을 판단하는 스캔이 아닌 방화벽 룰셋, 포트 필터링, 상태기반 필터링인지를 판단하기 위한 스캔으로 ACK 패킷을 보내서 필터링 되지 않았으면 RST 패킷을 응답받게 됨 (응답이 오지 않거나, ICMP 오류 메시지가 발생한 경우에는 필터링 된 경우) - 워터링 홀 (Watering Hole)
공격대상이 방문할 가능성이있는 합법적인 웹 사이트를 미리 감염시키고 잠복하고 있다가 공격대상이 방문하면 악성코드를 감염시키는 공격 - 피싱 (Phising)
주로 사용자의 실수, 부주의를 이용하여 개인정보(신용카드, 비밀번호등)을 탈취하는 공격 - 스피어 피싱 (Spear Phising)
불특정 다수를 대상으로 하는 피싱이 아닌 목표물의 주변 정보를 수집 후 접근하는 피싱 - 파밍 (Pharming)
사용자의 컴퓨터를 악성코드에 감염시킨 후, 사용자가 정상적인 URL로 웹 사이트를 방문할 때 피싱 사이트로 연결시키는 피싱 - NAT (Network Address Translation)
- 사설 IP주소를 공인 IP로 변환
- 사설 IP 주소를 사용하여 부족한 IP주소를 확장 가능
- 내부 네트워크 주소를 드러내지 않아 보안성 향상 가능
- 종류
1. Static NAT
- 내부 IP와 외부 IP가 1:1로 대응됨
- IP 주소 절감 효과는 없음
2. Dynamic NAT
- 여러 개의 내부 IP와 여러 개의 외부 IP를 동적으로 할당
- IP 주소 절감이 가능하며 보안 측면에서도 장점
3. Port Address Translation
- 동일한 하나의 외부 IP를 포트 번호로 구분하여 여러 개의 내부 IP로 사용
4. Policy NAT
- 출발지와 목적지에 따라 주소를 변환
5. Bypass NAT
- NAT에 해당하지 않는 패킷은 그냥 라우팅 시킴 - Heartbleed
- openssl 1.01f 이전 취약점
- 서버의 정상 기동을 확인하는 HeartBeat 를 이용한 취약점
- 응답 받을 데이터 크기를 임의로 크게 키워 임의의 메모리 데이터를 반환 받는 공격 - Session Hijacking
- 공격 대상이 이미 시스템에 접속되어 세션이 연결되어 있는 상태를 가로채는 공격
- 인증 작업이 완료된 세션을 공격하기 때문에 OTP등의 추가 인증 기법을 사용하는 사용자 인증을 무력화 - ACK Storm
- 세션 하이재킹에 의해 루핑이 발생하는 현상
- 패킷의 유실 및 재전송이 많이 일어나 패킷량이 비정상적으로 많이 증가 - IP Fragmentation (IP 단편화)
- 한 번에 전송할 수 있는 패킷의 크기는 MTU(Maximum Transmission Unit)을 초과할 수 없음
- 패킷을 MTU 이하로 분할하는 과정을 단편화라고 함
- 예제: 4000byte 의 1500 MTU 단편화
순서 | 패킷 크기 (byte) | More Flag | Offset |
1 | 1500 byte (TCP 헤더는 20byte 이므로 페이로드는 1480byte를 보냄) |
1 (단편화가 더 진행되어야 함을 의미 true/false) | 0 |
2 | 1500 byte | 1 | 185 (Offset은 8byte 단위로 표시, 이전 페이로드 1480 / 8) |
3 | 1040 byte | 0 (단편화 종료) | 370 (= 이전 페이로드 2960 / 8) |
- DRDoS (Distributed Reflection Denial of Service)
- 출발지의 IP를 위조하여 정상 요청하면 위조된 출발지(타겟)에 대량의 응답 값이 전달되는 것을 이용한 공격방법
- 정상적인 서비스를 제공 중인 서버를 활용하는 공격기법으로 DDoS 에이전트 설치의 어려움을 보완한 공격
- TCP 프로토콜 및 라우팅 테이블의 취약점을 이용한 공격
- IP Spoofing 활용 (추적 방지)
- 반사체(Reflector)의 사용 (공격력 증대) - Land Attack
- 대부분 운영체제가 대응된 상태로 이론만 존재한다고 봐도 되는 공격
- 출발지와 목적지가 같은 패킷을 만들어 공격 대상이 자기 자신에게 응답하도록 해 부하를 발생
- 루프백(loopback)과 비슷해 보이나 루프백은 실제로 외부에 패킷을 전달하지 않으며,
외부에서 받은 것처럼 동작 시키는것에서 차이가 있음