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

= 스위치 스푸핑 =
스위치 스푸핑 공격에서 공격 호스트는 태깅 및 트렁킹 프로토콜로 VLAN을 관리하는 트렁킹 스위치<ref>{{웹 인용|url=http://rikfarrow.com/Network/net0103.html|제목=VLAN Insecurity|성=Rik Farrow|날짜=2003-03-17|확인날짜=2017-06-07}}</ref>를 흉내낸다 (예 : [[다중 등록 프로토콜|VLAN]] 유지 관리에 사용되는 [[다중 등록 프로토콜|다중 VLAN 등록 프로토콜]], [[IEEE 802.1Q]], [[동적 트렁킹 프로토콜]]) 그러면 여러 VLAN에 대한 트래픽이 공격 호스트에 액세스 할 수 있다.

== 회피 ==
스위치 스푸핑은 인터페이스가 트렁크를 협상하도록 설정된 경우에만 악용될 수 있다. [[시스코 IOS|Cisco IOS]]에서 이 공격을 방지하려면 다음 방법 중 하나를 사용한다.<ref name="Boyles, 2010">{{서적 인용|url=https://dl.acm.org/citation.cfm?id=1841651|제목=CCNA Security Study Guide: Exam 640-553|성=Boyles|이름=Tim|연도=2010|출판사=SYBEX Inc|isbn=9780470527672}}</ref> {{참고 쪽|163}}

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

== 이중 태그 지정 ==
이중 태깅 공격에서 [[IEEE 802.1Q|802.1Q]] 지원 포트에 연결된 공격자는 자신이 전송하는 프레임에 [[IEEE 802.1Q|2 개의 VLAN 태그]]를 추가한다. 프레임(공격자의 포트가 실제로 구성원 인 VLAN ID로 외부 적으로 태그가 지정됨)은 트렁크 인터페이스의 기본 VLAN이기 때문에 첫 번째 태그없이 전달된다. 두 번째 태그는 프레임이 만나는 두 번째 스위치에 표시된다. 이 두 번째 VLAN 태그는 프레임이 두 번째 스위치의 대상 호스트로 향함을 나타낸다. 그런 다음 프레임은 대상 VLAN에서 시작된 것처럼 대상 호스트로 전송되어 VLAN을 논리적으로 서로 격리하는 네트워크 메커니즘을 효과적으로 우회한다.<ref>{{웹 인용|url=https://www.sans.org/reading-room/whitepapers/networkdevs/virtual-lan-security-weaknesses-countermeasures-1090|제목=Virtual LAN Security: weaknesses and countermeasures|성=Rouiller|이름=Steve A.|웹사이트=SANS Institute InfoSec Reading Room|확인날짜=2017-06-07}}</ref> 그러나 가능한 응답은 공격 호스트로 전달되지 않는다 (단방향 흐름).

== 회피==
이중 태그 지정은 ''기본 VLAN'' 을 사용하도록 구성된 스위치 포트에서만 이용할 수 있다.<ref name="Boyles, 2010">{{서적 인용|url=https://dl.acm.org/citation.cfm?id=1841651|제목=CCNA Security Study Guide: Exam 640-553|성=Boyles|이름=Tim|연도=2010|출판사=SYBEX Inc|isbn=9780470527672}}</ref> {{참고 쪽|162}} ''네이티브 VLAN으로'' 구성된 트렁크 포트는 이러한 프레임을 보낼 때 VLAN 태그를 적용하지 않다. 이를 통해 공격자의 가짜 VLAN 태그를 다음 스위치에서 읽을 수 있다.<ref>{{웹 인용|url=http://www.omnisecu.com/ccna-security/what-is-double-tagging-attack-how-to-prevent-double-tagging-attack.php|제목=What is Double tagging attack and how to prevent Double tagging attack|확인날짜=2017-10-15}}</ref>

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

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

== 예시 ==
이중 태깅 공격의 예로 VLAN2라는 VLAN의 보안 웹 서버를 고려한다. VLAN2의 호스트는 웹 서버에 액세스 할 수 있다. VLAN2 외부의 호스트는 계층 3 필터에 의해 차단된다. VLAN1 (Native)이라고하는 별도의 VLAN에 있는 공격 호스트는 웹 서버를 공격하기 위해 특별히 구성된 패킷을 생성한다. 패킷을 VLAN1에 속하는 것으로 태그 지정하는 헤더 아래에 패킷을 VLAN2에 속하는 것으로 태그 지정하는 [[헤더 (컴퓨팅)|헤더를]] 배치한다. 패킷이 전송되면 스위치는 기본 VLAN1 헤더를 확인하고이를 제거하고 패킷을 전달한다. 다음 스위치는 VLAN2 헤더를 보고 패킷을 VLAN2에 넣다. 따라서 패킷은 VLAN2의 다른 호스트에서 전송 된 것처럼 대상 서버에 도착하며 제자리에 있을 수있는 레이어 3 필터링을 무시한다.<ref>{{웹 인용|url=http://www.cisco.com/en/US/docs/switches/lan/catalyst2900xl_3500xl/catalyst1900_2820/version8.00.03/scg/AleakyV.html|제목=Configuration Examples Related to VLAN Features|웹사이트=Catalyst 2820 and 1900 Enterprise Edition Software Guide|출판사=[[Cisco]]|보존url=https://web.archive.org/web/20130128125232/http://www.cisco.com/en/US/docs/switches/lan/catalyst2900xl_3500xl/catalyst1900_2820/version8.00.03/scg/AleakyV.html|보존날짜=2013-01-28|url-status=dead|확인날짜=2017-06-07}}</ref>

= 같이 보기 =
* 사설 VLAN

= 참고 문헌 =
<references/>

[[분류:네트워크 보안]]
[[분류:이더넷]]