방화벽 엔진 드라이버에는 네트워크 침입을 감지하고 차단하는 몇 가지 필터들이 포함되어 있습니다. 방화벽 엔진 드라이버는 단일 패킷을 중심으로 확인 가능한 공격들을 차단하는 상태 기반 침입 탐지 기능을 수행합니다. 반면, 방화벽 서비스는 어플리케이션 필터를 통해 상태 기반 침입 탐지 기능을 수행합니다.

방화벽 엔진 드라이버는 다음과 같은 공격들을 막아냅니다:


  • IP 옵션 기반 공격
  • 주소 스푸핑 공격
  • SYN 공격
  • Windows 아웃오브밴드(out-of-band: 대역외) 공격
  • 랜드(Land) 공격
  • IP 하프 스캔(IP half scan) 공격
  • 죽음의 핑(Ping of death) 공격
  • UDP 폭탄(bomb) 공격
  • 열거형 포트 스캔((Enumerated Port Scan) 공격

1. IP 옵션 기반 공격

(라우팅 공격과 같이) 다양한 IP 옵션 필드를 사용하는 것이 일반적인 공격 벡터입니다. 방화벽 엔진 드라이버는 들어오는 패킷들이 다양한 IP 옵션 필드 집합을 가지고 있진 않은가를 확인하도록 되어 있습니다. 방화벽 엔진 드라이버는 옵션 집합을 가지고 있는 패킷이나 현재 설정되어 있는 특정 IP 옵션을 기반으로 패킷을 거부할 수 있습니다.

IP옵션 유형 필드에서 확인되는 선택적 헤더 필드들에 대한 규칙을 가지고 있습니다. 옵션 0 1은 정확하게 1 옥텟(octet)이며, 이것이 이들의 유형 필드입니다. 그 밖의 모든 옵션들은 각자 1 옥텟 유형 필드를 가지며, 그 다음 1옥텟 길이 필드, 2 옥텟 옵션 데이터도 포함됩니다. 옵션 유형 필드는 1 비트 복사 플래그, 2 비트 클래스 필드, 5비트 옵션 번호로 세분화됩니다. 그리고 이들이 합해져 옵션 유형 필드에 대한 8비트 값을 형성합니다. 1 IP 옵션 정보를 정리한 것입니다.



복사

클래스

번호

이름

참조

0

0

0

0

EOOL - End of Options List

RFC 791

0

0

1

1

NOP - No Operation

RFC 791

1

0

2

130

SEC - Security

RFC 1108

1

0

3

131

LSR - Loose Source Route

RFC 791

0

2

4

68

TS - Time Stamp

RFC 791

0

0

7

7

RR - Record Route

RFC 791

1

0

8

136

SID - Stream ID

RFC 791

1

0

9

137

SSR - Strict Source Route

RFC 791

1

0

20

148

RTRALT - Router Alert

RFC 2113

 1   IP 옵션



다음은 각 IP 옵션에 대한 설명입니다:

  • End of Options List   이 옵션은 IP 헤더에 있는 옵션 목록의 끝부분을 가리키는 것입니다. 이는 헤더 길이에 따라 헤더 끝부분과 일치하지 않을 수도 있습니다. 이는 각 옵션의 끝부분이 아닌 모든 옵션들의 끝부분에서 사용되며, 옵션 끝부분이 IP 헤더의 끝부분과 일치하지 않는 경우에만 사용됩니다.
  • No Operation  이 옵션은 IP 옵션들 간에 사용됩니다.
  • Security    이 옵션은 호스트가 보안, 처리 제한, TCC 매개 변수들을 전송할 수 있는 방법을 제공합니다.
  • Time Stamp  발신 호스트는 예상되는 모든 타임 스탬프 정보들을 확보하도록 이 옵션에 충분한 타임 스탬프 데이터 영역을 두어야 합니다. 타임 스탬프 추가에 따라 옵션의 크기가 변경되지는 않습니다. 타임 스탬프 데이터 영역이 다 찬 경우(포인터가 길이를 초과)에는, 타임 스탬프를 입력하지 않고 데이터그램이 전송됩니다. 그러나 오버플로 값은 1 증가합니다. 공간이 조금 남아 있으나 완전한 타임스탬프를 입력할 정도로 충분하지 않거나 오버플로 값 자체가 그 값을 넘어 버리면, 원 데이터그램이 오류 상태에 있거나 버려진 것으로 간주됩니다. 두 경우 모두, 소스 호스트에게 ICMP 매개변수 문제 메시지가 발송될 수 있습니다.
  • Record Route  이 옵션은 IP 데이터그램의 경로를 기록할 수 있는 방법을 제공합니다. 인터넷 모듈은 데이터그램을 라우트할 때, Record Route 옵션이 있는지 여부를 확인합니다. 만약 존재한다면, 이는 데이터그램이 전송될 환경에 알려져 있는 자신의 주소를 기록된 경로에 입력하며(포인터가 가리키는 바이트에서 시작), 포인터는 4까지 증가합니다.
  • Stream ID  이 옵션은 스트림 개념을 지원하지 않는 네트워크를 통해 16 비트 SATNET 스트림 식별기를 전송할 수 있는 방법을 제공합니다. 이는 반드시 조각 모음에 복사되어야 하고, 데이터그램에서 많아야 한 번 정도 나타납니다.
  • Source Routing  소스 라우팅인 패킷 전송자가 네트워크를 통해 패킷이 전송되어야 하는 경로를 확인할 수 있는 기술입니다. 패킷이 네트워크를 따라 이동하기 때문에, 각 라우터는 대상 IP 주소를 점검하고 패킷 전송을 위해 다음 홉(hop)을 선택합니다. 소스 라우팅에서는 전송자(소스)가 이러한 것들 중 몇 가지, 또는 모두를 결정합니다. 엄격한 소스 라우팅에서는 전송자가 패킷이 전송되어야 하는 정확한 경로를 구체적으로 지정합니다. 그러나 일반적이진 않습니다.

공격자들이 사용하는 보다 일반적인 방식은 소스 기록 경로를 느슨하게 하는 것, 즉 소스의 라우트 정보를 잃어버리게 하는 것입니다(LSRR 또는 loose source routing). 이 경우 전송자는 패킷이 통과해야 할 홉을 하나 이상 지정하게 됩니다.

소스 라우팅은 다음과 같은 경우 사용됩니다:

  • 네트워크 매핑  네트워크 지점 간의 모든 경로들을 찾는 tracert 와 함께 사용.
  • 문제 해결  지점 “A”에서 컴퓨터 “C”“B”가 통신하지 못하는 이유를 파악할 때 사용.
  • 성능   네트워크 관리자는 다소 느리지만 기본 경로 정체 현상을 피할 수 있는 대체 링크(, 위성 인터넷 접속) 사용 여부를 선택할 수 있습니다.
  • 해킹   느슨한 소스 라우팅(Loose source routing)은 해킹을 목적으로 사용될 수 있습니다. 간혹 컴퓨터들이 인터넷 상에는 있으나 접속이 불가능한 경우가 있습니다. 그러나 양측에 접속이 가능하면서 패킷들을 전송할 수 있는 또 다른 컴퓨터가 있습니다. 이 경우 누군가 인터넷에서 그 중간 장치를 통해 소스 라우팅 방식으로 그러한 개인 컴퓨터에 접속할 수 있습니다.
  • 라우터 경고  이 옵션은 IP 데이터그램의 콘텐츠를 보다 면밀하게 관찰하기 위해 중계 라우터를 활용할 때 사용됩니다. 이는 대상으로 배달되나 라우터에 복잡한 처리 과정이 요구되는 새로운 프로토콜들을 위해 유용합니다.


2. 주소 스푸핑 공격

파일 엔진 드라이버는 스푸핑 공격을 감시합니다. 스푸핑된 패킷이란 패킷의 소스 주소가 마치 원래 보내진 곳이 아닌 다른 어댑터를 통해 수신된 것처럼 보이도록 변형된 패킷입니다. 방화벽 엔진은 또한 네트워크 요소가 정확하게 구성되어 있지 않을 때 스푸핑 공격을 감지합니다. 그리고 정확하지 않은 라우팅 구성은 패킷이 다른 인터페이스로 전송되도록 합니다.

네트워크 스푸핑에서는 시스템이 자신을 마치 다른 시스템인 것처럼 가장합니다. 예를 들어, 컴퓨터 A가 소스인 자신의 주소 대신 컴퓨터 B IP 주소를 전송함으로써 컴퓨터 B인 것처럼 속이는 것입니다. 네트워크 스푸핑은 다음과 같은 방식으로 일어납니다: 컴퓨터 A는 컴퓨터 B IP 주소를 신뢰합니다. 컴퓨터 C가 컴퓨터 B IP 주소를 스푸핑합니다. 그리고 이를 통해 원래는 거부되었을 액세스 권한을 확보하는 것입니다. 이 예에서 스푸핑이 성공하기 위해서는 신뢰가 오직 IP 주소 인증을 기반으로만 이루어져야 합니다.


3. SYN 공격

SYN 공격은 공격자가 잘못된 소스 IP 주소를 사용해 단일 서버에 TCP SYN 메시지들을 전송할 때 일어납니다. 이에 무방비한 서버들은 수신된 SYN 메시지에 리소스들을 할당하여, 공격 시 리소스 드레인(drain)에 취약한 상태가 됩니다.

방화벽 엔진 드라이버에는 SYN 공격 보호 메커니즘이 포함되어 있습니다. 이 공격 보호 메커니즘은 승인되지 않은 SYN 패킷의 수가 미리 지정한 한계값을 초과할 때 활성화됩니다. 이런 상황이 발생하면 드라이버는 리소스들이 SYN 패킷에 할당되는 것을 막는 내부 메커니즘을 채택합니다.


4. Windows 대역외(Out-of-Band) 공격

Windows 대역외 공격은 Windows 시스템이 "URGENT" 플래그 집합과 함께 패킷을 수신하고 데이터가 해당 플래그를 준수할 것이라고 예상될 때 일어납니다. 이런 공격은 URGENT 플래그 설정을 통해 이루어지는 데, 데이터와 관련된 것은 아닙니다. Windows 대역외 공격 경고 메시지를 통해 ISA Server가 보호하는 컴퓨터를 대상으로 하는 대역외 서비스 거부 공격 있었다는 사실을 통보 받습니다. 만약 이 공격이 성공하게 되면, 컴퓨터는 취약한 컴퓨터들과의 네트워크 연결에 실패하거나 접속이 끊어지는 현상을 경험하게 됩니다.


5. 랜드(Land) 공격

랜드 공격은 소스 IP 주소 및 포트 번호와 대상 IP 주소 및 포트 번호가 일치되도록 스푸핑된 TCP SYN 패킷이 전송될 때 일어납니다. 이 공격은 일부 TCP 실행 작업들을 루프 상태로 만들어 컴퓨터가 제대로 작동할 수 없게 합니다.

죽음의 핑(Ping of Death) 공격

Ping of Death 공격은 최대 패킷 크기보다 큰 데이터를 가진 패킷이 수신되는 경우 일어납니다. 이 공격은 수신되었을 때 커널 버퍼 오버플로를 일으키고, 컴퓨터를 중단시킵니다.


6. IP 하프 스캔(IP Half Scan) 공격

정상적인 TCP 연결에서 소스는 대상 시스템의 IP 주소와 포트에 SYN 패킷을 전송함으로써 새로운 연결을 시도합니다. 서비스가 해당 포트에서 이를 수신한다면, SYN/ACK 패킷을 통해 그에 응답합니다. 그럼 연결을 시도한 클라이언트는 ACK 패킷을 통해 재응답하고, 연결이 성립됩니다. 이 프로세스는 three-way handshake(쓰리웨이 핸드 쉐이크; 3WHS) 라고도 알려져 있습니다.

그러나 대상 호스트가 지정된 포트에서 연결을 기다리고 있지 않았던 경우에는 TCP RST로 응답합니다. 대부분의 시스템 로그는 소스에서 최종 ACK가 수신될 때까지는 완전한 연결로 기록하지 않습니다. 이런 절차를 따르지 않는 다른 유형의 패킷들을 전송하면 연결이 기록되는 것을 피하면서 대상 호스트로부터 유용한 응답을 이끌어낼 수 있습니다. 이 공격은 스캔된 호스트에 로그 항목을 생성하지 않기 때문에 은폐형 스캔(stealth scan) 이라고도 합니다.


7. UDP 폭탄(bomb) 공격

UDP 폭탄(bomb) 공격은 잘못된 UDP 패킷을 전송할 때 이루어집니다. UDP 패킷은 특정 필드에 잘못된 값을 넣어 만들 수 있는데, 일부 구형 운영 체제들은 이러한 패킷을 수신할 경우 중단될 수 있습니다. 그리고 이처럼 대상 컴퓨터가 중단되면, 그 원인을 파악하기가 어렵습니다.


8. 열거형 포트 스캔 공격(Enumerated Port Scan Attacks)

이 공격은 응답을 위해 잘 알려진 포트들을 검사함으로써 컴퓨터 상에서 실행되는 서비스들을 파악하려는 시도가 있을 때 일어납니다.


9. 모든 포트 스캔 공격

이 경고 메시지는 사전에 지정한 포트 수보다 많은 포트에 대한 액세스 시도가 있었음을 의미합니다. 액세스할 수 있는 포트의 수를 나타내는 임계값을 지정할 수 있습니다.



자료출처 : 마이크로소프트 'ISA Server 2006 Firewall Core 백서'
Posted by 혜민아빠

트랙백 주소 :: http://ntfaq.co.kr/trackback/4124 관련글 쓰기

댓글을 달아 주세요