본문 바로가기
I T/Network

IP Spoofing , ARP Spoofing

by 루솨 2015. 9. 23.

IP spoofing이란?

- spoofing이라는 것은 '속이다'라는 의미이고 IP spoofingIp자체의 보안 취약성을 악용한 것으로 자신의 IP를 속여서 접속(공격)하는 방법을 의미한다.


* 현재 알려진 TCP/IP 프로토콜의 약점을 이용한 IP spoofing은 다음과 같다.

- 순서제어번호 추측(Sequence number guessing)

- (Half)접속시도 공격(SYN flooding)

- 접속가로채기(Connection hijacking)

- RST를 이용한 접속끊기(Connection killing by RST)

- FIN을 이용한 접속끊기(Connection killing by FIN)

- SYN/RST패킷 생성공격(SYN/RST generation)

- 네트워크 데몬 정지(killing the INETD)

- TCP 윈도우 위장(TCP window spoofing)



** TCP Syn flooding이란....?

- 클라이언트가 서버에서 Syn패킷을 통해 연결 요청을 하게되면, 서버 쪽에서 Ack패킷을 보내고, 클라이언트는 이에 대한 ACK 패킷을 보낸다. 하지만 클라이언트 쪽에서 이 규칙을 무시하고, 연결 요청 SYN 패킷을 계속 보내게 되면, 서버 쪽에서는 ack_wait 상태로 들어가게 되는데, 이런 식으로 수신자의 자원을 소모시키는 공격을 일컫는다.



- 신뢰관계에 있는 두 시스템 사이에서 허가 받지 않는 자가 자신의 IP 주소를 신뢰관계에 있는 호스트의 IP주소로 바꾸어 속이는 것으로 rlogin, rsh와 같이 IP 주소로 인증하는 서비스를 무력화 할 수 있다.

, 공격자가 마치 신뢰성 있는 자가 송신한 것처럼 패킷의 소스 IP 주소를 변조하여 접속을 시도하는 침입 형태를 말한다.


- IP 스푸핑은 인터넷에 연결된 사용자가 IP 패킷을 마음대로 조작하여 패킷을 전송할 수 있다는 사실을 이용한다. 수신 호스트가 패킷을 판별할 때 단지 패킷에 적힌 IP 주소만을 가지고 송신 호스트를 판단하기 때문에 수신 호스트는 패킷이 어디서 왔는지 명확하게 알 수 있는 길이 없다

- 일반적으로 TCP 프로토콜을 이용해 통신은 3-way-handshaking 방식으로 이루어진다.

클라이언트가 SYN 패킷 송신 -> 서버는 SYN/ACK 패킷 응답 -> 클라이언트는 다시 응답 ACK 패킷을 보낸다. 이 과정이 두 호스트가 데이터를 교환하는 과정이다.

- 이 과정에서 공격자는 스푸핑한 소스 IP와 추측한 TCP 시퀀스 번호를 이용해서 공격대상 호스트를 마치 정상적인 다른 호스트와 연결된 것으로 착각하게 만들 수 있다.



- ARP Spoofing이란?

근거리 통신망(LAN) 하에서 주소 결정 프로토콜(ARP) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 맨 인 더 미들 공격 기법이다.

간단하게 말하면 MAC 주소를 속이는 기술이다. 2계층에서 작동하므로 IP와는 아무런 상관이 없다. 그리고 공격대상이 같은 랜에 있어야 한다.



*과정

로컬 영역 네트워크에서 각 장비의 IP 주소와 MAC 주소간의 대응은 ARP 프로토콜을 통해 이루어진다. 이때 공격자가 의도적으로 특정 IP 주소와 자신의 MAC 주소로 대응하는 ARP 메시지를 발송하면, 그 메시지를 받은 장비는 IP 주소를 공격자 MAC 주소로 인식하게 되고, 해당 IP 주소로 보낼 패킷을 공격자로 전송하게 된다. 이 때 공격자는 그 패킷을 원하는 대로 변조한 다음 원래 목적지 MAC 주소로 발송하는 공격을 할 수도 있다.

흔히 사용되는 공격 방식은 게이트웨이 IP를 스푸핑하는 것으로, 이 경우 외부로 전송되는 모든 패킷이 공격자에 의해 가로채거나 변조될 수 있다. 또는, 두 노드에 각각 ARP 스푸핑을 하여 두 장비의 통신을 중간에서 조작하는 기법도 자주 사용된다.


)

먼저 공격자의 MAC 주소가 AA라고 가정한다.

공격자는 클라이언트에게는 서버의 해당 MAC주소가 AA라고 가짜 패킷을 보내고, 서버에게도 클라이언트의 해당 MAC 주소가 AA라고 속인다.

공격이 성공하면 클라이언트와 서버가 서로 패킷을 전달하려고 하면 서로의 MAC주소가 AA라고 인식하기 때문에 패킷이 공격자의 시스템을 거쳐서 전달되게 된다.

그러면 공격자는 모니터로 편안~히 클라이언트와 서버의 패킷 흐름을 그대로 볼 수 있는 것이다.


* IP / ARP Spoofing 장애시 조치사항

  • 해당 장애 나는 L2SW L3SW의 접속하여 L3ARP table

    L2mac-address table 을 비교 한다

  • 장애발생의 mac-address 를 찾아 해당 L2 SW port 번호를 찾는다

  • 해당 L2 Sw에서 해당 portdisabled 시킨다




* 해결책

- L3스위치에서 해당 Ip별로 mac-addressstatic 으로 강제로 지정

- L2스위치에서 해당 포트별로 mac-address static 으로 설정

- L2스위치의 pvlan 설정을 통하여 신뢰 관계로 되어있는 각각의 포트별로 통신이 안되게 설정

- 하나의 서버에서 각 L2 SWmac-address table L3 SW ARP 를 약 3~5분 마다

검사하여 중복된 mac-address 가 있고 2~4회 검사시에도 중복될때 알람메세지를 통하여

장기간의 ARP spoofing 장애를 단시간에 조치 할수 있을것 같다.

( 해당 tables의 갱신이 늦게 되거나, 장비교체/추가 로 중복될수도있다)




'I T > Network' 카테고리의 다른 글

ipaccttable bps와 pps차이  (0) 2015.12.04
ip SLA with Cisco EEM  (0) 2015.10.06
snmpset  (0) 2015.08.30
tagged , untagged  (0) 2015.08.30
CIDR 변환 표  (0) 2015.08.30