주간기술동향통권 1371 호 2008. 11. 5. 컴퓨터시스템보안및보안취약점점검도구동향 장승주 * 우리나라가 IT 강국으로성장할수있었던배경에는여러가지이유가있지만, 그중에서 웹 의탄생을생각하지않을수가없다. 웹의탄생으로인해접근하기쉬운애플리케이션과애플리케이션들간의통합이됨에따라보안에대한문제가발생한다 [1],[2]. 보안에문제가생김에따라일반적으로해킹 (hacking) 으로알려진크래킹이빈번하게일어난다. 이러한보안의문제는보안상의취약점 (vulnerability) 을크래커 (cracker) 들이사용하기때문이다 [3]-[6]. 본고에서는컴퓨터시스템보안및보안취약점점검도구동향에대해살펴본다. 목 I. 서론 II. 보안취약점 III. 보안취약점의악용 IV. 보안취약점의유형 차 I. 서론최근우리나라가 IT 강국으로성장할수있었던배경에는여러가지이유가있지만, 그중에서 Web 의탄생을생각하지않을수가없다. Web 이라는매개체는정보서비스상호연결을쉽게해주고, 새로운직업과기회를만들어주었다. 또한업무의효율성을높여준다 [1],[2]. 하지만웹탄생으로인해접근하기쉬운응용프 V. 보안취약점의문제점및점검도구의허점 VI. 보안취약점점검도구 VII. 결론 * 동의대학교컴퓨터공학과 / 교수 로그램과응용프로그램들간에통합이됨에따라컴퓨터시스템보안문제가발생한다. 컴퓨터시스템보안에취약한부분이생김에따라해킹 (hacking) 으로알려진크래킹 (cracking) 이빈번하게일어난다. 이러한보안문제는보안취약점 (vulnerability) 을크래커 (cracker) 들이이용하기때문이다 [3]-[6]. 본고에서는컴퓨터시스템보안및보안취약점점검 14
도구에대한개념과동향에대해살펴본다. II. 보안취약점 최근인터넷이라는정보의바다에서는찾지못하는정보가없을정도로방대한양의정보가유통되고있다. 이방대한정보중에는각개인의신상정보와같은노출이되면안되는비밀스러운정보도있다. 개인신상정보는본인이외의사람에게는공개되지말아야한다. 이런정보를컴퓨터시스템으로보호하는것이보안 (security) 이다. 인터넷상의보안이라는것은정보보안을의미한다 [2],[4]. 정보보안은데이터및시스템을고의적혹은실수에의한불법적인노출, 변조, 파괴및지체로부터보호하는것을말한다. 정보를보호하는것에는 3 가지특징이있다 [8],[9]. 첫째, 기밀성 (Confidentiality) 보장이있다. 이는권한이없는사용자또는불법침입자들의접근제어를통하여정보를보호하고, 비밀이노출되지않도록보장하는것을말한다. 둘째, 무결성 (Integrity) 유지이다. 권한이없는사용자나, 불법침입자들에의한정보의조작이나, 생성, 삭제, 수정등으로부터정보를안전하게원본상태를보존하고유지하는것을말한다. 셋째, 가용성 (Availability) 확보이다. 권한이있는사용자라면언제어디에서든적시, 적소에필요한정보에접근할수있고그정보를가공, 생성, 삭제, 수정이가능해야한다. 인터넷과연결된시스템에서기기 ( 하드웨어 ) 의허점이나프로그램 ( 소프트웨어 ) 의허점이노출되는것을보안취약점이라한다. 보안취약점은컴퓨터시스템을공격하는사람이시스템및네트워크의보안정책의취약점을이용하여원하는목적을달성하게된다. 시스템및네트워크설계, 구현, 운영, 관리상의약점이다. 이러한보안상의취약점을점검하는도구들은공개되어있는프로그램들도있지만상용화된프로그램들도있다. 이러한프로그램들은보안상의취약점을검사하고그결과를사용자에게알려준다. 이는보안상의취약점을예방하는차원에서개발되었지만, 악의적인용도로사용되어질수도있다. III. 보안취약점의악용 인터넷에연결된서버는개인정보나시스템정보가쉽게노출될수있다. 이것은인터넷사용의장애요인이될수있다. 이러한환경으로인하여일반사용자가인터넷이용을꺼리게된다. 이와같이보안관련정보의유출이나보안정보의공유등은악의를가진사용자들에의해의도적으로나악의적으로이용되고있다 [6],[7]. 15
주간기술동향통권 1371 호 2008. 11. 5. 특히보안취약점이나보안관련정보들은대부분이공개된운영체제인 UNIX Platform 에서발전했기때문에, 보안상태를점검해주는보안스캐너나취약점분석도구들이 UNIX 환경에서동작하는것이많다. 일반사용자들의경우 UNIX 계열의운영체제를사용할일이거의없지만일반사용자들에게다양한콘텐츠나웹서비스등을제공하고있는기업에서는 UNIX 계열의운영체제를많이사용하고있다. 기업에서사용하는시스템들이 UNIX 계열의운영체제를사용하고있기때문에 UNIX Platform 에서동작하는보안스캐너나취약점분석도구들에노출될가능성이높다. 일반사용자라하더라도약간의호기심이나나쁜의도만있어도인터넷에서보안스캐너나취약점분석도구들을이용하여손쉽게불특정서버시스템에접근이가능하다. 심지어서버내의중요한정보를열람할수도있다. 2003 년말 90 개의웹사이트를해킹하여 260 만명의개인정보를유출한사건이있었다. 이사건의피의자가 발표된취약점에대해시스템관리자가패치하지않을경우는인터넷에연결된시스템의경우에 5 분이내면해킹이가능하다. 라고말을해충격을주었다 [3]. 보안관련범죄가증가하는이유는컴퓨터가가진다양한기능특성때문이라고할수있다 [1]. 첫째, 네트워크가연결되어있다면언제, 어디에서든접근이가능하다는것이다. 전세계가그물망처럼얽혀있는네트워크에접속만할수있다면사용자가어디에있든원하는시스템까지접속이가능하다. 두번째는정보에대한변조가용이하다는것이다. 컴퓨터의저장공간은종이나기타실생활에사용하는물체보다정보의변조가용이하다 [3]. 또한이전의정보를유지하지않고새로운정보로바꾸는데드는시간이점점줄어들고있다. 세번째는정보의집적성이다. 거의대부분의중요한서비스가컴퓨터시스템으로통합되고있다. 금융, 교통, 정치, 경제할것없이컴퓨터라는시스템을중심으로돌아가고있다. 네번째는소프트웨어의복잡성이다. 복잡한소프트웨어일수록문제점을찾기힘들고, 논리적오류나치명적인오류가발생할확률이증가한다. 이렇게발생된컴퓨터시스템오류들은보안취약점으로발전할가능성이있다. 다섯번째는불가시성을들수있다. 시스템에누가들어와서무엇을하는지빠르게알아차리기가쉽지않다. 시스템내부는시스템관리자등의눈에보이지않기때문이다. 이러한불가시성을이용하여컴퓨터시스템관련범죄가발생되고있다 [1],[9]. IV. 보안취약점유형 보안취약점은크게 3 가지로분류할수있다. 네트워크보안취약점, 시스템보안취약점, 웹 16
보안취약점이다. 이러한분류는본고에서이해를돕기위해구분한것으로개념적으로중복이있을수있다. 네트워크보안취약점은네트워크장비나, 기기들의취약점부터네트워크구조식별에대한취약점들을모여있다. 시스템보안취약점은시스템적인부분인개인의 ID 나 PASSWORD 등에대한취약점들이모여있다. 웹보안취약점은웹브라우저나웹프로그램언어들의취약점이모여있다 [1]. 네트워크보안취약점은시스템의상태를알수있는취약점이라고할수있다. 크래킹의첫관문이네트워크보안취약점을파악하여어떻게목표시스템에접근할것인가이다. 네트워크보안취약점을이용한대표적인방법이 Ping 스캔이다 [2]. Ping 스캔은해당네트워크에서어떤호스트가살아있는지를알수있다. 네트워크의모든 IP 주소로 ICMP echo request packet 을발송한후응답이오면해당네트워크에연결되어있다고판단한다. 그러나일부사이트의경우안전을위해 ICMP echo request packet 을차단하는경우도있다. 이러한경우에는 80 번과같은특정한포트번호로 TCP ack packet 을보내어만약 RST packet 을받았다면해당시스템은살아있다고판단할수있다. ( 그림 1) 은 Ping 스캔의대표라할수있는 TCP Connect 스캔방식을보여준다. TCP 프로토콜의 3-way handshaking 을이용해서각포트에접속을시도하면완전한 TCP 연결을맺기때문에신뢰성있는결과를얻을수있다. 그러나이방법은속도가느리고로그가남기때문에쉽게탐지될수있다는단점이있다. TCP Connect() 스캔에서목표시스템의해당포트가열려있을경우에목표시스템은 SYN/ACK 패킷을전송하며, 포트가닫혀있는경우에는 RST/ACK 패킷을전송하게된다 [8],[9]. Attacker Target Attacker Target SYN 동기신호전송 SYN+ACK 동기신호응답전송 SYN 동기신호전송 RST+ACK 동기신호 GHLTLS ACK 응답에대한응답전송 < 자료 >: 포트스캔 (PortScan) 의이해와구현 (http://navylela.tistory.com) ( 그림 1) TCP Connect 스캔 17
주간기술동향통권 1371 호 2008. 11. 5. 시스템보안취약점은사용자의계정이나디렉터리, 파일등의관리에대한취약점을말한다. 접근권한이없는사용자가특정파일을열람할수있다고한다면심각한보안취약점이될수있다. 열람가능한특정파일이만약어느기업의기밀문서라고한다면해당기업은심각한피해를입게된다. 웹보안취약점은웹브라우저의문제나웹프로그램언어가갖는오류나버그로인한보안취약점을말한다. 웹프로그램에서많이사용하는 DB 와관련된악의적인명령어를입력함으로인해권한을초월한정보를열람하거나다운받을수있게되는문제점이있다. 사용자가인증절차없이웹서비스를받을수있는경우가발생하면해당웹서비스업체는피해가심각해진다. V. 보안취약점의문제점및점검도구의허점 보안스캐너나보안취약점분석도구는 UNIX Platform 에서주로발전되고있다. 하지만최 근일반사용자들을대상으로하는스파이웨어나악성코드같은프로그램들이지속적으로개발 되어유포되고있다. 이는 UNIX 계열의시스템뿐만이아닌 MicroSoft 사의 Windows 계열의 시스템들도더이상안전하지않다는것을의미하고있다 [10]. 국내보안업체인안철수연구소에서는 2007 년 1 월부터 2008 년 8 월까지의악성코드발 견통계를발표한적이있다. < 표 1> 은시간이지날수록신종악성코드가증가함을보여주고있다. 안철수연구소는 < 표 1> 악성코드발견통계 월 2007 년 2008 년 1 월 2,057 8,948 2 월 1,558 3,254 3 월 1,111 5,609 4 월 1,617 5,797 5 월 1,264 7,650 6 월 2,321 6,634 7 월 3,536 6,213 8 월 1,775 3,396 9월 1,305 10 월 4,265 11 월 6,454 12 월 5,352 합계 32,615 47,501 < 자료 >: 안철수연구소 (ASEC 리포트 ) 18
2008 년 8 월, 전체 3,396 건의피해신고가접수되었으며지난달인 7 월, 전체 6,213 건에비교하면절반에가까운감소세를보인것은여름휴가철로인한 PC 사용감소로피해신고가줄어든것으로보인다고밝혔다. 특히허위안티스파이웨어, MS 보안취약점을이용한제로데이터공격등은보안상의취약한부분을공격하여시스템의주요정보가무방비로노출될수있는위험을갖고있다. 제로데이터공격은취약점이발견된후개발사의공식적인취약점패치발표이전에해당취약점을공격하는악성코드나스파이웨어가제작되는것을말한다. 허위안티스파이웨어는사용이무료라고광고해서사용자를현혹시킨후에사용자컴퓨터에프로그램을설치하게된다. 악성코드 를잡는다는명분으로주로정상적인파일까지악성코드인것처럼진단하거나사용자 PC 의파일을암호화해불안감을자극한다. 허위안티스파이웨어의경우최근일반사용자, 즉보안비전문가들의입장에서도보안이중요하다는인식을악용한경우라하겠다. VI. 보안취약점점검도구 보안취약점점검도구는특정시스템에존재할수있는보안취약점을사전에점검하여보안을강화시켜주기위한수단이될수있다. 이러한해당시스템에대한보안취약점을점검하여보안을강화하는데사용할수있다. 여기서는 MBSA, Nmap, NBTScan 보안취약점점검도구등을소개한다. 1. MBSA 보안취약점점검도구 Microsoft 는 Strategic Technology Protection Program 의일환으로일반적으로틀리기쉬운보안관련설정을간단히확인하는방법에대한고객의요구에따라 MBSA(Microsoft Baseline Security Analyzer) 도구를개발하였다 [10]. MBSA Version 1.2 는 Windows 시스템을로컬에서나원격으로검사할수있는그래픽및명령줄인터페이스를갖추고있다. MBSA 는 Windows 2000, Windows XP 및 Windows Server 2003 시스템에서실행되며 Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Internet Information Server(IIS), SQL Server, Internet Explorer 및 Office 에서일반적으로잘못되기쉬운시스템설정을검사하는기능을갖추고있다. MBSA 1.2 는또한 Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, IIS, SQL Server, IE, Exchange Server, Windows Media Player, Microsoft Data Access Components(MDAC), MSXML, Microsoft Virtual Machine, Commerce Server, Content Management Server, 19
주간기술동향통권 1371 호 2008. 11. 5. BizTalk Server, Host Integration Server 및 Office 에서누락된보안업데이트를검사하여목 록을보여준다 [10]. 2. Nmap 보안취약점점검도구 공격자의입장에서시스템에침입하기위해제일먼저하는행위는네트워크및시스템에대 한스캔이다. 광범위한스캔을통해서현재어떠한서버가네트워크에연결되어있는지또한각 각의서버에서는어떠한서비스가제공중이며이러한서비스를통해서어떤시스템이웹서버 인지, DB 서버인지혹은메일서버인지등과같이시스템이어떤목적으로운영되는지도알수 수있게된다 [8],[9]. 반대로서버관리자의입장에서는자체시스템스캔을통하여자신이운 영하는서버가자신이알지못하는사이에다른포트가열려있는지등을확인할수있다. 이러 한스캔기능을제공하는툴과관련하여많은프로그램들이공개되어있다. 이러한프로그램중 Nmap 이가장많은기능을제공하면서또한많이사용되는프로그램이다. < 표 2> 는 Nmap 프 로그램의기능을정리한것이다. < 표 2> Nmap 의기능구분 TCP 연결 UDP 내용 탐색할포트들에대해서세가지 TCP handshake(syn, ACK-SYN, ACK) 를호출하는운영체제자체의 connect() 함수를사용한다. 연결에실패할경우 ( 즉서버가 SYN 패킷에대한응답으로 ACK- RST 를보내왔을경우 ) 포트가닫혀있다는것을의미한다. 이방법은루트권한을요구하지않으며또한가장빠른검사방법중하나이다. UDP 는비연결형프로토콜이다. UDP 는 TCP 검사처럼 handshake 방식으로연결하지않는다. 그러나대부분의운영체제는 UDP 포트가닫혀있을때 TCP/IP 스택이 ICMP Port Unreachable 패킷을되돌려주도록되어있다. 그러므로 ICMP 패킷이되돌아오지않는다면 UDP 포트가열려있는경우이다. 그러나탐색패킷뿐만아니라 ICMP 패킷역시반드시도달한다는보장이없기때문에 Nmap 은패킷전송의실패를줄이기위해스캔하고자하는각포트에대해여러개의 UDP 패킷을보낸다. Nmap 의 UDP 검사의정확도는대상호스트의운영체제버전에따라다르다. 이방식은다른종류의스캔방식과결합해서사용된다. Namp 은 RPC(Remote Procedure Call) 서 RPC 비스를통해포트가열려있는지확인가능하다. < 자료 >: Nmap 을이용한포트스캔 (http://blog.naver.com/kuroisora/5787334) 3. NBTScan NBTScan 프로그램은 NetBIOS name 정보를얻기위해네트워크를점검 (Scan) 하는프로그램이다. 점검하고자하는대상 IP 에대해서 UDP 포트 137 을사용하여 NetBIOS status 질의를보낸다. 그러면해당시스템은 IP 주소, NetBIOS 컴퓨터이름, 사용자이름, MAC 주소등의정보를반송하게된다. 20
UDP 프로토콜을사용하기때문에다른 TCP 프로토콜을사용하는보안취약점점검도구들보다프로그램처리속도가빠르다. 윈도운영체제에서는 nbtstat 이라는명령어를이용하여다른컴퓨터의 netbios 이름 을알아낼수있다. 하지만이도구는폭넓은대역을한꺼번에점검해서 netbios 이름 리스트를보여준다. 사용자는이프로그램의사용목적에따라자신에맞는다양한옵션을선택하여사용가능하다. VII. 결론 지금까지컴퓨터시스템보안및보안취약점에대한개념과취약점점검도구동향에대해서살펴보았다. 전세계적으로컴퓨터시스템보급이확산되면서여러가지문제점들이나타나고있다. 그중에서컴퓨터시스템보안취약점을이용하여컴퓨터내의중요한자료를유출시키는일이자주발생되고있다. 본고는컴퓨터시스템에서간단한보안취약점을이용한악용형태및보안취약점유형등을살펴보았다. 그리고여러가지활용가능한보안취약점점검도구등을살펴보았다. 이러한보안취약점점검도구나보안스캐너는인터넷상에서쉽게구할수있고, 이러한도구들을이용하여쉽게특정시스템을공격할수있다. 이것은시스템을운영하는운영자의입장에서는부담이될수밖에없다. 국내는아직컴퓨터시스템보안에대한환경이열악한실정이다. 이러한환경을개선하기위해서는쉽게사용이가능하고저렴하면서다양하게진화하는보안공격을사전에차단할수있는취약점점검도구의개발이시급한실정이다. < 참고문헌 > [1] 장승주, 최은석, 웹환경을이용한보안취약점점검도구개발에관한연구, 한국해양정보통신학회춘계종합학술대회, 2007. 6., pp.427-430. [2] 이기송, 웹어플리케이션을위한보안평가방법에대한연구, 중앙대정보대학원, 2007. 2. [3] YTN 김세호, 전문해커조직적발, 국세청도해킹, 2003. 11. 19. [4] 정보통신부, 웹어플리케이션보안템플릿, 한국정보보호진흥원, 2006. [5] 윤인수, 내부자에의한정보유출방지를위한보안시스템구축에관한연구, 강원대산업대학원, 2007. 2. [6] 국가사이버안전센터, 2005 년사이버침해사고사례집, 국가사이버안전센터, 2006. 3. [7] 한국정보보호진흥원, 해킹바이러스현황대응보고서, 한국정보보호진흥원, 2005. [8] 기반보호팀, 네트워크취약점점검도구선정지침, 한국정보보호진흥원, 2006., pp.120-142. [9] 보안관리팀, 공개용보안프로그램을활용한취약성점검, 한국정보보호진흥원, 2006, pp.14-24. [10] MBSA, http://microsoft.co.kr/, 전략적보안지원프로그램, 마이크로소프트, 2007. * 본내용은필자의주관적인의견이며 IITA 의공식적인입장이아님을밝힙니다. 21