진박사의 일상

[컴보] 8장 IDS 본문

프로그래밍/공부

[컴보] 8장 IDS

진박사. 2021. 11. 3. 20:40

Intruders (haker or cracker)

- 종류 : masquerader(외부 사용자, 정상 사용자 계정으로 속여서 접속), misfeasor(내부 사용자, 자신의 권한 밖 정보를 악용함), clandestin user(내/외부 사용자, auditing을 피해 관리자 컨트롤을 취득)

 

Intrusion 종류

- root compromise, web server defacement, cracking, copying db, view sensitive data(권한x), packet sniffing, priated sw, using unsecured modem, imperssonating, unattended workstation

 

Hackers

- 공격 성공의 스릴에 의해 동기부여 - 해킹 커뮤니티는 실력 있을수록 인정받음

- benign intruders(상냥한 침입자 - 화이트해커) : 취약점을 찾기

- IDS(Intrusion Detection Systems) & IPS(Intrusion Preention Systems) - VPN과 함께 사용 가능, 의심스러운 IP 감지/예방

- 침입자, 공격 정보 공유를 위해 CERT(Computer Emergency Response Teams) 운영

 

해커 행동 패턴

(1) NSLookup, Dig와 같은 IP Lookup tools으로 타겟 선정 -> (2) NMAP과 같은 도구로 접근 가능한(포트가 열린) 서비스 탐색 -> (3) 서비스의 취약점을 식별 -> (4) PW에 대한 brute force attack -> (5) 내부에 remote administration tool 설치 -> (6) 관리자 로그온을 통해 PW 취득 -> (7) 그 PW로 나머지 네트워크 접속

 

Criminals(범죄)

- Organized group of hackers : coporation, 정부, gang, 주로 젊은, 동유럽 러디아 남아시아 해커, underground forum, 금전적 목적 -> 특정 타겟 공격

범죄 조직 행동 패턴 - 신속하고 정확하게 필요한 공격만 -> 외부 노출된 port의 parameter 악용 - 트로이목마나 백도어 설치 - pw 스니핑 - 목적 달성 후 흔적 없애고 빠져나감

 

APT(Advanced Persistent Threats) 공격

- 무작위가 아닌 특정 사용자에 대해 조사하여 공격하는 방법. 

- 특정 타겟을 설정했기에 해당 시스템의 보안 제품에 대한 대응도 해둠 -> 67%의 회사 공격 당하고 평균 243일은 탐지하지 못함.( 안티 바이러스 최신 업데이트를 하고 있음에도)

 

Targeted Threat : Lifecycle Technique

Initial Recon(정탐) -> Initial Compromise(초기 침입) -> Establish Foothold(backdoor 설치) -> Escalate Privilleges(상위 권한 취득) -> Internal Recon(내부 정탐 - 내부망 감염) -> Complete Mission

-> 이 위험 연쇄의 이른 단계에서 위협을 탐지하고 대응해야 함

 

Insisder Attacks

- 내부 시스템을 이미 잘 알고 있는 내부자나 퇴직자에 의한 공격이라 탐지나 예방이 어려움.

- 퇴직자 계정 삭제필요. IDS나 IPS보다 내부 정책(최소한의 권한만 부여, 로그 모니터링 등) 이 중요.

- 행동 패턴 : 본인들을 위한 계정 생성 -> 본인의 업무와 관련 없는 프로그램이나 계정에 접근 -> 퇴직자나 전임자에게 이메일 전송 -> 비밀 채팅 -> 회사 불만 표출 사이트 -> 많은 다운로드나 파일 복사 -> 접근 시간 이외에 접근

 

RFC 2828에 의한 정의

IDS

- Host-based IDS : 개인 방화벽

- Network-based IDS : 의심스러운 네트워크 패킷 모니터링

- 구성요소 : sensors(data 수집), analyzers(침입이 일어났는지 분석). user interface(사용자 UI)

- IDS 원칙 : 침입자는 정상 사용자와는 다르게 행동할 것

FP - 정상을 비정상으로 탐지 / FN : 비정상을 정상으로 탐지

-> 둘다 1%라고 하면 정상 : 100만, 비정상 : 1000일 때 -> 정상을 10000개, 비정상을 990개 탐지하는 것. 즉 10990개 중 990개만 맞추는 것임 -> 좋은 성능이라고 볼 수 없음.

 

IDS 요구사항

- 계속 동작되어야 함, fault에 tolerant해야 함, resist sebversion(버전 문제 해결할 수 있어야), 시스템 오버헤드가 최소화되어야 함, security policy를 따라야 함, 시스템이나 사용자 변경에 적응해야 함, 많은 규모의 시스템을 모니터링 할 수있어야 함, graceful degradation 방지, dynamic reconfiguration 허용

 

Host-Based IDS

- Host를 모니터링해 수상한 행동을 탐지 - 침입자 탐지, 수상한 이벤트 로그, 경고 출력, 내외부 침입을 모두 대응

- Anomaly Detection(threshold detection(특수한 이벤트 일정 시간 내 최대 횟수를 정해두고 넘어가는 것을 감지), profile based(정상 사용자 profile에서 벗어나면 탐지) <- FP이 높음 / 그러나 Unknown 대응 잘함.

- Signature Detection(Attack Pattern을 정의해두고 이 pattern을 감지) <- Known Attack(알려진 공격)에 잘 대응할 수 있음(FP가 낮음) / Unknown은 잘 대응못함

 

 


IDS - 2

 

Audit Records : 일종의 log

- native audit records : OS 자체에서 제공하는 log 기록 이용. 장점 : 추가적인 SW가 필요 x, 단점 : 꼭 필요한 정보가 없거나 필요하지 않은 정보가 포함되어 있을 수 있음.

- detection-specific audit records : Host-based IDS에서 침입 탐지에 필요한 log를 생성하는 방법. 장점 : vendor 독립적으로 다양항 시스템에 적용 가능, 단점 : 추가적인 SW를 실행해야 하므로 추가 오버헤드가 발생.

 

Intrusion Detection에 사용될 수 있는 측정치

- Login & Session Activity : 시간에 따른 로그인 빈도, 장소에 따른 로그인 빈도, 마지막 로그인 이후의 경과 시간 등

- Command or Program Execution Activity : 실행 빈도, 프로그램 자원 활용, 실행 거절 등

- File Access Activity : 읽기, 쓰기, 생성, 삭제 빈도, 실패 횟수 등

 

Signature Detection

- rule-based anomaly detection : 이상 사용 패턴을 rule로 정의해서 그 룰을 기반으로 침입 탐지.

(※Anomaly Detection과의 차이는 Anomaly Detection은 정상 패턴을 정해두고 거기서 벗어나는 것을 탐지한다면 rule-based anomaly detection은 Anomaly에 대한 패턴을 정해두고 해당되는 것을 탐지)

- rule-based penetration identificaiton : 알려진 공격의 key feature를 찾아서 탐지.

 

Distributed Host-based IDS

분산 IDS의 구조

Host의 Agent model에서 모니터링하고 이를 Central Manger에 보내 공격정보 수집

(1) OS audit Information을 Filtering해서 Host Audit Record를 만듦 -> (2) Logic에 대입해서 Tmeplates에 매칭하여 해당되는 Event를 발생시키고 Alert을 발생 -> (3) Central Manager에서 공격인지 판단하고 query나 response를 Agent에 줘서 Rule을 업데이트(Modification)

 

Network-Based IDS(NIDS)

- Network의 선택된 지점에서의 traffic을 모니터링

- real time 또는 거의 real time으로 트래픽 패킷을 검사

- network, transport or application-level까지 모니터링 -> application까지 감시하려면 속도가 느려짐

- 많은 Sensors + Servers -> management console이 Event 종합해서 판단 

- sensor에서 발생된 traffic patterns를 분석 -> management server에서 판단

 

NIDS Sensor Deployment

- Inline Sensor : NIDS sensor에 모든 트래픽이 거치도록 <- 속도가 빨라야만 가능

- Passive Sensor : network traffic을 copy해서 모니터링

(1) 서비스 네트워크에서 외부 방화벽으로 들어오는 구간

(2) 외부 인터넷에서 외부 방화벽으로 들어오는 구간

(3) 내부 서버와 데이터 자원 네트워크에서 내부 방화벽으로 들어오는 구간

(4) 내부 사용자 워크스테이션에서 내부 방화벽으로 들어오는 구간

을 센서로 모니터링한다.

 

IDS는 이벤트 발생시 경고나 로그정보만 보낼 뿐 대응을 하지 않음 -> 관리자가 경고나 로그를 보고 직접 대응해야 함. -> FP가 적어져야 대응이 빠르게 될 수 있음.

 

여러 센서에서 발생된 이벤트를 수집해서 공격이 발생했는지 판단하고 이를 기반으로 정책을 업데이트함

-> 만약 각 장비들이 서로 달라서 호환성이 맞지 않는다면?

 

IDXP(Intrusion Detection eXchange Protocol)

- 센서와 분석기 사이의 데이터 전송

- 이벤트 포맷을 동일하게 -> IDMEF(Intrusion Detection Message Exchange Format)으로 통일해서 보냄

Honeypot

- 아직 알려지지 않은 공격에 대응하기 위해 decoy system(가짜 시스템)을 만들어 공격자를 유도

- fabricated information(가짜 정보)가 저장된 시스템에 접속시켜 패킷이나 로그를 보고 공격 패턴이나 웜 등을 파악

Honypot 설치 위치

honeypot은 (1)외부 방화벽 앞, (2) DMZ 서버 내부 (3) 내부 네트워크 안쪽 등에 설치

- shadowserver 프로젝트에서 Drone Maps에 Honeypot을 활용해 트래픽을 모니터링해 CNC 서버 같은 것을 찾고 있음

 

SNORT

- lightweight IDS : 실시간 패킷 캡처 & 룰 분석, 노드에 쉽게 전개 가능, 메모리 프로세스 타임은 적게 사용, 쉽게 구성, 오픈소스

- SNORT Rules : alert(이벤트 발생), log(패킷 로깅), ignore(패킷 무시), drop, reject -> IDS와 달리 대응까지 하는 rule을 만들 수 있음

- example : alert tcp any any -> 192.168.1.0/24 111 (content:"|00 01 86 a5|"; msg:"mounted access";) <- 내부에서 192.168.1.0의 111 포트로 나가는 패킷 중 |00 01 86 a5|를 가지고 있다면 mounted access 메세지를 출력

- SNORT rule 옵션

 

'프로그래밍 > 공부' 카테고리의 다른 글

[컴보] 10장 - Buffer Overflow  (0) 2021.11.15
[데베시] 8장 - SQL  (0) 2021.11.04
[컴보] 7장 DoS  (0) 2021.11.01
[데베시] 7강 - Relational Algebra  (0) 2021.10.25
[데베시] 6강  (0) 2021.10.18