개요: 애플리케이션 탐지
Firepower System은 IP 트래픽을 분석할 때 네트워크에서 일반적으로 사용되는 애플리케이션 식별을 시도합니다. 애플리케이션 인식은 애플리케이션 제어에 중요한 요소입니다.
시스템에서는 세 가지 유형의 애플리케이션을 탐지합니다.
-
HTTP 및 SSH 등의 애플리케이션 프로토콜은 호스트 간 통신을 나타냅니다.
-
웹 브라우저 및 이메일 클라이언트 등의 클라이언트는 호스트웨어에서 실행되는 소프트웨어를 나타냅니다.
-
MPEC 비디오 및 Facebook 등의 웹 애플리케이션은 HTTP 트래픽에 대한 요청 RUL 또는 콘텐츠를 나타냅니다.
시스템은 탐지기에서 지정된 특성에 따라 네트워크 트래픽에서 애플리케이션을 식별합니다. 예를 들어 시스템은 패킷 헤더 내 ASCII 패턴에 의해 애플리케이션을 식별할 수 있습니다. 또한 SSL(Secure Socket Layers) 프로토콜 탐지기는 보안 세션의 정보를 사용하여 세션에서 애플리케이션을 식별합니다.
Firepower System에는 두 가지 소스의 애플리케이션 탐지기가 있습니다.
-
시스템 제공 탐지기는 웹 애플리케이션, 클라이언트, 애플리케이션 프로토콜을 탐지합니다.
애플리케이션(및 운영 체제)의 시스템 제공 탐지기 사용 여부는 Firepower System 및 설치한 VDB 버전에 따라 다릅니다. 신규 및 업데이트된 탐지기 정보는 릴리스 정보 및 참고 자료에서 확인할 수 있습니다. 전문 서비스에서 작성한 개별 탐지기를 가져올 수도 있습니다.
-
사용자 정의 애플리케이션 프로토콜 탐지기는 사용자가 생성한 것으로 웹 애플리케이션, 클라이언트, 애플리케이션 프로토콜을 탐지합니다.
내장된 애플리케이션 프로토콜 탐지기를 통해 애플리케이션 프로토콜을 탐지할 수 있으며 클라이언트의 탐지를 기반으로 애플리케이션 프로토콜의 존재를 암시합니다.
시스템은 네트워크 검색 정책에서 정의된 대로 모니터링되는 네트워크의 호스트에서 실행되는 애플리케이션 프로토콜만 식별합니다. 예를 들어 모니터링하지 않는 원격 사이트의 FTP 서버에 내부 호스트가 액세스하는 경우 시스템은 애플리케이션 프로토콜을 FTP로 식별하지 않습니다. 반면 원격 또는 내부 호스트가 모니터링 중인 FTP 서버에 액세스하면 시스템은 애플리케이션 프로토콜을 분명하게 식별할 수 있습니다.
시스템이 모니터링되는 호스트에서 모니터링되지 않는 서버에 연결하기 위해 사용되는 클라이언트를 식별할 수 있는 경우, 시스템은 클라이언트의 해당 애플리케이션 프로토콜을 식별하지만 해당 프로토콜을 네트워크 맵에 추가하지 않습니다. 애플리케이션 탐지가 발생하려면 클라이언트 세션에는 서버의 응답이 포함되어야 합니다.
시스템이 탐지하는 각 애플리케이션의 특성 정의는 애플리케이션 특성의 내용을 참조하십시오. 시스템은 해당 특성을 사용해 애플리케이션 필터라는 애플리케이션 그룹을 생성합니다. 애플리케이션 필터는 액세스 제어를 수행하고 보고서와 대시보드 위젯에서 사용되는 데이터 및 검색 결과를 제한합니다.
또한 내보낸 NetFlow 기록, Nmap 활성 스캐닝, 호스트 인풋 기능에 사용되는 애플리케이션 탐지기 데이터를 보완할 수 있습니다.
애플리케이션 탐지기 기초
Firepower System은 application detectors(애플리케이션 탐지기)를 사용하여 네트워크 상의 자주 사용하는 애플리케이션을 식별합니다. Detectors(탐지기) 페이지()를 이용해 탐지기 목록을 확인하고 탐지 기능을 맞춤형할 수 있습니다.
탐지기를 수정하거나 탐지기 유형에 따라 탐지기 상태(활성화 또는 비활성화)를 바꿀 수 있습니다. 시스템은 애플리케이션 트래픽을 분석하는 데 활성 탐지기만 사용합니다.
참고 |
Cisco에서 제공하는 탐지기는 Firepower System 및 VDB 업데이트에 따라 변경될 수 있습니다. 업데이트된 탐지기 관련 정보는 릴리즈 노트와 참고 자료에서 확인할 수 있습니다. |
참고 |
Firepower 애플리케이션 식별을 위해 포트는 의도적으로 나열되지 않습니다. 애플리케이션의 연결 포트는 대부분의 애플리케이션이 포트에 구속되지 않으므로 Cisco의 애플리케이션에 대해 보고되지 않습니다. Cisco 플랫폼의 탐지 기능은 네트워크의 모든 포트에서 실행 중인 서비스를 식별할 수 있습니다. |
Cisco가 제공하는 내부 탐지기
내부 탐지기는 클라이언트, 웹 애플리케이션 및 애플리케이션 프로토콜 트래픽에 대한 특수 카테고리의 탐지기입니다. 내부 탐지기는 시스템 업데이트와 함께 제공되며 항상 작동합니다.
애플리케이션이 클라이언트 관련 활동을 탐지할 목적으로 설계한 내부 탐지기와 일치하며 특정한 클라이언트 탐지기가 존재하지 않는다면, 일반 클라이언트가 보고될 수 있습니다.
Cisco가 제공하는 클라이언트 탐지기
클라이언트 탐지기는 클라이언트 트래픽을 탐지하고 VDB 또는 시스템 업데이트를 통해 전달되며, Cisco Professional Services의 가져오기를 위해 제공됩니다. 클라이언트 탐지기를 활성화 또는 비활성화할 수 있습니다. 가져온 클라이언트 탐지기만 내보낼 수 있습니다.
Cisco가 제공하는 웹 애플리케이션 탐지기
웹 애플리케이션 탐지기는 HTTP 트래픽 페이로드의 웹 애플리케이션을 탐지하며 VDB 또는 시스템 업데이트를 통해 전달됩니다. 웹 애플리케이션 탐지기는 항상 작동합니다.
Cisco가 제공하는 애플리케이션 프로토콜(포트) 탐지기
포트 기반 애플리케이션 프로토콜 탐지기는 잘 알려진 포트를 사용하여 네트워크 트래픽을 식별합니다. 이러한 탐지기는 VDB 또는 시스템 업데이트를 통해 전달되며, Cisco Professional Services의 가져오기를 위해 제공됩니다. 애플리케이션 프로토콜 탐지기를 활성화 또는 비활성화할 수 있으며, 탐지기 정의를 확인해 맞춤형 탐지기의 기본 토대로 사용할 수 있습니다.
Cisco가 제공하는 애플리케이션 프로토콜(Firepower) 탐지기
Firepower 기반 애플리케이션 프로토콜 탐지기는 Firepower 애플리케이션 핑거프린트를 사용해 네트워크 트래픽을 분석하며 VDB 또는 시스템 업데이트를 통해 전달됩니다. 애플리케이션 프로토콜 탐지기를 활성화 또는 비활성화할 수 있습니다.
맞춤형 애플리케이션 탐지기
맞춤형 애플리케이션 탐지기는 패턴 기반 탐지기입니다. 클라이언트, 웹 애플리케이션 또는 애플리케이션 프로토콜 트래픽의 패킷에 있는 패턴을 탐지합니다. 사용자는 가져온 탐지기와 맞춤형 탐지기에 대한 완전한 제어 권한을 갖습니다.
웹 인터페이스에서 애플리케이션 프로토콜 식별
아래 테이블은 탐지한 애플리케이션 프로토콜을 Firepower System이 식별하는 방법을 설명합니다.
식별 |
설명 |
---|---|
애플리케이션 프로토콜 이름 |
애플리케이션 프로토콜이 다음 조건을 충족하면 Firepower Management Center은(는) 이름이 있는 애플리케이션 프로토콜을 식별합니다.
|
|
시스템이 애플리케이션을 긍정적으로도 부정적으로도 식별할 수 없는 경우 Firepower Management Center은(는) 애플리케이션 프로토콜을 대부분의 경우 시스템은 보류 중인 애플리케이션을 식별하려면 더 많은 데이터를 수집 및 분석해야 합니다. Application Details 및 Servers 테이블과 호스트 프로파일에서 |
|
Firepower Management Center은(는) 다음과 같은 경우 애플리케이션 프로토콜을
|
공백 |
사용 가능한 모든 탐지된 데이터가 검토되었지만 애플리케이션 프로토콜이 식별되지 않았습니다. Application Details 및 Servers 테이블과 호스트 프로파일에서, 탐지된 애플리케이션 프로토콜이 없는 비 HTTP 일반 클라이언트 트래픽에 대해 애플리케이션 프로토콜은 비어 있게 됩니다. |
클라이언트 탐지의 암시적 애플리케이션 프로토콜 탐지
모니터링되지 않는 서버에 액세스하는 모니터링되는 호스트가 사용하는 클라이언트를 시스템이 식별할 수 있는 경우, Firepower Management Center은(는) 클라이언트와 상응하는 애플리케이션 프로토콜이 연결에 사용되고 있다고 추론합니다. 시스템은 모니터링되는 네트워크에서만 애플리케이션을 추적하므로, 일반적으로 연결 로그에는 모니터링되는 호스트가 모니터링되지 않는 서버에 액세스하는 연결에 대한 애플리케이션 프로토콜 정보가 포함되지 않습니다.
이 프로세스, 즉 암시작 애플리케이션 프로토콜 탐지는 다음과 같은 결과를 유발합니다.
-
시스템은 이러한 서버에 대해 New TCP Port 또는 New UDP Port 이벤트를 생성하지 않으므로 Servers 테이블에 서버가 나타나지 않습니다. 또한 이러한 애플리케이션 프로토콜의 탐지를 기준으로 사용하여 검색 이벤트 알림 또는 상관관계 규칙을 트리거할 수 없습니다.
-
애플리케이션 프로토콜은 호스트와 연결되지 않으므로 호스트 프로파일의 상세정보을 볼 수 없거나, 서버 ID를 설정할 수 없거나, 트래픽 프로파일 또는 상관관계 규칙에 대한 호스트 프로파일 자격에서 해당 정보를 사용할 수 없습니다. 또한 시스템은 이러한 유형의 탐지를 기반으로 취약성을 호스트와 연결하지 않습니다.
하지만 연결에 존재하는 애플리케이션 프로토콜 정보에 대한 상관관계 이벤트를 트리거할 수는 있습니다. 또한 연결 로그에서 애플리케이션 프로토콜 정보를 사용하여 연결 추적기 및 트래픽 프로파일을 생성할 수 있습니다.
호스트 제한 및 검색 이벤트 로깅
클라이언트, 서버 또는 웹 애플리케이션을 탐지하면, 시스템은 연결된 호스트가 이미 최대 클라이언트, 서버 또는 웹 애플리케이션 수에 도달하지 않은 경우 검색 이벤트를 생성합니다.
호스트 프로파일은 호스트당 클라이언트 최대 16개, 서버 100개, 웹 애플리케이션 100개를 표시합니다.
클라이언트, 서버 또는 웹 애플리케이션의 탐지에 의존하는 작업은 이 제한의 영향을 받지 않습니다. 예를 들어 서버를 트리거하도록 구성된 액세스 컨트롤 규칙은 여전히 연결 이벤트를 기록합니다.
애플리케이션 탐지 특별 고려 사항
SFTP
SFTP 트래픽을 탐지하려면 동일한 규칙에서도 SSH를 탐지해야 합니다.
Squid
다음과 같은 경우 시스템은 Squid 서버 트래픽을 분명하게 식별합니다.
-
시스템은 모니터링되는 네트워크 호스트에서 프록시 인증이 활성화된 Squid 서버로의 연결을 탐지하거나
-
모니터링되는 네트워크의 Squid 프록시 서버에서 대상 시스템(클라이언트가 정보 또는 다른 리소스를 요청하는 대상 서버)으로의 연결을 탐지한 경우
그러나 다음과 같은 경우 시스템은 Squid 서비스 트래픽을 식별할 수 없습니다.
-
모니터링되는 네트워크의 호스트가 프록시 인증이 비활성화된 Squid 서버에 연결하거나,
-
Squid 프록시 서버가 HTTP 응답에서 헤더 필드를 제거하도록 구성된 경우
SSL 애플리케이션 탐지
시스템은 세션 내 애플리케이션 프로토콜, 클라이언트 애플리케이션, 또는 웹 애플리케이션을 식별하기 위해 SSL(Secure Socket Layers) 세션의 세션 정보를 사용할 수 있는 애플리케이션 탐지기를 제공합니다.
시스템이 암호화된 연결을 탐지하면 가능한 경우 해당 연결을 SMTPS 등의 일반 HTTPS 연결 또는 보다 특정한 보안 프로토콜로 표시합니다. 시스템이 SSL 세션을 탐지하면 SSL 클라이언트
를 세션에 대한 연결 이벤트의 클라이언트 필드에 추가합니다 세션에 대한 웹 애플리케이션이 확인될 경우, 시스템에서는 트래픽에 대한 검색 이벤트를 생성합니다.
SSL 애플리케이션 트래픽의 경우 관리되는 디바이스는 서버 인증서에서 일반 이름을 탐지하고 이를 SSL 호스트 패턴의 클라이언트 또는 웹 애플리케이션과 일치시킬 수 있습니다. 시스템이 특정 클라이언트를 식별하는 경우 SSL 클라이언트
가 해당 클라이언트의 이름으로 변경됩니다.
SSL 애플리케이션 트래픽이 암호화되므로 시스템은 암호화된 스트림에 있는 애플리케이션 데이터가 아닌 인증서의 정보만 사용하여 식별 작업을 수행합니다. 이러한 이유로 인해 SSL 호스트 패턴에서 애플리케이션을 만든 회사만 식별할 수 있는 경우가 간혹 있으므로, 같은 회사에서 제작한 SSL 애플리케이션의 경우 동일한 식별 과정을 거쳤을 수 있습니다.
HTTPS 세션이 HTTP 세션 내에서 실행되는 등의 일부 경우에는 관리되는 디바이스가 클라이언트 측 패킷의 클라이언트 인증서에서 서버 이름을 탐지합니다.
SSL 애플리케이션 식별을 활성화하려면 응답자 트래픽을 모니터링하는 액세스 제어 규칙을 생성해야 합니다. 그러한 규칙에는 SSL 애플리케이션에 대한 애플리케이션 조건 또는 SSL 인증서의 URL을 사용하는 URL 조건이
있어야 합니다. 네트워크 검색 시 응답자 IP 주소는 네트워크 검색 정책에서 모니터링할 네트워크에 반드시 있지 않아도 됩니다. 액세스 제어 정책 설정은 트래픽의 식별 여부를 결정합니다. SSL 애플리케이션에 대해 탐지기를
식별하려면, 애플리케이션 탐지기 목록 또는 액세스 제어 규칙에서 애플리케이션 조건을 추가할 때 SSL protocol
태그별로 필터링할 수 있습니다.
참조된 웹 애플리케이션
웹 서버는 종종 광고 서버인 다른 웹 사이트에 대한 트래픽을 가끔 참조합니다. 네트워크에서 발생하는 참조된 트래픽의 문맥을 더 잘 이해할 수 있도록, 시스템은 참조된 세션에 대한 이벤트의 Web Application(웹 애플리케이션) 필드에 트래픽을 참조한 웹 애플리케이션을 나열합니다. VDB에는 알려진 참조 사이트의 목록이 포함되어 있습니다. 시스템이 이 사이트 중 하나의 트래픽을 탐지하면 해당 트래픽에 대한 이벤트와 함께 참조 사이트가 저장됩니다. 예를 들어 Facebook을 통해 액세스하는 광고가 실제로 Advertising.com에 호스팅되면 탐지된 Advertising.com 트래픽은 Facebook 웹 애플리케이션에 연결됩니다. 시스템은 또한 웹사이트가 다른 사이트에 단순 링크를 제공하는 등의 경우 참조하는 URL을 탐지할 수 있습니다. 이 경우 참조하는 URL이 참조된 이벤트 필드에 나타납니다.
참조하는 애플리케이션이 존재하는 경우 이벤트에는 트래픽에 대한 웹 애플리케이션으로 나열되는 반면 URL은 참조 사이트를 나타냅니다. 위의 예에서 해당 트래픽에 대한 연결 이벤트의 웹 애플리케이션은 Facebook일 수 있지만 URL은 Advertising.com입니다. 참조하는 웹 애플리케이션이 탐지되지 않거나 호스트가 스스로를 참조하거나 참조 연결이 있는 경우 참조하는 웹 애플리케이션이 웹 애플리케이션에 표시될 수 있습니다. 대시보드에서 웹 애플리케이션의 연결 및 바이트 카운트에는 웹 애플리케이션이 스스로 참조한 트래픽과 연결된 세션이 포함됩니다.
참조된 트래픽에 대해 특별히 작동하는 규칙을 생성하는 경우 참조하는 애플리케이션보다 참조된 애플리케이션에 대한 조건을 추가해야 합니다. 예를 들어 Facebook에서 참조되는 Advertising.com 트래픽을 차단하려면 Advertising.com 애플리케이션에 대한 액세스 제어 규칙에 애플리케이션 조건을 추가합니다.
Snort 2 및 Snort 3의 애플리케이션 탐지
Snort 2에서는 액세스 제어 정책의 제약 조건 및 네트워크 검색 정책의 네트워크 필터를 통해 애플리케이션 탐지를 활성화하거나 비활성화할 수 있습니다. 그러나 액세스 제어 정책의 제약 조건은 네트워크 필터를 재정의하고 애플리케이션 탐지를 활성화할 수 있습니다. 예를 들어 네트워크 검색 정책에서 네트워크 필터를 정의했으며 액세스 제어 정책에 SSL, URL SI, DNS SI 등 애플리케이션 탐지가 필요한 제약 조건이 있는 경우 이러한 네트워크 검색 필터가 재정의되고 모든 네트워크가 애플리케이션 탐지를 위해 모니터링됩니다. 이 Snort 2 기능은 Snort 3에서 지원되지 않습니다.
참고 |
AC 정책의 다른 구성에서 AppID가 모든 트래픽을 모니터링하도록 요구하지 않는 경우 네트워크 검색 정책 필터에 정의된 특정 네트워크 서브넷에서만 AppID 검사를 활성화한다는 점에서 Snort 3은 이제 Snort 2와 동등합니다. |
Snort 3에서는 기본적으로 모든 네트워크에 대해 애플리케이션 탐지가 항상 활성화되어 있습니다. 애플리케이션 탐지를 비활성화하려면 다음을 수행합니다.
프로시저
단계 1 |
을 선택하고 edit policy(정책 수정)를 클릭하여 애플리케이션 규칙을 삭제합니다. |
단계 2 |
을 선택하고 Delete(삭제)를 클릭하여 SSL 정책을 삭제합니다. |
단계 3 |
를 선택하고 delete(삭제)를 클릭하여 네트워크 검색 정책을 삭제합니다. |
단계 4 |
을 선택하고 edit policy(정책 편집)를 클릭한 다음 탭을 선택하여 URL Allow(허용) 또는 Block(차단) 목록을 삭제합니다. |
단계 5 |
기본 DNS 규칙은 삭제할 수 없으므로 를 선택하고 edit(편집)를 클릭한 다음 enabled(활성화됨) 확인란의 선택을 취소하여 DNS 정책을 비활성화합니다. |
단계 6 |
액세스 제어 정책의 Advanced(고급) 설정에서 Enable Threat Intelligence Director(Threat Intelligence Director 활성화) 및 Enable Reputation Enforcement on DNS traffic(DNS 트래픽에 대한 평판 적용 활성화) 옵션을 비활성화합니다. |
단계 7 |
액세스 제어 정책을 저장하고 구축합니다. |