해킹사고의 분류와 그 로그가 기록되는 IDS/IPS시스템에 대해 알아보기로 한다.
물론 아래 유형 외에도 다양한 취약점에 의해 사고가 발생할 수 있다는 사실을 명심하자.!
피해유형 | 취약점 | 공격방법 | 로그 |
위/변조 | SQL구문 삽입 (= SQL injectnion) |
SQL 구문 삽입을 이용해 인가되지 않은 로그인을 성공한 후 게시물, 소스 파일 등 삭제 | 웹 로그, IPS, IDS |
SQL 구문 삽입을 통한 DB내 데이터 변조 | 웹 로그, IPS, IDS, DB로그 | ||
파일 업로드 | PUT 메소드를 이용한 원격 파일 업로드 웹셀을 업로드해 소스 파일 삭제, 소스 파일 내용 변경 등 변조 |
웹 로그 IPs, IDS | |
허가되지 않은 접근 | 터미널 서비스를 이용한 원격 접근 | 시스템 로그, 방화벽 | |
RPC를 이용한 원격접근 | IPS, IDS, 방화벽, utmp wtmp, last로그, su 로그 | ||
텔넬, FTP등 inet 서비스를 이용한 원격 접근 | IPS, IDS, 방화벽, utmp, wtmp, last 로그, su로그 | ||
취약한 ID/패스워드를 유추해 관리자 페이지 접근 | 웹 로그, IPS, IDS | ||
XSS | XSS를 이용한 사용자 정보 갈취 후 관리자 페이지 등 인가되지 않은 페이지 접근 | 웹 로그 , IPS, IDS | |
CSRF | CSRF를 이용한 글쓰기 | 웹 로그 , IPS, IDS | |
입력 값 검증 부재 | URL 조작을 이용한 인가되지 않은 게시판 접근 파라미터 조작을 이용한 인가되지 않은 게시판 접근 원격 서버에 올려놓은 악성 프로그램 실행 |
웹 로그 , IPS, IDS |
|
정보유출 | SQL구문 삽입 (= SQL injectnion) |
SQL 구문 삽입을 통한 DB 접근 | 웹 로그 , IPS, IDS, DB로그 |
SQL 구문 삽입을 통한 인가되지 않은 로그인을 성공한 후 관리자 페이지 등 내부 정보 접근 | 웹 로그 , IPS, IDS | ||
파일 업로드 | 웹셀을 업로드해 내부 정보 다운로드 | 웹 로그 , IPS, IDS | |
입력 값 검증 부재 | 피라미터 조작을 이용한 허가되지 않은 파일 다운 | 웹 로그 , IPS, IDS | |
XSS | XSS를 이용한 관리자 로그인 정보 획득 후 관리자 페이지 등 내부 정보 접근 | 웹 로그 , IPS, IDS | |
허가되지 않은 접근 | 터미널 서비스를 이용한 원격 접근 | 시스템 로그 방화벽 | |
RPC를 이용한 원격 접근 | IPS, IDS, wtmp, utmp, last로그, su 로그 | ||
텔렛, FTP등 inet 서비스를 이용한 원격 접근 | IPS, IDS, loginlog, utmp, wtmp, last로그, su 로그 | ||
취약한 ID/패스워드를 유추해 관리자 페이지 접근 | 웹 로그, IPS, IDS | ||
서비스 거부 | N/A | SYN 플러딩 | 방화벽, IDS, ESM, messages |
ICMP/UDP 플러딩 | 방화벽, IDS, ESM | ||
TCP 플러딩 | 방화벽, IDS, ESM , message | ||
HTTP Get 플러딩 | 방화벽, IDS, 웹 접근 로그 | ||
HTTP CC 플러딩 | |||
HTTP POST 플러딩 | |||
HTTP SQL 플러딩 | |||
커넥션 플러딩 | |||
HTTP 슬로우 공격(slow attack) |
위 표에서 자주 나오는 IDS/IPS 에 대해서 잠깐 알아보자.
IDS(Intruction Detection System) : 침입탐지 시스템
IDS는 해킹을 탐지하기 위한 가장 기본적인 정보 보호 시스템이며, 수집한 패킷을 페이로드(헤더를 제외한)단위까지 분석할 수 있기 때문에 가장 전통적으로 또 가장 대표적으로 사용되는 정보 보호 시스템의 하나다.
IPS(Intruction Protect System) : 침입방지 시스템
IPS또한 탐지하는 방법은 대부분 IDS와 대동소이하다, 틀린 점이 있다면 IDS는 시스템과 네트워크 상에서 발생하는 악의적 침입 행위를 탐지하고, 이에 대해 사전에 정의된 정책에 따라 관리자나 운영자에게 경고 메시지 전송등의 수동적 업무를 수행하지만, IPS는 IDS와 달리 탐지와 동시에 공격을 실시간으로 대응할 수 있다.
침입 탐지의 방법
- 비정상행위 탐지 : 정상행위의 범위를 정해놓고, 범위를 벗어나는 행위를 공격으로 탐지하는 방법
- 오용 탐지: 비정상행위(공격에 주로 사용되는 유형, 즉 해킹 유형)로부터 특정 패턴을 추출해내고, 분석 대상이 추출된 패턴과 일치할 경우 해킹으로 판단하고 탐지하는 방법
장점 | 단점 | |
비정상행위 탐지 | a. 새로운 유형의 해킹 탐지 | a. 정상행위의 모델링 하기 어렵다. b. 방대한 사용자와 네트워크의 활동 자료가 필요하다(모집단의 단위가 필요한데 현실적으로 어렵다) c. 탐지 결과의 신뢰도가 낮다. |
오용 탐지 | a. 탐지 결과의 신뢰도가 높다 b. 신속한 탐지와 대응이 가능하다 |
a. 탐지를 위한 새로운 패턴 업데이트 b. 알려지지 않은 해킹 시도는 탐지 불가능 (zeroday 취약점) |
여기서, 오탐(오류탐지)는 또 2가지로 구분되는데 , 바로 해킹이 아닌데 해킹으로 탐지하는 긍정 오류(false positive)와,
해킹을 해킹이 아니라고 탐지하는 부정 오류(false nagative)다.
대부분의 사람들은 부정 오류(해킹인데 정상 패턴이라고 판단)를 오탐 계산의 기준으로 보고 있다.
물론 해킹을 해킹이 아니라고 탐지하는 것은 IDS/IPS 근간을 흔들 수 있는 핵심요소이기도 하지만, 실무적으로 접근해보면 이보다 더 심각한 것이 긍정 오류다.
왜냐하면, 일반적으로 정상 사용자가 접속할 때 나타나는 트래픽의 형태와 해킹 시도로 탐지되는 트래픽의 형태는 그 차이를 명확하게 구분할 수 없는 경우가 대부분인데, 이로 인해 대부분의 IDS에서는 정상 접속을 해킹이라 탐지(긍정 오류)하고 경보를 발생시킨다. 일반적으로 이와 같이 정상 접속을 해킹이라고 판단, 경보를 발생시키는 비율은 95%가 넘는다고 한다.
이는 실제 이벤트를 모니터링하고 사전적 대응을 해야하는 보안관제요원들에게는 치명적일 수 있는데, 예로 하루에 1000건의 이벤트 중 950 건이 긍정오류라 가정해 본다면, 기계가 아닌 이상 상황을 판단하는 관제요원이 950건의 쓸데 없는 이벤트를 지켜보고 해킹인지 아닌지를 판단해야 하므로 엄청난 인력 비용이 낭비될 뿐 아니라, 더 큰 문제는 실제 분석해야 하는 50건의 정탐 이벤트를 놓칠 가능성이 그만 큼 커진다는 점이다.
하여, 최근에는 IDS에서 긍정 오류를 어떻게 줄일 수 있는지를 다양하게 연구하고 있으며, 그 대안 중 하나로 정규표현식을 이용한 탐지 기술을 사용한다. 정규표현식은 문자열 비교의 탐지 방법 대비 일정한 규칙을 만들어 그 규칙에 부합하는 행위를 탐지하기 때문에 더 효율적이라 볼 수 있다.
이와 같은 긍정 오류는 IPS에서는 치명적인 한계점이 될 수 있는데, 그 이유는 IPS는 트래픽에 직접적으로 관여하고, 설정된 차단 규칙에 따라 해당 패킷을 버리거나, 클라이언트로 하여금 일정 시간 내부 시스템에 접속을 못하도록 통제 하기 때문이다.
즉, IPS에서 긍정 오류가 많으면 정상적인 사용자의 접속이 그만큼 차단되고, 서비스 가용성 유지에 결정적 방해요소로 작동한다.
(사실... 이러한 위험성으로 대부분 조직에서는 IPS를 차단 모드로 정상적으로 운영하지 않고 IDS(침입탐지 기능)모드로 운영한다.. ㅠㅠ예전 회사에서도 윈즈테크넷의 IPS 모델을 저런 위험 때문에 IDS모드로 운영해왔었다.)
IDS의 구성 형태
HIDS(Host-Based IDS)와 NIDS(Network-Based-IDS)로 구성된다.
HIDS
호스트 기반 IDS로, 한마디로 서버 등에 설치되어 해당 서버로 들어오는 공격 행위만을 탐지한다. 굉장히 디테일하게 탐지 할 수 있지만, 요즘 대부분의 중/대형 기업들의 서버는 수십 수백대이기 때문에 이들에게 모두 설치 된다면 비용이 많이 들 뿐만 아니라 가동을 위해 서버의 리소스를 차지한다는 단점 또한 존재한다.
NIDS
네트워크 기반 IDS로 외부와 내부의 경계구간 또는 내부 세그먼트의 경계구간에 설치되어 다수의 서버로 유입되는 트랙픽을 동시에 모니터링할 수 있다. NIDS는 네트워크 중간 경로상에 위치하기 때문에 모니터링 대상 서버의 리소스를 점유하지도 않고, 단일 시스템으로 네트워크 용량만큼의 다수 서버를 모니터링할 수 있을 뿐만 아니라, 통신에 직접 관여하지 않기 때문에 서비스에 영향을 주지 않고 해킹 시도를 모니터링 할 수 있다. 최근에는 대부분 NIDS사용하는 추세다.
HIDS와 NIDS
IDS의 로그
일반적으로 IDS는 오용 탐지 방법을 사용하며, 탐지 규칙(정규표현식 또는 텍스트 문자열, 특정,IP, 서비스 포트 등)을 입력하면 유입되는 패킷의 내용을 분석해 탐지를 한다.
IDS 로그 형태는 Time, Source IP, Source Port, D-IP, D-Port, Signature Name(관리자가 입력한 탐지 규칙의 이름), Packet Payload(탐지 규칙에 정의된 문자열과 일치해 탐지된 패킷의 실제 내용) 등이 있다.
여기서 가장 중요한 것이 바로 'Packet Payload' 이다. 패킷 페이로드는 해킹을 구분하는 원본 데이터와 같은 의미다. 여기에는 실제 탐지 규칙과 일치해 탐지된 내용이 포함되어 있으며, 이는 곧 사용자가 내부 시스템에 시도한 접속의 내용을 나타낸다. 대게 이 페이로드의 내용을 보고 해킹인지 여부를 빠르게 판단할 수 있다.
다음은 실제 해킹 시도를 탐지한 IDS의 페이로드 부분이다.
내용을 자세히 살펴보면 filename 이라는 파라미터에 '111.jsp' 터 라는 변수가 연결되어 있다. 일반적으로 자유게시판 등에 글을 쓸 때 첨부파일이 전송되는데 filename이라는 파라미터는 첨부파일의 이름이라는 것을 알수 있다. 또한 대부분 게시판에서는 해킹 위험성 때문에 txt, jpg, png, 문서파일 등을 제외한 스크립트 파일(웹서버에서 실행 가능한 파일) 첨부를 제한하는데 다음의 로그에서 해커는 첨부가 제한된 'jsp'파일을 첨부하려고 시도한 것으로, 이는 명백한 해킹 시도라 판단할 수 있다. (아마 위/변조나 정보유출을 시도하는 파일업로드 공격을 한 것은 아닐까? ^^)
< IDS의 로그>
이상으로 해킹사고의 취약점과 IDS/IPS에 대하여 알아보았습니다.
궁금증이 있다면 댓글 바라며, 추가 설명이나 다른 보안 시스템에 대해서는 다시 포스팅 하도록 하겠습니다.
Reference & Book
1. 해킹사고의 재구성 |최상용 지음| 에이콘 출판사
'IT > 해킹보안' 카테고리의 다른 글
OWASP 2010 TOP 10 (0) | 2013.04.25 |
---|---|
구글 검색 대응 방안(how to avoid the google seraching robot) (0) | 2013.04.24 |
버퍼 오버플로우(Buff overflow) (0) | 2013.04.11 |
프로그래밍 코드 오류로 인한 해킹 문제점 (0) | 2013.04.11 |
구글 고급 검색으로 정보수집 하는 방법 hacking with google (0) | 2013.04.09 |
댓글