이 페이지 내용
침입 탐지 및 방지(IDP) 정책에 대한 공격 객체 및 객체 그룹
이 주제는 침입 탐지 및 방지(IDP) 공격 객체 및 그룹에 대한 세부 정보를 설명합니다. 다양한 위협과 취약성으로부터 네트워크를 보호하기 위해 공격 객체 및 그룹을 생성, 수정 및 사용하는 방법을 설명합니다. 이를 통해 강력한 보안 조치를 취할 수 있습니다.
공격 객체, 애플리케이션 시그니처 객체 및 서비스 객체는 침입 탐지 및 방지(IDP) 정책 규칙을 정의하는 데 사용됩니다. 주니퍼 네트웍스는 새로운 취약점에 대한 대응책으로 공격 데이터베이스 업데이트가 포함된 파일을 주니퍼 웹 사이트에 주기적으로 제공합니다. 이 파일을 다운로드하여 새로운 위협으로부터 네트워크를 보호할 수 있습니다. 이러한 공격 개체 및 그룹은 네트워크 트래픽 내에서 알려진 공격 패턴과 프로토콜 이상을 탐지하도록 설계되었습니다. 침입 탐지 및 방지(IDP) 정책 규칙에서 공격 객체 및 그룹을 일치 조건으로 구성할 수 있습니다.
자세한 내용은 다음 항목을 참조하세요.
알려진 취약점과 알려지지 않은 취약점을 해결하기 위한 주니퍼의 접근 방식 이해
이 주제는 다음 섹션을 포함합니다.
알려진 취약점
알려진 취약점은 인터넷 보안 커뮤니티 내에서 문서화된 취약점입니다. 인터넷 보안 커뮤니티는 여러 보안 조직, 보안 분석가 및 보안 포럼으로 구성됩니다. 보안 커뮤니티는 지속적으로 새로운 공격을 발견하고 분석하며 인터넷을 통해 이 정보를 교환합니다. 이러한 방식으로 공격을 빠르게 찾고 식별하며 정확하게 파악할 수 있습니다.
일부 보안 권고에는 실제 공격 코드가 포함되어 있습니다. 공격 정보 및 공격 코드를 사용하여 패킷 정보 및 서비스 컨텍스트를 캡처할 수 있습니다. 이 정보를 사용하여 사용자 지정 서명 공격 객체를 생성할 수 있습니다.
안타깝게도 대부분의 권고는 공격 설명과 함께 공격 코드를 게시하지 않습니다. 공격 코드를 얻을 수 없는 경우 권고 사항을 주의 깊게 읽고 공격 패킷의 기본 사항을 재구성해 보십시오.
출처를 알 수 없는 코드에서 가져온 코드는 격리해야 합니다.
다음 조직은 보안 커뮤니티에서 활발하게 활동하고 있으며 공격 정보를 찾는 데 유용한 리소스입니다.
NVD—국가 취약성 데이터베이스(http://nvd.nist.gov). SCAP(Security Content Automation Protocol)를 사용하여 표시되는 취약성 관리 데이터의 미국 정부 리포지토리입니다.
SANS - SysAdmin, Audit, Network, Security Institute(www.sans.org). 보안 경고를 제공하는 정보 보안 연구, 인증 및 교육 조직입니다. 또한 http://www.incidents.org 에서 ISC(Internet Storm Center)를 호스팅합니다.
CVE - http://cve.mitre.org(Common Vulnerabilities and Exposures). 표준화된 취약성 및 기타 정보 보안 노출 목록입니다.
BugTraq(http://securityfocus.com/archive/1). Security Focus에서 호스팅하는 중재된 메일링 리스트로, 컴퓨터 보안 취약점에 대해 논의하고 공지합니다.
CERT 조정 센터(http://www.cert.org). 보안 권고를 제공하는 연방 자금 지원 보안 경고 조직입니다.
패킷 스톰 보안(http://packetstormsecurity.nl). 보안 뉴스, 공지, 포럼 및 공격 코드를 통해 보안 정보를 제공하는 보안 전문가로 구성된 비영리 조직입니다.
메타스플로이트(http://www.metasploit.com). Metasploit은 침투 테스트, IDS 시그니처 개발 및 익스플로잇 연구를 수행하는 데 유용한 정보를 제공합니다.
FrSIRT—프랑스 보안 사고 대응 팀(http://www.frsirt.com). FrSIRT는 보안 권고 및 실시간 취약성 경고 및 알림 서비스를 제공하는 독립적인 보안 연구 조직입니다.
ISS—인터넷 보안 시스템(http://www.iss.net). 경고 및 인터넷 위협 수준을 제공하는 인터넷 보안 회사입니다.
알려지지 않은 취약점
알 수 없는 취약점은 인터넷 보안 커뮤니티 권고에 문서화되지 않은 취약점입니다. 이러한 경우 프로덕션 환경에서 생성된 IDP 시리즈 프로파일러, 방화벽 또는 IDP 보안 이벤트 로그가 의심스러운 활동 및 비정상적인 트래픽에 대해 경고합니다. 프로덕션 환경에서는 패킷 로깅 도구를 사용하여 나중에 랩에서 분석하고 실험할 수 있는 패킷 및 서비스 컨텍스트 정보를 캡처합니다.
사용자 지정 공격 객체 테스트
사용자 지정 공격 객체를 테스트하려면 다음 워크플로를 사용하는 것이 좋습니다. 다음 절차는 일반적인 단계로 구성되며 이러한 작업에 익숙한 전문 사용자를 대상으로 합니다.
사용자 지정 공격 객체를 테스트하려면 다음을 수행합니다.
- 테스트할 사용자 지정 공격 객체만 포함하는 새 보안 정책 및 새 침입 탐지 및 방지(IDP) 규칙 기본 규칙을 생성합니다. 로깅 및 패킷 로깅을 활성화합니다.
- 정책을 침입 탐지 및 방지(IDP) 시리즈 랩 디바이스에 푸시합니다.
- 공격자 컴퓨터에서 피해자 컴퓨터를 대상으로 하는 공격을 재현합니다.
- Security Director 로그 뷰어를 사용하여 트래픽 생성 로그가 예상대로 발생했는지 확인합니다.
테스트가 실패하면 공격 권고, 프로토콜 RFC 및 공격 코드 또는 패킷 캡처를 검토하여 설정을 미세 조정하는 데 도움이 될 수 있는 추가 정보를 확인합니다. 조정이 필요한 가장 빈번한 문제는 DFA 표현식의 구문입니다.
서명 공격 객체 생성
시그니처 공격 객체는 시스템이 탐지하기를 원하는 패턴입니다. DFA 표현식을 사용하여 패턴을 나타냅니다. 설정할 수 있는 다른 모든 서명 속성(예: 서비스 또는 프로토콜 컨텍스트, 방향, 기타 제약 조건)이 제공되므로 패턴을 탐지할 때 시스템 성능을 최적화하고 오탐을 제거할 수 있습니다. 일반적으로, 서명 공격 객체의 설정을 조정하여 시스템이 공격 객체가 발생할 수 있는 모든 컨텍스트에서 해당 객체를 찾고 다른 컨텍스트에서는 찾지 않도록 해야 합니다.
서명 공격 객체를 구성하려면 다음을 수행합니다.
사전 정의된 침입 탐지 및 방지(IDP) 공격 객체 및 객체 그룹 이해하기
침입 탐지 및 방지(IDP)용 보안 패키지에는 IDP 정책에서 알려진 공격과 알려지지 않은 공격에 대한 트래픽을 일치시키는 데 사용할 수 있는 사전 정의된 IDP 공격 개체 및 IDP 공격 개체 그룹의 데이터베이스가 포함되어 있습니다. 주니퍼 네트웍스는 새롭게 발견된 공격 패턴으로 사전 정의된 공격 개체 및 그룹을 정기적으로 업데이트합니다.
공격 객체 데이터베이스에 대한 업데이트에는 다음이 포함될 수 있습니다.
기존 공격 객체에 대한 새로운 설명 또는 심각도
새로운 공격 객체
더 이상 사용되지 않는 공격 객체 삭제
이 주제는 다음 섹션을 포함합니다.
사전 정의된 공격 객체
사전 정의된 공격 객체는 알파벳 순서로 나열됩니다. 이러한 공격 객체에는 공격을 식별하는 데 도움이 되는 고유한 이름이 있습니다. 이름의 첫 번째 부분은 공격 대상이 속한 그룹을 나타냅니다. 예를 들어:
FTP:USER:ROOT- 그룹에 속합니다FTP:USER. 계정을 사용하여 FTP 서버에 로그인하려는 시도를 탐지합니다root.HTTP:HOTMAIL:FILE-UPLOAD- 그룹에 속합니다HTTP:HOTMAIL. 웹 기반 이메일 서비스를Hotmail통해 전송된 이메일에 첨부된 파일을 감지합니다.
사전 정의된 공격 객체 그룹
사전 정의된 공격 그룹 목록에는 아래에 설명된 범주의 공격 객체가 표시됩니다. 주니퍼 네트웍스에서 심각한 위협으로 간주하는 일련의 권장 공격 객체도 이 목록에서 확인할 수 있습니다. 권장 공격 객체는 다음 범주로 구성됩니다.
공격 객체 그룹 |
묘사 |
|---|---|
공격 유형 |
그룹은 유형(이상 또는 서명)별로 객체를 공격합니다. 각 유형 내에서 공격 객체는 심각도에 따라 그룹화됩니다. |
범주 |
그룹은 사전 정의된 범주별로 객체를 공격합니다. 각 범주 내에서 공격 객체는 심각도에 따라 그룹화됩니다. |
운영 체제 |
그룹은 BSD, Linux, Solaris 또는 Windows와 같은 운영 체제별로 객체를 공격합니다. 각 운영 체제 내에서 공격 객체는 서비스 및 심각도별로 그룹화됩니다. |
심각도 |
그룹은 공격에 할당된 심각도에 따라 객체를 공격합니다. 침입 탐지 및 방지(IDP)에는 심각(Critical), 주요(Major), 경미(Minor), 경고(Warning), 정보(Info)의 5가지 심각도 수준이 있습니다. 각 심각도 내에서 공격 객체는 범주별로 그룹화됩니다. |
웹 서비스 |
그룹은 일반적인 웹 서비스를 통해 개체를 공격합니다. 이러한 서비스는 심각도 수준(경고, 위험, 주요, 경미, 정보)별로 그룹화됩니다. |
잡다한 |
그룹은 성능 수준별로 객체를 공격합니다. 특정 수준 이상의 침입 탐지 및 방지(IDP) 성능에 영향을 미치는 공격 객체가 이 범주로 분류됩니다. |
응답 |
그룹은 서버에서 클라이언트 방향으로 흐르는 트래픽의 객체를 공격합니다. |
사용자 지정 공격 객체 이해
사용자 지정 공격 객체를 생성하여 새로운 공격을 탐지하거나 사전 정의된 공격 객체를 사용자 지정하여 네트워크의 고유한 요구 사항을 충족할 수 있습니다.
사용자 지정 공격 객체를 구성하려면 고유한 이름을 지정한 다음 공격 객체를 쉽게 찾고 유지 관리할 수 있도록 일반 설명 및 키워드와 같은 추가 정보를 지정합니다.
공격 이름 및 설명, 심각도 수준, 서비스 또는 애플리케이션 바인딩, 시간 바인딩, 권장 조치, 프로토콜 또는 포트 바인딩 등과 같은 공격 객체 정의의 특정 속성은 모든 유형의 공격에 공통적입니다. 일부 필드는 공격 유형에 따라 다르며 해당 특정 공격 정의에만 사용할 수 있습니다.
침입 탐지 및 방지(IDP) 기능은 기본적으로 활성화되어 있으며 라이선스가 필요하지 않습니다. 침입 탐지 및 방지(IDP) 정책의 사용자 지정 공격 및 사용자 지정 공격 그룹은 유효한 라이선스 및 서명 데이터베이스가 디바이스에 설치되어 있지 않아도 구성 및 설치할 수 있습니다.
이 주제는 다음 섹션을 포함합니다.
- 공격 이름
- 심각도
- 서비스 및 응용 프로그램 바인딩Service and Application Bindings
- 프로토콜 및 포트 바인딩
- 시간 바인딩
- 공격 속성(시그니처 공격)
- 공격 속성(프로토콜 이상 공격)
- 공격 속성(복합 또는 연쇄 공격)
공격 이름
개체의 영숫자 이름을 지정합니다. 공격이 사용하는 프로토콜을 공격 이름에 포함할 수 있습니다.
Junos OS 릴리스 15.1X49-D140부터 사용자 지정 공격 개체 이름에 허용되는 최대 문자 수는 60자입니다. 명령을 사용하여 명령문의 유효성을 검사할 수 있습니다 set security idp custom-attack .
심각도
네트워크에 대한 공격의 잔인성을 지정합니다. 심각도 범주는 잔혹성이 증가하는 순서대로 정보, 경고, 경미, 주요, 심각입니다. 치명적 공격이 가장 위험하며, 일반적으로 이러한 공격은 서버를 중단시키거나 네트워크를 제어하려고 시도합니다. 정보 공격은 가장 위험도가 낮으며 일반적으로 네트워크 관리자가 자체 보안 시스템의 허점을 발견하는 데 사용됩니다.
서비스 및 응용 프로그램 바인딩Service and Application Bindings
서비스 또는 애플리케이션 바인딩 필드는 공격이 네트워크에 진입하는 데 사용하는 서비스를 지정합니다.
사용자 지정 공격에서 서비스 또는 프로토콜 바인딩을 지정합니다. 둘 다 지정하는 경우 서비스 바인딩이 우선합니다.
any- 올바른 서비스를 확신할 수 없고 모든 서비스에서 서명을 일치시키려는 경우 지정합니다any. 일부 공격은 여러 서비스를 사용하여 네트워크를 공격하므로 공격이 연결에 대해 선택하는 서비스에 관계없이 공격을 탐지하기 위해 서비스 바인딩을Any선택할 수 있습니다.service- 대부분의 공격은 특정 서비스를 사용하여 네트워크를 공격합니다. 공격을 수행하는 데 사용되는 특정 서비스를 서비스 바인딩으로 선택할 수 있습니다.서비스, 서비스 바인딩 및 컨텍스트 목록은 IDP 사용자 지정 공격 개체 이해 서비스 컨텍스트를 참조하십시오.
프로토콜 및 포트 바인딩
프로토콜 또는 포트 바인딩을 사용하면 공격이 네트워크에 진입하는 데 사용하는 프로토콜을 지정할 수 있습니다. 네트워크 프로토콜의 이름 또는 프로토콜 번호를 지정할 수 있습니다.
사용자 지정 공격에서 서비스 또는 프로토콜 바인딩을 지정합니다. 둘 다 지정하는 경우 서비스 바인딩이 우선합니다.
IP - 프로토콜 번호를 사용하여 지원되는 네트워크 레이어 프로토콜을 지정할 수 있습니다. 표 11 에는 다양한 프로토콜에 대한 프로토콜 번호가 나와 있습니다.
표 11: 지원되는 프로토콜 및 프로토콜 번호 프로토콜 이름
프로토콜 번호
IGMP를 참조하십시오.
2
IP-IP (영문)
4
EGP (이그프)
8
강아지
12
휴지
29
IPV6 (IPV6)
41
라우팅
43
조각
44
RSVP
46
그레
47
증권 시세 표시기
50
아
51
ICMPV6 (영문)
58
없음
59
(주)디스토프트
60
최대 전송 단위(MTP)
92
엔캡
98
PIM (핌)
103
광고
108
날것의
255
ICMP, TCP 및 UDP—특정 서비스를 사용하지 않는 공격은 특정 포트를 사용하여 네트워크를 공격할 수 있습니다. 일부 TCP 및 UDP 공격은 표준 포트를 사용하여 네트워크에 진입하고 연결을 설정합니다.
RPC - 원격 프로시저 호출(RPC) 프로토콜은 프로세스 간의 상호 작용을 원격으로 처리하기 위해 분산 처리 애플리케이션에서 사용됩니다. 클라이언트가 RPC 서버에 대한 원격 프로시저 호출을 수행하면 서버는 원격 프로그램으로 응답합니다. 각 원격 프로그램은 다른 프로그램 번호를 사용합니다. RPC를 사용하는 공격을 탐지하려면 서비스 바인딩을 RPC로 구성하고 RPC 프로그램 ID를 지정합니다.
표 12 에는 주요 프로토콜의 샘플 형식이 표시되어 있습니다.
프로토콜 이름 |
프로토콜 번호 |
묘사 |
|---|---|---|
ICMP (영문) |
|
프로토콜 이름을 지정합니다. |
지적재산권 |
|
네트워크 레이어 프로토콜 번호를 지정합니다. |
증권 시세 표시기 |
|
RPC 프로그램 번호를 지정합니다. |
TCP 또는 UDP |
|
포트 지정은 TCP 및 UDP 프로토콜의 경우 선택 사항입니다. 예를 들어 다음 중 하나를 지정할 수 있습니다.
|
시간 바인딩
시간 바인딩을 사용하여 시간 바인딩 사용자 지정 공격 객체에 대한 시간 속성을 구성합니다. 시간 속성은 공격 객체가 특정 횟수만큼 반복되는 공격을 식별하는 방법을 제어합니다. 공격의 범위와 횟수를 구성하여 세션 전반에 걸쳐 일정 기간 동안 동일한 공격의 시퀀스를 탐지할 수 있습니다.
Junos OS 릴리스 18.4R1부터 시간 바인딩 사용자 지정 공격의 두 인스턴스 간에 최대 시간 간격을 구성할 수 있으며 최대 시간 간격의 범위는 0분 0초에서 60분 0초입니다. 18.4R1 이전의 Junos OS 릴리스에서 공격 트리거 수가 시간 바인딩에 구성된 수에 도달하기 위한 시간 바인딩 공격의 두 인스턴스 사이의 최대 시간 간격은 60초입니다. 명령문은 interval interval-value 사용자 지정 시간 바인딩을 구성하기 위해 계층에서 [edit security idp custom-attack attack-name time-binding] 도입됩니다.
범위
공격이 발생하는 횟수가 발생하는 범위를 지정합니다.
Source(소스) - 대상 주소에 관계없이 지정된 횟수만큼 소스 주소에서 공격을 탐지하려면 이 옵션을 지정합니다. 즉, 특정 공격에 대해 소스 주소의 각 공격에 대해 임계값이 유지됩니다. 대상 주소는 무시됩니다. 예를 들어, 소스 주소
ip-a는 동일하지만 대상 주소ip-b와 가 다른 두 쌍ip-a(,ip-b) 및 (ip-a,ip-c)에서ip-c이상이 탐지됩니다. 그런 다음 에 대한 증분에2대한ip-a일치 항목 수입니다. 임계값 또는 count 이(가) 2로 설정되어 있다고 가정하면 서명이 공격 이벤트를 트리거합니다.Destination(대상) - 소스 주소에 관계없이 지정된 횟수만큼 대상 주소로 전송된 공격을 탐지하려면 이 옵션을 지정합니다. 즉, 특정 공격에 대해 대상 주소의 각 공격에 대해 임계값이 유지됩니다. 소스 주소는 무시됩니다. 예를 들어, 목적지 주소
ip-b는 동일하지만 소스 주소가ip-a다른 두 쌍(ip-a,)ip-b및 (ip-c,ip-b)에서ip-c이상이 탐지되면 . 그런 다음 에 대한 증분에2대한ip-b일치 항목 수입니다. 임계값 또는 count 이(가) (으)로2설정되어 있다고 가정하면 서명이 공격 이벤트를 트리거합니다.피어(Peer) - 지정된 횟수만큼 세션의 소스 및 대상 IP 주소 간의 공격을 탐지하려면 이 옵션을 지정합니다. 이는 임계값이 한 쌍의 원본 및 대상 주소에 적용된다는 것을 의미합니다. 두 개의 서로 다른 원본 및 대상 쌍(
ip-a, )ip-b및 (ip-a)ip-c에서 이상이 탐지되었다고 가정해 보겠습니다. 그런 다음 두 쌍 모두 공통 소스 주소를 가지고 있더라도 각 쌍에 대한 일치 항목 수는 (으)로1설정됩니다.
세다
개수 또는 임계값은 디바이스가 공격 개체가 공격과 일치하는 것으로 간주하기 전에 공격 개체가 지정된 범위 내에서 공격을 탐지해야 하는 횟수를 지정합니다. 공격 객체를 여러 포트에 바인딩하고 공격 객체가 다른 포트에서 해당 공격을 탐지하면 각 포트에서의 각 공격은 별도의 사건으로 계산됩니다. 예를 들어, 공격 객체가 에 대한 TCP/80 공격을 탐지한 다음 에 대한 TCP/8080공격을 탐지하면 카운트는 2입니다.
일치에 count 도달하면 조건과 일치하는 각 공격으로 인해 공격 수가 1씩 증가합니다. 이 카운트 주기는 사용자 정의 기간(옵션을 사용하여 interval 구성) 동안 지속되며, 그 이후에는 주기가 반복됩니다.
간
Interval은 시간 바인딩 사용자 지정 공격의 두 인스턴스 사이의 최대 시간 간격을 지정합니다. 시간 간격의 범위는 0초에서 1시간까지이며 기본값은 60초입니다.
공격 속성(시그니처 공격)
시그니처 공격 객체는 스테이트풀 공격 시그니처(공격의 특정 섹션 내에 항상 존재하는 패턴)를 사용하여 알려진 공격을 탐지합니다. 또한 공격을 수행하는 데 사용된 프로토콜 또는 서비스와 공격이 발생한 컨텍스트도 포함됩니다. 다음 속성은 서명 공격과 관련이 있으며 서명 공격을 구성할 때 구성할 수 있습니다.
공격 컨텍스트, 플로우 유형 및 방향은 시그니처 공격 정의에 대한 필수 필드입니다.
공격 컨텍스트
공격 컨텍스트는 서명의 위치를 정의합니다. 서비스 및 특정 서비스 컨텍스트를 알고 있는 경우 해당 서비스를 지정한 다음 적절한 서비스 컨텍스트를 지정합니다. 서비스를 알고 있지만 특정 서비스 컨텍스트를 잘 모르는 경우 다음 일반 컨텍스트 중 하나를 지정합니다.
first-data-packet- 첫 번째 데이터 패킷에서만 공격을 탐지하려면 이 컨텍스트를 지정합니다.first-packet- 스트림의 첫 번째 패킷에서만 공격을 탐지하려면 이 컨텍스트를 지정합니다. 공격 객체의 흐름 방향이 로any설정된 경우, 디바이스는 서버-클라이언트 및 클라이언트-서버 흐름 모두의 첫 번째 패킷을 확인합니다. 세션의 첫 번째 패킷에 공격 시그니처가 나타난다는 것을 알고 있는 경우, 대신을packet선택하면first packet디바이스가 모니터링해야 하는 트래픽 양이 줄어들어 성능이 향상됩니다.packet- 패킷 내의 공격 패턴과 일치하도록 이 컨텍스트를 지정합니다. 이 옵션을 선택하면 서비스 헤더 옵션을 정의하기 위해 서비스 바인딩도 지정해야 합니다. 필수는 아니지만 이러한 추가 매개 변수를 지정하면 공격 객체의 정확도가 향상되어 성능이 향상됩니다.line- 네트워크 트래픽 내의 특정 라인 내에서 패턴 일치를 감지하려면 이 컨텍스트를 지정합니다.normalized-stream- 이 컨텍스트를 지정하여 정규화된 스트림 전체에서 공격을 탐지합니다. 정규화된 스트림은 정보를 보내는 여러 방법 중 하나입니다. 이 스트림에서 패킷의 정보는 일치가 수행되기 전에 정규화됩니다. 가 와www.yahoo.com/s%70orts같다고 가정합니다www.yahoo.com/sports. 이 두 URL을 모두 나타내는 정규화된 양식은www.yahoo.com/sports일 수 있습니다.stream정확한 형태의 패턴을 감지하지 않으려면 대신 을 선택합니다normalized stream. 예를 들어, 정확한 패턴을www.yahoo.com/s%70orts감지하려면 을 선택합니다stream.normalized-stream256- 정규화된 스트림의 처음 256바이트에서만 공격을 탐지하려면 이 컨텍스트를 지정합니다.normalized-stream1k- 이 컨텍스트를 지정하여 정규화된 스트림의 처음 1024바이트에서만 공격을 탐지합니다.normalized-stream-8k- 이 컨텍스트를 지정하여 정규화된 스트림의 처음 8192바이트에서만 공격을 탐지합니다.stream- 패킷을 리어셈블하고 데이터를 추출하여 패턴 일치를 검색하려면 이 컨텍스트를 지정합니다. 그러나 디바이스는 스트림 컨텍스트에 대한 패킷 경계를 인식할 수 없으므로 여러 패킷에 대한 데이터가 결합됩니다. 다른 컨텍스트 옵션이 공격을 포함하지 않는 경우에만 이 옵션을 지정합니다.stream256- 패킷을 리어셈블하고 트래픽 스트림의 처음 256바이트 내에서 패턴 일치를 검색하려면 이 컨텍스트를 지정합니다. 흐름 방향이 로any설정된 경우, 디바이스는 서버-클라이언트 및 클라이언트-서버 흐름 모두에서 처음 256바이트를 확인합니다. 세션의 처음 256바이트에 공격 시그니처가 표시되는 것을 알고 있는 경우, 대신 을stream(를) 선택하면stream256디바이스가 모니터링하고 캐시해야 하는 트래픽 양이 줄어들어 성능이 향상됩니다.stream1k- 패킷을 리어셈블하고 트래픽 스트림의 처음 1024바이트 내에서 패턴 일치를 검색하려면 이 컨텍스트를 지정합니다. 흐름 방향이 로any설정된 경우, 디바이스는 서버-클라이언트 및 클라이언트-서버 흐름 모두에서 처음 1024바이트를 확인합니다. 공격 서명이 세션의 처음 1024바이트에 표시되는 것을 알고 있는 경우, 대신을stream선택하면stream1024디바이스가 모니터링하고 캐시해야 하는 트래픽 양이 줄어들어 성능이 향상됩니다.stream8k- 패킷을 리어셈블하고 트래픽 스트림의 처음 8192바이트 내에서 패턴 일치를 검색하려면 이 컨텍스트를 지정합니다. 플로우 방향이 로any설정되면, 디바이스는 서버-클라이언트 및 클라이언트-서버 플로우 모두에서 처음 8192바이트를 확인합니다. 공격 시그니처가 세션의 처음 8192바이트에 나타난다는 것을 알고 있는 경우, 대신을stream선택하면stream8192디바이스가 모니터링하고 캐시해야 하는 트래픽 양이 줄어들어 성능이 향상됩니다.
공격 방향
공격의 연결 방향을 지정할 수 있습니다. 대신 한 방향을 Any사용하면 성능이 향상되고 오탐이 줄어들며 탐지 정확도가 높아집니다.
클라이언트-서버(클라이언트-서버 트래픽에서만 공격 탐지)
서버 대 클라이언트(서버-클라이언트 트래픽에서만 공격 탐지)
모두(어느 방향으로든 공격 탐지)
공격 패턴
공격 패턴은 탐지하려는 공격의 시그니처입니다. 서명은 공격 내에 항상 존재하는 패턴입니다. 공격이 존재하면 서명도 존재합니다. 공격 패턴을 생성하려면 먼저 공격을 분석하여 패턴(예: 코드 세그먼트, URL 또는 패킷 헤더의 값)을 탐지한 다음 해당 패턴을 나타내는 구문 표현식을 생성해야 합니다. 패턴을 부정할 수도 있습니다. 패턴을 부정한다는 것은 공격에 not 정의된 패턴이 지정된 패턴과 일치할 경우 공격이 일치하는 것으로 간주된다는 것을 의미합니다.
패턴 부정은 패킷, 라인 및 애플리케이션 기반 컨텍스트에 대해서만 지원되며 스트림 및 정규화된 스트림 컨텍스트에 대해서는 지원되지 않습니다.
프로토콜 특정 매개 변수
패킷 헤더 내에 존재하는 특정 값과 옵션을 지정합니다. 이러한 매개변수는 프로토콜마다 다릅니다. 사용자 지정 공격 정의에서 TCP, UDP 또는 ICMP 프로토콜 중 하나에 대해서만 필드를 지정할 수 있습니다. 그러나 사용자 지정 공격 정의에서 TCP 또는 UDP를 사용하여 IP 프로토콜 필드를 정의할 수 있습니다.
헤더 매개 변수는 패킷 또는 첫 번째 패킷 컨텍스트를 사용하는 공격 객체에 대해서만 정의할 수 있습니다. 행, 스트림, 스트림 256 또는 서비스 컨텍스트를 지정한 경우 헤더 매개 변수를 지정할 수 없습니다.
악성 패킷에 대한 옵션이나 플래그 설정을 잘 모르는 경우 모든 필드를 비워 두면 침입 탐지 및 방지(IDP)가 모든 헤더 내용에 대한 서명을 일치시키려고 시도합니다.
표 13 에는 IP 프로토콜을 사용하는 공격에 대해 설정할 수 있는 필드와 플래그가 표시되어 있습니다.
밭 |
묘사 |
|---|---|
서비스 유형 |
서비스 유형에 대한 값을 지정합니다. 일반적인 서비스 유형은 다음과 같습니다.
|
전체 길이 |
모든 헤더 필드와 데이터 페이로드를 포함하여 패킷의 바이트 수에 대한 값을 지정합니다. |
아이디 |
단편화된 패킷을 리어셈블하기 위해 대상 시스템에서 사용하는 고유 값의 값을 지정합니다. |
Time to Live(살 시간) |
패킷의 TTL(Time-to-Live) 값에 대해 0-255 범위의 정수 값을 지정합니다. 이 값은 패킷이 통과할 수 있는 디바이스의 수를 나타냅니다. 패킷을 처리하는 각 라우터는 TTL을 씩 |
프로토콜 |
사용되는 프로토콜의 값을 지정합니다. |
근원 |
공격 디바이스의 소스 주소를 입력합니다. |
목적지 |
공격 대상의 목적지 주소를 입력합니다. |
예약 비트 |
이 비트는 사용되지 않습니다. |
더 많은 조각 |
set( |
단편화하지 않음 |
( |
표 14 에는 TCP 프로토콜을 사용하는 공격에 대해 설정할 수 있는 패킷 헤더 필드와 플래그가 표시되어 있습니다.
밭 |
묘사 |
|---|---|
소스 포트 |
공격 디바이스의 포트 번호 값을 지정합니다. |
목적지 포트 |
공격 대상의 포트 번호에 대한 값을 지정합니다. |
시퀀스 번호 |
패킷의 시퀀스 번호에 대한 값을 지정합니다. 이 번호는 전체 데이터 시퀀스와 관련된 데이터의 위치를 식별합니다. |
ACK 번호 |
패킷의 ACK 번호에 대한 값을 지정합니다. 이 번호는 다음 시퀀스 번호를 식별합니다. 이 필드를 활성화하려면 ACK 플래그를 설정해야 합니다. |
헤더 길이 |
TCP 헤더의 바이트 수에 대한 값을 지정합니다. |
데이터 길이 |
데이터 페이로드의 바이트 수에 대한 값을 지정합니다. SYN, ACK 및 FIN 패킷의 경우 이 필드는 비어 있어야 합니다. |
창 크기 |
TCP 창 크기의 바이트 수에 대한 값을 지정합니다. |
긴급 포인터 |
긴급 포인터의 값을 지정합니다. 값은 패킷의 데이터가 긴급하다는 것을 나타냅니다. 이 필드를 활성화하려면 URG 플래그를 설정해야 합니다. |
우르그 |
설정된 경우 긴급 플래그는 패킷 데이터가 긴급함을 나타냅니다. |
증권 시세 표시기 |
설정된 경우, 승인 플래그는 패킷 수신을 승인합니다. |
증권 시세 표시기 |
설정된 경우 푸시 플래그는 수신자가 시퀀스의 나머지 패킷을 기다리지 않고 현재 시퀀스의 모든 데이터를 대상 애플리케이션(포트 번호로 식별됨)으로 푸시해야 함을 나타냅니다. |
증권 시세 표시기 |
설정된 경우, reset 플래그는 TCP 연결을 재설정하고 기존 시퀀스의 모든 패킷을 버립니다. |
신(SYN) |
설정된 경우, SYN 플래그는 새로운 세션에 대한 요청을 나타냅니다. |
지느러미 |
설정되면 최종 플래그는 패킷 전송이 완료되었으며 연결을 닫을 수 있음을 나타냅니다. |
R1 시리즈 |
이 예약 비트(1/2)는 사용되지 않습니다. |
R2 (R2) |
이 예약 비트(2/2)는 사용되지 않습니다. |
표 15 에는 UDP 프로토콜을 사용하는 공격에 대해 설정할 수 있는 패킷 헤더 필드와 플래그가 표시되어 있습니다.
밭 |
묘사 |
|---|---|
소스 포트 |
공격 디바이스의 포트 번호 값을 지정합니다. |
목적지 포트 |
공격 대상의 포트 번호에 대한 값을 지정합니다. |
데이터 길이 |
데이터 페이로드의 바이트 수에 대한 값을 지정합니다. |
표 16 에는 ICMP 프로토콜을 사용하는 공격에 대해 설정할 수 있는 패킷 헤더 필드와 플래그가 표시되어 있습니다.
밭 |
묘사 |
|---|---|
ICMP 유형 |
요청 또는 응답 패킷의 기능을 식별하는 1차 코드의 값을 지정합니다. |
ICMP 코드 |
지정된 유형 내에서 요청 또는 응답 패킷의 기능을 식별하는 보조 코드의 값을 지정합니다. |
시퀀스 번호 |
패킷의 시퀀스 번호에 대한 값을 지정합니다. 이 번호는 전체 시퀀스와 관련하여 요청 또는 응답 패킷의 위치를 식별합니다. |
ICMP ID |
식별 번호의 값을 지정합니다. 식별 번호는 요청 및 응답 패킷을 연결하기 위해 대상 시스템에서 사용하는 고유한 값입니다. |
데이터 길이 |
데이터 페이로드의 바이트 수에 대한 값을 지정합니다. |
샘플 시그니처 공격 정의
다음은 샘플 서명 공격 정의입니다.
<Entry> <Name>sample-sig</Name> <Severity>Major</Severity> <Attacks><Attack> <TimeBinding><Count>2</Count> <Scope>dst</Scope></TimeBinding> <Application>FTP</Application> <Type>signature</Type> <Context>packet</Context> <Negate>true</Negate> <Flow>Control</Flow> <Direction>any</Direction> <Headers><Protocol><Name>ip</Name> <Field><Name>ttl</Name> <Match>==</Match><Value>128</Value></Field> </Protocol><Name>tcp</Name> <Field><Name><Match><</Match> <value>1500</Value> </Field></Protocol></Headers> </Attack></Attacks> </Entry>
공격 속성(프로토콜 이상 공격)
프로토콜 이상 공격 객체는 프로토콜 사양(RFC 및 일반적인 RFC 확장)을 위반하는 알려지지 않았거나 정교한 공격을 탐지합니다. 새로운 프로토콜 이상을 생성할 수는 없지만, 탐지 시 디바이스가 사전 정의된 프로토콜 이상을 처리하는 방법을 제어하는 새로운 공격 객체를 구성할 수 있습니다.
서비스 또는 애플리케이션 바인딩은 프로토콜 변칙 공격에 대한 필수 필드입니다.
다음 속성은 프로토콜 변칙 공격과 관련이 있습니다. 공격 방향과 테스트 조건은 모두 이상 공격 정의를 구성하기 위한 필수 필드입니다.
공격 방향
공격 방향을 사용하면 공격의 연결 방향을 지정할 수 있습니다. (대신) 단일 방향을 Any사용하면 성능이 향상되고 오탐이 줄어들며 탐지 정확도가 높아집니다.
클라이언트-서버(클라이언트-서버 트래픽에서만 공격 탐지)
서버 대 클라이언트(서버-클라이언트 트래픽에서만 공격 탐지)
모두(어느 방향으로든 공격 탐지)
테스트 조건
테스트 조건은 변칙 공격에 대해 일치해야 하는 조건입니다. 주니퍼 네트웍스는 사전 정의된 특정 테스트 조건을 지원합니다. 다음 예에서 조건은 너무 긴 메시지입니다. 메시지 크기가 이 테스트 조건에 대해 미리 구성된 값보다 길면 공격이 일치합니다.
<Attacks> <Attack> <Type>anomaly</Type> ... <Test>MESSAGE_TOO_LONG</Test> <Value>yes</Value> ... </Attack> </Attacks>
샘플 프로토콜 이상 공격 정의
다음은 샘플 프로토콜 이상 공격 정의입니다.
<Entry> <Name>sample-anomaly</Name> <Severity>Info</Severity> <Attacks><Attack> <TimeBinding><Count>2</Count> <Scope>peer</Scope></TimeBinding> <Application>TCP</Application> <Type>anomaly</Type> <Test>OPTIONS_UNSUPPORTED</Test> <Direction>any</Direction> </Attack></Attacks> </Entry>
공격 속성(복합 또는 연쇄 공격)
복합 또는 체인 공격 객체는 취약성을 악용하기 위해 여러 방법을 사용하는 공격을 탐지합니다. 이 객체는 여러 시그니처 및/또는 프로토콜 이상을 단일 공격 객체로 결합하여, 트래픽이 공격으로 식별되기 전에 트래픽이 복합 공격 객체 내의 결합된 시그니처 및 이상 징후 패턴과 일치하도록 합니다. 시그니처 또는 이상 징후를 결합하고 일치해야 하는 순서까지 지정함으로써 디바이스가 트래픽을 공격으로 식별하기 전에 발생해야 하는 이벤트에 대해 매우 구체적일 수 있습니다.
복합 공격에서 최소 2개의 멤버(공격)를 지정해야 합니다. 복합 공격에서 최대 32개의 멤버를 지정할 수 있습니다. 멤버는 서명 공격이거나 변칙 공격일 수 있습니다.
다음 속성은 복합 공격과 관련이 있습니다.
범위
범위를 사용하면 공격이 세션 내에서 일치하는지 또는 세션의 트랜잭션 간에 일치하는지 지정할 수 있습니다. 지정된 서비스가 단일 세션 내에서 여러 트랜잭션을 지원하는 경우 단일 세션에서 일치가 발생해야 하는지 또는 세션 내의 여러 트랜잭션에서 일치를 수행할 수 있는지 여부를 지정할 수도 있습니다.
동일한 세션 내에서 객체에 대해 여러 일치를 허용하려면 을 지정합니다 session .
동일한 세션 내에서 발생하는 여러 트랜잭션에서 개체를 일치시키도록 지정합니다 transaction .
주문
순서가 지정된 일치를 사용하여 지정한 순서대로 각 멤버, 서명 또는 프로토콜 이상과 일치해야 하는 복합 공격 객체를 생성합니다. 순서가 지정된 일치를 지정하지 않으면 복합 공격 객체는 여전히 모든 구성원과 일치해야 하지만, 공격 패턴 또는 프로토콜 이상이 공격에서 무작위 순서로 나타날 수 있습니다.
재설정
동일한 세션 내에서 공격이 탐지될 때마다 새 로그가 생성되도록 지정합니다. 이 필드를 로 no 설정하면 공격은 세션에 대해 한 번만 기록됩니다.
Expression(부울 식)
부울 표현식 필드를 사용하면 정렬된 일치 기능이 비활성화됩니다. Boolean 표현식 필드는 멤버 이름 또는 멤버 인덱스 속성을 사용합니다. 다음 세 개의 부울 연산자가 괄호와 함께 지원되며, 이는 우선 순위를 결정하는 데 도움이 됩니다.
or- 멤버 이름 패턴 중 하나가 일치하면 표현식이 일치합니다.and- 두 멤버 이름 패턴이 모두 일치하면 표현식이 일치합니다. 멤버가 어떤 순서로 나타나는지는 중요하지 않습니다.oand (ordered and)- 두 멤버 이름 패턴이 모두 일치하고 부울 표현식에 지정된 순서와 동일한 순서로 나타나면 표현식이 일치합니다.
-s5라는 레이블이 s1지정된 5개의 서명 멤버를 만들었다고 가정합니다. 공격에 항상 패턴s1이 포함되어 있고 그 뒤에 또는 s3가 온다 s2 는 것을 알고 있다고 가정해 보겠습니다. 또한 공격에는 항상 및 이s5(가) 포함 s4 되지만 공격에서의 위치는 다를 수 있습니다. 이 경우 다음과 같은 부울 표현식을 만들 수 있습니다.
((s1 oand s2) or (s1 oand s3)) and (s4 and s5)
사용자 지정 공격 정의에서 정렬된 일치 또는 표현식(둘 다 아님)을 정의할 수 있습니다.
회원 색인
Member Index는 멤버(공격)를 고유하게 식별하기 위해 체인 공격에 지정됩니다. 다음 예에서 멤버 인덱스는 정의된 표현식에서 멤버 m01 및 m02 를 식별하는 데 사용됩니다.
<Expression>m02 AND m01</Expression> <Order>no</Order> <Reset>no</Reset> <ScopeOption/> <Members> <Attack> <Member>m01</Member> <Type>Signature</Type> ... <Pattern><!CDATA[.*/getlatestversion]]></Pattern> <Regex/> </Attack> <Attack><Member>m02</Member> <Type>Signature</Type> ... <Pattern><!CDATA[\[Skype\'.*]]></Pattern> <Regex/> </Attack> <Attack>
식을 정의할 때 모든 멤버에 대한 멤버 인덱스를 지정해야 합니다.
샘플 복합 공격 정의
다음은 샘플 복합 공격 정의입니다.
<Entry> <Name>sample-chain</Name> <Severity>Critical</Severity> <Attacks><Attack> <Application>HTTP</Application> <Type>Chain</Type> <Order>yes</Order> <Reset>yes</Reset> <Members><Attack> <Type>Signature</Type> <Context>packet</Context> <Pattern><![CDATA[Unknown[]></Pattern> <Flow>Control</Flow> <Direction>cts</Direction> </Attack><Attack> <Type>anomaly</Type> <Test>CHUNK_LENGTH_OVERFLOW</Test> <Direction>any</Direction> </Attack></Members> </Attack></Attacks> </Entry>
복합 공격 객체 생성
다음과 같은 경우에 복합 공격 객체를 사용합니다.
공격은 취약점을 악용하기 위해 여러 가지 방법을 사용하며, 독립적으로 검사하면 개별 컨텍스트는 무해한 것으로 보입니다.
여러 컨텍스트를 일치시키면 오탐이 줄어듭니다.
서명에 프로토콜 이상을 결합하면 오탐을 줄일 수 있습니다.
서명 공격 객체 또는 사전 정의된 이상 징후를 복합 객체의 "구성원"으로 선택하고 부울 표현식을 사용하여 일치하는 논리를 지정합니다.
복합 공격 객체를 구성하려면 다음을 수행합니다.
참조
서명 업데이트에 도입된 변경 사항으로 인한 사용자 지정 공격 객체 수정
이 항목에서는 HTTP 프로토콜 디코더에서 생성된 일부 서비스 컨텍스트의 변경 내용에 대해 설명합니다. 서명 업데이트 #1972부터 HTTP 프로토콜 디코더는 더 이상 일부 컨텍스트를 생성하지 않습니다. 침입 탐지 및 방지(IDP) 보안 정책에 제거된 컨텍스트를 사용하는 사용자 지정 서명이 포함되어 있는 경우, 정책 컴파일 오류를 방지하기 위해 아래에 설명된 대로 공격 객체 정의를 수정해야 합니다. 이 주제에는 다음 정보가 포함됩니다.
참조: 제거된 컨텍스트
성능을 향상시키기 위해 HTTP 프로토콜 디코더는 더 이상 표 19의 첫 번째 열에 나열된 컨텍스트를 생성하지 않습니다. 이 표에서 사용자 지정 공격 객체의 컨텍스트를 교체하는 방법에 대한 지침을 검토하십시오.
제거 |
바꿀 내용 |
지침 |
|---|---|---|
http-text-html-본문 |
http-텍스트-html |
컨텍스트 http-text-html-body를 사용하는 서명을 http-text-html로 변경합니다. 서명 패턴이나 다른 속성을 변경할 필요가 없습니다. |
|
다음 컨텍스트를 조합하여 사용합니다.
|
부울 AND와 함께 복합 서명을 사용하여 서명 패턴을 여러 조각으로 나눕니다. 범위 필드가 트랜잭션으로 설정되어 있는지 확인합니다. http-request-method 컨텍스트를 사용하는 것은 선택 사항입니다. http-request-method 컨텍스트를 사용하여 http GET 또는 POST 또는 HEAD 트랜잭션에 검색을 바인딩합니다. GET 방법의 경우 \[GET\] 패턴(대소문자 구분 안 함 GET)을 사용합니다. 요청 메서드에서 이전에 기록한 결과와 일치하는 결과를 보존할 가치가 있는 경우에만 http-request-method를 사용합니다. 그렇지 않은 경우 생략하여 성능을 향상시킵니다. http-request-method를 사용하는 경우 복합 체인에서 먼저 정렬합니다. http-url-parsed 컨텍스트를 사용하여 URL에서 식별 가능한 공격 서명을 일치시킵니다. 이 컨텍스트를 사용하여 변수 매개변수 앞에 나타나는 URL의 패턴(물음표(?) 앞의 URL 부분)을 일치시킬 수 있습니다. 하나 이상의 http-variable-parsed 컨텍스트를 사용하여 URL 변수 매개 변수(물음표(?) 뒤의 URL 부분이며 일반적으로 앰퍼샌드(&)로 구분됨)를 일치시킵니다. |
예제: HTML 텍스트에 나타나는 패턴의 컨텍스트 바꾸기
HTTP 탐지기 엔진에서 생성된 각 컨텍스트에는 성능 비용이 있습니다. 컨텍스트 http-text-html 및 http-text-html-body는 동일한 용도로 사용됩니다. 컨텍스트 수를 줄이면 성능이 향상됩니다.
표 20 은 업데이트 #1972 이전의 서명과 이후의 서명의 속성을 보여 줍니다. 이것은 간단한 변경입니다. 컨텍스트만 변경합니다. 패턴이나 다른 속성을 변경할 필요가 없습니다.
업데이트 전 |
업데이트 후 |
|
|---|---|---|
문맥 |
http-text-html-본문 |
http-텍스트-html |
무늬 |
.*<span></span>.* |
.*<span></span>.* |
예: URL에 나타나는 패턴의 컨텍스트 바꾸기
이 섹션은 두 부분으로 구성됩니다.
요청 메서드와 일치하는 서명
이전에 요청 메서드 GET, POST 또는 HEAD와 일치했던 사용자 지정 공격 객체를 수정할 때는 이러한 요청 메서드 패턴에 대한 일치가 효과적이었는지 여부를 고려합니다. 생성된 각 컨텍스트에는 성능 비용이 있습니다. 요청 방법이 결과에 필수적이지 않은 경우 이 기회에 요청 방법 없이 서명을 다시 캐스팅하십시오.
표 21 및 표 22 는 업데이트 #1972 이전의 서명 속성과 이후의 복합 서명 속성을 보여 줍니다. 이 예제에서는 request 메서드에 대한 관심을 유지합니다.
업데이트 전 서명 |
|
|---|---|
범위 |
– |
문맥 |
http-get-url-구문 분석 된 매개 변수 |
무늬 |
\[/viper/vegaspalms/\].* |
업데이트 후 복합 서명 |
||
|---|---|---|
|
엠01 |
엠02 |
범위 |
거래 |
|
문맥 |
http 요청 방법 |
http-url 구문 분석 |
무늬 |
|
\[/viper/vegaspalms/\].* |
URL 문자열 및 URL 변수와 일치하는 서명
일반적으로 단일 패턴을 여러 컨텍스트로 나누면 성능에 긍정적 또는 부정적 영향을 줄 수 있습니다. 운영 네트워크에 공격 객체를 구축하기 전에 변경 사항을 테스트하여 성능에 미치는 영향을 파악해야 합니다. 표 23 및 표 24 에 표시된 예는 URL 일치를 다중 컨텍스트로 나눕니다. 당사 보안 팀은 여기에 설명된 권장 사항에 대한 성능을 테스트했습니다.
업데이트 전 서명 |
|
|---|---|
범위 |
– |
문맥 |
http-get-url-param-구문 분석 된 매개 변수 |
무늬 |
|
업데이트 후 복합 서명 |
||||
|---|---|---|---|---|
엠01 |
엠02 |
엠03 |
m04 님 |
|
범위 |
거래 |
|||
문맥 |
http-url 구문 분석 |
http 변수 구문 분석 |
http 변수 구문 분석 |
http 변수 구문 분석 |
무늬 |
|
|
|
|
참조
예: 복합 또는 연쇄 공격 구성
이 예는 특정 일치 기준에 대해 복합 또는 연쇄 공격을 구성하는 방법을 보여줍니다. 여러 가지 방법을 사용하여 취약점을 악용하는 공격을 탐지하도록 복합 또는 연쇄 공격 개체를 구성할 수 있습니다.
요구 사항
시작하기 전에 디바이스에서 침입 탐지 및 방지(IDP)가 지원되고 활성화되어야 합니다.
개요
복합 또는 체인 공격 객체는 서명과 이상을 결합하여 단일 공격 객체를 형성할 수 있습니다. 단일 공격 객체에는 다음이 포함될 수 있습니다.
두 개 이상의 서명
2개 이상의 이상 징후
서명과 이상 징후의 조합
복합 또는 연쇄 공격 객체는 여러 시그니처 및/또는 프로토콜 이상을 단일 공격 객체로 결합하여 트래픽이 공격으로 식별되기 전에 트래픽이 복합 공격 객체 내에서 결합된 시그니처 및 이상 징후의 패턴과 일치하도록 합니다. 이러한 개체는 오탐을 줄이고 탐지 정확도를 높이는 데에도 사용됩니다. 침입 탐지 및 방지(IDP)가 트래픽을 공격으로 식별하기 전에 발생해야 하는 이벤트에 대해 구체적으로 파악할 수 있습니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit] 로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력합니다 commit .
set security idp idp-policy idpengine rulebase-ips rule 1 match from-zone any set security idp idp-policy idpengine rulebase-ips rule 1 match source-address any set security idp idp-policy idpengine rulebase-ips rule 1 match to-zone any set security idp idp-policy idpengine rulebase-ips rule 1 match destination-address any set security idp idp-policy idpengine rulebase-ips rule 1 match application default set security idp idp-policy idpengine rulebase-ips rule 1 match attacks custom-attacks ftpchain set security idp idp-policy idpengine rulebase-ips rule 1 then action no-action set security idp idp-policy idpengine rulebase-ips rule 1 then notification log-attacks set security idp active-policy idpengine set security idp custom-attack ftpchain severity info set security idp custom-attack ftpchain attack-type chain protocol-binding application ftp set security idp custom-attack ftpchain attack-type chain scope session set security idp custom-attack ftpchain attack-type chain order set security idp custom-attack ftpchain attack-type chain member m1 attack-type signature context ftp-banner set security idp custom-attack ftpchain attack-type chain member m1 attack-type signature pattern .*vsFTPd.* set security idp custom-attack ftpchain attack-type chain member m1 attack-type signature direction server-to-client set security idp custom-attack ftpchain attack-type chain member m2 attack-type signature context ftp-username set security idp custom-attack ftpchain attack-type chain member m2 attack-type signature pattern .*root.* set security idp custom-attack ftpchain attack-type chain member m2 attack-type signature direction client-to-server set security idp custom-attack ftpchain attack-type chain member m3 attack-type anomaly test LOGIN_FAILED set security idp custom-attack ftpchain attack-type chain member m3 attack-type anomaly direction any set security idp traceoptions file idpd set security idp traceoptions flag all
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
특정 일치 기준에 대한 복합 또는 연쇄 공격 구성 방법:
침입 탐지 및 방지(IDP) 정책을 생성합니다.
[edit] user@host# set security idp idp-policy idpengine
규칙 베이스를 정책과 연결합니다.
[edit security idp idp-policy idpengine] user@host# edit rulebase-ips
규칙 베이스에 규칙을 추가합니다.
[edit security idp idp-policy idpengine rulebase-ips] user@host# edit rule 1
규칙에 대한 일치 기준을 정의합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match from-zone any user@host# set match source-address any user@host# set match to-zone any user@host# set match destination-address any
규칙 기준과 일치하도록 응용 프로그램 집합 이름을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match application default
공격 객체에 대한 일치 공격 객체 및 이름을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match attacks custom-attacks ftpchain
규칙에 대한 작업을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set then action no-action
규칙에 대한 알림 또는 로깅 옵션을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set then notification log-attacks
침입 탐지 및 방지(IDP) 정책을 활성화합니다.
[edit] user@host# set security idp active-policy idpengine
사용자 지정 공격의 이름을 지정합니다.
[edit security idp] user@host# set custom-attack ftpchain
사용자 지정 공격의 심각도를 설정합니다.
[edit security idp custom-attack ftpchain] user@host# set severity info
사용자 지정 공격에 대한 공격 유형 및 애플리케이션 이름을 설정합니다.
[edit security idp custom-attack ftpchain] user@host# set attack-type chain protocol-binding application ftp
공격이 정의되는 범위와 순서를 설정합니다.
[edit security idp custom-attack ftpchain attack-type chain] user@host# set scope session user@host# set order
체인 공격 객체의 첫 번째 구성원에 대한 이름을 지정합니다.
[edit security idp custom-attack ftpchain attack-type chain] user@host# set member m1
체인 공격 객체의 첫 번째 멤버에 대한 컨텍스트, 패턴 및 방향을 설정합니다.
[edit security idp custom-attack ftpchain attack-type chain member m1] user@host# set attack-type signature context ftp-banner user@host# set attack-type signature pattern .*vsFTPd.* user@host# set attack-type signature direction server-to-client
연쇄 공격 객체의 두 번째 구성원 이름을 지정합니다.
[edit security idp custom-attack ftpchain attack-type chain] user@host# set member m2
체인 공격 객체의 두 번째 멤버에 대한 컨텍스트, 패턴 및 방향을 설정합니다.
[edit security idp custom-attack ftpchain attack-type chain member m2] user@host# set attack-type signature context ftp-username user@host# set attack-type signature pattern .*root.* user@host# set attack-type signature direction client-to-server
연쇄 공격 객체의 세 번째 구성원 이름을 지정합니다.
[edit security idp custom-attack ftpchain attack-type chain] user@host# set member m3
체인 공격 객체의 세 번째 구성원에 대한 공격 유형 및 방향을 지정합니다.
[edit security idp custom-attack ftpchain attack-type chain member m3] user@host# set attack-type anomaly direction any
침입 탐지 및 방지(IDP) 서비스에 대한 추적 옵션 및 추적 파일 정보를 지정합니다.
[edit] user@host# set security idp traceoptions file idpd
추적 출력에 포함되어야 하는 이벤트 및 기타 정보를 지정합니다.
[edit] user@host# set security idp traceoptions flag all
결과
구성 모드에서 명령을 입력하여 show security idp 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
[edit]
user@host# show security idp
idp-policy idpengine {
rulebase-ips {
rule 1 {
match {
from-zone any;
source-address any;
to-zone any;
destination-address any;
application default;
attacks {
custom-attacks ftpchain;
}
}
then {
action {
no-action;
}
notification {
log-attacks;
}
}
}
}
}
active-policy idpengine;
custom-attack ftpchain {
severity info;
attack-type {
chain {
protocol-binding {
application ftp;
}
scope session;
order;
member m1 {
attack-type {
signature {
context ftp-banner;
pattern .*vsFTPd.*;
direction server-to-client;
}
}
}
member m2 {
attack-type {
signature {
context ftp-username;
pattern .*root.*;
direction client-to-server;
}
}
}
member m3 {
attack-type {
anomaly {
test LOGIN_FAILED;
direction any;
}
}
}
}
}
}
traceoptions {
file idpd;
flag all;
}
디바이스 구성을 마쳤으면 구성 모드에서 을(를) 입력합니다 commit .
구성 모드에서 을(를) 입력 commit 하면 구성이 내부적으로 확인된 다음 커밋됩니다. 오류가 있는 경우 커밋이 실패하고 오류가 보고됩니다.
확인
체인 공격 구성이 제대로 작동하는지 확인하려면 다음 작업을 수행하십시오.
구성 확인
목적
체인 공격 구성이 올바른지 확인합니다.
행동
운영 모드에서 명령을 입력하여 show security idp policy-commit-status 정책 컴파일 또는 로드 상태를 확인합니다.
명령의 show security idp policy-commit-status 출력은 동적이므로 이 명령에 대한 단일 출력은 없습니다.
구성에 따라 공격이 탐지되는지 확인하고 디바이스를 통해 트래픽을 전달하여 공격 일치를 트리거합니다. 예를 들어 명령을 입력하여 show security idp status 정책이 로드되었는지 여부를 확인합니다.
user@host> show security idp status
IDP policy[/var/db/idpd/bins/test.bin.gz.v] and detector[/var/db/idpd/sec-repository/installed-detector/libidp-detector.so.tgz.v] loaded successfully. The loaded policy size is:785 Bytes
show security idp attack table 명령을 입력하여 공격 트래픽을 전달한 다음 공격이 탐지되는지 여부를 확인합니다.
명령은 공격이 탐지된 경우에만 출력을 표시합니다.
user@host> show security idp attack table
IDP attack statistics: Attack name #Hits FTP:USER:ROOT 1
예: 동적 공격 그룹 및 사용자 지정 공격 그룹을 사용하여 공격 그룹 구성
이 예는 FTP 또는 Telnet 서버를 보호하기 위해 침입 탐지 및 방지(IDP) 정책에서 동적 공격 그룹 및 사용자 지정 공격 그룹으로 공격 그룹을 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 다음 문 중 하나가 참인 경우에만 디바이스에 보안 패키지를 설치하십시오.
동적 공격 그룹이 구성됩니다.
사용자 지정 공격 그룹에는 사전 정의된 공격 또는 공격 그룹이 포함됩니다.
사용자 지정 공격 그룹에 사용자 지정 공격만 포함된 경우 보안 패키지 라이선스가 필요하지 않으며 디바이스에 보안 패키지를 설치할 필요가 없습니다. 보안 패키지를 설치하려면 IDP 보안 패키지 라이선스가 필요합니다.
개요
침입 탐지 및 방지(IDP)에는 사전 정의된 공격 객체가 다수 포함되어 있습니다. 침입 탐지 및 방지(IDP) 정책을 관리하고 구성하기 위해 공격 객체를 그룹화할 수 있습니다. 공격 객체 그룹에는 두 가지 이상의 공격 객체 유형이 포함될 수 있습니다. 공격 그룹은 다음과 같이 분류됩니다.
동적 공격 그룹—특정 일치 기준에 따른 공격 객체를 포함합니다. 서명을 업데이트하는 동안 동적 그룹 구성원 자격은 해당 그룹의 일치 기준에 따라 자동으로 업데이트됩니다. 예를 들어, 동적 공격 그룹 필터를 사용하여 특정 애플리케이션과 관련된 공격을 동적으로 그룹화할 수 있습니다.
사용자 지정 공격 그룹—공격 정의에 지정된 공격 목록을 포함합니다. 사용자 지정 공격 그룹에는 사전 정의된 특정 공격, 사용자 지정 공격, 사전 정의된 공격 그룹 또는 동적 공격 그룹도 포함될 수 있습니다. 사용자 지정 공격 그룹은 공격이 그룹에 지정되므로 본질적으로 정적입니다. 따라서 보안 데이터베이스가 업데이트될 때 공격 그룹은 변경되지 않습니다. 구성원은 서명 데이터베이스의 사전 정의된 공격 또는 사전 정의된 공격 그룹 또는 기타 사용자 지정 공격 및 동적 공격 그룹일 수 있습니다.
이 예에서는 사용자 지정 및 동적 공격으로부터 FTP 또는 Telnet 서버를 보호하기 위해 침입 탐지 및 방지(IDP) 정책에 공격 그룹을 구성합니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit] 로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력합니다 commit .
set security idp idp-policy idpengine rulebase-ips rule 1 match from-zone any set security idp idp-policy idpengine rulebase-ips rule 1 match source-address any set security idp idp-policy idpengine rulebase-ips rule 1 match to-zone any set security idp idp-policy idpengine rulebase-ips rule 1 match destination-address any set security idp idp-policy idpengine rulebase-ips rule 1 match application default set security idp idp-policy idpengine rulebase-ips rule 1 match attacks custom-attack-groups cust-group set security idp idp-policy idpengine rulebase-ips rule 1 match attacks dynamic-attack-groups dyn2 set security idp idp-policy idpengine rulebase-ips rule 1 then action no-action set security idp idp-policy idpengine rulebase-ips rule 1 then notification log-attacks set security idp active-policy idpengine set security idp custom-attack customftp severity info set security idp custom-attack customftp attack-type signature context ftp-username set security idp custom-attack customftp attack-type signature pattern .*guest.* set security idp custom-attack customftp attack-type signature direction client-to-server set security idp custom-attack-group cust-group group-members customftp set security idp custom-attack-group cust-group group-members ICMP:INFO:TIMESTAMP set security idp custom-attack-group cust-group group-members "TELNET - Major" set security idp custom-attack-group cust-group group-members dyn1 set security idp dynamic-attack-group dyn1 filters category values TROJAN set security idp dynamic-attack-group dyn2 filters direction expression and set security idp dynamic-attack-group dyn2 filters direction values server-to-client set security idp dynamic-attack-group dyn2 filters direction values client-to-server set security idp dynamic-attack-group dyn2 filters age-of-attack less-than value 7 set security idp dynamic-attack-group dyn2 filters vulnerability-type values Injection set security idp dynamic-attack-group dyn2 filters vendor Microsoft set security idp dynamic-attack-group dyn2 filters cvss-score less-than value 7 set security idp traceoptions file idpd set security idp traceoptions flag all
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
동적 공격 그룹과 사용자 지정 공격 그룹으로 공격 그룹을 구성하려면 다음을 수행합니다.
침입 탐지 및 방지(IDP) 정책을 생성합니다.
[edit] user@host# set security idp idp-policy idpengine
규칙 베이스를 정책과 연결합니다.
[edit security idp idp-policy idpengine] user@host# set rulebase-ips
규칙 베이스에 규칙을 추가합니다.
[edit security idp idp-policy idpengine rulebase-ips] user@host# set rule 1
규칙에 대한 일치 기준을 정의합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match from-zone any user@host# set match source-address any user@host# set match to-zone any user@host# set match destination-address any
규칙 기준과 일치하도록 응용 프로그램 집합 이름을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match application default
사용자 지정 공격 그룹에 대한 일치 항목을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match attacks custom-attack-groups cust-group
동적 공격 그룹에 대한 일치 항목을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set match attacks dynamic-attack-groups dyn2
규칙에 대한 작업을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set then action no-action
규칙에 대한 알림 또는 로깅 옵션을 지정합니다.
[edit security idp idp-policy idpengine rulebase-ips rule 1] user@host# set then notification log-attacks
침입 탐지 및 방지(IDP) 정책을 활성화합니다.
[edit] user@host# set security idp active-policy idpengine
사용자 지정 공격의 이름을 지정합니다.
[edit security idp] user@host# set custom-attack customftp
사용자 지정 공격의 심각도를 설정합니다.
[edit security idp custom-attack customftp] user@host# set severity info
공격에 대한 공격 유형과 컨텍스트를 설정합니다.
[edit security idp custom-attack customftp] user@host# set attack-type signature context ftp-username
공격 패턴을 지정합니다.
[edit security idp custom-attack customftp] user@host# set attack-type signature pattern .*guest.*
공격 방향을 지정합니다.
[edit security idp custom-attack customftp] user@host# set attack-type signature direction client-to-server
사용자 지정 공격 그룹의 이름을 지정합니다.
[edit security idp] user@host# set custom-attack-group cust-group
사용자 지정 공격 그룹에 속하는 공격 또는 공격 그룹 목록을 지정합니다.
[edit security idp custom-attack-group cust-group] user@host# set group-members customftp user@host# set group-members ICMP:INFO:TIMESTAMP user@host# set group-members "TELNET - Major" user@host# set group-members dyn1
첫 번째 동적 공격 그룹의 이름을 지정합니다.
[edit security idp] user@host# set dynamic-attack-group dyn1
필터를 구성하고 필터의 범주 값을 설정합니다.
[edit security idp dynamic-attack-group dyn1 ] user@host# set filters category values TROJAN
두 번째 동적 공격 그룹의 이름을 지정합니다.
[edit security idp] user@host# set dynamic-attack-group dyn2
두 번째 동적 공격 그룹에 대한 필터를 구성하고 이 필드에 대한 방향과 값을 설정합니다.
[edit security idp dynamic-attack-group dyn2 ] user@host# set filters direction expression and user@host# set filters direction values server-to-client user@host# set filters direction values client-to-server user@host# set filters age-of-attack less-than value 7 user@host# set filters cvss-score less-than value 7 user@host# set filters file-type MPEG user@host# set filters vendor Microsoft user@host# set filters vulnerability-type values Injection
침입 탐지 및 방지(IDP) 서비스에 대한 추적 옵션 및 추적 파일 정보를 지정합니다.
[edit] user@host# set security idp traceoptions file idpd
추적 출력에 포함되어야 하는 이벤트 및 기타 정보를 지정합니다.
[edit] user@host# set security idp traceoptions flag all
결과
구성 모드에서 명령을 입력하여 show security idp 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
[edit]
user@host# show security idp
idp-policy idpengine {
rulebase-ips {
rule 1 {
match {
from-zone any;
source-address any;
to-zone any;
destination-address any;
application default;
attacks {
custom-attack-groups cust-group;
dynamic-attack-groups dyn2;
}
}
then {
action {
no-action;
}
notification {
log-attacks;
}
}
}
}
}
active-policy idpengine;
custom-attack customftp {
severity info;
attack-type {
signature {
context ftp-username;
pattern .*guest.*;
direction client-to-server;
}
}
}
custom-attack-group cust-group {
group-members [ customftp ICMP:INFO:TIMESTAMP "TELNET - Major" dyn1 ];
}
dynamic-attack-group dyn1 {
filters {
category {
values TROJAN;
}
}
}
dynamic-attack-group dyn2 {
filters {
direction {
expression and;
values [ server-to-client client-to-server ];
}
age-of-attack less-than
{
value 7;
}
vulnerability-type
{
values Injection;
}
vendor Microsoft;
cvss-score less-than
{
value 7;
}
}
}
traceoptions {
file idpd;
flag all;
}
디바이스 구성을 마쳤으면 구성 모드에서 을(를) 입력합니다 commit .
구성 모드에서 을(를) 입력 commit 하면 구성이 내부적으로 확인된 다음 커밋됩니다. 오류가 있는 경우 커밋이 실패하고 오류가 보고됩니다.
확인
구성 확인
목적
구성이 올바른지 확인합니다.
행동
운영 모드에서 명령을 입력하여 show security idp policy-commit-status 정책 컴파일 또는 로드 상태를 확인합니다.
명령의 show security idp policy-commit-status 출력은 동적이므로 이 명령에 대한 단일 출력은 없습니다.
구성에 따라 공격이 탐지되는지 확인하고, 공격 일치를 트리거하는 디바이스를 통해 트래픽을 전달합니다. 예를 들어 명령을 입력하여 show security idp status 정책이 로드되었는지 여부를 확인합니다.
user@host> show security idp status
IDP policy[/var/db/idpd/bins/test.bin.gz.v] and detector[/var/db/idpd/sec-repository/installed-detector/libidp-detector.so.tgz.v] loaded successfully. The loaded policy size is:785 Bytes
show security idp attack table 명령을 입력하여 공격 트래픽을 전달한 다음 공격이 탐지되는지 여부를 확인합니다.
명령은 공격이 탐지된 경우에만 출력을 표시합니다.
user@host> show security idp attack table
IDP attack statistics: Attack name #Hits FTP:USER:ROOT 1
사용자 지정 공격 개체 DFA 표현식
표 25에는 공격 패턴을 일치시키기 위한 구문의 예가 나와 있습니다.
구문 예 |
묘사 |
매치 예시 |
|---|---|---|
안녕하세요.. \B.0.1.입니다. 00\ᄂ... 세계 |
일치에는 두 가지 측면이 있습니다. 비트 마스크 패턴(\B.0.0.1.)과 일치해야 합니다. 00\B 비트마스크 패턴 전후의 바이트 수(.로 표시)와 일치해야 합니다. |
성냥: 안녕하세요.. \B.0.11100\B... 세계안녕하세요.. \B.0.10000\B... 세계 일치하지 않음: 안녕하세요.\B.0.1.. 00\B.world안녕하세요.. \B.0.1.입니다. 11\나... 세계 |
\X01 86 A5 00 00\X |
지정된 5바이트를 그대로 사용하는 패턴입니다. |
01 86 A5 00 00 |
(안녕하세요|world) |
hello 또는 world가 한 번 발생하는 패턴입니다. |
안녕하세요 세계 |
(안녕하세요|세계)+ |
hello 또는 world가 한 번 이상 발생하는 패턴입니다. |
헬로월드 world안녕하세요 안녕하세요안녕하세요 |
\[안녕하세요\] |
패턴 안녕하세요, 대소문자를 구분하지 않습니다. |
안녕하세요 안녕하세요 안녕하세요 |
\u안녕하세요\u |
패턴 안녕하세요, 유니코드를 구분하지 않습니다. |
안녕하세요 68656c6c6f |
안녕하세요\sworld |
패턴 hello world, 공백으로 구분된 두 단어. |
전 세계 여러분 안녕하세요 |
[c-e]a(d|t) |
c, d 또는 e의 첫 글자가 있는 패턴; 중간 문자 a; d 또는 t로 끝납니다. |
고양이 아빠 먹다 |
[^c-d]a(d|t) |
c, d 또는 e 이외의 문자로 시작하는 패턴입니다. 두 번째 문자 a가 있습니다. d 또는 t로 끝납니다. |
일시적 유행 자드 |
ᅡ*ᄂ+ᄂ |
임의의 수의 문자(0 포함)가 있는 패턴; 하나 이상의 B 문자가 뒤따릅니다. 뒤에 C 문자가 옵니다. |
기원전 ABC 방송 아 |
T[Kk] |
대문자 T로 시작하고 그 뒤에 대/소문자를 구분하지 않는 k가 오는 패턴입니다. |
TK 티케이 |
([tt])k |
대/소문자를 구분하지 않는 t로 시작하고 그 뒤에 소문자 k가 오는 패턴입니다. |
티케이 티케이 |
바다[In] |
Sea로 시작하고 그 뒤에 소문자 l, m 또는 n이 오는 패턴입니다. |
도장 솔기 숀 |
([B-D])에서 |
대문자 B, C 또는 D로 시작하고 그 뒤에 소문자 at이 오는 패턴입니다. |
박쥐 고양이 닷 |
\0133\[안녕하세요\]\0135 |
여는 대괄호로 시작하여 대/소문자를 구분하지 않는 hello가 오고 닫는 대괄호로 끝나는 패턴입니다. 이 표현식은 \0 표현식을 사용하여 다음 표현식이 8진수 코드임을 나타내고 여는 대괄호(133) 또는 닫는 대괄호(135)의 8진수 코드가 뒤따릅니다. |
[안녕하세요] [헬로] |
예제: 패턴 부정 사용
패턴 부정을 사용하여 안전한 것으로 알려진 패턴을 제외하고 다른 모든 패턴과 일치시킬 수 있습니다.
예를 들어, FTP 서버에 대한 트래픽을 검사하기 위해 공격 객체를 설계하고 있다고 가정해 보겠습니다. 계정 사용자 이름과 암호는 권한이 있는 사용자만 내부 리소스에 액세스할 수 있도록 잘 관리됩니다. 그러나 네트워크가 성장하고 새로운 구성 요소가 추가됨에 따라 사용자 계정이 급증하여 특정 구성 요소에 대한 네트워크 액세스가 증가할 수 있습니다. 이 예에서는 여러 사용자 계정이 활성화된 내부 네트워크에 FTP 서버가 있습니다. 보안을 강화하기 위해 FTP 관리자에 대한 액세스를 제한하려고 합니다.
FTP 서비스, ftp-username 컨텍스트 및 패턴 admin에 대한 공격 객체를 생성하고 부정 확인란을 선택합니다. 결과는 이외의 사용자에 admin의한 로그인 시도에 플래그를 지정할 수 있는 공격 객체입니다. 일치하는 트래픽을 로깅하거나 삭제하는 규칙에서 이 공격 객체를 사용할 수 있습니다.
참조
예: 파일 확장자 일치
이 예제에서는 .emf(Windows 확장 메타파일) 및 .wmf(Microsoft Windows 메타파일) 확장명을 사용하는 Microsoft Windows 메타파일을 검색하려고 합니다.
이러한 파일 형식 중 하나를 일치시키려면 간단한 DFA 표현식을 사용합니다.
.*\.\[w|emf\]
이 표현식에서:
별표(.*)와 결합된 마침표는 하나 이상의 문자가 나타나야 함을 나타냅니다(와일드카드 일치).
마침표 문자(\.)와 결합된 백슬래시는 마침표 문자가 이스케이프되었음을 나타냅니다(마침표가 패턴에 나타남).
표현식의 시작과 끝에 있는 괄호( )는 그룹을 나타냅니다. e와 w 사이의 파이프 문자(e|w)는 문자 간의 OR 관계를 나타냅니다. 이 표현식의 경우 e 또는 w가 이 표현식과 일치하는 패턴에 나타나야 합니다. 하나만 있어야 합니다.
여는 대괄호(\[)는 닫는 대괄호(\])가 나타날 때까지 모든 문자에 대해 대소문자를 구분하지 않는 일치의 시작을 나타냅니다.
닫는 대괄호(\])는 대소문자를 구분하지 않는 일치 항목의 끝을 나타냅니다.
참조
예: Apache Tomcat 서비스 거부 공격
이 예제에서는 Apache Tomcat을 실행하는 웹 서버가 있다고 가정합니다. 보안 관리자가 Apache Tomcat에 대한 취약점이 방금 발표되었음을 알리고, 사용자는 서버 패치를 위해 다운타임을 예약할 수 있을 때까지 네트워크를 보호하기 위해 사용자 지정 공격 객체를 생성하기로 결정했습니다.
이 취약성에 대한 CVE 권고(http://nvd.nist.gov/nvd.cfm?cvename=CAN-2002-0682)에는 다음 인용문이 포함되어 있습니다.
A cross-site scripting vulnerability in Apache Tomcat 4.0.3 allows remote attackers to execute script as other web users via script in a URL with the /servlet/ mapping, which does not filter the script when an exception is thrown by the servlet.
이 정보를 통해 공격이 HTTP를 사용한다는 것을 알 수 있습니다. 이제 공격 코드를 찾아야 합니다. 이 권고에는 공격에 대한 자세한 정보로 연결되는 참조도 포함되어 있습니다. 안타깝게도 참조된 웹 페이지에는 익스플로잇 코드가 포함되어 있지 않습니다. CVE 권고에서 학습한 정보를 사용하여 웹을 검색한 후 http://packetstormsecurity.nl/0210-exploits/neuter.c 에서 일부 악용 코드를 찾을 수 있습니다. 스크립트를 복사하여 테스트 랩의 공격자 컴퓨터로 이동합니다.
이 공격 객체를 개발하는 방법:
참조
특정 프로토콜에 대한 침입 탐지 및 방지(IDP) 테스트 조건 나열
침입 탐지 및 방지(IDP) 사용자 지정 공격을 구성할 때 특정 프로토콜에 대한 목록 테스트 조건을 지정할 수 있습니다. ICMP에 대한 테스트 조건을 나열하려면 다음을 수행합니다.
ICMP에 대해 지원되는 테스트 조건을 나열하고 구성할 테스트 조건을 선택합니다. 지원되는 테스트 조건은 계층 수준의 CLI
[edit security idp custom-attack test1 attack-type anomaly]에서 사용할 수 있습니다.user@host#set test icmp? Possible completions: <test> Protocol anomaly condition to be checked ADDRESSMASK_REQUEST DIFF_CHECKSUM_IN_RESEND DIFF_CHECKSUM_IN_RESPONSE DIFF_LENGTH_IN_RESEND
테스트 조건을 구성할 서비스를 구성합니다.
user@host# set service ICMP
테스트 조건을 구성합니다(프로토콜 이름을 지정할 필요는 없음).
user@host# set test ADDRESSMASK_REQUEST
디바이스 구성을 마쳤으면 구성 모드에서 을(를) 입력합니다
commit.
침입 탐지 및 방지(IDP) 프로토콜 디코더 이해하기
프로토콜 디코더는 침입 탐지 및 방지(IDP)에서 이상을 찾고 RFC 표준이 충족되는지 확인함으로써 프로토콜 무결성 및 프로토콜 컨텍스트 정보를 확인하는 데 사용됩니다. 이상은 헤더, 메시지 본문 또는 해당 프로토콜에 대한 RFC 표준에서 벗어난 기타 개별 필드와 같은 프로토콜의 모든 부분일 수 있습니다. 예를 들어 SMTP의 경우 SMTP MAIL TO가 SMTP HELO 앞에 오면 SMTP 프로토콜의 이상입니다.
프로토콜 컨텍스트 정보를 사용할 수 있는 경우 프로토콜 디코더는 해당 컨텍스트 내에서 공격을 확인합니다. 예를 들어 SMTP의 경우 전자 메일을 user@company.com 로 보내는 경우 user@company.com 는 컨텍스트 정보이고 SMTP MAIL TO는 컨텍스트입니다. 프로토콜 디코더는 공격 탐지를 위해 전체 패킷이 아닌 프로토콜 컨텍스트 데이터를 사용하여 전반적인 성능과 정확성을 향상시킵니다.
SMTP에 대한 프로토콜 디코더 검사와 일치하는 규칙으로 구성된 정책이 있는 경우 규칙이 트리거되고 적절한 작업이 수행됩니다.
IDP 모듈은 사전 구성된 프로토콜 디코더 세트와 함께 제공됩니다. 이러한 프로토콜 디코더에는 수행하는 다양한 프로토콜별 컨텍스트 검사에 대한 기본 설정이 있습니다. 이러한 기본값을 사용하거나 사이트의 특정 요구 사항에 맞게 조정할 수 있습니다. 사용 가능한 프로토콜 디코더 목록을 표시하려면 다음 명령을 입력합니다.
user@host # show security idp sensor-configuration detector protocol-name ?
현재 프로토콜 디코더 세트와 기본 컨텍스트 값에 대한 자세한 내용은 디바이스의 /ar/db/idpd/sec-download 폴더에 있는detector-capabilities.xml 파일을 참조하십시오. 새 보안 패키지를 다운로드하면 현재 프로토콜 및 기본 디코더 컨텍스트 값을 나열하는 이 파일도 받게 됩니다.
예: UNIX CDE/dtlogin 취약점
이 예에서 네트워크에는 UNIX를 실행하는 여러 사용자 워크스테이션 및 서버가 포함됩니다. 많은 UNIX 운영 체제는 공통 데스크탑 환경(CDE)을 그래픽 사용자 인터페이스로 사용합니다. 보안 관리자가 CDE의 dtlogin 프로세스에서 새로운 취약점을 알립니다(dtlogin 프로세스는 CDE에 대한 GUI 로그인 프로세스를 처리함).
취약성에 대한 CERT 권고(http://www.kb.cert.org/vuls/id/179804)에는 다음 정보가 포함되어 있습니다.
...The dtlogin program contains a "double-free" vulnerability that can be triggered by a specially crafted X Display Manager Control Protocol (XDMCP) packet... Block XDMCP traffic (177/udp) from untrusted networks such as the Internet...
이 정보를 통해 공격이 XDMCP 프로토콜 패킷을 사용하고 UDP/177에서 실행된다는 것을 알 수 있습니다. 이제 공격 코드를 찾아야 합니다. 이 권고에는 공격에 대한 자세한 정보로 연결되는 참조도 포함되어 있습니다. http://lists.immunitysec.com/pipermail/dailydave/2004-March/000402.html 참조는 공격을 처음 보고한 사람이 공격을 복제하는 스크립트도 작성했음을 나타냅니다. 스크립트를 가져와서 테스트 랩의 공격자 컴퓨터로 이동합니다.
이 공격 객체를 개발하는 방법:
참조
예: 웜 탐지
웜과 트로이 목마는 방화벽 및 기타 기존 보안 수단을 우회하여 네트워크에 침입하는 경우가 많습니다. 이 예시에서는 사용자 지정 공격 객체를 생성하여 네트워크에서 Blaster 웜을 탐지합니다.
Blaster 웜에 대한 http://www.cert.org/advisories/CA-2003-20.html(CERT 권고)는 다음 정보를 제공합니다.
The W32/Blaster worm exploits a vulnerability in Microsoft's DCOM RPC interface...”
이 정보를 통해 공격이 이전에 식별된 보안 허점인 DCOM 익스플로잇을 사용한다는 것을 알 수 있습니다. 이제 공격 코드를 찾아야 합니다. 이 권고에는 공격에 대한 자세한 정보로 연결되는 참조도 포함되어 있습니다. 안타깝게도 참조된 웹 페이지에는 익스플로잇 코드가 포함되어 있지 않습니다. CERT 권고에서 학습한 정보를 사용하여 웹을 검색한 후 PacketStorm(http://packetstormsecurity.com/0307-exploits/dcom.c)에서 익스플로잇 코드를 찾습니다.
이 공격 객체를 개발하는 방법:
참조
예: HTTP 취약점 악용을 감지하기 위한 복합 서명
일부 공격은 패킷 단위 수준에서 볼 때 무해한 것처럼 보이도록 제작됩니다. 이러한 공격의 경우 여러 컨텍스트(서비스, 비서비스 또는 둘 다)에서 여러 서명 패턴을 탐지하는 복합 서명을 만들 수 있습니다.
이 예제에는 Microsoft FrontPage Server 확장을 사용하는 웹 서버가 있습니다. 보안 관리자가 FrontPage Server 확장의 새로운 버퍼 오버플로 취약점을 알려 줍니다.
이 취약성에 대한 BugTraq 권고(http://www.securityfocus.com/bid/9007/discussion/)에는 다음 정보가 포함되어 있습니다.
Microsoft FrontPage Server Extensions are prone to a remotely exploitable buffer overrun vulnerability ... It is possible to trigger this condition with a chunked-encoded HTTP POST request...
다음 개념 증명 예제도 제공됩니다.
POST /_vti_bin/_vti_aut/fp30reg.dll HTTP/1.1 Transfer-Encoding: chunked PostLength PostData 0
또한 컴파일된 익스플로잇에 대한 링크가 포함되어 있습니다.
이 정보를 통해 공격이 HTTP 프로토콜을 사용하고 공격의 적어도 일부가 POST 메서드를 사용한다는 것을 알 수 있습니다. 컴파일된 익스플로잇에 대한 링크를 사용하여 스크립트를 가져온 다음 테스트 랩의 공격자 컴퓨터로 이동합니다.
이 공격 객체를 개발하는 방법:
참조
예제: 시간 바인딩 파라미터를 사용하여 무차별 암호 대입 공격 탐지
시간 바인딩 제약 조건에서는 트래픽이 일치하는 것으로 간주되기 위해 패턴이 1분 내에 특정 횟수만큼 발생해야 합니다.
서명과 함께 시간 바인딩 파라미터를 사용하여 무차별 암호 대입 공격의 징후를 감지할 수 있습니다. 사용자가 암호를 변경하는 것은 무해한 이벤트이며 일반적으로 네트워크에서 가끔 볼 수 있습니다. 그러나 분당 수천 개의 비밀번호 변경은 의심스럽습니다.
무차별 암호 대입 공격에서 공격자는 일반적으로 대상 서버 용량을 압도하거나 인증 자격 증명과 일치시키기 위한 반복적인 시행착오 시도를 통해 순전히 대입을 사용하여 시스템 방어를 뚫으려고 시도합니다. 무차별 암호 대입 로그인 공격에서 공격자는 먼저 사용자 이름 목록과 암호 사전을 수집합니다. 그런 다음 공격자는 목록의 첫 번째 사용자에 대한 사전에 첫 번째 암호를 입력한 다음 일치하는 항목이 나올 때까지 모든 사용자에 대해 모든 암호를 시도하는 도구를 사용합니다. 공격자가 사용자 이름과 암호의 모든 조합을 시도하면 항상 성공합니다. 그러나 암호 사전이 일반적으로 제한되고(가능한 모든 암호를 포함하지 않음) 공격 도구가 암호에 대한 순열(예: 문자 바꾸기 또는 대소문자 변경)을 수행하지 않기 때문에 무차별 암호 대입 공격이 실패하는 경우가 많습니다.
이 예시에서는 HTTP(웹 기반 애플리케이션)를 통해 인증된 사용자에 대한 과도한 수의 암호 변경을 감지하는 서명 공격 객체를 생성합니다.
먼저 공격 패턴을 구성합니다.
.*/\[changepassword\.cgi\]
이 표현식에서:
점 별 조합(.*)은 와일드카드 일치를 나타냅니다.
문자 앞의 백슬래시는 해당 문자가 정규 표현식을 나타내므로 이스케이프되어야 함을 나타냅니다. 이 경우 문자는 여는 대괄호입니다. 백슬래시는 이 표현식에서 파일 확장자 마커(점) 앞과 닫는 대괄호 앞에도 사용됩니다.
사용자 암호를 변경하는 데 사용되는 cgi 스크립트의 이름과 cgi 확장자가 포함됩니다.
컨텍스트의 경우, 웹 기반 응용 프로그램에 대해 발생하는 암호 변경을 감지하려고 시도하므로 목록에서 HTTP-URL-PARSED(HTTP-URL-PARSED) 를 선택합니다. changepassword.cgi 스크립트는 사용될 때 URL의 일부로 나타나지만, 이름을 찾으려면 침입 탐지 및 방지(IDP) 시리즈 디바이스에 URL을 구문 분석하도록 지시해야 합니다.
다음으로 시간 바인딩을 구성합니다.
이 설정에서:
범위는 피어 로 설정되므로 공격 패턴이 소스 또는 대상에 관계없이 이벤트와 일치할 수 있습니다.
Count는 가양성을 방지하기 위해 큰 숫자(1000)로 설정됩니다. 이 값은 공격 대상이 일치하기 전에 changepassword.cgi 스크립트가 URL에 1000번 나타나야 한다는 것을 의미합니다.
참조
참조: 사용자 지정 공격 개체 프로토콜 번호
표 26 침입 탐지 및 방지(IDP) 시스템에 사용되는 프로토콜 번호.
프로토콜 이름 |
프로토콜 번호 |
|---|---|
홉옵트(HOPOPT) |
0 |
ICMP (영문) |
1 |
IGMP를 참조하십시오. |
2 |
GGP (영문) |
3 |
IPIP (아이피) |
4 |
세인트 |
5 |
TCP (영문) |
6 |
증권 시세 표시기 |
7 |
EGP (이그프) |
8 |
IGP (IGP) |
9 |
BBN-RCC-월 |
10 |
NVP-II (엔비피-II) |
11 |
강아지 |
12 |
아르고스 |
13 |
엠콘 |
14 |
(주)엑스넷 |
15 |
혼돈 |
16 |
UDP (영어) |
17 |
멀티플렉서 |
18 |
DCN-MEAS |
19 |
(주)에이치엠피 |
20 |
증권 시세 표시기 |
21 |
XND-IDP |
22 |
트렁크-1 |
23 |
트렁크-2 |
24 |
리프-1 |
25 |
리프-2 |
26 |
RDP (RDP) |
27 |
IRTP (영어) |
28 |
ISO-TP4 인증 |
29 |
넷블릿 |
30 |
MFE-NSP |
31 |
메리트 INP |
32 |
9월 |
33 |
3PC |
34 |
IDPR (침입 탐지 및 방지) |
35 |
증권 시세 표시기 |
36 |
디디피(DDP) |
37 |
TP_PLUS_PLUS |
39 |
일리노이주 |
40 |
IPV6 (IPV6) |
41 |
SDRP (영문) |
42 |
IPV6 라우팅 |
43 |
IDV6 단편화 |
44 |
IDRP (IDRP) |
45 |
RSVP |
46 |
그레 |
47 |
MHRP (영문) |
48 |
비나(BNA) |
49 |
증권 시세 표시기 |
50 |
아 |
51 |
NLSP |
52 |
슬쩍 |
53 |
나프(NARP) |
54 |
휴대폰 |
55 |
TLSP (영어) |
56 |
거르다 |
57 |
IPV6-ICMP |
58 |
IPV6-NONXT |
59 |
IPV6-옵트 |
60 |
아히프 |
61 |
증권 시세 표시기 |
62 |
알엔피 |
63 |
SAT-EXPAK (토-EXPAK) |
64 |
크립톨란 |
65 |
증권 시세 표시기 |
66 |
(주)아이피씨 |
67 |
증권 시세 표시기 |
68 |
토-월 |
69 |
사증 |
70 |
IPCV (영문) |
71 |
CPNX (영문) |
72 |
증권 시세 표시기 |
73 |
증권 시세 표시기 |
74 |
PVP |
75 |
BR-토-월 |
76 |
일-ND |
77 |
WB-월 |
78 |
WB-엑스팩 |
79 |
ISO-IP(아이소-IP) |
80 |
VMTP (영문) |
81 |
보안 VMTP |
82 |
덩굴 |
83 |
증권 시세 표시기 |
84 |
NSFNET-IBP |
85 |
증권 시세 표시기 |
86 |
증권 시세 표시기 |
87 |
EIGRP (영문) |
88 |
OSPFIGP (영문) |
89 |
스프라이트-RPC |
90 |
LARP |
91 |
최대 전송 단위(MTP) |
92 |
AX_25 |
93 |
IPIP (아이피) |
94 |
믹씨프 |
95 |
SCC-SP |
96 |
이더립 |
97 |
엔캡 |
98 |
원숭이 |
99 |
그리니치 표준시(GMTP) |
100 |
증권 시세 표시기 |
101 |
PNNI (주)피니(PNNI |
102 |
PIM (핌) |
103 |
아리스 |
104 |
SCPS (SCPS) |
105 |
QNX (주)큐엔엑스 |
106 |
답변/N |
107 |
IPCOMP (영문) |
108 |
증권 시세 표시기 |
109 |
COMPAT-PEER |
110 |
IPZ-인-IP |
111 |
VRRP (VRRP) |
112 |
증권 시세 표시기 |
113 |
홉-오(HOP-O) |
114 |
L2TP (엘투티피) |
115 |
디디엑스 |
116 |
(주)아이아트핏 |
117 |
증권 시세 표시기 |
118 |
증권 시세 표시기 |
119 |
요로감염 |
120 |
SMP (에스엠피) |
121 |
증권 시세 표시기 |
122 |
증권 시세 표시기 |
123 |
이시스 |
124 |
불 |
125 |
증권 시세 표시기 |
126 |
크러드(CRUDP) |
127 |
증권 시세 표시기 |
128 |
(주)아이피엘트 |
129 |
증권 시세 표시기 |
130 |
파이프 |
131 |
증권 시세 표시기 |
132 |
FC |
133 |
RSVP-E2E-무시 |
134 |
해당 사항 없음 |
|
해당 사항 없음 |
|
해당 사항 없음 |
|
예약 |
255 |
참조: 인쇄 불가능 및 인쇄 가능한 ASCII 문자
다음 표는 인쇄 불가능 문자와 인쇄 가능한 문자의 ASCII 표현에 대한 세부 정보를 제공합니다.
12월 |
16 진수 |
10월 |
숯 |
주석 |
|---|---|---|---|---|
0 |
0 |
000 |
눌 |
영 |
1 |
1 |
001 |
소에이치(SOH) |
제목 시작 |
2 |
2 |
002 |
증권 시세 표시기 |
텍스트의 시작 |
3 |
3 |
003 |
증권 시세 표시기 |
텍스트의 끝 |
4 |
4 |
004 |
EOT |
전송 종료 |
5 |
5 |
005 |
증권 시세 표시기 |
질문 |
6 |
6 |
006 |
증권 시세 표시기 |
승인하다 |
7 |
7 |
007 |
벨 |
종 |
8 |
8 |
010 |
모텔 |
백스페이스 |
9 |
9 |
011 |
탭 |
수평 탭 |
10 |
A |
012 |
증권 시세 표시기 |
줄 바꿈 |
11 |
B |
013 |
VT (VT) |
수직 탭 |
12 |
C |
014 |
Ff 로 |
양식 피드 |
13 |
D |
015 |
크롬 |
캐리지 리턴 |
14 |
E |
016 |
그렇게 |
시프트 아웃 |
15 |
F |
017 |
SI |
시프트 인(Shift In) |
16 |
10 |
020 |
DLE (디엘) |
데이터 링크 이스케이프 |
17 |
11 |
021 |
DC1 |
장치 제어 1 |
18 |
12 |
022 |
DC2 |
장치 제어 2 |
19 |
13 |
023 |
DC3 |
장치 제어 3 |
20 |
14 |
024 |
DC4 |
장치 제어 4 |
21 |
15 |
025 |
낙 |
부정 승인 |
22 |
16 |
026 |
신(SYN) |
동기 유휴(Synchronous Idle) |
23 |
17 |
027 |
증권 시세 표시기 |
전송 블록의 끝 |
24 |
18 |
030 |
깡통 |
취소 |
25 |
19 |
031 |
그들 |
중간의 끝 |
26 |
1ᅡ |
032 |
하위 |
대용하다 |
27 |
1ᄂ |
033 |
ESC 키 |
탈출 |
28 |
1ᄃ |
034 |
일천초분의 일초 |
파일 구분 기호 |
29 |
1차원 |
035 |
(주)지에스 |
그룹 구분 기호 |
30 |
1E |
036 |
증권 시세 표시기 |
레코드 구분 기호 |
31 |
1층 |
037 |
우리 |
단위 구분 기호 |
12월 |
16 진수 |
10월 |
숯 |
|---|---|---|---|
32 |
20 |
040 |
우주 |
33 |
21 |
041 |
! |
34 |
22 |
042 |
|
35 |
23 |
043 |
# |
36 |
24 |
044 |
$ |
37 |
25 |
045 |
% |
38 |
26 |
046 |
& |
39 |
27 |
047 |
|
40 |
28 |
050 |
( |
41 |
29 |
051 |
) |
42 |
2ᅡ |
052 |
* |
43 |
2ᄂ |
053 |
+ |
44 |
2ᄃ |
054 |
, |
45 |
2차원 |
055 |
- |
46 |
2E |
056 |
. |
47 |
2층 |
057 |
/ |
48 |
30 |
060 |
0 |
49 |
31 |
061 |
1 |
50 |
32 |
062 |
2 |
51 |
33 |
063 |
3 |
52 |
34 |
064 |
4 |
53 |
35 |
065 |
5 |
54 |
36 |
066 |
6 |
55 |
37 |
067 |
7 |
56 |
38 |
070 |
8 |
57 |
39 |
071 |
9 |
58 |
3ᅡ |
072 |
: |
59 |
3ᄂ |
073 |
; |
60 |
3ᄃ |
074 |
< |
61 |
3차원 |
075 |
= |
62 |
3E |
076 |
> |
63 |
3층 |
077 |
? |
64 |
40 |
100 |
@ |
65 |
41 |
101 |
A |
66 |
42 |
102 |
B |
67 |
43 |
103 |
C |
68 |
44 |
104 |
D |
69 |
45 |
105 |
E |
70 |
46 |
106 |
F |
71 |
47 |
107 |
G |
72 |
48 |
110 |
H |
73 |
49 |
111 |
나는 |
74 |
4ᅡ |
112 |
J |
75 |
4ᄂ |
113 |
K |
76 |
4ᄃ |
114 |
L |
77 |
4차원 |
115 |
M |
78 |
4E |
116 |
N |
79 |
4층 |
117 |
O |
80 |
50 |
120 |
P |
81 |
51 |
121 |
Q |
82 |
52 |
122 |
R |
83 |
53 |
123 |
S |
84년 |
54 |
124 |
T |
85 |
55 |
125 |
U |
86 |
56 |
126 |
V |
87 |
57 |
127 |
W |
88 |
58 |
130 |
X |
89 |
59 |
131 |
Y |
90 |
5ᅡ |
132 |
Z |
91 |
재질 보기 5B |
133 |
[ |
92 |
5ᄃ |
134 |
\ |
93 |
5차원 |
135 |
] |
94 |
5E |
136 |
^ |
95 |
5층 |
137 |
_ |
96 |
60 |
140 |
` |
97 |
61 |
141 |
a |
98 |
62 |
142 |
b |
99 |
63 |
143 |
c |
100 |
64 |
144 |
d |
101 |
65 |
145 |
e |
102 |
66 |
146 |
f |
103 |
67 |
147 |
g |
104 |
68 |
150 |
h |
105 |
69 |
151 |
나는 |
106 |
6ᅡ |
152 |
j |
107 |
6ᄂ |
153 |
k |
108 |
6ᄃ |
154 |
l |
109 |
6차원 |
155 |
m |
110 |
6E |
156 |
n |
111 |
6층 |
157 |
o |
112 |
70 |
160 |
p |
113 |
71 |
161 |
q |
114 |
72 |
162 |
r |
115 |
73 |
163 |
s |
116 |
74 |
164 |
t |
117 |
75 |
165 |
u |
118 |
76 |
166 |
v |
119 |
77 |
167 |
w |
120 |
78 |
170 |
x |
121 |
79 |
171 |
y |
122 |
7ᅡ |
172 |
z |
123 |
7ᄂ |
173 |
{ |
124 |
7ᄃ |
174 |
| |
125 |
7차원 |
175 |
} |
126 |
7E |
176 |
~ |
127 |
7층 |
177 |
델 |
128 |
80 |
200 |
Ç |
129 |
81 |
201 |
ü |
130 |
82 |
202 |
é |
131 |
83 |
203 |
â |
132 |
84 |
204 |
ä |
133 |
85 |
205 |
à |
134 |
86 |
206 |
å |
135 |
87 |
207 |
ç |
136 |
88 |
210 |
ê |
137 |
89 |
211 |
ë |
138 |
8ᅡ |
212 |
è |
139 |
8ᄂ |
213 |
ï |
140 |
8ᄃ |
214 |
î |
141 |
8차원 |
215 |
ì |
142 |
8E |
216 |
Ä |
143 |
8층 |
217 |
Å |
144 |
90 |
220 |
É |
145 |
91 |
221 |
æ |
146 |
92 |
222 |
Æ |
147 |
93 |
223 |
ô |
148 |
94 |
224 |
ö |
149 |
95 |
225 |
ò |
150 |
96 |
226 |
û |
151 |
97 |
227 |
ù |
152 |
98 |
230 |
ÿ |
153 |
99 |
231 |
Ö |
154 |
9ᅡ |
232 |
Ü |
155 |
9ᄂ |
233 |
¢ |
156 |
9ᄃ |
234 |
£ |
157 |
9차원 |
235 |
¥ |
158 |
9E |
236 |
P |
159 |
9층 |
237 |
ƒ |
160 |
대답 0 |
240 |
á |
161 |
대답 1 |
241 |
í |
162 |
대답 2 |
242 |
ó |
163 |
대답 3 |
243 |
ú |
164 |
가4 |
244 |
ñ |
165 |
대답 5 |
245 |
Ñ |
166 |
대답 6 |
246 |
ª |
167 |
대답 7 |
247 |
º |
168 |
대답 8 |
250 |
¿ |
169 |
대답 9 |
251 |
¬ |
170 |
금주(AA) |
252 |
|
171 |
혈액형 |
253 |
1/2 |
172 |
교류 |
254 |
1/4 |
173 |
광고 |
255 |
¡ |
174 |
AE (AE) |
256 |
" |
175 |
AF |
257 |
" |
176 |
나0 |
260 |
¦ |
177 |
지하 1층 |
262 |
¦ |
178 |
지하 2층 |
262 |
¦ |
179 |
지하 3층 |
263 |
¦ |
180 |
나4 |
264 |
¦ |
181 |
나5 |
265 |
¦ |
182 |
나6 |
266 |
¦ |
183 |
나7 |
267 |
+ |
184 |
나8 |
270 |
+ |
185 |
나9 |
271 |
¦ |
186 |
바 |
272 |
¦ |
187 |
비비(BB) |
273 |
+ |
188 |
기원전 |
274 |
+ |
189 |
BD (BD) |
275 |
+ |
190 |
있다 |
276 |
+ |
191 |
BF |
277 |
+ |
192 |
씨0 |
300 |
+ |
193 |
재질 보기 C1 |
301 |
- |
194 |
다2 |
302 |
- |
195 |
다3 |
303 |
+ |
196 |
재질 보기 C4 |
304 |
- |
197 |
재질 보기 C5 |
305 |
+ |
198 |
재질 보기 C6 |
306 |
¦ |
199 |
재질 보기 C7 |
307 |
¦ |
200 |
재질 보기 C8 |
310 |
+ |
201 |
재질 보기 C9 |
311 |
+ |
202 |
캘리포니아 |
312 |
- |
203 |
콜럼븀 |
313 |
- |
204 |
참조 |
314 |
¦ |
205 |
시디 |
315 |
- |
206 |
세륨 |
316 |
+ |
207 |
증권 시세 표시기 |
317 |
- |
208 |
D0 |
320 |
- |
209 |
디1 |
321 |
- |
210 |
디2 |
322 |
- |
211 |
D3 |
323 |
+ |
212 |
4일차 |
324 |
+ |
213 |
디5 |
325 |
+ |
214 |
6일차 |
326 |
+ |
215 |
D7 |
327 |
+ |
216 |
8일차 |
330 |
+ |
217 |
D9 |
331 |
+ |
218 |
다 |
332 |
+ |
219 |
DB |
333 |
¦ |
220 |
직류 |
334 |
_ |
221 |
DD (디디) |
335 |
¦ |
222 |
드 |
336 |
¦ |
223 |
디에프(DF) |
337 |
¯ |
224 |
0회 |
340 |
a |
225 |
1회 |
341 |
ß |
226 |
2회 |
342 |
G |
227 |
3회 |
343 |
p |
228 |
4회 |
344 |
S |
229 |
5회 |
345 |
s |
230 |
6회 |
346 |
μ |
231 |
7회 |
347 |
t |
232 |
8회 |
350 |
F |
233 |
9회 |
351 |
T |
234 |
EA |
352 |
O |
235 |
EB (EB) |
353 |
d |
236 |
적능력 |
354 |
8 |
237 |
에드 |
355 |
f |
238 |
EE (이) |
356 |
e |
239 |
EF (영어) |
357 |
n |
240 |
F0 키 |
360 |
= |
241 |
F1 키 |
361 |
+/- |
242 |
F2 키 |
362 |
= |
243 |
F3 키 |
363 |
= |
244 |
F4 키 |
364 |
( |
245 |
F5 키 |
365 |
) |
246 |
F6 키 |
366 |
÷ |
247 |
F7 키 |
367 |
˜ |
248 |
F8 키 |
370 |
° |
249 |
F9 키 |
371 |
﹒ |
250 |
파 |
372 |
﹒ |
251 |
페이스북 |
373 |
v |
252 |
FC |
374 |
n |
253 |
FD (FD) |
375 |
² |
254 |
FE (철) |
376 |
¦ |
255 |
Ff 로 |
377 |
|
예: 침입 탐지 및 방지(IDP) 프로토콜 디코더 구성
이 예는 침입 탐지 및 방지(IDP) 프로토콜 디코더 튜닝 항목을 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 IDP 프로토콜 디코더 기능을 검토하십시오. IDP 프로토콜 디코더 이해를 참조하십시오.
개요
Junos IDP 모듈은 사전 구성된 프로토콜 디코더 세트와 함께 제공됩니다. 이러한 프로토콜 디코더에는 수행하는 다양한 프로토콜별 컨텍스트 검사에 대한 기본 설정이 있습니다. 기본 설정을 사용하거나 사이트의 특정 요구 사항에 맞게 조정할 수 있습니다. 이 예에서는 FTP용 프로토콜 디코더를 조정하는 방법을 보여줍니다.
구성
절차
단계별 절차
침입 탐지 및 방지(IDP) 프로토콜 디코더 튜닝 가능 항목을 구성하려면,
조정 가능한 매개 변수가 있는 프로토콜 목록을 봅니다.
[edit] user@host# edit security idp sensor-configuration detector protocol-name FTP
FTP 프로토콜에 대한 조정 가능한 매개변수를 구성합니다.
[edit security idp sensor-configuration-detector protocol-name FTP] user@host# set tunable-name sc_ftp_failed_logins tunable-value 4 user@host# set tunable-name sc_ftp_failed_flags tunable value 1 user@host# set tunable-name sc_ftp_line_length tunable-value 1024 user@host# set tunable-name sc_ftp_password_length tunable-value 64 user@host# set tunable-name sc_ftp_sitestring_length tunable-value 512 user@host# set tunable-name sc_ftp_username_length tunable-value 32
디바이스 구성을 완료하면 해당 구성을 커밋합니다.
[edit] user@host# commit
확인
구성이 제대로 작동하는지 확인하려면 명령을 입력합니다 show security idp status .
다중 침입 탐지 및 방지(IDP) 탐지기 지원 이해하기
새 보안 패키지가 수신되면 공격 정의와 탐지기가 포함됩니다. 보안 패키지의 특정 버전에서 공격 정의는 포함된 탐지기의 기능에 해당합니다. 디바이스에서 정책 에이징이 비활성화되면(정책 에이징 명령에 대한 reset-on-policy 명령문 참조) 한 번에 하나의 정책만 적용됩니다. 그러나 정책 에이징이 사용하도록 설정되어 있고 정책 업데이트가 있는 경우 새 정책이 로드될 때 기존 정책이 언로드되지 않습니다. 따라서 두 정책 모두 디바이스에 적용될 수 있습니다. 이 경우 모든 기존 세션은 기존 정책에 의해 계속 검사되고 새 세션은 새 정책으로 검사됩니다. 이전 정책을 사용하는 모든 기존 세션이 종료되거나 만료되면 이전 정책이 언로드됩니다.
정책이 로드되면 감지기와도 연결됩니다. 로드 중인 새 정책에 기존 정책에서 이미 사용 중인 검사 프로그램과 일치하는 연결된 검사 프로그램이 있는 경우 새 검사 프로그램은 로드되지 않으며 두 정책 모두 연결된 단일 검사 프로그램을 사용합니다. 그러나 새 탐지기가 현재 탐지기와 일치하지 않으면 새 탐지기가 새 정책과 함께 로드됩니다. 이 경우 로드된 각 정책은 공격 탐지를 위해 연결된 자체 탐지기를 사용합니다.
주어진 시간에 최대 2개의 감지기를 로드할 수 있습니다. 두 개의 탐지기가 이미 로드되고(두 개 이상의 정책에 의해) 새 정책을 로드하려면 새 탐지기도 로드해야 하는 경우, 새 탐지기를 로드하기 전에 로드된 탐지기 중 하나 이상을 언로드해야 합니다. 탐지기가 언로드되기 전에 해당 탐지기를 사용하는 모든 정책도 언로드됩니다.
다음 명령을 입력하여 현재 정책과 해당 감지기 버전을 볼 수 있습니다.
user@host> show security idp status
Junos OS 릴리스 18.4R1부터 새로운 침입 탐지 및 방지(IDP) 정책이 로드되면 새로 로드된 정책을 사용하여 기존 세션을 검사하고 침입 탐지 및 방지(IDP) 처리를 위해 기존 세션을 무시하지 않습니다. 침입 탐지 및 방지(IDP) 검사는 새로운 침입 탐지 및 방지(IDP) 정책이 로드된 후 탐지기에서 생성된 컨텍스트 기반 공격에 대해 계속되며, 새 탐지기와 함께 로드된 새 정책은 예외입니다.
콘텐츠 압축 해제 이해
HTTP와 같은 애플리케이션 프로토콜에서는 콘텐츠를 압축한 다음 네트워크를 통해 전송할 수 있습니다. 서명 패턴은 인코딩되지 않은 트래픽 데이터와 일치하도록 작성되기 때문에 패턴은 압축된 콘텐츠와 일치하지 않습니다. 이 경우 침입 탐지 및 방지(IDP) 탐지가 회피됩니다. HTTP 압축 콘텐츠에 대한 IDP 탐지 회피를 방지하기 위해 프로토콜 콘텐츠의 압축을 푸는 IDP 하위 모듈이 추가되었습니다. 서명 패턴 일치는 압축 해제된 콘텐츠에서 수행됩니다.
모든 IPS 카운터 값의 상태를 표시하기 위해 다음 명령을 입력합니다.
user@host> show security idp counters ips
일부 공격은 압축된 콘텐츠를 통해 도입됩니다. 콘텐츠의 압축을 풀면 매우 큰 크기로 부풀어 올라 귀중한 시스템 리소스를 차지하여 서비스 거부가 발생할 수 있습니다. 이러한 유형의 공격은 압축 해제된 데이터 크기 대 압축된 데이터 크기의 비율로 인식할 수 있습니다. content-decompress-ratio-over-limit 카운터는 이 비율이 초과된 인시던트 수를 식별합니다. 기본 비율은 일반적인 환경과 일치하는 것으로 간주됩니다. 그러나 경우에 따라 값을 재설정하여 이 비율을 content-decompress-ratio-over-limit 조정해야 할 수도 있습니다. 그러나 비율이 높을수록 이러한 유형의 공격을 탐지할 가능성이 줄어듭니다.
content-decompress-memory-over-limit 카운터는 압축 해제된 데이터의 양이 할당된 메모리를 초과하는 문제 수를 식별합니다. 기본 메모리 할당은 동시에 압축 해제가 필요한 평균 세션 수에 대해 세션당 33KB를 제공합니다. 이 값이 사용자 환경과 일치하는지 확인하려면 압축 해제 관련 카운터의 값과 디바이스를 트래버스하는 총 침입 탐지 및 방지(IDP) 세션 수를 분석하고 동시에 압축 해제가 필요한 세션 수를 추정합니다. 이러한 각 세션의 감압을 위해 33KB의 메모리가 필요하다고 가정하고 예상 요구 사항을 기본값과 비교합니다. 필요한 경우 값을 재설정하여 메모리 할당을 content-decompression-max-memory-kb 조정할 수 있습니다. 콘텐츠 압축 해제에는 상당한 메모리 할당이 필요하기 때문에 압축 해제를 위한 최대 메모리 할당을 늘리면 시스템 성능이 영향을 받습니다.
예: 침입 탐지 및 방지(IDP) 콘텐츠 압축 해제 구성
이 예는 침입 탐지 및 방지(IDP) 콘텐츠 압축 해제를 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 IDP 콘텐츠 압축 해제 기능을 검토하십시오. 콘텐츠 압축 해제 이해를 참조하십시오
개요
압축 해제 기능은 기본적으로 비활성화되어 있습니다. 이 예에서는 감지기를 활성화하고, 최대 메모리를 50,000킬로바이트로 구성하며, 최대 감압 비율을 16:1로 구성합니다.
압축 해제를 활성화하면 장치의 성능이 저하됩니다.
구성
절차
단계별 절차
침입 탐지 및 방지(IDP) 콘텐츠 압축 해제 구성:
감지기를 활성화합니다.
[edit] user@host# set security idp sensor‑configuration detector protocol‑name HTTP tunable‑name sc_http_compress_inflating tunable‑value 1
메모:감지기를 비활성화하려면 을
tunable‑value0으로 설정합니다.필요한 경우 최대 메모리(KB)를 수정합니다.
[edit security idp] user@host# set sensor-configuration ips content-decompression-max-memory-kb 50000
필요한 경우 최대 감압 비율을 구성합니다.
[edit security idp] user@host# set sensor-configuration ips content-decompression-max-ratio 16
디바이스 구성을 완료하면 해당 구성을 커밋합니다.
[edit] user@host# commit
확인
구성이 제대로 작동하는지 확인하려면 명령을 입력합니다 show security idp status ips . content-decompress 카운터는 압축 해제 처리에 대한 통계를 제공합니다.
침입 탐지 및 방지(IDP) 서명 기반 공격 이해
사용자 지정 공격 객체를 구성하려면 고유한 이름을 지정한 다음 공격 객체를 보다 쉽게 찾고 유지 관리할 수 있는 추가 정보를 지정합니다.
공격 이름 및 심각도 수준, 서비스 또는 애플리케이션 바인딩, 시간 바인딩, 프로토콜 또는 포트 바인딩 등과 같은 공격 객체 정의의 특정 속성은 모든 유형의 공격에 공통적입니다. 일부 필드는 공격 유형에 따라 다르며 해당 특정 공격 정의에만 사용할 수 있습니다.
시그니처 공격 객체는 스테이트풀 공격 시그니처(공격의 특정 섹션 내에 항상 존재하는 패턴)를 사용하여 알려진 공격을 탐지합니다. 또한 공격을 수행하는 데 사용된 프로토콜 또는 서비스와 공격이 발생한 컨텍스트도 포함됩니다. 다음 속성은 서명 공격에만 해당되며 서명 공격을 구성할 때 구성할 수 있습니다. 공격 컨텍스트, 공격 방향, 공격 패턴 및 프로토콜별 매개 변수(TCP, UDP, ICMP 또는 IP 헤더 필드)입니다.
서명 기반 공격을 구성할 때는 다음 사항에 유의해야 합니다.
공격 컨텍스트 및 방향은 서명 공격 정의에 대한 필수 필드입니다.
패턴 부정은 패킷, 라인 및 애플리케이션 기반 컨텍스트에 대해서만 지원되며 스트림 및 정규화된 스트림 컨텍스트에 대해서는 지원되지 않습니다.
프로토콜별 매개 변수를 구성할 때 IP, TCP, UDP 또는 ICMP 프로토콜 중 하나에 대해서만 필드를 지정할 수 있습니다.
프로토콜 바인딩을 구성할 때 IP, ICMP, TCP, UDP, RPC 또는 애플리케이션 중 하나만 지정할 수 있습니다.
IP—프로토콜 번호는 필수 필드입니다.
TCP 및 UDP - 단일 포트() 또는 포트 범위(
minimum-portminimum-port및maximum-port)를 지정할 수 있습니다. 포트를 지정하지 않으면 기본값이 사용됩니다(0-65535).RPC—프로그램 번호는 필수 필드입니다.
Junos OS 릴리스 19.1R1부터는 Hyperscan 확장 매개 변수를 사용하여 서명 기반 공격을 구성할 수 있습니다. Hyperscan 확장 매개 변수에 대해 최적의 값을 설정하면 공격 패턴 일치 프로세스를 크게 향상시킬 수 있습니다.
확장 매개 변수를 구성하려면 계층 수준에서 옵션을 [edit security idp custom-attack attack-name attack-type signature] 포함합니다optional-parameters. 옵션에서 optional-parameters 다음 매개 변수를 구성할 수 있습니다.
min-offsetmax-offsetmin-length
Hyperscan API의 간단한 작동 원리 – Hyperscan은 고성능과 유연성을 제공하도록 설계된 소프트웨어 정규식 매칭 엔진입니다. 패턴이 있는 서명이 침입 탐지 및 방지(IDP) 정책의 일부로 구성되면 패턴이 정규 표현식으로 식별됩니다. 라우팅 엔진에서 Hyperscan은 이 정규식을 입력으로 사용하고 컴파일하여 패킷 포워딩 엔진에 푸시되는 데이터베이스를 형성합니다. 패킷이 패킷 포워딩 엔진에 들어가면 패킷의 데이터를 검사하여 데이터베이스를 사용하는 정규식과 일치하는지 확인합니다.
침입 탐지 및 방지(IDP) 정책이 서명 세트로 구성된 경우, 결정론적 유한 자동화(DFA) 그룹이 형성됩니다. DFA 그룹에 있는 모든 서명의 패턴은 Hyperscan으로 전달되어 단일 데이터베이스를 형성하며, 이 데이터베이스는 패킷의 모든 공격을 한 번에 확인하는 데 사용할 수 있습니다. 각 공격에 대해 별도의 데이터베이스 대신 단일 데이터베이스가 사용되기 때문에 패턴 일치 프로세스가 효율적입니다.
서명이 확장 매개변수로 구성되면 Hyperscan API는 구성된 매개변수를 고려하여 데이터베이스를 형성합니다. 패턴 매칭 프로세스는 이 새로운 데이터베이스를 사용하는 패킷 포워딩 엔진에서 발생합니다. 이러한 매개 변수를 사용하면 런타임에 원치 않는 일치 항목을 처리하기 위해 응용 프로그램에 의존하는 대신 패턴에 의해 생성된 일치 집합을 컴파일 타임에 제한할 수 있습니다.
참조
예: 침입 탐지 및 방지(IDP) 서명 기반 공격 구성
이 예에서는 서명 기반 공격 객체를 생성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 네트워크 인터페이스를 구성합니다.
개요
이 예시에서는 sig1이라는 시그니처 공격을 생성하고 다음 속성을 할당합니다.
권장 작업(드롭 패킷) - 목적지에 도달하기 전에 일치하는 패킷을 드롭하지만 연결을 닫지는 않습니다.
시간 바인딩 - 범위를 (으)로
source지정하고 개수를 (으)로10지정합니다. 범위가source인 경우 동일한 소스의 모든 공격이 계산되고 공격 수가 지정된 수(10)에 도달하면 공격이 기록됩니다. 이 예제에서는 동일한 소스의 10번째 공격마다 기록됩니다.공격 컨텍스트(패킷) - 패킷 내의 공격 패턴과 일치합니다.
공격 방향(임의) - 클라이언트-서버 및 서버-클라이언트 트래픽 양방향에서 공격을 탐지합니다.
프로토콜(TCP) - TTL 값 128을 지정합니다.
Shellcode (Intel) - Intel 플랫폼용 Shellcode를 탐지할 플래그를 설정합니다.
프로토콜 바인딩 - TCP 프로토콜과 포트 50에서 100을 지정합니다.
서명 기반 공격 객체를 구성한 후에는 침입 탐지 및 방지(IDP) 정책 규칙에서 해당 공격을 일치 기준으로 지정합니다. 예: 침입 탐지 및 방지(IDP) IPS 규칙 베이스에 대한 규칙 정의를 참조하십시오.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit] 로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력합니다 commit .
set security idp custom-attack sig1 severity major set security idp custom-attack sig1 recommended-action drop-packet set security idp custom-attack sig1 time-binding scope source count 10 set security idp custom-attack sig1 attack-type signature context packet set security idp custom-attack sig1 attack-type signature shellcode intel set security idp custom-attack sig1 attack-type signature protocol ip ttl value 128 match equal set security idp custom-attack sig1 attack-type signature protocol-binding tcp minimum-port 50 maximum-port 100 set security idp custom-attack sig1 attack-type signature direction any
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
서명 기반 공격 객체를 생성하려면 다음을 수행합니다.
공격의 이름을 지정합니다.
[edit] user@host# edit security idp custom-attack sig1
공격에 대한 공통 속성을 지정합니다.
[edit security idp custom-attack sig1] user@host# set severity major user@host# set recommended-action drop-packet user@host# set time-binding scope source count 10
공격 유형 및 컨텍스트를 지정합니다.
[edit security idp custom-attack sig1] user@host# set attack-type signature context packet
공격 방향과 셸코드 플래그를 지정합니다.
[edit security idp custom-attack sig1] user@host# set attack-type signature shellcode intel
프로토콜 및 해당 필드를 설정합니다.
[edit security idp custom-attack sig1] user@host# set attack-type signature protocol ip ttl value 128 match equal
프로토콜, 바인딩 및 포트를 지정합니다.
[edit security idp custom-attack sig1] user@host# set attack-type signature protocol-binding tcp minimum-port 50 maximum-port 100
방향을 지정합니다.
[edit security idp custom-attack sig1] user@host# set attack-type signature direction any
결과
구성 모드에서 명령을 입력하여 show security idp 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
[edit]
user@host# show security idp
custom-attack sig1 {
recommended-action drop-packet;
severity major;
time-binding {
count 10;
scope source;
}
attack-type {
signature {
protocol-binding {
tcp {
minimum-port 50 maximum-port 100;
}
}
context packet;
direction any;
shellcode intel;
protocol {
ip {
ttl {
match equal;
value 128;
}
}
}
}
}
}
디바이스 구성을 마쳤으면 구성 모드에서 을(를) 입력합니다 commit .
침입 탐지 및 방지(IDP) 프로토콜 이상 기반 공격 이해
프로토콜 이상 공격 객체는 프로토콜 사양(RFC 및 일반적인 RFC 확장)을 위반하는 알려지지 않았거나 정교한 공격을 탐지합니다. 새로운 프로토콜 이상을 생성할 수는 없지만, 탐지 시 디바이스가 사전 정의된 프로토콜 이상을 처리하는 방법을 제어하는 새로운 공격 객체를 구성할 수 있습니다.
다음 속성은 프로토콜 이상 공격과 관련이 있습니다.
공격 방향
테스트 조건
프로토콜 이상 기반 공격을 구성할 때는 다음 사항에 유의해야 합니다.
서비스 또는 애플리케이션 바인딩은 프로토콜 변칙 공격에 대한 필수 필드입니다. 서비스에는 지원되는 애플리케이션 외에도 IP, TCP, UDP, ICMP 및 RPC가 포함됩니다.
공격 방향 및 테스트 조건 속성은 이상 공격 정의를 구성하기 위한 필수 필드입니다.
예: 침입 탐지 및 방지(IDP) 프로토콜 이상 기반 공격 구성
이 예는 프로토콜 이상 기반 공격 객체를 생성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 네트워크 인터페이스를 구성합니다.
개요
이 예제에서는 anomaly1이라는 프로토콜 이상 공격을 생성하고 다음 속성을 할당합니다.
Time binding(시간 바인딩) - 지정된 횟수만큼 세션의 소스 및 대상 IP 주소 간의 이상을 탐지하기 위해 범위를 로
peer지정하고 개수를 로2지정합니다.심각도(정보) - 조건과 일치하는 모든 공격에 대한 정보를 제공합니다.
공격 방향(임의) - 클라이언트-서버 및 서버-클라이언트 트래픽 양방향에서 공격을 탐지합니다.
서비스(TCP) - TCP 서비스를 사용한 공격을 일치시킵니다.
테스트 조건(OPTIONS_UNSUPPORTED) - 사전 정의된 특정 테스트 조건과 일치합니다. 이 예에서 공격은 지원되지 않는 옵션이 포함된 경우 조건이 일치해야 합니다.
Shellcode (sparc) - Sparc 플랫폼에 대한 셸코드를 감지하도록 플래그를 설정합니다.
프로토콜 이상 기반 공격 객체를 구성한 후에는 침입 탐지 및 방지(IDP) 정책 규칙에서 해당 공격을 일치 기준으로 지정합니다. 예: 침입 탐지 및 방지(IDP) IPS 규칙 베이스에 대한 규칙 정의를 참조하십시오.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit] 로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력합니다 commit .
set security idp custom-attack anomaly1 severity info set security idp custom-attack anomaly1 time-binding scope peer count 2 set security idp custom-attack anomaly1 attack-type anomaly test OPTIONS_UNSUPPORTED set security idp custom-attack sa set security idp custom-attack sa attack-type anomaly service TCP set security idp custom-attack sa attack-type anomaly direction any set security idp custom-attack sa attack-type anomaly shellcode sparc
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
프로토콜 이상 기반 공격 객체를 생성하려면 다음을 수행합니다.
공격의 이름을 지정합니다.
[edit] user@host# edit security idp custom-attack anomaly1
공격에 대한 공통 속성을 지정합니다.
[edit security idp custom-attack anomaly1] user@host# set severity info user@host# set time-binding scope peer count 2
공격 유형 및 테스트 조건을 지정합니다.
[edit security idp custom-attack anomaly1] user@host# set attack-type anomaly test OPTIONS_UNSUPPORTED
변칙 공격에 대한 다른 속성을 지정합니다.
[edit security idp custom-attack anomaly1] user@host# set attack-type anomaly service TCP user@host# set attack-type anomaly direction any user@host# attack-type anomaly shellcode sparc
결과
구성 모드에서 명령을 입력하여 show security idp 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
[edit]
user@host# show security idp
custom-attack anomaly1 {
severity info;
time-binding {
count 2;
scope peer;
}
attack-type {
anomaly {
test OPTIONS_UNSUPPORTED;
service TCP;
direction any;
shellcode sparc;
}
}
}
디바이스 구성을 마쳤으면 구성 모드에서 을(를) 입력합니다 commit .
침입 탐지 및 방지(IDP) 정책 구성 개요
Junos OS 침입 탐지 및 방지(IDP) 정책을 사용하면 침입 탐지 및 방지(IDP) 지원 디바이스를 통과하는 네트워크 트래픽에 대해 다양한 공격 탐지 및 방지 기술을 선택적으로 시행할 수 있습니다. 이를 통해 영역, 네트워크 및 애플리케이션을 기반으로 트래픽 섹션과 일치하는 정책 규칙을 정의한 다음 해당 트래픽에 대해 능동 또는 수동적으로 방지 조치를 취할 수 있습니다.
침입 탐지 및 방지(IDP) 정책은 디바이스가 네트워크 트래픽을 처리하는 방법을 정의합니다. 네트워크를 통과하는 트래픽에 대해 다양한 공격 탐지 및 방지 기술을 적용할 수 있습니다.
정책은 규칙 베이스로 구성되며, 각 규칙 베이스에는 규칙 집합이 포함되어 있습니다. 트래픽 일치 조건, 조치 및 로깅 요구 사항과 같은 규칙 매개 변수를 정의한 다음 규칙 기반에 규칙을 추가합니다. 하나 이상의 규칙 기반에 규칙을 추가하여 침입 탐지 및 방지(IDP) 정책을 생성한 후 해당 정책을 디바이스의 활성 정책으로 선택할 수 있습니다.
침입 탐지 및 방지(IDP) 정책을 구성하려면 다음 단계를 수행합니다.
보안 정책에서 침입 탐지 및 방지(IDP)를 활성화합니다.
침입 탐지 및 방지(IDP) 정책 규칙, 침입 탐지 및 방지(IDP) 규칙 작업을 구성합니다. 예: 침입 탐지 및 방지(IDP) 규칙 베이스에 규칙 삽입 , 예: 침입 탐지 및 방지(IDP) IPS 규칙 베이스에 대한 규칙 정의 및 예: 보안 디바이스에 대한 규칙 재작성 구성 및 적용 주제를 참조하십시오.
침입 탐지 및 방지(IDP) 사용자 지정 서명을 구성합니다. 침입 탐지 및 방지(IDP) 서명 기반 공격 이해 및 예: 침입 탐지 및 방지(IDP) 서명 기반 공격 구성 주제를 참조하십시오.
침입 탐지 및 방지(IDP) 서명 데이터베이스를 업데이트합니다. IDP 서명 데이터베이스 업데이트 개요를 참조하십시오.
IPv6 비밀 채널 개요
은밀한 채널은 기존 정보 채널을 통해 무단 또는 불법적인 방식으로 객체를 전송하여 정보 통신을 허용하는 공격 기술입니다. 공격자는 은밀한 채널을 통해 네트워크에서 악의적인 활동을 수행할 수 있습니다.
Junos OS 릴리스 19.1R1부터 침입 탐지 및 방지(IDP)에서 IPv6 확장 헤더에 대한 은밀한 채널 식별 및 완화가 지원됩니다. 기존 보안 시스템을 위반하는 정보 전송입니다. 침입 탐지 및 방지(IDP)용 보안 패키지에는 침입 탐지 및 방지(IDP) 정책에서 트래픽을 공격과 일치시키는 데 사용할 수 있는 은밀한 채널에 대한 사전 정의된 침입 탐지 및 방지(IDP) 공격 객체 데이터베이스가 포함되어 있습니다.
이 지원의 일환으로 IPv6 확장 헤더 변칙을 탐지하고 플래그를 지정하여 비밀 채널을 설정하고 정책에 지정된 조치를 취할 수 있습니다. 은밀한 채널 공격은 다른 공격과 함께 에 Show security idp attack table 표시됩니다.
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인하세요.
interval interval-value 사용자 지정 시간 바인딩을 구성하기 위해 계층에서
[edit security idp custom-attack attack-name time-binding] 도입됩니다.
set security idp custom-attack .