Web Risk를 사용하여 악성 URL 감지

시작하기 전에

인증 설정 및 Web Risk API 사용 설정

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud CLI를 설치합니다.
  3. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  4. Google Cloud 프로젝트를 만들거나 선택합니다.

    • Google Cloud 프로젝트를 만듭니다.

      gcloud projects create PROJECT_ID

      PROJECT_ID를 만들려는 Google Cloud 프로젝트의 이름으로 바꿉니다.

    • 만든 Google Cloud 프로젝트를 선택합니다.

      gcloud config set project PROJECT_ID

      PROJECT_ID를 Google Cloud 프로젝트 이름으로 바꿉니다.

  5. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  6. Web Risk API를 사용 설정합니다.

    gcloud services enable webrisk.googleapis.com
  7. Google Cloud CLI를 설치합니다.
  8. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  9. Google Cloud 프로젝트를 만들거나 선택합니다.

    • Google Cloud 프로젝트를 만듭니다.

      gcloud projects create PROJECT_ID

      PROJECT_ID를 만들려는 Google Cloud 프로젝트의 이름으로 바꿉니다.

    • 만든 Google Cloud 프로젝트를 선택합니다.

      gcloud config set project PROJECT_ID

      PROJECT_ID를 Google Cloud 프로젝트 이름으로 바꿉니다.

  10. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  11. Web Risk API를 사용 설정합니다.

    gcloud services enable webrisk.googleapis.com

API 사용

Web Risk API를 사용할 때는 Web Risk의 서비스수준계약사용량 한도를 숙지해야 합니다.

Web Risk를 사용하려면 다음 주제를 참조하세요.

나에게 맞는 API는 무엇인가요? 조회나 업데이트 중 무엇일까요?

Web Risk는 통합할 수 있는 두 가지 API를 제공합니다. 이러한 API는 Lookup APIUpdate API입니다. 두 API 모두 동일한 정보를 제공합니다. 즉, URL이 악성으로 확인되었는지 여부를 나타냅니다. 사용하기에 가장 쉬운 API는 Lookup API입니다. Lookup API를 사용하여 확인할 모든 URL에 대해 Web Risk를 쿼리하게 됩니다.

Update API는 더 복잡하지만 몇 가지 매력적인 속성이 있습니다. Update API를 사용하면 로컬 데이터베이스를 유지관리하게 됩니다. 이 데이터베이스는 URL이 악성인지 확인하기 위해 확인됩니다. 이 데이터베이스는 블룸 필터 역할을 합니다. 즉, 거짓 양성(URL은 악성으로 식별되지 않지만 그렇지 않은 경우)은 있을 수 있지만 거짓음성은 없어야 합니다(URL은 악성이 아닌 것으로 식별되지만 악성인 경우). 이로 인해 Web Risk 서버는 거의 접속되지 않으며 일치를 확인하고 거짓 양성의 모호성을 없애기 위해서만 접속됩니다. 대부분의 경우 Update API를 사용하여 URL을 확인할 때 Web Risk 서버에 접속하지 않아도 됩니다. 로컬 데이터베이스를 업데이트하고 URL이 유해하다고 확인할 경우에만 Web Risk 서버에 접속해야 합니다.

다시 말해 빠르고 쉽게 설정하려면 Lookup API를 사용합니다. 지연 시간이 짧은 URL 확인이 필요한 경우 Update API를 사용합니다.

적합한 클라이언트 기능 선택

Update API를 사용하기로 선택한 경우 전체 사양을 구현할 필요가 없을 수도 있습니다. 다수의 기업 사례에서 과도하게 최적화된, 널리 분산된 클라이언트(예: 웹브라우저)를 위해 설계된 일부 기능이 있습니다.

일부 기능은 쉽게 통합할 수 있도록 무시됩니다.

다음은 복잡성 순으로 나열한 웹 Web Risk 통합 솔루션입니다.

  1. LookUp API 사용하기
  2. 기본 Update API 클라이언트
  3. 비교를 사용하는 Update API 클라이언트
  4. RICE 압축 비교를 사용하여 Update API 클라이언트

Lookup API 사용

Lookup API를 사용하는 것이 복잡성이 가장 낮습니다. 의심스러운 URL이 있을 때마다 해당 URL로 Lookup API를 호출하여 결과를 확인합니다. URL 표준화 및 형식 지정은 Web Risk 서버에서 처리합니다. 평균 지연 시간이 요구사항을 초과하지 않는 한 이 솔루션은 대부분의 클라이언트에서 유효해야 합니다.

기본 Update API 클라이언트

Update API를 사용하려면 쿼리 전에 로컬 데이터베이스와 표준 URL을 관리하는 것이 더 복잡해집니다.

Web Risk의 일반적인 클라이언트 통합에서 클라이언트는 데이터베이스 diff를 적용하여 최신 상태를 유지합니다. diff 애플리케이션 로직이 올바르게 구현되려면 시간이 걸릴 수 있으므로 가장 간단한 경우에는 클라이언트가 diff를 무시하고 각 사이클마다 Web Risk의 새로운 전체 데이터베이스를 요청하는 것이 좋습니다. 이 데이터베이스는 효율적으로 쿼리할 수 있도록 여전히 메모리에 저장됩니다. threatLists.computeDiff 요청에서 versionToken 필드를 비워 두면 전체 데이터베이스 재설정 요청이 수행됩니다. 대역폭 또는 데이터베이스 동기화 지연 시간이 요구사항을 충족하지 않는 한 이 솔루션은 클라이언트에 유효해야 합니다.

Update API 사용 및 비교 업데이트 요청

이 솔루션에는 diff 로직을 로컬 데이터베이스에 적용하는 복잡성이 추가되었습니다. 자세한 내용은 데이터베이스 Diff를 참조하세요. diff를 사용하면 각 사이클마다 새 데이터베이스를 요청할 때와 대역폭이 줄어들어 복잡성이 감소합니다. 전체 데이터베이스 업데이트는 수 메가바이트 정도일 수 있습니다. 대부분의 기업 고객은 이 솔루션을 사용하는 것이 좋습니다.

Update API 사용 및 RICE 인코딩 비교 업데이트 요청

이 솔루션은 가장 효율적인 클라이언트 통합입니다. RICE 인코딩은 DIFF 크기를 압축하고 업데이트 대역폭을 더 줄입니다. 이 솔루션은 대역폭이 가장 제한된 고객이 사용하도록 고안되었습니다. 이와 관련이 있을 수 있는 한 가지 예시로 Web Risk 쿼리가 전화 앱에 포함된 경우 이러한 앱의 사용자가 전화 데이터를 통해 데이터베이스를 업데이트해야 하면 사용자는 낮은 대역폭 솔루션에 만족할 것입니다. 자세한 내용은 압축을 참조하세요.