BACKRUSH  유닉스명령  다음  자료실  Ascii Table   원격접속  달력,시간   프로세스  
지하철노선   RFC문서   SUN FAQ   SUN FAQ1   C메뉴얼   PHP메뉴얼   너구리   아스키월드 아이피서치

글쓴이: admin 코드레드웜 필터링 조회수: 5301


◎ 이름:전완근 (wkjeon@certcc.or.kr)
◎ 2001/8/13(월) 17:23

네트워크 필터링기법을 통한 "Code Red" 웜바이러스 대응방법

(C)CERTCC-KR
해킹바이러스상담지원센터 cert@certcc.or.kr


[목 차]
1. 개요
2. 서비스 가능한 시스템
3. Code Red 패턴
4. 필터링 설정 방법
5. 필터링 동작 확인 방법
[참고]


1. 개요
IIS 버그 보안 패치후에도 "Code Red"웜의 HTTP GET requests는 웹서버로 계속적으로 들어오게 되어 네트워크의 부하에 많은 영향을 미치고 있다. 본 문서에서는 시스코 라우터에서 제공되는 class-map, Policy Map, 접근 제어리스트(ACL)기능 등을 사용하여 네트워크 차원에서 적용 가능한 해킹시도 방지기법과 함께 설정된 각각의 필터링 기법들의 동작여부를 확인할 수 있는 방법을 소개한다.

2. 서비스 가능한 시스템
네트워크 필터링기법을 통하여 "Code Red" 웜바이러스에 대응할 수 있는 시스코 라우터들은 다음과 같다.

-----------------------
플랫폼 : IOS 최소버젼
-----------------------
7200 : 12.1(5)T
7100 : 12.1(5)T
3660 : 12.1(5)T
3640 : 12.1(5)T
3620 : 12.1(5)T
2600 : 12.1(5)T
1700 : 12.2(2)T
----------------------
* 단,Cisco Express Forwarding (CEF)기능이 enable되어 있어야 함.

------------------------
플랫폼 : IOS 최소버젼
------------------------
7500 : 12.1(6)E
FlexWAN : 12.1(6)E
-----------------------
*단, Class-based marking 과 Distributed NBAR (DNBAR)기능 사용 가능.

3. Code Red 패턴
Code Red 웜 공격을 받으면 공격 성공여부에 상관없이 아래와 같은 메시지가 남을 수 있다.
(IIS 로그의 경우, c:\WINNT/system32/LogFiles/W3SVC) 자세한 내용은 다음 문서들를 참조 바란다.

http://www.certcc.or.kr/paper/incident_note/2001/in2001_010.html
http://www.certcc.or.kr/paper/incident_note/2001/in2001_009.html

가. 최초의 Code Red의 패턴
2001-08-04 16:32:23 24.101.17.216 - 10.1.1.75 80 GET /default.ida
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucb
d3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%
u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a 403

나. Code Red II 의 패턴
2001-08-04 15:57:35 64.7.35.92 - 10.1.1.75 80 GET /default.ida XXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%
u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u
53ff%u0078%u0000%u00=a 403 -

다. CodeRedScanner 에 나타나는 Code Red 의 패턴
*다음은 아래와 같은 보안 취약점을 점검해주는 도구를 사용하여 각 사이트내에서 감염 가능한(혹은 감염된) 시스템을 점검하였을 경우 나타나는 패턴이다.

http://www.eeye.com/html/Research/Tools/CodeRedScanner.exe

2001-08-06 22:24:02 24.30.203.202 - 10.1.1.9 80 GET /x.ida AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=X 403 HTTP/1.1 -

4. 필터링 방법
가. 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을 사용하는 방법
다음과 같은 환경이라고 가정하였을 경우 Ethernet 0/0에서 생성되는 트래픽을 통제하고 Ethernet 0/1로 유입되기 전에 필터링되도록 설정한다.

* 환경 예) E0/1(output interface) E0/0(intput interface)
<---------------------
||R|| <----------------------


*R : 서비스 가능한 Router

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

다. 해킹시도 방지 방법
아래와 같은 방법중에 하나를 선택하여 적용하면 된다.

- 접근제어리스트(ACL)를 이용하는 방법

1) ACL는 DSCP의 값이 "1" 인 것에 한해서 로그를 남긴 후에 필터링한다.

Router(config)#access-list 105 deny ip any any dscp 1 log
Router(config)#access-list 105 permit ip any any

2) 웹서버가 있는 outbound측의 inside측 인터페이스를 다음과 같이 설정한다.

Router(config)#interface ethernet 0/1
Router(config-if)#ip access-group 105 out

*주의:만약 많은 인터페이스 있을 경우 로그기능를 사용하면 많은 자원낭비를 초래하기 때문에 되도록이면 콘솔로그를 사용하지 않는 것이 좋다.

- Policy Based Routing 방법을 적용하여 필터링을 하는 예

Router(config)#access-list 106 permit ip any any dscp 1
Router(config)#route-map null_policy_route 10
Router(config)#match ip address 106
Router(config)#set interface Null0
Router(config)#interface ethernet 0/0
Router(config-if)#ip policy route-map null_policy_route

* 라우터로 부터 유출되는 모든 인터페이스에 대해서 차단하지 않고, 라우터로 유입되는 인터페이스에 대해서만 차단하도록 설정할 수도 있다.

- Policing Solution을 이용한 방법

1) 라우팅 혹은 접근통제리트(ACL), 전송속도와는 상관없이 트래픽을 제어할 수 있다.

Router(config)#policy-map drop-inbound-http-hacks
Router(config-pmap)#class http-hacks
Router(config-pmap)#police 1000000 31250 31250 conform-action drop exceed-action drop violate-action drop

2) 라우팅 혹은 접근통제리트(ACL)와는 상관없이 트래픽을 제어할 수 있다.

Router(config)#interface ethernet 0/0
Router(config-if)#service-policy input drop-inbound-http-hacks

5. 필터링 동작 확인 방법
다음은 설정된 각각의 필터링 기법들의 동작여부를 확인하는 방법들이다.

가. 접근제어리스트(ACL) Solution 운영 확인방법
Router#show access-list 105
Extended IP access list 105
deny ip any any dscp 1 log (2406 matches)
deny tcp any any dscp 1 log
permit ip any any (731764 matches)

나. Policy Based Routing Solution 운영 확인방법
Router#show access-list 106
Extended IP access list 106
deny ip any any dscp 1 (1506 matches)
Router#show log
Aug 4 13:25:20: %SEC-6-IPACCESSLOGP: list 105 denied tcp A.B.C.D.(0) -> 10.1.1.75(0), 6 packets
Aug 4 13:26:32: %SEC-6-IPACCESSLOGP: list 105 denied tcp A.B.C.D.(0) -> 10.1.1.75(0), 6 packets

*로그에 탐지된 IP 10.1.1.75(0)와 A.B.C.D.(0)는 설정된 환경에 따라 다르게 나타나게 된다.

다. Policing Solution 운영 확인방법
Router#show policy-map interface ethernet 0/0
Ethernet0/0
Service-policy input: mark-inbound-http-hacks
Class-map: http-hacks (match-any)
3101 packets, 4292566 bytes
30 second offered rate 2000 bps, drop rate 0 bps
Match: protocol http url "*default.ida*"
3101 packets, 4292566 bytes
30 second rate 2000 bps
Match: protocol http url "*cmd.exe*"
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol http url "*root.exe*"
0 packets, 0 bytes 30 second rate 0 bps
QoS Set
ip dscp 1
Packets marked 3101
Router#show policy-map interface fastEthernet 0/0
Ethernet0/0
Service-policy input: drop-inbound-http-hacks
Class-map: http-hacks (match-any)
5 packets, 300 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: protocol http url "*default.ida*"
5 packets, 300 bytes
5 minute rate 0 bps
Match: protocol http url "*cmd.exe*"
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol http url "*root.exe*"
0 packets, 0 bytes 30 second rate 0 bps
police:
1000000 bps, 31250 limit, 31250 extended limit
conformed 5 packets, 300 bytes; action: drop
exceeded 0 packets, 0 bytes; action: drop
conformed 0 bps, exceed 0 bps violate 0 bps

관련글 : 없음 글쓴시간 : 2002/01/17 17:00 from 61.82.164.84

  NAT 와 DHCP 목록보기 새글 쓰기 지우기 응답글 쓰기 글 수정 침입탐지시스템  
BACKRUSH  유닉스명령  다음  자료실  Ascii Table   원격접속  달력,시간   프로세스  
지하철노선   RFC문서   SUN FAQ   SUN FAQ1   C메뉴얼   PHP메뉴얼   너구리   아스키월드 아이피서치