4 th EDITION NETWORK SECURITY ESSENTIALS 네트워크보안에센셜
제 10 장악성소프트웨어 10.1 악성소프트웨어유형 10.2 바이러스 10.3 바이러스방어책 10.4 웜 10.5 분산서비스거부공격
10.1 악성소프트웨어유형 악성소프트웨어 호스트프로그램을필요로하는것 바이러스 논리폭탄 백도어 호스트를필요로하지않는것 웜 좀비 3
다른분류 스스로복제할수있는악성소프트웨어 트리거에의해활성화되는프로그램 논리폭탄 백도어 좀비프로그램 스스로복제불가한악성소프트웨어 독립적인프로그램으로서실행 자신의복제를만들어전파 바이러스 웜 4
악성프로그램용어 5
악성프로그램용어 6
백도어 백도어 (back door) 트랩도어 (trap door) 라고도함 프로그램으로들어가는비밀입구 이코드는어떤특별한일련의입력을인식하거나, 특정사용자 ID 나발생할가능성이매우희박한일련의사건에의해구동되면시작한다 유지후크 (maintenance hook) 통상적보안접속절차없이접근허락받음 프로그래머는프로그램디버그나검사를위해백도어를상당기간합법적으로사용 7
논리폭탄 논리폭탄 (logic bomb) 은합법적프로그램안에내장된코드로서특정조건이맞게되면 터지게 ( 작동을개시하게 ) 만들어진논리 논리폭탄의뇌관 어떤특정파일이없어지는순간 특정요일 특정날짜 응용프로그램을구동하는특정사용자 일단논리폭탄의작용 데이터나전체파일수정 파일삭제 팀로이드 (Tim Lloyd) 사건 8
트로이목마 트로이목마 (trojan horse) 란감춰진코드를갖고있는프로그램이나명령프로시저로작동이되면원하지않거나해가되는기능을수행 9
트로이목마 3 가지모델 원프로그램의기능을계속해서수행 추가적으로별개의악성활동을수행 원프로그램의기능을계속해서수행 기능을수정해서악성활동을하게한다 패스워드수집로그인프로그램트로이목마버전 프로세스염탐프로그램트로이목마버전 원프로그램의기능을완전히대체하는악성기능수행 10
모바일코드 모바일코드 (mobile code) 는여러플랫폼집단에변형되지않은채로이식되고동일한기능을실행할수있는프로그램 허가없는데이터접근이나루트침해같은자신의익스플로잇 (exploits) 수행을위해취약점악용 모바일코드이동수단 Java applets, Active X, JavaScript 와 VBScript 모바일코드작동방법 크로스 - 사이트스크립팅 (cross-site scripting) 양방향이고동적인웹사이트 전자우편첨부 신뢰되지않은사이트에서다운로드하기 신뢰되지않은소프트웨어다운로드하기 11
다중 - 위협악성소프트웨어 다분할 (multipartite) 바이러스 여러방법으로감염 다중유형파일이감염되므로바이러스박멸을위해감염된모든사이트치료필요 혼합공격 (blended attack) 다중방법으로감염시키거나전송해서감염속도와공격의강도를극대화 다중유형맬웨어를포함한패키지 혼합공격의예 님다 (Nimda) 공격 웜, 바이러스, 모바일코드의특성을모두가짐 12
Nimda 4 가지배포방법 전자메일 (E-mail): 윈도우즈공유 (Windows shares): 웹서버 (Web servers): 웹클라이언트 (Web clients): 13
좀비 좀비 (zombie) 는인터넷에연결된다른컴퓨터를몰래장악하고그컴퓨터를기반으로공격을수행하는프로그램 타깃웹사이트를대상으로한서비스거부공격에이용 14
10.2 바이러스 15
바이러스속성 다른프로그램을변형시켜 감염 (infect) 시키는프로그램 변형된형태의바이러스 원래프로그램에루틴을주입해서바이러스프로그램의복제를제작 16
컴퓨터바이러스 3 개부분 감염메커니즘 (Infection mechanism): 바이러스가퍼지는수단 자신을복제 감염벡터 (infection vector) 라고도함 트리거 (Trigger): 페이로드활성화나전달시기를정하는사건이나조건 페이로드 (Payload): 바이러스가자기자신을퍼뜨리는일외에하는일 페이로드는피해를줄수있고심각한피해를끼치지않을수도있지만분명히그활동을알수있다. 17
바이러스활동 4 단계 잠복단계 (Dormant phase): 확산단계 (Propagation phase): 트리거단계 (Triggering phase): 실행단계 (Execution phase): 18
바이러스구조 간단한바이러스의예 19
바이러스구조 압축바이러스논리 20
압축바이러스활동절차 프로그램 P 1 이바이러스 CV 에의해감염되었다고가정 이프로그램이실행요청을받으면제어는바이러스에게로넘어가서다음단계수행 1. 발견된감염이안된파일 P 2 에대해, 바이러스는우선그파일을압축하여 P' 2 를만든다 압축파일은원래프로그램보다바이러스크기만큼작게제작 2. 바이러스를압축된프로그램의앞에붙인다 3. 원래의감염된프로그램의압축버전인 P' 1 의압축을푼다 4. 압축이풀린원래프로그램을실행한다 21
압축바이러스 22
초기감염 초기예방이중요 바이러스는시스템의외부에있는어떤프로그램의일부일수있기때문에예방이어렵다 23
바이러스유형 목표별바이러스유형 (classification by target) 부트섹터감염자 (Boot sector infector): 마스터부트레코드나부트레코드를감염시키고바이러스가포함된디스크로부터시스템이부팅될때퍼짐 파일감염자 (File infector): 운영체계나쉘이실행가능하다고여기는파일을감염 매크로바이러스 (Macro virus): 응용프로그램으로나타낼수있는매크로코드를가진파일을감염 24
바이러스유형 은닉전략에따른바이러스유형 암호화된바이러스 (Encrypted virus): 스텔스바이러스 (Stealth virus): 폴리모픽바이러스 (Polymorphic virus): 메타모픽바이러스 (Metamorphic virus): 25
스텔스바이러스 (stealth virus) 압축을이용해서감염되지않은프로그램의길이와감염된프로그램의길이가동일하도록제작 디스크 I/O 루틴안에가로채기논리 (intercept logic) 를심어놓고이루틴을이용하는디스크의의심스런부분을읽으려는시도가있으면원래의감염되지않은프로그램을되가져다놓는다 26
폴리모픽바이러스 (polymorphic virus) 복제과정에서기능적으로는동일하지만비트패턴에서는명확하게다른변형을만든다 스텔스처럼변형하는목적은안티바이러스프로그램을무력화시키는것 바이러스의 특징 은복제될때마다달라진다 27
암호화바이러스의전략 보통변형엔진 (mutation engine) 이라고하는바이러스의일부가랜덤한암호화키를생성하여바이러스의나머지부분을암호화한다 키를생성하고암호화 / 복호화를담당하는바이러스부분을변형엔진이라고한다 변형엔진자신은사용될때마다변한다 28
바이러스키트 바이러스 - 생성툴키트를이용하면초보제작자도여러가지바이러스를짧은시간안에제작가능 툴키트를이용해서만든바이러스는새로설계해서만든바이러스보다덜정교 생성될수있는새바이러스의엄청난수때문에안티바이러스구조에영향을준다 29
매크로바이러스 1. 플랫폼과무관하게작동 거의모든매크로바이러스는마이크로소프트워드문서를감염 워드를지원하는어떤하드웨어플랫폼이나운영체제도감염대상 2. 문서만감염시키고코드실행부분은감염시키지않음 컴퓨터시스템에저장되는정보는프로그램이라기보다는문서의형태 3. 쉽게퍼진다 가장보편적인방법은전자메일 4. 시스템프로그램보다는사용자문서를감염 파일시스템접근통제를제한적으로사용해서이들이퍼지는것을막을수있다 30
전자메일바이러스 첨부된파일에내장된마이크로소프트워드매크로를이용 수신자가전자메일에첨부된파일을열면워드매크로가동작 1. 전자메일바이러스는사용자의전자메일패키지안에있는메일링리스트의모든사람에게자신을전송 2. 바이러스는사용자시스템에지역적피해 31
10.3 바이러스방어책 32
안티바이러스방법 탐지 (Detection): 일단감염되면바이러스가있는지판단하고위치를파악 식별 (Identification): 일단탐지되면프로그램을감염시킨특정바이러스를식별 제거 (Removal): 특정바이러스를식별해냈으면감염된프로그램으로부터바이러스의흔적을제거하고원래상태로복구 더이상퍼지지않도록차단 33
안티바이러스소프트웨어 4 세대 제 1 세대 : 단순스캐너 (simple scanners) 제 2 세대 : 발견스캐너 (heuristic scanners) 제 3 세대 : 활동트랩 (activity traps) 제 4 세대 : 풍부한기능을갖춘방어 (fullfeatured protection) 34
고도안티바이러스기술 유전적복호화 (GD: genetic decryption) 디지털면역시스템 (digital immune system) 35
유전적복호화 (GD: genetic decryption) 폴리모픽바이러스가포함된파일이실행될때바이러스는자신을복호화해야만하기때문에이구조를탐지하기위해실행파일이 GD 스캐너를거치도록만든다 GD 구성요소 CPU 에뮬레이터 (CPU emulator): 바이러스특징스캐너 (Virus signature scanner): 에뮬레이션제어모듈 (Emulation control module): 36
디지털면역시스템 (Digital immune system) 바이러스침해로부터보호를위해 IBM 에의해개발된종합적인방법 인터넷 - 기반바이러스확산방지 바이러스확산이빨라진원인은인터넷기술의발전 통합된메일시스템 (Integrated mail systems): 이동 - 프로그램시스템 (Mobile-program systems): 37
디지털면역시스템 38
디지털면역시스템운용단계 1. 각 PC 의모니터링프로그램은시스템행동, 의심스런프로그램의변경혹은바이러스가있다고여겨지는증상등의다양한발견도구를사용 모니터링프로그램은감염되었다고생각되는모든프로그램을기관내의관리기계로전달 2. 관리기계는표본암호화후중앙바이러스분석기계로전달 39
디지털면역시스템운용단계 3. 분석을위해서감염된프로그램이안전하게구동되는환경을제공 사용하는기술 에뮬레이션 의심되는프로그램이실행되고관찰할수있게고안된보호환경만들기 바이러스분석기계는바이러스를식별하고제거할수있는처방조치 40
디지털면역시스템운용단계 4. 처방으로나온것을관리기계로전달 5. 관리기계는처방을감염된클라이언트로전달 6. 처방을기관내의다른클라이언트에게도전달 7. 전세계에걸쳐있는가입자는주기적으로안티바이러스업데이트를수신하고새로운바이러스로부터보호 41
행동차단소프트웨어 행동차단소프트웨어 (behavior-blocking software) 악성동작을탐색하기위해호스트컴퓨터의운영체제에집중적으로관심을갖고프로그램행동을실시간으로관찰 악성동작이시스템에영향을끼칠기회를주지않고사전에차단 42
관찰대상이되는행동 파일을열고, 읽고, 제거하고, 수정하려는시도 디스크드라이브를포맷하거나다른회복할수없는동작을하려는시도 실행파일의논리와매크로의스크립트를수정하는시도 시작설정 (start-up setting) 같은중요한시스템설정변경시도 실행가능한내용을보낼목적으로전자메일을작성하거나인스턴트메시징을이용하는클라이언트네트워크통신개시 43
행동차단소프트웨어동작 44
10.4 웜 웜은자신을복제하여네트워크연결을통해서컴퓨터에서컴퓨터로그복제본을전송 일단한컴퓨터에도착하게되면웜은복제를시작하고다시확산시키기시작 전자메일바이러스는시스템에서시스템으로자신을확산시키기때문에웜 (worm) 의성격을어느정도가지고있다 45
웜이활용하는네트워크수단 전자메일설비 (Electronic mail facility): 자신의복제를다른시스템에메일로전송 원격실행능력 (Remote execution capability): 자신의복제된웜을다른시스템상에서실행 원격로그인능력 (Remote login capability): 웜은원격시스템에로그인하고한시스템에서다른시스템으로자신을복사하는명령수행 46
웜확산단계 1. 호스트테이블이나원격시스템주소의저장소를검사하여감염시킬다른시스템을탐색 2. 원격시스템과연결을설정 3. 원격시스템에자신을복사하고그원격시스템안에서복사본을구동 47
모리스웜 1998 년 Robert Morris 가인터넷에제공 모리스웜 (Morris worm) 은 UNIX 시스템에서퍼지도록설계 확산을위해다양한기술을사용 48
모리스웜 1. 원격호스트에합법적사용자로로그온을시도 지역패스워드파일을크래킹하고발견한패스워드와사용자 ID 를이용 패스워드를찾기위해패스워드 - 크래킹프로그램구동하는데크래킹프로그램은다음을수행 a. 각사용자의계좌이름과이들의단순한치환을시도 b. 모리스가생각했던내장된 432 개의패스워드목록을시도 c. 지역시스템디렉터리에있는모든단어를시도한다. 2. 원격사용자위치를알려주는 finger 프로토콜버그이용 3. 메일송수신원격프로세스디버그옵션안트랩도어이용 49
웜확산모델 확산속도와감염된호스트총수에영향을주는요인 확산모드 이용되는취약성 이전공격과의유사성정도 확산 3 단계 호스트수가지수적으로증가 감염속도가줄어든다 확산증가는거의선형적 감염비율은매우높다 공격속도는종료단계 50
웜확산모델 51
최근의웜공격 코드레드 (Code Red) 웜 코드레드 II 님다 (Nimda) SQL 슬래머웜 (Slammer worm) 52
코드레드 (Code Red) 웜 침투와확산에마이크로소프트인터넷정보서버 (IIS: Internet Information Server) 의허점을이용 윈도우즈의시스템파일검사기기능을마비 다른호스트로확산시랜덤 IP 주소를조사 특정기간동안에는확산만한다 특정시점이되면특정사이트를대상으로수많은호스트가엄청나게많은패킷을전송해처리를못하도록하는서비스거부공격을개시 활동을중단하고주기적으로재활동 53
코드레드 II 마이크로소프트 IIS 를타깃으로한변종 희생컴퓨터에백도어 (backdoor) 를설치해서해커가직접행동할수있게제작 54
님다 (Nimda) 다양한메커니즘을통해확산 전자메일로클라이언트에서클라이언트로확산 개방네트워크공유를통해클라이언트에서클라이언트로확산 침해당한웹사이트를브라우징하는것으로웹서버에서클라이언트로확산 적극적스캐닝과다양한마이크로소프트 IIS 4.0/5.0 디렉터리트래버설취약점을이용해서, 클라이언트에서웹서버로확산 코드레드 II 웜에의해남겨진백도어를찾는것을통해서, 클라이언트에서웹서버로확산 55
기타웜 SQL 슬래머웜 (Slammer worm) 이웜은마이크로소프트 SQL 서버의버퍼오버플로우취약점을이용 극도로축약되어있으며빠른속도로전파하여 10 분안에 90% 의취약한시스템을감염 Sobig.f 웜 감염된컴퓨터를스팸엔진으로바꾸는개방된프록시서버를이용 마이둠 (Mydoom) 전자메일을대량으로전송하는전자메일웜 감염된컴퓨터에백도어를설치하여해커가신용카드번호나패스워드같은자료에원격접속을할수있도록함 56
웜기술의상태 Multiplatform: Multiexploit: Ultrafast spreading: Polymorphic: Metamorphic: Transport vehicles: Zero-day exploit: 57
이동전화웜 블루투스연결이나멀티미디어메시지서비스 (MMS) 를통해전파 웜의목표 스마트폰 모바일전화맬웨어 전화기능을완전히마비 전화기상의데이터를모두삭제 장치가사용자모르게통신료가비싼서비스제공전화번호로전화를걸어통신비를과다하게과금 58
모바일전화웜 컴워리어 (CommWarrior) 블루투스를이용해서수신가능한영역에있는다른전화기로웜을복제 자신을 MMS 파일로전화기안의저장된전화번호로전송하고도착한텍스트메시지와 MMS 메시지에대해자동으로응답하는방식으로자신을복제 자신을탈착식메모리카드에복제하고전화기의프로그램설치파일안에삽입 59
웜대응책 일반성 (Generality): 적시성 (Timeliness): 회복력 (Resiliency): 최소 DoS 비용 (Minimal denial-of-service costs): 투명성 (Transparency): 전역및지역적방어 (Global and local coverage): 60
대응책방안 웜방어 6 개분류 A. 시그너처 - 기반웜스캔필터링 (signature-based worm scan filtering): B. 필터 - 기반웜억제 (Filter-based worm containment): C. 페이로드 - 부류 - 기반웜억제 (Payloadclassification-based Worm Containment): D. 한계점랜덤워크스캔탐지 (Threshold random walk(trw) scan detection): E. 속도제한 (Rate limiting): F. 속도정지 (Rate halting): 61
사전웜억제 PWC( 페이로드 - 부류 - 기반웜억제 : Payloadclassification-based Worm Containment) 호스트에기반 허니팟, 침입차단시스템, 네트워크 IDS 같은네트워크장비에기반하지않음 빠른속도로전파되는웜위협을다루기위해설계 밖으로나가는연결시도의빈도와많은원격호스트로연결을시도하는데갑작스런증가가있는지관찰 갑작스런증가가발생되면소프트웨어는즉각연결시도를차단 62
PWC 배치예 63
PWC 구조동작 A. PWC 에이전트는나가는트래픽을모니터링해서스캐닝을하고원격호스트로 UDP 나 TCP 연결시도가폭증하는지아닌지를결정 갑작스런증가감지가있으면에이전트는다음과같은행동을취한다 1) 로컬시스템에경보를발령 2) 밖으로나가는모든연결시도를차단 3) 경보를 PWC 관리자에게통보 4) D 에서설명하게될완화분석을시작 64
PWC 구조동작 B. PWC 관리자는경보수령 PWC 는경보를모든에이전트로확산 C. 호스트는경보를수신 에이전트는경보를무시할지아닌지를판단 마지막으로들어온패킷시간이후로충분한시간이지나서에이전트가웜에감염된사실을감지 경보를무시 다른경우에이전트는감염되었을수도있다고여기고다음과같은조치 1) 특정경보포트에서밖으로나가는모든연결시도를차단 2) 완화분석을시작 65
PWC 구조동작 D. 완화분석은다음과같이수행한다. 에이전트는밖으로나가는연결시도가한계점을넘었는지아닌지알아보기위해고정된윈도우시간동안밖으로나가는활동을모니터링 한계점초과 차단상태를유지하면서완화분석을또다른윈도우시간만큼시행 밖으로나가는연결시도수가한계점이하로떨어져서에이전트가차단을해제할때까지계속 한계점을초과하는시간이충분히주어진완화분석윈도우시간을넘어서면 에이전트는호스트를분리하고 PWC 관리자에게보고 66
네트워크 - 기반웜방어 웜모니터링소프트웨어 두가지유형 진입모니터 (Ingress monitors): 진출모니터 (Egress monitors): 제로 - 데이익스플로잇 (zero-day exploit) 에효과 침입탐지시스템의기능처럼작동될수있고중앙관리시스템에경보 웜공격에실시간으로반응하여컴퓨터보안담당자가알기전에컴퓨터보안의취약한부분을이용하는대응시스템구현가능 67
웜대응책구조 1. 네트워크의다양한장소에설치된센서는의심되는웜을탐지 센서논리를 IDS 센서에내장 2. 센서는들어온경보를연관시키고분석하는중앙서버로경보를전송 연관서버는웜공격이관찰될가능성과웜공격의중요특성을판단 68
웜대응책구조 3. 서버는보안된환경안으로이정보를전달한다. 보안된환경은샌드박스를말하는데, 웜으로의심되는대상을보호된영역인샌드박스안에서만분석하고테스트 4. 보호된시스템은의심스런소프트웨어에서적절하게계기화한목표응용프로그램버전을점검해서취약점을파악 69
웜대응책구조 5. 보호된시스템은한개이상의소프트웨어패치를생성하고이를테스트 6. 만약패치가이감염을허용하지않고응용프로그램의기능을위태롭게하지않는다면, 시스템은패치를호스트로보내어목표로한응용프로그램을업데이트 70
웜모니터장착 71
10.5 분산서비스거부공격 서비스거부공격 (DoS attack) 정당한사용자가서비스를받지못하도록막는공격 분산서비스거부공격 (Distributed DoS) 공격 쓸모없는트래픽을서버, 네트워크및사용자시스템에무차별적으로전송하여컴퓨터시스템을접근하지못하게하여결과적으로정당한사용자가자원을더이상사용할수없도록한다 DDoS 공격의전형적인예 다수의감염된호스트에서쓸모없는패킷을전송 공격방법이나툴이더욱복잡해지고교묘해져서실제공격자추적이어려움 방어기술은대형공격에대한저항성약함 72
DDoS 공격개요 공격이소모하는자원의종류에따른분류 내부자원공격 (internal resource attack) 공격대상 : 목표시스템에있는내부호스트자원 예 : SYN 플러드공격 (flood attack) 데이터전송자원을소모시키는공격 공격대상 : 목표시스템이연결되어있는네트워크의데이터전송용량 73
SYN 플러드공격단계 1. 공격자가인터넷상다수호스트를제어하여목표웹서버에접근하도록지시 2. 지시받은호스트는오류리턴 IP 주소정보를사용하여 TCP/IP( 동기 / 초기화 ) 패킷을목표시스템으로전송 3. 각각의 SYN 패킷에대해웹서버는 SYN/ACK( 동기 / 확인응답 ) 패킷으로응답하여잘못된 IP 주소를가지고있는 TCP 개체와 TCP 연결을시도 각 SYN 패킷은상대방에게 TCP 연결을요청하는패킷 웹서버는각각의 SYN 요청에대하여데이터구조를유지하고응답을기다리다가더많은트래픽홍수가발생하면결국다운 정당한연결은거부당하고공격을받은서버는반쪽연결이완료될때까지계속대기 74
분산 SYN 홍수공격 75
데이터전송자원소모공격 1. 공격자는인터넷상의여러호스트를제어하여이들로하여금목표시스템의위장 IP 주소를포함하고있는 ICMP ECHO 패킷을만들어반사 (reflector) 호스트역할을하는한그룹의호스트에게보내도록지시 2. 반사호스트는여러개의위장요청을수신하고목표사이트로 ECHO 응답패킷을전송 3. 목표시스템의라우터는반사호스트로부터들어오는패킷으로넘쳐나게되어결국정당한트래픽을위한데이터전송능력을상실 76
분산 ICMP 공격 77
DDoS 공격의다른분류방법 직접 DDoS 공격 (direct DDoS attack) 반사 DDoS 공격 (reflector DDoS attack) 78
직접 DDoS 공격 (direct DDoS attack) 공격자는인터넷상에분산되어있는수많은사이트에좀비소프트웨어를설치 2 단계좀비시스템 DDoS 공격은마스터좀비와종속좀비로구성 두좀비는악성코드에감염 공격자가마스터좀비를조정하여동작시키면이어서종속좀비가동작 2 단계좀비를사용하면공격의발신지를추적하기가더어렵고공격자활동공간이넓어짐 79
반사 DDoS 공격 (reflector DDoS attack) 하나의호스트계층을추가한다 종속좀비는 IP 패킷의헤더에목표시스템의 IP 주소를발신지 IP 주소로하는패킷을만들어응답을요청 이패킷은감염되지않은호스트인반사호스트전송 반사호스트는발신지 IP 주소를확인하고목표시스템으로응답패킷을전송 반사기 DDoS 공격 직접 DDoS 공격에비하여더많은호스트를감염 더많은트래픽을유발시킬수있으므로더위협적 공격이넓게분산되어있는감염되지않은호스로부터들어오기때문에공격을추적하고패킷을필터링해서제거하는것이더어렵다 80
플러딩 - 기반 DDoS 공격 ( 직접 DDoS 공격 ) 81
플러딩 - 기반 DDoS 공격 ( 반사 DDoS 공격 ) 82
공격네트워크구축 DDoS 공격의첫번째스텝은공격자가추후공격을실어나를수많은호스트를좀비소프트웨어로감염시키는것 이공격단계의핵심적인구성요소 DDoS 공격을실어나를수있는소프트웨어 수많은시스템의취약성 취약한시스템을찾아내는전략 83
스캐닝전략 랜덤 (Random): 히트리스트 (Hit-list): 토폴로지 (Topological): 지역서브넷 (Local subnet): 84
DDoS 대응책 공격예방및선취 ( 공격이전 ): 공격탐지및필터링 ( 공격중 ): 공격근원지역추적및확인 ( 공격중및공격후 ): 85