가장 대표적인 보안 위협의 두 가지는 악성코드와 침입자
일반적으로 해커 또는 크래커를 일컬음
1.위장된 사용자
-보통 외부인:
합법적인 일반 사용자의 계정을 악용하기 위해 시스템에 침투하는 허가되지 않은 개인(침입의 92%)
2.직권 남용자
-보통 내부인:
권한을 남용하는 합법적인 일반 사용자(침입의 14%)
3.비밀 사용자
-내부인 혹은 외부인:
감사와 접근제어를 회피하거나 감사자료 수집을 방해하기 위해 시스템의 관리 권한을 획득한 개인
침입자 분류-사이버 범죄자
침입자 분류-활동가
기술 수준은 낮은편
이들의 공격 목적은 아래 공격 대상에 대한 부정적인 활동을 통해 자신들의 대의를 일반인에게 알리고 홍보하는것임
웹사이트 변조
서비스 거부(Dos)공격
절도한 데이터의 배포를 통해 공격 대상의 부정적인 이미지를 확산시키거나 공격 대상 시스템에 위해를 가함
침입자 분류 -국가 후원 기관
스파이나 파괴 활동을 수행하기 위해 정부가 후원하는 해커 그룹
이 분류에 속하는 기관의 공격들은 그 은밀성과 지속성으로 인해 지능형 지속 위협으로 알려져있음
침입자 기술 수준-견습생
기존의 해킹 도구를 주로 사용하는 기술 수준이 아주 낮은 해커
범죄 조직 혹은 활동가 해커들을 포함해 공격자의 대부분은 견습생 수준임
기존의 잘 알려진 해킹 도구를 사용하기 때문에 이들의 공격은 방어하기 쉬움
scripts-kiddies로도 알려져있는데 그 이유는기존의 스크립트(도구)들을 사용하기 때문
침입자 기술 수준-숙련공
충분한 기술을 갖춰 견습생 수준을 벗어난 해커
- 새로 발견하거나 구입한 취약점을 활용하기 위해 해킹 도구를 변경하거나 확장할 수 있는 기술력을 보유
이미 알려진 취약점과 유사한 새로운 취약점을 찾아 활용할 수 있는 능력이 있음
이 수준의 기술을 갖춘 해커들은 앞에서 언급한 모든
침입자 클래스에서 찾아 볼 수 있음
• 해킹 도구의 변경으로 이러한 유형의 공격을 식별하고
방어하기가 매우 어려움
침입자 기술 수준 -거장
새로운 범주의 취약점을 발견할 수 있을 정도로 고도의 해킹 기술을 갖춘 해커
강력한 해킹 도구를 새로 제작할 수 있는 능력을 갖춤
아주 잘 알려진 예전의 해커들이 보통 이 수준
일부는 국가 후원 기관에 고용됨
- 원격으로 이메일 서버의 관리자 권한 획득
- 웹서버의 조작/훼손
- 패스워드의 추측 및 크랙킹
- 신용카드 번호를 보관하고 있는 데이터베이스의 복제
- 허가 없이 월급 기록이나 의료정보 같은 개인 정보를 엿보는 행위
- 사용자 계정과 패스워드를 알아내기 위해 패킷 스니퍼(sniffer)를 실행
- 해적판 소프트웨어와 음악 파일을 배포하기 위해 익명 FTP 서버에서
permission error를 이용하는 행위
- 보안이 미비한 모뎀을 통해 내부 네트워크에 접근하는 행위
- 임원을 가장하여 이메일 패스워드 등 개인 정보를 안내 데스크에 문의/취득
- 허락없이 로그인되어 있는 빈 워크스테이션을 이용하는 행위
침입자 행동 패턴
1. 공격 대상 포착 및 정보수집
2. 정보 수집(변경)또는 시스템 취약점 공격
3. 초기 접속
4. 접근 유지/관리
5. 권한 상승
6. 추적 회피
---
보안 침입, 침입 탑지
- 보안 침입:
합법적 권한이 없는 침입자가 시스템이나 시스템 자원에 접근하거나 접근을 시도한 보안 사고와 관련된 하나 이상의 보안사건을 말함
- 침입 탐지:
시스템 이벤트의 지속적인 감시와 분석을 통해서 시스템 자원에 불법적인 접근 시도에 대한 실시간, 혹은 거의 실시간 경고를 제공하는 보안 서비스
---
IDS의 논리적 구성 요소!
3가지 논리구성요소:
1.Sensor-데이터 수집
2,Analyzer-침입 유무에 대해 판단하고 알려줌
3.User Interface-IDS의 출력 내용을 보거나 시스템의 행동을 제어함
침입탐지시스템(IDS)의 분류
- 호스트 기반 IDS(HIDS)
- 한 호스트의 특정과 그 안에서 발생하는 이벤트들을 감시하면서 의심스러운 활동을 탐지
- 네트워크 기반IDS(NIDS)
- 네트워크의 특정 부분에서 관찰되는 네트워크 트래픽을 감시하고, 네트워크/트랜스포트/애플리케이션 프로토콜을 분석하여 의심스러운 활동을 탐지
- 분산 혹은 하이브리드 IDS
- 센서들과 호스트 및 네트워크 기반 IDS들로부터 오는 정보들을 모두 합쳐 침입 활동을 분석
IDS 행동 프로파일
침입자의 행동은 일반 사용자의 행동과 다른 양상을 보임
→직권 남용은 정상과 비정상 구분이 힘듦
- 침입자/사용자 행동의 중복 부분이 문제를 야기시킴
- false positive
- false negative
---
IDS 요구사항
1. 지속적인 실행
2. 시스템에 가해지는 부하의 최소화
3. 많은 호스트 시스템 모니터링을 위한 확장성 지원
4. 고장 허용 시스템
5. 보안정책에 따른 환경 설정이 가능
6. 일부 구성 요소가 중단된 경우에도 최소한의 서비스 저하
7. 자신에 대한 공격자의 파괴행동 감지
8. 시스템과 사용자 행동의 변화에 대한 적응
9. 동적 재설정 기능 제공
*분석 방법
1.이상탐지 2.signature/Heurstic탐지
이상탐지:
- 오랜 기간 수집된 합법적인 사용자들의 행동 패턴 데이터를 이용
- 관찰된 행동이 정당한 사용자의 행동인지 침입자의 행동인지를 통계학적인 테스트를 이용해 판단
signature/Heurstic탐지:
- 특정 행동이 침입자의 것인지 아닌지를 판단하기 위해 알려진 악성 데이터 패턴과 공격 규칙의 집합을 사용
- 오용 탐지로도 알려짐
- 확보된 규칙 혹은 패턴과 일치하는 공격들만 식별
---
훈련단계:모니터링 시스템의 정상적인 행동 데이터를 분석하여 정상적인 행동을 정의
탐지단계:정상적인 행동에서 벗어났는지를 비교하여 탐지
- 분석 방식
- 통계적 방식:
단변량,다변량 또는 관측된 측정치의 시계열 모델을 사용하여 분석하는 방법
- 지식 기반 방식:
- 전문가 시스템을 사용하여 정상적인 행동을 모델링하는 규칙을 만들고 관찰된 행동과 비교하여 탐지하는 방법
- 기계 학습 방식
- 데이터 마이닝 기법을 사용하여 훈련 데이터로부터 자동으로 적합한 분류 모델을 결정하는 방법
<Signature 또는 Heuristic 탐지>
#signaturr방법
1. 시스템에 저장된,혹은 네트워크 상에 전송중인 데이터를 대량의 알려진 악성 데이터 패턴 집합(signature집합)과 비교하여 탐지
2. 악성 데이터의 탐지율을 가능한 높이면서, 경고 오류 비율을 최소화하기 위해 많은 양의 오용패턴이 필요
3. 안티바이러스 프로그램, 네트워크 트래픽 스캐닝 프록시, NIDS 등에서 많이 사용됨
장점: 시간과 자원 사용 측면에서 상대적으로 저렴, 많은 시스템에서 채택
단점: 새로운 악성 코드 식별을 위한 시그니쳐 생성에 많은 노력이 필요하고, zero-day 공격을 탐지 못함
#규칙 기반 heuristic 식별 방법
1. 알려진 침투 방법, 혹은 알려진 취약점을 이용하는 침투 방법을 식별하기 위해 규칙 집합을 사용
2. 의심스러운 행동(정상적인 사용 패턴 범위 내의 행동일 수도있음)을 구별하기 위한 규칙들을 정의할 수 있음
3. 사용되는 규칙은 호스트 시스템이나 운영체제에 특화되어 있음
4. SNORT는 규칙 기반 NIDS의 한 예
---
호스트 기반 IDS(HIDS)
-취약하거나 민감한 시스템에 보안 소프트웨어 계층을 더해줌
-이상탐지 방식, 혹은 signature/heuristix(오용탐지) 방식 모두 사용 가능
-의심스러운 행동을 잡아내기 위해 다양한 방식으로 시스템 활동을 감시
- 이 방식의 주요 목적은 침입을 발견하고 의심스러운 이벤트를 기록하고 관리자에게 경고해주는데 있음
- 네트워크 기반 IDS나 firewall과 달리 외부침입과 내부침입 모두를 감지할 수 있음
---
#Dara Sources와 Sensors
-침입 탐지의 핵심 구성 요소는 하나의 데이터를 수집하는 센서임
-일반적인 데이터 소스:
- 시스템 호출 추적: unix계열 os에서 잘 동작
- 감사(로그 파일)기록
- 중요 파일에 대한 무결성
- Registry접근: windows에 특화
<감사기록>
#운영체제 감사 기록
-최근 대부분의 운영체제는 사용자의 활동 정보를 수집하는 회계 소프트웨어를 제공
-추가적인 수집 소프트웨어가 필요하지 않다는 것이 장점
-침입 탐지에 필요한 정보가 없을 수도 있고, 있다고 해도 편리한 형식으로 제공되지 않을 수도 있다는 것이 단점
#침입 탐지-전용 감사 기록
-IDS가 필요로 하는 정보만을 포함하는 감사 기록을 생성하도록 정보 수집 장비를 구현
-시스템 제조사와 독립적으로 만들 수 있고, 다양한 시스템에 이식할 수 있다는 것이 장점
-하나의 시스템에 두 회계 소프트웨어를 유지해야 하는 추가적인 부담이 단점
---
<네트워크 기반 IDS(NIDS)
-네트워크 상의 선택된 지점에서 트래픽을 감시
-실시간 또는 실시간에 가까운 속도로 트래픽 패킷들을 분석하여 침 입 패턴을 찾아냄
-네트워크,트랜스포트 또는 애플리케이션 계층 프로토콜의 활동을 분석가능
-수많은 센서들, NIDS관리 기능을 위한 하나 이상의 서버들, 그리고 사용자 인터페이스를 위한 관리자 콘솔들로 구성됨
-침입을 감지하기 위한 트래픽 패턴 분석은 센서에서, 관리 서버에서 혹은 그 둘의 조합에서 이루어짐
<NIDS 센서 배치 모드>
- 인라인 센서 모드
- 네트워크 세그먼트에 삽입되어 그 센서를 직접 통과하는 트래픽만 감지
- 공격이 감지되었을 때, 바로 그 공격 트래픽을 차단할 수있음(침입 탐지+침입 방어)
- 수동 센서 모드
- 네트워크 트래픽의 복사본을 감시함. 즉 실제 트래픽은 센서를 통과하지 않음
- 트래픽 흐름 관점에서 수동 센서가 인라인 센서보다 더 효울적(더 널리 사용)
<NIDS 센서 배치 예>
위치1 -외부 firewall의 바로 안쪽
- 네트워크의 주변 방어망(외부 firewall)을 뚤고 들어오는 외부로부터의 공격을 감지가능
- 네트워크 firewall 정책이나 성능에 관한 문제가 드러남
- 웹서버나 FTP 서버 등을 공격하는 트래픽을 감지 가능
- 내부의 감염된 서버로부터 외부로 나가는 트래픽을 종종 인식
위치2-외부 firewall과 인터넷 혹은 WAN 사이
- 위치1 대신 2에 센서를 두면, 모든 네트워크 트래픽을 여과 없이 감시가 가능
- 인터넷으로부터 조직의 네트워크를 노리는 공격의 횟수를 기록할 수 있음
- 인터넷으로부터 조직의 네트워크를 노리는 공격의 종류를 기록가능
위치3-위치1 혹은 2의 센서에 추가하여 내부 서버나 데이터베이스에 연결된 주 backbone을 보호하기 위해 내부 firewall과 하나 이상의 센서들을 설치
- 많은 양의 네트워크 트래픽을 감시함으로써 공격의 감지 확률을 높임
- 조직의 보안 경계 내부의 정상적인 사용자가 허용되지 않은 행동을 할 떄 감지가 가능
위치4-모든 네트워크를 보호하지 않고 사적인 혹은 금융 관련 네트워크 같은 중요 부분 시스템만 보호하도록 내부 firewall과 NIDS를 설정
- 중요한 시스템이나 자원을 목표로 하는 공격을 감지할 수 있음
- 가장 중요한 네트워크 자산에 제한된 자원을 집중할 수 있음
<NIDS의 침입 탐지 기법>
#signature 탐지에 적합한 공격 유형
-응용 계층 정찰과 공격
-트랜스포트 계층 정찰과 공격
-네트워크 계층 정찰과 공격
-예기치 못한 응용프로그램 서비스
-정책 위반(부적절한 웹 사이트 사용, 금지된 응용 프로토콜 사용)
#Anomaly탐지에 적합한 공격 유형
-서비스 거부 공격
-스캐닝
-웜
---
<상태 기반 프로토콜 분석>
-관찰된 네트워크 트래픽과 업체가 제공한 정상적인 프로토콜의 일반적인 프로파일을 비교하여 침입을 탐지하는 이상 팀지의 부분 집합
*한 기관에 특화된 트래픽 프로토콜에 훈련된 이상 탐지 기법과 구별됨
-네트워크,트랜스포트,응용 계층 프로토콜 상태가 예상대로 진행되는지 상태들을 추적하고 파악함
-많은 자원을 사용해야 하는것이 주요 단점
<경고 및 로깅>
센서가 잠재적인 위반을 감지하면, 경고를 전송하고 해당 이벤트와 연관된 정보를 로깅
NIDS 서버가 기록하는 전형적인 로깅 정보
Timestamp : 날짜, 시간
연결 혹은 세션 ID
이벤트 혹은 경고 종류
평가 점수 부여 (우선순위, 심각도, 영향력, confidence)
Network/transport/application layer protocol
Source/destination IP 주소
Source/destination TCP/UDP 포트 번호, ICMP 종류와 코드
전송된 바이트 수
요청/응답 메시지
인증된 사용자 이름 등의 상태 정보
---
<분산 또는 하이브리드 침입 탐지>
지금까지 HIDS,분산,NIDS 등 소개
독립적인 IDS, 방화벽, 바이러스/웜 탐지기의 문제점
- 새로운 형태의 공격이나 기존 공격에 많은 변화가 있으며 탐지가 어려움
- 급속히 전파되는 공격에 신속하게 대응불가
- 기업들의 경계선이 애매해져서 호스트들이 시스템 내부와 외부를 넘나드는 경우가 많음(무선통신으로 연결된 호스트,노트북 등)
—>보다 전파가 빠른 웜 혹은 악성코드의 제작, 혹은 방어책이 준비되기 전에 DOS 공격을 가해 타격을 줌, 공격 속도를 낮추어 기존 알고리즘으로 탐지를 어렵게 함
*이런 공격에 신속하게 대응하기 위해 최근 통신하고 협력하는 분산형 IDS로 발전 중
o 지역 노드에 있는 탐지기가 비정상적인 활동의 증거를 찾음 (예 특정 호스트에서 네트워크 연결 요청율이 갑자기 증가할 때 등)
o 단순 증거만 가지고 침입 탐지로 간주하면 false-positive의 위험, 반대로 무시하면 false-negative의 위험이 있음
o 적응하는 협력 시스템의 경우 지역 노드들이 의심스러운 공격이 진행되고 있을 확률의 형태로 서로 정보를 교환하는 ‘peer-to-peer gossip’프로토콜을 사용하며, 이런 메시지를 어느 수준 이상 받으면 공격이 진행되고 있다고 판단하고 대응함. 즉, 지역적으로 반응하고 중앙시스템에게 경고를 보냄

<그림 8.6 인텔 자동화된 전사적 보안 시스템 구조>
각 호스트 혹은 네트워크 디바이스(라우터 등)에 센서
SW를 설치하여 센서로 동작시킴
o 방화벽 혹은 개별 HIDS 방어책 등 주변부 방어 기술에만 의존하지 않음
*그림 8.6구조를 채택한 이유?
o 선택적으로 설치된 IDS는 특정 공격을 놓치거나 탐지하는데 오래 걸릴 수
있고, 서로 정보를 공유하는 여러 IDS들은 천천히 진행되는 공격에 대해 더
넓은 방어와 더 빠른 대응이 가능
o 호스트에서의 네트워크 트래픽 분석은 라우터 등에서 발견되는
트래픽보다 훨씬 적은 트래픽이 관찰되고, 따라서 공격 패턴은 좀더
두드러지고, 결국 더 높은 signal-to-noise 비를 제공함
o 호스트 기반 탐지기는 보다 많은 데이터를 사용할 수 있음. 즉, 호스트에서
생성되는 응용 프로그램 데이터를 지역 classifier의 입력으로 사용
#전사적 보안 시스템의 핵심 요소
o 중앙 시스템: 기본 보안 정책으로 설정되나, 분산 센서들로부터 받은 입력을 바탕으로 정책을 수정하고 시스템 내의 다양한 플랫폼에 전송
o 디바이스별(플랫폼, 네트워크) 정책: 즉시 수행해야 하는 행동이나
수정해야 할 파라미터 등
o Collaborative 정책: 타이밍이나 collaborative gossip 메시지 내용을
조절하는 플랫폼에 전달
• 중앙 시스템의 행동을 유도하는 입력
o 요약 이벤트: 여러 소스로부터 생성된 이벤트들을 방화벽, IDS 같은 중간 집계 시스템에서 수집하여 요약한 후 중앙 시스템으로 전달
o DDI 이벤트: distributed detection inference 이벤트는 gossip 트래픽에 의해 한 플랫폼이 공격받고 있는 중이라고 결론 내렸을 때 생성됨
o PEP 이벤트: policy enforcement point는 신뢰할 수 있고, 방어력을 갖춘 플랫폼과 지능적인 IDS에 존재하며, 서로 협력하여 호스트 레벨에서는미처 탐지하지 못할 침입을 탐지
---
IETF Intrusion Detection Working Group(침입 탐지 교환 형식)
활동 목적은 침입탐지 및 대응시스템, 그리고 이들과 상호 작용을 해야하는 관리 시스템 간에 관심 있는 정보를 교환하는데 필요한 데이터형식과 교환 절차를 정의하는 것
---
공격자의 유인을 위한 의도된 거짓 시스템
- 공격자를 중요한 시스템에 접근하지 못 하게 유인
- 공격자의 행동 패턴에 관한 정보를 수집
- 공격자가 가능한 오랫동안 허니팟에서 시간을 보내도록 하고, 그 동안 관리자는 필요한 대응을 준비
*중요해 보이지만 정상적인 사용자는 접속하지 않도록 조작된 정보로 채워져있음
허니팟은 실제적인 가치를 갖지 않는 자원
- 허니팟과의 모든 통신 시도는 probe, 스캐닝 또는 공격일 가능성이 매우 높음
- 허니팟이 외부로의 통신을 시도하면 이 시스템은 이미 감염되었을것임
- 초기에는 선택된 ip주소를 갖는 하나의 허니팟 컴퓨터를 사용, 최근에는 기업체의 시스템을 흉내 내는 허니팟 네트워크를 실제와 유사하게 구성
*일단 해커가 허니팟 네트워크에 접속하게 되면 관리자는 해커의 행동을 관찰하고 적절한 방어책을 고안할 수 있음
<허니팟 분류>
낮은 상호작용
- 실제 시스템의 초기 상호작용을 충분히 제공할 정도로 특정 IT 서비스나 시스템을 모방하는 소프트웨어 패키지
- 실제 공격 목표 시스템에는 미치지 못하는 허니팟을 제공
- 임박한 공격을 경고하기 위해 미치지 못하는 허니팟을 제공
높은 상호작용
- 운영체제, 서비스 , 응용 프로그램을 완벽하게 장착한 실제 시스템으로 공격자가 접근할 수 있는 위치에 배치되어 공격을 관찰
- 공격자가 장기간 머물게 할 정도로 실제 공격 목표 시스템과 유사
- 많은 자원 소모가 단점
- 만일 허니팟이 감염되면, 다른 시스템을 공격하는데 악용될 수도 있음
<허니팟 설치 위치>
위치 1 - 외부 방화벽 밖
- 네트워크의 IP 주소 범위 내에 있지만 실제로는 쓰지않는 IP 주소로의 접근 시도를 추적하는데 유용함
- 내부 네트워크의 위험을 증가시키지는 않음
- 많은 공격자를 유인하므로 방화벽과 내부 IDS 센서에 의한 경고
메시지를 감소시켜 관리 부하를 줄임
- 단점 : 내부자 공격을 다룰 수 없음
위치 2 -웹/메일 서버 등이 있는 외부에서 접근 가능 DMZ 네트워크
- 보안 관리자는 Honeypot에서 생성된 활동으로부터 DMZ의 다른
시스템을 보호해야 함
- 단점: DMZ에 있는 Honeypot으로의 트래픽을 허용하기 위해 방화벽의필터링을 해제해야 하며, 이에 따라 보안 위험이 증가하고 Honeypot의 효과도 제한될 수 있음
위치3 -내부 허니팟
장점: (1) 내부 공격을 탐지, (2) 허용하지 않아야 할 외부 트래픽을 내부 네트워크로 허용하는 방화벽의 실수를 잡아냄
단점:(1) 허니팟이 감염되면 다른 내부 시스템을 공격할 수 있음,(2) 위치 2와 마찬가지로 방화벽이 허니팟으로의 트래픽을 허용하기 위해 규칙을 수정해야 하며, 이는 잠재적으로 내부 네트워크를 위험에 빠뜨릴 가능성 존재
---
IDS 예제 시스템:SNORT
경량의 IDS- 공개 소스,이식이 용이, 호스트 혹은 네트워크 기반 IDS
- 실시간 패킷 캡쳐 및 규칙분석
- 대부분의 노드(호스트,서버 라우터 등)에 쉽게 설치 가능
- 적은 메모리와 프로세서 시간을 사용함으로써 효율적인 운영이 가능
- 짧은 시간 내에 원하는 보안 대책을 구현해야 하는 경우 설정이 용이함
*간단하고 유연성 있는 규칙 정의 언어를 사용-탐지 엔진이 사용. 각 규칙은 고정된 헤더와 많은 옵션들로 구성
