CTOのharukasanです。
pixivをはじめとするピクシブが運営している各サービスにおいて、ユーザーの投稿した作品を不当な目的を持って取得する行為から守ることは、プラットフォームとして重要な責務のひとつであるとピクシブは考えています。これまでもピクシブでは、作品が不当な目的で大量に取得されないよう機械的なクローリングを検知し、ブロックするために様々な手段を講じてきました。この記事では、現在行っている対策と、今後実施していくために現時点で取り組んでいる施策についてご説明します。
English version is available here
これまでに実施している不当な目的での作品大量取得への対策について
ピクシブでは不当な目的で作品を大量取得されることを防止するため、基本的な対策に加え、様々なソリューションを導入しています。ここでは特徴的な技術についていくつかの例を紹介します。
reCAPTCHA Enterprise
Bot対策ソリューションとしてよく知られているものにCAPTCHA技術があります。ピクシブではGoogleが提供しているreCAPTCHAの有償版であるreCAPTCHA Enterpriseを利用しています。reCAPTCHA Enterpriseでは、従来のreCAPTCHAに加え、annotationを利用したモデルチューニング、Account Defenderによる不審なアクティビティの検知、類似した動作を行うアカウントの検知といった機能があります。
ピクシブではreCAPTCHA Enterpriseのこれらの機能を用いることで、IPアドレスや認証情報に基づいた単純なブロックだけではなく、IPアドレスや認証情報が異なっている同一者の不正行為に関しても調査、類似したアカウントの特定ができるよう一部で利用しています。しかしAccount DefenderをはじめとするreCAPTCHA Enterpriseの新機能はまだチューニングが難しいところがあり、この種の不正行為を全て検知できるわけではありません。
Cloudflare CDN
ピクシブではセキュリティ対策として、Cloudflareの提供するDDoS Protection、Web Application Firewallといった製品を導入しています。これにより、ネットワークレベルでのDDoS対策だけではなく、アプリケーションレベルでの攻撃を検知し、特定IPアドレスや場合によっては特定ネットワークからのリクエスト制御も行っています。
Bot対策としてCloudflare Bot Managementも導入しています。しかしながら現在のところpixivでは全面的なBot Managementの適用が出来ていません。これは現在のリクエスト規模だとキャリア回線など特定のネットワークにおける誤検知率が高く、全面的に導入した場合多くの正当な利用目的のユーザーに対して頻繁にチャレンジを要求してしまうといった影響があることが検証によってわかっているためです。Bot Managementには課題もありますが、Cloudflareは大量アクセス時の遮断、不正検知において有効な手段のひとつになっており、不当な目的を持った機械的なクローリングのコストを上昇させ素早い対応を可能にしています。
アプリケーションでの対策
pixivでは作品の詳細情報取得や作品検索などのAPIエンドポイントにおいて、大量の作品取得に時間を要させることを目的とし、レートリミットを設けるなど基本的な対策を実施しています。 認証されていない状態では一部の作品に関するデータは取得できないようにするなど、制限が難しい未認証状態でのデータ収集に制限を設けています。
作品の詳細情報取得や検索ではログが保存され、ログを保存しているGoogle BigQueryで解析することで不正な利用をしているアカウントの検知及び対処を行っています。
robots.txtやリファラによる制御
作品画像が意図せず外部サービスに流出することを防ぐため、robots.txtやリファラを用いたアクセス制御を実施しています。これは一般的な慣習に従ったクローラーに対しては有効な手段ですが、不当に大量取得されることを防ぐことはできません。
上記のような対策に加え他にも様々な対策をピクシブでは実施しておりますが、不当な目的のデータ取得リクエストと正当な利用目的のリクエストを完全に区別することは原理上難しく、不当なリクエストを完全に防止するまでには至っていません。
現在進めている取り組み
上記対策に加え、不当な目的での作品大量取得を含む、ピクシブ上で行われる様々な不正行為の防止について、以下のように取り組んでいきます。
データ基盤を用いた不正検知
ピクシブではGoogle BigQuery、Lookerを利用し、全サービスを横断したデータ基盤を構築しています。これらのデータを用いることで、不審なリクエストを繰り返しているアカウントの追跡を行っています。
今後精度・範囲・リアルタイム性といった観点で改善することで、ピクシブ上の様々な不正検知向上に取り組んでいきます。
類似画像検知
ピクシブ上に投稿されている作品と類似するものを自動的に検知するため、類似画像検出に関する技術研究を行っています。pixivではすでにこのような技術の一部を用いてスパムなどの不正に対処するために、過去用いられた不正な画像の投稿を防ぐといった機能が実装されています。
現状の精度ではスパム画像といった不正であることが明らかな画像に対してしか対応できていませんが、これらの技術を向上させることによってその他の用途においても利用できないか検討していきます。
機械学習を用いたモニタリング
ピクシブに投稿される作品については現在モニタリングチームによる監視を行っていますが、速度、精度向上のために機械学習を用いたモデレーションシステムの導入を進めています。モデレーション技術としてはHiveの提供する製品を既に導入していますが、機械学習を用いた検知には技術的な限界があり、多くの回避策もあるため機械的に全ての判断をおこなうことは非常に難しいのが現状です。今後も精度向上のために技術研究をすすめていきます。
上記施策に加え、安心して利用できるプラットフォームをつくるため様々な検討を行っています。前述したとおり、不当な目的のリクエストを完全に防止することは難しく、これらの技術は問題を根本から解決するものではありません。
それぞれの施策の効果は限定的で、いわばいたちごっこになるようなものも多くあります。また、現状において上記対策の全てを完全に導入できている状態ではなく、至らない点も多くあると承知しています。そういった状況であっても、プラットフォームを運営していく上で、効果的と考えられる技術の検証や導入を続けていくことが我々の責務であると考えています。
万能な解決策は存在しませんが、これからもピクシブでは様々な研究開発を行い、安心してご利用頂けるサービスを目指し継続して改善に努めて参ります。