데이터링크계층의취약점공격유형분석및예방 오현진, 문제오 ( 지도교수 : 이훈재 ) Analysis and Prevention of network attacks that target weakness in Data link layer. 네트워크환경의발달에따라네트워크취약점공격에대한피해는날로커져가고있다. 그에비해보안의식은소홀시되고있는실정이다. 특히우리가흔히접할수있는 LAN 환경은데이터링크계층에의거하여동작하며이데이터링크계층의취약점공격의경우공격대상범위자체는좁은경우가많지만장비장애는물론정보도청및변형이가능하고하위계층의취약점에의거한공격으로써발견이쉽지않다. 본논문에서는이런데이터링크계층의취약점공격유형을기술적원리부터공격방법까지분석하고예방책을제시하였다. 데이터링크계층을기반으로하는기술의동작구조를이해하고그동작과정에서발생하는취약점을인지, 어떤방법으로이취약점을이용한공격을예방할수있는지원리적으로이해함으로써네트워크분야를희망하거나종사하는사람들에게 LAN 내에서의공격유형과위험성을알리고보안취약의심각성과예방의중요성을알리고자한다. Ⅰ. 서론오늘날소형네트워크에서전세계를잇는인터넷까지네트워크의수요시장은큰성장을이루었으며지금도급증하고있지만보안의식은소홀시되고있는실정이다. 이런보안의식의소홀은각개인의개인정보유출및 ID, PW유출로인한재산적피해에서부터 DDoS에의한각대형사이트들의마비, 농협데이터베이스소실및시스템마비같은사례까지수많은피해를만들고있으며네트워크의발달및수요의증가와비례하여네트워크시스템의취약점공격및피해사례도증가하고있다. 이런네트워크공격사례중동일네트워크내에서의해킹또한수많이존재한다. 이런동일네트워크내의공격은 OSI계층중하위계층에서일어나기때문에공격범위는제한되는경우가많지만공격을당할시인지하기가쉽지않으며실제장비의과부하부터패킷도청, 장비의비정상적인작동을야기하기까지상당히위협적 이다. 이런동일네트워크환경을 LAN환경이라고하며데이터링크계층의규약에의거하여통신이이루어진다. 그리고이런 LAN환경에서의취약점공격은데이터링크계층의취약점에의거하여공격이이루어진다. 본논문에서는데이터링크계층의취약점을이용한공격을직접실행, 분석하고대처법을강구해봄으로써네트워크분야를희망하거나종사하는사람들에게 LAN내에서의공격유형과위험성을알리고기본적인예방및대책을제시함으로써보안취약의심각성과예방의중요성을알리고자한다. 본논문은크게서장, 실험환경설계및구축, 본론, 결론으로구성된다. 실험환경설계및구축에서는본논문의실험에필요한네트워크환경을제시하고다이나밉스를이용하여가상으로구축한다. 본론에서는가상네트워크환경을이용하여 ARP공격, MAC 자원고갈공격, STP취약점공격, VLAN 취약점공격을실제로실행하고영향을분석하고대책을제시한다.
Ⅱ. 실험환경설계및구축 1. 요구사항데이터링크계층에서의취약점을이용한공격실험을위해서필요한환경은 LAN환경이다. LAN 환경에서데이터는프레임이라는형태로전송이이루어진다. 그림 1 프레임의구조여기서 DA( 도착지 ), SA( 송신지 ) 는우리가흔히접할수있는논리적주소인 IP주소가아닌물리적주소 MAC 주소를이용하여송신지를확인하고수신지로데이터를보낸다. 이런프레임을해석하고올바른경로로전달해주는장비가스위치이다. 스위치는자신과연결된각호스트의 MAC 주소를학습하고올바른경로로프레임을스위칭한다. 이런스위치와다수개의호스트로구성된소규모의동일네트워크환경이 LAN 환경이며 LAN환경에서 VLAN 환경을포함한다른외부네트워크와통신을하기위해서는게이트웨이 ( 라우터 ) 를필요로하게된다. 이와같은사항에의거하여본실험에필요한요소는다음과같다. 복수개의스위치 복수개의호스트 ( 공격자를포함 ) 라우터 ( 게이트웨이 ) 다음의요소를검토하여다이나밉스와 VMWARE 를이용, 가상네트워크를구성한다. 2. 가상네트워크구축및설정그림 2 실험에필요한가상네트워크구성 본가상네트워크구성요소의세부적사항은다음과같다. GW_INS(Router) 네트워크간의경계를나누고외부네트워크간통신을가능하게해주는역할로써 OUTNET과가상네트워크간, VLAN1과 VLAN10간의경계점역할을한다. NetFlow(Cisco사의네트워크트래픽감지기술 ) 를설정하여필요시트래픽을확인하도록한다. C3660 IOS이미지를이용한다. SW_A,SW_B SW_A에는 VLAN1과 VLAN10을설정한다. 1-9 번포트는 VLAN1으로, 10-15번포트는 VLAN10으로설정한다. SW_B는기본설정으로유지하며둘사이는트렁크구간으로설정한다. C3660 이미지를이용, NM-16ESW 모듈을추가하여스위치모드로동작시킨다. Client1 VMWare의네트워크인터페이스와다이나밉스를연결하여 SW_B와연결되는호스트시스템이다. 윈도우XP 시스템이며패킷도청실험의피공격자로써이용된다. Attacker VMWare의네트워크인터페이스와다이나밉스를연결하여 SW_A와 SW_B 둘다연결이가능한시스템으로써네트워크공격자가된다. 우분투리눅스를기반으로다양한공격툴을담은 BackTrack 5 시스템이다. CLIENT(VLAN10) VLAN10 네트워크에속하며 C3660라우터이미지를이용하지만단순히호스트역할만을한다. 라우터기능중 Debug 모드를이용하여패킷감지를하기위한목적으로활용되며 VLAN Hopping공격의피공격자가된다. OUTNET 실제시스템과다이나밉스간네트워크인터페이스로써연결한다. 실제시스템에 MS Loopback 인터페이스를추가하고이를가상네트워크의라우터 (GW_INS) 와연결함으로써가상네트워크와실제시스템사이의통신이가능, 가상네트워크입장에서볼때 OUTNET은외부네트워크로간주된다. 실제시스템에서는 FTP서버를가동함으로써가상네트워크에서 OUTNET으로 FTP접속을할수있다. 패킷도청실험분석에활용한다.
Ⅲ. 본론 1. ARP POISONING 1.1 개요 1.1.1 ARP에관하여 ARP(Address Resolution Protocol) 가존재하는이유는이더넷환경에있어네트워크계층의 IP주소만으로는통신이불가능하며그이유는 IP주소는논리적개념이기때문이다. 여기서통신을가능하게하기위해하위계층인데이터링크계층에속하는 MAC주소를취득하여야하며 ARP는 IP와 MAC주소를대응시키는역할을한다. 이렇게대응된각포트의정보는 ARP테이블 (Cache) 에저장되며운영체제가보존하게된다. ARP의동작은 ARP REQUEST와 ARP REPLY 패킷에의해동작한다. 그림 3 ARP 동작과정 다음과같이목적지의 MAC주소를브로드캐스트형태로써패킷을전송, 요청하게된다. 브로드캐스트패킷을전송받은네트워크내의호스트중자신의 IP주소와일치하는호스트만이자신의 MAC주소를첨부하여응답패킷을전송한다. 이렇게응답패킷을받은요청자는자신의 ARP테이블 ( 캐쉬 ) 에저장한다. 외부네트워크와통신을시도할경우게이트웨이의 MAC주소를요청하여 ARP 테이블에저장하게된다.[1] 1.1.2 ARP (Cache) Poisoning에관하여 ARP Poisoning은랜환경내에서매우위협적인공격으로인식되고있으며운영체제나응용프로그램의취약점을공격하는것이아닌이더넷환경에기초한공격이다. 때문에 UNIX, 윈도우, MAC 등등의모든시스템에있어서불가피한공격형태이며응용프로그램적대응은기대하기어렵다. 이공격은 ARP의치명적인보안상약점을이용한공격으로 2가지의약점이존재한다. 하나는수신한 ARP 패킷이올바른송신지로부터온것인지판단이불가능하며, 둘째로는송신받은 ARP패킷의내용을검사하지않고운영체제가 ARP캐쉬로보존함으로써올바르지않은 ARP패킷을그대로받아들이는문제가있다. 이에 ARP Poisoning은다음과같은방법으로공격이이루어진다. 공격하고자하는대상에게거짓된 ARP패킷을송신하여 ARP캐쉬를올바르지않은정보로오염시킨다. 동적캐쉬이므로정기적으로거짓ARP패킷을보냄으로써계속적으로오염시킨다. 다른공격법과병행하여다양한공격을시도할수있다. 이공격의이점은기본적으로낮은계층의공격이므로통상적인검사방법으로는발견하기힘든공격이다. 또한 MiTM(Man In The Middle) 공격으로통신자간의통신에개입함으로써정보의도청및변형이용이하다. 또한다른공격법과병행하기쉬워다양한공격유형이나타날수있다. 기본적으로는 ARP패킷이도달할수있는범위내에서만공격이가능하지만다른공격법고의병행으로보다넓은범위를대상으로한공격도가능하다.[2]
1.2 공격개념및실행 1.2.1 공격시나리오 client1은 OUTNET의 ftp서버에접속을시도한다. 이때 OUTNET은외부네트워크이기때문에우선게이트웨이를찾아패킷전송을시도한다. 이과정에서 client1은게이트웨이의 MAC주소를얻기위해 ARP 요청패킷을전송하게된다. fping명령을이용하여 icmp패킷을전송, 응답여부를통해 LAN내의호스트의존재여부및주소를파악할수있다. 여기서.11은자신이고.101이네트워크내의호스트이며.254는게이트웨이에해당한다. 게이트웨이판별여부는외부네트워크와의통신후자신의 ARP테이블을참조하면판별할수있다. Attacker의패킷포워딩설정본래 OUTNET에도달해야하는패킷이 Attacker 로전달됨으로써패킷은본래목적지에도달하지못하고 client1은통신장애상태가된다. 이를방지하기위해 Attacker는도청한패킷을다시본래의목적지로포워딩하여정상적인통신상태인것과같은상태로만들어줄필요가있다. 그림 4 client1 의 ARP 요청에대한 Attacker 의부정적 응답패킷전송 (mac 주소는가칭 ) 본래게이트웨이인 GW_INS가 ARP요청패킷을받으면자신의 MAC주소를첨부한 ARP응답패킷을 client1에게전송한다. 하지만다음과같이 Attacker는이과정에개입하여 client1에게부정적인 ARP응답패킷을주기적으로전송한다. 이패킷을수락한 client1은 Attacker의 MAC주소를 ARP테이블에저장하며 LAN내에서는 IP가아닌 MAC주소로통신을하므로 GW_INS(.254) 를향하는모든패킷은 Attacker의 MAC주소를참조하여향하게되며 Attacker는 GW_INS를향하는모든패킷을도청또는변형할수있게된다. 여기서는 FTP통신상의 ID, PW를도청한다. 1.2.2 공격실행 LAN내의호스트검색 그림 6 Attacker 의 IP 포워딩설정 1) 포워딩여부설정확인 ( 현재 Disable) 2) 포워딩설정 Enable 로변경 3) 포워딩여부설정확인 ( 현재 Enable) 4) Nomal IP forwarding 서비스활성화 ARP 거짓패킷전송 arpspoof 명령을이용하여공격대상에게거짓된 ARP 응답패킷을주기적으로전송하게된다. 그림 7 arpspoof 명령의실행 >arpspoof i 인터페이스 t 공격대상 Reply 에담을거짓주소 1.3 영향분석 1.3.1 거짓 ARP 패킷의구조 그림 8 Wireshark 를이용한거짓 ARP 패킷캡쳐 그림 5 fping 명령을이용한호스트검색 본 ARP 응답패킷의구조는다음과같다.
위의 16진수로표기된패킷에서 0010번줄의 5~6번째칸의 00 02는 OPCODE의자리로써 2 는 ARP Reply를뜻한다. OPCODE다음의 6자리 00 0c 29 9d 00 91 는응답자의 MAC주소, 그다음 4자리인 c8 c8 c8 fe(10진수로표현하면 200.200.200.254) 는응답자의 IP주소를뜻한다. 즉자신이.254 IP주소의소유자이며다음과같은 MAC주소를가진다고계속해서 Reply패킷을공격자에게전송하는것이다. 자세한구조는본논문의참고문헌을참조하면된다.[3] 다. 주소는 10.10.10.1, ID 는 dong, PW 는 seo 이다. 그후 Attacker 에서 Wireshark 를통 해캡쳐된패킷을분석한다. 1.3.2 공격피해대상의 arp 테이블확인 그림 12 Attacker에서캡쳐된패킷을분석 < 그림12> 와같이 FTP 접속시 client1으로부터전송되는패킷이모두 Attacker를경유하는사실을알수있으며사용된 ID와 PW가고스란히드러나고있다. 그림 9 공격전 Client1 ARP Table 1.4 대책 모든호스트의 ARP테이블을수동으로설정 ARP테이블은기본적으로동적테이블형태이다. 이를수동으로지정하여 ARP테이블의오염을막을수있다. 그림 10 공격후 Client1 ARP Table 그림 11 Attacker의 IP와 MAC주소 < 그림9> 과같이원래.254의 MAC주소는라우터의인터페이스의 MAC주소이다. 하지만공격시도후 < 그림10> 와같이 ARP테이블에.254와대응하는 MAC주소가 < 그림11> 의정보와같은 Attacker의 MAC주소와동일하게변경되어있다. 앞으로.254로향하는패킷, 즉 GW_INS를경유하는패킷은모두 Attacker의 MAC주소를참조하여경유한후 Attacker호스트에서다시 GW_INS로포워딩되게된다. 그림 13 윈도우에서의 ARP테이블수동설정하지만이방법은호스트의수가많아질경우일일이설정을해줘야하는번거로움은물론환경의변화에따라재설정이필요하기때문에임시방편적대처로써관리측면에있어서는효율적이지못한큰단점이있어실제로는잘사용되지않는다. ARP Inspection DB를수동으로생성 ARP Inspection을설정함으로써 DB에등록된 ARP 패킷만을허용하고알수없는 ARP패킷은사전에차단이가능하다. 1.3.3 패킷도청 (FTP IP,PW 도청 ) Client1 에서브라우저를통해 FTP 접속을시도한 그림 14 ARP Inspection 설정명령
스위치에서동작하는명령이며 1줄에서적용시킬 Vlan을지정하여설정모드로들어간다. 다음 2줄에서 DB의이름 (access-list) 을지정하고 3줄부터실제호스트의 IP와 MAC을매칭시켜나간다. 모두매칭시킨후 exit로빠져나와 4줄의명령으로설정사항을실행시키도록한다. DHCP 환경에서는 DAI(Dynamic ARP Inspection) 기능으로이 DB를동적으로관리하여방어를할수도있다. [4] MAC Table 의자원을고갈시킴으로써프레임을 강제적으로 Flooding 시켜패킷을도청할수있 는공격방법이다. 2. MAC Flooding 2.1 개요 2.1.1 스위치의특성에관하여 (MAC 학습기능 ) 스위치는 LAN포트간효율적인프레임 <1> 스위칭을위해서주소테이블을관리하고있다. 그림 15 MAC테이블관리동작 < 그림15> 와같이스위치는프레임을수신하면송신자의 MAC주소와그프레임을수신한 LAN 포트번호를연관지어자동적으로 MAC Table에기억, 관리하게된다. 그리고도착지의 MAC주소를알수없는경우 < 그림15> 의우측과같이스위치는우선동일 VLAN상에서수신포트를제외한모든포트로프레임을전송한다. 그리고만약응답패킷이돌아오면그수신처의 MAC주소와 LAN포트를연관지어 MAC Table에추가한다. 이후로는해당수신처를가진프레임은기억된포트를통해스위칭하게된다. 이와같은과정을 Flooding이라고한다. [5] 2.1.2 MAC Flooding에관하여 MAC Flooding 공격은앞서언급한스위치의 그림 16 MAC Flooding공격의개요본래는스위치는 MAC주소를학습하여해당포트로만프레임을스위칭하기때문에도청할수가없다. 하지만다음과같이공격자는송신자 MAC주소를임의로조작한프레임을지속적으로전송함으로써스위치에게 MAC Table을계속학습시켜자원을고갈시켜더이상 MAC주소를학습할수없게만들면그후학습되지않은 MAC주소를가진모든프레임은포든포트로 Flooding되게된다. 이로써공격자는프레임을도청할수있게된다. 하지만근래스위치는기본적으로 MAC Table이고갈되지않도록설정되어있는경우도많기때문에도청까지는어렵지만시스템의과부하및트래픽유발현상을일으킬수있다. [6] 2.2 공격개념및실행 2.2.1 공격시나리오그림 17 mac flooding 공격개요도다음과같은환경에서 macof명령을이용하여 Attacker는무작위패킷을생성하여계속적으로전송한다. 그이후는스위치의 MAC학습에의해계속해서 MAC Table을추가해나갈것이다.
2.2.2 공격실행 macof 명령을이용한무작위패킷전송 수없이많이생성된것을볼수있다. SW_A의 MAC Table은 SW_B와연결된 2번포트를목적지로한 MAC주소가수없이생성되었다. 이는 Mac Flooding공격이 LAN내의모든스위치에게영향을줄수있다는것을뜻한다. 그림 18 macof 명령실행후 2.3.3 Netflow 에서분석된트래픽확인 다음과같이 macof 명령을실행하면자동으로무 작위패킷을생성, 전송하는것을알수있다. 2.3 영향분석 2.3.1 공격패킷분석 그림 19 macof 공격후 Wireshark 로캡쳐한패킷 다음과같이출발지의 IP와 MAC주소를임의로생성, 의미없는더미정보를계속적으로전송하는것을알수있다. 2.3.2 스위치의 MAC Table확인 그림 21 NetFlow Analyzer를통한 GW_INS 트래픽확인라우터에서설정한 Netflow 기능과그것을분석해주는프로그램을사용하여트래픽분석을해보았다. macof 공격은도착지주소또한무작위로생성하기때문에다음과같이게이트웨이장비에도성능저하또는마비를야기할수있다. 그림 20 SW_A 와 SW_B 의 MAC Table 다음과같이 sh mac 명령을통해확인해보면 SW_B 의 15 번포트를목적지로한 MAC 주소가 2.4 대책 수신지불명의프레임 Flooding자체를방지기본적으로스위치는수신지불명의프레임을모든포트로 Flooding한다. 이런수신지불명의유니케스트및멀티케스트패킷의 Flooding을차단함으로써도청방지및 Flooding에의한트래픽유발을방지할수있다.
그림 22 송신지불명의패킷을차단하기위한설정하지만공격자의송신포트에서발생하는프레임의 MAC주소학습을막을수는없으므로 MAC Table의자원점유는발생할수있다. 그러므로아래와같은 MAC학습개수를제한하는방법과같이사용하도록한다. [7] 루트포트로써선출한다. 루트브릿지까지의경로값 (Cost) 이가장작은포트가선출된다. 대표 (Designated) 포트의선출스패닝트리에참가하는포트 ( 오픈포트 ) 를선출한다. 위와같이나머지포트중루트브릿지까지의경로값이가장작은포트가선출되며루트브릿지의포트는모두대표포트가된다. 차단할포트의결정루트, 대표포트를제외한모든포트를차단한다. MAC 학습개수제한 스위치의 port-security 명령을이용하여 MAC 주 소학습개수를제한한다. 그림 23 port-security 설정명령 다음과같이맥의학습개수를제한한다. 여기서중요한것은 nv영역에자동으로저장하는것이다. 즉정상적인호스트의 MAC주소를미리학습한후그정보를저장, 알려진호스트이외의 MAC 주소학습을방지함으로써 MAC Flooding 공격을예방할수있다. 3. STP MiTM 공격 3.1 개요 3.1.1 Spanning Tree에관하여 STP는동일네트워크에스위치가 2개이상존재할경우발생하는 Looping현상을막기위한알고리즘이다. STP는인접한스위치간 BPDU (Bridge Protocol Data Unit) 를교환하여스위치의포트를 5가지모드 (Disabled, Blocking, Listening, Learning, Forwarding) 로설정함으로써이더넷환경에존재하는네트워크에서가상적인트리구조의네트워크를구축하며다음과같은과정을거친다. 루트브릿지의선출모든스위치가 BPDU 수신과확인을수행, 최종적으로가장작은 Bridge ID값을가진브릿지가루트브릿지로써선출된다.( 우선순위값에의해서선출되기도한다.) 루트포트의선출루트스위치가아닌각스위치에서 1개의포트를 그림 24 STP의기본적인동작과정 [8][9] 3.1.2 STP공격에관하여 STP MiTH(Man In The Middle) 공격은앞서언급된 STP의동작과정중루트브릿지선정과정의취약점을이용한공격이다. 루트브릿지선출과정중 BID의변화에따라루트브릿지가변화하며경로재구축을시작한다. 이과정을공격자가개입하여자신을스위치로속이고조작된 BPDU 에우선순위를높게한 ( 낮은수치 ) BID정보를담아전송함으로써공격자호스트가루트브릿지로선출되고공격자호스트를중심으로경로가재구축됨으로써패킷도청및변형이가능해진다. 3.2 공격개념및실행먼저 SW_A와 SW_B 둘다 Attacker와연결하도록한다. 그후다음과같이 Attacker의두개의
인터페이스를활용하여가상으로브릿지를생성, 스위치와같은역할을하게만든다. 지로인식하게된다. 4.3 분석 스위치의루트브릿지및포트정보확인 그림 25 리눅스에서의 br 인터페이스활성화 그후 Attacker에서조작된 BPDU를전송한후스위치는 BID를비교하여루트브릿지를 Attacker로인식하고 STP에의거하여경로재구축을시작할것이다. 그림 28 SW_A 와 SW_B 공격전 STP 정보 그림 29 SW_A 와 SW_B 공격후 그림 26 BPDU 의 BID 에따른 STP 의변화 공격전 Block상태이던 9번포트가공격후 Forward상태로바뀌었으며 2번포트가 Block상태로변한것을확인할수있다. 즉본래루트브릿지였던 SW_A를중심으로 SW_B와 Attack로경로구축을했었지만 Attacker가루트브릿지를강탈함으로써 Attacker를중심으로 SW_A와 SW_B로경로가재구축되어 SW_A와 SW_B간의통신은 Attacker를거쳐가야만한다. ftp서버를접속하여패킷도청 client1에서 OUTNET의 FTP서버로접속한후 Attacker에서패킷을확인한다. 주소는 10.10.10.1, ID는 dong, PW는 seo 이다. 3.2.3 공격실행 거짓 BPDU 를보냄으로써루트브릿지를강탈 그림 27 Yersinia를통한거짓 BPDU패킷전송다음과같이항목을선택후 BPDU패킷을보내면루트브릿지권한을강탈할수있다. 보다낮은 BID(Priority 10이하 ) 로설정하여 BPDU패킷을보내면수신한스위치는해당 BID를루트브릿 그림 30 Wireshark로 ID,PW가확인된모습다음과같이 FTP의 ID, PW가고스란히노출된다. Attacker는두개의인터페이스를이용하여가상브릿지모드로써동작하는것또한확인가능하다. 이로써패킷도청및변형이가능해졌다.
4.4 대책 STP 방어설정 그림 31 STP 방어설정명령어 1줄루트가드기능은한인터페이스에설정할경우그인터페이스에속하는모든 VLAN에적용되며인터페이스상태를 root-inconsistent( 블록 ) 상태로만든다. 해당인터페이스내에속하는모든스위치에대하여루트브릿지가되지못하도록막는다. 2줄 bpdu가드기능의경우는인터페이스단위로설정이가능하며, 설정시해당인터페이스에서 BPDU를수신할경우강제로인터페이스를다운 (Error-Disable) 시킨다. 전체인터페이스에대하여설정할경우 Configuration Mode 에서 spanning-tree portfast bpduguard default 명령으로가능하다. 이때는 portfast 기능이동작되어야한다. 3줄 bpdu 필터기능은인터페이스에설정할경우해당인터페이스로 BPDU 를수신하지않는다. 하지만잘못사용할경우 STP가성립되지않음으로써 Looping 현상이발생할수있다.[11] 그림 32 이전 LAN세분화와 VLAN세분화차이 5.1.2 dot1q Double Tag 공격에관하여 VLAN Hopping공격중하나로써 dot1q Tag를확장하여 VLAN Tag를 2중으로붙여패킷을전송하는방법이다. 원래게이트웨이를통하지않으면 VLAN간통신이불가능하지만이방법을사용하면공격자는공격대상에게임의의패킷을게이트웨이를통하지않고도전송이가능하게된다. 5. VLAN HOPPING 공격 5.1 개요 5.1.1 VLAN간의통신과동작에관하여 VLAN은물리적인인프라구조를넘어논리적인네트워크토폴로지가구축가능하다. 스위치내포트를개별또는범위로지정하여논리적으로분리, 서로다른브로드캐스트와도메인을사용하여서로다른네트워크로인식시켜동일 VLAN 에속하는포트끼리만패킷을스위칭하는기술이다. 이같은가상네트워크에서는특정 LAN을송신원으로하는트래픽은동일 VLAN내에서만전송되며다른 VLAN으로는전송되지않으므로네트워크전체로 Flooding하는브로드캐스트또는멀티캐스트가많은환경에서대역폭의절감을기대할수있는기술이다. 다른 VLAN간의통신은다른네트워크간통신과같은개념이므로라우터를통하여통신이가능하다. [12] 그림 33 일반적패킷과 2중Tag 패킷동작다음과같은패킷을스위치에서수신할경우 1차적으로네이티브VLAN의 TAG가스위치에서벗겨지면서공격대상VLAN TAG가다시등장하게된다. 이때스위치는이 TAG를참조하여공격대상VLAN으로패킷이그대로전달되어 2차 Tag 가벗겨지고최종적으로공격대상호스트에게최종적인패킷이전달된다. [13][14] 5.2 공격개념및실행 5.2.1 공격시나리오우선 Attacter와스위치간의연결은 SW_B만연결상태로하고 SW_A와의연결은절단상태로한다.
그림 37 Yersinia 에서 dot1q double tag 공격 그림 34 엑세스리스트를이용한접근차단 다음으로 < 그림 34> 와같이 vlan1 에서 vlan10 으 로가는패킷은모두 GW_INS 에서차단한다. 다음과같이네이티브 vlan과공격대상vlan을설정한후패킷을전송한다. 본프로그램에서는 icmp패킷을전송하여전송및응답결과를분석한다. 5.3 분석 5.3.1 송신패킷분석 그림 35 Attacker 에서 ping 시도 < 그림 35> 와같이 vlan1 에서는 vlan10 으로패킷 전송이불가능하다. 다음과같이 GW_INS 에서필 터링되는것을확인할수있다. 그림 38 공격후 dot1 더블tag 패킷캡쳐 < 그림38> 에서나타나는바와같이 icmp 송신패킷이캡쳐되었다. 여기서 VLAN Tag부분을보면 1번Tag가 VLAN1, 2번Tag가 VLAN2로써 Tag 가 2중으로붙어있는것이확인된다. 5.3.2 client 라우터 icmp 패킷검사 그림 36 dot1q double tag 패킷의동작 다음과같이 double tag패킷은 SW_A에서 1차적으로네이티브VLAN Tag가벗겨지고곧바로 VLAN10으로전달, VLAN10에서 2차tag가벗겨지면서공격대상에게패킷이전달될것이다. 5.2.2 공격실행 Yersinia 의 dot1q double encapsulation 공격 그림 39 피공격자 (CLIENT) 의 debug 모드설정 < 그림 39> 와같이 VLAN10 에속한 CLIENT 라우
터에모든네트워크를 Permit 으로 ACL 을설정, 이 ACL 을참조하여패킷디버그모드를동작시킨 상태이다. 그림 40 공격후 Attacker 로부터송신된 icmp 패킷이감지 < 그림40> 과같이 Attacker(200.200.200.11) 로부터온 icmp패킷을감지했으며응답패킷을 200.200.200.11에게다시보내는것을확인할수있다. 원래 VLAN1과 VLAN10간 GW_INS에서설정한 ACL로인하여필터링이되어야하지만 GW_INS를거치지않고 SW_A 스위치내에서 VLAN간 Hopping, 껑충뛰어넘어패킷이도달하였음을알수있다. 5.4 대책 Native VLAN의변경그림 41 Native VLAN변경명령어 VLAN Hopping은 Native VLAN의번호를짐작할수없도록다른번호로설정하는방법이거의유일하다. Native VLAN을사용하지않는 ISL방식을사용할수도있지만설정할수있는 VLAN 갯수에제한을많이받으므로실제로많이사용되지않는방식이다. 6. VLAN 추가 & 삭제공격 6.1 개요 VTP(VLAN Trunking Protocol) 는시스코스위치제품에쓰이는프로토콜이다. VTP를이용하면 SERVER로동작하는스위치에서 VLAN 수정을할경우 Client로동작하는스위치모두에게똑같이적용된다. 이것으로인해같은 VLAN을복수의각스위치에게설정할필요가없어지며유지보수가용이해진다. VTP 통신시의패킷유형으로써는 ISL<1>, DOT1Q<2> 가있으며본논문에서는 DOT1Q 방식을이용한다.[15][16] 그림 42 VTP 프로토콜의동작 6.1.2 VLAN 추가삭제공격에관하여 VTP동작시 VLAN의변경점을업데이트할시 Summary와 Subset Advertisement에의해업데이트된다. Summary패킷을수신하면자신의 Revision과수신패킷의 Revision 수치를비교하여자신의수치보다높다면 VTP Server쪽으로 Subset Advertisement를요구, 이패킷을수신하여 Vlan정보를갱신하게된다. VLAN 추가삭제공격은이같은특성을악용한공격방법으로 Attacker 자신을 VTP서버로속이고높은 Revision수치를담은거짓패킷을보냄으로써거짓된 Vlan정보를수신받아 VLAN정보를수정하도록만들어 VLAN환경에서통신장애를야기할수있다. 6.2 공격개념및실행 6.2.1 공격시나리오그림 43 토폴로지및 VTP 구성 < 그림43> 과같이 SW_B와연결하고 SW_A와의연결은단절한다. 그리고 SW_A는 VTP Server 모드로, SW_B는 Transparent모드로설정해준다.
Transparent( 투명 ) 모드인스위치는는 VTP Advertisement 패킷을전달만해줄뿐, 참조하여 변경하지않고독자적으로 VLAN 을관리한다. 만하게된다. 이공격은공격대상의 Revision 수치를알아야하기때문에공격대상의 Advertise ment 패킷을기다린후 Attacker가그보다높은 Revision수치로조작된 Advertisement패킷을공격대상에게전송하므로대기시간이필요하다. 본논문에서는빠른실험을위해 SW_A에임의로 vlan을추가함으로써바로결과를확인한다. 스위치에서 vlan 수정시에는즉시 Advertisement패킷을전송한다. 6.2.3 공격실행 그림 44 SW_A, SW_B의 VTP 설정상태 다음과같이 VTP 모드를각각설정하고도메인은 dongseo로설정을하고암호는설정하지않는다. 그림 46 Yersinia를통한 VLAN 추가 & 삭제공격 < 그림45> 와같이추가의경우 VLAN번호와이름을설정해준후 OK를누른다. 전체삭제의경우오른쪽과같이항목을지정한후 OK를누른다. 그후 SW_A에서 VLAN3을추가하여결과를확인한다. 6.3 분석 6.3.1 패킷분석 VLAN 추가공격시 그림 45 VLAN 수정공격의동작 다음과같이 Attacker에서거짓된 Summary와 Subset Advertisement 패킷을전송한다. SW_B는 Transparent모드이기때문에이패킷을그대로 SW_A와 Attacker사이로전달하는역할 그림 47 VLAN 추가공격시패킷 < 그림 47> 의 (1) 은공격직전 SW_A 가광고한 Advertisement 의 Revision 을나타낸다. 그리고
(2) 는 (1) 을받은직후공격자가조작한 Advertisement이며 Revision이 (1) 보다높은것을확인할수있다. 그리고 (3) 은 Subset Advertisement이며 dongseo_att라는 VLAN 정보가추가로담겨져있는부분을확인할수가있다. SW_A는이 Subset을수신받은후담겨진정보대로 VLAN 설정을수정할것이다. < 그림49> 와같이기본값이 VLAN들과 VLAN10 이설정되어있다. 여기서 VLAN을공격자가추가한후다시전체삭제를실행한후 DB를확인한다. 추가 삭제 그림 50 VLAN 추가공격후 SW_A 의 VLAN DB 빠른결과확인을위해임의로 VLAN3을추가한다 (6.2.1 공격시나리오참조 ). 추가후 VLAN3 이외에 VLAN77 dongseo_att 라는 VLAN이추가된것을확인할수있다. 삭제 그림 48 VLAN 삭제공격시패킷분석 < 그림48> 의 (1) 은공격직전 SW_A가광고한 Advertisement의 Revision을나타낸다. (2) 는 SW_A가광고한 Subnet정보이며 vlan10과 dongseo_att의 vlan이확인된다. (3) 은전체삭제공격직후공격자의 Advertisement의 Revision 을나타낸다. (4) 는공격자가광고한 Subset이며기본 VLAN정보만을담고있는것을나타낸다. SW_A는이정보를받은후 VLAN설정을변경하게되면초기값으로변경된다는것이다. 6.3.2 공격전후 VLAN DB비교 그림 51 VLAN전체삭제공격후 SW_A의 VLAN DB 빠른결과확인을위해 VLAN3를추가한후바로삭제한다음결과를확인한다. 다음과같이본래설정되어있던 VLAN10과공격자가추가한 77 을포함하여모든 VLAN이삭제되어있다. 삭제되었다는표현보다는 VLAN이기본값으로재설정되었다는표현이맞을것이다. 6.4 대책 trunk 를사용하지않는포트는 access 로설정 그림 49 공격전 SW_A 의 VLAN DB 그림 52 해당포트의 DTP 비활성화
VLAN의 Advertisement는 Trunk연결을통하여이루어진다. 공격자가 DTP의취약점을이용하여임의로 Trunk연결을맺지못하도록설정한다. trunk가아닌포트는수동으로 access모드로설정해준다. 그리고 2번줄의 nonegotiate 명령을적용하면 DTP에의해자동으로 trunk연결이맺어지는것을막는다. 이런설정상태는 sh int trunk로확인가능하다. VTP 설정시 password를설정그림 53 VTP 암호설정명령어 VTP 환경에서스위치간 VTP Advertisement 교환시도메인과암호가맞아야만그것을수락하고적용한다. 도메인의경우는공격자가알기쉽기때문에도메인만설정할경우보안에취약점이생긴다. 각스위치에 VTP암호를설정함으로써공격자가임의로 VTP Advertisement를송신하여도암호를숙지하고있지않으면공격은무효가되기때문에 VLAN추가 & 삭제공격을방지할수있다. Ⅳ. 결론 1. LAN환경의공격의심각성을알린다. 본논문에서는우리가흔히접할수있는 LAN환경에서의공격이얼마나심각한문제이고악용될수있는지알리고자했다. LAN은일반회사는물론공공기관, 군사기관, 금융기관등의인터네트워크, 대학교를포함한각종학교전산망, 동네 PC방까지도 LAN환경은무수히우리눈에보이는곳에있다. 특히대학교 LAN망, PC방의 LAN 환경에비교적쉽게공격이가능한 Mac Flooding이나 ARP Poisoning같은공격이쉽게이루어질수있다. 우리는대학교공용PC 또는 PC방등공용네트워크상에서 ID, PW를이용하는데이자체가공격대상이될수있다. 실제로 KISC( 인터넷침해사고대응지원센터 ) 의보고서에따르면최근 ARP Poisoning을이용한악성코드감염피해사고가빈번히발생하고있으며이를이용하여정보도청및 HTML코드변형에의한악성코드감염등등심각한피해를초래하고있다. [17] 2. 본논문의향후과제 본논문에서는데이터링크계층의동작과정에서 오는취약점의공격원리와방법, 그리고대책을 제시하였다. 하지만본논문에서제시하는대책은 부족한부분이많으며이유는두가지가있다. 대책에서제시하는모든명령어는실제스위 치장비에서만작동하는명령이다. 같은취약점을공격하는것이라도그유형은 다수존재한다. 본논문의실험에있어서실제장비를이용하여 실험을하지못하여대비책에대한보다심도있 는탐구및영향분석이이루어지지못했다. 그리 고공격유형은여러가지가존재하고아직도발 전중이기때문에계속적인문헌및사례의탐구 가필요할것이다. 3. 마치며 데이터링크계층에의거한공격은방법만알면 누구라도손쉽게공격을시도할수있지만상위 계층의공격과다르게응용프로그램적으로는방 어가불가능하고발견이쉽지않다는것이더욱 위협적이다. 그러므로네트워크분야를희망하거 나종사한다면미리취약점을숙지하고예방하는 것이가장중요하다. 참고문헌 (PDF), Cisco Japan
[17] ARP Poisoning [Spoofing] 악성코드감염사고분석 (PDF), KISC, http://www.krce rt.or.kr/unimdocsdownload.do?filename1= ARP%20Poisoning.pdf&docNo=TR2008005 &dockind=2 [18] 다이나밉스, 피터전, NeverStop [19] 랜스위칭 I, 피터전, NeverStop