10 장. 악성소프트웨어 10.4 웜 1
개요 (1) 웜은자신을복제하여네트워크연결을통해서컴퓨터에서컴퓨터로그복제본을전송 일단한컴퓨터에도착하게되면웜은복제를시작하고다시확산시키기시작 전자메일바이러스는시스템에서시스템으로자신을확산시키기때문에웜 (worm) 의성격을어느정도가지고있음 웜은적극적으로감염시킬기계를찾고, 감염된기계는다른기계를공격하기위한자동화된출발기지로사용됨 2
개요 (2) 시스템에서시스템으로확산하기위해네트워크연결을이용 시스템에서작동하기시작하면바이러스, 트로이목마, 그외어떠한방해나파괴활동가능 웜이활용하는네트워크수단 전자메일설비 (Electronic mail facility): 자신의복제를다른시스템에메일로전송 원격실행능력 (Remote execution capability): 자신의복제된웜을다른시스템상에서실행 원격로그인능력 (Remote login capability): 웜은원격시스템에로그인하고한시스템에서다른시스템으로자신을복사하는명령수행 3
개요 (3) 컴퓨터바이러스와동일한특성 잠복단계, 확산단계, 트리거단계, 실행단계 웜확산단계 1. 호스트테이블이나원격시스템주소의저장소를검사하여감염시킬다른시스템을탐색 2. 원격시스템과연결을설정 3. 원격시스템에자신을복사하고그원격시스템안에서복사본을구동 복사이전에감염여부확인 시스템프로그램이나다른프로그램으로위장 4
모리스웜 (1) 1998 년 Robert Morris 가인터넷에제공 UNIX 시스템에서퍼지도록설계 확산을위해다양한기술을사용 이호스트에서접근을허용하는다른호스트탐색 : 다양한목록과테이블탐색 동작원리 1. 원격호스트에합법적사용자로로그온을시도 지역패스워드파일을크래킹하고발견한패스워드와사용자 ID 를이용 5
모리스웜 (2) 동작원리 ( 계속 ) 패스워드크래킹프로그램은다음을수행 각사용자의계좌이름과이들의단순한치환을시도 모리스가생각했던내장된 432 개의패스워드목록을시도 지역시스템디렉터리에있는모든단어를시도 2. 원격사용자위치를알려주는 finger 프로토콜버그이용 3. 메일송수신원격프로세스디버그옵션안트랩도어이용 4. 공격이성공하면웜이쉘과통신가능 5. 짧은부트스트랩프로그램전송 6. 프로그램실행을명령한후로그오프 7. 부트스트랩프로그램에서부모프로그램을호출하여나머지부분다운로드 6
웜확산모델 확산속도와감염된호스트총수에영향을주는요인 확산모드 이용되는취약성 이전공격과의유사성정도 확산 3 단계 호스트수가지수적으로증가 감염속도가줄어든다 확산증가는거의선형적 감염비율은매우높다 공격속도는종료단계 7
최근의웜공격 (1) 코드레드 (Code Red) 웜 2001 년 7 월등장 침투와확산에 MS 의 IIS(Internet Information Server) 의허점을이용 윈도우즈의시스템파일검사기기능을마비 다른호스트로확산시랜덤 IP 주소조사 특정기간동안에는확산만수행 특정시점이되면특정사이트를대상으로수많은호스트가엄청나게많은패킷을전송해처리를못하도록하는서비스거부공격을개시 활동을중단하고주기적으로재활동 두번째공격에서 360,000 개서버감염 8
코드레드 II 최근의웜공격 (2) 마이크로소프트 IIS 를타깃으로한변종 희생컴퓨터에백도어 (backdoor) 를설치해서해커가직접행동할수있게제작 2001 년후반보다다양한기능을가진웜등장 님다 (Nimda) 다양한확산메커니즘 전자메일로클라이언트에서클라이언트로확산 개방네트워크공유를통해클라이언트에서클라이언트로확산 9
최근의웜공격 (3) 님다 (Nimda) ( 계속 ) 다양한확산메커니즘 ( 계속 ) 침해당한웹사이트를브라우징하는것으로웹서버에서클라이언트로확산 적극적스캐닝과다양한마이크로소프트 IIS 4.0/5.0 디렉터리트래버설취약점을이용해서, 클라이언트에서웹서버로확산 코드레드 II 웜에의해남겨진백도어를찾는것을통해서, 클라이언트에서웹서버로확산 10
최근의웜공격 (4) SQL 슬래머웜 (Slammer worm) 2003 년초 MS SQL 서버의버퍼오버플로우취약점을이용 극도로축약되어있으며빠른속도로전파하여 10 분안에 90% 의취약한시스템을감염 Sobig.f 웜 2003 년말 감염된컴퓨터를스팸엔진으로바꾸는개방된프록시서버를이용 창궐했을당시모늗메시지의 1/17 에 Sobig.f 포함, 24 시간내에 100 만개이상의복제전달 11
마이둠 (Mydoom) 최근의웜공격 (5) 2004년 전자메일을대량으로전송하는전자메일웜 감염된컴퓨터에백도어를설치하여해커가신용카드번호나패스워드같은자료에원격접속을할수있도록함 1분에 1000번이복제, 36시간안에 1억개의감염된메시지전파 12
최신웜기술의특징 (1) Multiplatform: 윈도우에국한되지않고, UNIX 계열의다른유형플랫폼도공격 Multiexploit: 다양한방법으로침투시도 웹서버, 브라우저, 이메일, 파일공유, 기타 Ultrafast spreading: 취약한시스템의인터넷주소를수집하기위한사전스캐닝수행 Polymorphic: 탐지되지않고, 패스트필터를건너뛰고, 실시간분석을피하기위한바이러스의폴리모픽기술이용 13
최신웜기술의특징 (2) Metamorphic: 자신의외형뿐만아니라매확산단계에서틀에억매이지않는다양한행동패턴을나타냄 Transport vehicles: 순식간에대량의컴퓨터에감염시킬수있으므로, 여러가지분산공격에사용할도구를퍼뜨리는데이상적 Zero-day exploit: 알려지지않은취약점을교묘히이용하여웜이확산된다음에야네트워크공동체에알려짐 14
2004 년처음등장 이동전화웜 (1) 블루투스연결이나멀티미디어메시지서비스 (MMS) 를통해전파 웜의목표 스마트폰 모바일전화맬웨어 전화기능을완전히마비 전화기상의데이터를모두삭제 장치가사용자모르게통신료가비싼서비스제공전화번호로전화를걸어통신비를과다하게과금 15
이동전화웜 (2) 컴워리어 (CommWarrior) 2005 년 블루투스를이용해서수신가능한영역에있는다른전화기로웜을복제 자신을 MMS 파일로전화기안의저장된전화번호로전송하고도착한텍스트메시지와 MMS 메시지에대해자동으로응답하는방식으로자신을복제 자신을탈착식메모리카드에복제하고전화기의프로그램설치파일안에삽입 16
웜대응책 (1) 바이러스에대한대응방법과유사 안티바이러스를통해감지 네트워크활동이증가하므로이를감시하여방어 효과적인웜대응을위한필요요소 일반성 (Generality): 폴리모픽웜을포함한다양한웜공격에대처할수있어야 적시성 (Timeliness): 초기에대응하여감염되는수를줄여야 회복력 (Resiliency): 우회기법에대해서도대응할수있어야 17
웜대응책 (2) 효과적인웜대응을위한필요요소 ( 계속 ) 최소 DoS 비용 (Minimal denial-of-service costs): 방어때문에축소되는기능과서비스를최소화해야 정상적인운용을방해해서는안됨 투명성 (Transparency): 기존 OS, 소프트웨어하드웨어를수정해서는안됨 전역및지역적방어 (Global and local coverage): 네트워크외부와내부모두방어할수있어야 18
웜대응책 6 개분류 웜대응책 (3) A. 시그너처 - 기반웜스캔필터링 (signature-based worm scan filtering): 웜시그니처를생성한후네트워크 / 호스트로들어올때스캔하여탐지 폴리모픽웜에는한계 B. 필터 - 기반웜억제 (Filter-based worm containment): A 와유사하나웜내용에집중 메시지를점검ㅎ여웜코드가들어있는지확인 예 : 비지랜터 (Vigilante) : 말단호스트에서협력적웜탐지기법사용 효과적인탐지알고리즘과신속한경보발령필요 19
웜대응책 (4) 웜대응책 6 개분류 ( 계속 ) C. 페이로드-부류-기반웜억제 (Payload-classificationbased Worm Containment): 패킷을조사하여웜이포함되어있는지확인 예 : 네트워크에서익스플로잇코드탐색 D. 한계점랜덤워크스캔탐지 (Threshold random walk(trw) scan detection): 스캐너가작동중인지를감지하는수단 스캐너가무작위로목적지를선정하는방법을활용 20
웜대응책 (5) 웜대응책 6 개분류 ( 계속 ) E. 속도제한 (Rate limiting) 감염된호스트에서실행하는스캔처럼보이는트래픽속도제한 호스트가윈도우시간안에처음으로연결할수있는컴퓨터 (IP 주소 ) 수제한 높은연결실패율탐지 정상적트래픽도지연시킬가능성이있음 탐지를피하기위해스스로속도를지연하는스텔스웜에는무용 F. 속도정지 (Rate halting): 외부로의연결속도나연결시도의개수의한계점을초과하면즉각차단 실수로막은호스트를신속하고투명하게풀어주는방법을갖추고있어야함 21
호스트기반웜억제 (1) 호스트에기반 허니팟, 침입차단시스템, 네트워크 IDS 같은네트워크장비에기반하지않음 빠른속도로전파되는웜위협을다루기위해설계 밖으로나가는연결시도의빈도와많은원격호스트로연결을시도하는데갑작스런증가가있는지관찰 갑작스런증가가발생되면소프트웨어는즉각연결시도를차단 관리자와에이전트로구성 보안관리자, 시그니처추출자, PWC 관리자가단일장치에구현 22
배치예 호스트기반웜억제 (2) 23
동작 호스트기반웜억제 (3) A. 에이전트는나가는트래픽을모니터링해서스캐닝을하고원격호스트로 UDP 나 TCP 연결시도가폭증하는지아닌지를결정 갑작스런증가감지가있으면다음행동 1) 로컬시스템에경보를발령 2) 밖으로나가는모든연결시도를차단 3) 경보를관리자에게통보 4) D 에서설명하게될완화분석을시작 B. 관리자는경보수령 관리자는경보를모든에이전트로확산 24
호스트기반웜억제 (4) 동작 ( 계속 ) C. 호스트는경보를수신 에이전트는경보를무시할지아닌지를판단 마지막으로들어온패킷시간이후로충분한시간이지난후들어온경보 : 무시 그렇지않은경우다음조치 1) 특정경보포트에서밖으로나가는모든연결시도를차단 2) 완화분석을시작 25
동작 ( 계속 ) 호스트기반웜억제 (5) D. 완화분석 에이전트는밖으로나가는연결시도가한계점을넘었는지아닌지알아보기위해고정된윈도우시간동안밖으로나가는활동을모니터링 한계점초과 차단상태를유지하면서완화분석을또다른윈도우시간만큼시행 밖으로나가는연결시도수가한계점이하로떨어져서에이전트가차단을해제할때까지계속 한계점을초과하는시간이충분히주어진완화분석윈도우시간을넘어서면 에이전트는호스트를분리하고관리자에게보고 26
네트워크 - 기반웜방어 (1) 웜모니터링소프트웨어 두가지유형 진입모니터 (Ingress monitors): 내부망과외부망의경계에위치 예 : 사용되지않는 IP 로들어오는트래픽관찰 진출모니터 (Egress monitors): 나가는트래픽에서스캐닝흔적이나기타의심스런행동모니터링 침입탐지시스템의기능처럼작동하거나중앙관리시스템에경보전달 제로 - 데이익스플로잇 (zero-day exploit) 에효과적으로대응 웜공격에실시간으로반응하여컴퓨터보안담당자가알기전에컴퓨터보안의취약한부분을이용하는대응시스템구현가능 27
네트워크 - 기반웜방어 (2) 웜모니터및자동화된패치시스템 28
동작 네트워크 - 기반웜방어 (3) 1. 네트워크의다양한장소에설치된센서는의심되는웜을탐지 센서논리를 IDS 센서에내장 2. 센서는들어온경보를연관시키고분석하는중앙서버로경보를전송 연관서버는웜공격이관찰될가능성과웜공격의중요특성을판단 3. 서버는보안된환경안으로이정보를전달 웜으로의심되는대상을보호된영역인샌드박스안에서만분석하고테스트 29
네트워크 - 기반웜방어 (4) 동작 ( 계속 ) 4. 보호된시스템은의심스런소프트웨어에서적절하게계기화한목표응용프로그램버전을점검해서취약점을파악 5. 보호된시스템은한개이상의소프트웨어패치를생성하고이를테스트 6. 만약패치가이감염을허용하지않고응용프로그램의기능을위태롭게하지않는다면, 시스템은패치를호스트로보내어목표로한응용프로그램을업데이트 30