침입탐지시스템

Download Report

Transcript 침입탐지시스템

2004 정보보호 전문가 과정
침입탐지시스템 (IDS)
2004. summer
충북대학교 조은선
Table of Contents
• 침입과 공격
• 침입과 공격에 대한 대응
– 대응 방식 분류
• 관련 자료들
침입과 공격
Intrusion
• 침입 (intrusion)
– 좁은 의미 : crack, 남의 시스템을 뚫고 들어옴
– 목적과 연관 지어 : Attack의 (매우 중요한) 부분
• 침입자 (intruders)
– 이런 사람들 (by Anderson[ANDE80] ) :
Masquerader(합법적인 사용자를 가장),
Misfeasor(합법적인 사용자가 권한 남용),
Clandestine user (super user의 권한을 취득하여
auditing, access control 같은 기능을 자기 맘대로) ...
침입 시나리오
• 목표 시스템 선정 및 루트 권한 획득
– 네트워크 스캐너 등으로 운영중인 호스트,
열린 포트, 서비스 검색
• 취약성 활용
– 패스워드 공격 등으로 일반 사용자로 침입
• 취약성 활용
• 관련 로그 삭제, 백도어 설치
공격
• 침입 후 공격
• blind DOS (Denial of Service)
• 대응책
– 패치 이용 취약점 보완
– 취약점 자가 진단
…
Intrusion vs. Attack
전통적인 Attack 절차
1. 정보 수집 단계 :
• 서버 취약점 스캔
• 시스템, 서비스, OS탐지, 네트워크 토폴로지, 필터링 규
칙, 네트워크 서버 정보 탐지
2. 시스템 침입 단계
• statd, POP, Imap.. 등의 소프트웨어의 원격 버퍼오버플
로우 취약점 이용하거나
• 패스워드 파일 획득 후 crack으로 해독
• 각종 도구 나와 있음
Intrusion vs. Attack
전통적인 Attack 절차 (cont’)
3. 공격 전이 단계
• 침입 흔적 제거
• 일반 계정 침입이라면 root 권한 획득
– 시스템 취약점 이용
• 백도어등 설치 (rootkit, 백오리피스)
4. 공격
• 직접 공격 : (password) sniffing 등
• 다단계 공격의 경유지로 이용
– 역추적 피하기
• 차후의 공격에 활용
Intrusion의 예 : DDOS (Distributed
Denial of Service) Attack
복잡 ? - tool 존재
예: DDOS - Stacheldraht
1. 정보 수집 단계(Scan) 2. 시스템 침입 단계(취약성)
3. 공격 전이 단계
–
–
master에 심어지는 handler - mserve.c
agent에 심어지는 daemon – td.c
1. 주기적으로 ICMP 패킷을 교환, 서로의 존재 확인
ID: 666 data: “skillz”
agent → master
ID: 667 data: “ficken”
agent ← master
2. address forging이 가능한지 test
(가짜 IP 쓴 패킷이 master로 나갈 수 있는지 확인)
ID: 666 data: 가짜 source IP agent → master
ID: 1000 data: “spoofworks” agent ← master
4. 공격 단계 : master가 attacker에 의한 지령 받으면
agent에게 공격 명령
침입과 공격에 대한 대응
Intrusion에 대한 대응
• Protection : 미리 막기
• Detection : 발생되면 알아채기
• Response : 알아챘다. 그러면?
Note: Attack의 두번째 단계 뿐아니라 attack 전체
에 대한 대응의 의미임
Intrusion – protection
예) Password cracking
• Password Cracking
– attack을 위해 침입하는 단계에서 password에 대해
시도되는 것들
• 시스템에 기본 설정된 패스워드, 짧은 길이 로 한정 시켜 무
제한 생성, 사전과 비교, 사용자(관리자) 이름, 전화번호, 주
민번호, 자동차 번호 ..
• 첫 문자를 대문자나 제어문자로, 전체 단어를 대문자, 단어
뒤집어보기, 문자 “O”을 숫자 “0”으로..
– 실험 결과 : 이 방법으로 전체 password의 대략
25%는 알 수 있음 [KLEI90]
• 기본적인 Protection 방법 : 1. access control
– password file은 root 권한으로만 접근 가능
 공격자 : Trojan horse 써서 피함
Intrusion-Protection
예) Password Cracking (cont’)
2. One-way encryption
– password file은 encrypt 된 형태로 보관
– DES에 근거한 crypt 알고리즘
• 7bit ASCII 8글자 password (56bit) + salt
(11bit)  64 bit (등등..)
(salt : 사용자가 기억 더 하지 않아도 password 길이 늘어남,
같은 password의 두 사용자도 내부적으로 다른 password
가능)
– login 시 verify도 encrypt 해서
Intrusion-Protection
예) Password Cracking (cont’)
3. 좋은 password 고르기
– 컴퓨터가 만들어 줌
– 주기적으로 password cracker를 돌려 사용자에게
알려줌
– 입력 시 검사
• 모든 패스워드는 적어도 8개의 문자 길이, 첫 8 문자에서
적어도 하나씩의 대문자, 소문자, 숫자, 구두점 포함 규칙
을 강요
• 나쁜 password 사전 만들어 없는 것만 허용
– 사전 크기가 좀 큼 - 30MB[APAF92a], 시간도 많이 걸림
• 사전 대신 단어 생성 규칙만 유지
– Markov 모델 등 사용
Intrusion-Detection
• 대응 기법들 중 가장 많이 발달
• 적절한 (신속한) 탐지 - 손해 최소화, 복구 빠르게
– response나 protection과 연계도 가능
• 무엇을 보고 ? --- audit record (audit trail)
– 다음 항목들이 요긴 [Denn87]
• subject (누가) : 사용자, 프로세스, 사용자 그룹,..
• action (무슨 행동) : r, w, x, “로그인 했다”, ...
• object (무엇에 대해) : 대상 화일, 프린터, 구조체...(type 별로
분류)
• exception condition : if 발생했다면 무슨 조건이었나
• resource usage : 얼마나 쓰나
• time stamp
– 실시간 처리 요망
Intrusion-Detection
System Audit Record 예
예) copy GAME.EXE <Library>GAME.EXE
(by Smith)
Intrusion-Detection
Network Audit Record 예
예) <src IP,dest IP, src port, dest port, protocol,
time session initiated, session initiation direction,
success/failure of session>
<in, in, 4050, 80, TCP, 07:36:04, inbound, sucess>
... suspicious! inin and inbound
(inbound = Internet  intranet)
Intrusion-Detection
Network Audit Record 예 (Cont’)
예) native audit record
Fa8/0 1.112.130 PO1/0/0 193.209.112.233 11 0402 0089 1
Fa8/0 1.112.130 PO1/0/0 193.209.112.232 11 0402 0089 1
Fa8/0 1.112.130 Hs4/0
193.209.112.235 11 0402 0089 1
Fa8/0 1.112.130 PO1/0/0 193.209.112.234 11 0402 0089 1
Fa8/0 1.112.130 Hs4/0
193.209.112.237 11 0402 0089 1
Fa8/0 1.112.130 Hs4/0
193.209.112.236 11 0402 0089 1
...
... 1.112.130에서 193.209.112.x를 scanning하는 것이 역력
Intrusion Detection에
사용되는 Measure
• Login
–
–
–
–
Login frequency by day and time
Frequency of login at different locations
Time since last login
…
• Command or program execution activity
– Execution frequency
– Program resource utilization
– …
• File Access
– Read, write, create, delete frequency
– Failure count for read, write, create, delete
– …
Intrusion-Detection 의 종류
• 판단 근거 중심
– network intrusion detection (NIDS)
– system(host) intrusion detection (HIDS)
• 판단 자료 중심
– statistical detection
– rule-based detection
• 판단 관점 중심
– misuse detection
– anomaly detection
• Architecture
– single-system detection
– distributed detection
IDS 구성도
Internet
IDS Server
& Management Console
Attack Web Server
Attack
내부망
Firewall
Firewall
Host based IDS
Attack
Attack
Attack
Network based IDS
Multi-host based IDS
Statistical Intrusion Detection
• 일정 기간, 주기적으로 통계 자료를 구해 임계치를 넘
으면 비정상
eg) 이틀동안 100회 이상 동일 IP에서 접근 실패
하는 일이 최근 부쩍 늘어남
• 주요 통계 항목
– counter : 증가만 하는 정수
• 예: 주어진 시간 동안 일어나는 특정type의 event의 횟
수
– Gauge : 증감하는 정수
• 예: 특정 사용자 application에 할당되는 connection 수
– Interval timer : 두 event 간의 시간 간격
• 예: login 간격
– Resource utilization : resource 소모량
• 예: program 전체 수행 시간
Statistical Intrusion Detection
• 기본적인 통계치 추출
– mean, standard variation
– multivariate : 둘 이상 항목(변수)의 correlation
– time series 분석 : time interval에 변화 촛점, 각
종 통계적 기법 적용
• 응용 되는 기법
– markov process : 확률 구하기
• 예) operation sequence에 대하여 :
– read 하고 socket open하면 attack일 확률 = 0.6
– machine learning, data mining, digital immune
system, genetic algorithm ...
Rule based Intrusion Detection
• 정상/비정상 행위를 판단할 ‘규칙’을 설정
eg) 다른 user의 directory를 읽으면 의심,
외부에서 telnet으로 들어오면서 IP가 내부
것이면 침입, 시스템 프로그램 copy 만드는
것도 의심, 평소에 하던 패턴대로 안하면 의심
Anomaly Detection vs.
Misuse Detection
• Anomaly detection
– 정상 사용자의 행위 패턴을 기준으로하여 벗어나
는 경우 침입으로 간주
– 사용자 (그룹) 마다의 profile을 기반으로 함
– 과거의 audit data 를 토대로 앞으로를 예측
• Learning data set 필요
• Misuse detection
– 침입 행위에 대한 패턴이나 기준을 만들어 맞으면
침입으로 간주
– 이 방면의 Expert가 기준 결정
Distributed Detection
• 분산 공격 : LAN을 거쳐 침투, DDOS …
 분산 detection
• Issues
• 서로 다른 audit record format 함께 다루기
- 표준안으로 해결 도모
• 분산 detection을 위한 자료 이동은 Secure 해야
– confidentiality, integrity
• Centralized vs. decentralized
- Bottleneck vs. coordinate o/h
예: IDEF, Emerald, GRIds, AAIFD, …
Distributed Detection (cont’)
Architecture 1 – Multi level
• Host agent :
– 각 host의 o/s에서 수행
– Single-system stand alone detection과 마찬가
지의 자료 수집
– 자체 판단 가능한 것에 대해 판단
– 자료 가공 - central manager에게 전송
• LAN monitor
– Host agent와 비슷, LAN traffic 만 집중 router
에 장착하기도
• Central manager
– Host agent, LAN monitor로 부터 수집된 데이터
를 분석
Distributed Detection (cont’)
Architecture 1 – Multi level
• 특징
– 역할 분담 :
• 단편적인 event를 기반으로하는 단순한 판단은
agent나 monitor에서
• 통계 처리등 시간을 요하는 것은 central
manger에게 전송하여 수행
– Enterprise 환경에 적합
• 예) U.C. Davis의, GrIDS(DIDS), SRI
International의Emerald (NIDES)
Distributed Detection (cont’)
Architecture 2 – Autonomous
• Domain 단위로 구성
– 각 domain은
• 여러 host 를 가짐
– 각 host들에 agent들이 적절히 분포
• Transceiver, Monitor, Filter
– Detection과 상호 communication을 위해
• 통신
– Intra Domain : host > Transceiver 간의 통신
– Intra Domain :
• Domain 간에는 automonous 하게 통신
• 예) Purdue 대 AAFID
AAFID architecture
IDS 시장 동향
• 상용 제품
– 20여 개의 국내 개발 제품
• 네트워크 기반이 압도적 다수
• 고속화 추구
• 타 보안시스템과 연동
– 10여 개의 해외 제품
• 시장 규모
– 해외(IDC 자료)
Revenue ($ millions)
1999
2000
2001
2002
2003
2004
Intrusion Detection
115.7
234.2
350.8
443.5
519.1
570.1
– 국내(KISIA)
Revenue(\ 백만)
2000
2001
2002
2003
2004
2005
Intrusion Detection
19,30
0
38,66
2
49,54 62,93
9
7
79,00
0
97,57
4
Intrusion Response
• 공격자의 기법 분석 (후 차후의 대응)
• Policy 변경
– 정상/침입 판단 기준 변경
• 역추적
– 침입한 경로에 있는 IP들을 거꾸로 추적
– How? 경로상 IP들의 hash 값을 패킷에 축적
• 법적 대응
Note : Honey pot
– 취약성이 내포된 시스템을 일부러 방치
• 실제로 사용되는 시스템은 아니나 비슷하게 만듬
• 침입자가 침입하도록 유도하는 것이 목적
– 침입에 관한 각종 자료 수집을 원할하게
– 기타 대응도 가능
통합 보안 솔루션
• ‘Information Survivability’ :
– 1996년 DARPA/ITO(Defense Advanced Research
Projects Agency/Information Technology Office) : 대규
모 시스템의 생존력에 대한 연구
• ESM (Enterprise Security Management) :
– 칩입차단시스템(방화벽), 침입탐지시스템(IDS), 가상사설망
(VPN), 안티바이러스 등 다양한
종류의 보안 솔루션을 하나로 통합해 관리할 수 있는 솔루
션
eg. IBM의 Tivoli Risk Manager,
cf. Enterprise Storage Manager
관련 기관
• IETF(Internet Engineering Task Force)
– Open 된 community로 표준화 논의 진행
• 한국 정보보호 진흥원(KISA)
– 각종 자료
• 인터넷 보안기술 포럼 (ISTF)
– 각종 국내 표준
• 침해사고 대응체계
– 국내 www.certcc.or.kr (www.krcert.or.kr)
– 미국 www.cert.org
IETF(Internet Engineering Task
Force)의 IDS 관련 표준들
• IETF - Working group - security area – idwg (Intrusion
Detection Exchange Format)
• ‘IDMEF(Intrusion Detection Message Exchange Format)’
– 각 IDS마다 제공하는 데이터의 포맷이 다른 문제 해결
– DARPA와 공동 표준
– Alert의 종류 (Classification)와 보낸 이에 관한 정보 (Analyzer)
등 명시해야
– XML 형태
• The Intrusion Detection Exchange Protocol(IDXP) :
– intrusion detection entity 들 간에 IDMEF 메시지, binary data,
text 데이터를 전송하는 protocol
– connection oriented authentication, integrity, confidentiality
등 지원