정보보호관리체계(ISMS-P)/실무 Q&A

ISMS-P 인증심사원 - 보안시스템 실무

자격증 홀릭 2022. 6. 10. 12:02
728x90
반응형

2.보안 솔루션의 활용(Snort, 탐지툴, Pcap )

(1) Snort/TCPDump

 

o Martin Roesch(마틴 로시)가 발표한 공개 네트워크 침입탐지 도구, 시스템에 대한 인가되지 않은 행위와 탐지된 불법행위를 구별하여 실시간으로 침입을 탐지하는 시스템, 오픈소스

구분 설명
패킷 스니퍼(sniffer) 네트워크의 패킷을 읽어 보여주는 기능
패킷 로거(logger) 모니터링 한 패킷을 저장하고 로그에 남기는 기능
network IDS 네트워크 트래픽을 분석하여 공격을 탐지하는 기능으로 buffer overflow port scan, IP scan 등 대부분의 공격을 탐지할 수 있다.

 

o snort 로그 저장 - /var/log/ 디렉터리 이하에 로그 파일을 생성하는 방법과 database에 저장하는 방법, 그리고 binary tcpdump 형식으로 남기는 방법 등

 

- FTP 데몬의 site exec 버그를 이용하여 원격에서 시스템 관리자 권한을 취득하려는 공격을 시도하였을 경우 snort에서 alert 파일에 남긴 공격 메시지

[**] EXPLOIT x86 NOOP [**]
03/27-01:38:25.743974 172.16.4.80:2561 -> 172.16.2.34:21
TCP TTL:63 TOS:0x0 ID:8846 IpLen:20 DgmLen:558 DF
***AP*** Seq: 0x76E783D2 Ack: 0x499461D5 Win: 0x7D78 TcpLen: 32
TCP Options (3) => NOP NOP TS: 242635123 77742672
[**] FTP site exec [**]
03/27-01:38:27.773483 172.16.4.80:2561 -> 172.16.2.34:21
TCP TTL:63 TOS:0x0 ID:8850 IpLen:20 DgmLen:478 DF
***AP*** Seq: 0x76E785CC Ack: 0x49946486 Win: 0x7D78 TcpLen: 32
TCP Options (3) => NOP NOP TS: 242635327 77742675
[참고] 이 결과 FTP 공격에 대해 정상적으로 탐지하고 있음을 알 수 있다. 그리고, 자세한 공격
메시지는 공격자 주소인 172.16.4.80이라는 디렉토리를 참조한다.

 

o Snort.conf 설정

-침입을 탐지할 ip 범위 등 network 관련 환경 변수 지정

-preprocessor 지정

-로깅 및 출력 등 output을 설정

-침입을 탐지할 rule 파일

o Snort 룰 적용

- rule 파일은 크게 header body로 구분되며, 아래의 예는 snmp(161/udp) community 문자열로 public이 설정된 패킷을 탐지하는 예이다.

# 헤더
alert udp $EXTERNAL_NET any -> $HOME_NET 161
# body
(msg:"SNMP public access udp"; content:"public"; reference:cve,CAN-1999-0517;
reference:cve,CAN-2002-0012; reference:cve,CAN-2002-0013; sid:1411; rev:3; classtype:attempted-recon;)

 

     alert : 룰의 action에는 주로 alert가 사용되는데 이외에도 pass log 등이 사용될 수 있다. 여기에서 pass는 해당 룰을 매칭되는 패킷에 대해 그대로 통과시키고자 할 때 사용되는데, 특히 특정한 ip에 대해서 룰이 매칭될 때 로그 파일을 남기지 않고 통과시키고자 할 때 사용된다. log는 지정한 룰에 매칭되는 정보를 /var/log/snort 디렉터리에 소스 ip를 디렉터리 이름으로 한 상세한 로그 정보를 남기는 것은 동일하지만 alert 파일에는 남기지 않는다는 차이점이 있다.

구분 설명
alert alert를 생성하고 그때의 packet을 저장한다.
log packet을 로깅한다.
pass packet을 무시한다.
activate alert를 생성하고 그때 다른 dynamic rule active시킨다
dynamic activate rule에 의해 active되며 그때 log rule로 행한다.

     udp : 룰에서 매칭하려는 프로토콜(protocol)을 명시하는 부분이다. 이외 tcp icmp 또는 ip가 올 수 있다.

     $EXTERNAL_NET : 이 부분은 앞에서도 살펴보았듯이 소스 ip또는 ip 대역을 지정하는데, 각 룰마다 구체적인 룰 설정을 할 수 있다.

     any : 소스포트를 지정하는데 소스포트의 경우 통상적으로 특별히 지정된 포트가 없으므로 any를 사용한다.

     ->: 화살표는 패킷의 방향을 의미한다. 위의 경우 $EXTERNAL_NET에서 $HOME_NET 161/udp 로 향하는 패킷을 의미한다.

     $HOME_NET : 목적지 ip를 지정하는 부분이다. 여기에서는 snort.conf에서 지정한 $HOME_NET을 변수로 지정하였는데, 각 룰마다 구체적인 룰 설정을 할 수 있다.

     161 : 패킷의 목적지 포트를 지정한다. 만약 any로 지정하면 모든 포트를 의미하게 된다.

 

o Snort Rules Options

-       msg: packet log alert에서 저장될 메시지를 지정 예) msg: "mesage text"

-       logto: packet을 표준 출력 파일 대신에 사용자가 지정한 파일로 저장한다.

-       ttl: IP header TTL field 값을 test한다.

-       tos: IP header TOS field 값을 test한다.

-       id: IP header에서 지정된 값과 같은 fragment field 값을 test한다.

-       ipoption: 지정된 code와 같은 IP option field watch한다.

-       fragbits: IP header framentation bits field 값을 test한다.

-       dsize: packet payload size test한다.

-       flags: TCP flags test한다.

-       seq: sequence number test한다.

-       ack: tcp acknowledge code test한다.

-       itype: ICMP type field test한다.

-       icode: ICMP code field test한다.

-       icmp_id: ICMP ECHO ID field test한다.

-       icmp_seq: ICMP ECHO sequence number field test한다.

-       content: packet payload에서 일치하는 patern search한다.

-       content-list: packet payload에서 일치하는 patern set search한다.

-       offset: patern search하는 offset을 지정한다.(뛰어 넘을 내용의 숫자 지정)

-       depth: patern search할 때 최대 depth를 지정한다.(표출하려고 하는 내용의 숫자 지정)

-       nocase: content case를 무시(대소문자 구분 안 함)

-       sesion: application layer 정보를 dump한다.

-       rpc: RPC services watch한다.

-       resp: rule match되는 packet에 대하여 지정된 response packet을 보낸다.( : tcp-rst packet 전송)

-       react: rule match되는 packet에 대한 react (메시지+block,warning.)를 보낸다. 성인 사이트 차단에 이용 가능

-       reference: 외부로부터(:htp:/www.securityfocus.com/bin) rule include하는 기능 제공

-       sid : snort rule id

-       rev : ruls revision number

-       clastype : rule clasifcation identifer

-       priority:  rule에 대한 security의 위협 level을 지정

-       uricontent: uri content에서 request  uri portion search한다.

-       tag: rule에 대한 advanced loging action을 지원한다.

-       ip_proto: IP header protocol 값을 test한다.

-       sameip: source, destination ip가 같은지 test한다.

-       stateles: stream4 preprocesor에서 사용되며 conection state와 관계없이 match 여부를 check하도록하는 데 사용

-       regex: content wildcard option을 사용하도록 지원한다.

구분 설명
content 검사할 문자열 지정
uricontent HTTP URL 정보에서 검사할 문자열 지정
offset 검색을 시작할 문자열 위치
depth offset부터 검색할 문자열 수
distance 매치된 이후 떨어진 바이트 수
within 매치된 이후 distance 떨어진 곳에서 content 검색
nocase 대소문자 구분하지 않음

 

- content, offset, depth를 이용한 검색 예제

) 패킷 페이로드 : 1234567890abcdefghijklmn

 

순번 시그니처 패턴 매칭 버퍼
1 content:”def”; 1234567890abcdefghijklmn
2 content:”234”; offset:1; depth:5; 23456
3 content:”123”; depth:3; content:”abc”; distance:5; within:8; 90abcdef
4 content:”abc”; distance:5; within:8; 67890abc

 

o TCPDump 패킷 분석 - MSCAN jsbach라는 해커가 만든 취약점 스캐닝 도구로써 MSCAN TCPDUMP를 이용하여 탐지할 수 있다.

14:38:19.459109 0:0:c:8d:24:df 0:0:c:8d:24:df loopback 60:
0000 0100 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000
14:38:21.969109 kitty.test.com.1192 > 210.116.239.255.sunrpc: udp 100
14:38:28.299109 kisa1.test.com.finger > alzza.test.com.6266: F 3185928987:3185928987(0) ack
3769291987 win 8760 (DF)
14:38:28.379109 alzza.test.com.1882 > ns.test.com.domain: 46628+ (45)
14:38:28.379109 ns.test.com.domain > alzza.test.com.1882: 46628* 1/1/0 (114)
14:38:29.459109 0:0:c:8d:24:df 0:0:c:8d:24:df loopback 60:
0000 0100 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000
14:38:30.879109 0:0:c:8d:24:df > 1:0:c:cc:cc:cc sap aa ui/C len=270
0c00 0100 0965 6167 6c65 0002 0011 0000
0001 0101 cc00 04d2 74ef fe00 0300 0d45
7468 6572 6e65 7431 0004 00
......................................................................

- tcpdump 로그를 보면 네임서비스에 대한 요청이 엄청나게 증가했음을 볼 수 있으며, 그 외에 취약점 스캐닝을 위한 패킷정보가 나타나 있음을 볼 수 있다. mscan 공격이 인터넷상에서 이루어질 때에 네트워크에 상당히 많은 부하를 줄 수 있음을 알 수 있으며, 특히 네임서버에 대한 부하가 크다.

 

(2) 네트워크의 activity 이해 - 내부와 외부 네트워크 간에 다양한 서비스를 제공하거나 이용하기 때문에 허용하는 정책을 설정하고 비정상적인 트래픽을 탐지 및 차단하여야 한다.

 

(3) 공격여부를 감지하는 방법 이해 - 라우터, 방화벽, IDS, TCPDUMP에 대한 로그 및 패킷 캡쳐를 통하여 다양한 공격에 대한 이해를 기반으로 비정상적인 상태 또는 공격 유형을 확인하여 공격을 감지한다.

 

(4) 이에 대해 대처할 수 있는 방법에 대해 이해

 

o 라우터 보안 설정 - 코드레드 웜을 공격을 방지하기 위한 라우터 설정 방법

. Class-map을 사용하는 방법

Router(config)#class-map match-any http-hacks
Router(config-cmap)#match protocol http url "*default.ida*"
Router(config-cmap)#match protocol http url "*x.ida*"
Router(config-cmap)#match protocol http url "*.ida*"
Router(config-cmap)#match protocol http url "*cmd.exe*"
Router(config-cmap)#match protocol http url "*root.exe*" T

 

. Policy Map을 사용하는 방법 : output 인터페이스가 E0/1이고 input 인터페이스가 E0/0이라고 가정하면 Ethernet 0/0에서 생성되는 트래픽을 통제하고 Ethernet 0/1로 유입되기 전에 필터링되도록 설정한다. inbound 트래픽에 대해 먼저 설정한 후에 outside 인터페이스에 대한 서비스 정책을 적용한다.

Router(config)#policy-map mark-inbound-http-hacks
Router(config-pmap)#class http-hacks
Router(config-pmap)#set ip dscp 1
Router(config)#interface ethernet 0/0
Router(config-if)#service-policy input mark-inbound-http-hacks

3.역추적(악성코드 분석 도구) 이해 및 응용

o 역추적(traceback)이란 해킹을 시도하는 해커의 실제 위치를 실시간으로 추적하는 기술

     해커의 실제 위치를 추적하는 기술: TCP 연결 역추적(TCP connection traceback) 혹은 연결 역추적(connection traceback)

     IP주소가 변경된 패킷의 실제 송신지를 추적하는 기술: IP 패킷 역추적(IP packet traceback) 혹은 패킷 역추적(packet traceback)

 

o 역추적 기술 이해

     TCP 연결 역추적은 TCP 연결을 기반으로 우회 공격을 시도하는 해커의 실제 위치를 실시간으로 추적하는 기법으로 호스트 기반 연결 역추적 기술과 네트워크 기반 연결 역추적 기술로 분류한다.

호스트 기반 연결 역추적 기술: 역추적을 위한 모듈이 인터넷상의 호스트들에 설치되는 역추적 기법으로 호스트에서 발생하는 로그 기록 등의 다양한 정보를 바탕으로 역추적을 진행하는 기술이다.

네트워크 기반 연결 역추적 기술: 네트워크 상에 송수신되는 패킷들로부터 역추적을 수행할 수 있는 정보를 추출하여 역추적을 수행하는 것으로 역추적 모듈이 네트워크 상에 송수신되는 패킷을 확인할 수 있는 위치에 설치된다.

     IP 패킷 역추적 기술은 IP주소가 변경된 패킷의 실제 송신지를 추적하기 위한 기술이다. IP 패킷 역추적 기법으로는 해커가 전송하는 패킷에 해당 패킷을 전달한 라우터를 표시함으로써 추적할 수 있게 하는 패킷 표시 기법을 이용한 기술이다.

 

(1) 침입탐지 시스템 특징

 

o 침입탐지 시스템 정의

- 허가받지 않은 접근이나 해킹시도를 감지하여 시스템 또는 망관리자에게 통보해 주고, 필요한 대응을 취하도록 하는 시스템

. 암호화 패킷에 대해서는 침입탐지 불가능

. 패킷의 데이터 부분까지 분석

 

o 침입탐지 시스템은 정보 수집, 가공, 침입탐지 처리, 보고 등으로 구성 이해

- 정보 수집 : 감사 로그나 네트워크 패킷 정보를 수집

- 정보 가공 : 침입탐지 시스템이나 침입대응 시스템에서 이용하기 편리하도록 정보를 가공/보관

- 침입탐지 처리 : 이벤트 정보와 프로파일이나 공격관련 규칙을 비교하여 침입 탐지 수행

- 침입 보고 : 탐지된 행위에 대하여 보안 관리자 등에게 침입행위를 알림

 

o 침입탐지 시스템 원리 이해

- 오용 기반 침입탐지 : 알려진 취약점을 기반으로 탐지 규칙을 작성하여 침입 행위를 판단

- 비정상행위 탐지 : 사용자나 시스템의 정상행위에 대하여 프로파일링을 수행한 후에 실제 발생한 이벤트의 정상유무를 판단

 

o 구현기술

- 사후 감사추적에 의한 분석기술 : 미리 수행된 의심스러운 행위에 대하여 발생한 자료를 토대로 감사, 분석이 이루어진다.

- 실시간 패킷 분석기술 : 단일 네트워크 세그먼트(link)에 흐르는 패킷을 가로 채는 기술, 실시간 탐지 기술

- 실시간 행위 감시 및 분석 기능 : 인가되지 않은 파일접근, Log-in 프로그램의 변경과 같은 시도를 탐지 가능

   

가상사설망(VPN)

 

(1) VPN동작원리 이해

 

o 가상사설망(VPN: Virtual Private Network)

- 인터넷(Internet)과 같은 공중망을 이용하여 사설망과 같은 효과를 얻기 위한 기술로 기존의 전용선을 이용한 사설망에 비해 훨씬 저렴한 비용으로 보다 연결성이 뛰어나면서도 안전한 망을 구성할 수 있다. 또한 VPN Public Switched Network(인터넷) 상에서 물리적인 네트워크의 구성과는 무관하게 논리적인 회선을 설정하여, 별도의 사설망을 구축하지 않고도 사설망에서의 안정성을 보장하기 위한 가상 사설 통신망을 구축하는 기술이다.

- VPN을 구성하기 위한 핵심 기술로는 터널링(tunneling) 기술과 암호화 기술이 있다. VPN에 사용되는 터널링(tunneling) 기술은 인터넷 상에서 외부의 영향을 받지 않는 가상적인 터널을 형성해 정보를 주고받도록 하는 기술로서, 시작점에서 끝점까지 상호 약속된 프로토콜로 세션을 구성하게 된다.

- 암호화 혹은 인증 터널을 통해 전송되는 데이터는 기밀성, 무결성, 인증과 같은 보안 서비스가 보장된다.

 

o VPN 동작원리

 

- 터널링 기술(tunneling)

. 터널링 기술은 VPN의 기본이 되는 기술로서 터미널이 형성되는 양 호스트 사이에 전송되는 패킷을 추가 헤더 값으로 인캡슐화(Encapsulation)하는 기술이다. 이때 덧붙여지는 헤더는 각 터널링 프로토콜에 따라 다른 값을 지닌다.

. L2TP 터널링은 2계층 터널링 기술이기 때문에 데이터링크층 상위에서 L2TP 헤더를 덧붙이고 IPSec 터널링은 3계층 터널링 기술이기 때문에 인터넷층 상위에서 IPSec(AH, ESP) 헤더를 덧붙인다. 이러한 인캡슐화 과정은 인터넷망을 통한 데이터 전송의 경우에도 다른 네트워크를 통하지 않고 목적지까지 한 홉(Hop)으로 이동하는 것처럼 보이게 한다. , 두 터널링 End to End 포인트에게 가상경로를 설정해준다.

. VPN 터널링(tunneling) 기술은 사용자에게 투명한 통신 서비스를 제공해 줄뿐 아니라 인터넷과 같은 안전하지 못한 네트워크 환경에서 강력한 보안을 제공한다.

 

- 데이터 암호화 및 인증 기술(Data Encryption/Data Authentication)

. VPN을 통한 터널 내 보안 기능은 데이터의 암호화 기술 및 무결성 도구를 통한 데이터 인증 기술에 의해 이루어진다.

. 데이터 암호화 기술의 경우 터널이 형성된 한 쪽 호스트에서 데이터를 암호화하여 보내면 반대편 호스트에서 암호화 데이터를 복호화하여 원본 데이터를 확인한다.

. 데이터 인증 기술은 터널을 통해 전송할 데이터의 해쉬값을 원본 데이터와 같이 전송함으로써 수신 호스트 측이 데이터의 무결성을 검증할 수 있도록 돕는다.

 

- 인증 기술(Source Authentication) 및 접근 제어 기술(Access Control)

. VPN은 데이터의 출처(출발지 IP)가 확실한지의 대한 인증기술을 제공하고 내부 자원에 대해서 허가 받지 않은 사용자의 접속을 차단하는 접근제어 기능을 제공한다. 이러한 인증기술 및 접근제어기술은 VPN 게이트웨이를 통하여 터널이 생성되는 경우 게이트웨이의 정책에 따라 결정된다.

 

(2) VPN의 구성과 활용 이해

 

o 접속 지점에 따른 분류

- VPN은 터널이 생성되는 네트워크 영역에 따라 보통 다음의 세 가지 형태로 분류하며 각각의 경우에 서로 다른 보안 정책(Security Policy)이 필요하고 다른 구현 기술이 존재할 수 있다.

. 지사 연결(branch office interconnection or Intranet)

. 회사간 연결(inter-company connection or Extranet)

. 원격 접근(Remote access)

 

o 터널링(Tunneling) 기법에 의한 분류

- 가상사설망(VPN) 구현에 가장 널리 사용되는 터널링 프로토콜(Tunneling Protocol)로는 PPTP, L2TP, IPSEC, SOCKS V5가 있다.

 

 NAC(네트워크 접근제어)

 

o 네트워크의 감독과 조정을 위한 여러 가지 제어와 관련된 여러 사항들. 또한 시스템 동작의 감시, 데이터의 정확성 보장, 사용자 확인 기록, 시스템의 접근 및 변경 그리고 사용자의 접근을 위한 방법들을 포함한다.

 

o NAC(네트워크접근제어)는 오염된 기기들이 내부 망에 접근을 못하게 하여 내부 망을 안전하게 지키는 역할을 한다. 접근하는 기기뿐만 아니라 연결되어 있는 기기들의 보안이 보안 정책에 맞는지 계속 확인하여 혹시나 발생할 수 있는 위협에 대비한다. 보안 정책을 만들때는, 보안 수준은 어느 정도가 되어야 하는지, 단말 정보, 접근 방법, 네트워크 제어와 검역에 대한 부분들을 명시하고 있어야 한다. 외부에서 접근하는 단말들은 보안 정책에 따라 모든 접근이 가능한 경우, 검역이 필요한 경우, 접근이 불가능한 경우로 나뉜다. 검역이 필요한 경우, 혹은 접근이 불가능한 경우로 분류된 기기들은 보안 정책에 맞게 검역 또는 업데이트를 해야만 접근이 가능해진다. 그 후 내부 망에 맞도록 백신 업데이트, 패치, 기기 설정을 변경하여 접근시킨다.

 

o NAC(네트워크접근제어)구성 요소

- RADIUS Kerberos같은 인증서버는 NAC(네트워크접근제어)의 주요한 구성요소이다. 이 인증서버는 사용자 식별/접근 관리 기능과 보안 관리기능(패치를 최신화 시키고, PC 환경 설정을 보안정책에 맞게 수정하고, 소프트웨어를 검역함)을 같이 수행할 수 있어야 한다.

- 이때, 사용자의 PC가 따라야 하는 보안 수준에 따라, 네트워크 접근 허용 단계를 구분한다. PC의 보안 수준을 검사하는 방법에는 설치형 에이전트를 이용한 방식, 필요할 때만 작동하는 에이전트를 이용하는 방식, 네트워크에서 스캔을 하는 방식, 이렇게 세가지가 있다.

- 설치형 에이전트 방식은 관리 소프트웨어 사용자PC에 설치하여 지속적으로 검사하는 방법이다. 필요할 때만 작동하는 에이전트를 이용하는 방식은, 단말이 웹에 접근할 때 자바 애플릿이나 액티브X 컨트롤을 다운받아서 이용하는 방식이 방식이다. 이 방식은 SSL VPN을 이용하여 접속하는 외부 PC NAC를 적용할 수 있도록 한다.

- 세 번째 방법은 네트워크 인프라를 이용해 802.1X가 사용되는 유선 또는 무선 랜에서 접근 제어를 하는 방법이다. 802.1X가 사용되지 않는 경우에는 방화벽이나, 침입 방지 시스템 등이 사용된다. 기존의 보안 패치 관리 기술과 PC 환경 설정 관리 기술이 NAC에서 기기들의 보안 문제를 해결하는데 쓰여야 한다.

 

  설치형 에이전트 동적 에이전트 네트워크 스캔
장점   - 관리되는 시스템(기존 직원 PC)을 위한 가장 효과적인 시스템
 - 규칙적으로 시스템을 
상세하게 스캔
 - 접속 지연 시간 최소화 
 - 시스템 개선에도 쓰임 
 - 백신, 개인 방화벽
패치 관리, NAC 기능에 맞는 설정관리 
 - PC 관리에 최적화 
- 관리되지 않는 시스템
(방문객 PC, 개인PC 등등)을 위해 사용될 때 좋음.
 - 취약점 검사와 비슷
 - 관리되지 않은 시스템을 검사하는데 좋음.
 - 에이전트가 있지 않은 시스템들 검사 가능
 단점 - 에이전트가 설치 되지 않을 경우 NAC관리 영역에서 벗어남.
 - 기기 사용자가 소프트웨어를 지웠을 경우 사용 불가
 - 관리자 승인이 있어야 자세한 스캔가능(협조 필요)  - 보안 패치는 할 수 없음.
 - 기기에서 나오는 통신을 제어 할 수 있는 다른 구성요소가 필요
 - 스캐닝 전, , 중간에도 통신차단이 가능한 다른 요소가 필요 

  

o NAC(네트워크접근제어필수 사항

 - 기기가 네트워크 접근이 허용된 후, NAC(네트워크접근제어솔루션은 그 기기가 감염이 되었는지, 면역기능이 제대로 작동하는지, 혹은 수상하게 작동하는지에 대한 보안 체크를 해야 한다. NAC(네트워크접근제어)가 더욱 더 널리 쓰임에 따라, 악성 소프트웨어들은 초기 스캔과 차단 과정을 피하고 네트워크에 접속되는 순간 실행 되도록 설계될 것이다. 만약 보안정책을 너무 강하게 설정해 놨다면 사용자들은 네트워크 접속 후 보안 기능을 비활성화 시켜 보안정책을 피해가려 할 수도 있을 것이다.

 

- 모니터링 

1. 상태 변화 감지 : 기기에 설치된 NAC(네트워크접근제어소프트웨어 에이전트는 그 기기에 새로운 소프트웨어가 설치되거나 기기의 환경 설정이 바뀌었을 때 관리자에게 알려준다.

2. 네트워크 상태 모니터링 : 모니터링 시스템은 변칙적이거나 감염이 된 것 같은 연결 고리를 감지해 낼 수 있다.

. 웜 같은 위협은 네트워크 전반의 피해를 줄이기 위해 빠르게 격리 되어야 한다.

. 구역 나누기 : 보안 기기를 설치해 네트워크상에 구역이나 셀들을 나누어 문제가 있는 기기들은 즉시 네트워크에서 분리 시킨다.

 

취약성 점검 프로그램

 

o 시스템 취약점 점검 프로그램

- 시스템 취약점 점검도구는 로컬 시스템에 설치되어(취약점 점검 대상에 따른 분류), 시스템 운영체제의 수많은 부분을 자동 점검하여 호스트 내부의 취약점을 발견하거나 취약점에 대한 적절한 교정 방법까지도 제시하는 도구와 원격 서버에 접속하여 슈퍼유저(root) 권한으로 이들 서버의 운영체제 및 시스템 자체의 취약점을 점검하는 도구를 의미한다.

구분 설명
파일 무결성
점검도구
- tripwire : 시스템의 무결성을 보장할 수 있는 데이터베이스를 만들어 시스템의 불법 변경을 점검. 대표적인 파일 무결성 점검도구
- aide : tripwire를 대신할 수 있는 도구. message digest 알고리즘을 사용하여 파일의 변조를 점검
- slipwire : 파일의 SHA-1 해쉬값을 비교하여 변경될 경우, 사용자에게 이를 통지하는 기능이 있음.
- fcheck : 유닉스 파일시스템의 변조유무를 점검하기 위한 perl script 도구. 관리자에게 파일시스템의 변화를 통지하는 기능이 있음.
- claymore : cron 데몬을 이용하여 주기적으로 파일시스템의 변조유무를 점검. 관리자에게 파일시스템의 변화를 통지하는 기능이 있음.
시스템 설정사항
점검
- samhal : 각각의 호스트에서 실행되는 모니터링 에이전트와 이러한 에이전트로부터 정보를 수집하는 중앙 로그서버로 구성
- sbscan : anonymous ftp 설정사항, 패스워드 없는 계정, 열려진 포트, 서브넷의 promiscuous 모드가 설정된 시스템의 탐지, 의심스러운 파일, .rhost 파일, sniffer 점검, rootkit 파일 흔적 검색, xhosts, NFS 설정 사항 등을 점검
- swatch
- stjude : 솔라리스 시스템 취약점 점검도구. 솔라리스 시스템에서 권한의 흐름을 감시하는 프로그램. 비정상적인 권한 변화 즉, stack smashing, local root exploits 등을 감시함.
- HFNetChk : 윈도우 시스템의 패치 점검도구. 최신 보안 패치의 설치 유무를 점검
- MBSA : HFNetChk의 기능을 모두 포함하며, 최신의 윈도우 시스템의 버전별 핫픽스의 설치 유무나 패치 설치 유무를 점검
- Vetescan local
패스워드 점검 - crack : 사용자별로 암호를 추측하여, 이를 /bin/passwd에 의하여 암호화 시킨 뒤 /etc/passwd 파일 내의 암호화 된 정보와 비교하여 암호를 추적하는 도구
- NTCrack : 윈도우 NT 시스템의 패스워드 크랙 프로그램

 

o 네트워크 취약점 점검 프로그램

- 네트워크 취약점 점검도구는 진단시스템이 설치된 원격 시스템에서 특정 네트워크에 연결된 시스템이나 네트워크의 취약점을 알아내는 것이 목적이므로 특정 시스템이 내부적으로 가지고 있는 취약점을 모두 파악하는데는 한계가 있다. 하지만, 점검서버마다 에이전트를 운영하지 않으므로 네트워크 취약점 점검도구의 관리가 용이하다. 네트워크 취약점 점검도구는 네트워크 상의 알려지지 않은 혹은 비인가된 장비와 시스템을 발견할 수 있는 기능도 가지고 있으며, 알려지지 않은 네트워크의 비인가된 원거리 접근 서버를 발견할 수 있도록 도와준다.

 

     nmap: Unix/Linux 기반 동작

     LANguard Network Scanner: Unix/Linux 기반 동작

     NetScanTools: NT/WIN95/98/ME/2000/XP 기반 동작

     Solarwinds: NT/WIN95/98/ME/2000/XP 기반 동작

     Nessus: NT/WIN95/98/2000/Linux/Unix 기반 동작

     SATAN: Unix/Linux 기반 동작

     SARA: Unix/Linux 기반 동작

     SAINT: Unix/Linux 기반 동작

     Internet Scanner: NT/WIN2000 기반 동작

     Shadow Security Scanner: NT/WIN2000 기반 동작

     N-Stealth HTTP Security Scanner: NT/WIN2000 기반 동작

     XScsn: NT/WIN2000 기반 동작

     Nikto: Linux/NT/WIN2000 기반 동작

 

728x90