Korean Intellectual Property ffice ICU seminar 네트워크보안기술 ( IDS / IPS ) Kim, Byoungkoo Jun. 10, 2010 Korea Advanced Institute of Science and Technology, IT Convergence Campus
Contents 1. 인터넷발전과해킹 2. Firewall 3. 침입탐지시스템 IDS 2 / 64
1. 인터넷발전과해킹
알파넷 (Advanced Research Projects Agency Network) 1969년미국국방부의고등연구계획국에따라서개발된컴퓨터네트워크 연구소와대학교의컴퓨터자원을이용할목적으로개발 텔넷, FTP, 전자우편등의어플리케이션이서비스됨 TCP-IP (1983 년 ) 인터넷과해킹의역사 (1/3) 기종이서로다른컴퓨터시스템을서로연결해데이터를전송하기위한통신프로토콜 1980년초미국국방부가제정 유닉스 (UNIX) 운영체제내에채용되었으며인터넷에도사용 1960 년대 : MIT 대학의모형기차제작동아리에서첫해커탄생 전기기차, 트랙, 스위치들을보다빠르게조작 (hack) 한다는것에서유래 1970 년대 : 존드래퍼는장난감호루라기이용무료통화가능발견 전화조작의시조 잡지에스콰이어에서제작법공개 파란상자 (blue box) 의비밀 ( 미국전화망침입증가 ) 애플의설립자스티브워즈니악과스티브잡스 4 / 64
인터넷과해킹의역사 (2/3) 1980 년 : 전화조작에서컴퓨터해킹으로이전시작 유즈넷뉴스그룹, 이메일, 게시판통해컴퓨터암호, 신용카드번호공유 해킹그룹형성시작 : 미국 (Legion of Doom), 독일 (Chaos Computer Club) 1981 년 : 퍼스널컴퓨터의등장 (IBM), 전화해킹에서컴퓨터해킹으로급속한이전 1983 년 : 414 gang ( 밀워키의지역번호를따서이름붙인해커그룹 ) 영화 War Games : 해커는어떤컴퓨터시스템에든침입할수있는사람 FBI 는 414 gang 해커그룹의 10 대 6 명을 60 대의컴퓨터에침입한죄로체포 이중에는노스알라모스핵실험소컴퓨터도포함 1988 년 : 모리스웜 코넬대학교대학원생로버트모리스는 ARPA 넷을통해자기복제웜구동 네트워크로연결된 6,000 여대의컴퓨터를감염, 정부및대학교시스템마비 그에게집행유예 3 년, 벌금일만달러가부과됐다. 미국방부 1988 년 11 월카네기멜론대학교에컴퓨터비상대응팀 (CERT) 설립 1989 년 : 첫사이버첩보사건, 국제적관심사 Chaos Computer Club 서독의해커들미국기업의 S 소스코드 KGB 에판매 The Mentor 라는이름의해커 해커선언문 을발표 : 나의죄는호기심이다.. 나는해커다. 한사람을처벌할수는있어도우리모두를막을수는없다 5 / 64
1994 년 : 해킹도구개발 인터넷과해킹의역사 (3/3) 넷스케이프개발웹정보접근가능. 해킹노하우, 프로그램 BBS -> 웹 1997 년 : 아메리카온라인 (AL) 해킹 무료해킹툴 AHell 공개 1998 년 : 백오리피스 (Back rifice) 발표 Cult of the Dead Cow 1999 년 : 보안산업의확대 ( 윈도우 98 발매 ) 윈도우즈및기타상용프로그램의수많은버그들에대한패치프로그램발표 보안회사들다양한해킹방지프로그램발매 2000 년 : 서비스거부 (denial-of-service) 공격 Yahoo, ebay, Amazon 등에대한대규모 ' 서비스거부 ' 공격 2001 년 : DNS 공격 서비스거부공격의일종, 마이크로소프트홈페이지로통하는 DNS 마비 수시간공격, 수백만의접속자들이이틀동안 MS 홈페이지에접속못함 2003 년 : SQL 취약점 Slammer Worm ( 인터넷대란 ) 6 / 64
침입자의형태 침입자의형태 외부침입자 해커 (Hackers) 경쟁자 (Competitors) 내부침입자 불만있는구성원 계약직과임시고용원 사업파트너 전문침입자 영웅, 범죄자, 행동주의자, 테러리스트 7 / 64
침입방법1 침입방법 물리적침입 사무실, 자택사무실, 이동업무 사회공학 선택 : 특정인선택 동기부여 : 해당자를자극 기술적인침입 해킹 스파이 8 / 64
기술적침입및공격방법 스니핑 (Sniffing) 침입방법 2 Switching Jamming, ARP Redirect, ARP Spoofing, ICMP Redirect, Switch Span/Monitor Port 이용스니핑 방지대책 : 구성, 암호, 점검 (Promiscuous Mode, Ping Reply, DNS 등 ) IP Spoofing Sequence Number Guessing, Half SYN Flooding, Connection Hijacking, Connection Killing by RST, Connection Killing by FIN, SYN/RST Generation, Killing Inetd, TCP Window Spoofing 방지대책 : 패킷필터링, SSH, TCPWrapper 트로이쟌및백도어 Trojaned TCPWrapper, Backrifice TCP Connection Hijacking Computer Virus, 웜 피싱, 보이싱, 스미싱 9 / 64
2. Firewall
정의 What is Firewall? A system or group of systems that enforce security policies between an organization s network and the Internet. A part of overall security policy that creates a perimeter defense designed to protect the information resources of the organization. 기본개념 네트워크의보안사고나위협이더이상확대되지않도록막고격리하는것 외부에서의불법적인트래픽이들어오는것을막는것 허가또는인증된트래픽만허용하는적극적인방어대책 네트워크사용자에게가능한한투명성을보장하면서위험지대를줄이는것.K 정당한사용자 내부 Network X 방화벽시스템 11 / 64 Internet 불법사용자
Packet Header ICMP packet 0 15 16 31 version length 8bit TS 16bits total length 16bits identification R DF MF 13bits fragment offset 8bit TTL 8bit protocol = 1 16bits checksum 32bits source IP address 32bits destination IP address ption (if any) 8bit ICMP Type 8bit ICMP Code 16bits checksum 16bits identification 16bits Sequence number IP header ICMP header UDP packet version length 8bit TS 16bits total length 16bits identification R DF MF 13bits fragment offset 8bit TTL 8bit protocol = 17 16bits checksum 32bits source IP address 32bits destination IP address ption (if any) 16-bits source port number 16-bits destination port number 16-bits UDP length 16-bits UDP checksum IP header UDP header TCP Packet version 4-bit Data offset length 8bit TS 16bits identification R 8bit TTL 8bit protocol = 6 16bits checksum 32bits source IP address 32bits destination IP address ption (if any) 16-bits source port number 16-bits destination port number 32-bits sequence number 32-bits acknowledgement number U A P R S F Reserved R C S S Y I 16-bits window size (6bits) G K H T N N 16-bits checksum ptions (if any) 12 / 64 16bits total length DF MF 13bits fragment offset 16-bits urgent pointer IP header TCP header
Firewall 의장점 Firewall 의장점 위험에취약한서비스에대한보호 호스트시스템에대한접근제어 보안의집중 네트워크사용에대한로깅과통계자료 정책구현 호스트전체적인보안을동시에강화 보안통제가한곳에서가능하므로보안정책을효율적으로시행 Firewall 이없는경우 관리네트워크내의모든시스템에대한적절한보안강도를각시스템단위로조정하고관리해야함 매우어렵고인력과시간이많이소모 Firewall 을이용하여이러한문제를극복할수있음 13 / 64
Firewall 의단점 ( 한계 ) Firewall 을거치지않는트래픽에대해서는대응이불가능 일반적으로다양한 Firewall 우회경로가존재 Physical & Logical Path 내부사용자에의한공격로부터시스템및네트워크를보호할수없음 내부사용자가바이러스에감염된프로그램을인터넷으로부터다운로드받거나전자우편으로전송하는경우포함 보안기능집중화 Firewall 이붕괴되면모든내부네트워크및시스템의보안강도가낮아짐 병목현상 Firewalls 의단점 ( 한계 ) 모든접속이방화벽시스템을경유하여이루어지므로병목현상발생가능 14 / 64
Firewall 의일반적인형태 (1/3) Screening Router Firewall의기본구성요소 Screening: 패킷필터링기능을의미 정의된보안정책에따라송수신되는네트워크패킷을차단하는기능수행 Router: 패킷전달기능을의미 도착된패킷을 IP주소에따라전달하는기능수행 인터넷 규칙 방향 출발지주소 목적지주소 protocol 출발지포트목적지포트 Ack 액션 A outgoing Internal any TCP >1023 23 either Permit B C incoming Either any any internal any TCP any 23 any >1023 any yes either Permit Deny 스크린라우터 내부네트웍 15 / 64
Firewall 의일반적인형태 (2/3) Bastion Host 네트워크상에서내부네트워크와외부네트워크의경계에설치되는시스템 외부네트워크에서접근가능한내부네트워크의인입점역할수행 일반적으로 IP Forwarding 기능을제거하고사용 내부네트워크와외부네트워크의분리를위해사용 Bastion Host는인터넷에노출되어있으므로공격받기가쉬움 Bastion Host가공격되면내부네트워크로의접근이가능해짐 인터넷 Bastion Host 내부네트워크 16 / 64
Proxy Server Firewall 의일반적인형태 (3/3) 인터넷액세스가가능한하나혹은소수의 Proxy Server 를두고나머지시스템이해당 Proxy Server 를통해외부접속 Proxy Server 는클라이언트로부터의요청을평가하고통과시킬것인가혹은무시할것인가를결정 강력한보안기능이수행되는특정호스트를통해서만외부접속을허용 속도가느린단점이있음 일반적으로서비스별로 Proxy Server 를두게됨 다수의 Proxy Server 가필요할수도있음 Proxy Server 클라이언트 외부호스트 17 / 64
기능수행계층에따른 Firewall 의분류 (1/3) Network-level Firewall (IP Packet filtering) Network layer에서일반적인 Routing과함께 Packet filtering을수행 속도가빠르고구성이간단하며비용이상대적으로저렴 Traffic에대한정보가적으며, Filtering Rule이복잡하고이해하기어려움 고수준의분석을통한필터링은불가능 사용자에게투명성이보장 APPLICATIN PRESENTATIN SESSIN TRANSPRT NETWRK DATA LINK 18 / 64
기능수행계층에따른 Firewall 의분류 (2/3) Application-level Firewall (Application Gateway) Application layer에서응용프로그램간의연결및차단을수행 속도가상대적으로느리며, Traffic이많은지점에서는부적합 서비스별로각각의 Application Gateway (Proxy) 가필요함 투명성의보장을위해양종단의응용프로그램의변경이요구 Traffic을제어할수있는선택사항이다양 Traffic에대한정보가풍부한것이장점 APPLICATIN PRESENTATIN SESSIN TRANSPRT NETWRK DATA LINK 19 / 64
기능수행계층에따른 Firewall 의분류 (3/3) Hybrid type Firewall Packet Filtering 과 Application Proxy 의혼합형태 Stateful Packet Inspection 커널에 Stateful Packet Inspector 모듈을두어충분한정보가획득될때까지 Filtering 을미룸 정보확인후안전하다고판명되면 Filtering 시작 Adaptive Proxy 처음에 Application level 로검사를진행하다안전하다고판명되면 Network level 로내려가 filtering 기능만수행 APPLICATIN PRESENTATIN SESSIN TRANSPRT NETWRK DATA LINK APPLICATIN PRESENTATIN SESSIN TRANSPRT NETWRK DATA LINK STATEFUL PACKET INSPECTR 20 / 64
3. 침입탐지시스템 - IDS
정의 침입탐지시스템 (IDS) 시스템에불법적으로접속하여시스템을사용, 오용, 남용하는것을감지하고대응하기위한시스템 침입탐지시스템의분류 Audit Source Detection Method System Data Based Network Packet Based Data Source Supplier Based Anomaly Based Misuse Based Single Host Based Multi Host Based Network Based Real-Time IDS Detection Timing Virtual Real-Time Audit Trail Analysis Single Analysis Cooperative Analysis Non Real-Time Responsiveness 22 / 64 Active Passive
침입탐지시스템 침입모델에의한분류 분석방법에의한분류 오용탐지 (Misuse Detection), 전문가시스템 오용탐지 (Anomaly Detection) 통계적방법 특징추출 하이브리드 (Hybrid) 23 / 64
분석방법에의한분류 ( 계속 ) 데이타소스를기반으로하는경우 Host Multi-host Network 분산환경 침입탐지기술요소 정보수집 정보가공및축약 분석및침입탐지 보고및조치 시스템의로그분석 유닉스로그, 리눅스, 시스템 / 네트워크, 윈도우 2000 24 / 64
침입탐지시스템 Anomaly Detection Behavior-Based Anomaly detection 단점 정상행위를분류하고이를근거로비정상행위탐지 지속적인 Rule Update가필요없이학습기반프로파일생성 알려지지않은공격기법에대한탐지가능 통계적접근방식, 신경망, 속성추출기법, 데이타마이닝기법들이활용됨 탐지정확도가낮음 : High False Positive Update Profile Audit Data System Profile Statistically Deviant? Attack State Generate New Profiles Dynamically 25 / 64
침입탐지시스템 Misuse Detection Knowledge-Based Misuse detection 단점 알려진공격기법을근거로탐지 새로운공격기법에대한침입유형을정의하여규칙생성 False Negative 유발가능성이있으나, False Positive 가능성이낮음 전문가시스템, 상태전이분석, 모델기반접근방식 새로운공격기법에대한능동적인탐지가불가능 Modify Existing Rules Audit Data Timing Information System Profile Rule Match? Attack State Add New Rules 26 / 64
침입탐지시스템 Snort An pen Source Light Weight Intrusion Detection System ver 1500 rules extracted by network security experts. Software Based System String Length Distribution From 1 byte to 121 bytes # of Rules Growing Factor 2.5 in 3 years 27 / 64
침입탐지시스템 Boyer-Moore Algorithm The Best Single Pattern Matching Algorithm Bad Character Heuristics Text 0 1 2 3 4 5 6 7 8 9... a b b a x a b a c b a b x b a c b x b a c Good Suffix Heuristics Text 0 1 2 3 4 5 6 7 8 9... a b a a b a b a c b a c a b a b c a b a b c a b a b Both can be preprocessed and lookup tables are built (mn) time complexity, (n/m) best performance Both Heuristics can be used in multi-pattern matching algorithms 28 / 64
침입탐지시스템 Challenges Computing intensive string matching More resource and Lower throughput More complicated than packet header classification Increasing line-rates GE, C48, 10GE, C192, C768 Increasing number of rules In order of thousands and keep growing Multi Pattern Matching in Real Time Searching the text streams for a set of strings. Precise Matching Aho-Corasick, Commentz-Walter, Wu-Manber Imprecise Matching (with false positive) Parallel Bloom Filter, Exclusion-based String Matching 29 / 64
세션기반탐지 Normal header value (RFP 793 TCP Standard) 연결설정 : SYN, SYN ACK, ACK 초기 SYN 패킷이후모든패킷 ACK 가짐 연결해지 : FIN ACK and ACK, PSH FIN ACK 설정된연결즉시종단 : RST or RST ACK 연결설정후부터연결해지까지 ACK 는 default, PSH, URG 사용가능 Abnormal header value SYN FIN SYN FIN PSH, SYN FIN RST, SYN FIN RST PSH, SYN FIN + Packets should never contain just a FIN flag "null" packets. It is illegal to have a packet with no flags set 정확도향상 Snot 등에의한보안시스템공격을막음 False-positive 감소 30 / 64
IDS Evasion 우회공격 False-alarms hiding attacks Fragmentation (Fragrouter) Avoiding Default Slow scan Address Spoofing/Proxying Pattern Change Evasion (Hex-code, Uni-code) http://www.robertgraham.com/pubs/./network-intrusion-detection%2ehtml 최신우회공격 SSL, VPN, HTTPS, HTTP Tunnel등암호화기술 DNSFree Application header 분석 P2P 응용서비스증가 네트워크트래픽은웜등공격과비슷 31 / 64
침입방지시스템 (IPS) - 출현배경 Packet Spoofing GUI Intruder Tool Wide-Spread DoS Attack DDoS Increase in Worm G/W 서비스중심의방어정책 (Protocol Header) Sophisticated command control Bastion Host 방화벽을우회하는정상적인서비스를이용한 공격의탐지및방어 (Protocol Header + Data) Firewall 제 2 세대보안솔루션으로서 F/W+IDS 연동방어시스템 Detection + Blocking IDS IPS 제 3 세대보안솔루션으로서 In-line 방식의트래픽방어시스템 Detection + Blocking + Prevention + Anomaly + Contents Filtering 32 / 64
정의 침입방지시스템개요 시스템및네트워크자원에대한다양한형태의침입행위를즉각적으로탐지하고분석하여, 비정상으로판단된패킷을차단시키고의심스러운세션들을종료시킴으로써공격에능동적으로대응하는시스템 기본필수조건 알려진공격혹은바이러스로부터패턴기반의 Blocking 제공 Blocking은실시간혹은그에근접하게수행 (In-line 모드 ) 방화벽기능뿐만아니라응용프로그램레벨상에서의공격도방어 훨씬더향상된공격식별및방지능력제공 33 / 64
침입방지시스템 SGS-ATPS 전역통신망환경에서네트워크에대한침입을능동적으로탐지하고대응할수있는침입방지시스템 기가급 Wire Speed 보장 ( 칩셋자체개발 ) 이상트래픽탐지 / 차단 / 대역폭제어 유해트래픽탐지 / 차단 보안정책기반의시스템운용 Policy Enforcement IDEC Main CPU (Dual Intel XEN 2.0Ghz) PCI Chip PPEC Packet Flow Alert Information ATIC PCI Interface 34 / 64
침입방지시스템 Pattern Matching Algorithm Linked Word based Store-less Running Search Algorithm Hash Value Calculation Spectrum Dispersion Technique Stateful Packet Inspection based Full Packet Pattern Matching Multiple Content Matching : Regular Expression Support Wire-speed Matching Technology p i+k-1 i 1 aaaa Arriving Packet i th substring Hash Key Prev_Ptr aaa H(y) Key & Prev_Ptr Comparisons YES Alarm if last substring in a signature n H = [{ Cn ( n 1)} { Cn (9 n)}] % 2 9 1 Table Block 1 Table Block 2... Table Block n Prev Match Address - H(y) - 35 / 64
SPI (Stateful Packet Inspection) 개념 TCP Session 정보를추적하여, 그상태정보를다양한응용에활용 Firewall, VPN, NIDS/NIPS, Traffic Monitoring, Traffic Load Balancing, Accounting and Charging 등과같은응용에현재사용되고있음 NIDS/NIPS 에서의 SPI 필요성 Stateless Analysis NIDS/NIPS 는 Stick 이나 Snot 과같은 IDS Evasion Tool 에의해수행되는 Stateless Attack 에대해다량의 False Positive 경보를발생시켜우회공격에쉽게무력화됨. Attack 에대한 Forensic Analysis 를수행하는데어려움을가중시킴. 문제점 대부분소프트웨어기반으로성능문제를가지고있음 처리속도의문제, 관리하는세션수의제한 대부분기능비활성화시킴. 요구사항 High-Speed 네트워크환경에서 Wire-Speed 의패킷처리속도보장 1 Million Concurrent Session 지원 36 / 64
침입방지시스템 Anomaly Detection Algorithm Real-Time Traffic Metering and Abnormal Behavior Detection and Response Flow Manager DDoS Detector WRM Detector S/W Block Traffic Capturing (H/W Block) Showing Results (GUI) Rate Limiting (H/W Block) 37 / 64
침입방지시스템 New Challenges Zero-day Attacks SQL server buffer-overflow vulnerability LSASS buffer-overflow vulnerability Vulnerability disclosure 0-day attack Jan 25 2003 Apr 30 2004 July 24 2002 Apr 11 2004.. 2006?? Slammer Worm released 185-day attack Sasser Worm released 19-day attack Future worm released Time gap between vulnerability disclosure and release of a worm that exploits it is decreasing 38 / 64
Zero-Day 공격에대한방어기술 알려지지않은공격에대한신속한탐지와공격에대한시그니처의실시간생성및적용 Attack Detection Anomaly Detection Attack Response Misuse Detection 시그니처자동생성 Early-bird 사업화지연 : 트래픽측정에사용 40byte signature 와 sampling : 부정확 Application header 들이 signature 로생성 많은 White list 발생 시그니처와공격연관성없음 Autograph, Polygraph : 고속하드웨어나오지않음 알고리즘이하드웨어로구현하기어려움, 많은가정 Giga 급네트워크에서동작하는시그니처생성시스템필요 신속한시그니처생성으로침해에의한피해최소화 39 / 64
Network 위협의 Zero-Day Attack 대응을위한실시간공격 Signature 생성및관리기술 (-) Signature Distribution (*) (-) (*) Signature Distribution (*) Signature Distribution (*) (-) Signature Distribution (*) Signature Distribution (*) (-) (-) (*) (-) Network Packets Traffic Measure (FTMB) Prevalent Content Sampling and Detection (PCSB, PCDB) Suspicious Traffic Detection and Extraction (STDB, STEB) Middleware Signature Extraction (SECB) System Management & User-interface Block (SMUB) User-interface (CLI or GUI) Suspicious Traffic Attack Signatures High-level Packet Capture Block (HPCB) Collected Packets Capture Rule Synthesizer Attack Based Validation Block (ABVB) Raw-Data-Based Executable-Data-Based Signature Based Validation Block (SBVB) Raw-Data-Based Executable-Data-Based Signature Validation & Evaluation Block (SVEB) Signature Management & Distribution Block (SMDB) Signature Management Signature Distribution Validation Certificate 90 80 70 60 50 40 30 20 10 0 DoomBot Kelvir Snow_1 Snow_2 Snow_3 Snow_4 Net_Data 1 2 3 Samples DoomBot Kelvir Snow(1) Snow(2) Snow(3) Snow(4) Net_Data Patterns ec pc pm mpr pr lr X X X X X X X < < < < < < = X X 100 90 80 70 60 50 40 30 20 10 0 1 2 3 Calling Mechanism Detection Task (CMDT) X X Reassembled Payloads Results Windows Attack Windows Attack Windows Attack Reassembled Packet Payloads Windows Attack 8b4508 Windows Attack 83480408 X Windows 53 Attack e8de2b0000 X 8b4c2408 Normal Network Disassembler Data 8b29 50 8be5 5d c3 0f8497310000 83ec08 Disassembled Payloads DoomBot Kelvir Snow(1) Snow(2) Snow(3) Snow(4) Net_Data Disassembled Packet Payloads mov eax,[ebp+0x8] or dword [eax+0x4],0x8 push ebx call 0xdc17 mov ecx,[esp+0x8] mov ebp,[ecx] push eax mov esp,ebp pop ebp ret jz 0x214 sub esp,0x8 Validation Results Zero-day 공격에대응가능한 시그니처자동생성시스템 Zero-day 공격탐지및시그니처생성칩셋 시그니처관리및분배프로토콜 Unknown Attack 탐지, 시그니처추출및검증알고리즘 고성능 H/W 기반시그니처생성기술 기존표준을적극반영한프로토콜 시그니처검증분야기술 Cooperation of Signature Synchronization (*) ZASMIN-T ZASMIN-T ESM ESM ZASMIN-E IDS ZASMIN-E H H AS1 R AS8 R H H FW R IDS H IPS ZASMIN-E H R R H ZASMIN-E ZASMIN-E AS6 R FW AS3 IPS ZASMIN-E AS2 H H H H AS7 H H H H H H H ESM Legacy Enterprise Security Manager ZASMIN-E Zero-day Attack Signature Manufacture Infra-structure - Endpoint : 2 차년도 (-) IDS Legacy Intrusion Detection System ZASMIN-T Zero-day Attack Signature Manufacture Infra-structure -Top Level : 3 차년도 (*) IPS Legacy Intrusion Prevention System Signature Distribution Protocol : 2 차년도 (*) FW Legacy Firewall System (-) 주관연구기관 (+) 참여연구기관 (*) 공동연구 H General Host R General Router Signature Extraction Sub-system (SES) Signature Validation Sub-system (SVS) Signature Management Sub-system (SMS) 40 / 64