링크 계층 보안
Link layer security링크 계층은 TCP/IP 모델에서 가장 낮은 계층입니다.네트워크 인터페이스 계층이라고도 하며 OSI에서 데이터 링크 계층과 물리적 계층이 대부분 같습니다.이 계층에는 결정적인 공격자가 악용할 수 있는 몇 가지 고유한 보안 취약성이 있습니다.
네트워크 인터페이스 계층
링크 계층은 호스트 시스템과 네트워크 하드웨어 간의 인터페이스입니다.전송 및 라우팅을 위해 데이터 패킷을 포맷하는 방법을 정의합니다.일부 일반적인 링크 계층 프로토콜에는 IEEE 802.2 및 X.[1]25가 포함됩니다.데이터 링크 계층 및 관련 프로토콜은 호스트 컴퓨터와 네트워크 하드웨어 간의 물리적 인터페이스를 제어합니다.이 계층의 목표는 네트워크에 연결된 호스트 간에 신뢰할 수 있는 통신을 제공하는 것입니다.네트워크 스택의 이 계층에서 제공하는 서비스는 [2]다음과 같습니다.
- 데이터 프레임 구성 – 데이터 스트림을 개별 프레임 또는 패킷으로 분할합니다.
- 체크섬 – 각 프레임에 대한 체크섬 데이터를 전송하여 수신 노드가 프레임을 오류 없이 수신했는지 여부를 확인할 수 있도록 합니다.
- 승인 – 신뢰할 수 있는 데이터 전송을 보장하기 위해 수신기에서 송신기로 양(데이터 수신) 또는 음(데이터 수신은 아니지만 예상됨)의 승인을 전송합니다.
- 흐름 제어 – 빠른 전송기가 느린 수신기를 압도하지 않도록 데이터 전송을 버퍼링합니다.
취약성 및 완화 전략
유선 네트워크
CAM(Content Address Memory) 테이블 소진 공격
데이터 링크 계층은 대상 하드웨어의 물리적 MAC(미디어 액세스 제어) 주소를 기반으로 데이터 패킷을 처리합니다.네트워크 내의 스위치는 스위치의 포트를 특정 MAC 주소에 매핑하는 CAM(Content Address Table)을 유지 관리합니다.이러한 테이블을 통해 스위치는 패킷을 의도한 물리적 주소로만 안전하게 전송할 수 있습니다.스위치를 사용하여 통신 중인 시스템만 연결하면 네트워크 허브보다 훨씬 뛰어난 보안을 제공합니다. 네트워크 허브는 모든 [3]포트를 통해 모든 트래픽을 브로드캐스트하여 도청자가 모든 네트워크 트래픽을 가로채고 모니터링할 수 있습니다.CAM 테이블 소진 공격은 기본적으로 스위치를 [4]허브로 바꿉니다.공격자는 테이블의 고정 메모리 할당이 가득 찰 때까지 CAM 테이블을 새 MAC-포트 매핑으로 플러딩합니다.이 시점에서 스위치는 더 이상 MAC-포트 매핑을 기반으로 트래픽을 전송하는 방법을 알지 못하며 기본적으로 모든 포트를 통해 트래픽을 브로드캐스트합니다.그런 다음 공격자는 암호, 전자 메일, 인스턴트 메시지 [5]등을 포함하여 스위치를 통과하는 모든 네트워크 트래픽을 가로채고 모니터링할 수 있습니다.
CAM 테이블 오버플로 공격은 스위치에 포트 보안을 구성하여 완화할 수 있습니다.이 옵션은 특정 스위치 포트의 MAC 주소를 지정하거나 스위치 포트에서 학습할 수 있는 MAC 주소 수를 지정합니다.포트에서 잘못된 MAC 주소가 감지되면 스위치가 문제가 되는 MAC 주소를 차단하거나 [6]포트를 종료할 수 있습니다.
ARP 스푸핑
데이터 링크 계층에서 네트워크 계층에 의해 할당된 논리적 IP 주소는 물리적 MAC 주소로 변환됩니다.신뢰할 수 있는 데이터 통신을 보장하기 위해 네트워크의 모든 스위치는 논리적(IP) 주소를 물리적(MAC) 주소로 매핑하기 위한 최신 테이블을 유지해야 합니다.클라이언트 또는 스위치가 수신하는 데이터 패킷의 IP-MAC 매핑에 대해 잘 모르는 경우 클라이언트 또는 스위치는 특정 IP 주소와 연결된 MAC 주소를 요청하는 ARP(Address Resolution Protocol) 메시지를 가장 가까운 스위치로 보냅니다.이 작업이 완료되면 클라이언트 또는 스위치가 새 매핑을 반영하도록 테이블을 업데이트합니다.ARP 스푸핑 공격에서 공격자는 자신의 MAC 주소와 함께 공격할 시스템의 IP 주소를 브로드캐스트합니다.그러면 모든 인접 스위치가 매핑 테이블을 업데이트하고 공격 대상 시스템의 IP 주소로 전송되는 데이터를 공격자의 MAC [4]주소로 전송하기 시작합니다.이러한 공격을 일반적으로 "중간에 있는 남자" 공격이라고 합니다.
ARP 스푸핑에 대한 방어는 일반적으로 ARP 응답에 대한 일종의 인증 또는 교차 확인에 의존합니다.인증되지 않은 ARP 응답은 차단됩니다.이러한 기술은 동적 및 정적 IP 주소가 모두 인증되도록 DHCP(Dynamic Host Configuration Protocol) 서버와 통합될 수 있습니다.이 기능은 개별 호스트에서 구현되거나 이더넷 스위치 또는 기타 네트워크 [7]장비에 통합될 수도 있습니다.
DHCP(Dynamic Host Configuration Protocol) 부족
IP 주소가 없는 클라이언트 시스템이 네트워크에 진입하면 상주 DHCP 서버에 IP 주소를 요청합니다.DHCP 서버는 IP 주소를 예약하고(따라서 IP 주소를 요청하는 다른 사용자에게는 이 주소가 부여되지 않음) 해당 IP 주소를 유효한 기간을 나타내는 리스와 함께 장치로 보냅니다.일반적으로 이 시점부터 장치는 DHCP 서버에서 IP 주소를 확인하여 응답하고 DHCP 서버는 최종적으로 확인 응답을 합니다.
DHCP 기아 공격에서 공격자는 DHCP 서버로부터 IP 주소와 임대 기간을 수신하면 확인 응답을 하지 않습니다.대신, 서버의 주소 공간 내의 모든 주소가 예약될 때까지(전체 주소) DHCP 서버에 IP 주소 요청을 플러딩합니다.이 시점에서 네트워크에 가입하려는 모든 호스트는 액세스가 거부되어 서비스 거부가 발생합니다.그런 다음 공격자는 클라이언트가 잘못된 네트워크 설정을 수신하여 공격자의 컴퓨터로 데이터를 전송하도록 [8]악성 DHCP 서버를 설정할 수 있습니다.
이러한 유형의 공격을 완화하는 한 가지 방법은 많은 이더넷 스위치에서 사용할 수 있는 IP 소스 가드 기능을 사용하는 것입니다.IP 가드는 처음에 DHCP 패킷을 제외한 모든 트래픽을 차단합니다.클라이언트가 DHCP 서버로부터 유효한 IP 주소를 수신하면 IP 주소와 스위치 포트 관계가 ACL(Access Control List)에 바인딩됩니다.그런 다음 ACL은 [9]바인딩에 구성된 IP 주소로만 트래픽을 제한합니다.
무선 네트워크
숨겨진 노드 공격
무선 네트워크에서 많은 호스트 또는 노드가 공통 매체를 공유하고 있습니다.노드 A와 B가 모두 사무실 환경에서 통신하는 무선 노트북 컴퓨터인 경우, 물리적 분리는 무선 액세스 포인트를 통해 통신해야 할 수 있습니다.그러나 패킷 충돌을 방지하기 위해 한 번에 하나의 장치만 전송할 수 있습니다.전송하기 전에 노드 A는 RTS(전송 준비 완료) 신호를 전송합니다.다른 트래픽을 수신하지 않는 경우 액세스 포인트는 네트워크를 통해 CTS(전송 삭제) 신호를 브로드캐스트합니다.그러면 노드 A는 전송을 시작하고 노드 B는 당분간 데이터 전송을 보류해야 합니다.비록 그것이 A 노드와 직접 통신할 수는 없지만, 즉.노드 A는 숨겨진 상태이며 액세스 포인트와의 통신을 기반으로 대기해야 합니다.공격자는 네트워크에 CTS 메시지를 플러딩하여 이 기능을 이용할 수 있습니다.그러면 모든 노드는 전송을 시도하는 숨겨진 노드가 있다고 가정하고 자체 전송을 보유하게 [10]되어 서비스 거부가 발생합니다.
숨겨진 노드 공격을 방지하려면 NetEqualizer와 [10]같은 네트워크 도구가 필요합니다.이러한 도구는 액세스 지점 트래픽을 모니터링하고 트래픽의 기본 수준을 개발합니다.CTS/RTS 신호의 스파이크는 숨겨진 노드 공격의 결과로 간주되며 이후 차단됩니다.
인증 취소(인증 취소) 공격
무선 네트워크에 진입하는 모든 클라이언트는 먼저 액세스 포인트(AP)로 인증한 후 해당 액세스 포인트와 연결되어야 합니다.클라이언트가 나갈 때 액세스 지점과의 연결을 해제하기 위해 인증 취소 또는 인증 취소 메시지를 보냅니다.공격자는 클라이언트 IP 주소에 연결된 액세스 지점으로 인증 취소 메시지를 전송하여 사용자를 오프라인 상태로 만들고 계속 재인증을 요구하여 [11]발생하는 재인증 핸드셰이크에 대한 유용한 통찰력을 제공할 수 있습니다.
이 공격을 완화하기 위해 액세스 포인트가 인증 취소 또는 연결 해제 요청의 영향을 지연하도록 설정할 수 있습니다(예: 이러한 요청을 5-10초 동안 대기열에 표시). 따라서 액세스 포인트는 클라이언트의 후속 패킷을 관찰할 수 있습니다.인증 취소 또는 연결 해제 요청이 대기열에 오른 후 데이터 패킷이 도착하면 정규 클라이언트는 해당 [12]순서로 패킷을 생성하지 않으므로 해당 요청은 삭제됩니다.
레퍼런스
- ^ "The TCP/IP Protocol Framework". Retrieved 8 February 2013.
- ^ "Data Link Layer". Retrieved 8 February 2013.
- ^ "CAM Table & STP Attacks" (PDF). Polytechnic Institute of New York University. Retrieved 8 February 2013.
- ^ a b O'Connor, Terrence. "Detecting and Responding to Data Link Layer Attacks". SANS Institute. Retrieved 8 February 2013.
- ^ Akeung, Darryl. "Switch Security – DHCP Starvation and Flooding CAM Tables (Fail Open) Part 1". Archived from the original on 2 February 2013. Retrieved 8 February 2013.
- ^ "Network Security at the Data Link Layer (Layer 2) of LAN". Javvin Network Management & Security. Archived from the original on 11 April 2013. Retrieved 14 February 2013.
- ^ Gmoskov. "ARP Spoofing Attack and Defense". Retrieved 14 February 2013.
- ^ Dmitry, Davletbaev. "Dhcpstarv - DHCP Starvation Utility". SourceForge.net. Retrieved 14 February 2013.
- ^ "Mitigating Layer 2 Attacks" (PDF). Retrieved 14 February 2013.[영구 데드링크]
- ^ "Deauthentication". Aircrack-ng. Retrieved 14 February 2013.
- ^ Bellado, John. "Deauthentication Attack". Proceedings of the USENIX Security Symposium, Aug 2003. Archived from the original on 14 December 2017. Retrieved 14 February 2013.