본문 바로가기

프로그래밍 학습/보안 이론

[정보보안기사 필기] 서버보안 - 시스템 취약점 점검도구, IDS , 탐지도구

728x90

ㅁ 시스템 취약점 점검도구

1) 보안 취약성 및 위협

- 위협 : 시스템 또는 조직에 피해를 초래할 수 있는 사건의 잠재적인 원인으로 자산에 피해를 줄수 있는 위험의 원천이다. 인위적 위협(고의적, 우발적), 자연적위협이 있다.

- 취약성 : 위협에 의해 이용될 수 있는 자산의 약점으로 달리 말하면 자산이 잠재적으로 갖고 있는 약점이다. 취약점 자체가 손상을 손상을 초래하지는 않는다. 단순히 위협이 자산에 영향을 줄 수 있는 조건을 제공할 뿐이다.


2) 취약점 점검도구

- SATAN/SARA : SARA는 SATAN이 업데이트가 되지 않는 상황에서 SATAN을 기반으로 개발한 취약점 분석도구로써 네트워크 기반의 컴퓨터, 서버, 라우터 IDS에 대해서 취약점을 분석한다. 유닉스 플랫폼에서 동작하고 HTML 형식의 보고서 기능이 있다.


- SAINT : 원격으로 취약점 점검, 유닉스 플랫폼에서 동작하고 HTML 형식의 보고서 기능이 있다.


- COPS : 시스템 내부에 존재하는 취약성을 점검, 유닉스 플랫폼에서 동작하고 취약ㅎ한 패스워드 체크


- Nessus :클라이언트 - 서버 구조로 클라이언트를 취약점 점검, 유닉스 플랫폼에서 동작


- nmap : 포트스캐닝 도구로써 TCP connect 방식 뿐만 아니라 stealth모드로 포트스캐닝 하는 기능 포함


ㅁ 시스템 침임 탐지 시스템

- 정의 : 허가받지 않은 접근이나 해킹시도를 감지하여 시스템 또는 망관리자에게 통보해주고 필요한 대응을 취하도록 하는 시스템, 암호화 패킷에 대해서는 탐지 불가능, 패킷의 데이터 부분까지 분석

- 역할 : 감사로그나 네트워크 패킷정보를 수집, 공격관련 규칙을 비교하여 침입탐지 수행

- 종류 : 오용기반 침임탐지(알려진 취약점), 비정상행위 탐지 

- 구현기술 : 사후 감사추적에 의한 분석기술, 실시간 패킷분석기술, 실시간 행위 감시 및 분석기능


ㅁ 네트워크 모니터링

- snort : 실시간 트래픽분석과 IP 네트워크 상에서 패킷 로깅이 가능한 가벼운 네트워크 침임탐지시스템이다. Ethereal 등

- smurt 공격(ICMP reply를 동시에 다수를 수신하는현상)을 네트워크 모니터링 도구를 이용하여 패킷을 캡처할 수 있다.


ㅁ 방화벽

- TCP-Wrapper(유닉스) : 네트워크 서비스에 관련한 트래픽을 제어하고 모니터링 할 수 있고 임의의 호스트가 서비스를 요청해오면 실제 데몬을 구동하기 전에 접속을 허용한 시스템인지 여부를 확인하여 허가된 시스템에게만 서비스를 제공한다.


- IPtable : 패킷필터링 방화벽으로 패킷 필터란 네트워크를 통하는 모든것은 패킷의 형태를 가지며 패킷의 헤더에는 패킷의 이동경로나 프로토콜을 가지고 있다. 지나가는 패킷의 헤더를 보고 DROP 하거나 ACCEPT하는 등의 작업을 하는 프로그램을 말한다.


ㅁ 침임대응 방법

- 경고메시지 및 로그분석등을 이용하여 침입을 탐지하고 세션끊기, 네트워크 분리, 프로세스 제거, 공격자 추적등의 다양한 방법으로 대응한다.


ㅁ 스캔 탐지도구

ㅇ 취약점을 찾기위한 공격용 도구

- mscan : 메인 전체를 스캔하여 그 도메인 내에 있는 wingate, test-cgi, NFS exports, statd, named, ipopd, imapd 등 최근 많이 이용되는 주요 취약점을 한번에 스캔할 수 있음.

- sscan : mscan을 업데이트하여 개발한 유닉스/윈도우 시스템에 대해서 네트워크를 통하여 취약점 점검을 수행할 수 있는 도구로써 공격용으로도 많이 활용되고 있음. nikto, x-scan, N-stealth등


ㅇ 포트스캔 탐지도구

- portsentry : 실시간으로 포트스캔을 탐지하고 대응하기 위한 프로그램으로 정상적인 스캔과 stealth 스캔을 탐지할 수 있고 스캔로그 남기기, 공격호스트를 /etc/hosts/deny 파일에 입력하여 자동 방어, 공격 호스트를 경유하여 오는 모든 트래픽을 자동 재구성하는 기능이 있다. scanlogd, scandetd 등


ㅁ 로깅 및 로그 분석도구

ㅇ 감사증적, 감사, 감사로그

- 감사증적이란 기록된 특정 내용에 대해서 원시문서까지 추적해 갈 수 있는 연결고리를 말하는데 정보시스템의 경우 중간의 처리과정을 밝힐 수 없는 경우 감사증적이 소멸해 버리는 수가 많다.

ㅇ 감사로그 분석방법

- 윈도우 시스템 로그분석 : 이벤트뷰어를 이용해서 로그분석을 수행 할 수 있으나 다량의 로그에 대해서 분석을 위해서는 이벤트 ID를 기반으로 로그 분석을 수행할 수 있다. 

- 보안감사 이벤트 범주 : 로그온이벤트, 계정 로그온 이벤트, 개체 액세스, 디렉터리 서비스 액세스, 권한사용, 프로세스 추적, 시스템 이벤트, 정책변경 


1) 로그온 이벤트 : 사용자가 컴퓨터에 로그온/로그오프를 할떄 로그온이 시도된 컴퓨터의 보안로그에 이벤트 발생

528 : 컴퓨터에 성공적으로 로그온 / 529 : 알 수 없는 사용자 이름을 사용하거나 잘못된 암호 사용


리눅스/유닉스 시스템 로그분석

- wtmp : 사용자들의 로그인 및 로그아웃한 정보 -> last 명령어

- utmp : 현재 로그인한 사용자들의 상태정보-> who, w, whodo, users, finger 명령어

- pacct : 사용자가 로그인~ 로그아웃 입력한 명령과 시간, 작동된 tty 등에 대한 정보 수집 lastcomm 명령어

- history : 사용자별로 실행한 명령을 기록하는 로그

- sulog : su 명령어를 사용한 결과를 저장하는 로그 vi 에디터 활용

- lastlog : 서버에 접속한 사용자의 ip별로 가장 최근에 로그인 한 시간 기록 last 명령어

- btmp : 5번 이상 로그인 실패했을 경우 정보기록 lastb 명령어

- syslog : syslog 데몬에서 일괄적인 방법으로 생성된 로그는 authlog, messagesm syslog, secure등 /var/log 디렉토리에 대한 로그가 있다.

- messages : syslog 계열의 로그로써 콘솔 상의 화면에 출력되는 메시지들을 저장하고 시스템의 장애에 대한 기록뿐만 아니라 보안측면에서 취약점에 의한 공격흔적을 기록으로 남김. vi 명령어로 로그분석

- secure로그 : 보안과 관련된 주요한 로그를 남기는 파일로 사용자 인증에 관련된 로그를 기록