침입탐지
침입탐지
침입자
- 가장 대표적인 보안 위협은 악성코드, 침입자
- 일반적으로 해커 or 크래커
침입자 분류
위장된 사용자
- 외부 소행자
- 합법적 사용자 계정 이용하기 위해 시스템 침투
- 허가되지 않은 사용자
직권 남용자
- 내부 소행자
- 권한을 악용하는 합법적 사용자
비밀 사용자
- 외부 소행자 내부 소행자
- 감사와 접근제어를 회피 or 감사 수집 억제를 위해 감독 제어를 몰수하는 사용자
침입의 예
• 원격 루트 손상
• 웹서버 훼손
• 패스워드 추측/크랙킹
• 신용카드 번호를 포함하고 있는 데이터베이스 복사
• 허가 없이 민감한 데이터 엿 보는 행위
• 패킷 스니퍼(sniffer) 실행
• 불법복제 소프트웨어 배포
• 보안되지 않은 모뎀을 사용하여 내부 네트워크 접근하는 행위
• 정보 취득을 위한 위장
• 허가 없이 워크스테이션 사용을 사용하는 행위
해커
- 시스템 접근에 대한 기술 개발을 하는 고급 기술자
- 해킹 커뮤니티는 뛰어난 실력자 층
- 지위는 능력 수준에 따라 결정
- 침입자는 자원을 소비하여 합법적인 사용자의 시스템 성능을 저하
- 침입 탐지 시스템(IDS) & 침입 방지 시스템(IPS)은 해커의 위협을 감지
- 특정 IP주소 원격 로그온을 제한
- 가상 사설망(VPN) 사용 가능
- 침입자 문제는 컴퓨터 긴급 대응 팁(CERT)의 설립 선도
해커 행동 패턴
- NSLookup, Dig, 기타 등등 IP 룩업 도구를 사용하는 타겟 선정
- NMAP와 같은 툴을 이용하는 접근 가능한 서비스에 네트워크를 맵핑 시킴
- 잠재적으로 취약한 서비스 식별 (이 경우, PC애니웨어 이용)
- pcAnywhere의 패스워드를 추측(brute force)
- DameWare와 같은 원격 관리 도구 설치
- 관리자가 로그온 하여 패스워드를 캡쳐해냄
- 알아낸 관리자 패스워드로 나머지 네트워크 시스템에 접근
범죄조직
특징
- 현재 위협을 주는 해커들로 조직된 그룹
- 기업 / 정부 / 느슨하게 연계된 조직
- 일반적으로 어림
- 동유럽, 러시아 또는 동남 아시아 해커들이 많음
- 주로 언더그라운드 포럼에서 만남
- 보통 전자상거래 서버상의 신용카드 파일을 타겟으로 함
- 범죄 해커는 대체로 특정 타켓 가짐
- 사이트 침투 시 공격자는 빠르게 행동 취해 정보 탈취
대응
- IDS/IPS 사용 가능 but 효과적이지 못함
- 민감한 데이터는 암호화해야함
범죄 조직의 행동 패턴
- 빠르게 행동을 취하며 탐지하기 어려움
- 취약한 포트 주변 이요
- 재 진입용 백도어(트로이 목마(=숨겨진 소프트웨어)) 설치
- 패스워드 캡처를 위해 스니퍼 사용
- 발견될 때까지 머물지 않음
내부 범죄
- 탐지와 예방이 가장 어려움
- 접근 권한과 시스템에 대한 지식을 소유
- 보복을 목적 OR 권한에 의해 동기가 부여
- 고용기간이 만료 후 경쟁사로 이직 시 고객 정보를 빼감
- IDS/IPS는 유용 뿐만 아니라 필요
- 최소 권한 강화
- 로그 모니터링
- 강력 인증
- 터미네이션 처리
내부범죄의 행동패턴
- 내부 범죄를 위한 네트워크 계정 생성
- 일상작업에 사용하지 않는 어플이나 계정에 접근
- 퇴직 or 입사할 사원에게 이메일 전송
- 비밀리에 인스턴트 메시지를 주고 받음
- 불만을 품은 직원 겨냥한 웹사이트 방문
- 대량 다운로드 및 파일 복사 수행
- 근무 외 시간 동안 네트워크에 접근
침입 관련 논점(RFC2828)
보안 침입
- 하나의 보안 사건
- 다양한 보안 사건의 조합
- 침입자가 행하는 보안 침해 사고나 하가 권한 없이 시스템을 빼내거나 액세스하려는 시도
침입 탐지
- 허가되지 않은 방식으로 시스템 자원에의 접근시도를 발견
- 시스템을 실시간 모니터링 OR 분석하는 보안 서비스
침입탐지 시스템(IDS)
호스트 기반 IDS
- 호스트의 의심스러운 행위 특징 모니터링
네트워크 기반 IDS
- 네트워크 트래픽을 모니터링 & 의심 행위 식별
- 네트워크, 트랜스 포트, 어플리케이션, 프로트콜 등 분석
3가지 논리 구성요소
- 센서 = 데이터 수집
- 분석가 = 침입 유무에 대한 판정
- 유저 인터페이스 = 산출물이나 제어 시스템의 행위를 보여줌
IDS 원칙
- 침입자의 행위는 합법적 사용자의 행위와 다른 양상
- 행동의 중복이 문제를 발생시킴
- 가긍정적 판단
- 합법적 사용자를 침입자로 잘못 판단
- 가부정적 판단
- 침입자를 합법적 사용자로 잘못 판단

- 침입자를 합법적 사용자로 잘못 판단
- Probability Density Function(Y축)
- 행동의 발생 확률 분포
- 특정 행동이 얼마나 자주 발생하는지
- Measurable Behavior Parameter(X축)
- 행동을 측정 가능한 변수
- 예: 로그인 시도 횟수, 파일 접근 빈도, 네트워크 트래픽 양 등.
- 합법적 사용자 행동 영역
- 합법적 사용자의 평균 행동 분포
- 침입자 행동 영역
- 침입자의 평균 행동 분포
- 겹치는 영역
- 합법적 사용자와 침입자의 행동이 겹치는 부분
- IDS가 정상 사용자와 침입자를 구별하는게 어려움
IDS 요구사항
- 지속적인 동작
- 결함 포용능력
- 침입 시스템 자체의 견고함
- 시스템에 가해지는 부하의 최소화
- 보안정책에 따른 환경설정
- 시스템과 사용자의 변화에 대한 적응
- 많은 수의 시스템 모니터링을 위한 크기 변경
- 최소한의 서비스 저하
- 동적 재설정 허가
호스트 기반 IDS
- 취약 or 민감 SW에 보안SW 전문 계층 추가
- 의심스러운 행위를 탐지 위해 활동 모니터링
- 침입 탐지
- 의심 이벤트 기록
- 경고 전송
- 외부침입, 내부 침입 모두 탐지 가능
침입 탐지에 대한 호스트 기반 IDS 접근
이상탐지
스레스홀드 탐지
- 일정 시간 동안 특정 종류의 이벤트 발생 숫자를 계산
프로파일 기반
- 각 사용자의 활동에 대한 프로파일 생성
- 프로파일로 행위 변화를 탐지
시그니처 탐지
- 침입자인지 판별하기 위해 규칙 or 공격 패턴 정의
감사 기록(Audit Records)
네이티브 감사 기록
- 다중사용자 운영체제는 사용자 활동에 대한 정보를 수집하는 어카운팅 소프트웨어를 가짐
장점
- 추가적인 수집 소프트웨어가 필요하지 않음
단점
- 필요한 정보가 포함X 가능
- 복잡한 형식으로 기록될 수 있음
탐지 - 특정 감사 기록
- IDS에 의해 요구된 정보만을 포함하는 레코드를 발생시키는 수집 시설
장점
- 기업이 독립적으로 제작 가능
- 다양한 시스템에 이식할 수 있음
단점
- 컴퓨터 상에서 실제 실행 중이거나 문제가 있는 어카운팅 패키지와 연관된 추가 오버헤드가 단점

시그니처 탐지
규칙 기반 이상탐지
- 사용 패턴 식별을 위해 수집된 감사 기록이 분석됨
- 패턴을 기술하는 규칙 생성
- 현재 행위 & 규칙 매칭
- 시스템 내부 보안 취약점 관련 지식을 요구X
- 규칙에 대한 대형 DB 필요
규칙 기반 침투 식별
- 취약점 이용한 침투를 식별하는 규칙 사용
- 규칙은 의심 행위 식별하는 것 정의
- 일반적으로 규칙은 컴퓨터 & OS 구체화
분산 호스트 기반 IDS?

네트워크 기반 IDS(NIDS)
- 네트워크 특정 지점 트래픽 모니터링
- 실시간 패킷 분석
- 네트워크, 트랜스포트, 응용 레벨 프로토콜 행위 검사
- 많은 센서, 관리기능 인터페이스, 서버, 관리자 콘솔로 구성
- 센서, 관리서버 또는 조합으로 트래픽 패턴 분석
NIDS 센서 배치

인라인 센서
- 네트워크 세그먼트에 삽입
- 센서를 직접 통과하는 트랙픽만 감지
수동 센서
- 네트워크 트래픽 사본 감시
- 트래픽 복제하여 감시
NIDS Deployment Scenarios

1번 위치(외부 방화벽 안쪽)
- 가장 흔한 위치
- 외부 방화벽을 뚫고 오는 외부 공격 탐지
- 내부의 감염된 서버로부터 외부로 나가는 트래픽 감지
2번 위치(외부방화벽과 인터넷 사이)
- 외부(인터넷)으로부터 대상 네트워크에 대한 공격 횟수, 종류 파악
- 트래픽 처리 부담 상승
3번 위치(내부 네트워크 주변부)
- 많은 네트워크 트래픽 감시 => 공격 탐지 확률 상승
- 경계 내부의 허용되지 않는 행동 탐지
4번 위치(워크스테이션 주변부, 중요 자산)
- 중요 자산 집중
침입 탐지 기법
시그니처 탐지
- 응용 계층, 트랜스포트 계층, 네트워크 계층
- 예기치 못한 응용프로그램 서비스, 정책 위반
이상 탐지
- 서비스 거부 공격
- 스캐닝
- 웜
센서가 잠재적 위협 탐지 => 경고 전송 및 관련 정보 로깅
위 정보 이용
- 분석모듈은 침입탐지 파라미터와 알고리즘을 조정을 위해
- 보안 관리자는 예방기법 설계를 위해
허니팟(Honeypot)
- 의도된 유인 시스템
- 중요 시스템에서 멀이지도록 잠재 공격자를 유인함
- 공격자의 활동 정보 수집
- 관리자가 공격자에게 대응할 수 있도록 오래 머물게함 => 시간벌기
- 합법적 사용자가 접근하지 않는 정보들로 구성
- 생산 가치가 없는 자원
- 시스템과 통신 시도의 대부분은 프로브, 스캐닝, 공격
- 외부 통신이 시스템이 문제가 있을 거라고 제기
- 해커가 네트워크 진입 => 관리자는 방어하기 위해 해커의 행위 관찰
허니팟 배치

1번 위치(외부 방화벽 밖)
- 내부 네트워크 위험 증가
- 내부 시스템 부화 최소화
- 내부 공격자 확인 불가
2번 위치(DMZ)
- 외부접근이 가능한 내부 네트워크(웹서버, 메일서버 등)
- DMZ 내 다른 시스템에 대한 보안성 향상 필요
- 방화벽의 기능을 일부 해제해야 하므로 위험성 증가
3번 위치(내부 네트워크)
- 내부 공격 탐지 가능
- 방화벽의 실수 탐지 가능
- 잠재적 위험성 증가
스노트(SNORT)
- 실시간 패킷 캡쳐 및 규칙 분석
- 노드 상에 쉽게 배침
- 메모리 및 프로세서 시간의 사용량이 적음
- 설정이 용이

스노트 규칙
- 간단하고 유연성 있는 규칙 정의 언어 사용
- 각 규칙은 고정된 헤더와 많은 옵션들로 구성
| Action | Description |
|---|---|
| Alert | 지정된 경고 방법으로 경고를 생성한 후 패킷을 기록한다. |
| Log | 패킷을 기록한다. |
| Pass | 패킷을 무시한다. |
| Activate | 경고한 후 또 다른 동적 규칙을 활성화시킨다. |
| Dynamic | 활성화된 규칙에 의해 활성화될 때까지 비활성화되어 있다가 활성화가 되면 기록 규칙으로 작동한다. |
| Drop | iptables이 패킷을 버리고 패킷을 기록하도록 한다. |
| Reject | iptables이 패킷을 버리고 기록한 후 TCP의 경우 TCP reset을 보내고 UDP의 경우 ICMP port unreachable 메시지를 보낸다. |
| Sdrop | iptables이 패킷을 버리고 기록은 하지 않는다. |
스노트 규칙 옵션의 예제
Meta-data
| 항목 | 설명 |
|---|---|
| msg | 패킷이 이벤트를 발생시킬 때 보낼 메시지를 정의한다. |
| reference | 추가적 정보를 얻기 위해 연결할 외부 공격 지시서를 정의한다. |
| classtype | 패킷이 시도하고 있는 공격의 종류를 표시한다. |
Payload
| 항목 | 설명 |
|---|---|
| content | Snort가 패킷의 payload에서 특정 내용(텍스트나 바이너리)을 case-sensitive하게 검색할 수 있도록 한다. |
| depth | 패킷 내 읽는 길이의 끝까지 Snort가 특정 패턴을 검색하게 하는 제한을 지정한다. depth 값 없이 사용 시 content를 전체 검색한다. |
| offset | 패킷의 어느 지점부터 검색을 하도록 하는 지를 지정한다. offset은 시작 위치를 설정한다. |
| nocase | Snort가 패턴을 검색할 때 case를 무시한다. nocase 옵션을 넣으면 content 키워드에서 대소문자를 구분하지 않는다. |
Non-payload
| 항목 | 설명 |
|---|---|
| ttl | IP time-to-live 값을 검사한다. 이 옵션은 traceroute 시도를 감지하거나 추적하기 위해 사용된다. |
| id | IP ID 필드를 검색하여 특정 패턴(exploits, scanners 등)을 탐지한다. 일반적으로 연속 IP ID 값 대신, 특이성을 가진 값을 탐지한다. |
| dsize | 패킷 payload 크기를 테스트한다. 이는 비정상적인 패킷 사이즈를 감지할 때 사용되며, 데이터가 너무 크거나 작을 때 유용하다. |
| flags | TCP 플래그 필드를 검사한다. |
| seq | 특정 TCP header 일련번호를 찾는다. |
| icmp-id | 특정 ICMP ID 값을 찾는다. 예를 들어, DDoS 공격을 탐지하기 위해 사용 가능하다. |
Post-detection
| 항목 | 설명 |
|---|---|
| logto | 규칙에서 패킷을 특정 파일 이름으로 기록한다. |
| session | TCP 세션으로부터 패킷 데이터를 기록한다. pcap 세션에서 이와 같은 내용을 활용하여 분석한다. |
Dataset Augmentation Techniques
- SMOTE (Synthetic Minority Oversampling Technique)
- Addressed data imbalance effectively.
- Generated synthetic samples for underrepresented classes.
- Mosaic Augmentation
- Improved detection accuracy.
- Increased diversity and complexity of training samples.
Probability Density Function Visualization
- Kernel Density Estimation (KDE)
- Visualized the distribution of data points.
- Provided insights into density patterns within the dataset.
- Facilitated a better understanding of class distributions and overlaps.
Metric Calculation and Visualization
- Performance Metrics Computation
- Calculated key metrics: F1-score, recall, and precision.
- Analyzed model performance across different classes.
- Identified areas for improvement.
- Graphical Representations
- Highlighted imbalanced class performance trends.
- Provided clear comparisons of metrics.
Result Visualization
- Bounding Box Visualization
- Highlighted identified skin conditions.
- Showcased the model’s ability to detect and localize various types of acne.
- Offered an intuitive overview of detection performance.
Data Reconstruction
- Class-Level Dataset Reconstruction
- Mitigated overfitting.
- Ensured a balanced representation during training.
- Significantly improved model accuracy across diverse test cases.