TISC API
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
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 안 함 |
| 이름 | 설명 |
|---|---|
| 옵저버블 | 필수 추가할 TISC옵저버블 객체의 목록입니다. 각 옵저버블 오브젝트에 대해 모든 유효성 검사가 통과되면 옵저버블 소스 레코드가 생성되며, 소스는 요청 본문의 매개변수에 source 의해 정의됩니다. 데이터 유형: 객체 배열 |
| 옵저버블.속성 | 옵저버블에 대한 속성 데이터를 포함하는 필드-값 쌍입니다. 속성은 IP 주소의 AS 번호 또는 네트워크의 소켓 유형과 같은 옵저버블 유형에 따라 다릅니다. 모든 옵저버블 유형에 대한 모든 속성이 지원됩니다. 유효한 속성의 전체 목록은 아래의 옵저버블 속성 섹션을 참조하세요. 데이터 유형: 객체 |
| observables.<field> | 옵저버블에 대한 일반 데이터를 포함하는 이름-값 쌍입니다. 이 매개변수에 제공할 수 있는 필드는 모든 옵저버블 유형에 공통입니다. type 및 value 필드는 모든 옵저버블에 필수입니다. 주: 값 제공에 대한 다음 지침을 따르십시오.
유효한 필드:
데이터 유형: 문자열 테이블: 옵저버블 소스 [sn_sec_tisc_observable_source] |
| 소스 | 필수 SIEM 시스템과 같은 옵저버블을 처음 탐지한 소스입니다. 소스는 API 요청에 나열된 모든 옵저버블에 사용됩니다. 데이터 유형: 문자열 저장 위치: 요청 본문에 제공된 소스는 API 통합 [sn_sec_tisc_api_integration] 테이블에 추가됩니다. |
머리글
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청. 요청 매개변수가 잘못되었거나 요청 본문 JSON에 구문 오류가 있습니다. 오류에 대한 자세한 내용을 보려면 응답 본문의 매개 변수를 참조하십시오 error . |
| 401 | 권한이 해제되었습니다. 사용자 인증이 잘못되었습니다. 사용자 이름 및 암호 또는 OAuth 토큰을 확인하십시오. |
| 403 | 금지되었습니다. 호출하는 사용자에게 필요한 역할이 없습니다. 이 엔드포인트에 액세스하려면 sn_sec_tisc.api_obs_write_access 역할이 필요합니다. |
| 429 | 요청이 너무 많습니다. API 요청 수가 API의 요율 제한을 초과합니다. 기본적으로 한도는 시간당 100개입니다. |
| 500 | 내부 서버 오류입니다. 오류에 대한 자세한 내용은 로그 [syslog] 테이블에서 애플리케이션 로그를 확인하십시오. |
응답 본문 매개변수(JSON)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 정보입니다. 이 매개변수는 요청이 실패한 경우에만 반환됩니다. 데이터 유형: 객체 |
| 오류.메시지 | 요청이 실패한 이유를 포함하는 오류 메시지입니다. 데이터 유형: 문자열 |
| 오류.상세 정보 | 요청이 실패한 이유에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| error_records | 에 추가할 수 없는 요청에 포함된 옵저버블에 대한 상세 정보입니다.TISC 데이터 유형: 객체 배열 |
| error_records.error_message | 옵저버블에 대한 기록을 생성할 수 없는 이유를 설명하는 오류 메시지입니다. 데이터 유형: 문자열 |
| error_records.유형 | 옵저버블 유형입니다. 유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [sn_sec_tisc_observable_type] 테이블의 값 필드 또는 아래의 옵저버블 특성 섹션을 참조하세요. 데이터 유형: 문자열 |
| error_records.값 | IP 주소 또는 URL과 같은 옵저버블과 연결된 값입니다. 데이터 유형: 문자열 |
| 메타데이터 | API 요청에 의해 생성된 기록 수에 대한 메타데이터입니다. 데이터 유형: 객체 |
| metadata.error_records | 요청에 포함된 옵저버블 중 에 추가할 수 없는 옵저버블 수입니다.TISC 데이터 유형: 숫자 |
| metadata.success_records | 에서 TISC성공적으로 생성된 옵저버블 기록 수 . 데이터 유형: 숫자 |
| metadata.total_records | 요청에 포함된 총 옵저버블 수입니다. 데이터 유형: 숫자 |
| 상태 | API 요청의 상태입니다. 가능한 값:
데이터 유형: 문자열 |
| success_records | 성공적으로 생성된 옵저버블 기록에 대한 상세 정보입니다. 데이터 유형: 객체 배열 |
| success_records.sys_id | 옵저버블 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| success_records.유형 | 옵저버블 유형입니다. 유효한 옵저버블 유형의 전체 목록은 옵저버블 유형 [sn_sec_tisc_observable_type] 테이블의 값 필드 또는 아래의 옵저버블 특성 섹션을 참조하세요. 데이터 유형: 문자열 |
| success_records.값 | IP 주소 또는 URL과 같은 옵저버블과 연결된 값입니다. 데이터 유형: 문자열 |
옵저버블 속성
| 옵저버블 유형 | 속성 | 데이터 유형 |
|---|---|---|
| 아티팩트 | 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 | 문자열 가능한 값:
|
|
| socket_descriptor | 정수 | |
| socket_handle | 정수 | |
| socket_options | 문자열 | |
| socket_type | 문자열 가능한 값:
|
|
| 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_status | 문자열 가능한 값:
|
|
| service_type | 문자열 가능한 값:
|
|
| 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
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 안 함 |
| 이름 | 설명 |
|---|---|
| included_fields | 응답의 옵저버블, 옵저버블 참조 및 STIX 객체에 대해 반환할 필드입니다. 옵저버블, 참조 및 각 유형의 STIX 객체에 대해 서로 다른 필드를 반환할 수 있습니다. ServiceNow sys_created_on, sys_updated_on 및 sys_id를 제외한 시스템 필드는 응답에 반환되지 않습니다. 데이터 유형: 객체 |
| included_fields.옵저버블 | 옵저버블에 대해 반환할 필드입니다. 데이터 유형: 객체 기본값: 모든 옵저버블 유형에 대한 필드 syd_id, 유형 및 값을 반환합니다. |
| included_fields.observable.attributes | 지정된 옵저버블 유형에 대해 반환할 필드입니다. 데이터 유형: 객체 기본값: 옵저버블 유형에 특정한 필드는 반환되지 않습니다. 필드 syd_id, 유형 및 값만 반환됩니다. |
| included_fields.observable.attributes.<observable_type> | 옵저버블 유형에 대해 반환할 필드입니다. 데이터 유형: 객체
|
| included_fields.observable.attributes.<observable_type>.include_all_fields | 옵저버블 유형에 사용 가능한 모든 필드를 반환할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| included_fields.observable.attributes.<observable_type>.values | 옵저버블 유형에 대해 반환할 필드 목록입니다. 값이 include_all_fields false인 경우에만 이 매개변수를 사용합니다. 데이터 유형: 문자열 배열 제공된 필드는 옵저버블 유형에 대한 테이블에서 column_names해야 합니다. 다음 테이블은 옵저버블 유형에 사용됩니다.
|
| included_fields.observable.common_fields | 모든 옵저버블 유형에 대해 반환할 필드입니다. 필드는 모든 옵저버블 유형에 공통적이어야 하므로 옵저버블 [sn_sec_tisc_observable] 테이블에서 가져와야 합니다. 데이터 유형: 객체 기본값: 모든 옵저버블 유형에 대한 필드 syd_id, 유형 및 값을 반환합니다. |
| included_fields.observable.common_fields.include_all_fields | 모든 옵저버블 유형에 대해 옵저버블 [sn_sec_tisc_observable] 테이블의 모든 필드를 반환할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| included_fields.observable.common_fields.values | 모든 옵저버블 유형에 대해 반환할 필드 목록입니다. 값이 common_fields.include_all_fields false인 경우에만 이 매개변수를 사용합니다. 데이터 유형: 문자열 배열 제공된 필드는 옵저버블 [sn_sec_tisc_observable] 테이블의 열 이름이어야 합니다. |
| included_fields.참조 | 옵저버블 참조에 대해 반환할 필드입니다. 옵저버블 참조는 STIX 외부에 표시되는 정보에 대한 포인터를 설명하는 데 사용되는 외부 참조입니다. 데이터 유형: 객체 기본값: reference_source, sys_id 및 url 필드를 반환합니다. |
| included_fields.reference.include_all_fields | 옵저버블 참조에 사용 가능한 모든 필드를 반환할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| included_fields.참조.값 | 옵저버블 참조에 대해 반환할 필드 목록입니다. 값이 reference.include_all_fields false인 경우에만 이 매개변수를 사용합니다. 데이터 유형: 문자열 배열 제공된 필드는 옵저버블 참조 [sn_sec_tisc_observable_reference] 테이블의 열 이름이어야 합니다. |
| included_fields.<stix_object> | STIX 객체 유형에 대해 반환할 필드를 포함하는 객체입니다. 데이터 유형: 객체
유효한 STIX 객체 유형:
기본값: 필드 ID, 이름 및 sys_id 반환합니다. |
| included_fields.<stix_object>.include_all_fields | STIX 객체 유형에 사용 가능한 모든 필드를 반환할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| included_fields.<stix_object>.values | STIX 객체 유형에 대해 반환할 필드 목록입니다. 값이 include_all_fields false인 경우에만 이 매개변수를 사용합니다. 데이터 유형: 문자열 배열 제공된 필드는 STIX 객체 유형에 대한 테이블에서 column_names해야 합니다. 다음 테이블은 STIX 객체에 사용됩니다.
|
| observable_filters | 옵저버블에 적용할 필터입니다. 필터 기준과 일치하는 옵저버블만 응답에 반환됩니다. 데이터 유형: 객체 기본값: 빈 객체(적용된 필터 없음) |
| observable_filters.boolean_operator | 필터 조건에 사용할 부울 연산자입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| observable_filters.필터 | 옵저버블에 적용할 필터입니다. 각 필터 개체는 단순하거나 복잡할 수 있습니다.
데이터 유형: 객체 배열 |
| observable_filters.filters.field_name | 옵저버블을 필터링하는 데 사용할 필드의 이름입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| observable_filters.filters.operator | 필터에 사용할 연산자입니다. 연산자에 대한 자세한 내용은 다음 문서를 참조하십시오 Operators available for filters and queries. 필터 필드의 데이터 유형에 따라 유효한 연산자가 결정됩니다. 다음 연산자는 각 데이터 형식에 사용할 수 있습니다.
데이터 유형: 문자열 |
| observable_filters.filters.field_value | 필드의 값입니다. 선택 필드의 경우 값은 표시 값이 아니라 내부 값이어야 합니다. 날짜-시간 필드의 경우 값은 UTC 표준 시간대의 ISO 형식이어야 합니다. 주: ISEMPTY 또는 ISNOTEMPTY 연산자를 사용할 때는 이 매개 변수가 필요하지 않습니다. 데이터 유형: 문자열 |
| page_size | API 응답에 반환되는 옵저버블 수를 제한합니다. 페이지 매김에 사용됩니다. 데이터 유형: 문자열 기본값: 100 최댓값: 1000 |
| page_token | 현재 페이지에 대한 옵저버블 데이터를 가져오는 데 사용됩니다. 첫 번째 페이지를 가져오려면 이 매개변수를 생략할 수 있거나 이 매개변수의 값은 빈 문자열이어야 합니다. 다음 요청의 다음 페이지를 가져오려면 응답 본문의 값을 이 매개변수의 값으로 사용합니다 next_page_token . 데이터 유형: 문자열 기본값: 빈 문자열 |
| 관계 | 응답의 각 옵저버블에 대해 반환할 관계 유형입니다. 관계는 다른 옵저버블, 옵저버블 참조 또는 STIX(Structured Threat Information Expression) 객체와의 관계일 수 있습니다. 유효한 값은 다음과 같습니다.
예를 들어 배열 데이터 유형: 배열 기본값: 빈 배열(관계가 반환되지 않음) |
머리글
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청. 요청 매개변수가 잘못되었거나 요청 본문 JSON에 구문 오류가 있습니다. 오류에 대한 자세한 내용을 보려면 응답 본문의 매개 변수를 참조하십시오 error . |
| 401 | 권한이 해제되었습니다. 사용자 인증이 잘못되었습니다. 사용자 이름 및 암호 또는 OAuth 토큰을 확인하십시오. |
| 403 | 금지되었습니다. 호출하는 사용자에게 필요한 역할이 없습니다. 이 엔드포인트에 액세스하려면 sn_sec_tisc.api_obs_read_access 역할이 필요합니다. |
| 429 | 요청이 너무 많습니다. API 요청 수가 API의 요율 제한을 초과합니다. 기본적으로 한도는 시간당 500개 요청입니다. |
| 500 | 내부 서버 오류입니다. 오류에 대한 자세한 내용은 로그 [syslog] 테이블에서 애플리케이션 로그를 확인하십시오. |
응답 본문 매개변수(JSON)
| 이름 | 설명 |
|---|---|
| 오류 | 오류 정보입니다. 이 매개변수는 요청이 실패한 경우에만 반환됩니다. 데이터 유형: 객체 |
| 오류.메시지 | 요청이 실패한 이유를 포함하는 오류 메시지입니다. 데이터 유형: 문자열 |
| 오류.상세 정보 | 요청이 실패한 이유에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| is_last_page | 옵저버블 데이터의 마지막 페이지인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| next_page_token | 다음 API 요청에서 이 값을 사용하여 옵저버블 데이터의 다음 페이지를 가져옵니다. 요청 본문의 매개변수에 page_token 이 값을 제공합니다. 데이터 유형: 문자열 |
| 옵저버블 | Observables 객체입니다. 데이터 유형: 객체 배열 각 observables 개체에는 요청 본문의 매개 변수로 지정된 included_fields.observable.common_fields 필드도 포함됩니다. |
| 옵저버블.속성 | 요청 본문의 매개변수로 지정된 필드에 대한 이름-값 쌍입니다 included_fields.observable.attributes.<observable_type> . 데이터 유형: 객체 |
| 옵저버블.관계 | 옵저버블에 대한 관계입니다. 반환되는 관계의 형식은 요청 본문의 매개 변수에 의해 relationships 지정되고 각 관계에 대해 반환되는 필드는 요청 본문의 매개 변수에 의해 included_fields 지정됩니다. 이 예제에서는 이 매개 변수의 기본 구조를 보여 줍니다. 그러나 반환되는 관계 유형과 필드는 요청 본문 매개변수에 따라 달라집니다. 데이터 유형: 객체 |
| 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"
}