운영 체제 식별 프로브
익스플로잇을 시작하기 전에 공격자는 대상 호스트를 조사하여 운영 체제를 알아내려고 할 수 있습니다. 다양한 운영 체제가 각기 다른 방식으로 TCP 이상에 대응합니다. 이러한 정보를 바탕으로 공격자는 디바이스, 네트워크 또는 둘 다에 더 많은 피해를 줄 수 있는 추가 공격을 결정할 수 있습니다. 자세한 내용은 다음 항목을 참조하세요.
운영 체제 식별 프로브 이해
익스플로잇을 시작하기 전에 공격자는 대상 호스트를 조사하여 운영 체제(OS)를 학습하려고 할 수 있습니다. 이러한 지식을 바탕으로 어떤 공격을 시작하고 어떤 취약점을 악용할지 더 잘 결정할 수 있습니다. Junos OS는 OS 유형에 대한 정보를 수집하는 데 일반적으로 사용되는 정찰 프로브를 차단할 수 있습니다.
DNS(Domain Name System) 확인 이해
Junos OS 릴리스 12.1X47 이전에는 UDP만 전송으로 사용하여 DNS 확인이 수행되었습니다. UDP에 의해 전달되는 메시지는 512바이트로 제한됩니다. 더 긴 메시지는 잘리고 트래픽 클래스(TC) 비트가 헤더에 설정됩니다. UDP DNS 응답 메시지의 최대 길이는 512바이트이지만 TCP DNS 응답 메시지의 최대 길이는 65,535바이트입니다. DNS 해석기는 TC 비트가 헤더에 설정된 경우 응답이 완료되었는지 여부를 알고 있습니다. 따라서 TCP DNS 응답은 UDP DNS 응답보다 더 많은 정보를 전달할 수 있습니다.
DNS 확인 동작에는 세 가지 유형이 있습니다.
UDP DNS 확인
TCP DNS 확인
UDP/TCP DNS 확인
정책은 UDP/TCP DNS 확인을 사용하여 IP 주소를 확인합니다. UDP/TCP DNS 확인에서는 UDP DNS 확인이 먼저 사용되고 잘리면 TCP DNS 확인이 사용됩니다.
라우팅 엔진 정책은 PFE로 전송할 수 있는 최대 1024개의 IPv4 주소 접두사와 256개의 IPv6 주소 접두사를 지원합니다. IPv4 또는 IPv6 주소 접두사의 최대 수가 한도를 초과할 경우, 한도를 초과하는 주소는 PFE로 전송되지 않으며 syslog 메시지가 생성됩니다. TCP DNS 응답의 최대 주소 수는 IPv4 주소의 경우 4094개, IPv6 주소의 경우 2340개이지만, 1024개의 IPv4 주소와 256개의 IPv6 주소만 PFE에 로드됩니다.
SYN 및 FIN 플래그가 설정된 TCP 헤더 이해
SYN 및 FIN 제어 플래그는 일반적으로 동일한 TCP 세그먼트 헤더에 설정되지 않습니다. SYN 플래그는 시퀀스 번호를 동기화하여 TCP 연결을 시작합니다. FIN 플래그는 TCP 연결을 완료하기 위한 데이터 전송의 끝을 나타냅니다. 그들의 목적은 상호 배타적입니다. SYN 및 FIN 플래그가 설정된 TCP 헤더는 비정상적인 TCP 동작으로, OS에 따라 수신자로부터 다양한 응답을 유발합니다. 그림 1을 참조하십시오.
공격자는 두 플래그가 모두 설정된 세그먼트를 보내 어떤 종류의 시스템 응답이 반환되는지 확인하고 수신 끝에 어떤 종류의 OS가 있는지 확인할 수 있습니다. 그런 다음 공격자는 알려진 시스템 취약성을 추가 공격에 사용할 수 있습니다.
이 화면 옵션을 활성화하면 Junos OS는 SYN 및 FIN 플래그가 TCP 헤더에 설정되어 있는지 확인합니다. 이러한 헤더를 발견하면 패킷을 삭제합니다.
Junos OS는 IPv4 및 IPv6 트래픽 모두에 대해 SYN 및 FIN 플래그 세트 보호가 있는 TCP 헤더를 지원합니다.
예: SYN 및 FIN 플래그가 설정된 패킷 차단
이 예에서는 SYN 및 FIN 플래그가 설정된 패킷을 차단하는 화면을 만드는 방법을 보여줍니다.
요구 사항
시작하기 전에 SYN 및 FIN 플래그가 있는 TCP 헤더의 작동 방식을 이해해야 합니다. SYN 및 FIN 플래그가 설정된 TCP 헤더 이해를 참조하십시오.
개요
SYN 및 FIN 플래그가 설정된 TCP 헤더는 실행 중인 OS에 따라 대상 디바이스에서 다른 응답을 유발합니다. 보안 영역에 대해 syn-fin 화면이 활성화됩니다.
이 예제에서는 보안 영역에 screen-1이라는 화면을 만들어 SYN 및 FIN 플래그가 설정된 패킷을 차단합니다.
위상수학
구성
절차
단계별 절차
SYN 및 FIN 플래그가 모두 설정된 패킷 차단:
화면을 구성합니다.
[edit] user@host# set security screen ids-option screen-1 tcp syn-fin
보안 영역에서 화면을 활성화합니다.
[edit ] user@host# set security zones security-zone zone-1 screen screen-1
디바이스 구성을 완료하면 구성을 커밋합니다.
[edit] user@host# commit
확인
구성이 올바르게 작동하고 있는지 확인합니다.
보안 영역의 화면 확인
목적
보안 영역에서 화면이 활성화되었는지 확인합니다.
행동
운영 모드에서 명령을 입력합니다 show security zones
.
[edit] user@host> show security zones Security zone: zone-1 Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: screen-1 Interfaces bound: 1 Interfaces: ge-1/0/0.0
FIN 플래그가 설정되고 ACK 플래그가 설정되지 않은 TCP 헤더 이해
그림 2 는 세션의 종료를 알리고 연결을 종료하기 위해 FIN 제어 플래그가 설정된 TCP 세그먼트를 보여줍니다. 일반적으로 FIN 플래그가 설정된 TCP 세그먼트에는 ACK 플래그도 설정되어 있습니다(수신된 이전 패킷을 승인하기 위해). FIN 플래그가 설정되었지만 ACK 플래그가 아닌 TCP 헤더는 비정상적인 TCP 동작이므로 이에 대한 균일한 응답이 없습니다. OS는 RST 플래그가 설정된 TCP 세그먼트를 전송하여 응답할 수 있습니다. 다른 사람은 그것을 완전히 무시할 수 있습니다. 피해자의 대응은 공격자에게 OS에 대한 단서를 제공할 수 있습니다. (FIN 플래그가 설정된 TCP 세그먼트를 보내는 다른 목적은 주소 및 포트 스캔을 수행하는 동안 탐지를 회피하고 대신 FIN 폭주를 수행하여 SYN 폭주에 대한 방어를 회피하는 것입니다.)
공급업체는 TCP/IP 구현을 설계할 때 RFC 793( 전송 제어 프로토콜)을 다양하게 해석했습니다. TCP 세그먼트가 FIN 플래그가 설정되었지만 ACK 플래그가 아닌 상태로 도착하면 일부 구현은 RST 세그먼트를 보내는 반면 다른 구현은 RST를 보내지 않고 패킷을 삭제합니다.
이 화면 옵션을 활성화하면 Junos OS는 FIN 플래그가 설정되었는지 확인하지만 TCP 헤더의 ACK 플래그는 설정되지 않았는지 확인합니다. 이러한 헤더가 있는 패킷을 발견하면 패킷을 삭제합니다.
Junos OS는 IPv4 및 Ipv6 트래픽 모두에 대해 SYN 및 FIN 플래그 세트 보호가 있는 TCP 헤더를 지원합니다.
예: FIN 플래그가 설정되고 ACK 플래그가 설정되지 않은 패킷 차단
이 예는 FIN 플래그는 설정되었지만 ACK 플래그는 설정되지 않은 패킷을 차단하는 화면을 만드는 방법을 보여줍니다.
요구 사항
시작하기 전에 TCP 헤더의 작동 방식을 이해해야 합니다. FIN 플래그가 설정된 경우와 ACK 플래그가 설정되지 않은 TCP 헤더 이해를 참조하십시오.
개요
FIN 플래그가 설정된 TCP 세그먼트에는 수신된 이전 패킷을 승인하도록 설정된 ACK 플래그도 있습니다. FIN 플래그는 설정되었지만 ACK 플래그는 설정되지 않은 TCP 헤더는 비정상적인 TCP 동작이므로 이에 대한 균일한 응답이 없습니다. fin-no-ack screen 옵션을 활성화하면 Junos OS는 FIN 플래그가 설정되어 있는지 확인하지만 TCP 헤더의 ACK 플래그는 설정되지 않았는지 확인합니다. 이러한 헤더가 있는 패킷을 발견하면 패킷을 삭제합니다.
이 예에서는 screen-1이라는 화면을 만들어 FIN 플래그는 설정되었지만 ACK 플래그는 설정되지 않은 패킷을 차단합니다.
구성
절차
단계별 절차
FIN 플래그는 설정되었지만 ACK 플래그는 설정되지 않은 패킷을 차단하려면,
화면을 구성합니다.
[edit ] user@host# set security screen ids-option screen-1 tcp fin-no-ack
디바이스 구성을 완료하면 구성을 커밋합니다.
[edit] user@host# commit
확인
구성이 올바르게 작동하고 있는지 확인합니다.
보안 영역의 화면 확인
목적
보안 영역에서 화면이 활성화되었는지 확인합니다.
행동
운영 모드에서 명령을 입력합니다 show security zones
.
[edit] user@host> show security zones Security zone: zone-1 Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: screen-1 Interfaces bound: 1 Interfaces: ge-1/0/0.0
플래그가 설정되지 않은 TCP 헤더 이해
일반 TCP 세그먼트 헤더에는 하나 이상의 플래그 제어 집합이 있습니다. 제어 플래그가 설정되지 않은 TCP 세그먼트는 비정상적인 이벤트입니다. 운영 체제마다 이러한 이상에 다르게 응답하기 때문에 대상 디바이스의 응답(또는 응답 부족)은 실행 중인 OS 유형에 대한 단서를 제공할 수 있습니다. 그림 3을 참조하십시오.
디바이스가 플래그가 설정되지 않은 TCP 세그먼트 헤더를 감지하도록 활성화하면 디바이스는 누락되거나 잘못된 형식의 플래그 필드가 있는 모든 TCP 패킷을 삭제합니다.
Junos OS는 IPv4 및 IPv6 트래픽 모두에 대해 플래그 세트 보호 없이 TCP 헤더를 지원합니다.
예: 플래그가 설정되지 않은 패킷 차단
이 예는 플래그가 설정되지 않은 패킷을 차단하는 화면을 만드는 방법을 보여줍니다.
요구 사항
시작하기 전에 플래그가 설정되지 않은 TCP 헤더의 작동 방식을 이해해야 합니다. 플래그가 설정되지 않은 TCP 헤더 이해를 참조하십시오.
개요
일반 TCP 세그먼트 헤더에는 하나 이상의 플래그 제어 집합이 있습니다. 제어 플래그가 설정되지 않은 TCP 세그먼트는 비정상적인 이벤트입니다. 운영 체제마다 이러한 이상에 다르게 응답하기 때문에 대상 디바이스의 응답(또는 응답 부족)은 실행 중인 OS 유형에 대한 단서를 제공할 수 있습니다.
디바이스가 플래그가 설정되지 않은 TCP 세그먼트 헤더를 감지하도록 활성화하면 디바이스는 누락되거나 잘못된 형식의 플래그 필드가 있는 모든 TCP 패킷을 삭제합니다.
이 예제에서는 screen-1이라는 화면을 만들어 플래그가 설정되지 않은 패킷을 차단합니다.
구성
절차
단계별 절차
플래그가 설정되지 않은 패킷 차단:
화면을 구성합니다.
[edit ] user@host# set security screen ids-option screen-1 tcp tcp-no-flag
보안 영역에서 화면을 활성화합니다.
[edit ] user@host# set security zones security-zone zone-1 screen screen-1
디바이스 구성을 완료하면 구성을 커밋합니다.
[edit] user@host# commit
확인
구성이 올바르게 작동하고 있는지 확인합니다.
보안 영역의 화면 확인
목적
보안 영역에서 화면이 활성화되었는지 확인합니다.
행동
운영 모드에서 명령을 입력합니다 show security zones
.
[edit] user@host> show security zones Security zone: zone-1 Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: screen-1 Interfaces bound: 1 Interfaces: ge-1/0/0.0