색인
SafeBrowsing
(인터페이스)Checksum
(메시지)ClientInfo
(메시지)CompressionType
(열거형)FetchThreatListUpdatesRequest
(메시지)FetchThreatListUpdatesRequest.ListUpdateRequest
(메시지)FetchThreatListUpdatesRequest.ListUpdateRequest.Constraints
(메시지)FetchThreatListUpdatesResponse
(메시지)FetchThreatListUpdatesResponse.ListUpdateResponse
(메시지)FetchThreatListUpdatesResponse.ListUpdateResponse.ResponseType
(열거형)FindFullHashesRequest
(메시지)FindFullHashesResponse
(메시지)FindThreatMatchesRequest
(메시지)FindThreatMatchesResponse
(메시지)ListThreatListsResponse
(메시지)PlatformType
(열거형)RawHashes
(메시지)RawIndices
(메시지)RiceDeltaEncoding
(메시지)ThreatEntry
(메시지)ThreatEntryMetadata
(메시지)ThreatEntryMetadata.MetadataEntry
(메시지)ThreatEntrySet
(메시지)ThreatEntryType
(열거형)ThreatInfo
(메시지)ThreatListDescriptor
(메시지)ThreatMatch
(메시지)ThreatType
(열거형)
SafeBrowsing
Safe Browsing API를 사용하면 클라이언트가 웹 리소스 (가장 일반적인 URL)를 Google에서 지속적으로 업데이트하는 안전하지 않은 웹 리소스 목록과 대조할 수 있습니다. Safe Browsing API (v4)에는 Update API 및 Lookup API가 포함됩니다.
Update API는 대규모 클라이언트를 위해 설계되었으며 FindFullHashes 및 FetchThreatListUpdates 메서드 를 포함합니다 . Update API를 사용하려면 클라이언트가 로컬 데이터베이스에서 다운로드된 위협 목록을 유지해야 합니다.
먼저 클라이언트는 로컬 목록과 일치시켜 특정 웹 리소스의 상태 (안전함 또는 안전하지 않음)를 결정합니다. 대부분의 경우 목록은 차단된 URL 표현식의 해시 접두사로 구성됩니다. URL을 확인하기 위해 클라이언트는 지정된 URL의 해시를 생성하고 로컬 목록에서 접두사 충돌을 확인합니다. 접두사 일치가 발견되면 클라이언트는 FindFullHashes 메서드 를 통해 일치하는 해시 접두사와 연결된 전체 해시를 가져옵니다. 그런 다음 클라이언트는 로컬 전체 해시를 반환된 전체 해시와 비교합니다. 일치하는 항목은 URL이 안전하지 않음을 나타냅니다.
둘째, 클라이언트는 FetchThreatListUpdates 메서드 를 통해 로컬 데이터베이스에 대한 업데이트를 받습니다. FetchThreatListUpdates는 클라이언트의 현재 상태를 가져와서 클라이언트가 로컬 위협 목록에 적용해야 하는 변경 사항과 함께 업데이트된 클라이언트 상태를 반환합니다.
Lookup API는 소규모 클라이언트를 위해 설계되었으며 고객이 FindThreatMatch 메서드를 통해 세이프 브라우징 위협 목록과 리소스를 직접 일치시킬 수 있습니다.
Update API 또는 Lookup API를 사용하는 클라이언트는 ListThreatLists 방법을 통해 다운로드할 수 있는 세이프 브라우징 위협 목록 목록을 입수할 수 있습니다.
{-- TRUSTED_THREAT_REPORTER: 신뢰할 수 있는 위협 클라이언트는 SubmitThreatReport 방법을 통해 분석을 위해 Google에 보고서를 제출할 수 있습니다. --}
FetchThreatListUpdates |
---|
최신 위협 목록 업데이트를 가져옵니다. 클라이언트는 한 번에 여러 목록의 업데이트를 요청할 수 있습니다. |
FindFullHashes |
---|
요청된 해시 접두사와 일치하는 전체 해시를 찾습니다. |
FindThreatMatches |
---|
세이프 브라우징 목록과 일치하는 위협 항목을 찾습니다. |
ListThreatLists |
---|
다운로드할 수 있는 세이프 브라우징 위협 목록을 나열합니다. |
체크섬
클라이언트 로컬 데이터베이스의 예상 상태입니다.
입력란 | |
---|---|
sha256 |
클라이언트 상태의 SHA256 해시입니다. 즉, 데이터베이스에 있는 모든 해시의 정렬된 목록입니다. |
ClientInfo
Safe Browsing API 요청과 관련된 클라이언트 메타데이터입니다.
입력란 | |
---|---|
client_id |
Safe Browsing API의 클라이언트 구현을 고유하게 식별하는 클라이언트 ID |
client_version |
클라이언트 구현의 버전입니다. |
CompressionType
위협 엔트리 세트를 압축할 수 있는 방법.
열거형 | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
알 수 없는 작업입니다. |
RAW |
압축되지 않은 원시 데이터입니다. |
RICE |
Rice-Golomb 인코딩 데이터 |
FetchThreatListUpdatesRequest
Safe Browsing API 업데이트 요청에 관해 설명합니다. 클라이언트는 단일 요청으로 여러 목록의 업데이트를 요청할 수 있습니다. 서버에 해당 목록에 대한 업데이트가 없는 경우 서버가 일부 요청에 응답하지 않을 수 있습니다. 참고: 필드 색인 2는 사용되지 않습니다. 다음: 5
입력란 | |
---|---|
client |
클라이언트 메타데이터입니다. |
list_update_requests[] |
요청한 위협 목록이 업데이트됩니다. |
ListUpdateRequest
단일 목록 업데이트 요청입니다.
입력란 | |
---|---|
threat_type |
목록에 있는 항목으로 인해 발생하는 위협 유형입니다. |
platform_type |
목록에 있는 항목으로 인해 위험할 수 있는 플랫폼 유형입니다. |
threat_entry_type |
목록에 있는 항목의 유형입니다. |
state |
요청된 목록에 대한 클라이언트의 현재 상태 (마지막으로 성공적인 목록 업데이트로부터 수신된 암호화된 클라이언트 상태)입니다. |
constraints |
이 요청과 연결된 제약조건입니다. |
제약조건
이 업데이트의 제약 조건입니다.
입력란 | |
---|---|
max_update_entries |
항목 수의 최대 크기입니다. 업데이트에 이 값보다 많은 항목이 포함되지 않습니다. 2**10과 2**20 사이에서 2의 거듭제곱이어야 합니다. 0인 경우 업데이트 크기 제한이 설정되지 않습니다. |
max_database_entries |
클라이언트가 지정된 목록에 대해 로컬 데이터베이스에 보유하고 있는 최대 항목 수를 설정합니다. 2**10과 2**20 사이에서 2의 거듭제곱이어야 합니다. 0이면 데이터베이스 크기 제한이 설정되지 않습니다. |
region |
특정 지리적 위치에 대한 목록을 요청합니다. 설정하지 않으면 서버에서 사용자의 IP 주소를 기반으로 해당 값을 선택할 수 있습니다. ISO 3166-1 alpha-2 형식이어야 합니다. |
supported_compressions[] |
클라이언트에서 지원하는 압축 유형입니다. |
language |
특정 언어에 대한 목록을 요청합니다. ISO 639 alpha-2 형식이 필요합니다. |
device_location |
ISO 31166-1 alpha-2 지역 코드로 표현되는 클라이언트의 실제 위치입니다. |
FetchThreatListUpdatesResponse
입력란 | |
---|---|
list_update_responses[] |
클라이언트가 요청한 목록 업데이트 여기서 응답 수는 클라이언트가 보낸 요청 수보다 적을 수 있습니다. 서버에 특정 목록에 대한 업데이트가 없는 경우를 예로 들 수 있습니다. |
minimum_wait_duration |
클라이언트가 업데이트 요청을 실행하기 전에 대기해야 하는 최소 기간입니다. 이 필드가 설정되지 않으면 클라이언트가 원하는 즉시 업데이트할 수 있습니다. |
ListUpdateResponse
개별 목록 업데이트입니다.
입력란 | |
---|---|
threat_type |
데이터가 반환되는 위협 유형입니다. |
threat_entry_type |
위협의 형식. |
platform_type |
데이터가 반환되는 플랫폼 유형입니다. |
response_type |
응답 유형입니다. 이는 응답을 수신했을 때 클라이언트가 조치를 취해야 함을 나타낼 수 있습니다. |
additions[] |
로컬 위협 유형 목록에 추가할 항목의 집합입니다. 압축된 데이터와 원시 데이터의 조합을 단일 응답으로 전송하기 위해 반복됩니다. |
removals[] |
로컬 위협 유형 목록에서 삭제할 항목의 집합입니다. 실제로 이 필드는 비어 있거나 정확히 하나의 ThreatEntrySet를 포함합니다. |
new_client_state |
암호화된 형식의 새 클라이언트 상태입니다. 고객에게 불투명합니다. |
checksum |
클라이언트 상태의 예상 SHA256 해시입니다. 즉, 제공된 업데이트를 적용한 후 데이터베이스에 있는 모든 해시의 정렬된 목록입니다. 클라이언트 상태가 예상 상태와 일치하지 않으면 클라이언트는 이 업데이트를 무시하고 나중에 다시 시도해야 합니다. |
ResponseType
클라이언트로 전송된 응답의 유형입니다.
열거형 | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
알 수 없는 작업입니다. |
PARTIAL_UPDATE |
부분 업데이트는 클라이언트의 기존 로컬 데이터베이스에 적용됩니다. |
FULL_UPDATE |
전체 업데이트는 클라이언트의 전체 로컬 데이터베이스를 대체합니다. 이는 클라이언트가 심각하게 오래된 것이거나 클라이언트가 부패한 것으로 여겨졌음을 의미합니다. |
FindFullHashesRequest
제공된 해시 접두사와 일치하는 전체 해시 반환 요청입니다.
입력란 | |
---|---|
client |
클라이언트 메타데이터입니다. |
client_states[] |
클라이언트의 로컬 위협 목록 각각에 대한 현재 클라이언트 상태입니다. |
threat_info |
확인할 목록과 해시입니다. |
api_client |
클라이언트의 구현을 기반으로 빌드된 상위 수준 API의 호출자와 연결된 클라이언트 메타데이터입니다. |
FindFullHashesResponse
입력란 | |
---|---|
matches[] |
요청된 프리픽스와 일치하는 전체 해시입니다. |
minimum_wait_duration |
클라이언트가 해시 찾기 요청을 실행하기 전에 대기해야 하는 최소 기간입니다. 이 필드가 설정되지 않으면 클라이언트는 원하는 즉시 요청을 실행할 수 있습니다. |
negative_cache_duration |
위협 목록과 일치하지 않는 요청된 항목에 대한 대응 캐시 기간입니다. |
FindThreatMatchesRequest
목록을 기준으로 항목을 확인하는 요청입니다.
입력란 | |
---|---|
client |
클라이언트 메타데이터입니다. |
threat_info |
일치 여부를 확인할 목록과 항목입니다. |
FindThreatMatchesResponse
입력란 | |
---|---|
matches[] |
위협 목록이 일치합니다. |
ListThreatListsResponse
입력란 | |
---|---|
threat_lists[] |
클라이언트가 다운로드할 수 있는 목록입니다. |
PlatformType
플랫폼 유형
열거형 | |
---|---|
PLATFORM_TYPE_UNSPECIFIED |
알 수 없는 플랫폼입니다. |
WINDOWS |
Windows에 가해지는 위협 |
LINUX |
Linux에 가해지는 위협 |
ANDROID |
Android에 가해지는 위협 |
OSX |
OS X에 가해지는 위협 |
IOS |
iOS에 가해진 위협 |
ANY_PLATFORM |
정의된 플랫폼 중 하나 이상에서 발생한 위협 |
ALL_PLATFORMS |
정의된 모든 플랫폼에서 발생하는 위협 |
CHROME |
Chrome에 가해지는 위협 |
RawHashes
특정 접두사 길이의 해시 형식으로 된 압축되지 않은 위협 항목 해시는 4~32바이트 크기일 수 있습니다. 대부분은 4바이트이지만 인기 URL의 해시와 충돌하면 일부 해시가 길어집니다.
압축을 지원하지 않는 클라이언트에게 ThreatEntrySet를 전송하거나 압축을 지원하는 클라이언트에게 4바이트가 아닌 해시를 전송하는 데 사용됩니다.
입력란 | |
---|---|
prefix_size |
아래에 인코딩된 각 접두사의 바이트 수입니다. 이 필드는 4 (가장 짧은 접두사)에서 32 (전체 SHA256 해시)까지입니다. |
raw_hashes |
바이너리 형식의 해시는 하나의 긴 문자열로 연결됩니다. 해시는 사전순으로 정렬됩니다. JSON API 사용자의 경우 해시는 base64로 인코딩됩니다. |
RawIndices
로컬 목록에서 삭제할 원시 색인 집합입니다.
입력란 | |
---|---|
indices[] |
사전순으로 정렬된 로컬 목록에서 삭제할 색인입니다. |
RiceDeltaEncoding
Rice-Golomb 인코딩 데이터 압축된 4바이트 해시 또는 압축된 삭제 색인을 전송하는 데 사용됩니다.
입력란 | |
---|---|
first_value |
인코딩된 데이터에서 첫 번째 항목의 오프셋입니다. 단일 정수만 인코딩된 경우 단일 정수 값입니다. 필드가 비어 있거나 누락된 경우 0으로 가정합니다. |
rice_parameter |
2~28 사이의 숫자인 Golomb-Rice 매개변수 |
num_entries |
인코딩된 데이터에서 델타 인코딩된 항목 수입니다. 하나의 정수만 인코딩된 경우 0이 되고 단일 값은 |
encoded_data |
Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다. |
ThreatEntry
개별 위협(예: 악성 URL 또는 해시 표현) 이 필드 중 하나만 설정해야 합니다.
입력란 | |
---|---|
hash |
SHA256 해시의 가장 중요한 4~32바이트로 구성된 해시 접두사입니다. 이 필드는 바이너리 형식입니다. JSON 요청의 경우 해시는 base64로 인코딩됩니다. |
url |
URL입니다. |
digest |
SHA256 형식인 실행 파일의 다이제스트입니다. API는 바이너리 및 16진수 다이제스트를 모두 지원합니다. JSON 요청의 경우 다이제스트는 base64로 인코딩됩니다. |
ThreatEntryMetadata
특정 위협 항목과 관련된 메타데이터입니다. 클라이언트는 각 위협 유형과 관련된 메타데이터 키/값 쌍을 알고 있어야 합니다.
입력란 | |
---|---|
entries[] |
메타데이터 항목입니다. |
MetadataEntry
단일 메타데이터 항목입니다.
입력란 | |
---|---|
key |
메타데이터 입력 키입니다. JSON 요청의 경우 키는 base64로 인코딩됩니다. |
value |
메타데이터 항목 값입니다. JSON 요청의 경우 값은 base64로 인코딩됩니다. |
ThreatEntrySet
클라이언트의 로컬 데이터베이스에서 추가하거나 삭제해야 하는 위협 집합입니다.
입력란 | |
---|---|
compression_type |
이 집합에 있는 항목의 압축 유형입니다. |
raw_hashes |
SHA256 형식의 원시 항목입니다. |
raw_indices |
로컬 목록의 원시 삭제 색인입니다. |
rice_hashes |
Golomb-Rice 인코딩을 사용하여 SHA256 형식 항목의 인코딩된 4바이트 프리픽스입니다. 해시는 uint32로 변환되고 오름차순으로 정렬된 다음 델타 인코딩되고 encoded_data로 저장됩니다. |
rice_indices |
Golomb-Rice 인코딩을 사용하여 사전순으로 정렬된 인코딩된 로컬 목록 색인입니다. 압축된 삭제 색인을 전송하는 데 사용됩니다. 삭제 지수 (uint32)는 오름차순으로 정렬된 다음 델타 인코딩되어 encoded_data로 저장됩니다. |
ThreatEntryType
위협을 야기하는 항목 유형 위협 목록은 단일 유형의 항목 모음입니다.
열거형 | |
---|---|
THREAT_ENTRY_TYPE_UNSPECIFIED |
지정되지 않았습니다. |
URL |
URL입니다. |
EXECUTABLE |
실행 가능한 프로그램 |
ThreatInfo
클라이언트가 위협 목록에서 일치하는 항목을 확인할 때 제출하는 하나 이상의 위협 관련 정보입니다.
입력란 | |
---|---|
threat_types[] |
확인할 위협 유형입니다. |
platform_types[] |
확인할 플랫폼 유형입니다. |
threat_entry_types[] |
확인할 항목 유형입니다. |
threat_entries[] |
확인할 위협 항목입니다. |
ThreatListDescriptor
개별 위협 목록을 설명합니다. 목록은 제기된 위협 유형, 위협이 표적으로 삼는 플랫폼 유형, 목록의 항목 유형 등 세 가지 매개변수로 정의됩니다.
입력란 | |
---|---|
threat_type |
목록의 항목에서 제기한 위협 유형입니다. |
platform_type |
목록의 항목에서 타겟팅하는 플랫폼 유형입니다. |
threat_entry_type |
목록에 포함된 항목 유형입니다. |
ThreatMatch
세이프 브라우징 위협 목록에서 위협 항목을 확인할 때 일치하는 항목입니다.
입력란 | |
---|---|
threat_type |
이 위협과 일치하는 위협 유형입니다. |
platform_type |
이 위협과 일치하는 플랫폼 유형입니다. |
threat_entry_type |
이 위협과 일치하는 위협 항목 유형입니다. |
threat |
이 위협과 일치하는 위협입니다. |
threat_entry_metadata |
이 위협과 관련된 메타데이터(선택사항)입니다. |
cache_duration |
반환된 일치 항목의 캐시 수명입니다. 거짓양성을 방지하기 위해 클라이언트는 이 시간보다 이 응답을 캐시해서는 안 됩니다. |
ThreatType
위협 유형.
열거형 | |
---|---|
THREAT_TYPE_UNSPECIFIED |
알 수 없는 작업입니다. |
MALWARE |
멀웨어 위협 유형입니다. |
SOCIAL_ENGINEERING |
소셜 엔지니어링 위협 유형입니다. |
UNWANTED_SOFTWARE |
원치 않는 소프트웨어 위협 유형입니다. |
POTENTIALLY_HARMFUL_APPLICATION |
잠재적으로 위험한 애플리케이션 위협 유형입니다. |