Super Kawaii Cute Cat Kaoani
본문 바로가기
{Lecture}/Information protection

[정보보호] 스푸핑 공격

by wonee1 2025. 10. 18.
728x90

스푸핑 공격 (Spoofing)

 

스니핑 공격이란?
네트워크 상의 데이터를 도청,가로채는 공격

 

 

⭐ 스푸핑 공격이란?

 

네트워크에서 신원을 위조하는 공격을 말한다. 스푸핑 공격은 여러 종류가 있다. ARP 스푸핑, IP 스푸핑, DNS 스푸핑이 있다. 

 

 

ARP 스푸핑 공격

 

 

 

MAC 주소를 속이는 공격으로, 로컬 네트워크에서 통신하는 서버와 클라이언트의 IP 주소에 대한 MAC 주소를 공격자의 MAC 주소로 속여 통신 흐름을 왜곡시킨다. 

 

  • ARP 스푸핑 과정:
    1. 공격자가 Server의 Client에 $10.0.0.2$에 해당하는 가짜 MAC 주소 CC를 알리고, Server에는 $10.0.0.3$에 해당하는 가짜 MAC 주소 CC를 알림.
    2. 공격자가 Server와 Client 컴퓨터에서 서로 통신하는 상대방을 자기 자신으로 알렸기 때문에 Server와 Client는 각각 공격자에게 패킷을 보냄.
    3. 공격자는 Server와 Client로부터 받은 패킷을 읽은 후, Server가 Client에 보내려던 패킷은 Client에 보내주고, Client가 Server에게 보내려던 패킷은 Server에 보냄.
  • ARP 테이블arp -a 명령으로 현재 인지하고 있는 IP와 MAC 주소 목록 확인 가능.
    • ARP 스푸핑 당하면 arp -a 결과 변경됨.
  • 대응책arp -s [IP 주소] [MAC 주소] 명령으로 MAC 주소 값을 고정(정적으로 ARP 테이블 설정).

 

 

 

IP 스푸핑 공격

IP 주소를 속여서 다른 사용자의 IP를 강탈하고 권한을 획득하는 공격을 말한다. 트러스트(신뢰 관계)를 맺고 있는 서버와 클라이언트 환경에서 주로 발생한다. 

 

  • 트러스트(신뢰 관계):
    • 클라이언트 정보를 서버에 미리 기록하여, 합당한 클라이언트가 접근하면 아이디와 패스워드 입력 없이 로그인을 허락하는 인증 방법.
    • 유닉스에서는 주로 /etc/host.equiv 파일에 클라이언트의 IP와 접속 가능한 아이디를 등록하여 설정.
      • 예: 200.200.200.200 root (해당 IP에서 root 계정 패스워드 없이 로그인 허용)
      • 예: 201.201.201.201 + (해당 IP에서 모든 계정 로그인 허용)
        • ++는 IP와 아이디 관계없이 모두 로그인 허용.

 

  • IP 스푸핑의 서버 접근:
    • 공격자는 클라이언트에 서비스 거부 공격을 수행하여 네트워크 출현을 막음.
    • 그 후 공격자 자신이 해당 IP로 설정 변경 후 서버에 접속하여, 스니핑으로 패스워드를 알아낼 필요 없이 서버에 접근.
      • 대응책트러스트를 이용하지 않는 것.

 

 

ICMP 리다이렉트 (Redirect)

 

 

 

 

네트워크 계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알려 패킷의 흐름을 바꾸는 공격. 정상적인 ICMP 리다이렉트 동작은 호스트가 더 효율적인 라우터가 있음을 알게 되면 라우팅 테이블을 업데이트하여 해당 라우터로 직접 패킷 전송한다. 

 

  • 공격: 공격자가 가짜 라우터 역할을 하여 ICMP Redirect 패킷을 보내 패킷 흐름을 공격자에게로 유도하여 스니핑.
  • 특징: 데이터 링크 계층의 공격이 아니므로 로컬 랜이 아닌 환경에서도 공격 가능.

 

 

DNS 스푸핑 공격

실제 DNS 서버보다 빨리 공격 대상에게 DNS response 패킷을 보내어, 공격 대상이 잘못된 IP 주소로 웹 접속을 하도록 유도하는 공격이다.

 

  • 공격 과정:
    1. 클라이언트가 DNS 서버에 접속하고자 하는 도메인 이름(예: www.wishfree.com)의 IP 주소를 문의(DNS query).
    2. 공격자는 클라이언트가 DNS query 패킷을 보내는 것을 확인.
      • 스위칭 환경: ARP 스푸핑과 같은 선행 작업 필요.
      • 허브 환경: 모든 패킷이 자신에게도 전달되므로 자연스럽게 확인 가능.
    3. 공격자는 로컬에 존재하므로 지리적으로 DNS 서버보다 가까워서, DNS 서버가 올바른 DNS response 패킷을 보내주기 전에 클라이언트에 위조된 DNS response 패킷을 보냄.
    4. 클라이언트는 공격자가 보낸 DNS response 패킷을 올바른 패킷으로 인식하고 위조된 웹 서버에 접속 (원래 DNS 서버의 응답은 버림).
    5. 공격자는 위조된 웹 서버를 만들어 클라이언트가 자주 가는 사이트를 복사해두고, 아이디와 패스워드를 입력받아 원래 사이트로 전달해주는 스크립트를 프로그래밍하여 아이디와 패스워드를 탈취.

 

 

 

  • 대응책:
    • 중요한 서버에 대해 DNS query를 보내지 않는 것.
    • 시스템 메모리의 정보 확인 후, hosts 파일에 등록된 정보를 확인.
    • hosts 파일에 중요 접속 서버의 URL에 대한 IP를 등록하여 DNS 스푸핑 방지 (모든 서버에는 적용 어려움).

 

 

 

 

 

 

 

 

728x90