네트워크 침입탐지시스템

Similar documents
[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

Microsoft Word doc

TCP.IP.ppt

슬라이드 제목 없음

1217 WebTrafMon II

bn2019_2

SMB_ICMP_UDP(huichang).PDF

Network seminar.key

Microsoft PowerPoint _TCP_IP

Subnet Address Internet Network G Network Network class B networ

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

2009년 상반기 사업계획

일반적인 네트워크의 구성은 다음과 같다

Chapter11OSPF

시스템, 네트워크모니터링을통한보안강화 네트워크의미래를제시하는세미나 세미나 NetFocus 2003 : IT 관리자를위한네트워크보안방법론 피지피넷 /

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Microsoft PowerPoint - 4. 스캐닝-2.ppt [호환 모드]

Microsoft PowerPoint - tem_5

슬라이드 1

Microsoft PowerPoint - L4-7Switch기본교육자료.ppt

thesis

OSI 참조 모델과 TCP/IP

UDP Flooding Attack 공격과 방어

*****

The Pocket Guide to TCP/IP Sockets: C Version

< F5320B4EBC0C0C0E5BAF1BFA120B4EBC7D120BAB8BEC8B1E2B4C920B0A1C0CCB5E528C3D6C1BE292E687770>

[ tcpdump 패킷캡처프로그램 ] tcpdump란? tcpdump 버전확인 tcpdump 플래그 (flags) tcpdump 사용법 tcpdump의사용예제 telnet을활용해 root와 passwd 암호알아내기 [01] tcpdump란? tcpdump는 Lawren

hd1300_k_v1r2_Final_.PDF

2-11Àå

6강.hwp

슬라이드 1

Microsoft PowerPoint - 4.스캐닝-1(11.08) [호환 모드]

0. 들어가기 전

SOLUTION BRIEF 차세대 빅데이터 기반 통합로그관리시스템으자, SIEM 솔루션으로 데이터를 수집/분석/검색 및 추가하고, 효율적인 보안 운영을 실시합니다. 대용량 데이터를 수집하고 처리하는 능력은 사이버 보안에 있어서 통찰력을 제공하는 가장 중요하고, 기초적인

Microsoft Word - access-list.doc

untitled

ÀÎÅÍ³Ý ÁøÈï¿ø 3¿ù ÀúÇØ»ó

The Pocket Guide to TCP/IP Sockets: C Version

ÀÎÅÍ³Ý ÁøÈï¿ø 5¿ù

PowerPoint 프레젠테이션

The Pocket Guide to TCP/IP Sockets: C Version

Microsoft PowerPoint - ch13.ppt

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

ìœ€íŁ´IP( _0219).xlsx

SRC PLUS 제어기 MANUAL

Microsoft Word - NAT_1_.doc

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Secure Programming Lecture1 : Introduction

Wireshark Part 2 1

PowerPoint Presentation

제20회_해킹방지워크샵_(이재석)

*

2. 인터네트워킹 서로떨어져있는각각의수많은네트워크들을연결하여하나의네트워크처럼연결하여사용할수있도록해주는것 3. 인터네트워킹에필요한장비 1 리피터 (Repeater) - 데이터가전송되는동안케이블에서신호의손실인감쇄 (Attenuation) 현상이발생하는데, 리피터는감쇄되는신

PowerPoint 프레젠테이션

정보보안 개론과 실습:네트워크

개요 IPv6 개요 IPv6 주소 IPv4와공존 IPv6 전환기술 (Transition Technologies)

운영체제실습_명령어

Linux Server - IPtables Good Internet 소 속 IDC실 이 름 정명구매니저

歯최덕재.PDF

Assign an IP Address and Access the Video Stream - Installation Guide

Chapter #01 Subject

슬라이드 1


자바-11장N'1-502

Microsoft PowerPoint - thesis_rone.ppt

PowerPoint 프레젠테이션

인도 웹해킹 TCP/80 apache_struts2_remote_exec-4(cve ) 인도 웹해킹 TCP/80 apache_struts2_remote_exec-4(cve ) 183.8

Windows Server 2012

The Pocket Guide to TCP/IP Sockets: C Version

1. 제품 개요 WeGuardia WIPS V2.0(이하 TOE)은 특정 조직에서 운영되는 무선랜에 대한 지속적인 모니터을 통해 내 외부로부터 발생할 수 있는 각종 침입을 탐지 및 차단하여 내부의 네트워크를 보호하는 무선침입방지시스템이다. TOE의 세부 식별자 및 배포

Microsoft Word - FunctionCall

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

ARMBOOT 1

The Pocket Guide to TCP/IP Sockets: C Version

슬라이드 1

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - 04-UDP Programming.ppt

[Brochure] KOR_TunA

Microsoft PowerPoint - chap03-변수와데이터형.pptx

TTA Journal No.157_서체변경.indd

PPP over Ethernet 개요 김학용 World Class Value Provider on the Net contents Ⅰ. PPP 개요 Ⅱ. PPPoE 개요및실험 Ⅲ. 요약및맺음말

歯홍원기.PDF

[ R E P O R T ] 정보통신공학전공 김성태

Cisco SDN 3.0 DDoS DDoS Cisco DDoS Real Demo 2008 Cisco Systems, Inc. All rights reserved. 2

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

<32C0E5B3D7C6AEBFF6C5A9BAB8BEC82DB1E8BCBAC7D02E687770>

슬라이드 1

정보보안 개론과 실습:네트워크

Microsoft Word - Tcpdump 사용설명서.doc

Microsoft PowerPoint - 13_appl.ppt

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

S NIPER FW/UTM은 인터넷과 같은 외부망과 조직의 내부망을 연결하는 곳에 위치하여 보호하고자 하는 네트워크에 대한 서비스 요청을 통제하여 허가되지 않은 접근을 차단하는 침입차단(FW)기능 및 침입방지(IPS), 컨텐츠 필터링, 가상사설망(VPN)의 기능을 수행

11장 포인터

게시판 스팸 실시간 차단 시스템

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

. PC PC 3 [ ] [ ], [ ] [ ] [ ] 3 [ ] [ ], 4 [ ] [ ], 4 [Internet Protocol Version 4 (TCP/IPv4)] 5 [ ] 6 [ IP (O)], [ DNS (B)] 7 [ ] 한국어 -

SYN flooding

DoS 공격의유형분석및탐지방법 (Monitoring and Investigation of DoS Attack) 영산대학교 사이버경찰학과 이성진

Transcription:

네트워크침입탐지시스템 기본구조와원리

개요 문서정보 작성자 : 양봉열 (xeraph@nchovy.com) 작성일 : 2009 년 9 월 12 일 라이센스 : 크리에이티브커먼즈저작자표시 - 비영리 - 변경금지 2.0 대한민국 목차 IDS 의정의와역사 NIDS 아키텍처 NIDS 배치 이더넷트래픽펌핑 IP 단편화와재조립 TCP 재조립 응용프로토콜디코딩 패턴매칭 룰및탐지회피 네트워크이상탐지 패킷덤프및로깅

IDS 의정의와역사 정의 컴퓨터시스템을대상으로인가되지않은데이터접근, 조작, 서비스방해등의침입시도를찾아내도록설계된소프트웨어나하드웨어 배포위치에따른구분 역사 네트워크기반침입탐지시스템 호스트기반침입탐지시스템 1980 년, James P. Anderson 이감사로그를이용한오용탐지기법제시 1990 년대초부터상업적침입탐지시스템의개발이시작됨 1997 년부터침입탐지시장이본격적으로성장함 (ISS, Cisco 등 ) 2000 년시큐어소프트수호신 IDS, 인젠네오와처, 윈스테크넷스나이퍼 IDS 출시 2003 년윈스테크넷스나이퍼 IPS 출시등 IPS 및 UTM 으로발전하면서 IDS 시장쇠퇴 http://www.securityfocus.com/infocus/1514

NIDS 아키텍처 센서 서버 로그발생및차단대응로그수싞로그축약경보대응 패턴매칭 정책배포 정책설정 통계생성 응용프로토콜디코딩 TCP 스트림재조립 IP 패킷재조립 콘솔 로그관제설정관리통계조회 이더넷프레임펌핑드라이버

NIDS 배치 폐쇄망 관제콘솔관리서버센서 패킷복사전달 네트워크탭 (tap) 더미허브 스위치 SPAN 포트 / 포트미러링

이더넷프로토콜 정의 LAN에서사용되는프레임기반컴퓨터네트워킹기술의집합 IEEE 802.3로표준화됨 : 물리계층과데이터링크계층의 MAC 부분을정의 프레임유형 Ethernet II (DIX frame): 16비트길이의 EtherType으로프로토콜번호지정 IEEE 802.3: EtherType을길이로대체하고 802.2 LLC 헤더가뒤에추가됨 LLC 헤더뒤에 SNAP 헤더가붙는경우도있음 프레임유형구분은관례에따라 EtherType 값의범위를이용함 64~1522의경우 802.3 Ethernet 1536(0x0600) 이상인경우 Ethernet II의프로토콜식별자로해석

이더넷트래픽펌핑 정의 이더넷네트워크인터페이스장치로부터이더넷프레임들을센서입력으로올리는작업 구현방식 커널에서제공하는네트워킹인터페이스를이용하는방식 기존에벤더에서제공하는드라이버를그대로이용할수있으므로높은호환성획득 커널에서불필요한작업이추가로수행되므로효율성저하 리눅스의경우 libpcap 및 libipq가널리사용됨 윈도우의경우 NDIS 프로토콜혹은인터미디엇드라이버를구현해야함 네트워크인터페이스장치를직접제어하는방식 특정 NIC용디바이스드라이버를자체제작하거나커스터마이징 장치의성능을최대한으로뽑아낼수있으며오버헤드역시최소화가능 윈도우의경우 NDIS 미니포트드라이버를구현해야함 하드웨어일체형보안장비의경우드라이버및운영체제까지자체개발함

이더넷트래픽펌핑 패킷손실 (Packet Loss) 네트워크인터페이스장치는수신한프레임들을 DMA로링버퍼에저장함 링버퍼가가득차면이후장치에서수신하는프레임들은그냥버려짐 프레임이손실되면해당세션은디코딩실패로인해제대로탐지할수없게됨 같은대역폭에서도프레임길이에따라처리량이달라짐 1Gbps의경우, 64바이트 : 195만 3125 fps 128바이트 : 97만 6562 fps 256바이트 : 48만 8281 fps 512바이트 : 24만 4140 fps 길이가짧을수록오버헤드가증가하므로손실가능성이높아짐

인터넷프로토콜 (IP) IP 헤더 Version: IP 버전 ( 이하버전 4 기준 ) IHL: IP 헤더길이 (4 바이트단위 ) Type of Service: QoS ( 대부분 0) Total Length: 전체길이 ( 헤더포함 ) Identification: 패킷식별자단편화된패킷들은식별자가동일함 Flags: More Fragment (001) Don't Fragment (010) Fragment Offset: 단편의상대적위치 Time to Live: 1 hop 지날때마다차감 Protocol: 페이로드의프로토콜번호 IANA 프로토콜번호할당문서참조 (ICMP 1, IGMP 2, TCP 6, UDP 17) Header Checksum: 헤더무결성확인 Source IP Address: 출발지주소 Destination IP Address: 목적지주소 IP Options: 선택적기능 IANA 옵션번호할당문서참조

인터넷프로토콜 (IP) IP 헤더체크썸계산 (RFC791) 헤더를 2 바이트단위로끊어서 1 의보수합을구한다음 1 의보수를취함. 1 의보수합은캐리발생시 LSB 에더함 효율적인체크썸계산 (RFC1071) [A, B] +' [C, D] +'... +' [Y, Z] + 는 1 의보수합을의미 교환, 결합가능 계산을임의로묶거나순서를바꿔서수행해도결과는바뀌지않음 ([A, B] +' [C, D] +'... [J, 0]) +' ([0, K] +'... +' [Y, Z]) 바이트순서독립성 [B, A] +' [D, C] +'... +' [Z, Y] 로나온결과도바이트순서만바뀔뿐동일 병렬연산 [A, B] +' [C, D] +' [E, F] +' [G, H] 을 [A, B, C, D] +' [E, F, G, H] 후절반으로접어서다시 +' 해도동일하게계산된다.

인터넷프로토콜 (IP) 체크썸계산코드 while( count > 1 ) { /* This is the inner loop */ sum += * (unsigned short) addr++; count -= 2; } /* Add left-over byte, if any */ if( count > 0 ) sum += * (unsigned char *) addr; /* Fold 32-bit sum to 16 bits */ while (sum >> 16) sum = (sum & 0xffff) + (sum >> 16); 캐리발생시다시더해야함 checksum = ~sum;

인터넷프로토콜 (IP) 체크썸계산연습

인터넷프로토콜 (IP) IP 단편의재조립과정 경우의수 빈공간에완전히딱맞아떨어지는경우 앞이나뒤의일부분만채우는경우 중간에끼어들어서남은공간을둘로쪼개는경우 RFC815 패킷이도착하면 hole descriptor list 조회 빈공간이메워지는경우해당 hole descriptor를 list에서제거 hole descriptor list가완전히비워지는경우재조립처리가능 용어정의 hole.first: 빈공간의첫번째바이트번호 hole.last: 빈공간의마지막바이트번호 hole descriptor: hole.first와 hole.last의쌍 hole descriptor list: hole descriptor의목록

인터넷프로토콜 (IP) IP 단편의재조립과정 RFC815 알고리즘 1. hole descriptor list 에서 hole descriptor 선택, 더이상없으면 8 번단계로 2. fragment.first 가 hole.last 보다크면 1 번단계로 3. fragment.last 가 hole.first 보다작으면 1 번단계로 4. hole descriptor list 에서현재항목삭제 5. fragment.first 가 hole.first 보다크면, [hole.first, fragment.first 1] hole descriptor 를새로생성 6. fragment.last 가 hole.last 보다작고 More Fragment 가참이면, [fragment.last + 1, hole.last] hole descriptor 를새로생성 7. 1 번단계로 8. 재조립완료

인터넷프로토콜 (IP) IP 단편화공격 Ping of Death IP 패킷은헤더포함하여최대길이 65535로제한됨 (RFC791) Fragment Offset 필드는 13비트이고 8바이트단위이므로 65528까지표현가능 마지막 Fragment가최대길이를넘어가는경우재조립할때크래시발생가능 ping -l 65510 호스트주소 Teardrop 데이터영역이겹치는서로모순되는 Fragment를전송 MF = 1 Fragment Offset = 1400 MF = 0 Fragment Offset = 1300 테스트 fragrouter 모든패킷을지정된크기로분할하여전송 http://monkey.org/~dugsong/fragroute/

전송제어프로토콜 (TCP) TCP 헤더

전송제어프로토콜 (TCP) TCP 상태다이어그램 CLOSED SYN_RCVD appl: passive open LISTEN recv: SYN send: SYN, ACK SYN_SENT appl: close or timeout appl : close send: FIN ESTABLISHED recv: FIN send: ACK CLOSE_WAIT FIN_WAIT_1 recv: FIN send: ACK data transfer state CLOSING appl : close send: FIN LAST_ACK recv: ACK send: <nothing> recv: ACK send: <nothing> passive close FIN_WAIT_2 recv: FIN send: ACK TIME_WAIT 2MSL timeout active close

전송제어프로토콜 (TCP) 슬라이딩윈도우

응용프로토콜디코딩 주요대상프로토콜 HTTP, FTP, TFTP, DNS, WINS, NETBIOS, LDAP, SNMP, SMTP, IMAP, POP3 TDS, TNS, SSH, TELNET, RLOGIN, RSH, RWHO, FINGER, IRC, MSNP, ICQ... 응용프로토콜분석에기반한룰문법제공을통하여정교한룰제작가능 예 1) HTTP Cookie 헤더를통한 SQL 인젝션시도탐지 예 2) DNS 요청패킷타입이 NULL 인경우 예 3) SMB NetPathCanonicalize 함수호출매개변수에 \..\.. 패턴이있는경우 파일분석 네트워크프로토콜뿐아니라전송되는첨부파일등검사필요 (DLP 등 ) 오피스문서를이용한취약점공격증가 취약점예 ) CVE-2008-4841, CVE-2008-4837, CVE-2008-4026 비정상행위탐지 표준규약에위배되거나공격일가능성이높은메시지를탐지 비정상적으로길이가긴경우버퍼오버플로우공격의심 통상적으로사용되지않는값이거나범위를벗어나는값 헤더정보와페이로드의불일치나무결성오류등

패턴매칭 Aho-Corasick: Trie 빌드 h i s e r s s h e

패턴매칭 Aho-Corasick: Failure Link 연결 1 h i s e r s s h e

패턴매칭 Aho-Corasick: Failure Link 연결 2 h i s e r s s h e

패턴매칭 Aho-Corasick: Failure Link 연결 3 h i s e r s s h e

패킷덤프 PCAP 파일포맷 사실상패킷덤프표준으로사용되고있는파일포맷 tcpdump, tcpreplay, wireshark 등 Global Header magic number: 바이트오더판별용도 (0xa1b2c3d4) version_major, version_minor: 대부분 2.4 thiszone: GMT와지역시간대차이를초단위로표시 snaplen: 캡처시최대패킷길이제한 network: 데이터링크계층타입 ( 예를들면이더넷 1, 토큰링 6) Packet Header ts_sec, ts_usec incl_len: 캡처된패킷데이터길이 orig_len: 원래패킷데이터길이 (snaplen으로인해잘릴수있음 )

로깅 Syslog (RFC5424, RFC5426) UDP 514 번포트사용 전송크기 수신자는 2048 바이트이상의메시지를받을수있어야함 ( 최소 480 바이트 ) 송신자는 IP 단편화를피할수있도록가급적최소 MTU 값이하로보내야함 패킷손실발생시로그를재전송할방법이없음 헤더 RFC 와달리실제환경에서는헤더에 PRI 만들어가는경우가대부분 PRI 는 <> 안에최대 3 자리숫자로표시되고 Facility 와 Severity 를표현함 PRI 값 = Facility x 8 + Severity Facility 값은 local0 ~ local7 (16~23) 을주로사용자정의하여사용 Severity 는 8 단계표시 (Emergency 0 부터 Debug 7 까지 ) 본문 정해진양식은없으며가급적 UTF-8 인코딩사용 ( 이때 BOM 마크필수 ) 스노트 Syslog 예시 <129>snort[24858]: [122:17:0] (portscan) UDP Portscan[Priority: 3]: {PROTO:255} 220.45.142.139 -> 10.10.0.10

로깅 SNMP Trap 용도 에이전트에서이벤트발생시매니저에게트랩메시지를전송하여통보 전송및포맷 UDP 162 번포트사용 ASN.1 로정의되며주로 BER 이나 DER 로데이터인코딩 ASN.1 은데이터구성을표현하는문법이고 트랩타입 일반유형 (Generic) 과사용자정의 (Specific) 로나누어짐 Cold Start(0), Warm Start(1), Link Down(2), Link Up(3), Authentication Failure(4), EGP Neighbor Loss(5), Enterprise Specific(6) Generic Trap 타입이 6 인경우 Specific Trap 타입을이용함

로깅 SNMP Trap v1 PDUs ::= CHOICE { get-request GetRequest-PDU, get-next-request GetNextRequest-PDU, get-response GetResponse-PDU, set-request SetRequest-PDU, IMPLICIT SEQUENCE { enterprise OBJECT IDENTIFIER, agent-addr NetworkAddress, generic-trap INTEGER { coldstart(0), warmstart(1), linkdown(2), linkup(3), authenticationfailure(4), egpneighborloss(5), enterprisespecific(6) }, trap Trap-PDU } } specific-trap INTEGER, time-stamp TimeTicks, variable-bindings VarBindList

로깅 SNMP Trap v1 패킷예제 30 29 02 01 00 04 06 6E 63 68 6F 76 79 A4 1C 06 07 2B 06 01 04 01 96 26 40 04 0A 00 01 7B 02 01 06 02 01 00 43 03 13 65 3C 30 00 BER Type-Length-Value 구조 30 29: 시퀀스타입, 길이 41 (0x29) 02 01 00: INT 타입, 길이 1, 값 1 04 06 6E 63 68 6F 76 79: OctetString 타입, 길이 6, 문자열 NCHOVY A4 1C: Trap-PDU 타입, 길이 28 (0x1C) 06 07 2B 06 01 04 01 96 26 1 OID 타입, 길이 7, 첫 2개숫자는 X * 40 + Y로인코딩 2 큰숫자표현시 MSB를 MORE DATA 싞호비트로사용 3 96, 26 => 10010110, 00100110 => 101100100110 4 즉,.1.3.6.1.4.1.2854 5 길이에서도큰숫자표현시동일한기법사용 40 04 0A 00 01 7B: NetworkAddress 타입 43 03 13 65 3C: TimeTicks 타입 (1/100 초단위 ) 30 00: 시퀀스타입 (Variable Bindings 부분 )