VLAN 호핑

VLAN 호핑은 가상 LAN (VLAN)에서 네트워크로 연결된 리소스를 공격하는 방법인 컴퓨터 보안 공격이다. 모든 VLAN 호핑 공격의 기본 개념은 VLAN의 공격 호스트가 일반적으로 액세스할 수 없는 다른 VLAN의 트래픽에 액세스하는 것이다. VLAN 호핑에는 스위치 스푸핑 과 이중 태그의 두 가지 기본 방법이 있다. 두 공격 벡터 모두 적절한 스위치 포트 구성으로 피할 수 있다.

스위치 스푸핑 
스위치 스푸핑 공격에서 공격 호스트는 태깅 및 트렁킹 프로토콜로 VLAN을 관리하는 트렁킹 스위치를 흉내낸다 (예 : VLAN 유지 관리에 사용되는 다중 VLAN 등록 프로토콜, IEEE 802.1Q, 동적 트렁킹 프로토콜) 그러면 여러 VLAN에 대한 트래픽이 공격 호스트에 액세스 할 수 있다.

회피 
스위치 스푸핑은 인터페이스가 트렁크를 협상하도록 설정된 경우에만 악용될 수 있다. Cisco IOS에서 이 공격을 방지하려면 다음 방법 중 하나를 사용한다. 

 DTP를 비활성화하여 포트가 트렁크를 자동으로 협상하도록 설정되지 않았는지 확인한다.
 Switch (config-if)# switchport nonegotiate
 트렁크가 아닌 포트가 액세스 포트로 명시 적으로 구성되었는지 확인
 Switch (config-if)# switchport mode access

이중 태그 지정 
이중 태깅 공격에서 802.1Q 지원 포트에 연결된 공격자는 자신이 전송하는 프레임에 2 개의 VLAN 태그를 추가한다. 프레임(공격자의 포트가 실제로 구성원 인 VLAN ID로 외부 적으로 태그가 지정됨)은 트렁크 인터페이스의 기본 VLAN이기 때문에 첫 번째 태그없이 전달된다. 두 번째 태그는 프레임이 만나는 두 번째 스위치에 표시된다. 이 두 번째 VLAN 태그는 프레임이 두 번째 스위치의 대상 호스트로 향함을 나타낸다. 그런 다음 프레임은 대상 VLAN에서 시작된 것처럼 대상 호스트로 전송되어 VLAN을 논리적으로 서로 격리하는 네트워크 메커니즘을 효과적으로 우회한다. 그러나 가능한 응답은 공격 호스트로 전달되지 않는다 (단방향 흐름).

회피
이중 태그 지정은 기본 VLAN 을 사용하도록 구성된 스위치 포트에서만 이용할 수 있다.  네이티브 VLAN으로 구성된 트렁크 포트는 이러한 프레임을 보낼 때 VLAN 태그를 적용하지 않다. 이를 통해 공격자의 가짜 VLAN 태그를 다음 스위치에서 읽을 수 있다.

이중 태깅은 다음과 같은 조치로 완화 할 수 있다. IOS 예) :

 VLAN 1 (기본 VLAN)에 호스트를 배치하지 않는다. 즉, 모든 액세스 포트에 VLAN 1이 아닌 액세스 VLAN을 할당한다.
  Switch (config-if)# switchport access vlan 2
 모든 트렁크 포트의 기본 VLAN을 사용하지 않는 VLAN ID로 변경한다.
 Switch (config-if)# switchport trunk native vlan 999
 모든 트렁크 포트에서 기본 VLAN의 명시적 태깅. 네트워크 자동화된 모든 스위치에 구성되어야 한다.
Switch(config)# vlan dot1q tag native

예시 
이중 태깅 공격의 예로 VLAN2라는 VLAN의 보안 웹 서버를 고려한다. VLAN2의 호스트는 웹 서버에 액세스 할 수 있다. VLAN2 외부의 호스트는 계층 3 필터에 의해 차단된다. VLAN1 (Native)이라고하는 별도의 VLAN에 있는 공격 호스트는 웹 서버를 공격하기 위해 특별히 구성된 패킷을 생성한다. 패킷을 VLAN1에 속하는 것으로 태그 지정하는 헤더 아래에 패킷을 VLAN2에 속하는 것으로 태그 지정하는 헤더를 배치한다. 패킷이 전송되면 스위치는 기본 VLAN1 헤더를 확인하고이를 제거하고 패킷을 전달한다. 다음 스위치는 VLAN2 헤더를 보고 패킷을 VLAN2에 넣다. 따라서 패킷은 VLAN2의 다른 호스트에서 전송 된 것처럼 대상 서버에 도착하며 제자리에 있을 수있는 레이어 3 필터링을 무시한다.

같이 보기 
 사설 VLAN

참고 문헌 

네트워크 보안
이더넷