중소기업융합학회논문지제 4 권제 2 호 pp. 13-18, 2014 ISSN 2234-4438 악성코드분석및대응방안 홍성혁 1* 1 백석대학교정보통신학부 Analysis and Countermeasure of Malicious Code Sunghuyck Hong 1* 1 Division of Information and Communication, Baekseok University 요약본각종 PC 및스마트폰의발전으로인하여인터넷이발전함으로써정보시스템과인터넷과스마트폰의발전으로인하여모든정보자산의네트워킹이가능해졌다. 이로인해각종취약점과프로그램을악용하여악성코드를만들어정보를빼내가거나, 유출을시키는등의범죄가하루가다르게늘어나고있다. 이에따른각시스템별보안위협및어떤방법으로, 어떤경로로위협을해오는지를알아보고이에따라시스템을비교하여목적및수단을알아보고취약점을분석하고대응책을알아본다. Abstract Due to the development of information systems and the Internet, the Internet and smart phones can access networking in any where and any time. This causes the program to exploit various vulnerabilities and malicious code created to go out information, the disclosure of such crime increasing day by day. The proposed countermeasure model will be able to contribute to block all kinds of malicious code activities. Key Words : Malicious code, virus attack, network security, network monitoring 1. 서론현재각종 PC 및스마트폰기기의발전으로인하여인터넷이발전함으로써이를악용하는사람들로인하여각종악성코드가개발이되어각종기기들을위협하고있다. 본논문에서는각종PC와스마트폰기기의발전으로인하여확산되고있는소셜네트워크서비스, 가상화기술등의빠른확산으로급격하게늘어난새로운형태의악성코드를분석하고악성코드에의해발생된보안위협사례를분석하여본논문에서각종악성코드에대하여알아보고이를예방하는방안에대하여살펴본다. 2. 보안위협변화 2.1 보안위협 현재 PC와스마트폰의사용확산으로인하여인터넷사용량이급격히증가하고있다. 태블릿PC 와스마트폰을업무로사용하는직원의수가 2014년전세계직장인들을대상으로조사에따르면추후에는기기를업무용으로만사용하는인원이 3억 5천만명에달할것으로전망되고있으며 [1]. 2015년에는 4,200만명에달할것으로전망하고있다. 이에따른각종네트워크를위협하는보안위협사례가크게증가하여안드로이드에서 2012년 4/3분기에 51,477개의악성코드가발견되었다. 이수치는직전분기대비의약 10배가증가된수치이다. 현재이미많은기업들이 BYOD 허용여부를떠나서이미많은직원들이스마트폰및태블릿PC를많이활용함에따른보안위협도크게증가하고있다. 이에따른취약점분석평가, 보안위협에대한고려및대응책이필수적으로요구되어지고있다. Received 2014-3-2 Revised 2014-5-26 Accepted 2014-5-26 * 교신저자 : Sunghuyck Hong(sunghyuck.hong@gmail.com) 13
중소기업융합학회논문지제 4 권제 2 호 2.2 제어시스템을노리는보안위협의증가최초로제어시스템을공격하였던건 2011년 10월발견되었던 Stuxnet 이다. 이 Stuxnet 은최초의사이버무기로평가가되고있다.[2]. 그이후에도기반시설및제어시스템을공격대상으로하는대표적인악성코드들이계속발견이되어지고있다. 현재미국은 ICS-CERT(Industrial Control System - CERT)[3] 를운영하고있다. 이 ICS-CERT Monthly Report 에따른통계로는매년제어시스템사이버사례의증가는아래 Table 1 ICS Incident & Vulnerabilities를보면알수있다. 시킬수있는성인광고, 성인물들같은광고를위한스팸봇과현재골칫덩이로전락한트로이목마와같은정보유출용악성코드유포, 개인정보및카드정보를유출하기위한피싱웹사이트로링크를전송하는등의많은피해를발생시키고있다. 아래 Table 2는 SNS상의보안위협사례들을나타낸다. Table 2. SNS상의보안위협사례 Table 1. ICS Incident & Vulnerabilities 위 Table 1과같이제어시스템및기반시설에대한보안위협은계속되어지고있으며, 통계자료를분석함과같이앞으로도보안위협은더욱더증가할것으로예상한다. 이에대한대응책은체크리스트를만들어주기적으로제어시스템에취약점을평가및분석을하여체크를하며이에따른보안대책을수립하여보안사례가발생하지않도록노력을해야한다. 2.3 소셜네트워킹환경을노리는보안위협현재스마트폰의엄청난확장을이루게해준최고의아이템은소셜네트워크서비스 (Social Network Service, 이하 SNS) 이다. SNS는전세계의다양한사람들이서로다양성을존중하며개인과기업간의소통의장으로자리매김을하고있다. 전세계적으로대표적인 SNS서비스를보면 트위터 와 페이스북 을예로들수있다. 이러한 SNS는전세계적으로소통을할수있는플랫폼으로발전이되어가고있다. 하지만이러한 SNS의사용이많이짐과동시에보안위협또한많아지고있다. 이에따른 SNS 환경에서의보안사례및역기능들을살펴보자 2.3.1 SNS의보안사례및문제점 SNS는전세계의사람들이사용을하기때문에이메일, 메신저등을이용하여보다강력하게사람들을현혹 또, 작년부터지속적으로 C&C( 악의적인봇넷의명령, 제어서버 ) 가활용됨에따라서 SNS 환경에는꾸준한보안위협에대한새로운시도가멈추지않고계속만들어지고있음을확인해볼수있다. 인터넷을사용하는사람이라면 PC와모바일을막론하고누구든지트위터나페이스북과같은소셜네트워크를통해자신의일상이나, 자신의취미, 사진등을올리게됨으로써정보가오픈이된상태에서서로를신뢰함으로써소통을하기때문에자신도모르게개인정보들이어디론가빠져나가게될수있다. 그러므로공격자들은 SNS를통하여수많은공격대상을만들수있고공격대상으로부터정보를빼낼수있다. 이에따른대응방안은모바일이나 PC사용중메시지에포함이되어있는 URL 접근을주의하고, 지인의메시지라도다시한번확인을해보고열람을하여야 14
악성코드분석및대응방안 하고검증되지않은서비스의이용은가급적이면사용하지않도록해야한다. 3. 악성코드종류악성코드를분류하여악성코드의다양한종류와악성코드의특성을확인하여분석해보고어떤목적으로사용되고, 어떤방법으로사용되는지알아볼수있다. 3.1 대표적악성코드분류 3.1.1 Trojan Horse Trojan Horse란악성루틴을포함하고있으면서정상적인하나의프로그램으로위장을하고있는프로그램이다. 다른사용자가알수가없도록포함되어있으며자기스스로는복제를할수가없다. Trojan Horse 는 Worm이나 Virus 와는다르게공격자가악의적목적을가지고삽입시킨다. 주로 DDos 공격, Backdoor설치를통하여개인정보를빼내는행위를한다. Trojan Horse 는자기복제가불가능해서다른프로그램에자기자신을집어넣어사용자가그프로그램을실행하게만들어피해를유발시키는악성코드이다. 3.1.2 Worm Worm이란자기를복제할수있는능력을가지고있고, 혼자서컴퓨터와컴퓨터를이동해가며전파시키거나, 프로그램과프로그램사이를이동하며전파를시킨다. Worm은자신을복제하거나, 사용자가인지할수없는방법으로이메일을전송한다던가, 프로그램이배포되기전정상적파일에새로운코드들을넣는등의수행을하는악성코드이다. Worm 은자기자신자체만으로도네트워크를타고전파가가능하다. 3.1.3 Spy-ware(Spy Software) Spy-ware는주로무료로배포되는소프트웨어프로그램에포함이되어있다. 감염되어있는네트워크나컴퓨터안에서동의없이개인이나기업에대한정보를빼내어공격자에게보내도록제작이되어있는프로그램이다. Spy-ware의주요악성행위는각종정보, 데이터, 금융정보, 개인정보등을빼내는행위를한다. 3.1.4 Bot Bot은공격자가사용자의컴퓨터를제어할수있도록만들어주는프로그램으로써 Bot Master 의명령에따라서다양한경로로사용자의 PC에침입을한다. Bot Master 는 Bot에감염된 PC를자유자제로조종할수있고, PC에저장되어있는정보를빼낼수가있어서정보유출도쉽게할수있고, 다른시스템들을공격을하는목적으로사용된다. botner는여러 Bot들이모여하나의네트워크를형성한경우이다. 3.1.5 Backdoor Backdoor란시스템에접근을할때정상적인인증절차등을거치지않고시스템이나응용프로그램으로접근을할수있도록만들어주는도구이다. Backdoor는일종의통로이다. 공격자가시스템으로최초로침입을한후에, 공격자가원할때마다쉽게다시침입을하여권한을획득할수있다.[5] 4. 악성코드분석악성코드를분석하는방법으로는동적분석 (Dynamic Analysis) 방법과정적분석 (Static Analysis) 방법으로나뉠수있다. 이런방법으로악성코드를분석을함으로악성코드를사용하여공격하려는시스템내동작과정, 전파경로, 및악성코드가하고자하는목적을빼내기전정보를판단하여해당악성코드에대하여대응할수있다. 4.1 동적분석방법동적분석방법은실제로악성코드를실행시키고악성코드가수행될때그내용을분석하는방법이다. 가상머신 (Virtual Machine) 이나에뮬레이터 (Emulator) 에서파일이나프로세스및네트워크를이용하는행위들을위한 API(Application Programming Interface) 호출등의분석을실시간으로하는방법이다. 동적분석방법은비교적으로악성행위분석이정확하게가능하다. 악성코드가특별한환경이나조건을만족하지않지만동작을하기위한다는조건이만족하지않을때에는분석이어려울수가있다. 단점으로는여러실행경로중소수의경로만분석을할수있다. 에뮬레이터나가상머신과같은 15
중소기업융합학회논문지제 4 권제 2 호 분석환경이구축이되면악성코드에대한동적분석을수행할수있다 [6]. 장점으로는정상적인상태로감염전에빠른복구를할수가있다. 이때문에안전하게분석을할수가있다. 동적분석은주어진악성코드에대한 API 후킹을분석환경에서할수가있다. 여기서 API후킹은응용프로그램으로부터호출이되어지는 API를가로채어서악성코드를분석하는사람이작성이되어있는응용프로그램의함수들을처리를할수있도록해주는메커니즘이고개발언어에대해제약없이적용할수있기때문에역추적이나, 디버깅, 모니터링등에서사용할수가있다. Windows 운영체제는기본적인 3개의 DLL(Dynamic Linking Library), kernel32.dll과 user32.dll과 gdi32.dll에대부분의 API를제공하고, 또구현을한다. 응용프로그램은실행할때자기자신의프로세스주소공간으로 DLL을맵핑을하고나서사용을하게된다.[7] 네트워크연결및파일, 프로세스, 레지스트리등을추적은 API가악성코드가실행이됨에따라서호출이되는것을모니터링을수행함으로추적을할수가있다. 아래의 Table 3은악성코드의행위에따른분석을할때이용할수있는 API들의예를보여준다. Table 3. 악성행위분석에이용이가능한 API의예최근에는악성코드를자동으로분석하여분석결과를알려주는서비스가점점많아지고있다. 제공되어지는악성코드의분석내용을보면레지스트리, 네트워크, 프로세스파일등의변화에대한로그들을기록이되어있다. 그리고변경이되는파일의경로파악및파일명을알수있고, 악성코드가접속을시도하려하는특정한 IP주소, 도메인등의네트워크로접속을시도할때이에대한정보를나타내준다. 아래의 Table 4는악성코드를동적행위분석을할수있도록서비스해주는웹사이트들을나타낸것이다. Table 4. 동적행위분석서비스웹사이트 4.2 정적분석방법정적분석방법은디컴파일러 (Decompiler) 나디스어셈블러 (Dis-assembler) 를이용하여역공학 (Reverse Engineering) 을통하여서악성바이너리에대한어셈블리명령어를악성코드바이너리파일을실제로실행을시키지않은채로생성하고분석하는방법이다. 정적분석방법은안전한분석방법이다. 왜냐하면악성코드를직접실행을시키지않기때문이다. 단점으로는자동화가어렵고, 시간과노력이많이필요하여시간이많이소모가된다는점과, 암호화가되어있는등의방법으로패킹 (packing) 이되어있을경우에는분석이어렵다는점이있다. 정적분석을수행할때먼저분석해야할것은 Windows 바이너리형태로되어있는 PE(Portable Executable) 파일의내용및구조이다 [8]. 각섹션별로정보의요소들을추출해야하고, 바이너리로구성이된 PE 파일을분석해야한다. Fig. 1[5] 과같이 PE 파일의 IAT(Import Address Table) 에포함되어있는 API 정보를추출함으로악성코드가어떤행위들을수행하고있는지를파악및포함되어있는관련정보에대하여추측가능하기위해텍스트스트링을추출을한다. Fig. 1. Import Address Table의예제또한, Fig. 2처럼 PE 파일을어셈블리명령어로변환을하여코드블록을작은단위로분할할수있고악성코 `* 1) API 2) 정적분석방법 16
악성코드분석및대응방안 드의동작및흐름을이코드블록의제어흐름을통하여파악을할수가있다. Fig. 2. 디스어셈블의예제 4.3 사이버보안을위협하는악성코드의변화및이에따른취약점분석사이버보안위협의증가로인한취약점을분석하기위해서는보안항목을구성하는것외에보안에대한절차에대한구체적은구조를개선하는방법도필요하다. 일반적으로취약성분석은취약점분석, 현황분석수행, 보호대책의수립, 계획수립으로이루어지고제안하는취약점분석은취약점분석을세분화시켜취약점분석방법을선정, 침입경로분석, 취약점분석으로구성을한다. 이를구성하여사이버를위협하고있는악성코드들의변화에대응을하고있다. 일반적인네트워크의구조를간단하게표현하여나타낸 Fig. 4를참조하며본장을분석해보자. 우선그림 Fig. 4을보고검은선위쪽을외부네트워크로보고, 외부로부터의침입경로인 (a) 만분석을한다. 검은선의아래쪽은내부네트워크로인식하고 USB 등외부기기를통한악성코드감염등에대해서만고려하여분석을한다. 이에따라외부에서부터보안대책, 접근통제는방화벽과같은유선네트워크접점에서만적용이된다. 그러나 BYOD, 나모바일인터넷의사용증가로인하여전통적인내부와외부의구분을의미가없도록만들고있다. 내부네트워크로인식이되던사용자단말기에서직접적으로모바일의인터넷을연결할수있도록하여외부로부터내부로침입을할수있으며, 방화벽을무력화시키는방식의테더링 (tethering) 이있다. 이에따른사이버보안위협에대한변화에따라일반적취약점분석시, 외부네트워크를구분하고연결접점을분석을하는의미가없어졌다. 대신 Fig. 4의 (b) 와 와같이내부사용자의영역에서도침입경로가외부로부터형성될수있다는것을인식하고, 다양한침입경로에대하여분석도필요하다. 또보안대책을수립할때에도기존의내부, 외부구분에따른입체적이고전방위적인보안대책이필요하다. 5. 향후연구방향 Fig. 3. 제안하는취약점분석절차 4.4 침입경로분석 Fig. 4. 침입경로의다양화 앞으로는사이버공간을위협하는악성코드들이더욱더많이만들어질것으로본다. 본논문을작성하면서느끼게된것은프로그램이개발이됨에따라악성코드는제작이될것이고, 이악성코드에대한백신을만든다해도또다른악성코드로인하여사이버공간은위협을받게될것이다. 이에따른대응을생각을해보면최근유행하고있는스미싱과같은악성코드가담긴 URL을포함한메시지나, 메일, 등을받으면검증되지않은것이면절대로사용하지않도록하고, 주변지인의이름으로온문자라하더라도다시한번문자를보낸사람에게확인의절차를거치고이용해야한다. 그리고프로그램을사용할때에는번거롭더라도운영가이드라인을확인해보고, USB와같은외부기기들을연결했을때들어올수있는악성코드를대비하여백신프로그램으로점검후사용을할수있도록한다. 그리고사이버공간이활성화가됨으로써보안을대응할수있는조직이필요하다는생각만을가지고있다가는악성코드로부터승리를할수가 17
중소기업융합학회논문지제 4 권제 2 호 없을것이다. 악성코드가발전하는것처럼우리도이에대응을했던경험을토대로더욱더발전을해나가야한다. 앞으로는멀지않은미래에대해서도언제나공격자보다더욱더앞선방어시스템을구축하여앞으로의공격에도절대지지않길바라며깨끗한사이버공간을계속유지해나가길희망해본다. 참고문헌 [1] Mobile Security: BYOD, mcommerce, Consumer & Enterprise 2013-2018, Juniper research, 2013. [2] Nicolas Falliere, Liam O Murchu and Eric Chien, W32.Stuxnet Dossier", Symantec Security Response Report, Feb. 2011. [3] http://ics-cert.us-cert.gov [4] DOI: http://dx.doi.org/10.1016/j.ijrefrig.2006.03.005 [5] 강부중, 한경수, 임을규, 악성코드현황및탐지기술, Han Yang Univ. 2012.1, p.44-53 [6] 서정택, 가상환경을이용한악성코드탐지기술, 정보보호학회지, 제17권, 제4호, pp.74-82, August 2007. [7] 김성우, 해킹 / 파괴의광학 ( 개정판 ), 와이미디어, 2006. 저자소개 홍성혁 (Sunghyuck Hong) [ 정회원 ] 1995년 2월 : 명지대학교컴퓨터 공학과 ( 학사 ) 2007년 8월 : Texas Tech University, Computer Science (Ph.D) 2007년 9월 ~ 2012년 2월 : Senior Programmer, Texas Tech University, Office of International Affairs 2012년 3월 ~ 현재 : 백석대학교정보통신학부교수 < 관심분야 > : 네트워크보안, 해킹, 센서네트워크 18