見出し画像

Performance Keeper SDKとジャイロセンサー

菩薩さまです。こんにちは。

前回はPerformance Keeper SDK(以下、PK SDK)の概要についてお話しました。

開発の背景や、とある国内アプリでのアクセス元の国、タイムゾーンの分布などを紹介してるので、是非読んでみてください。
(前回記事:https://note.mu/bosatsuwp/n/nb6c96245199a

今回は、PK SDKで使われている「ジャイロセンサーによる検知機能」について説明していきます。

ジャイロセンサーとは

まず、ジャイロセンサーってなんだ?という方のために、軽く解説を。

ジャイロセンサーは回転や向きなどの“動き”を検知するセンサーで、最近のスマートフォンの多くに搭載され、ゲームや地図などのアプリの補助機能として活用されています。

例えば、社会現象になった『Pokémon GO』では、モンスターとカメラを合成するARで使われているのです。

ジャイロセンサーによる検知

PK SDKでは、このジャイロセンサーを、ユーザーが“一般的に生活している人間”かどうか判断するのに利用しています。ジャイロセンサーから取得したデータで、ユーザー端末の挙動を把握することができるからです。

PK SDKのジャイロを使った検知の一例が、ボットの検知です。

皆さんは、クリックファームの存在をご存知でしょうか?

ラックに設置された大量の端末が自動的にクリックやインストールを繰り返す、そうやって数字を稼ぐ業者のことを指します。
その異様な光景が時折、ネットでバズって話題になるので、聞いたことがある方も多いでしょう。

このようなボットによる(通常利用でない)操作は、ジャイロセンサーの情報を分析すると、通常のユーザーとは異なる傾向が見られます。

検証

実際、ジャイロセンサーから取得したデータが、PK SDKを使うとどのように検出されるのか見てみましょう。

今回はPK SDKのiPhone版で簡単な検証を行いました。

通常利用時、静止時のデータがどのように違うかを確認いただければと思います。

データは、x軸方向、y方向、z軸方向の角速度(rad/s)を定期的に取得しています。

通常使用

下表では、iPhoneの通常利用時と、静止時で取得されるジャイロセンサーの値を示しています。

どちらも同じ周期で取得したデータを表示しています。横におまけで計測時の写真を添えておきます。

通常利用時にはバラバラの値が送られているのに対し、静止時には値の変動はほとんど確認できないことがわかります。

ー通常利用時

ー静止時

ーおまけ

次の表は、菩薩さまが大好きなデスメタルを聴きながら取得したジャイロセンサーの値です。

通常使用時が-1.0~1.0くらいで推移しているのに対して、10以上とか出しちゃって、ほんと、我ながらノッちゃってますね♪

まとめ

このように、PK SDKでは端末のジャイロセンサー情報を収集・分析し、不正ユーザー判定に役立てているのです。実際の判定には機械学習も取り入れ、より早く正確な検出を実現させています。

ジャイロセンサーに限らず、様々な端末情報を掛け合わせて精度の高い不正ユーザー判定を目指し、研究・開発を行っていきますので、皆さま、引き続き応援をよろしくお願いします!

ーーー

※PK SDKで取得するジャイロセンサー情報については、アプリを利用するユーザーの利用許諾を得て、その範囲内で利用しています



この記事が気に入ったらサポートをしてみませんか?