SeoulTech 컴퓨터보안 박종혁 서울과학기술대학교컴퓨터공학과 jhpark1@seoultech.ac.kr
1. 악성소프트웨어의유형 2. 지능형지속위협 3. 전파 손상된내용 바이러스 4. 전파 사회공학 스팸전자메일, 트로이목마 5. 페이로드 시스템파괴 6. 페이로드 공격에이전트 좀비, 봇 7. 페이로드 정보도용 키로거, 피싱, 스파이웨어 8. 페이로드 은신 백도어, 루트킷 9. 대비책 10. 부록
1. 악성소프트웨어의유형 악성소프트웨어와콘텐츠는컴퓨터시스템에대한 가장치명적인위협 악성소프트웨어정의 : 피해자의데이터, 응용프로그램 또는운영체제의기밀성, 무결성또는가용성을손상시킬 의도로은밀하게시스템에삽입된프로그램
악성소프트웨어의분류 명칭 지능형지속위협 (APT) 애드웨어 (Adware) 공격킷 (Attack kit) 오토루터 (Auto-rooter) 백도어 (Backdoor) 다운로더 설명 다양한침입기술과악성소프트웨어를사용 상업적또는정치적목적을위해특정공격대상에지속적이며효율적으로적용함 조직의기밀정보획득을위하여사용됨 소프트웨어에통합된광고, 팝업광고를포함 상업사이트로연결하는경로변경으로사용자에게부정적인결과를초래할수있음 다양한전파와페이로드기법을사용 새로운악성소프트웨어를자동으로발생시키는도구의모음 새로운기계를원격으로손상시키기위하여사용되는공격툴 특정지점에우회하여정상적인방법으로통과하는기법 프로그램이나시스템에있는기능을인증없이접근가능 공격을위해시스템에다른서비스 / 어플등을설치하는코드 악성소프트웨어코드가하나의손상된시스템에우선적으로삽입된후대량의악성소프트웨어패키지에주입됨
명칭 다운로드에의한구동 설명 클라이언트시스템을공격하기위하여브라우저의취약점을이용하는손상된웹사이트에있는코드를사용하는공격 익스플로잇 (Exploit) 하나의취약점또는다수의취약점에특화된코드 ( 취약점공격 ) 플러더 (Flooder) 키로거 (Key logger) 논리폭탄 (Logic bomb) 매크로바이러스 네트워크에연결된컴퓨터를공격하기위해대량의데이터를만듦 만들어진데이터를이용해 DoS 공격의형태를수행 공격된시스템으로부터자판입력을수집하는프로그램 공격자에의하여악성소프트웨어에삽입된코드 특정조건이만족될때까지잠복하고조건이만족되면논리폭탄이트리거되어공격동작을실행 전형적으로문서에포함된매크로나스크립팅코드를사용 문서를열거나편집할때자동으로실행됨 모바일코드 루트킷 (Rootkit) 다양한장치의플랫폼에변경없이설치되어실행되는소프트웨어 공격자가컴퓨터시스템에침입하여루트권한접근을얻은후에사용되는크래킹공격도구의모음
명칭 스팸프로그램 스파이웨어 (Spyware) 트로이목마 (Trojan) 바이러스 (Virus) 웜 (Worm) 좀비 - 봇 (Zombi-Bot) 설명 대량의전자메일을보내기위하여사용됨 키스트로크, 스크린데이터, 네트워크트래픽등을모니터링하는것에의하여컴퓨터로부터정보를수집하여다른시스템에전송하는소프트웨어 유용한함수를갖는것으로보이지만시스템의합법적인인증을이용하여안전한기계를공략하는숨겨진악성함수를수행하는컴퓨터프로그램 자신을다른실행가능한기계에복제하려고시도하는악성소프트웨어. 성공하였을경우이를감염되었다고말함. 감염된코드가실행될때바이러스또한실행됨 독립적으로실행할수있고목표시스템에서소프트웨어의취약성을이용하여네트워크상의다른서버에게자신의복사본을전파할수있는컴퓨터프로그램 다른기계를공격하도록감염된기계에서활성화되는프로그램
악성소프트웨어의유형 1. 목표에도달하기위한확산과전파하는방법기반 2. 목표에도달하였을때수행되는동작이나페이로드기반 전파기법은다른시스템으로계속적으로전파되는바이러스로인해기존의실행파일이감염되는것을포함함 소프트웨어취약점, 웜에의한네트워크, 다운로드등을통하여콘텐츠복제가수행됨 보안메커니즘을사용자에게우회하도록유도하여트로이목마를설치 스미싱, 피싱공격등을통해정당한설치를응답하게유도하여이루어짐
악성프로그램의분류에대한최초의접근방법 기생하기위한호스트프로그램을필요로하는것 예 ) 바이러스등 시스템에서실행하는독립적인프로그램을갖는것 예 ) 웜, 트로이목마등 복제되지않는콘텐츠 예 ) 트로이목마, 스팸메일 복제되는악성코드 예 ) 바이러스, 웜 목표시스템에도달한악성소프트웨어에의하여수행된페이로드동작은시스템또는데이터파일의손상을일으킬수있음 서비스및정보의도난, 악성코드에자신의숨김기능등을포함
공격킷 (Attack kit) 처음에는악성소프트웨어의개발및보급기술은소프트웨어작성자에의한상당한기술이요구되었음 1990 년대초반바이러스생성툴킷의개발에의하여변화 2000 년대에는악성코드의개발및보급을쉽게지원할수있는일반화된공격키트가개발됨 크라임웨어 (Crimeware) 로발전되어알려짐 초보자가결합, 선택, 보급할수있도록다양한전파방법과페이로드모듈을포함하여제공 시스템의약점과광범위한패치관련정보에서발견된최신취약점을이용하여쉽게사용자가공격방법을정의할수있음 툴킷으로만들어진악성소프트웨어가전문공격자로부터설계된악성소프트웨어보다정교하진않지만시스템방어를어렵게하는새로운변종의공격방법이쉽고다양하게생성될수도있음 예 ) 제우스, 블랙홀, 사쿠라, 피닉스등
2. 지능형지속위협 (APT) APT 공격이란? 다양한 IT 기술과방식들을이용해조직적으로경제적인목적을위해다양한보안위협들을생산해지속적으로특정대상에게가하는공격기법 지능형지속위협 (Advanced Persistent Threat) 을의미함 1. 지능형 (Advanced) 각양각색의침략기술과특화된악성코드를이용 여러가지공격요소들이선정된목표에적합하도록알맞은공격기술을선택 2. 지속 (Persistent) 성공률을극대화하기위하여오랜시간에걸쳐서선정된목표에대한공격 목표에게목적이달성될때까지다양한형태의공격이점진적으로또는은밀하게이루어짐 3. 위협 (Threat) 공격자는보통풍부한자원등을가진개인 / 조직들을목표로삼음 공격에성공할경우매우큰규모의피해를초래함 컴퓨터기술의발전으로자동화된공격도구와향상된공격기법은위협의수준을증가시킴
APT 공격은표적지향의공격이기때문에공격방식을규정할수는없지만다수의공격사례를통해 7 가지의공격요소를도출 표적시스템인식 숨김 초기침투 임무완료 APT 백도어생성 전이 내부인식
1. 표적시스템인식 (Targeted System Recognition) 침입전표적시스템에대한정보수집활동 기술적인방법는포트스캔을통해서침입가능한포트 (Port) 를검색 비기술적인방법으로는 Social engineering 을통해서보안정보에접근권한이있는담당자의이메일주소등을획득하여이후 Spear phishing, USB 감염등을위한수단을사용 2. 초기침투 (Initial Intrusion) 실질적인 APT 공격이이루어지는단계로써표적시스템에초기침투를수행 수집한정보를토대로 Spear phishing 공격을시도 보안담당자, 네트워크담당자와같은표적시스템을관리하는담당자가주요표적 공격자는주로악성코드에감염된웹사이트나문서를이메일에첨부하여표적에게전송 3. 백도어생성 (Backdoor Establishment) 최초침입이후공격자는향후에더욱쉽게시스템에접근하기위하여백도어를생성 공격자는자신이생성한 C&C (Command and Control) Server 와표적시스템이직접적으로정보를교환 정상적인트래픽처럼보이는암호화된데이터를 C&C 서버와주고받아 Antivirus 제품의감시망을벗어나정보를쉽게획득
4. 내부인식 (Internal Recognition) 신뢰된컴퓨터를통해서네트워크스캐닝을시도 내부네트워크를통해서정찰이이루어지며신뢰되는관계를통해표적시스템의네트워크정보를획득 5. 전이 (Metastasis) 내부정찰을통해서얻은정보를이용하여주요정보가있는 End-Point 로악성코드를전이동일네트워크를사용하는모든 End-Point 를감염 공격자는원하는정보를유출시킬준비를마침 6. 임무완료 (Mission Complete) 공격자의목적에맞는행동을성공적으로수행하는단계 공격자의목적은대표적으로시스템파괴와기밀정보의유출 Antivirus 에탐지되지않게하기위해서정보는암호화, 파일압축, 파일분할등의기법을사용 7. 숨김 (Hiding) APT 공격은지속적인공격을위해서특별한이벤트가없는동안악성소프트웨어를숨김 몇몇의 APT 공격은 Rootkit 을포함하고있으며이를통해시스템의루트권한을획득 Rootkit 을이용하여 Malware 의행동을숨김
APT 공격사례 구분 정의 IceFog 일본과대한민국의정부출연연구소, 방위산업체, 조선해양사, 통신사및고도의기술을보유한회사등을타겟으로활동하고있는 APT공격 스피어피싱이메일이이용, 이메일에첨부된악성코드를열거나악성웹사이트를방문 시스템을감염시킨뒤공격자는감염시스템의특성을파악하고확인하기위해폴더목록, 어댑터목록, IP구성, 네트워크정보등을윈도우주소록, WAB파일, HWP, XLS, DOC등문서파일그리고사용자계정자격정보등을탈취 Net Traveler 항공우주관련기술및에너지생산관련데이터나통신관련데이터를탈취 이메일주소를확보한후악성코드가포함된첨부파일의클릭을유도하는메시지를발송 이메일에첨부되는마이크로소프트오피스형식 ( 확장자 doc, xls 등 ) 및 PDF 파일에잠복 시스템에침입할경우시스템내모든정보에대해모니터링실시 뿐만아니라데이터추출, 사용자의키입력기록확인및각종문서파일의탈취등도가능
구분 정의 Stuxnet 시스템을감염시켜원자로의 PLC(programmable logic controller) 에악의적인프로그램을삽입 사용된취약점은 Window shell LNK 취약점, Window server service 취약점, Window printer spooler 취약점, 공유네트워크서비스취약점 장치인 USB를공격에이용하여네트워크망이분리되어있는시스템에도악성코드를전파 Stuxnet은대상시스템이아닌경우에는특별한활동을하지않았으며자신의존재를지우기위해서 Rootkit을사용 Duqu Duqu는정보유출을목적으로하여표적시스템의정보를수집 감염된 Micro Office 문서를첨부하는 Spear phishing을통해초기침투를시도 성공적으로시스템에잠입하고백도어를설치함으로써 C&C (Control and Command) 서버와통신 패스워드와같은주요정보를수집하며, 수집된정보는공격자가네트워크상의다른시스템에접근할권한을얻는데사용
구분 정의 Red October 동유럽과중앙아시아의외교 / 정부의에너지 / 원자력기관, 교역 / 항공우주산업전반을표적 감염된 Microsoft Office 제품의파일을메일로첨부하여보냄으로써표적시스템에침입 처음유출된정보를바탕으로동일네트워크의다른기밀시스템에침입 IPhone, Nokia, Windows Mobile를 Operating System으로사용하는스마트기기의데이터와이동식디스크에있는정보를유출 Mask 다양한환경에적응하는 APT 공격으로 Rootkit을포함하고있으며 Window 32bit, Window 64bit, Mac OS X, Linux환경에서동작 Adobe Flash의취약점을이용한 Spear phishing을통해표적시스템에초기침입 설치된악성코드는탐지를회피하기위해표적시스템내의 Antivirus 를찾아내고동작을흉내 네트워크트래픽, 키스트로크, 스카이프대화, WiFi 트래픽분석, 노키아로부터의패치정보, 스크린캡쳐의로그정보등을수집
APT 공격특징 특정조직에최적화된공격수행 충분한시간과비용을투자 조직및구성원개인에대한충분한정보수집 ( 사회공학적인방법이용 ) 탐지회피기법을병행하여공격수행 low and slow 전략 알려지지않은악성코드 (Zero-Day Attack) 사용 이상징후를파악하지못하도록장기간에걸쳐은밀히활동 다양한방향으로공격, 사용자및 Endpoint 에집중 APT 공격대응방안 공격자가원하는정보에접근하기까지소요시간지연 네트워크분리 ( 망분리 ) 내부시스템인증강화 공격자가원하는정보에접근하기이전단계에서탐지 / 제거 알려지지않은악성코드 (Zero-Day Attack) 탐지 / 제거 악성코드 / 원격접속 / 명령및제어지점접근트래픽탐지 / 차단
APT 공격기법 관찰 공격자들은표적으로삼은조직, 시스템, 프로세스, 협력업체를포함해사람들을파악하기위해수개월에걸쳐공격목표를분석함 사회공학 공격자가특정조직의내부자를노린다면공격자는사전에개인 SNS, P2P, 홈페이지등을검색하여공격대상의개인정보와관련키워드등을수집함 공격자는피싱메일을보내는방식등을이용하여실수나부주의로링크를클릭하여첨부된파일을열도록하는사회공학기법을접목시킴 제로데이취약점 수동 지속적인분석 유출 중단 개발자들이보안패치등을제공하기전까지소프트웨어는특정알려진취약점에대해무방비상태에노출됨 각각의개별시스템과사람을표적으로삼아고도의정교한수동공격을감행 일반적인해킹공격에서는효과를극대화하기위해자동화를선택하는방식과비교해볼때대조적임 전략적인기회를포착하기위해공격자가분석하는활동 웹메일혹은암호화된패킷이나압축파일형태로공격자에게정보를전송 소프트웨어및시스템의강제종료또는악의적인시스템중단문제를유발
3. 전파 손상된내용 - 바이러스 바이러스의성질 프로그램을수정하는것에의하여다른프로그램들을감염시키는일련의소프트웨어 원본코드가바이러스코드를복제하기위한루틴을갖도록수정함 바이러스코드는다른내용을감염시키는데계속사용될수있음 초기감염형태는의심되지않는사용자들로부터프로그램, 디스크파일, USB 스틱을상호교환하는것에의하여컴퓨터에서컴퓨터로전염 인터넷의보편화로네트워크를통해서도전염됨 실행할수있는프로그램에첨부된바이러스는프로그램에허용된어떠한것이든할수있음 바이러스코드가실행되면사용자의권한에의해허용된파일이나프로그램을지우는것과같은다양한기능을수행할수있음
컴퓨터바이러스의유형 1. 감염메커니즘 바이러스가퍼지거나전파하는수단으로서감염벡터로표현됨 2. 트리거 logic bomb 공격 페이로드가활성화하거나전달될때를결정하는이벤트혹은조건 3. 페이로드 바이러스를수행하는부분 손상을포함할수있음 많은악성코드의형태는각부분에하나이상의변형을포함
바이러스의수행 4 단계 1. 휴지단계 바이러스는활성화되지않음 바이러스는날짜, 다른프로그램이나파일의생성, 디스크용량의초과등과같은특정한사건에의하여활성화됨 모든바이러스가휴지단계를거치는것은아님 2. 전파단계 바이러스는자신을복제하여다른프로그램또는디스크상의시스템영역에삽입 바이러스는탐지를피하기위하여변형되어복제된바이러스는복제이전의바이러스와같지않을수있음 감염된프로그램은바이러스의복제를실행하고다시전파단계로들어감
3. 트리거단계 바이러스는의도한기능을수행하도록설정 휴지단계에서처럼다양한시스템사건에의하여활성화 바이러스가자기자신을복제하는경우도하나의사건으로포함 4. 실행단계 바이러스내의의도한기능이수행 단순히스크린에메시지 ( 광고 ) 를실행하는등시스템에무해할수도있고데이터파일과프로그램등을파괴하는것과같이손상을입힐수도있음
실행가능한바이러스구조 전통적인기계실행코드바이러스는어떤실행프로그램의열에또는뒤에붙여질수있거나다른형태로끼워질수있음 코드의첫번째줄은바이러스에의해잠재적인피해프로그램이이미그바이러스에감염되었는지안되었는지결정하기위해사용되는특별한표시 프로그램이시작될때제어권한은우선적으로바이러스코드를포함한주요한활동영역으로옮겨짐 바이러스는우선적으로감염되지않은실행파일을찾고그파일을감염시킴 요구되는트리거조건이만족된다면바이러스는페이로드를실행 바이러스는활성화된후에원래프로그램으로제어권한을옮김
3. 전파 손상된내용 - 바이러스 program V 1234567; procedure attach-to-program; begin repeat file := get-random-program; until first-program-line 1234567; prepend V to file; end; procedure execute-payload; begin (* perform payload actions *) end; procedure trigger-condition; begin (* return true if trigger condition is true *) end; begin (* main action block *) attach-to-program; if trigger-condition then execute-payload; goto main; (a) 단순바이러스 end; program CV 1234567; procedure attach-to-program; begin repeat file := get-random-program; until first-program-line 1234567; compress file; (* t 1 *) prepend CV to file; (* t 2 *) end; begin (* main action block *) attach-to-program; uncompress rest of this file into tempfile; (* t 3 *) execute tempfile; (* t 4 *) end; (b) 압축바이러스 (a) A simple virus 바이러스로직예 (b) A compression virus
프로그램은시간 t 0 에서시작 P 1 은바이러스 CV 에감염된프로그램이고, P 2 는 CV 에감염되지않은깨끗한프로그램 P 1 이실행될때제어는바이러스로이동되고다음의단계를수행 t1 : 감염되지않은파일 P 2 에대하여바이러스는우선원래의프로그램보다바이러스크기만큼짧은 P 2 파일을만들기위해압축함 t2 : 복사된 CV 를압축된프로그램앞에붙임 t3 : 감염된원래의프로그램의압축버전 (P 1 ) 은압축하지않음 t4 : 압축되지않은원래의프로그램 P 1 이실행됨
CV P' 1 P 2 P 2 ' P 2 t 0 : P' t 1 is infected version of P 1 ; 0 :P 1 은 P P 1 의감염된버전 2 is clean P 2 는감염되지않음 t 1 : P 2 is compressed into P ' 2 t 1 :P 2 는 P 2 로압축 CV CV CV ' P' 2 P 1 P' 1 P 1 t 2 : CV attaches itself to P ' 2 t 2 :CV 는 P 2 에붙음 Figure 6.2 A Compression Virus 압축바이러스 t t 3 : P' 3 :P 1 이 1 is 원래 decompressed 프로그램 into the P 1 에 original program P 압축해제된다 1
바이러스분류 표적에의한바이러스분류 1. 부트섹터감염자 마스터부트레코드또는부트레코드에감염되고, 시스템이바이러스를포함하고있는디스크에서부팅할때전파됨 2. 파일감염자 운영체제또는쉘이실행하기위한파일을감염시킴 3. 매크로바이러스 응용프로그램에의해서해석되어진매크로또는스크립트코드를갖는파일을감염시킴 4. 다중부분바이러스 여러가지방법을혼합하여파일을감염시킴 여러종류의파일을대상으로함
은닉전략에의한바이러스분류 1. 암호화바이러스 내용을모호하게하기위해암호화를사용하는바이러스형태 바이러스의일부분은바이러스의나머지부분을암호화하는임의의암호키를생성 키는바이러스와함께저장됨 2. 스텔스바이러스 소프트웨어에의한감지로부터숨기도록설계된바이러스형태 3. 다형성바이러스 바이러스검사프로그램을격파시키기위해서기능적으로동일 탐지알고리즘기법을피하기위해다른비트패턴을가진사본을생성 4. 변성바이러스 다형성바이러스와같이모든감염을변화시킴 검출의어려움을증가시키면서다수의형질전환기술을이용하여, 변성바이러스를각각의반복에서완전히재기록함
매크로및스크립팅바이러스 1990 년대중반에매크로와스크립트코드바이러스가가장널리퍼짐 문서형태의다양한활성콘텐츠를지원하는데사용되는스크립트코드를감염시킴 워드프로세싱문서및파일의다른유형에서임베디드, 매크로언어의스크립트를사용하여활성콘텐츠를지원하는장점이있음 일반적으로사용자는반복적인작업을자동화하기위하여매크로를사용하고키입력을저장 동적콘텐츠, 형태검증, 이들문서와연관된다른유용한작업을지원하기위해사용됨
매크로및스크립팅바이러스 1. 매크로바이러스는플랫폼독립적임 2. 많은매크로바이러스는 Microsoft Word 문서, Microsoft Office 문서에서매크로나 Adobe PDF 문서에서의스크립트코드와같이일반적으로사용되는응용의활성내용을감염시킴 3. 응용프로그램을지원하는하드웨어플랫폼및운영체제에감염시킴 4. 매크로바이러스는실행코드가없는문서에감염시킴 5. 컴퓨터문서은일반적으로공유되어사용되기때문에매크로바이러스는전자메일등을통해쉽게확산됨. 6. 매크로바이러스는시스템프로그램보다는사용자문서를감염시키기때문에기존의파일시스템액세스제어는전파를방지하는데제한적임
4. 전파 사회공학 스팸전자메일, 트로이목마 스팸전자메일 일부스팸은합법적인메일서버로부터보내지는반면대부분의최신스팸은사용자시스템이사용하는봇넷을이용 피싱공격과악성코드를전파하는주요수단 사용자의시스템상에악성코드를설치하기위해보내는파일의소프트웨어취약성이용 사용자를온라인은행사이트와같은합법적인사이트로가장하여가짜웹사이트로연결시키고, 이를이용해여사용자의로그인정보와비밀번호를알아냄 사용자에게전자메일과첨부파일을볼것인지또는프로그램을수행할것인지에대한적극적인선택을요구
트로이목마 (Trojan horse) 원하지않거나해로운기능을행하는숨겨진코드를포함한프로그램이나유틸리티 공격자들이직접적으로수행하지않고간접적으로기능을수행하기위하여사용 제작자는게임이나유용한유틸리티프로그램, 배포되는사이트, 앱스토어등잘알려진소프트웨어를이용하여실행하도록유도 사용자의도움없이자동으로설치및실행되기위하여소프트웨어의취약성을이용함 자기복제를하지않음 트로이목마의세가지공격형태 1. 원래프로그램기능의수행을계속하면서분리된악의적인행동을추가적으로수행 2. 원래프로그램기능수행을계속하지만악의적인행동을수행하기위하여업데이트를통해기능을수정또는다른악의적인행동을추가 3. 원래프로그램의기능을완벽하게대치하여악의적인기능수행
모바일트로이목마 (Mobile phone trojans) Skuller 의발견하였으며 2004 년에처음출현 이동식웜과같이주목표디바이스는스마트폰 아이폰 O/S 의여러버전은그래픽유형이나 PDF 취약성을이용 휴대전화의잠금장치를해체시키는주된수단으로이용
5. 페이로드 시스템파괴 악성소프트웨어가목표시스템상에서활성화되면다음관심은이시스템상에서어떤활동을할것인가임 몇몇악성소프트웨어는비존재또는비활동적인페이로드이고, 이것의목적은감염대상을확산시키는것임 많은바이러스와웜에서보여준초창기의페이로드는트리거의조건이만족될때감염된시스템의데이터파괴수행함 사용자시스템상에원하지않는메시지나내용을보여주거나더심각하게는다른변종이시스템상에서대한손상을입힘 페이로드의주동작은컴퓨터시스템의소프트웨어, 하드웨어또는사용자데이터의무결성을공격함 페이로드는바로발생하지는않을수도있지만특별한트리거조건이부합될때활성화됨
데이터파괴 체르노빌바이러스 (Chernobyl virus) 윈도우 95, 98 의메모리상에서기생하면서데이터를파괴시키는초창기의예 1998 년에처음발견되었으며, 감염은파일을열때실행됨 트리거데이터가도착할때감염된시스템상의하드디스크의처음수 megabyte 에 0 의데이터를쓰는것에의하여원래데이터가삭제되며, 궁극적으로는전체파일시스템의파괴를초래함 Klez mass-mailing warm 윈도우 95 가 XP 시스템을감염시키는파괴적인웜의초창기예 2001 년 10 월에처음발생하였고, 전자메일주소를주소록이나시스템상의파일등에서복사하여퍼뜨림 안티바이러스프로그램의실행을멈추거나삭제할수도있음 랜섬웨어 (Ransomware) 사용자의데이터를암호화하여이정보를복구하는데필요한키를받는대가로돈을요구함 예 ) Cyborg Trojan (1989), Gpcode Trojan (2006)
시스템과하드웨어손상 시스템파괴페이로드의변종은물질적인장치의손상을목표로하였음 체르노빌바이러스는데이터를파괴할뿐만아니라컴퓨터를부팅하는데사용되는 BIOS 코드에중복쓰기를시도함 BIOS 칩을다시프로그램하거나교체될때까지시스템을사용할수없게됨 Stxnet 웜은특수산업제어시스템소프트웨어를목표로함 제어시스템이감염되었다면제어시스템이정상적으로동작할수없도록원래의시스템소프트웨어를다른코드로변경시켜서부착된장비의고장을초래함
논리폭탄 (Logic Bomb) 데이터파괴악성소프트웨어의주요구성요소 조건이만족되었을때폭발하는악성소프트웨어에내장되어있는코드 논리폭탄에트리거로써사용될수있는조건의예 시스템상에서파일또는장치의존재또는부재 특정날짜혹은업데이트시기 특정소프트웨어의구성요소실행 응용프로그램을실행하는특정사용자 트리거가되면데이터나파일전체를변경시키거나삭제하여기계를다운시키거나손상을초래함
6. 페이로드 공격에이전트 - 좀비, 봇 좀비, 봇은페이로드의한종류로공격자의사용에대하여감염시스템의컴퓨팅이나네트워크의자원을개조하는악성소프트웨어임 비밀리에다른인터넷이부착된컴퓨터를인수한뒤그컴퓨터를다른공격을관리하거나시작하는데사용 다른매개체를이용하므로추적하기어려움 로봇은평범한제 3 자를통해수백또는수천대의컴퓨터에이식 로봇무리는종종상호작용방식으로행동하는데이러한집합을봇넷 (botnet) 이라고함 감염된시스템의무결성과가용성을공격함
봇의사용 봇의용도 1. 분산서비스거부 (DDoS) 공격 사용자에대한서비스의손실을야기하는컴퓨터시스템또는네트워크에대한공격 2. 스팸 봇넷또는수천의봇의도움으로공격자는대량의스팸메일을보낼수있음 3. 스니핑트래픽 봇은타협된시스템에의해통과된관심텍스트데이터를보고전송하기위하여패킷스니퍼를이용할수있음 스니퍼는이름이나비밀번호같은민감한정보를검색하는데사용됨
4. 로깅 타협된기계가암호화된통신채널 ( 예, HTTPS, POP3S) 을사용할경우, 희생컴퓨터의네트워크패킷은패킷을해독하는적절한키가없기때문에쓸모가없음 감염된컴퓨터에키입력을캡처하는키로거를사용 공격자는공격대상의기밀한정보를검색할수있음 5. 새로운악성소프트웨어전파 봇넷은새로운봇을전파하는데사용됨 모든봇들은 HTTP 나 FTP 를통해파일을다운받아실행하는메커니즘을구현하기때문에전파가매우쉬움 웜과메일바이러스의전진기지로서동작하는 10,000 개의호스트를가진봇넷은더빨리전파하여더많은해를입힘
6. 광고추가및 BHO 설치 가짜웹사이트에광고를설정하는것에의하여동작함 웹사이트의운영자는광고클릭에대해지불하도록일부호스팅업체와계약을맺기도함 봇넷의도움으로이런클릭이수천개의봇이팝업을클릭하도록자동화될수있음 7. IRC 채팅네트워크공격 봇넷은인터넷릴레이채팅 (IRC) 에대한공격에사용되고이는이른바클론공격을말함 피해자는복제된봇에의해서수천개의봇이나수천번의채널요구에의하여트래픽이폭증함 피해 IRC 네트워크는 DDoS 공격과유사하게마비를초래함 8. 온라인설문 / 게임조작 봇넷으로부터조작하기쉬움 각각의봇은다른 IP 주소를가지고있기때문에모든투표는진짜사람이투표를한것과같은신뢰성을가짐
원격제어기능 웜은자기스스로전파하고활성화하는반면봇은명령및제어 (C&C) 서버네트워크에의해제어됨 원격제어기능을구현하는초기수단으로 IRC 서버가사용되었음 모든봇은이서버의특정채널에가입하고명령으로써들어오는메시지를처리함 최근봇넷은 IRC 기법을피하고 HTTP 와같은프로토콜을통해비밀통신채널을사용 제어모듈이인터넷의특정위치로부터악성파일을다운로드하고실행하도록봇에게지시하는변경된명령어를발생할수있음
7. 페이로드 정보도용 키로거, 피싱, 스파이웨어 자격증명도난, 키로거, 스파이웨어 사용자는네트워크패킷의모니터링에의해캡처되는것을보호하기위해암호화된통신채널 ( 예 HTTPS, POP3S) 을이용 금융, 게임및이와관련된사이트에자신의로그인및비밀번호자격증명을보냄 공격자는감염된컴퓨터에중요한정보를모니터링할수있도록감염된기계에키누름을캡처할수있는키로거를설치 이것은감염된시스템에입력된모든텍스트의사본을수신하기때문에키로거는전형적으로원하는키워드에가까운정보 ( 예 : 로그인, 비밀번호, paypal.com ) 만을반환하도록필터링기법을구현 키로거사용의대처로일부은행및다른사이트들은패스워드와같은중요한정보를그래픽애플릿을사용하여전환
피싱및신원도용 초기에는사용자의로그인및패스워드인증정보를수집하는데사용 최근사적또는개인적인정보를수집하기위하여사용 공격자는가짜웹사이트로연결되는스팸메일의 URL 을포함시킴 스팸메일은가짜웹사이트로사용자를유도하거나밀봉된형식을작성하여호기심을자극하여접근하도록함 피싱공격 충분한정보가주어지면, 공격자는다른자원에대한신용이나민감한접근을얻을목적으로사용자의신원을추측할수있음 신뢰할수있는주체로가장하여사용자의신뢰를활용하는사회공학적기법을이용함
정찰, 간첩및데이터빼오기 자격증명및신원도용은보다일반적인정찰페이로드의특별한경우임 원하는유형의정보를획득하여공격자에게반환하는것을목표로함 2009 년에기술, 보안및방위계약자회사시스템내의소스코드스토리지에접근하기위해트로이목마를사용한사례가있음 APT 공격은공격자의목표조직및개인으로부터대량의정보가손실되는결과를초래할수있음 정보를빼오는것을탐지하고차단하기위해서는정보에대한접근을관리하거나조직의네트워크를통한전송을관리하는 데이터손실 에대한기술적인대응책이필요
8. 페이로드 은신 백도어, 루트킷 백도어 트랩도어라고알려져있으며, 평소의보안접속절차를통하지않고접속을허용하는지점을말함 프로그래머는수년동안프로그램을디버그하고시험하기위하여백도어를사용하였고, 이러한백도어는유지관리후크라고불림 백도어를두는이유는프로그램을신속하게디버그하기위해개발자가특수한특권을얻거나모든설정과인증을회피하는것을선호하기때문 부도덕적인외부자가인증되지않은접속을위하여백도어를사용할때매우위협적임 최근백도어는공격자가감염된시스템에연결하고명령을내릴수있는비표준포트의네트워크서비스를도청하는데사용될수있도록구현
루트킷 가능한최대의범위까지증거를숨기면서관리자의권한으로해당시스템에대한은밀한접속을유지하려는시스템에설치된프로그램의집합 악의적이고은밀한방법으로호스트의표준기능을변화 공격자는루트에접속해서시스템을완전히제어하고프로그램과파일, 모니터프로세스를추가하거나바꿀수있음 네트워크트래픽위조및변조가가능하며백도어에접속할수있음 공격자는자신의존재를숨기기위하여시스템에변화를줌으로써사용자에게루트킷의존재와루트킷이무엇을변화시켰는지알기어렵게함 숨기는방법으로는백신프로그램의프로세스, 파일, 컴퓨터의레지스트리탐색및보고하는것에대한기법을파괴
루트킷의여러특성에따른공격유형 1. 지속성 매번시스템을부팅시킴 레지스트리또는파일시스템과같은지속적인저장소안의코드를저장시키고, 코드는사용자의간섭없이실행되는방법을구현함 지속적인저장소를스캔하는것에의하여쉽게감지될수있음을의미 2. 메모리기반 지속적인코드를가지지않아서재시동으로생존할수없음 그러나메모리에있기때문에감지하기어려움 3. 사용자모드 API 에대한호출을가로채서반환된결과를수정함 Ex) 응용프로그램이디렉터리도청을실행할때반환된결과는루트킷과관련된파일을식별하는항목을포함하지않음
4. 커널모드 API 로가는호출을가로챌수있음 활성프로세스의커널목록에서제거하여악성소프트웨어의존재를숨길수있음 5. 가상기계기반 루트킷의가상기계기반타입은가벼운가상기계모니터를설치하고, 가상기계에서운영체제를실행 가상화된시스템에서발생하는상태및사전을투명하게가로채고수정 6. 외부모드 악성소프트웨어는목표시스템의정상적인운영모드외부 (BIOS 혹은시스템관리모드 ) 에위치하여하드웨어에직접적으로접근할수있음
커널모드루트킷 최근탐지를더어렵게하기위하여커널내부를변화시키고운영체제코드와공존하도록발전하였음 사용자계층에서동작하는프로그램은시스템호출을통해커널과상호연동하기때문에프로그램의시스템호출기능 ( 함수 ) 은은폐하려는커널계층루트킷의주요목표대상임 많은안티바이러스프로그램은현재루트킷의존재를숨기기위해사용하며, 낮은계층 (Low layer) 수정을이용함 커널루트킷이동작과정 1. 각시스템호출은유일한시스템호출번호가할당됨 2. 사용자모드프로세스가시스템호출을실행할때프로세스는호출번호에의하여시스템호출을함 3. 커널은시스템호출루틴당하나의엔트리를지닌시스템호출테이블을관리 4. 각엔트리는관련된루틴에대한포인터를포함함 5. 시스템호출번호는시스템호출테이블에서색인으로써사용됨
시스템호출을변경시킬수있는세종류기술 1. 시스템호출테이블변경 공격자는시스템테이블에저장된선택된시스템호출주소를변경함 합법적인루틴이루트킷으로대치된것으로시스템호출이가능 2. 시스템호출테이블대상변경 공격자는악성코드로선택된합법적인시스템호출루틴을덮어씀 시스템호출테이블은변경되지않음 3. 시스템호출테이블바꿈 공격자는전체시스템호출테이블을새로운커널메모리위치에새로운테이블을참조하도록변경
knark_fork( ) fork entry read entry fork entry read entry knark_read( ) knark_execve( ) execve entry chdir entry sys_fork( ) execve entry chdir entry sys_fork( ) system call table sys_read( ) system call table sys_read( ) sys_execve( ) sys_execve( ) sys_chdir( ) sys_chdir( ) (a) 평범한커널메모리계층 (a) Normal kernel memory layout (b) knark 설치후 (b) After nkark install 루트킷에의한시스템호출표 Figure 6.4 System Call Table Modification by Rootkit
가상기계와기타루트킷 최근의루트킷은공격대상의운영체제에서완전히노출되지않는코드를사용 로그나절충된가상기계모니터혹은최근의프로세서가제공하는하드웨어가상화의도움을받는하이퍼바이저를사용하여이룰수있음 루트킷코드는대상운영체제에서커널코드의노출아래에서동작하고, 이것은가상기계에서알려지지않도록동작하여몰래감시하고공격할수있음 이러한유형의루트킷에대응하여방어하기위해서는모든부트프로세스는반드시보호되어야함 운영체제는부트프로세스를안전하게로드하고악성코드의설치를못하도록하여야함
9. 대비책 악성소프트웨어대비접근방법 악성소프트웨어가시스템에설치되는것을허용하지않거나시스템의수정능력을차단하는것임 이목표는감염방지가악성코드공격에대한성공의수를크게줄일수있을지라도일반적으로거의달성하기불가능함 예방하기위한정책, 인식, 취약성완화, 위협완화등네종류의중요한요소가있다고제시했음 이용해야할대비책 1. 시스템에악용될수있는취약점의수를줄이기위하여모든시스템이현재의상태에있도록확인 2. 잠재적으로감염또는손상된파일의수를줄이기위하여시스템에저장된프로그램및데이터에대한적절한접근제어를설정 3. 적절한사용자인식및교육을이용하여대비
예방에실패하면기술적인기법이다음의위협완화를지원하는데사용가능 1. 감지 2. 식별 3. 제거 감염이발생하면감염여부를결정하고악성코드의위치를알아냄 감지되면시스템을감염시킨특정악성코드를식별함 특정악성코드가식별되면더확산되지않도록모든감염된시스템으로부터악성바이러스의모든흔적을제거함 검출에성공했지만식별또는제거할수없는경우감염또는악성파일을삭제하고감염되지않은백업버전을다시복구 심각한감염의경우에는모든저장공간을깨끗하게소각하고깨끗한미디어로부터감염시스템을재구성
효과적인악성코드대비책에대한요구사항은다음과같음 1. 일반성 접근방식은다양한공격을다룰수있어야함 2. 적시성 접근방식은감염된프로그램이나시스템의수를제한하기위하여빠르게대응 3. 회복탄력성 접근방식은악성코드의존재를숨기기위해공격자에의하여사용된기술에대하여대응할수있어야함 4. 최소 DOS 비용 접근방식은대응소프트웨어에의해용량이나서비스에대한최소한의감소를초래하여야하며정상적인작동을현격히낮추어서는안됨 5. 투명성 대비소프트웨어와장치는기존의 OS, 응용소프트웨어, 하드웨어의수정을요구하지않아야함 6. 전역과지역범위 접근방식은기업네트워크의외부와내부모두로부터공격원을다룰수있어야함
악성소프트웨어는시스템의여러위치에서발생할수있음 호스트기반의 안티바이러스 프로그램이실행되고, 시스템에입력되는데이터를감시하는감염된시스템과시스템에서수행되고있는프로그램의실행및동작에서발생할수있음 감지는악성소프트웨어의이동을거시관점에서얻기위하여다수의조직과네트워크에걸쳐서호스트기반및주변센서로부터데이터를수집하는분산기법을사용할수있음
호스트기반스캐너 종단시스템은안티바이러스가사용되는첫번째위치에해당 소프트웨어가목표가된시스템과상호작용을하는악성소프트웨어의행동뿐만아니라악성소프트웨어활성을위하여정보에대한최대의접근을제공 개인컴퓨터에서안티바이러스소프트웨어의사용은현재악성소프트웨어의양과활성의폭발적인증가로인해널리퍼져있고, 이소프트웨어는호스트기반침입탐지시스템의한형태로간주될수있음 악성소프트웨어가경쟁으로진화를계속함에따라악성소프트웨어와안티바이러스소프트웨어는복잡하고정교하게발전함
안티바이러스소프트웨어를 4 세대로구분하였음 1 세대간단한스캐너 악성소프트웨어를식별하기위하여악성소프트웨어서명이필요 서명은 와일드카드 를포함하지만악성소프트웨어의모든사본에서필수적으로동일한구조및비트패턴과일치함 이러한서명특정스캐너는알려진악성소프트웨어의탐지에만제한 2 세대경험적스캐너 특정서명에의존하지않음 가능한악성소프트웨어를검색하기위하여경험적규칙을사용함 스캐너는악성소프트웨어와관련된코드의조각을찾음 키가발견되면스캐너는악성소프트웨어를밝혀내기위해악성소프트웨어를복호화하여감염프로그램을제거한후프로그램을서비스에반환 체크섬 (checksum) 이각프로그램에추가될수있음 악성소프트웨어가체크섬의변경없이프로그램이대체되거나변경된다면무결성검사가이러한변화를잡아낼수있음
프로그램이변경될때체크섬을바꿀만큼충분히복잡한악성소프트웨어에대응하기위하여암호화해시함수를사용할수있음 간단한체크섬대신에해시함수를이용하여악성코드가이전과동일한해시코드를생성하기위해프로그램을조정하는것을방지할수있음 신뢰할수있는위치의프로그램보호목록이유지된다면접근방법으로로그코드나프로그램을대치하거나설치하려는시도를탐지할수있음 3 세대활성트랩 감염된프로그램의구조보다는행동에의해악성소프트웨어를식별하는메모리상주프로그램 다양한배열에대한서명및경험적방법의개발이필요없다는장점이있음 4 세대완전한기능을갖춘보호 다양한안티바이러스기술로이루어진패키지 시스템에침투하는악성코드의능력을제한하고전파하기위해파일을업데이트하는악성소프트웨어의능력을제한함
호스트기반스캐너 일반적복호 일반적복호 (GD) 기술은빠른스캐닝속도를유지하면서안티바이러스프로그램이복잡한다형성바이러스와다른형태의컴퓨터악성프로그램을쉽게검출할수있게함 다형성바이러스가포함된파일이실행될때바이러스가활성화되기위하여자신을복호화하여야함 이런구조를검출하기위하여실행파일은다음요소를포함하는일반적복호스캐너를통하여실행됨 1. CPU 에뮬레이터 소프트웨어기반가상컴퓨터, 실행파일의명령어는프로세서에의해실행되기보다는에뮬레이터에의하여해독됨 2. 바이러스서명스캐너 알려진악성서명을찾는목표코드를스캔하는모듈임 3. 에뮬레이션제어모듈 목표코드의실행을제어함
시뮬레이션의시작에서에뮬레이터는목표코드에있는명령어를한번에하나씩해독하기시작함 코드가복호화루틴을포함하여악성소프트웨어에노출될경우그코드는해독됨 주기적으로제어모듈은악성소프트웨어서명에대한목표코드를스캔하기위하여해독을정지함 해독하는동안목표코드는완전히통제된환경에서해독되고있기때문에실제로개인컴퓨터환경에손상을일으킬수없음 일반적복호스캐너와관련된가장어려운설계문제는각해독을얼마나오랫동안실행시킬지결정하는것
호스트기반스캐너 행동차단소프트웨어 악의적인행동에대하여실시간으로호스트컴퓨터의운영체제를통합하고프로그램동작을감시함 [CONE01, NACH02] 시스템의영향을미칠수있는기회를가지기전에행동차단소프트웨어는잠재적으로악성행동을차단함 감지행동은다음을포함 파일열기, 보기, 지우기, 수정등의시도 디스크드라이브및다른복구할수없는디스크작동의초기화시도 실행파일또는매크로의로직수정 시작설정과같은중요한시스템설정의수정 실행내용을보내기위한전자메일과긴급한메시징클라이언트의스크립팅 네트워크통신야기 행동브로커는의심되는소프트웨어를실시간으로차단할수있기때문에확립된안티바이러스검출기술에비해장점을가짐
바이러스나웜의명령어를혼란스럽게하고재배열하는수많은방법이있고, 이것은확립된안티바이러스검출기술에의한탐지를회피하게함 궁극적으로악성코드는운영체제에잘정의된요구를하도록함 행동브로커가이런모든요청을가로챌수있다면, 프로그램로직의혼란정도에관계없이악성동작은밝혀지고차단될수있음 모든행동이밝혀지기전에악성코드는목표컴퓨터에서실행되어야하기때문에감지및차단되기전에손상을입힐수있으며, 따라서행동차단만으로는한계가있음
호스트기반스캐너 스파이웨어감지및제거 일반적인안티바이러스제품이스파이웨어를감지하는것을포함하여도악성소프트웨어같은위협은스파이웨어에특화된감지및제거유틸리티가존재함을의미함 이것은스파이웨어의감지와제거에특화되어있고더욱견고한능력을제공함 이를보완하여일반적인안티바이러스제품과함께이용되도록하여야함
호스트기반스캐너 루트킷대비책 루트킷은감지하고없애기가상당히어려우며커널레벨루트킷은더욱어려움 네트워크와호스트기반 IDS 는들어오는트래픽에서알려진루트킷공격의코드사명을찾을수있음 호스트기반안티바이러스소프트웨어는알려진서명을인식하기위하여사용될수있음 새로운서명을갖는또는변형된버전의루트킷이있을경우, 시스템호출의가로채기나키보드드라이버와연동하는키로거와같은루트킷의존재를밝혀낼수있는동작이시스템에필요함 커널레벨루트킷이감지된다면이를복구하기위한안전하고신뢰성있는방법은감염된기계에새로운 OS 를설치하는것
주변장치스캔접근방법 안티바이러스소프트웨어가사용되는다음위치는조직의방화벽과 IDS 에있음 일반적으로시스템상에서실행되는전자메일과웹프락시서비스에포함되고, 또한 IDS 의트래픽분석도구에도포함 이는안티바이러스소프트웨어가악성소프트웨어에접근하는것을허용하고, 이러한소프트웨어는의심스러운트래픽의흐름을막는침입방지대책이포함 이러한접근방식은감염된시스템에서실행될때는접근권한을가지지못하기때문에, 악성소프트웨어의내용을스캐닝하는것을제한
다음과같은두종류의감시소프트웨어가사용될수있음 1. 입구모니터 기업네트워크와인터넷경계의위치하며, 경계라우터의진입여과소프트웨어의일부이거나외부방화벽또는분리된수동모니터의소프트웨어일수있음 모니터는변칙또는서명을사용할수있으며악성소프트웨어트래픽을검출하기위해경험적방법을사용함 예 ) 입력트래픽이사용되지않는지역 IP 주소를사용하는지검사하는것 2. 출구모니터 기업네트워크와인터넷사이의경계뿐만아니라기업네트워크에서의개인 LAN 의출구에위치할수있음 LAN 의출구에위치할경우, LAN 라우터또는스위치의출구여과소프트웨어의부분이됨 나가는트래픽을감시하는것에의하여악성소프트웨어공격원을잡아낼수있도록설계됨 웜에서사용된비정상적인전자메일웜이나스팸페이로드에서사용되는것처럼비정상으로높은전자메일트래픽을감지하고대응할수있음
분산정보의수집접근방법 안티바이러스소프트웨어가사용되는마지막위치는분산구성에있음 많은호스트기반과주변센서로부터데이터를수집하고, 데이터의연관성을분석할수있도록수집된데이터를중앙분석시스템에전달함 관련된시스템모두에게악성소프트웨어에대응하고방어할수있는갱신된서명과행동패턴을되돌려줌 이러한더많은시스템이제안되었고, 구체적인예는분산침입방지시스템 (IPS) 임
제 3 판컴퓨터보안원리및실습 William Stallings Lawrie Brown 저자, PEARSON, 2016 Saurabh Singh, Pradip Kumar Sharma, Seo Yeon Moon, Daesung Moon, Jong Hyuk Park, "A comprehensive study on APT attacks and countermeasures for future networks and communications: challenges and solutions", Journal of Supercomputing(SCI), doi:10.1007/s11227-016-1850-4, (2016) Pradip Kumar Sharma, Seo Yeon Moon, Daesung Moon, Jong Hyuk Park DFA-AD: a distributed framework architecture for the detection of advanced persistent threats,cluster Computing, 20(1): 597-609 (2017)
Q & A 80
4. 전파 취약점이용 - 웜 웜프로그램은각각의새로운시스템에접근하는클라이언트또는서버소프트웨어프로그램의취약점을이용함 시스템에서시스템으로감염시키기위하여네트워크연결을이용함 USB 드라이브나 CD, DVD 데이터디스크등과같이공유매체를통해서확산됨 이메일이나메신저에첨부된문서에포함된매크로와스크립트코드를이용하여감염시킴 활성화될때웜은복제하고다시전파할수있음 전파뿐만아니라페이로드의형태를전달할수있음
웜자체를복제하기위해웜은원격시스템에접근하는방법을사용함 1. 전자메일또는즉석메신저 자신의복제를다른시스템에게이메일로보내거나즉석메시지서비스를통해첨부로전송함 코드는이메일또는첨부파일을수신하거나봄으로써실행됨 2. 파일공유 자신의복사본을만들거나같은 USB 드라이브와같은이동식미디어에바이러스처럼다른적절한파일을감염시킴 소프트웨어의취약성을이용하여자동실행기법을이용하여다른시스템에연결될때실행됨 사용자가표적시스템에서감염된파일을열때실행됨
3. 원격실행기능 기본적으로제공되는원격실행기능을사용하거나그동작을파괴하기위해네트워크서비스프로그램의결함을이용하여다른시스템상에서자체의복사본을실행 4. 원격파일접근또는전송기능 하나의시스템에서다른시스템으로복사하기위하여원격파일접근또는전송서비스를사용함 5. 원격로그인기능 사용자로서원격시스템에로그인한후하나의시스템에서다른시스템으로복사하기위하여명령어를사용함
다중프로그래밍시스템에서시스템프로세스자체명명또는시스템오퍼레이터에의해발견될수없는다른이름을사용하여자신의존재를은폐할수있음 시스템상의기존프로세스에자신의코드를삽입하고, 자신의존재를은폐하기위하여추가쓰레드를사용하여실행할수있음 웜은컴퓨터바이러스와유사하게휴면, 전파, 트리거링및실행단계로수행됨 전파단계에서는다음기능을수행 호스트테이블, 주소록, 친구목록, 신뢰할수있는동료에의하여감염된다른시스템으로의적잘한접근기법탐색 원격시스템으로복사본을전송하기위하여발견된접근기법사용
대상탐색및선정 웜을감염시키기위한전파과정에서첫번째기능은네트워크스캐닝또는트래픽경로의역추적과정을통해서감염시킬다른시스템을찾는것 원격액세스네트워크서비스에서소프트웨어취약점을이용하는웜의경우, 취약한서비스를실행하는잠재적인시스템을식별하여감염시킴 일반적으로감염된시스템의대단위분산네트워크가생성될때까지동일한스캔과정을반복
웜이사용하는네트워크어드레스스캐닝전략 무작위 각호스트는다른시드값을사용하여 IP 주소공간에서임의의주소를조사 무작위기술은많은양의인터넷트래픽을발생시킴 적중목록 공격자는잠재적취약기계의긴목록을컴파일함 공격이진행되는중에검출을피하기위하여장기간에걸쳐느린프로세스로수행됨 목록이컴파일되면공격자는목록에있는시스템을감염시킴 토폴로지컬 스캔할더많은호스트를찾아감염된대상컴퓨터에포함된정보를사용 로컬서브넷 호스트가방화벽안에서감염된다면호스트는자신의로컬네트워크에서대상을찾음 호스트는방화벽에의하여보호된다른호스트를발견하기위하여서브넷주소체계를이용
웜전파모델 컴퓨터바이러스와웜은생물학적바이러스와유사한자기복제와전파동작을나타냄 간단한고전적인전염모델은다음과같이표현될수있음 전파는세단계를통해서진행 1. 초기단계 스캐닝작업으로인해호스트의수는기하급수적으로증가함 단일호스트에서실행하고두개의주위호스트를감염 호스트들이각각두개이상의호스트를감염시키고, 이와같은과정이반복 2. 중간단계 감염대상의수와확산속도가기하급수적으로증가함 3. 마무리단계 웜이식별하기어려운남아있는호스트들을찾아내기위해다양한스캐닝기법을사용하기때문에일시적으로확산속도가느려짐
Slow 느린 start 시작 phase 단계 Fast 빠른 spread 확산 sphase 단계느린 Slow finish 마무리 phase 단계 1.0 0.8 감염된호스트의비율 Fraction of hosts infected 0.6 0.4 0.2 Fraction of hosts not infected 감염되지않은호스트의비율 0 시간 Time 웜전파모델 Figure 6.3 Worm Propagation Model
모리스웜 유닉스시스템에퍼지도록설계되었고많은수의다른전파기술들을사용하였음 실행되었을때첫번째작업은다른대상에게접근가능하도록알려진다른호스트를찾는것임 다른기계가선언된시스템테이블이포함된테이블, 사용자의메일전달파일, 원격계정의접속에대해사용자가권한을준테이블그리고네트워크연결상태에대한프로그램상태를검사하여작업을수행
각각의발견된호스트의경우웜은접근권한을얻기위한많은방법들을시도함 1. 합법적인사용자로원격호스트에접속을시도함. 2. 이방법에서웜은먼저로컬암호파일을해독하려고발견된암호및해당사용자의 ID 를사용함 3. 암호를얻기위해서웜은암호해독프로그램을실행하고아래의목록을참고함 a. 각각의사용자계정이름과이것을조합한간단한순열 b. 모리스가후보라고생각한내장된암호 432 의목록 c. 로컬시스템사전의모든단어 4. 원격사용자의소재를보고하는유닉스프로토콜의버그를악용함 5. 수신메일을보내는원격프로세스의디버그옵션에트랩도어를악용함
웜형태의발전과정 이름연도특징 멜리사 Code Red Code Red II Nimda SQL Slammer Sobig.F 1998 년 2001 년 7 월 2001 년 8 월 2001 년 9 월 2003 년초 2003 년후반 이메일형태웜 첫번째하나의패키지에트로이목마, 바이러스, 웜의측면을포함한악성코드 침투하여확산하기위해 Internet Information Server(IIS) 보안의허점을이용 다른호스트에전파하기위해임의의 IP 주소를관찰함 특정시간동안퍼뜨리기만하다가, 정부의웹사이트에서비스거부공격 (DoS) 를시작함 Microsoft 의 IIS 를목표로하였음 해커가원격으로피해자의컴퓨터에명령실행을허용하도록백도어를설치함 웜, 바이러스, 모바일코드의특징을가짐 전자메일, 윈도우공유, 웹서버, 웹클라이언트, 백도어의다양한분산방법을이용하여전파 마이크로소프트 SQL 서버의버퍼오버플로우취약점을이용하였음 치밀하고빠르게전파되며, 10 분이내에취약한호스트의 90% 를감염시킴 감염된기계들을스팸엔진으로바꾸기위하여오픈프락시서버를이용함 매 17 개의메시지들중하나를이용하여 24 시간이내에 100 만개이상의복사본을생성
이름연도특징 Mydoom 2004 년 대량발송이가능한이메일형태웜 비밀번호나신용카드번호등과같은데이터에해커들이원격으로접근이가능하게함으로써감염된컴퓨터에백도어를설치하는경향이증가함 분당 1000 번이상복제하고, 36 시간내에 10 억개의감염된메시지를전파 Warezov 2006 년 실행되면시스템디렉터리에실행파일을생성하고레지스트리항목을생성하여윈도우가시작될때매번자기자신을실행시키도록설정 이메일주소를위한몇몇유형의파일을스캔하고첨부파일로자신을전송 Conficker (Downadup) 2008 년 11 월 초기에윈도우버퍼오버플로우의취약점을이용하여퍼짐 이후 USB 드라이브와네트워크파일공유를통해확산되었음 Stuxnet 2010 년 탐지의기회를줄이기위하여속도를제한하였음 장비의작동을방해할목적으로이란의핵프로그램같은것과연관된산업제어시스템을대상으로하였음 USB 드라이버, 네트워크파일공유, 제로데이취약점의이용등다양한전파기법을지원
웜기술의상태 다중플랫폼 윈도우에제한되지않고 UNIX 와같은다양한플랫폼을공격함 문서에서매크로나스크립팅언어를이용 다중활용 웹서버, 브라우저, 전자메일, 파일공유, 네트워크기반응용등다양한방법으로시스템에침투함 초고속확산 짧은시간에가능한많은취약한기계에웜의확산을최적화하기위해다양한기술을활용 다형성 탐지를피하고필터를통과하고실시간분석을헛되게하기위하여웜은바이러스다형성과같은기법이용 웜각각의복제는기능적으로같은명령어와암호기술을이용하여새로운코드를발생시킴
변성 모양의변경과더불어변성웜은다른전파단계에서밝혀지지않는다양한동작형식의목록을가짐 확산기법 웜은많은수의시스템을빠르게손상시키기때문에 DDOS, 루트킷, 스팸전자메일발생기, 스파이웨어등과같이다양한악성코드를전파하기위한방법이있음 제로데이악용 최대한충격과분산을성취하기위하여웜이보급될때네트워크공동체에의해서만발견된알려지지않은취약점을이용
모바일폰웜 블루투스무선연결또는 MMS 를통해통신함 대상은사용자가셀룰러네트워크운영자가아닌다른출처에서소프트웨어응용프로그램의설치를허용하는스마트폰임 완전히사용하지못하도록폰의데이터를지우거나, 프리미엄가격의번호로비용이많이드는메시지를강제로폰으로보냄 컴워리어웜은블루투스에의해수신영역에서다른휴대전화로복제됨 이동식메모리카드에자신을복사할뿐만아니라전화프로그램설치파일에자신을삽입함
클라이언트측취약점및다운로드에의한구동 다운로드에의한구동 (drive-by-download) 사용자가공격자에의해제어되는 Web 페이지를볼때사용자에게알림이나동의없이시스템에악성코드를다운로드하고설치하기위하여브라우저의버그를이용하는것이공통적인기술 대부분의경우이악성코드는웜처럼활발하게전파되지는않음 악성코드를확산시키기위하여의심하지않는사용자가자신의시스템에방문하기를기다림
클릭재킹 사용자인터페이스의구제공격으로알려짐 감염된사용자의클릭을수집하기위해공격자에의하여사용 공격자는악성코드를가지고있을수있는웹사이트에사용자가방문하도록하기위해사용자컴퓨터설정을조정 의도적으로최상위페이지를클릭할때다른페이지에서버튼을클릭하거나링크되도록속이기위하여여러투명또는불투명층을이용함 유사한기술을사용하여키스트로크또한가로채기를할수있음 스타일시트, 인라인프레임및텍스트상자의교묘한조합을통해사용자는자신의전자메일이나은행계좌의비밀번호를입력하도록하지만공격자에의해보이지않는프레임에정보가입력됨