스푸핑(Spoofing)
스푸핑이란 공격자가 마치 정상 유저인 것처럼 행세하는 공격 방식이다.
송신자처럼, 또는 수신자처럼 위장할 수 있다.
스푸핑은 세부적으로 4가지로 나눌 수 있다.
| 구분 | 공격 계층 |
| ARP 스푸핑 | 2계층 |
| IP 스푸핑 | 3계층 |
| ICMP 리다이렉트 | |
| DNS 스푸핑 | 7계층 |
ARP 스푸핑
ARP는 IP주소를 MAC주소로 변환하는 역할을 하는 프로토콜이다.
ARP 스푸핑은 공격자가 ARP 요청에 자신의 MAC 주소가 해당 요청에 대한 응답인 것처럼 속이는 공격이다.
그래서 ARP 테이블에는 공격자의 MAC 주소가 저장되어 이후에 정상 목적지가 아닌 공격자의 장치로 메시지가 보내지게 된다. 최종적으로는 정상 목적지로 메시지가 다시 전달되도록 한다.
ARP 스푸핑 탐지
- IP주소와 MAC 주소는 1대1 매칭이 되어야 하므로 와이어샤크와 같은 패킷 분석 프로그램을 통해 정보를 확인할 수 있다.
- arp - a 명령어를 통하여 중복된 MAC 주소를 확인한다.
- XArp와 같은 ARP 테이블 감시 프로그램을 사용한다.
ARP 스푸핑 방지
정적인 ARP 테이블 관리
IP 스푸핑
IP 스푸핑이란 IP 헤더에 포함되어 있는 출발지 IP 정보 등을 변조하여 위조된 정보를 보내도록 하는 공격이다.
합법적인 사용
웹 성능 테스트 프로그램 - 가상의 사용자를 만들어 가상의 IP를 할당하여 요청을 보내 웹 사이트의 성능을 측정한다.
IP 스푸핑 방지
- IP 주소 기반의 트러스트 관계를 맺지 않는다.
- 게이트웨이 외부에서 내부 IP주소를 출발 주소로 갖는 패킷을 필터링한다.
ICMP 스푸핑
ICMP (The Internet Control Message Protocol): 네트워크에 오류가 없는지 진단 / 제어하기 위한 프로토콜이다.
ICMP는 네트워크 진단(ping, tracert) 및 흐름 통제를 위해 사용한다.
ICMP 스푸핑은 ICMP 리다이렉트를 공격자가 보내는 것이다. 그래서 다음부터는 원래의 정상 게이트웨이가 아닌 공격자의 장치로 통신을 하도록 한다. 성공적인 공격을 위해 정상적인 게이트웨이로 재전송한다.
DNS 스푸핑
DNS: 도메인 주소를 IP주소로 변환시켜주는 서비스이다.
DNS 스푸핑은 보낸 도메인 주소의 응답으로 변조된 IP를 보내는 공격방식이다.
예전에 유행했던 가짜 은행 사이트 등이 그 예이다.
공격자는 스니핑으로 유저의 DNS 요청을 가로채 살펴보고 실제 DNS 서버에서 응답을 하기 전에 먼저 변조된 주소로 응답을 한다.
TCP의 경우 3-way-handshaking과 같은 장치가 있지만 DNS 응답인 UDP는 그런 제어가 없기 때문에 먼저 도착한 메시지가 선택된다.
캐시 포이즈닝: 랜덤 ID를 가진 DNS 질의 요청을 많이 보내서 공인 네임 서버와 DNS 서버 사이에서 사용되는 ID와 일치하는 경우 DNS 서버에 공격자의 IP주소를 저장시킬 수 있다.
캐시 포이즈닝 대책
- DNS 서버의 소프트웨어를 최신으로 업데이트한다.
- 외부의 DNS 질의에 대해서 DNS 서버가 순환 질의를 하지 않도록 한다.
- DNSSEC를 사용하여 암호화한 DNS 질의와 응답을 전달한다.
서비스 거부 (DoS)
DoS: 서비스에 대규모 요청을 보내 해당 서비스가 정상적인 제공을 하지 못하도록 방해하는 공격이다.
대역폭 소진 공격 - 네트워크 대역폭을 고갈시킴 (네트워크 인프라)
서버 마비 공격 - 해당 웹 서버의 기능을 못하도록 함 (공격 대상만)
분산 서비스 거부 (DDoS)
DDoS: 여러곳에 위치한 공격자가 서비스 거부 공격을 하는 방식
공격자, 마스터, 에이전트, 마스터로 구성된다.
에이전트: 실제로 공격을 하는 주체
마스터: 중간에서 공격자에게 명령을 맏아 에이전트로 전달한다.
TCP SYN Flooding
공격자가 TCP 요청을 서버로 보내지만 3-way-handshaking에서 마지막 ACK를 전달하지 않아 네트워크 대역폭을 낭비하도록 하는 공격 방법이다.
TCP SYN Flooding 대응 방안
- 대기큐 크기 증가
- 최대 접속 대기 시간을 감소시킨다. (ACK 패킷 대기 시간 감소)
- 침입 방지 시스템을 구축한다.
ICMP Flooding
대량의 ICMP echo 응답을 만들어서 공격하는 방식이다.
스머프(Smurf) 공격이라고도 한다.
악성코드로 인해 DDoS 공격을 할 수도 있다.
IP Flooding
Land 공격: 출발지 IP 주소를 변조 -> 목적지에서 무한 루프에 빠지도록 함
Teardrop 공격: IP 패킷의 순서를 변조 -> 패킷의 헤더를 중첩되도록 조작하여 재조합 과정에서 오류를 발생시키도록 함
HTTP GET Flooding
특정 웹페이지를 여러 에이전트에서 동시에 요청하여 서버를 다운시키는 공격 방식이다.
정상적인 요청인지 확인하기가 까다로워 무조건 차단할 수 없다.
특정 임계치를 넘어선 요청이 오면 무시하도록 하는 방법으로 대응할 수 있다.
HTTP CC (Cache Control) 공격 - 캐시 저장을 하지 않도록 캐시 관련 헤더를 변조하여 서비스의 부하를 증가시킴
동적 HTTP 요청 공격 - 요청하는 웹페이지 주소를 계속 변경하면서 공격하는 방식 -> 출발지 IP 주소를 가지고 차단하는 등의 대응을 할 수 있음
'공부 > 보안' 카테고리의 다른 글
| [보안] 인증 (Authentication) (0) | 2024.06.03 |
|---|---|
| [보안] 해시, 메시지 인증 코드, 전자서명 (0) | 2024.06.02 |
| [보안] 악성코드 / 소프트웨어 보안 (0) | 2024.05.31 |
| [보안] 인가 (Authorization) (0) | 2024.05.29 |
| [보안] 암호화 (0) | 2024.05.15 |