TISC API

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기43분
  • TISC API는 (TISC) 애플리케이션에서 위협 인텔리전스 데이터를 추가하고 검색할 수 있는 위협 인텔리전스 보안 센터 엔드포인트를 제공합니다.

    이 API에서 검색된 데이터는 SIEM(보안 정보 이벤트 관리) 시스템과 같은 다른 보안 도구에서 사용할 수 있습니다. SIEM 시스템은 이 API를 사용하여 위협과 TISC 관련된 TISC 옵저버블을 검색하고 조직 네트워크 내에서 이러한 위협을 자동으로 탐지 및 모니터링할 수 있습니다. 이 API를 사용하면 보안 도구에서 옵저버블을 양방향으로 공유할 수 있습니다. SIEM 시스템은 환경에서 변칙 활동을 관찰하고 변칙 활동 TISC과 관련된 옵저버블 목록을 에 제공할 수 있습니다.

    이 API는 위협 인텔리전스 컨텍스트로 SIEM 경고를 보강하는 데에도 사용할 수 있습니다. 예를 들어 IP 주소 TISC 의 비정상적으로 높은 트래픽을 기반으로 SIEM 경고가 생성되는 경우 관련된 IP 주소 또는 도메인이 알려진 악성 활동에 연결되어 있는지 여부와 같은 추가 정보를 제공할 수 있습니다. 이 보강 데이터를 통해 보안 분석가는 경보를 분류하고 효율적인 수정을 위해 컨텍스트 정보를 사용할 수 있습니다.

    이 API에는 위협 인텔리전스 보안 센터 에서 ServiceNow Store사용할 수 있는 애플리케이션이 필요합니다.

    이 API는 sn_sec_tisc 네임스페이스에서 실행됩니다.

    이 API의 현재 버전은 v1입니다.

    API 인증에 대한 자세한 내용은 의 REST API 보안 섹션을 REST APIs참조하십시오.

    에 대한 TISC자세한 내용은 를 참조하십시오 Threat Intelligence Security Center.

    TISC API - POST /sn_sec_tisc/threat_intel_data/add_observables

    옵저버블 소스 기록을 위협 인텔리전스 보안 센터 (TISC) 애플리케이션에 추가합니다.

    옵저버블 소스 기록은 옵저버블 소스[sn_sec_tisc_observable_source] 테이블에 생성되며 TISC 데이터 플로우에서 중복 제거 및 집계를 통해 처리됩니다.

    주:
    옵저버블 소스 기록은 이 엔드포인트를 사용하여 직접 업데이트할 수 없습니다. 새 기록만 생성할 수 있습니다. 따라서 몇 개의 필드에만 업데이트가 필요한 경우에도 모든 필드가 요청에 포함되어야 합니다.

    이 엔드포인트에 액세스하려면 호출자에게 sn_sec_tisc.api_obs_write_access 역할이 있어야 하며, 이 역할은 기본적으로 Threat Intelligence 관리자 역할(sn_sec_tisc.admin)에 포함되어 있습니다.

    URL 형식

    버전이 지정된 URL: /api/sn_sec_tisc/{api_version}/threat_intel_data/add_observables

    기본 URL: /api/sn_sec_tisc/threat_intel_data/add_observables

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 1. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 2. 쿼리 매개변수
    이름 설명
    안 함
    표 3. 요청 본문 매개변수(JSON)
    이름 설명
    옵저버블 필수 추가할 TISC옵저버블 객체의 목록입니다. 각 옵저버블 오브젝트에 대해 모든 유효성 검사가 통과되면 옵저버블 소스 레코드가 생성되며, 소스는 요청 본문의 매개변수에 source 의해 정의됩니다.

    데이터 유형: 객체 배열

    "observables": [
       {
          "attributes": {Object},
          "<field>": "String"
       }
    ]
    옵저버블.속성 옵저버블에 대한 속성 데이터를 포함하는 필드-값 쌍입니다. 속성은 IP 주소의 AS 번호 또는 네트워크의 소켓 유형과 같은 옵저버블 유형에 따라 다릅니다.

    모든 옵저버블 유형에 대한 모든 속성이 지원됩니다. 유효한 속성의 전체 목록은 아래의 옵저버블 속성 섹션을 참조하세요.

    데이터 유형: 객체

    "attributes": {
       "<field>": "<value>"
    }
    observables.<field> 옵저버블에 대한 일반 데이터를 포함하는 이름-값 쌍입니다. 이 매개변수에 제공할 수 있는 필드는 모든 옵저버블 유형에 공통입니다.

    typevalue 필드는 모든 옵저버블에 필수입니다.

    주:
    값 제공에 대한 다음 지침을 따르십시오.
    • 모든 날짜는 UTC 시간대의 ISO 형식이어야 합니다.
    • 일부 필드에는 지정된 테이블의 값이 필요하거나 가능한 값 목록이 있습니다. 이러한 필드에 잘못된 값이 제공되면 옵저버블 소스 기록이 계속 생성되지만 잘못된 값을 건너뜁니다.

    유효한 필드:

    additional_context
    옵저버블에 대한 추가 컨텍스트입니다.
    attack_phases
    쉼표로 구분된 값으로 된 공격 단계 이름 목록입니다. 유효한 공격 단계의 전체 목록은 킬 체인 단계 [sn_sec_tisc_kill_chain_phase] 테이블의 킬 체인 단계 이름 필드를 참조하십시오.
    예:
    "attack_phases": "Lockheed Martin: Reconnaissance,Lockheed Martin: Installation"
    저자
    옵저버블 작성자입니다.
    신뢰도
    소스 시스템에서 옵저버블 데이터의 정확성에 대한 신뢰도입니다. 0에서 100 사이의 숫자여야 합니다.
    설명
    옵저버블에 대한 설명입니다.
    expiration_time
    옵저버블 기록의 만료 날짜입니다.
    external_source_id
    소스 시스템에서 옵저버블의 외부 ID입니다.
    first_observed
    데이터를 처음 본 날짜입니다.
    first_seen
    이 옵저버블이 악의적인 활동을 수행하는 것이 처음 목격된 날짜입니다.
    last_observed
    데이터를 마지막으로 본 날짜입니다.
    last_seen
    이 옵저버블이 악성 활동을 수행하는 것으로 마지막으로 목격된 날짜입니다.
    메모
    옵저버블에 대한 추가 메모입니다. HTML로 서식을 지정할 수 있습니다.
    평판
    옵저버블의 평판입니다.
    가능한 값:
    • 지우기
    • 악성
    • 의심 스러운
    • 알 수 없음
    source_reported_score
    소스 시스템에서 보고한 옵저버블의 악성 점수입니다. 0에서 100 사이의 숫자여야 합니다.
    태그
    쉼표로 구분된 값으로 표시되는 태그 목록입니다. 유효한 태그의 전체 목록은 태그 [sn_sec_tisc_tag] 테이블의 이름 필드를 참조하십시오. 제공된 태그가 없으면 태그가 자동으로 생성되고 옵저버블과 연결됩니다.
    분류
    쉼표로 구분된 값으로 표시되는 분류 목록입니다. 유효한 분류의 전체 목록은 분류 값 [sn_sec_tisc_taxonomy_value] 테이블의 분류 값 필드를 참조하십시오.
    threat_level
    옵저버블의 위협 수준입니다.
    가능한 값:
    • 낮음
    • 보통
    • 높음
    threat_severity
    옵저버블의 위협 심각도입니다.
    가능한 값:
    • 낮음
    • 보통
    • 높음
    • 중요
    TLP
    TLP(Traffic Light Protocol)를 사용하는 옵저버블의 데이터 민감도 수준입니다.
    가능한 값:
    • 맑다
    • 녹색
    • 호박색
    • 호박색+엄격
    • 적색
    테이블: TLP 레이블 [sn_sec_tisc_tlp_label] 테이블의 레이블 필드
    유형
    필수 옵저버블 유형입니다.

    유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [sn_sec_tisc_observable_type] 테이블의 필드 또는 아래의 옵저버블 특성 섹션을 참조하세요.

    usage_categories
    쉼표로 구분된 값으로 표시되는 사용 범주 목록입니다. 유효한 사용 범주의 전체 목록은 사용 범주 [sn_sec_tisc_usage_category] 테이블의 사용 범주 필드를 참조하십시오.
    필수 IP 주소 또는 URL과 같은 옵저버블과 연결된 값입니다.

    데이터 유형: 문자열

    테이블: 옵저버블 소스 [sn_sec_tisc_observable_source]

    소스 필수 SIEM 시스템과 같은 옵저버블을 처음 탐지한 소스입니다.

    소스는 API 요청에 나열된 모든 옵저버블에 사용됩니다.

    데이터 유형: 문자열

    저장 위치: 요청 본문에 제공된 소스는 API 통합 [sn_sec_tisc_api_integration] 테이블에 추가됩니다.

    머리글

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

    표 4. 요청 헤더
    헤더 설명
    수용 응답 본문의 데이터 형식입니다. application/json만 지원합니다.
    컨텐츠-형식 요청 본문의 데이터 형식입니다. application/json만 지원합니다.
    표 5. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

    표 6. 상태 코드
    상태 코드 설명
    200 성공입니다. 요청이 성공적으로 처리되었습니다.
    400 잘못된 요청. 요청 매개변수가 잘못되었거나 요청 본문 JSON에 구문 오류가 있습니다.

    오류에 대한 자세한 내용을 보려면 응답 본문의 매개 변수를 참조하십시오 error .

    401 권한이 해제되었습니다. 사용자 인증이 잘못되었습니다. 사용자 이름 및 암호 또는 OAuth 토큰을 확인하십시오.
    403 금지되었습니다. 호출하는 사용자에게 필요한 역할이 없습니다. 이 엔드포인트에 액세스하려면 sn_sec_tisc.api_obs_write_access 역할이 필요합니다.
    429 요청이 너무 많습니다. API 요청 수가 API의 요율 제한을 초과합니다. 기본적으로 한도는 시간당 100개입니다.
    500 내부 서버 오류입니다. 오류에 대한 자세한 내용은 로그 [syslog] 테이블에서 애플리케이션 로그를 확인하십시오.

    응답 본문 매개변수(JSON)

    이름 설명
    오류 오류 정보입니다. 이 매개변수는 요청이 실패한 경우에만 반환됩니다.

    데이터 유형: 객체

    "error": {
       "message": "String",
       "detail": "String"
    }
    오류.메시지 요청이 실패한 이유를 포함하는 오류 메시지입니다.

    데이터 유형: 문자열

    오류.상세 정보 요청이 실패한 이유에 대한 추가 정보입니다.

    데이터 유형: 문자열

    error_records 에 추가할 수 없는 요청에 포함된 옵저버블에 대한 상세 정보입니다.TISC

    데이터 유형: 객체 배열

    "error_records": [
      {
        "error_message": "String",
        "type": "String",
        "value": "String"
      }
    ]
    error_records.error_message 옵저버블에 대한 기록을 생성할 수 없는 이유를 설명하는 오류 메시지입니다.

    데이터 유형: 문자열

    error_records.유형 옵저버블 유형입니다.

    유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [sn_sec_tisc_observable_type] 테이블의 필드 또는 아래의 옵저버블 특성 섹션을 참조하세요.

    데이터 유형: 문자열

    error_records.값 IP 주소 또는 URL과 같은 옵저버블과 연결된 값입니다.

    데이터 유형: 문자열

    메타데이터 API 요청에 의해 생성된 기록 수에 대한 메타데이터입니다.
    "metadata": {
      "error_records": Number,
      "success_records": Number,
      "total_records": Number
    }

    데이터 유형: 객체

    metadata.error_records 요청에 포함된 옵저버블 중 에 추가할 수 없는 옵저버블 수입니다.TISC

    데이터 유형: 숫자

    metadata.success_records 에서 TISC성공적으로 생성된 옵저버블 기록 수 .

    데이터 유형: 숫자

    metadata.total_records 요청에 포함된 총 옵저버블 수입니다.

    데이터 유형: 숫자

    상태 API 요청의 상태입니다.
    가능한 값:
    • 오류: 에 옵저버블이 추가되지 않았습니다.TISC
    • 실패: 잘못된 요청 또는 시스템 오류로 인해 요청에 실패했습니다. error 오류에 대한 자세한 내용은 응답 본문의 매개 변수를 참조하십시오.
    • partial_success: 일부 옵저버블이 에 성공적으로 추가되었습니다 TISC.
    • 성공: 모든 옵저버블이 에 성공적으로 추가되었습니다.TISC

    데이터 유형: 문자열

    success_records 성공적으로 생성된 옵저버블 기록에 대한 상세 정보입니다.

    데이터 유형: 객체 배열

    "success_records": [
      {
        "sys_id": "String",
        "type": "String",
        "value": "String"
      }
    ]
    success_records.sys_id 옵저버블 기록의 Sys_id입니다.

    데이터 유형: 문자열

    success_records.유형 옵저버블 유형입니다.

    유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [sn_sec_tisc_observable_type] 테이블의 필드 또는 아래의 옵저버블 특성 섹션을 참조하세요.

    데이터 유형: 문자열

    success_records.값 IP 주소 또는 URL과 같은 옵저버블과 연결된 값입니다.

    데이터 유형: 문자열

    옵저버블 속성

    다음 표에는 각 옵저버블 유형에 유효한 속성이 나와 있습니다.
    주:
    모든 날짜는 UTC 시간대의 ISO 형식이어야 합니다.
    옵저버블 유형 속성 데이터 유형
    아티팩트 decryption_key 문자열
    encryption_algorithm 문자열
    md5_hash 문자열
    mime_type 문자열
    sha1_hash 문자열
    sha256_hash 문자열
    sha512_hash 문자열
    URL 문자열
    autonomous_system_number 이름 문자열
    리르 문자열
    디렉터리 directory_creation_time 날짜
    directory_last_accessed_time 날짜
    directory_last_modified_time 날짜
    encoded_path 문자열
    domain_name is_fqdn

    (전체 주소 도메인 이름)

    부울
    resolves_to 문자열
    email_address display_name 문자열
    email_message email_body 문자열
    email_recipients_bcc 문자열
    email_recipients_cc 문자열
    email_recipients_to 문자열
    email_sender 문자열
    email_subject 문자열
    sent_date 날짜
    email_subject 안 함
    파일 encoded_file_name 문자열
    file_created_time 날짜
    file_last_accessed_time 날짜
    file_last_modified_time 날짜
    file_name 문자열
    magic_number 문자열
    md5_hash 문자열
    mime_type 문자열
    sha1_hash 문자열
    sha256_hash 문자열
    sha512_hash 문자열
    ip_v4_address as_number 문자열
    mac_address 문자열
    ip_v4_cidr as_number 문자열
    mac_address 문자열
    ip_v6_address as_number 문자열
    mac_address 문자열
    ip_v6_cidr as_number 문자열
    mac_address 문자열
    mac_address 안 함
    md5_hash 안 함
    mutex_name 안 함
    네트워크 destination_bytes_count 정수
    destination_packets_count 정수
    destination_port
    end_time 날짜
    http_message_body_length 정수
    http_request_header 문자열
    http_request_method 문자열
    http_request_value 문자열
    http_request_version 문자열
    network_source 문자열
    network_destination 문자열
    icmp_code_byte 문자열
    icmp_type_byte 문자열
    is_network_active 부울
    is_socket_blocking 부울
    is_socket_listening 부울
    network_protocols 문자열
    socket_address_family 문자열
    가능한 값:
    • af_unspec
    • af_inet
    • af_ipx
    • af_appletalk
    • af_netbios
    • af_inet6
    • af_irda
    • af_bth
    socket_descriptor 정수
    socket_handle 정수
    socket_options 문자열
    socket_type 문자열
    가능한 값:
    • service_kernel_driver
    • service_file_system_driver
    • service_win32_own_process
    • service_win32_share_process
    source_bytes_count 정수
    source_packets_count 정수
    source_port 문자열
    start_time 날짜
    tcp_destination_flags 문자열
    tcp_source_flags 문자열
    기타 안 함
    프로세스 aslr_enabled 부울
    command_line 문자열
    CWD

    (현재 작업 디렉터리)

    문자열
    dep_enabled 부울
    environment_variables 문자열
    is_hidden 부울
    owner_sid 문자열
    pid

    (프로세스 ID)

    문자열
    우선순위 문자열
    process_created_time 날짜
    service_descriptions 문자열
    service_display_name 문자열
    service_group_name 문자열
    service_name 문자열
    service_start_type 문자열
    가능한 값:
    • service_auto_start
    • service_boot_start
    • service_demand_start
    • service_disabled
    • service_system_alert
    service_status 문자열
    가능한 값:
    • service_continue_pending
    • service_pause_pending
    • service_paused
    • service_running
    • service_start_pending
    • service_stop_pending
    • service_stopped
    service_type 문자열
    가능한 값:
    • service_kernel_driver
    • service_file_system_driver
    • service_win32_own_process
    • service_win32_share_process
    startup_info 문자열
    windows_integrity_level 문자열
    가능한 값:
    • 낮음
    • 보통
    • 높음
    • 시스템
    window_title 문자열
    sha1_hash 안 함
    sha256_hash 안 함
    sha512_hash 안 함
    소프트웨어 cpe

    (공통 플랫폼 열거형)

    문자열
    supported_languages 문자열
    SWID

    (소프트웨어 식별)

    문자열
    벤더 문자열
    버전 문자열
    URL 안 함
    user_account account_created_time 날짜
    account_expiry_time 날짜
    account_type 문자열
    can_escalate_privileges 부울
    credentials_last_changed_time 날짜
    display_name 문자열
    first_login_time 날짜
    is_account_disabled 부울
    is_privileged 부울
    is_service_account 부울
    last_login_time 날짜
    account_login 문자열
    user_id 문자열
    windows_registry_key key_modified_time 날짜
    registry_value 문자열
    subkeys_count 정수
    x509_certificate authority_key_identifier 문자열
    basic_constraints 문자열
    certificate_policies 문자열
    crl_distribution_points 문자열
    extended_key_usage 문자열
    inhibit_any_policy 문자열
    발급자 문자열
    issuer_alternative_name 문자열
    is_self_signed 부울
    key_usage 문자열
    name_constraints 문자열
    policy_constraints 문자열
    policy_mappings 문자열
    private_key_usage_valid_from 날짜
    private_key_usage_valid_until 날짜
    signature_algorithm 문자열
    제목 문자열
    subject_alternative_name 문자열
    subject_directory_attributes 문자열
    subject_key_identifier 문자열
    subject_public_key_algorithm 문자열
    subject_public_key_exponent 정수
    subject_public_key_modulus 문자열
    valid_from 날짜
    valid_until 날짜
    버전 문자열

    cURL 요청

    이 예시 요청에는 에서 기록을 생성할 수 있는 세 개의 옵저버블이 포함되어 있습니다 TISC.

    curl 'http://instance.servicenow.com/api/sn_sec_tisc/v1/threat_intel_data/add_observables' \
    --request POST \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic YWRtaW46YWRtaW4=' \
    --data '{
       "source": "Sentinel",
       "observables": [
          {
             "value": "1.2.1.45",
             "type": "ip_v4_address",
             "reputation": "malicious",
             "confidence": "90",
             "tags": "critical,important",
             "taxonomies": "MITRE: T121",
             "attack_phases": "Lockheed Martin: Reconnaissance",
             "usage_categories": "Infected Bot",
             "first_seen": "2023-10-14T18:01:34.000Z",
             "attributes": {
                "as_number": "14280"
             }
          },
          {
             "value": "https://example.com",
             "type": "url",
             "tags": "important",
             "confidence": "50",
             "reputation": "malicious"
          },
          {
             "value": "1.1.1.1",
             "type": "ip_add",
             "confidence": "50",
             "reputation": "malicious"
          }
       ]
    }'

    3개의 옵저버블 중 2개가 TISC에 성공적으로 추가되었습니다. 옵저버블 유형이 잘못되어 하나의 기록이 생성되지 않았습니다.

    {
       "status": "partial_success",
       "metadata": {
          "total_records": 3,
          "success_records": 2,
          "error_records": 1
       },
       "success_records": [
          {
             "value": "1.2.1.45",
             "type": "ip_v4_address",
             "sys_id": "e519392643e642102164e0ea78b8f29d"
          },
          {
             "value": "https://example.com",
             "type": "url",
             "sys_id": "ad1979ae43ea42102164e0ea78b8f241"
          }
       ],
       "error_records": [
          {
             "value": "1.1.1.1",
             "type": "ip_va",
             "error_message": "The 'type' field value is invalid"
          }
       ]
    }

    TISC API - POST /sn_sec_tisc/threat_intel_data/observables

    옵저버블과 STIX(Structured Threat Information Expression) 객체와 같은 기타 위협 인텔리전스 데이터 간의 관계를 포함하여 옵저버블 데이터를 검색합니다.

    응답에 반환된 옵저버블은 오름차순으로 정렬 sys_id 됩니다.

    옵저버블 및 STIX 객체에 대한 자세한 내용은 문서를 참조하십시오 IoC Repository.

    이 엔드포인트에 액세스하려면 호출자에게 기본적으로 Threat Intelligence 관리자 역할(sn_sec_tisc.admin)에 포함된 sn_sec_tisc.api_obs_read_access 역할이 있어야 합니다.

    URL 형식

    버전이 지정된 URL: /api/sn_sec_tisc/{api_version}/threat_intel_data/observables

    기본 URL: /api/sn_sec_tisc/threat_intel_data/observables

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 7. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 8. 쿼리 매개변수
    이름 설명
    안 함
    표 9. 요청 본문 매개변수(JSON)
    이름 설명
    included_fields 응답의 옵저버블, 옵저버블 참조 및 STIX 객체에 대해 반환할 필드입니다. 옵저버블, 참조 및 각 유형의 STIX 객체에 대해 서로 다른 필드를 반환할 수 있습니다.

    ServiceNow sys_created_on, sys_updated_on 및 sys_id를 제외한 시스템 필드는 응답에 반환되지 않습니다.

    데이터 유형: 객체

    "included_fields": { 
       "observable": {Object},
       "reference": {Object},
       "<stix_object>": {Object}
    } 
    included_fields.옵저버블 옵저버블에 대해 반환할 필드입니다.

    데이터 유형: 객체

    "observable": { 
       "attributes": {Object},
       "common_fields": {Object}
    }

    기본값: 모든 옵저버블 유형에 대한 필드 syd_id, 유형 및 값을 반환합니다.

    included_fields.observable.attributes 지정된 옵저버블 유형에 대해 반환할 필드입니다.

    데이터 유형: 객체

    "attributes": { 
       "<observable_type>": {Object}
    }

    기본값: 옵저버블 유형에 특정한 필드는 반환되지 않습니다. 필드 syd_id, 유형 및 값만 반환됩니다.

    included_fields.observable.attributes.<observable_type> 옵저버블 유형에 대해 반환할 필드입니다.

    데이터 유형: 객체

    "<observable_type>": { 
       "include_all_fields": Boolean, 
       "values": [Array] 
    }

    <observable_type> artifact와 같은 옵저버블 유형의 이름으로 바꿉니다. 유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [sn_sec_tisc_observable_type] 테이블의 값 필드를 참조하세요.

    included_fields.observable.attributes.<observable_type>.include_all_fields 옵저버블 유형에 사용 가능한 모든 필드를 반환할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 옵저버블 유형에 대한 모든 필드를 반환합니다.
    • false: 옵저버블 유형에 대한 매개변수에 values 지정된 필드만 반환합니다.

    데이터 유형: 부울

    included_fields.observable.attributes.<observable_type>.values 옵저버블 유형에 대해 반환할 필드 목록입니다. 값이 include_all_fields false인 경우에만 이 매개변수를 사용합니다.

    데이터 유형: 문자열 배열

    "values": [
       "String"
    ]
    제공된 필드는 옵저버블 유형에 대한 테이블에서 column_names해야 합니다. 다음 테이블은 옵저버블 유형에 사용됩니다.
    • 아티팩트 [sn_sec_tisc_artifact]
    • AS 번호 [sn_sec_tisc_as_number]
    • 디렉터리 [sn_sec_tisc_directory]
    • 도메인 이름 [sn_sec_tisc_domain_name]
    • 이메일 주소 [sn_sec_tisc_email_address]
    • 이메일 메시지 [sn_sec_tisc_email_message]
    • 이메일 제목 [sn_sec_tisc_email_subject]
    • 파일 [sn_sec_tisc_file]
    • IPv4 [주소 sn_sec_tisc_ipv4_address]
    • IPv4 CIDR [sn_sec_tisc_ipv4_cidr]
    • IPv6 주소 [sn_sec_tisc_ipv6_address]
    • IPv6 CIDR [sn_sec_tisc_ipv6_cidr]
    • MAC 주소 [sn_sec_tisc_mac_address]
    • MD5 해시 [sn_sec_tisc_md5_hash]
    • 뮤텍스 이름 [sn_sec_tisc_mutex_name]
    • 네트워크 [sn_sec_tisc_network]
    • 기타 옵저버블 [sn_sec_tisc_other_observable]
    • 프로세스 [sn_sec_tisc_process]
    • SHA1 해시 [sn_sec_tisc_sha1_hash]
    • SHA256 해시 [sn_sec_tisc_sha256_hash]
    • SHA512 해시 [sn_sec_tisc_sha512_hash]
    • 소프트웨어 [sn_sec_tisc_software]
    • URL [sn_sec_tisc_url]
    • 사용자 계정 [sn_sec_tisc_user_account]
    • Windows 레지스트리 키 [sn_sec_tisc_windows_registry_key]
    • X.509 인증서 [sn_sec_tisc_x_509_certificate]
    included_fields.observable.common_fields 모든 옵저버블 유형에 대해 반환할 필드입니다.

    필드는 모든 옵저버블 유형에 공통적이어야 하므로 옵저버블 [sn_sec_tisc_observable] 테이블에서 가져와야 합니다.

    데이터 유형: 객체

    "common_fields": { 
       "include_all_fields": Boolean, 
       "values": [Array] 
    }

    기본값: 모든 옵저버블 유형에 대한 필드 syd_id, 유형 및 값을 반환합니다.

    included_fields.observable.common_fields.include_all_fields 모든 옵저버블 유형에 대해 옵저버블 [sn_sec_tisc_observable] 테이블의 모든 필드를 반환할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 옵저버블 [sn_sec_tisc_observable] 테이블의 모든 필드를 반환합니다.
    • false: 매개변수에 common_fields.values 지정된 필드만 반환합니다.

    데이터 유형: 부울

    included_fields.observable.common_fields.values 모든 옵저버블 유형에 대해 반환할 필드 목록입니다. 값이 common_fields.include_all_fields false인 경우에만 이 매개변수를 사용합니다.

    데이터 유형: 문자열 배열

    "values": [
       "String"
    ]

    제공된 필드는 옵저버블 [sn_sec_tisc_observable] 테이블의 열 이름이어야 합니다.

    included_fields.참조 옵저버블 참조에 대해 반환할 필드입니다. 옵저버블 참조는 STIX 외부에 표시되는 정보에 대한 포인터를 설명하는 데 사용되는 외부 참조입니다.

    데이터 유형: 객체

    "reference": { 
       "include_all_fields": Boolean, 
       "values": [Array] 
    }

    기본값: reference_source, sys_id 및 url 필드를 반환합니다.

    included_fields.reference.include_all_fields 옵저버블 참조에 사용 가능한 모든 필드를 반환할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 옵저버블 참조에 대한 모든 필드를 반환합니다.
    • false: 매개변수에 reference.values 지정된 필드만 반환합니다.

    데이터 유형: 부울

    included_fields.참조.값 옵저버블 참조에 대해 반환할 필드 목록입니다. 값이 reference.include_all_fields false인 경우에만 이 매개변수를 사용합니다.

    데이터 유형: 문자열 배열

    "values": [
       "String"
    ]

    제공된 필드는 옵저버블 참조 [sn_sec_tisc_observable_reference] 테이블의 열 이름이어야 합니다.

    included_fields.<stix_object> STIX 객체 유형에 대해 반환할 필드를 포함하는 객체입니다.

    데이터 유형: 객체

    "<stix_object>": { 
      "include_all_fields": Boolean, 
      "values": [Array] 
    }

    <stix_object>를 STIX 객체 유형의 이름(예: attack_pattern)으로 바꿉니다.

    유효한 STIX 객체 유형:
    • attack_pattern
    • 캠페인
    • course_of_action
    • data_component
    • data_source
    • 그룹화
    • ID
    • 인시던트
    • 표시기
    • 인프라
    • intrusion_set
    • 위치
    • 맬웨어
    • malware_analysis
    • 메모
    • observed_data
    • 의견
    • 보고서
    • threat_actor
    • 도구
    • 취약성

    기본값: 필드 ID, 이름 및 sys_id 반환합니다.

    included_fields.<stix_object>.include_all_fields STIX 객체 유형에 사용 가능한 모든 필드를 반환할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: STIX 객체 유형에 대한 모든 필드를 반환합니다.
    • false: STIX 객체 유형에 대한 매개변수에 values 지정된 필드만 반환합니다.

    데이터 유형: 부울

    included_fields.<stix_object>.values STIX 객체 유형에 대해 반환할 필드 목록입니다. 값이 include_all_fields false인 경우에만 이 매개변수를 사용합니다.

    데이터 유형: 문자열 배열

    "values": [
       "String"
    ]
    제공된 필드는 STIX 객체 유형에 대한 테이블에서 column_names해야 합니다. 다음 테이블은 STIX 객체에 사용됩니다.
    • 공격 패턴 [sn_sec_tisc_attack_pattern]
    • 캠페인 [sn_sec_tisc_campaign]
    • 동작 방침 [sn_sec_tisc_course_of_action]
    • 데이터 구성요소 [sn_sec_tisc_aggregated_data_component]
    • 데이터 소스 [sn_sec_tisc_aggregated_data_source]
    • 그룹화 [sn_sec_tisc_threat_grouping]
    • ID [sn_sec_tisc_identity]
    • 인시던트 [sn_sec_tisc_threat_event]
    • 표시기 [sn_sec_tisc_indicator]
    • 인프라 [sn_sec_tisc_infrastructure]
    • 침입 세트 [sn_sec_tisc_intrusion_set]
    • 위치 [sn_sec_tisc_location]
    • 맬웨어 [sn_sec_tisc_malware]
    • 맬웨어 분석 [sn_sec_tisc_malware_analysis]
    • 참고 [sn_sec_tisc_threat_note]
    • 관찰 데이터 [sn_sec_tisc_observed_data]
    • 의견 [sn_sec_tisc_threat_opinion]
    • 보고서 [sn_sec_tisc_threat_report]
    • 위협 액터 [sn_sec_tisc_threat_actor]
    • 도구 [sn_sec_tisc_tool]
    • 취약성 [sn_sec_tisc_vulnerability]
    observable_filters 옵저버블에 적용할 필터입니다. 필터 기준과 일치하는 옵저버블만 응답에 반환됩니다.

    데이터 유형: 객체

    "observable_filters": {
       "boolean_operator": "String", 
       "filters": [Array]
    }

    기본값: 빈 객체(적용된 필터 없음)

    observable_filters.boolean_operator 필터 조건에 사용할 부울 연산자입니다.
    유효한 값은 다음과 같습니다.
    • AND: 모든 필터 조건을 충족하는 옵저버블을 반환합니다.
    • OR: 필터 조건 중 하나 이상을 충족하는 옵저버블을 반환합니다.

    데이터 유형: 문자열

    observable_filters.필터 옵저버블에 적용할 필터입니다.
    각 필터 개체는 단순하거나 복잡할 수 있습니다.
    • 단순 필터에는 필드 이름, 연산자 및 값이 포함됩니다.
    • 복합 필터에는 부울 연산자와 단순 필터 배열이 포함됩니다. 부울 연산자는 단순 필터 배열에 적용됩니다.

    데이터 유형: 객체 배열

    "filters": [ 
       //Simple filter 
       { 
          "field_name": "String", 
          "operator": "String", 
          "field_value": "String" 
       }, 
       //Complex filter 
       {
          "boolean_operator": "String", 
          "filters": [
             {
    	     "field_name": "String",
    	     "operator": "String",
    	     "field_value": "String"
             }  
          ]
       }
    ]
    observable_filters.filters.field_name 옵저버블을 필터링하는 데 사용할 필드의 이름입니다.
    유효한 값은 다음과 같습니다.
    • 신뢰도
    • 평판
    • security_type
    • 상태
    • sys_created_on
    • sys_updated_on
    • threat_score
    • 유형
    • watch_list

    데이터 유형: 문자열

    observable_filters.filters.operator 필터에 사용할 연산자입니다.

    연산자에 대한 자세한 내용은 다음 문서를 참조하십시오 Operators available for filters and queries.

    필터 필드의 데이터 유형에 따라 유효한 연산자가 결정됩니다. 다음 연산자는 각 데이터 형식에 사용할 수 있습니다.

    부울

    해당 필드: watch_list

    • !=
    • =
    • 비어 있음
    • ISNOTEMPTY
    선택

    적용 가능한 분야: 평판, security_type, 상태

    • !=
    • =
    • ENDSWITH
    • IN
    • 같이
    • 에 없음
    • 좋아하지 않음
    • STARTSWITH
    날짜/시간

    해당 필드: sys_created_on

    • <
    • <=
    • >
    • >=
    • 비어 있음
    • ISNOTEMPTY
    • 노톤
    • 켜짐
    번호

    적용 가능한 분야: 신뢰도, threat_score

    • !=
    • <=
    • =
    • >=
    • 비어 있음
    • ISNOTEMPTY
    참조

    적용 필드: 유형

    • !=
    • =
    • IN
    • 비어 있음
    • ISNOTEMPTY
    문자열

    적용 필드: 값

    • !=
    • <=
    • =
    • >=
    • ENDSWITH
    • IN
    • 비어 있음
    • ISNOTEMPTY
    • 같이
    • 좋아하지 않음
    • STARTSWITH

    데이터 유형: 문자열

    observable_filters.filters.field_value 필드의 값입니다.

    선택 필드의 경우 값은 표시 값이 아니라 내부 값이어야 합니다. 날짜-시간 필드의 경우 값은 UTC 표준 시간대의 ISO 형식이어야 합니다.

    주:
    ISEMPTY 또는 ISNOTEMPTY 연산자를 사용할 때는 이 매개 변수가 필요하지 않습니다.

    데이터 유형: 문자열

    page_size API 응답에 반환되는 옵저버블 수를 제한합니다. 페이지 매김에 사용됩니다.

    데이터 유형: 문자열

    기본값: 100

    최댓값: 1000

    page_token 현재 페이지에 대한 옵저버블 데이터를 가져오는 데 사용됩니다.

    첫 번째 페이지를 가져오려면 이 매개변수를 생략할 수 있거나 이 매개변수의 값은 빈 문자열이어야 합니다. 다음 요청의 다음 페이지를 가져오려면 응답 본문의 값을 이 매개변수의 값으로 사용합니다 next_page_token .

    데이터 유형: 문자열

    기본값: 빈 문자열

    관계 응답의 각 옵저버블에 대해 반환할 관계 유형입니다.

    관계는 다른 옵저버블, 옵저버블 참조 또는 STIX(Structured Threat Information Expression) 객체와의 관계일 수 있습니다.

    유효한 값은 다음과 같습니다.
    • attack_pattern
    • 캠페인
    • course_of_action
    • data_component
    • data_source
    • 그룹화
    • ID
    • 인시던트
    • 표시기
    • 인프라
    • intrusion_set
    • 위치
    • 맬웨어
    • malware_analysis
    • 메모
    • 옵저버블
    • observed_data
    • 의견
    • 참조
    • 보고서
    • threat_actor
    • 도구
    • 취약성

    예를 들어 배열 ["observable", "threat_actor"] 을 전달하면 응답의 각 옵저버블에 대한 모든 관련 옵저버블 및 위협 액터가 반환됩니다.

    데이터 유형: 배열

    기본값: 빈 배열(관계가 반환되지 않음)

    머리글

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

    표 10. 요청 헤더
    헤더 설명
    수용 응답 본문의 데이터 형식입니다. application/json만 지원합니다.
    컨텐츠-형식 요청 본문의 데이터 형식입니다. application/json만 지원합니다.
    표 11. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

    표 12. 상태 코드
    상태 코드 설명
    200 성공입니다. 요청이 성공적으로 처리되었습니다.
    400 잘못된 요청. 요청 매개변수가 잘못되었거나 요청 본문 JSON에 구문 오류가 있습니다.

    오류에 대한 자세한 내용을 보려면 응답 본문의 매개 변수를 참조하십시오 error .

    401 권한이 해제되었습니다. 사용자 인증이 잘못되었습니다. 사용자 이름 및 암호 또는 OAuth 토큰을 확인하십시오.
    403 금지되었습니다. 호출하는 사용자에게 필요한 역할이 없습니다. 이 엔드포인트에 액세스하려면 sn_sec_tisc.api_obs_read_access 역할이 필요합니다.
    429 요청이 너무 많습니다. API 요청 수가 API의 요율 제한을 초과합니다. 기본적으로 한도는 시간당 500개 요청입니다.
    500 내부 서버 오류입니다. 오류에 대한 자세한 내용은 로그 [syslog] 테이블에서 애플리케이션 로그를 확인하십시오.

    응답 본문 매개변수(JSON)

    이름 설명
    오류 오류 정보입니다. 이 매개변수는 요청이 실패한 경우에만 반환됩니다.

    데이터 유형: 객체

    "error": {
       "message": "String",
       "detail": "String"
    }
    오류.메시지 요청이 실패한 이유를 포함하는 오류 메시지입니다.

    데이터 유형: 문자열

    오류.상세 정보 요청이 실패한 이유에 대한 추가 정보입니다.

    데이터 유형: 문자열

    is_last_page 옵저버블 데이터의 마지막 페이지인지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 이 응답에는 데이터의 마지막 페이지가 포함되어 있습니다.
    • false: 반환할 수 있는 추가 페이지가 있습니다.

    데이터 유형: 부울

    next_page_token 다음 API 요청에서 이 값을 사용하여 옵저버블 데이터의 다음 페이지를 가져옵니다. 요청 본문의 매개변수에 page_token 이 값을 제공합니다.

    데이터 유형: 문자열

    옵저버블 Observables 객체입니다.

    데이터 유형: 객체 배열

    "observables": [
      {
        "attributes": {Object},
        "relationships": {Object},
        "sys_id": "String",
        "type": "String",
        "value": "String"
      }
    ]
    각 observables 개체에는 요청 본문의 매개 변수로 지정된 included_fields.observable.common_fields 필드도 포함됩니다.
    옵저버블.속성 요청 본문의 매개변수로 지정된 필드에 대한 이름-값 쌍입니다 included_fields.observable.attributes.<observable_type> .

    데이터 유형: 객체

    "attributes": {
       "<field>": "<value>"
    }
    옵저버블.관계 옵저버블에 대한 관계입니다. 반환되는 관계의 형식은 요청 본문의 매개 변수에 의해 relationships 지정되고 각 관계에 대해 반환되는 필드는 요청 본문의 매개 변수에 의해 included_fields 지정됩니다.

    이 예제에서는 이 매개 변수의 기본 구조를 보여 줍니다. 그러나 반환되는 관계 유형과 필드는 요청 본문 매개변수에 따라 달라집니다.

    데이터 유형: 객체

    "relationships": {
       "observable": [
          {
             "sys_id": "String",
             "type": "String",
             "value": "String"
          }
       ],
       "indicator": [
          {
             "id": "String",
             "name": "String",
             "sys_id": "String"
          }
       ],
       "attack_pattern": [
          {
             "id": "String",
             "name": "String",
             "sys_id": "String"
          }
       ]
    }
    observables.sys_id 옵저버블의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 옵저버블 [sn_sec_tisc_observable]

    옵저버블.유형 옵저버블 유형입니다. 유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [sn_sec_tisc_observable_type] 테이블의 필드를 참조하세요.

    데이터 유형: 문자열

    observables.value IP 주소 또는 URL과 같은 옵저버블과 연결된 값입니다.

    데이터 유형: 문자열

    원본 응답의 원본 애플리케이션으로, ()TISC입니다 위협 인텔리전스 보안 센터 . 이 매개변수의 값은 sn_sec_tisc입니다.

    이 값은 선택적으로 API 응답을 사용하는 SIEM에서 인텔리전스로 TISC 인해 보안 인시던트가 생성되었는지 여부를 추적하는 데 사용할 수 있습니다.

    데이터 유형: 문자열

    page_size 응답에 반환된 최대 옵저버블 수입니다. 페이지 매김에 사용됩니다.

    데이터 유형: 문자열

    상태 API 요청의 상태입니다.
    가능한 값:
    • 실패
    • 성공

    요청이 실패한 경우 응답 본문의 매개 변수에서 오류에 대한 자세한 내용을 참조하십시오 error .

    데이터 유형: 문자열

    cURL 요청

    이 예에서는 옵저버블 데이터의 첫 번째 페이지를 반환합니다. 이 observable_filters 매개변수는 status = active AND [threat_score >= 70 OR confidence >= 50] 조건과 일치하는 옵저버블만 반환하도록 지정합니다.

    curl 'http://instance.servicenow.com/api/sn_sec_tisc/v1/threat_intel_data/observables' \
    --request POST \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic YWRtaW46YWRtaW4=' \
    --data '{
       "page_size": "100",
       "page_token": "",
       "relationships": [
          "observable",
          "threat_actor",
          "indicator",
          "reference",
          "attack_pattern"
       ],
       "included_fields": {
          "observable": {
             "common_fields": {
                "include_all_fields": false,
                "values": [
                   "value",
                   "reputation",
                   "confidence"
                ]
             },
             "attributes": {
                "ip_v4_address": {
                   "include_all_fields": false,
                   "values": [
                      "as_number"
                   ]
                },
                "artifact": {
                   "include_all_fields": false,
                   "values": [
                      "mime_type",
                      "encryption_algorithm"
                   ]
                }
             }
          },
          "threat_actor": {
             "include_all_fields": false,
             "values": [
                "name",
                "aliases",
                "description",
                "threat_actor_roles"
             ]
          },
          "attack_pattern": {
             "include_all_fields": true
          },
          "indicator": {
             "include_all_fields": false,
             "values": [
                "name",
                "pattern",
                "pattern_type",
                "indicator_types"
             ]
          },
          "reference": {
             "include_all_fields": true,
             "values": [
                "description"
             ]
          }
       },
       "observable_filters": {
          "boolean_operator": "AND",
          "filters": [
             {
                "field_name": "status",
                "operator": "=",
                "field_value": "active"
             },
             {
                "boolean_operator": "OR",
                "filters": [
                   {
                      "field_name": "threat_score",
                      "operator": ">=",
                      "field_value": "70"
                   },
                   {
                      "field_name": "confidence",
                      "operator": ">=",
                      "field_value": "50"
                   }
                ]
             }
          ]
       }
    }'

    응답 본문.

    {
       "status": "success",
       "observables": [
          {
             "sys_id": "792e3d1543a0421060eee0ea78b8f227",
             "type": "url",
             "value": "https://www.example.com",
             "confidence": "60",
             "reputation": "",
             "relationships": {
                "observable": [
                   {
                      "sys_id": "ccadb19143a0421060eee0ea78b8f25a",
                      "type": "ip_v4_address",
                      "value": "1.1.1.1",
                      "confidence": "20",
                      "reputation": "malicious"
                   }
                ],
                "indicator": [
                   {
                      "id": "indicator--294d97754364c21060eee0ea78b8f2ae",
                      "indicator_types": "",
                      "name": "Poison Ivy",
                      "pattern": "",
                      "pattern_type": "sigma",
                      "sys_id": "a54d97754364c21060eee0ea78b8f2ae",
                      "type": "indicator"
                   }
                ],
                "attack_pattern": [
                   {
                      "name": "Phishing",
                      "sys_id": "010d5bf14364c21060eee0ea78b8f2ac",
                      "id": "attack-pattern--810d5bf14364c21060eee0ea78b8f2ac",
                      "type": "attack-pattern"
                   }
                ],
                "reference": [
                   {
                      "description": "phishing",
                      "reference_source": "CAPEC-98",
                      "sys_created_on": "2024-02-25T03:34:45.000Z",
                      "sys_id": "a42d97354364c21060eee0ea78b8f28c",
                      "sys_updated_on": "2024-02-25T03:34:45.000Z",
                      "url": " https://capec.mitre.org/data/98.html "
                   }
                ]
             },
             "attributes": {
                "encryption_algorithm": "mime-type-indicated",
                "mime_type": "application/zip"
             }
          },
          {
             "sys_id": "ccadb19143a0421060eee0ea78b8f2242",
             "type": "ip_v4_address",
             "value": "1.2.2.1",
             "confidence": "70",
             "reputation": "",
             "relationships": {}
          },
          {
             "sys_id": "7ccd359143a0421060eee0ea78b8f264",
             "type": "artifact",
             "value": "pom.xml",
             "confidence": "",
             "reputation": "",
             "relationships": {}
          }
       ],
       "page_size": "100",
       "next_page_token": "drejvfgbresg|7ccd359143a0421060eee0ea78b8f264",
       "is_last_page": true,
       "origin": "sn_sec_tisc"
    }