Cato SPACE 아키텍처를 사용한 패킷 플로우 이해

이 글은 Cato의 Single Pass Cloud Engine 아키텍처(SPACE)에 기반한 PoP 내 보안 엔진의 패킷 흐름을 설명합니다.

개요

Cato의 SPACE 아키텍처는 단일 서비스로 트래픽 흐름을 검사하고 처리합니다. 이 서비스는 여러 네트워킹 및 보안 엔진을 포함하며, 동시에 트래픽 흐름을 분석하고 처리할 수 있습니다. 이 아키텍처는 서비스 체이닝을 통한 여러 포인트 솔루션 결합의 제한을 피합니다. 흐름에 대한 단일 패스는 지연 시간을 최소화하고 전체 네트워크 성능을 향상시킵니다. 각 PoP는 모든 Cato SPACE 서비스와 엔진을 사용하여 네트워킹 및 보안 결정을 내릴 수 있습니다.

보안 및 네트워킹 엔진은 트래픽 흐름의 데이터를 완전히 접근할 수 있으며, 공유된 컨텍스트에서 동시에 평가하고 데이터를 공유합니다. 엔진은 병렬로 작동하며, 다른 엔진보다 우선적으로 트래픽을 평가하지 않습니다. 엔진은 각 PoP에 위치해 있으며, 다른 물리적 위치에 있는 엔진의 정보를 기다리지 않고 데이터를 공유할 수 있습니다.

예를 들어, 방화벽 규칙이 macOS 장치를 차단하면 방화벽 엔진은 첫 번째 패킷에서 이 데이터를 가져올 수 없으며 더 많은 데이터를 기다립니다. 다른 엔진이 장치를 macOS로 식별할 때 방화벽은 규칙 액션에 따라 흐름을 차단합니다.

SPACE 네트워크 및 보안 서비스 요약

이 섹션에서는 패킷 흐름의 다양한 단계에 적용되는 PoP의 네트워크 및 보안 서비스와 엔진을 나열합니다.

  • Cato 정책 및 엔진

    • 방화벽 - 인터넷 및 WAN 방화벽에 대한 방화벽 정책

    • 네트워크 - 라우팅 및 QoS 우선순위를 위한 네트워크 규칙 정책

    • IPS/SAM - IPS 보호 및 의심스러운 활동 모니터링 (SAM)

    • 앱 제어 - 애플리케이션 제어 정책을 위한 앱 식별

      • 앱 제어 gen2 - 접근에 기반한 앱 규칙: 허용 또는 차단

      • 앱 제어 gen3 - 세분화된 행동에 기반한 앱 규칙: 업로드, 다운로드 등

    • TLSi - HTTPS 및 암호화된 트래픽에 대한 TLS 검사

    • DLP - 데이터 유출 방지(DLP) 정책을 위한 콘텐츠 검사

    • AM/NGAM - 악성코드 방지 및 차세대 악성코드 방지 스캔, 첨부 파일 확인

  • 트래픽 흐름 데이터 및 프로토콜

    • 앱 식별 - 보안 또는 네트워킹 정책을 위한 특정 애플리케이션을 식별하는 다양한 기준을 사용

    • OS - 장치의 운영 체제(OS), 예: 장치 상태 또는 클라이언트 연결 정책

    • 클라이언트 유형 - 이 네트워크 흐름을 생성한 운영 체제에서 실행되는 클라이언트 애플리케이션의 유형(예: Chrome)

    • URLF - 웹사이트 URL에 기반한 Cato 카테고리의 URL 필터링

    • 파일 유형 - CASB 및 DLP의 경우, 업로드 또는 다운로드 방향의 파일 첨부

SPACE와 TCP 패킷 흐름

다음 항목이 포함된 일반적인 HTTP 흐름의 예입니다:

  • 타임라인 - 트래픽 흐름의 다른 단계

  • 사용 가능한 필드 - 특정 타임라인 단계의 사용 가능한 데이터

  • Cato 엔진 - 흐름을 분석하고 적절한 행동(차단 또는 허용)을 취할 수 있는 SPACE 엔진

  • 트래픽 흐름 데이터 - 각 단계에서 트래픽 흐름을 평가하는 데 사용되는 데이터

SPACE_Flow.png

아래의 세부 정보 목록을 보실 수 있습니다, 샘플 TCP 흐름의 세부 정보.

트래픽 흐름에서의 샘플 앱 식별

이는 Slack 애플리케이션을 포함하는 규칙에 대한 트래픽 흐름의 예시이며 각 단계에서 사용 가능한 정보를 보여줍니다.

  1. 첫 번째 패킷 - TCP

    출처 - 10.10.2.107
    출발지 포트 - 55477
    목적지 IP - 3.68.124.168
    목적지 포트 - 443
    프로토콜 - TCP
    DNS 응답 - 3.68.124.168 - slack.com (옵션 응답)

    이것은 이 샘플 첫 패킷을 기반으로 사용할 수 있는 트래픽 흐름 정보입니다:

    • 5 튜플 - 트래픽이 Slack 애플리케이션에 연결되었는지 식별할 수 없습니다

    • DNS 응답 - 이전 흐름에 따라 엔진은 이 목적지 IP의 도메인이 slack.com임을 이미 알고 있습니다

    • ASN - 목적지 IP를 기반으로 보안 엔진은 ASN을 식별할 수 있습니다

    • 앱 식별에는 다음이 포함됩니다: tcp

    엔진은 Slack 앱의 식별을 완료하기 전에 TLS 핸드셰이크로부터 추가 정보를 기다립니다.

  2. tls_handshake

    "TLS 헤더"
    "sni_host": "slack.com"
    "미리 정의된 검사 우회 이유": "없음"
    "ja3_formatted_str": "771,4865-4866-4867-49195-49199-49196-4920…"

    이것은 이 샘플 tls_handshake를 기반으로 사용할 수 있는 트래픽 흐름 정보입니다:

    • TLS 헤더와 서버 포트 443 - TLS 프로토콜과 일치합니다

    • SNI는 slack.com이며, 이는 Cato Slack 앱 식별과 일치합니다

      SNI는 또한 URLF로 보내어지고, 비즈니스 정보, 컴퓨터와 기술, 소셜 카테고리와 일치합니다

    • 클라이언트 클래스는 JA3 - TLS 지문 기반으로 클라이언트를 브라우저로 분류합니다

    • TLS 검사 또는 우회 작업 - 클라이언트 클래스 및 앱 식별을 기반으로

    • 앱 식별에는 다음이 포함됩니다: tcp, tls, slack

  3. HTTP

    "url" : "upload.slack.com:
    "host_name" : "slack.com"
    "Content-Type" : "application/pdf"
    "Content-Disposition" : form-data; name="file"; filename="sample-data.pdf"
    "Content-Length" : "52765"

    이 샘플 흐름에서는 다음 정보가 HTTP 데이터를 기반으로 제공됩니다:

    • 앱 식별에는 다음이 포함됩니다: tcp, tls, http, slack

    • TLS 검사는 흐름을 복호화하고 Slack 서버 호스트명이 slack.com임을 식별합니다

    • HTTP 헤더 - HTTP 프로토콜과 일치합니다

      이는 HTTP_host가 SNI와 일치하고 앱 식별에 변화가 없는 일반적인 예입니다

    • URL - 업로드 접두사는 더 세밀한 정보를 제공하며 애플리케이션 제어 정책의 업로드 작업에 일치할 수 있습니다

    • Content-Type, Content-Disposition, Content-Length - 파일 이름, 크기 및 유형에 대한 정보를 제공합니다

    • 애플리케이션 제어 정책 작업:

      • 오로지 기업용 Slack 테넌트만 사용하는 정책을 시행합니다

      • 파일 유형을 기반으로 파일을 제어합니다

        안티멀웨어 및 NG 안티멀웨어는 다운로드 방향으로 파일만 스캔합니다.

  4. HTTP 본문

    "HTTP 본문 페이로드" : "파일 자체"

    예를 들어, DLP 정책은 Slack 메시지에서 신용카드 데이터를 사용할 수 없도록 강제합니다.

    • Slack 애플리케이션에 대한 앱 식별이 완료되었습니다. 소셜 카테고리에 속하는 트래픽으로 식별됩니다.

    • 파일 내용이 준비되면, 이 엔진들이 파일 내용을 분석합니다:

      • DLP 엔진은 데이터 제어 정책에 기반하여 콘텐츠를 스캔합니다

      • 안티멀웨어 및 NG 안티멀웨어는 다운로드 방향으로 파일을 스캔합니다

카토 정책 및 엔진

이 섹션에서는 트래픽 흐름을 분석하고 작용하는 카토 보안 정책과 엔진을 설명합니다.

방화벽 및 네트워크 정책

WAN 방화벽, 인터넷 방화벽 및 네트워크 규칙 정책은 종종 첫 번째 패킷에서 트래픽 흐름을 평가할 수 있습니다. 예를 들어, 5-tuple 데이터를 기반으로 하는 규칙입니다. 그러나 Azure나 Slack과 같은 특정 애플리케이션에 일치하는 규칙의 경우, 흐름을 평가하기 위해 트래픽 흐름에서 추가 데이터가 필요합니다. 이는 엔진이 흐름을 평가하는 단계가 특정 규칙의 설정에 따라 다르다는 것을 의미합니다.

방화벽 규칙 유형에 대한 자세한 내용은 인터넷 및 WAN 방화벽 정책 – 모범 사례를 참조하세요.

간단한 네트워크 규칙과 복잡한 방화벽 규칙의 첫 번째 패킷 예시

이 예시는 PoP 엔진이 IP 주소 및 포트를 사용하는 간단한 네트워크 규칙과 Azure 애플리케이션에 대한 복잡한 방화벽 규칙에 대해 트래픽 흐름을 다르게 평가하는 방법을 보여줍니다. 네트워크 엔진은 첫 번째 패킷을 기반으로 흐름을 평가할 수 있지만, PoP는 방화벽 엔진이 분석을 완료하기 위해 추가 데이터를 기다립니다.

샘플 네트워크 규칙

다음 네트워크 규칙은 소스가 IP 범위이고 포트 범위가 8000 - 8010인 트래픽에 적용되며, 트래픽은 런던 PoP 위치를 통해 나갑니다.

Simple_network.png

네트워킹 엔진은 5-tuple을 기반으로 트래픽 흐름에 대한 라우팅 결정을 평가할 수 있습니다.

샘플 WAN 방화벽 규칙

다음 WAN 방화벽 규칙은 위의 네트워크 규칙의 IP 범위와 동일한 소스를 가진 트래픽과 RnD 사용자 그룹의 구성원인 사용자에게 적용됩니다. 또한, 이 규칙은 HTTP(S), TLS, FTP, TFTP 서비스를 위한 Azure 애플리케이션에 적용됩니다.

Azure_FW.png

방화벽 엔진은 사용자 신원, Azure 애플리케이션 및 서비스 흐름을 확인해야 하기 때문에 첫 번째 패킷에서 트래픽을 평가할 수 없습니다. 엔진이 평가를 완료하고 흐름이 모든 기준을 충족하면 엔진은 흐름을 허용합니다. PoP는 또한 첫 번째 패킷을 기반으로 라우팅 결정을 적용합니다.

URL 필터링 및 Cato 카테고리

URL 필터링 서비스는 웹사이트의 URL을 분석하고 이를 알려진 또는 의심되는 악성 또는 부적절한 웹사이트의 데이터베이스와 비교함으로써 작동합니다. 이 서비스는 또한 성인 콘텐츠, 도박, 소셜 네트워킹 또는 스트리밍 미디어와 같은 카테고리를 결정하기 위해 웹사이트 자체의 콘텐츠를 분석할 수 있습니다.

카테고리에 대한 자세한 내용은 카테고리 활용하기를 참조하세요.

TLS 검사

TLS 검사 엔진은 패킷 흐름의 tls_handshake 단계 동안 관여합니다. 흐름을 검사할지 여부의 결정은 되돌릴 수 없으며 두 단계로 진행됩니다:

  1. 단계 1 - client_hello 패킷의 첫 번째 페이로드는 TLS 검사 엔진이 이 트래픽 흐름을 검사할 것인지에 대한 초기 지표를 제공합니다

  2. 단계 2 - client_hello가 완전히 구문 분석되고 TLS 검사 정책 작업이 적용됩니다 (흐름 검사 또는 우회)

For HTTPS flows, it's possible that there is a decision to block the packet based on stage 1. 그러나 엔진은 계속 통신하고 TLS 연결을 설정하여 최종 사용자에게 올바른 방화벽 또는 IPS 차단 페이지를 표시합니다.

IPS

IPS 엔진은 트래픽 흐름의 수명 동안 계속 실행됩니다. 다른 단계에서 사용 가능한 특정 항목을 검사하고 IPS 보호에 긍정적으로 일치하는 콘텐츠에 대해 조치를 취합니다. IPS는 흐름에서 본 정보를 지속적으로 엔진에 제공하며, 트래픽의 업데이트를 계속 기다리는 돋보기처럼 작동한다고 생각할 수 있습니다.

다음 예는 흐름의 다른 단계에서 사용 가능한 다양한 정보를 보여줍니다:

  • 흐름의 프로토콜은 HTTP입니다.

  • 페이로드를 기반으로 TLS가 존재합니다

  • TLS 1.3 암호화 모음 TLS_AES_256_GCM_SHA384을 사용하는 client_hello이 있습니다.

다양한 IPS 보호는 위의 항목 중 하나와 일치할 수 있으며, 해당 단계에서 트래픽 흐름에 대해 조치를 취할 수 있습니다.

DNS 보호

DNS 보호는 IPS 엔진의 일부이며 DNS 흐름상의 요청 및 응답에 대해 실행됩니다(전송과의 연결 없이, 예: TCP 또는 UDP).

DNS 요청 동안 도메인 이름이 분석되고 도메인 평판 및 정적 피드에 대해 평가됩니다. 그런 다음 DNS 응답 동안 해결된 IP와 콘텐츠가 잠재적으로 악성 콘텐츠로 분석됩니다. 매칭된 콘텐츠에 DNS 보호 정책이 적용됩니다(트래픽 흐름 차단 또는 허용).

앱 제어

앱 제어 엔진은 트래픽을 검사하고 애플리케이션 제어 정책의 작업을 적용하며 각 새로운 HTTP 거래(요청 및 응답)에서 평가됩니다.

gen2 앱의 경우, TLS 그리고 HTTP 프록시가 애플리케이션 식별을 완료하는 데 필요합니다.

보안 및 준수 요구사항을 포함한 규칙의 경우:

  • 다른 네트워킹 및 보안 엔진의 컨텍스트 데이터에 기반하여 앱 제어 엔진은 tls_inspection 단계에서 이러한 요구사항을 평가할 수 있습니다.

  • 엔진은 SNI에서 이러한 정보를 얻을 수 있으며, 애플리케이션을 평가하기 위해 TLS 또는 전체 앱 식별(레이어 7 DPI)을 필요로 하지 않을 수도 있습니다.

데이터 유출 방지(DLP)

DLP 엔진은 트래픽 흐름의 콘텐츠를 검사하며 앱 제어 엔진의 확장입니다. 정책에서 파일 유형 또는 파일 크기를 지정할 때, 엔진은 이러한 파일 특성을 위해 앱 메타데이터와 페이로드를 검사해야 합니다.

  1. 엔진은 파일 유형을 평가하고, 콘텐츠 검사에 대한 지원 파일 목록과 일치하는지 확인합니다.

  2. 그런 다음 gen3 앱 식별이 완료되어 저장된 콘텐츠와 데이터를 검사하는 필드의 특정 콘텐츠 서명을 식별합니다.

  3. 콘텐츠가 검사되어 정의된 콘텐츠 프로필과 일치하는지 확인됩니다.

안티멀웨어 및 NG 안티멀웨어

안티멀웨어 및 SentinelOne NG 안티멀웨어 엔진은 인바운드 트래픽(파일 다운로드)에 대해 파일 첨부 파일을 스캔하여 알려진 악성 소프트웨어와 알려지지 않은 악성 소프트웨어를 검사합니다. 파일 유형은 HTTP 응답 또는 FTP 트래픽 요청을 기반으로 합니다.

HTTP, HTTPS, FTP 애플리케이션 및 서비스만 스캔됩니다.

  1. 엔진은 애플리케이션이 안티멀웨어 정책의 규칙과 일치하는지 확인합니다.

  2. 파일은 다음의 파일 목록과 대조됩니다:

    1. Cato 관리 애플리케이션에서 구성된 허용목록 - 이러한 파일은 다운로드가 허용됩니다.

    2. Cato 보안 팀이 관리하는 차단목록 - 이러한 파일은 차단됩니다.

  3. 파일은 안티멀웨어 및 NG 안티멀웨어 엔진에 의해 스캔되며, 판결은 악성, 의심스러움 또는 양성으로 반환됩니다.

  4. 안티멀웨어 정책에 대한 적절한 조치가 파일에 적용됩니다.

Cato 정책 및 엔진에 대한 FAQ

URL 필터링이 WAN 트래픽에 적용됩니까?

아니오, URL 필터링은 오직 인터넷 트래픽에만 적용되며, WAN의 계정 트래픽에는 적용되지 않습니다.

방화벽과 IPS 정책에 대한 지리적 제한 설정의 차이점은 무엇입니까?

장치 설정은 WAN 및 인터넷 방화벽에서 세부 규칙을 위한 소스 국가를 정의할 수 있도록 합니다. 그러나 목적지 국가에 대한 제어는 없습니다.

지리적 제한 탭은 IPS 정책에서 소스 또는 목적지 중 하나인 제한된 트래픽을 정의합니다. 하지만 IPS는 전체 계정에 대한 글로벌 정책이며, 특정 사이트나 객체에 대한 지리적 제한 설정을 적용할 수 없습니다.

샘플 TCP 플로우의 세부 사항

  1. 타임라인 - 첫 번째 패킷

    1. 사용 가능한 필드 - 5-튜플, 호스트명 (dname)

    2. 카토 엔진 - 방화벽, 네트워크, IPS/SAM

    3. 트래픽 플로우 데이터 - 앱 식별, 클라이언트 클래스, OS

  2. 타임라인 - tls_handshake

    1. 사용 가능한 필드 - cipher_suite, 호스트명 (SNI)

    2. 카토 엔진 - IPS/SAM, 앱 제어 gen2, TLSi, 방화벽, 네트워크

    3. 트래픽 플로우 데이터 - 앱 식별, 클라이언트 클래스, URLF

  3. 타임라인 - HTTP_headers

    1. 사용 가능한 필드 - 헤더, URL, 호스트명 (호스트 헤더)

    2. 카토 엔진 - 앱 제어 gen3, IPS/SAM

    3. 트래픽 플로우 데이터 - 파일 유형 (업로드), OS

  4. 타임라인 - HTTP_body

    1. 사용 가능한 필드 - HTTP_request, HTTP_body

    2. 카토 엔진 - 앱 제어 gen3, DLP, IPS/SAM

    3. 트래픽 플로우 데이터 - 파일 유형 (업로드), 앱 식별

  5. 타임라인 - HTTP_response

    1. 사용 가능한 필드 - HTTP_response_headers, HTTP_response_body

    2. 카토 엔진 - AM/NGAM, 앱 제어 gen3, DLP, IPS/SAM

    3. 트래픽 플로우 데이터 - 파일 유형 (다운로드), 앱 식별

도움이 되었습니까?

12명 중 11명이 도움이 되었다고 했습니다.

댓글 0개