IP 주소관리시스템설계및구현 (Design and Implementation of IP Address Management System) 황일선 1, 유종선 2, 정진욱 2, 이재용 3, 유기성 1, 박병연 1, 이원혁 1 1 한국과학기술정보연구원 2 성균관대학교정보통신공학부정보통신연구실 3 한서대학교인터넷공학과 {his, ksyu, bypark, livezone}@kisti.re.kr, {jsyou, jwchung}@songgang.skku.ac.kr, jylee@hanseo.ac.kr 요약 대규모분산네트워크를사용하는기업, 연구소, 학교등의전산관리자들은수많은 IP 주소를관리하기위해엄청난시간과비용을소모하고있음에도불구하고효율적인 IP 주소관리가이루어지지못하는경우가대부분이다. 이를위해네트워크에존재하는모든 IP 주소와 MAC 주소, 그리고사용자이름을동시에관리함으로써네트워크자원의보안성, 효율성, 생산성을높이는노력이필요하다. 따라서본연구에서는분산네트워크환경에서 IP 주소를중앙집중적으로관리하여 IP 주소자원관리의편이성과효율성을극대화할수있고, IP 주소관리를통한인증체제를갖추기위한통합관리시스템을개발하고자한다. Keywords: IP 주소관리, ARP, IP 차단알고리듬, MAC 차단알고리듬 1. 서론 대규모분산네트워크를사용하는기업, 연구소, 학교등의전산관리자들은많은 IP 주소를관리하기위해서엄청난시간과비용을소모하고있음에도불구하고몇몇개인사용자들은자신의임의대로허가받지않은 IP 주소를사용, 네트워크와인터넷에접속하여내부정책에위반되는행위를하기도하며다른 IP 와충돌을일으켜네트워크에치명적인장애를유발하기도한다 [1]. 따라서본연구에서는 IP/MAC 주소관리 [2] 를전산화하여자동으로관리할수있도록도와줌으로써관리네트워크내의임의의사용자가사용중인네트워크장비혹은 PC 의 IP 주소나네트워크인터페이스카드를임의적으로또는악의적으로변경하는것을차단할수있다. 또한새로운네트워크지원장비의도입시수많은네트워크자원을임의적으로할당하지않고, 관리자가중앙집중적으로관리하게됨으로써효율적인자원관리및네트워크문제발생시신속한대처를할수있도록한다. 이를위한본논문의구성은 2 절에서차단메커니즘을설명하고, 3 절에서는이를기반으로한시스템구조를설명하며, 4 절에서는실제로시스템을구현한실험결과를보여주고, 마지막 5 절에서는결론을제시한다. 2. 차단메커니즘 2.1 ARP 프로토콜 ARP[3] 는 TCP/IP 네트워크상에서논리적주소즉 IP 주소를물리적주소즉하드웨어주소로대응시키기위해사용되는프로토콜이다. 예를들어, IP 호스트 A 가 IP 호스트 B 에게 IP 패킷을전송하고자할때 IP 호스트 B 의물리적네트워크주소를모르는경우, ARP 프로토콜을사용하여목적지 IP 주소 B 와브로드캐스팅물리적네트워크주소 FF:FF:FF:FF:FF:FF 를가지는 ARP 패킷을네트워크상에전송한다. IP 호스트 B 는자신의 IP 주소가목적지에있는 ARP 패킷을수신하면자신의물리적네트워크주소를 A 에게응답한다. Hardware length Hardware Type Protocol length Sender hardware address (For example, 6 bytes for Ethernet ) Sender protocol address (For example, 4 bytes for IP ) Target hardware address (For example, 6 bytes for Ethernet ) (It is not filled in a request) Target protocol address (For example, 4 bytes for IP ) Hardware Type Operation Request 1, Reply 2 그림 1. ARP 프로토콜형식 50
이와같은방식으로수집된 IP 주소와이에해당하는물리적네트워크주소정보는각 IP 호스트의 ARP 캐시라는메모리테이블형태로저장된후다음패킷전송시에다시사용된다. 그림 1 은 ARP 프로토콜의형식을나타내고, 그림 2 는 ARP 아키텍쳐 [4] 를나타낸다. 2.2 Gratuitous ARP 그림 2. ARP 아키텍쳐 Gratuitous ARP 는컴퓨터가최초로부팅될때주로사용되며, 어떤호스트가자신의 IP 주소를사용중인지판별하는용도로사용된다. 즉호스트는자신의설정된 IP 주소가사용중인지네트워크에요청을하게된다. 요청에응답이있으면호스트는해당 IP 사용을포기하게된다. 하지만연속된 Gratuitous ARP 는사용중인호스트로부터 IP 를뺏는결과를초래한다. 이는프로토콜상의취약점으로 ARP Spoofing[5] 이라고도불린다. 본시스템에서사용하려는차단메커니즘은 Gratuitous ARP[6] 를이용한방법으로다른호스트들이차단된호스트의 MAC 주소를잘못인식하고있게함으로써통신을단절시키는방법이다. 현재까지발견된알고리즘은위방법을이용하여에이전트가차단시킬호스트 A 의 MAC 주소를엉뚱하게설정하여브로드캐스트를수행하면 A 를제외한나머지호스들은 A 의 MAC 주소를엉뚱하게알게된다. 그래서 A 와통신을하려고해도통신이수행되지를않는다. 2.3 차단알고리즘 다음그림 3 은네트워크차단알고리즘의수두코드를나타낸것으로 Network Isolation Algorithm 이라고명명한다. Connect Manager System 은매니저시스템과통신을하기위해소켓연결을맺고 Run packet_perception_module 은패킷을감지한다. 기본적으로매니저로부터차단시킬 IP 를입력받으면 Perform ARP operation about isolation-ip 를통해차단시킬 IP 에대해 ARP 동작을수행하여응답을받는경우누군가차단시킬 IP 를사용하고있다는뜻이므로 Create ARP request message which has a abnormal sender's hardware address in ARP header 를통해 ARP 해더의송신측하드웨어주소필드에잘못된 MAC 주소값을넣어패킷을생성함으로써네트워크내의다른호스트들이차단시킬 IP 의 MAC 주소를잘못된값으로알고있게만든다. 즉, Gratuitous ARP 와비슷한방식으로차단시킬 IP 를감지할때마다반복적으로수행한다. 차단된 IP 를해제하는경우 Create ARP request message which has a correct sender's hardware address in ARP header 를통해차단된 IP 의정상적인 MAC 주소를담에 ARP request 패킷을생성한다. Connect Manager System; Run packet_perception_module; If isolation-ip is inputted { Perform ARP operation about isolation-ip; If ARP response message receives do{ Create ARP request message which has a abnormal sender's hardware address in ARP header; }while(isolation-ip is perceived) } Else if release-ip is inputted { Create ARP request message which has a correct sender's hardware address in ARP header; Remove isolation-ip which is equal to release-ip; } 그림 3. 차단알고리즘 3. 시스템설계 3.1 시스템구조 시스템은크게브로드캐스트도메인마다설치되는에이전트와이를관리하는매니저로구성되어있다. 에이전트는브로드캐스트패킷을캡쳐하고, ARP 패킷을생성하며네트워크상태를매니저에게보고하는기능을한다. 매니저는각브로드캐스트도메인의에이전트들과통신하며수집된정보를관리자에게관리항목별로보여주며관리자의네트워크정책을에이전트로보내관리자가네트워크를통제할수있도록한다. 그림 4 는시스템의전체적인구조도이다. 51
Internet Manager 충돌사실보고 Option Module Report Module Router Switch Agent Organization Module Event Database Module Switch Real-time IP State Module IP 주소충돌감지 Switch Agent Hub Hub Agent Manager Communication Module 그림 6. 매니저구성도 그림 4. 전체시스템구성도 이러한에이전트와매니저의각각의모듈을살펴보면우선그림 5 에서처럼에이전트의경우네트워크의상태를감시하는 ARP Packet Capture Module 과이를분석하는 ARP Analysis Module 이있으며이러한정보나매니저로부터오는정책정보를기록하기위한 Network Information & Policy Database 가있다. 그리고매니저와정보를주고받기위한 Agent Communication Module 과매니저로부터오는정책을분석하는 Agent Control Module, 그리고매니저에게받은정책에따라 ARP 패킷을만들어내는 ARP Packet Generation Module 로구성된다. ARP Packet Capture Module ARP Analysis Module Agent Control Module Agent Communication Module ARP Packet Generation Module Network Information & Policy Database 그리고매니저와에이전트는각각통신하는모듈을포함하고있으며통신에사용되는프로토콜은텍스트기반구조로 Type#Agent or Manager ID #Information 의형태로각각의 Type 을정의하고해당 Type 에대한정보를송수신하게된다. 4 실험및결과 시스템은크게관리대역설정, 네트워크관리정책수행, 네트워크상태보고로나누어서보도록하겠다. 4.1 관리대역설정 에이전트는브로드캐스트도메인마다설치되어도메인내에서발생하는패킷을수집하고관리대역내의 IP 라면 DB 에기록하여매니저에게정보를전송한다. 매니저에서는에이전트로부터얻은정보를관리대역별로구분하여관리자에게보여준다. 다음그림 7 은매니저에서관리대역과에이전트를설정하는과정으로관리를위한메인그룹과서브그룹, 그리고이러한관리정보를기록할데이터베이스의이름을설정하고에이전트의이름및에이전트 IP 주소, 관리대역, 관리자정보를입력한다. 그림 8 은매니저에서설정된네트워크관리대역정보로메인그룹과서브그룹이트리형태로보여진다. 그림 5. 에이전트구성도 매니저의경우는그림 6 에서처럼에이전트와정보를주고받기위한 Manager Communication Module 과에이전트로부터받은정보를관리자에게보여주는 Real-time IP State Module 이있다. 그리고관리자가매니저의각종옵션을설정하는 Option Module 과정책을설정하는 Organization Module, 그리고각정책및네트워크상태등각종이벤트를기록하는 Event Database Module 이있으며이러한 Database 에기록된이벤트들을항목별로가공하여관리자에게보고해주는 Report Module 로구성된다. 그림 7. 관리대역및에이전트설정 52
그림 8. 관리대역 에이전트는매니저로부터관리대역을받으면 ARP 패킷을생성하는기능을통하여그림 9 와같이관리대역내의 IP 에대해사용 / 미사용여부를확인하고, MAC 주소를얻어와매니저에게보내주며매니저는에이전트로부터받은 IP 정보를가공하여전체 IP, 사용 IP, 미사용 IP 등으로구분하여관리자에게정보를보여준다. 그림 9 는매니저에서전체 IP 정보로각 IP 와 IP 를사용하는 MAC 주소, Host 명, 정책상태등과해당 IP 에대한각종옵션상태가보여지며그림 10 은현재사용중인 IP 정보를보여주는그림이다. 그림 11. 차단정책설정 그림 11 에서보면 10.22.11.138, 10.22.11.139 에대하여 IP 차단이되어있고 10.22.11.140 에대해서는 MAC 차단이되어있는것을볼수있다. 여기서 IP 차단과 MAC 차단의차이점은 IP 차단의경우는차단을하려는 IP, 즉 10.22.11.138, 10.22.11.139 에대해어떤사용자도이 IP 를사용하지못하도록막는것이고, MAC 차단의경우는차단을하려는 MAC 주소즉, 00:01:03:45:7D:7D 에대해사용을막는것이다. 따라서차단정책이내려진 MAC 주소인 00:01:03:45:7D:7D 는다른어떤 IP 도사용을할수없게되는것이다. 그림 9. 관리대역내의전체 IP 정보 그림 10. 관리대역내의사용 IP 정보 4.2 네트워크관리정책수행 또한비인가된 IP 혹은 MAC 에대해서는네트워크차단기능도수행하며, IP 차단, MAC 차단등각각의네트워크정책별로구분하여해당정책이내려진호스트들의정보를쉽게확인할수있다. 다음그림 11 은비인가된 IP 및 MAC 에대해차단정책을내린그림이고그림 12 는 IP 차단정책이내려진 IP 만을모아서보여주는그림이다. 그림 12. IP 차단된호스트 위에서설명한 IP 차단과 MAC 차단을응용하여 IP 주소나네트워크인터페이스카드를임의적으로또는악의적으로변경하는것을차단할수있는데, 각사용자에게 IP 를부여하고에이전트가네트워크정보를수집하면서 IP 주소와 MAC 주소를얻어와관리자가부여한 IP 를사용하지않거나혹은해당 IP 를할당받은 MAC 주소가아닌네트워크인터페이스카드가 IP 를사용하고있는경우 IP 차단이나 MAC 차단알고리즘을적용하여불법적인 IP 주소의사용이나네트워크인터페이스카드의임의적인변경을차단할수있다. 4.3 네트워크상태보고 에이전트는네트워크상태를감지하며네트워크에서발생하는 IP 충돌, IP 를사용중인 MAC 정보등의네트워크정보를매니저에게전송한다. 그리고매니저는에이전트로부터얻어진정보를바탕으로해당 IP 의사용내역및네트워크상태등의정보와네트워크를관리하면서관리자가실행한각종관리이벤트및관리자에의해설정된정책정보등을보 53
고서의형태로관리자에게보여준다. 다음그림 13 은해당 IP 의사용시간정보를나타낸보고서로각 IP 를사용한 MAC 정보와함께해당 IP 를사용한시간의정보를보여준다. 그리고그림 14 는관리자에의해내려진각종정책에관한로그정보를보여주는그림이다. 게보내고매니저는에이전트로부터얻은네트워크정보를가공하여보고서의형태로관리자애게보여주어관리자가중앙집중적으로네트워크를관리할수있도록하였다. 향후연구에서는에이전트에최근이슈가되고있는웜바이러스를감지하는모듈을추가하여웜바이러스에감염된호스트를관리자가 IP/MAC 차단을통해네트워크에서격리시켜네트워크의성능및보안의문제를해결함으로써보다향상된 IP 통합관리시스템을개발할수있을것으로보인다. 참고문헌 그림 13. IP 사용시간보고서 [1] William Stallings, Network Security Essentials Application and Standards Second Edition, Prentice Hall, 2002 [2] 정진욱, 김현철, 조상홍, 컴퓨터네트워크, 생능출판사, 2002 [3] Fred Halsall, "Data Communications, Computer Networks and Open Systems,ADDISON-WESLEY, 1996 [4] Behrouz A.Forouzan, TCP/IP Protocol Suite", McGrawHill, 2000 [5] 최원우, 정진욱, 안성진, A Study on Network Security Problems Analysis of ARP Mechanism, 한국응용수학회, Aug 2004 [6] W. Richard Stevens: TCP/IP Illustrated Volume 1, Addison-Wesley, Massachusetts, 1994 5. 결론 그림 14. 정책이벤트보고서 본논문에서는 IP 라는네트워크자원에대한관리와보안에초점을맞추어 IP 관리시스템을제안하였다. 본시스템은에이전트와매니저로나뉘어여러네트워크를통합적으로관리하며, IP 자원을효과적으로관리하기위하여네트워크모니터링및 IP 차단알고리즘을사용하였다. 또수집된데이터를통해정책을결정하고결정된정책이에이전트에반영되어각에이전트가해당네트워크를관리하도록하였다. 그리고각에이전트들은해당네트워크의각종정보를매니저에 황일선 2001 성균관대학교정보통신공학석사 2003 성균관대학교컴퓨터공학과박사 1997 시스템공학연구소 / KIST 실장 1998 한국전자통신연구원실장 1999 ~ 2000 연구개발정보센터실장 2001 ~ 현재한국과학기술정보연구원, 실장 유종선 2004 성균관대학교정보통신공학부학사 2004 ~ 현재성균관대학교컴퓨터공학과석사과정 54
정진욱 1974 성균관대학교전기공학과학사 1979 성균관대학교전자공학과석사 1991 서울대학교계산통계학과박사 1982 ~ 1985 한국과학기술연구소실장 1985 ~ 현재성균관대학교정보통신공학부교수 이재용 1985 인하대학교공학학사 1990 인하대학교공학석사 2000 인하대학교공학박사 1990 유한대학강사 1991 재능대학강사 1991 ~ 1993 시스템공학연구소연구원 1993 ~ 1999 수원여자대학교조교수 2000 ~ 현재한서대학교인터넷공학과부교수 유기성 1991 한남대학교학사 2004 성균관대학교석사 1991 ~ 현재한국과학기술정보연구원선임연구원 박병연 1991 대전산업대학교학사 2004 공주대교육정보대학원석사 1991 ~ 현재한국과학기술정보연구원선임연구원 이원혁 2001 성균관대학교공과대학컴퓨터공학과학사 2003 성균관대학교공과대학컴퓨터공학과석사 2003 ~ 현재한국과학기술정보연구원연구원 55