TISC API

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기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 - /sn_sec_tisc/threat_intel_data/add_observables 게시

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

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

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

    이 엔드포인트에 액세스하려면 호출자에게 sn_sec_tisc.api_obs_write_access 역할이 있어야 하며, 이 역할은 기본적으로 위협 인텔리전스 관리자 역할(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

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

    표 2. 쿼리 매개변수
    이름 설명
    없음
    표 3. 요청 본문 매개변수(JSON)
    이름 설명
    옵저버블 필수 추가할 옵저버블 객체의 배열입니다 TISC. 각 옵저버블 객체에 대해, 모든 유효성 검사가 통과되면 옵저버블 소스 기록이 생성되며, 소스는 요청 본문의 매개변수에 source 정의된 대로 생성됩니다.
    "observables": [
       {
          "attributes": {Object},
          "<field>": "String"
       }
    ]

    데이터 형식: 개체 배열

    observables.attributes 옵저버블에 대한 속성 데이터를 포함하는 필드-값 쌍입니다. 속성은 IP 주소의 AS 번호 또는 네트워크의 소켓 유형과 같은 관찰 가능한 유형에만 해당됩니다.

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

    "attributes": {
       "<field>": "<value>"
    }

    데이터 유형: 객체

    observables.<field> 옵저버블에 대한 일반 데이터를 포함하는 필드-값 쌍입니다. 이 매개변수에 제공할 수 있는 필드는 모든 옵저버블 유형에 공통되며 옵저버블 소스 [sn_sec_tisc_observable_source] 테이블에 있습니다.

    type 모든 옵저버블에는 "및" value 필드가 필요합니다.

    주:
    값 제공을 위해 다음 가이드라인을 따르십시오.
    • 모든 날짜는 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(Traffic Light Protocol)를 사용하는 옵저버블의 데이터 민감도 수준입니다. TLP 레이블 [sn_sec_tisc_tlp_label] 테이블의 레이블 필드에 있습니다.
    가능한 값:
    • 맑다
    • 녹색
    • 호박색
    • 호박색+엄격
    • 적색
    유형
    필수 옵저버블의 유형입니다.

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

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

    데이터 유형: 문자열

    소스 필수 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.type 옵저버블의 유형입니다.

    유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [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 요청의 상태입니다.
    가능한 값:
    • success: 모든 옵저버블이 TISC에 성공적으로 추가되었습니다.
    • partial_success: 일부 옵저버블이 에 TISC성공적으로 추가되었습니다.
    • 오류: 에 옵저버블이 추가 TISC되지 않았습니다.
    • failure: 잘못된 요청 또는 시스템 오류로 인해 요청이 실패했습니다. error 오류에 대한 자세한 내용은 응답 본문의 매개 변수를 참조하십시오.

    데이터 유형: 문자열

    success_records 성공적으로 생성된 옵저버블 기록에 대한 세부 정보입니다.
    "success_records": [
       {
          "sys_id": "String",
          "type": "String",
          "value": "String"
       }
    ]

    데이터 형식: 개체 배열

    success_records.sys_id 옵저버블 기록의 Sys_id입니다.

    데이터 유형: 문자열

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

    유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [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 문자열
    증권 시세 표시기

    (현재 작업 디렉터리)

    문자열
    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 문자열
    스위드

    (소프트웨어 식별)

    문자열
    vendor 문자열
    버전 문자열
    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 문자열
    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.

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

    URL 형식

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

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

    지원되는 요청 매개변수

    표 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 옵저버블에 대해 반환할 필드입니다.
    "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>아티팩트와 같은 옵저버블 유형의 이름으로 바꿉니다. 유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [sn_sec_tisc_observable_type] 테이블의 필드를 참조하십시오.

    데이터 유형: 객체

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

    데이터 유형: 부울

    included_fields.observable.attributes.<observable_type>.values 옵저버블 유형에 대해 반환할 필드 목록입니다. 값이 false인 include_all_fields 경우에만 이 매개 변수를 사용합니다.
    "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 모든 옵저버블 유형에 대해 반환할 필드 목록입니다. 값이 false인 common_fields.include_all_fields 경우에만 이 매개 변수를 사용합니다.
    "values": [
       "String"
    ]

    제공된 필드는 옵저버블 [sn_sec_tisc_observable] 테이블에서 column_names해야 합니다.

    데이터 유형: 배열

    included_fields.참조 옵저버블 참조에 대해 반환할 필드입니다. 옵저버블 참조는 STIX 외부에 표시되는 정보에 대한 포인터를 설명하는 데 사용되는 외부 참조입니다.
    "reference": { 
       "include_all_fields": Boolean, 
       "values": [Array] 
    }

    데이터 유형: 객체

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

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

    데이터 유형: 부울

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

    제공된 필드는 옵저버블 참조 [sn_sec_tisc_observable_reference] 테이블에서 column_names해야 합니다.

    데이터 유형: 배열

    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, name 및 sys_id 필드를 반환합니다.

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

    데이터 유형: 부울

    included_fields.<stix_object>.값 STIX 객체 유형에 대해 반환할 필드 목록입니다. 값이 false인 include_all_fields 경우에만 이 매개 변수를 사용합니다.
    "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]
    • 아이덴티티 [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.필터.필드_이름 옵저버블을 필터링하는 데 사용할 필드의 이름입니다.
    유효한 값은 다음과 같습니다.
    • 신뢰도
    • 평판
    • 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.필터.필드_값 필드의 값입니다.

    선택 필드의 경우 값은 표시 값이 아니라 내부 값이어야 합니다. 날짜-시간 필드의 경우 값은 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": [
       {
          "attributes": {Object},
          "relationships": {Object},
          "sys_id": "String",
          "type": "String",
          "value": "String"
       }
    ]
    각 observables 개체에는 요청 본문의 매개 변수로 included_fields.observable.common_fields 지정된 필드도 포함됩니다.

    데이터 유형: 배열

    observables.attributes 요청 본문의 매개변수로 지정된 included_fields.observable.attributes.<observable_type> 필드에 대한 필드-값 쌍을 포함하는 객체입니다.
    "attributes": {
       "<field>": "<value>"
    }

    데이터 유형: 객체

    observables.relationships 옵저버블에 대한 관계를 포함하는 객체입니다. 반환되는 관계의 형식은 요청 본문의 relationships 매개 변수에 의해 지정되며, 각 관계에 대해 반환되는 필드는 요청 본문의 매개 변수에 의해 included_fields 지정됩니다.

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

    "relationships": {
       "observable": [
          {
             "sys_id": "String",
             "type": "String",
             "value": "String"
          }
       ],
       "indicator": [
          {
             "id": "String",
             "name": "String",
             "sys_id": "String"
          }
       ],
       "attack_pattern": [
          {
             "name": "String",
             "sys_id": "String",
             "id": "String"
          }
       ]
    }

    데이터 유형: 객체

    observables.sys_id 옵저버블의 Sys_id입니다. 옵저버블 [sn_sec_tisc_observable] 테이블에 있습니다.

    데이터 유형: 문자열

    observables.type 옵저버블의 유형입니다. 유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [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"
    }