IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グラブタクシー ホールディングス プライベート リミテッドの特許一覧

特許7594000通信サーバ装置およびアブステンションアタック判定方法
<>
  • 特許-通信サーバ装置およびアブステンションアタック判定方法 図1
  • 特許-通信サーバ装置およびアブステンションアタック判定方法 図2A
  • 特許-通信サーバ装置およびアブステンションアタック判定方法 図2B
  • 特許-通信サーバ装置およびアブステンションアタック判定方法 図3A
  • 特許-通信サーバ装置およびアブステンションアタック判定方法 図3B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】通信サーバ装置およびアブステンションアタック判定方法
(51)【国際特許分類】
   G06F 21/00 20130101AFI20241126BHJP
   G06F 21/31 20130101ALI20241126BHJP
【FI】
G06F21/00
G06F21/31
【請求項の数】 19
(21)【出願番号】P 2022513588
(86)(22)【出願日】2019-09-02
(65)【公表番号】
(43)【公表日】2023-01-26
(86)【国際出願番号】 SG2019050436
(87)【国際公開番号】W WO2021045675
(87)【国際公開日】2021-03-11
【審査請求日】2022-08-04
(73)【特許権者】
【識別番号】518236797
【氏名又は名称】グラブタクシー ホールディングス プライベート リミテッド
【氏名又は名称原語表記】GRABTAXI HOLDINGS PTE. LTD.
【住所又は居所原語表記】3 Media Close, #01-03/06, Singapore 138498, Singapore
(74)【代理人】
【識別番号】100137095
【弁理士】
【氏名又は名称】江部 武史
(74)【代理人】
【識別番号】100173691
【弁理士】
【氏名又は名称】高橋 康久
(74)【代理人】
【識別番号】100091627
【弁理士】
【氏名又は名称】朝比 一夫
(72)【発明者】
【氏名】カナガサバイ,プラサンナ
(72)【発明者】
【氏名】パサック,ソメシュ
(72)【発明者】
【氏名】ナラヤナン,スリーカント
【審査官】青木 重徳
(56)【参考文献】
【文献】米国特許出願公開第2011/0086619(US,A1)
【文献】中国特許出願公開第104780178(CN,A)
【文献】Misni Harjo Suwito et al.,Verifiable E-Voting with Resistancce against Physical Forced Abstention Attack,2019 International Workshop on Big Data and Information Security (IWBIS),米国,IEEE,2019年10月11日,p. 85-89
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00
G06F 21/31
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
THE ACM DIGITAL LIBRARY
(57)【特許請求の範囲】
【請求項1】
ユーザ通信装置に関連するアブステンションアタックを判定するための通信サーバ装置であって、前記通信サーバ装置は、プロセッサとメモリとを備え、前記プロセッサの制御下で、前記メモリ内の命令を実行するように構成され、
ハンドシェイクデータを前記ユーザ通信装置に送信し、
定義された期間、ノンスを含むハンドシェイクデータに対応する前記ユーザ通信装置からのハンドシェイクレスポンスを監視し、
前記ハンドシェイクデータに対応する前記ハンドシェイクレスポンスが前記通信サーバ装置によって受信されないまま、前記定義された期間が経過したことに応答し、さらに、前記通信サーバ装置が、前記ユーザ通信装置が前記通信サーバ装置との通信モードにあることを示すイベントの存在を判定することに応答し、
前記アブステンションアタックがあると判定し、
前記アブステンションアタックの判定に応答して、前記通信サーバ装置に関連するサービスへの前記ユーザ通信装置のアクセスを拒否するための終了データを生成することを含む、通信サーバ装置。
【請求項2】
前記アブステンションアタックがあると判定するために、前記通信サーバ装置は、検証データを含むハンドシェイクレスポンスが前記通信サーバ装置によって受信されないまま、前記定義された期間が経過したことに応答し、さらに、前記通信サーバ装置が前記イベントの存在を判定したことに応答して、前記アブステンションアタックがあると判定するように構成される、請求項1に記載の通信サーバ装置。
【請求項3】
前記定義された期間は、2分から10分の間である、請求項1または2に記載の通信サーバ装置。
【請求項4】
前記ハンドシェイクデータを前記ユーザ通信装置に送信する前に、前記通信サーバ装置は、前記ユーザ通信装置にセッショントークンを発行するようにさらに構成される、請求
項1乃至3のいずれか一項に記載の通信サーバ装置。
【請求項5】
前記生成された終了データに応答して、前記通信サーバ装置は、前記セッショントークンを無効化するようにさらに構成される、請求項4に記載の通信サーバ装置。
【請求項6】
前記ハンドシェイクデータを前記ユーザ通信装置に送信する前に、前記通信サーバ装置が前記ユーザ通信装置のユーザを認証することに応答して、前記通信サーバ装置はさらに以下を行うように構成され、
前記ユーザの存在を識別するためのデータを生成し、
前記データを前記通信サーバ装置内の1つまたは複数のデータストアに格納する、請求項1乃至5のいずれか一項に記載の通信サーバ装置。
【請求項7】
前記データは、前記ユーザの存在を識別した時刻を示す時刻データを含む、請求項6に記載の通信サーバ装置。
【請求項8】
前記ハンドシェイクレスポンスが前記定義された期間内に前記通信サーバ装置によって受信されることに応答して、前記通信サーバ装置は、前記ユーザ通信装置が前記通信サーバ装置に関連付けられたサービスにアクセスすることを許可するアクセスデータを生成するようにさらに構成される、請求項6または7に記載の通信サーバ装置。
【請求項9】
請求項8に記載の通信サーバ装置であって、さらに、以下のように構成され、
前記通信サーバ装置によって前記ハンドシェイクレスポンスの受信を示す第2データを生成し、
前記1つまたは複数のデータストアに格納されたデータを前記第2データで更新する、通信サーバ装置。
【請求項10】
ユーザ通信装置に関連するアブステンションアタックを判定するための通信サーバ装置において実行される方法であって、前記方法は、前記通信サーバ装置のプロセッサの制御下で、以下を含み、
ハンドシェイクデータを前記ユーザ通信装置に送信し、
定義された期間、ノンスを含むハンドシェイクデータに対応する前記ユーザ通信装置からのハンドシェイクレスポンスを監視し、
前記ハンドシェイクデータに対応する前記ハンドシェイクレスポンスが前記通信サーバ装置によって受信されないまま、前記定義された期間が経過したことに応答し、さらに、前記通信サーバ装置が、前記ユーザ通信装置が前記通信サーバ装置との通信モードにあることを示すイベントの存在を判定することに応答し、
前記アブステンションアタックがあると判定し、
前記アブステンションアタックの判定に応答して、前記通信サーバ装置に関連するサービスへの前記ユーザ通信装置のアクセスを拒否するための終了データを生成することを含む、方法。
【請求項11】
前記アブステンションアタックがあると判定することは、前記通信サーバ装置によって検証データを含むハンドシェイクレスポンスが受信されないまま、定義された時間が経過したことに応答し、さらに、前記イベントの存在を判定したことに応答して、前記アブステンションアタックがあると判定することを含む、請求項10に記載の方法。
【請求項12】
前記定義された期間は、2分から10分の間である、請求項10または11に記載の通信サーバ装置。
【請求項13】
前記ハンドシェイクデータを前記ユーザ通信装置に送信する前に、前記方法は、前記ユーザ通信装置にセッショントークンを発行することをさらに含む、請求項10乃至12のいずれか一項に記載の方法。
【請求項14】
前記生成された終了データに応答して、前記方法は、前記セッショントークンを無効化することをさらに含む、請求項13に記載の方法。
【請求項15】
前記ハンドシェイクデータを前記ユーザ通信装置に送信する前に、前記ユーザ通信装置のユーザを認証することに応答して、前記方法はさらに以下を実行し、
前記ユーザの存在を識別するためのデータを生成し、
前記データを前記通信サーバ装置内の1つまたは複数のデータストアに格納する、請求項11乃至14のいずれか一項に記載の方法。
【請求項16】
前記データは、前記ユーザの存在を識別した時刻を示す時刻データを含む、請求項15に記載の方法。
【請求項17】
前記ハンドシェイクレスポンスが前記定義された期間内に前記通信サーバ装置によって受信されることに応答して、前記方法は、前記ユーザ通信装置が前記通信サーバ装置に関連付けられたサービスにアクセスすることを許可するアクセスデータを生成することをさらに有する、請求項10乃至16のいずれか一項に記載の方法。
【請求項18】
請求項10乃至17いずれか一項に記載の方法を実施するための命令を含む、コンピュータプログラム。
【請求項19】
プロセッサによって実行されると、前記プロセッサに請求項10乃至17のいずれか一項に記載の方法を実行させる命令を格納する非一時的な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に通信の分野に関するものである。本発明の一態様は、ユーザ通信装置に関連するアブステンションアタック(abstention attack)を判定するための通信サーバ装置に関するものである。本発明の別の態様は、ユーザ通信装置に関連するアブステンションアタックを判定するための方法に関する。
【0002】
本発明の一態様は、ハンドシェイクプロセスにおける応答またはペイロードの受信を判定すること、および/または定義された期間の満了時に適切な応答/ペイロードがない場合に、アブステンションアタックを判定すること、特に(しかし排他的ではない)適用される。
【背景技術】
【0003】
モバイル詐欺は、企業にとって収入減の大きな原因となっている。組織は、モバイルアプリを主要な消費者インタフェースとして使用しているため、このプラットフォームから生成する不正に対処するための確固たる戦略を構築する必要がある。
【0004】
不正防止システムが組織で採用されているが、悪意のある行為者のシステムの理解と対策スキルが進むにつれて、「アブステンション」アタックが増加している。アブステンションアタックとは、不正防止システムに関連するデータ収集作業に参加しないことで、不正防止システムの制御を回避する方法である。これらは、例えば、次のような複数の形態をとることができる。
-攻撃者が、データ収集を停止するようなアプリケーションの改変を行う。
-攻撃者が、データディスパッチルーチンが停止されるような方法でアプリケーションを変更する。
-攻撃者が、サーバへの通信チャンネルを操作し、特定のデータの出入りを別の場所に振り向けたり、切断したりして、目的のサーバへのパケットを完全に損失させる。
【0005】
この攻撃は、クライアント側にもバリエーションがあるものの、サーバ側で観察される症状は、データ収集の実行に関して詐欺師からの連絡がないことである。
【0006】
不正防止ソリューションは、監視することが困難であるため、アブステンションプロブレムを無視している。製品会社は、すべてのコンポーネントを制御しない限り解決できない複雑な問題であるため、これを無視している。一般的に、サーバへのペイロードは常に送信されるという前提があり、一旦この障壁が破られると、システムはこの状況を検知または修復する方法を提供しない。このような場合、詐欺師は検知を回避したにも関わらず、サービスとの通信を継続し、正常な機能を受け取ることになる。典型的な詐欺のタイプとしては、位置情報を詐称したり、サービス提供者のアプリ(Application)を改変して、例えば旅行関連のサービスや乗り物など、その人に合った特定の選択肢(サービスなど)を選び、サービス提供者に金銭的損失を与えるようなものが考えられる。
【0007】
したがって、少なくとも上記のような問題点を解決することが望ましい。
【発明の概要】
【課題を解決するための手段】
【0008】
本発明の態様は、独立請求項に記載されたとおりである。いくつかの任意の特徴は、従属項に定義されている。
【0009】
本明細書に開示された技術の実装は、大きな技術的利点を提供し得る。これらは、通信サーバ装置がユーザ通信装置にハンドシェイクデータを送信すること(それに応答してハンドシェイクレスポンス/ペイロードを期待し、通常の状況ではハンドシェイクデータに対応する)、定義された期間の満了時にユーザ通信装置から適切な応答/ペイロードが受信されていない場合に、ユーザ通信装置に関連するアブステンションアタックが存在すると判定し、その後ユーザ通信装置による通信サーバ装置または通信サーバ装置に関連するサービスへのアクセスをブロックできる終了データを生成すること、を含んでもよい。
【0010】
少なくともいくつかの実装では、本明細書に開示される技術は、通信サーバ装置またはそれに関連するサービスへのアクセスを得るために古い通信または応答が再利用されるのを防ぐことによって、リプレイ攻撃を回避できるようにユーザ通信装置に送信される(例えば、ハンドシェイクデータに含まれる)ノンス(nonce)を提供し得る。
【0011】
少なくともいくつかの実装では、本明細書に開示された技術は、ユーザ通信装置から適切な応答がない場合に、アブステンションアタックのフラグが立てられ得る適切な時間枠または期間を実装することによって、潜在的なネットワークの問題、例えば、遅いネットワーク接続に対するバッファを可能にし得る。
【図面の簡単な説明】
【0012】
次に、本発明を例としてのみ、添付の図面を参照しながら説明する。
図1図1は、通信サーバ装置を含む例示的な通信システムを示す概略ブロック図である。
図2A図2Aは、ユーザ通信装置に関連するアブステンションアタックを判定するための通信サーバ装置を示す概略ブロック図である。
図2B図2Bは、ユーザ通信装置に関連するアブステンションアタックを判定するための通信サーバ装置において実行される方法を示すフローチャートである。
図3A図3Aは、良性アプリフローシーケンスを示す模式図である。
図3B図3Bは、アブステンションアプリフローシーケンスを示す模式図である。
【0013】
様々な実施形態は、例えば、分散型モバイル不正防止ネットワークに対するアブステンションアタックを検知および防止する装置および方法論に関連し得る。
【0014】
様々な実施形態は、モバイルシステムにおける不正チェックに関するものであってもよい。データを収集し、収集したデータを集中処理システムまたは分散処理システムに安全に送信するための「エージェント」のように動作するモバイルデバイス(または通信装置)上のコンポーネントを必要とする不正検知システムが提供され得る。収集されるデータには、サーバとの通信に使用されるアプリケーション(App)が変更されているかどうかを検知するためのアプリケーションチェックサム、デバイスがルート化/脱獄されているかどうかをチェックするためのセンサー情報、および作成されるDeviceIDが含まれるが、これらに限定されない。エージェントは、改ざんされにくいように、Appよりも安全性を高めてもよい。エージェントは、例えば、自身を保護するためのプロテクションを備えたC++コードの一部であってもよい。
【0015】
様々な実施形態において、モバイルシステムは、システム上のユーザを認証し、システムへのアクセスが許可され、システムは、ユーザの存在をデータストアに記録してもよい。不正チェックの目的のために、ログイン/認証プロセスとは別に、不正検知システムは、ユーザとのハンドシェイクを開始し、事実上ハンドシェイク招待であるものを送信する。不正検知システムは、好ましい配置で、ユーザのデバイス上のエージェントからのいくつかのデータを含むハンドシェイクレスポンスの受信を監視する。良識のあるユーザはハンドシェイクレスポンスを返し、そのレスポンスの受信が検知される。好ましい配置で、レスポンス、または少なくともレスポンスが受信されたという事実が、データストアに記録される。悪意のあるユーザは、一般的にレスポンスの送信を回避しようとする。ハンドシェイクレスポンスが特定の時間枠内に検知されない場合、そのユーザは潜在的に悪意のある行為者として識別され、そのユーザのシステムアクセスは取り消される。
【0016】
効果的に、ハンドシェイクの開始は、好ましくは、デバイス上の「エージェント」からの情報またはいくつかのデータとともに、システムが期待することができる特定のまたは定義された応答を求めるために役立つ場合がある。すべての正常な、または悪意のないクライアント(またはユーザ)は、デバイスからのデータ(例えば、アプリが変更されていないかどうかをチェックするためのチェックサム、デバイスがルート化/脱獄されているかどうかをチェックするためのデータなど)でレスポンスすることが期待される。悪意のある行為者は、ハンドシェイクレスポンスの送信を避けようとするので、システムは「ペイロード」(例えば、エージェントからのデータ)をシステムに送信する行為者側の不本意な姿勢を効果的に検知することができる。
【0017】
アブステンションアタックがあると判定または検知されると、(ユーザ通信装置を介した)悪質な行為者からの通信は終了してもよく、または悪質な行為者からのすべてのセッション(例えば、1つまたは複数の(マイクロ)サービスで開始)は終了またはドロップされてもよい。効果的に、悪質な行為者はシステムから退去させられてもよい。
【0018】
本技術は、アブステンションアタックを検知するために、異なるシステム間の時間拘束型ハンドシェイクプロセスを実装してもよい(これは、以下でさらに詳細に説明される)。アブステンションアタックが検知されると、システムは、ユーザが任意のマイクロサービスと保持するアクティブセッションを終了させることによって、そのような悪意あるまたは悪意のある行為者(またはユーザ)を退去させることができる。本技術は、以下のうちの1つまたは複数を提供してもよい。
(i)例えば、モバイル不正防止分野など、これまで無視されてきた問題に対処する。
(ii)(例えば、ネットワーク接続の遅さなどによる)誤検知の補正を可能にするために、異なるパラメータの微調整が可能な柔軟な設計。
(iii)取り組んでいる特定の問題に対して100%に近い検知率であること。これは、技術やシステムが、悪質な行為者を見落としたり、悪質なユーザを検知できなかったりするのとは対照的に、誤検知を返す可能性があるという状況を指す。
【0019】
柔軟な設計という点では、タイミングパラメータの調整、および/または任意の段階で不正チェックを行う柔軟性を含んでいてもよい。例えば、アブステンションアタックのチェックの前に定義された期間は、処理およびデータ移動時間における潜在的な遅延を考慮してもよい。さらに、行為者/ユーザが他のサービス(複数可)に取り組んでいるが、ハンドシェイクプロセスで必要なセキュリティペイロードを送信しなかったかどうかのチェックがあってもよく、これは攻撃の明確な兆候であり、ユーザに対してアクションが取られることになる。
【0020】
まず、図1を参照すると、様々な実施形態で適用可能な通信システム100が図示されている。通信システム100は、通信サーバ装置102と、第1ユーザ(またはクライアント)通信装置104と、第2ユーザ(またはクライアント)通信装置106とを含む。これらの装置102、104、106は、例えばインターネット通信プロトコルを実装するそれぞれの通信リンク110、112、114を介して、通信ネットワーク108(例えばインターネット)内またはそれに接続される。通信装置104、106は、モバイルセルラー通信ネットワークを含む公衆交換電話網(PSTNネットワーク)などの他の通信ネットワークを介して通信することができるかもしれないが、これらは、明確にするために図1では省略されている。装置104、106と同様の他の通信装置が1つ以上存在してもよいことを理解されたい。
【0021】
通信サーバ装置102は、ユーザ通信装置(例えば、104および/または106)に関連するアブステンションアタックを判定するためのものであってもよい。
【0022】
通信サーバ装置102は、図1に模式的に示されるように単一のサーバであってもよいし、通信サーバ装置102によって実行される機能が複数のサーバコンポーネントに分散されていてもよい。図1の例では、通信サーバ装置102は、1つ以上のマイクロプロセッサ(μP)116、実行可能命令120をロードするためのメモリ118(例えば、RAM(ランダムアクセスメモリ)等の揮発性メモリ)、実行可能命令120はサーバ装置102がプロセッサ116の制御下で実行する機能を定義するなど(ただしこれだけに限定されない)多数の個別コンポーネントを含んでいてもよい。通信サーバ装置102は、サーバ装置102が通信ネットワーク108を介して通信することを可能にする入力/出力(I/O)モジュール122を含んでいてもよい。ユーザインタフェース(UI)124は、ユーザ制御のために提供され、例えば、ディスプレイモニタ、コンピュータキーボードなどの1つ以上のコンピューティング周辺装置を含んでもよい。通信サーバ装置102はまた、データベース(DB)126を含んでもよく、その目的は以下の議論から容易に明らかとなるであろう。
【0023】
ユーザ通信装置104は、1つ以上のマイクロプロセッサ(μP)128、実行可能命令132をロードするためのメモリ130(例えば、RAMなどの揮発性メモリ)、実行可能命令132がプロセッサ128の制御下でユーザ通信装置104が実行する機能性を定義するなど(ただし、これに限定されない)の多数の個別コンポーネントを含んでいてもよい。ユーザ通信装置104はまた、ユーザ通信装置104が、通信ネットワーク108を介して通信することを可能にする入力/出力(I/O)モジュール134を含む。ユーザインタフェース(UI)136は、ユーザ制御のために提供される。ユーザ通信装置104が、例えば、スマートフォンやタブレット端末である場合、ユーザインタフェース136は、多くのスマートフォンや他の携帯端末に普及しているようなタッチパネルディスプレイを有していてもよい。あるいは、ユーザ通信装置104が例えばデスクトップまたはラップトップコンピュータである場合、ユーザインタフェースは、例えばディスプレイモニタ、コンピュータキーボード等の1つまたは複数のコンピューティング周辺装置を備えていてもよい。
【0024】
ユーザ通信装置106は、例えば、ユーザ通信装置104と同一または類似のハードウェアアーキテクチャを有するスマートフォンやタブレット端末であってもよい。
【0025】
図2Aは、ユーザ通信装置に関連するアブステンションアタックを判定するための通信サーバ装置202を示す概略ブロック図である。通信サーバ装置202は、プロセッサ216とメモリ218とを備え、通信サーバ装置202は、プロセッサ216の制御下で、メモリ218内の命令を実行し、ハンドシェイクデータ238をユーザ通信装置に送信し、定義された期間、ハンドシェイクデータ238に対応するユーザ通信装置からのハンドシェイクレスポンスを監視し、ハンドシェイクデータ238に対応するハンドシェイクレスポンスが通信サーバ装置202によって受信されないまま、定義した期間が経過したことに応答し、さらに、通信サーバ装置202が、ユーザ通信装置が通信サーバ装置202との通信モードにあることを示すイベントの存在を判定することに応答して、アブステンションアタックがあると判定し、アブステンションアタックの判定に応答して、通信サーバ装置202に関連するサービスへのユーザ通信装置のアクセスを拒否するための終了データ239を生成することを特徴とする。プロセッサ216とメモリ218は、(線2179で表されるように)互いに結合されてもよく、例えば、物理的に結合され、および/または電気的に結合されてもよい。プロセッサ216は、プロセッサ116(図1)の文脈で説明されたとおりであってもよく、および/または、メモリ218は、メモリ118(図1)の文脈で説明されたとおりであってもよい。
【0026】
すなわち、通信サーバ装置202が提供されてもよい。通信サーバ装置202は、ユーザ通信装置(例えば、104、106、図1)に関連する、またはユーザ通信装置から発信されるアブステンションアタックを検知するように構成されてもよい。ユーザ通信装置のユーザは、例えば、通信サーバ装置202に関連する、または通信サーバ装置202によって提供される1つまたは複数の(マイクロ)サービスへのアクセスを得ようとしてもよい。通信サーバ装置202は、ユーザ通信装置によって受信されるようにハンドシェイクデータ238を送信してもよい(例えば、通信サーバ装置202は、ハンドシェイクプロセスの一部としてハンドシェイクデータ238を送信してもよく、または通信サーバ装置202は、ハンドシェイクデータ238を送信することによってハンドシェイクプロセスを開始させてもよい)。その後、通信サーバ装置202は、ハンドシェイクデータ238に応答して、ユーザ通信装置からのハンドシェイクレスポンス(例えば、ペイロードであってもよいし、ペイロードを含んでいてもよい)を、規定(または所定)の期間、監視してもよい。ハンドシェイクレスポンスは、ハンドシェイクデータ238に固有のものであってもよい。ハンドシェイクレスポンスは、ハンドシェイクプロセスの一部として、ユーザ通信装置によって通信サーバ装置202に送信されてもよい。
【0027】
様々な実施形態において、ハンドシェイクデータ238は、通信サーバ装置202がユーザ通信装置のユーザを認証することに応答して、または認証プロセスの後の任意の時間に、ユーザ通信装置に送信されてもよい。
【0028】
通信サーバ装置202がハンドシェイクデータ238に対応するユーザ通信装置からのハンドシェイクレスポンスを受信することなく、定義された期間(または一定の期間)が経過(passed)または経過(elapsed)した場合(すなわち、満了)、さらに、通信サーバ装置202がイベント(例えば、通信サーバ装置202は、ユーザ通信装置が通信サーバ装置202との通信モードにあることを示すイベント(通信イベントまたはネットワークイベント)の存在(presence)(または存在(existence))を判定したことに応答して、アブステンションアタックが発生したと判定してもよく、それに続いて、通信サーバ装置202はユーザ通信装置による通信サーバ装置202に関連するサービス(例えば、マイクロサービス)へのアクセスをブロックするために終了データ239を生成することができる。通信サーバ装置202に関連する1つまたは複数のまたはすべての(マイクロ)サービスへのユーザ通信装置によるアクセスは拒否されてもよい。終了データ239は、立ち退き決定(eviction verdict)または通知を含んでいてもよいし、それを示してもよい。
【0029】
より詳細には、定義された期間の満了前に、ハンドシェイクデータ238に対応するユーザ通信装置から通信サーバ装置202によって適切な応答が受信されない場合、通信サーバ装置202は、ユーザ通信装置が通信サーバ装置202との通信モードにあることを示すイベントが存在し得るか否か、すなわちユーザ通信装置が通信サーバ装置202との通信状態にあり得るか否か、通信サーバ装置202と通信できる状態にあるか否かを判定し得る。そのようなイベントがあると判定された場合、通信サーバ装置202は、そのようなイベントの存在と、ユーザ通信装置からのハンドシェイクデータ238に対応するハンドシェイクレスポンスの欠如とを組み合わせて、ユーザ側の悪意またはアブステンションアタックを示すと認識し得るため、終了データ239を生成して通信サーバ装置と関連するサービスへのアクセスを拒否するよう進行する。
【0030】
ハンドシェイクデータ238に対するハンドシェイクレスポンスには、時間的要因が関与するため、したがって、時間的制約のあるハンドシェイクプロセスが提供される。
【0031】
アブステンションアタックがあるという判定は、そのような攻撃があると判定する能動的なステップであってもよいし、その判定は、定義された期間内にハンドシェイクデータ238に対応するハンドシェイクレスポンスがないこととイベントの存在との組み合わせから得られる結果または結論としてフォロースルー処理であることを理解されたい。
【0032】
ユーザ通信装置が通信サーバ装置202との通信モードにあることを示すイベントは、以下のうち少なくとも1つを含みうるが、これらに限定されない。(i)ユーザ通信装置と通信サーバ装置202との間で、例えば、通信サーバ装置202に関連する(または通信サーバ装置202によって提供される)1つ以上の他のサービスに関連して継続的に通信すること、(ii)ユーザ通信装置が通信サーバ装置102またはそれに関連するサービスにアクセスしようとすることをさらに試みること、または通信サーバ装置202と通信することを試みること、(iii)ユーザ通信装置が、通信サーバ装置202のゲートウェイに呼び出しをかけること、(iv)ユーザ通信装置がネットワーク電話をチェックする、(v)オープンTCP(送信制御プロトコル)コネクションを有すること。オープンな通信/コネクションの有無のチェックはサーバ装置で行ってもよく、特定のユーザが(ハンドシェイク)チャレンジに応答するよう求められたが、応答していないことが分かっており、APIに対して行われた呼び出しに対して同じ認証トークンが送信された場合、これをトリガとしてサーバで検知してもよい。
【0033】
非限定的な例として、ユーザ通信装置から全く応答がないこと(例えば、ユーザが応答の送信を回避する場合)、またはハンドシェイクデータ238に応答してユーザが送信する応答が適切な応答でない、または期待される応答でないことがあり、例えば、応答が以下の少なくとも1つを示すユーザ通信装置からのデータを含み得る場合、このようなことがあり得る。(i)ハンドシェイクレスポンスを送信するための(ユーザ通信装置上の)エージェントが修正されたか、または侵害されたこと、(ii)通信サーバ装置202と通信するために使用されているApp(アプリケーション)が修正されたか、または侵害されたこと、または(iii)ユーザ通信装置(またはそのオペレーティングシステム)が修正されたか、または侵害されたこと。ユーザ通信装置上の「エージェント」は、ユーザ通信装置上に常駐するコードまたは命令のセットを指す場合がある。
【0034】
様々な実施形態の文脈において、通信サーバ装置202は、定義された期間の開始時刻を設定し、および/または開始時刻を示すデータを(例えば、1つまたは複数のデータストアに)格納してもよい。開始時刻は、ユーザ通信装置のユーザの存在が識別される時刻に対応してもよい。
【0035】
様々な実施形態の文脈において、通信サーバ装置202に関連するサービスまたはマイクロサービスは、ログイン、ロギング、ビジネスロジック(複数)などを含んでもよい。
【0036】
様々な実施形態の文脈において、ユーザ通信装置へのハンドシェイクデータ238の送信および応答の監視は、通信サーバ装置202の不正判定ネットワーク(FDN:fraud decision network)によるものであってもよい。終了データ239の生成は、FDNによるものであってもよい。
【0037】
様々な実施形態において、アブステンションアタックがあることを判定するために、通信サーバ装置202は、検証データ(ハンドシェイクデータ238に対応する)を有するハンドシェイクレスポンスが通信サーバ装置202によって受信されない定義された期間の満了に応答し、さらに、通信サーバ装置202がイベントの存在を判定することに応答して、アブステンションアタックがあることを判定するように構成されてもよい。検証データは、ユーザ通信装置上のエージェントからのものであってもよい。検証データは、ユーザ通信装置の状態または条件、および/またはユーザ通信装置のユーザが通信サーバ装置202と通信するために使用するアプリケーション(App)の状態、例えば、Appが修正されたかどうか、および/またはユーザ通信装置がルート化または脱獄を受けたかどうかを示すデータを含んでいてもよい。このようなデータの例としては、Appが修正されているかどうかを確認するためのチェックサム、デバイスがルート化/脱獄されているかどうかに関するデータなどを挙げることができる。
【0038】
様々な実施形態において、ハンドシェイクデータ238は、ノンス(nonce)を含んでいてもよい。用語「nonce」は、認証の目的で(1回だけ)使用できるコード、文字、数値、または値を指す場合がある。ノンスは、暗号通信で使用されてもよく、通信サーバ装置202にのみ知られる(例えば、サーバ装置202の一部を形成するFDNにのみ知られる)特定のまたは定義された秘密鍵によって暗号化されてもよい。ノンスに対応する情報は、通信サーバ装置202内(例えば、FDN内)に格納されてもよい。ノンスは、ユーザ通信装置上のエージェントに送信されてもよい。ノンスを使用すると、古い通信または応答が再利用されないように、リプレイアタックを回避することができる。
【0039】
ハンドシェイクデータ238がノンスを有する状態で、検証データ(ハンドシェイクレスポンスとともに送信される)は、通信サーバ装置202によって送信されたノンスに対応する署名または応答ノンスを含んでいてもよい。
【0040】
様々な実施形態の文脈において、定義された期間は、約2分から約10分の間、例えば、約2分から約8分の間、約2分から約6分の間、約2分から約5分の間、約5分から約10分の間、約5分から約8分の間、または約3分から約6分の間、例えば、約2分、約3分、約5分(好ましくは)、約6分、約8分または約10分であってよい。
【0041】
様々な実施形態において、ハンドシェイクデータ238をユーザ通信装置に送信する前に、通信サーバ装置202は、ユーザ通信装置にセッショントークンを発行するようにさらに構成されてもよい。セッショントークンは、ユーザを識別しまたは認証を証明するために機能してもよい。セッショントークンは、通信サーバ装置202がユーザ通信装置のユーザを認証することに応答して発行されてもよい。
【0042】
様々な実施形態の文脈において、ユーザ通信装置のユーザを認証するために、通信サーバ装置202は、ユーザのアイデンティティを示す1つ以上のデータフィールドを有するユーザデータを(ユーザ通信装置から)受信することに応答して、ユーザデータに基づいてユーザを認証するように構成されてもよい。ユーザデータは、ユーザに関連するユーザIDおよびパスワードを含んでもよい。
【0043】
セッショントークンは、通信サーバ装置202に関連するすべての(マイクロ)サービスに対して有効であってもよい。
【0044】
セッショントークンは、通信サーバ装置202のIDP(identity provider)モジュールによって発行されてもよい。
【0045】
様々な実施形態の文脈において、IDPおよびFDNは、通信サーバ装置202上で動作するコードのセットまたは断片である。IDPとFDNは、互いに異なるか別々であってもよく、1つのモジュールに含まれていてもよい。
【0046】
様々な実施形態において、生成された終了データ239に応答して、通信サーバ装置202は、セッショントークンを無効化する(または取り消す)ようにさらに構成されてもよい。言い換えれば、通信サーバ装置202は、ユーザ通信装置による通信サーバ装置202に関連するサービスへのアクセスをブロックするために、セッショントークンの失効を引き起こしてもよい。セッショントークンは、FDNによって発行された立ち退き決定または通知に応答して、IDPモジュールによって無効化されてもよい。
【0047】
ハンドシェイクデータ238をユーザ通信装置に送信する前に、そして通信サーバ装置202がユーザ通信装置のユーザを認証することに応答して、通信サーバ装置202は、ユーザの存在を識別するデータを生成し、データを通信サーバ装置202内の1つ以上のデータストア(例えば、データストアは分散ハッシュテーブルであってもよい)に格納するようにさらに構成されてもよい。非限定的な例として、データは、定義された「キー」と、キーに関連する定義された値(例えば、Null値)とを含んでもよい。1つ以上のデータストアまたは分散ハッシュテーブル(複数可)は、FDNの一部であってもよい。
【0048】
データは、ユーザの存在を識別した時刻を示す時刻データを含んでいてもよい。
【0049】
様々な実施形態において、ハンドシェイクレスポンス(ハンドシェイクデータ238に対応する)が定義された期間内に通信サーバ装置202によって受信されることに応答して、通信サーバ装置202は、ユーザ通信装置が通信サーバ装置202に関連付けられたサービスにアクセスできるようにアクセスデータを生成するようにさらに構成されていてもよい。応答は、検証データを含んでいてもよい。検証データは、ハンドシェイクデータ238の一部として通信サーバ装置202によって送信されたノンスに対応する署名または応答ノンスを含んでいてもよい。
【0050】
通信サーバ装置202は、通信サーバ装置202によるハンドシェイクレスポンスの受信を示す第2データを生成し、1つまたは複数のデータストアに格納されているデータを第2データで更新するようにさらに構成されていてもよい。非限定的な例として、第2データは、定義された「キー」に関連する第2の定義された値(例えば、非Null値)を含んでもよい。
【0051】
非限定的な例として、ハンドシェイクレスポンスは、定義された期間内の任意の時間に受信されてもよい。ハンドシェイクレスポンスが定義された期間内に受信された場合、ユーザは、例えば、ルックアップリストから削除されてもよい。定義された期間の終了時に、ハンドシェイクレスポンスを送信していない任意のユーザは、悪意のある可能性が高いとみなされ、さらなるチェックの後、ユーザは、例えば、削除または追い出しなどの対処を受ける可能性がある。
【0052】
様々な実施形態の文脈において、通信サーバ装置202は、単一のサーバであってもよいし、通信サーバ装置202によって実行される機能が複数のサーバコンポーネントにわたって分散されていてもよい。
【0053】
様々な実施形態の文脈において、「アプリ」または「アプリケーション」は、ユーザ通信装置にインストールされてもよく、デバイス上で実行するためのプロセッサ実行可能命令を含んでいてもよい。非限定的な例として、ユーザ通信装置のユーザは、Appを介して通信サーバ装置202と通信すること、または通信サーバ装置202に関連する(または提供される)サービスにアクセスすることを試みてもよい。
【0054】
図2Bは、ユーザ通信装置に関連するアブステンションアタックの判定のために通信サーバ装置で実行される方法を示すフローチャート240である。
【0055】
242で、ハンドシェイクデータをユーザ通信装置に送信する。
【0056】
244で、定義された期間の間、ハンドシェイクデータに対応するユーザ通信装置からのハンドシェイクレスポンスを監視する。
【0057】
ハンドシェイクデータに対応するハンドシェイクレスポンスが通信サーバ装置によって受信されないまま、定義された期間が経過したことに応答し、さらに、ユーザ通信装置が通信サーバ装置との通信モードにあることを示すイベントの存在を判定することに応答して、246において、アブステンションアタックがあると判定し、248において、アブステンションアタックの判定に応答して通信サーバ装置に関連するサービスへのユーザ通信装置のアクセスを拒否するための終了データを生成する。
【0058】
246において、検証データを含むハンドシェイクレスポンスが通信サーバ装置によって受信されないまま、定義された期間が経過したことに応答して、さらに、イベントの存在を判定したことに応答して、アブステンションアタックがあると判定されてもよい。
【0059】
242で、ノンスを含むハンドシェイクデータは、ユーザ通信装置に送信されてもよい。
【0060】
様々な実施形態において、定義された期間は、約2分から約10分の間、例えば、約2分から約8分の間、約2分から約6分の間、約2分から約5分の間、約5分から約10分の間、約5分から約8分の間、または約3分から約6分の間、例えば、約2分、約3分、約5分(好ましくは)、約6分、約8分または約10分であってもよい。
【0061】
242で、ハンドシェイクデータをユーザ通信装置に送信する前に、本方法は、ユーザ通信装置にセッショントークンを発行することをさらに含んでもよい。
【0062】
生成された終了データに応答して、本方法は、セッショントークンを無効化することをさらに含んでもよい。
【0063】
242で、ハンドシェイクデータをユーザ通信装置に送信する前に、およびユーザ通信装置のユーザの認証に応答して、方法は、ユーザの存在を識別するためのデータを生成することと、データを通信サーバ装置内の1つまたは複数のデータストアに格納することとをさらに含んでいてもよい。
【0064】
データは、前記ユーザの存在を識別した時刻を示す時刻データを含んでもよい。
【0065】
ハンドシェイクレスポンスが定義された期間内に通信サーバ装置によって受信されることに応答して、アクセスデータは、ユーザ通信装置が通信サーバ装置に関連付けられたサービスにアクセスすることを可能にするために生成されてもよい。
【0066】
通信サーバ装置によるハンドシェイクレスポンスの受信を示す第2データが生成されてもよく、1つまたは複数のデータストアに格納されたデータは、第2データで更新されてもよい。
【0067】
通信サーバ装置202の文脈における説明は、それに対応して、フローチャート240の文脈で説明されるような方法に関連して適用され得ることを理解されたい。
【0068】
通信サーバ装置102の文脈における記述は、通信サーバ装置202との関係においても相応に適用可能であることを理解されたい。
【0069】
様々な実施形態の文脈において、ユーザ通信装置は、スマートフォン、タブレット、ハンドヘルド/ポータブル通信装置、デスクトップまたはラップトップコンピュータ、端末コンピュータなどを含むことができるが、これらに限定されない。
【0070】
また、本明細書に記載されるようなユーザ通信装置に関連するアブステンションアタックの判定方法を実施するための命令を有するコンピュータプログラム製品が提供され得る。
【0071】
また、本明細書に記載のユーザ通信装置に関連するアブステンションアタックの判定方法を実施するための命令を有するコンピュータプログラムも提供され得る。
【0072】
プロセッサによって実行されると、プロセッサに、本明細書に記載のユーザ通信装置に関連するアブステンションアタックの判定方法を実行させる、命令を格納する非一時的記憶媒体がさらに提供され得る。
【0073】
次に、様々な実施形態または技術について、さらに詳細に説明する。
【0074】
本明細書に開示された技術は、IDP(Identity provider)、FDN(Fraud Decision Network)、およびユーザデバイス上のエージェントというシステムまたはモジュール間の時間拘束型ハンドシェイクプロセスの実装を含むことができる。
【0075】
IDPはログインを担当することがあるので、IDPはゲートウェイとして機能することができる。
【0076】
図3Aは、良性Appフローシーケンスを示す模式図350aであり、図3Bは、アブステンションAppフローシーケンスを示す模式図350bである。
【0077】
まず、図3Aを参照すると、ユーザ通信装置352aがセッショントークン発行用IDP354に接続することから処理が始まる(1、図3Aの同番号(丸印)の方向矢印に対応)。IDP354は、ユーザを認証してユーザを特定し(認証が有効であれば、ユーザの特定につながる)、セッショントークンを発行してもよく(2)、この行為者やユーザのネットワーク上の存在を分散ハッシュテーブル356に記録してもよい(3)。ハッシュテーブル356は、現在、キーを記録しているかもしれないが、キー値の組に対してNull値を割り当てて、行為者が検証を保留してネットワーク上に存在していることを示すかもしれない。このイベントのタイムスタンプは、境界確認のために記録され、追跡されてもよい。
【0078】
IDPセッショントークンまたはセッション・クッキーは、JWT(JSON Web Token)の形式を含む、認証を識別するための任意のタイプであってもよい。トークンは、認証を証明するために必要とされてもよく、バックグラウンドへのすべての要求で必要とされてもよい。
【0079】
IDPセッショントークンは、バックエンドのすべての(マイクロ)サービスに対して有効であってもよい。
【0080】
不正判定ネットワーク(FDN)358は、行為者の存在を感知し(4)、今度はFDN358にのみ知られている特定の秘密鍵によって暗号化された暗号ノンスを発行してもよい(5)。ノンスは、応答として装置352a上の特定のエージェントに送信される。様々な実施形態において、ユーザ/行為者がログインするとき、IDP354は、行為者の存在をFDN358に通知してもよい。FDN358は、ユーザに関連する情報、およびノンス情報を記憶してもよい。
【0081】
行為者に悪意がない場合、エージェントは応答ペイロードとともにこの署名付きノンスをサーバ(すなわちFDN358)に送り返す(6)。このレスポンスは、対応するキーの値として、ユーザのアイデンティティに対して分散ハッシュテーブル356に記録される(7)。ノンスの必要性は、不正行為者が以前の応答ペイロードをコピーして同じものをFDN358に送ることができるリプレイ攻撃を回避するためである。その後、装置352aが所望のサービスにアクセスすることを可能にするプロセスが継続される。
【0082】
ノンスは、FDN358からクライアント装置352aに送信されるメッセージ認証コードであってもよいし、これを含んでいてもよい。戻り署名付きノンスについては、同じメッセージが、クライアント352aからペイロードの一部としてFDN358に戻されることが期待される。これは、ペイロードが特定の時間に生成され、(例えば、以前の応答またはペイロードを使用して)「再生」されないことを確認するためである。
【0083】
同じメッセージが、ペイロードの一部として、クライアント352aによってFDNに返されることが期待される。
【0084】
分散ハッシュテーブル356は、FDN358とは別に示されているが、分散ハッシュテーブル356は、FDN358の一部であってもよいことを理解されたい。
【0085】
データを格納するために、1つまたは複数の分散ハッシュテーブル(例えば、各々が分散ハッシュテーブル356と類似している)が提供されてもよいことを理解されたい。
【0086】
IDP354とFDN358は、通信サーバ装置上、例えば、同一サーバ上に常駐している。IDP354とFDN358は、通信サーバ装置で実行されるコードの一部である。IDP354とFDN358は、異なるモジュールであってもよいし、1つのモジュールであってもよい。
【0087】
次に、図3Bを参照すると、(1)~(5)は、図3Aのものと同様であるので、その説明を省略する。ユーザ通信装置352b上のエージェントが変更された場合(例えば、応答またはペイロードの送信を停止するように変更された場合)、または行為者/ユーザがペイロードの送信を回避しようとした場合、アブステンションAppからの応答がない場合(6)、FDN358はタイマー359が満了するまで待機する(7)。タイマー359の満了は、ペイロードが受信されることなく一定の時間期間が経過したこと、または経過したことを意味する。非限定的な例として、タイマー359の満了まで5分の時間継続があり得る。FDN358は、IDP354が行為者の存在を通知した時刻を、タイマー359の基準または根拠として記憶してもよい。
【0088】
すべての正常なまたは悪意のないクライアント(またはユーザ)は、デバイスからのデータで応答することが期待される。悪意のある行為者のみが応答(またはペイロード)を送信しないであろうし、応答を送信する行為の省略はFDN358で検知される。
【0089】
タイマー359の満了後、FDN358は次に、行為者/ユーザからの1つ以上のネットワークイベントの存在を確認してもよく、それはネットワークコールまたはオープンTCP接続を確認する形態であり得る。別のネットワークイベントは、マイクロサービスのメッシュ内の他のサービスへのアクティブな接続がまだ存在することをFDN358が決定するところであってもよい。これは、例えば、エコシステム内のすべてのマイクロサービスへのゲートウェイとして機能し得るAPI G/W(Application Programming Interface Gateway)を見ることによって行われてもよい。様々な実施形態において、API G/Wは、すべてのAPIコールに対するゲートウェイのように機能するソフトウェアコンポーネントであってもよい。G/Wへの呼び出しの存在は、一定時間後に悪意があることを示すものであってもよい。
【0090】
アクティブなネットワークイベントが検知され、分散ハッシュテーブル356上のキーに対するNull値によって示される行為者からのペイロード応答がなかった場合(8)、FDN358はこの特定の行為者に対して立ち退き決定を発行する(9)。次に、IDP354は、立ち退き決定に基づいてアクションし、セッショントークンを取り消す(または期限切れにする)ことによって、現在のセッション(バックエンドのすべての(マイクロ)サービスに対して有効)を無効化することによって、ネットワークから行為者を削除することができる(10)。非限定的な例として、セッショントークンは、セッションの有効性を有し、これは、ユーザ装置352bによって呼び出しが行われるたびにチェックされてもよい。サーバ上でトークンのセッションが無効化されると、次にユーザがユーザ装置352bを介して、通信を行ったときに、セッショントークンがもはや有効ではないと判定されるので、セッションが終了される。
【0091】
効果的に、ユーザまたは行為者が必要なペイロードを送信していないが、システム内に存在または利用可能なままである場合、アブステンションアタックが検知される場合がある。
【0092】
様々な実施形態において、ログインの総数および受信したペイロードの数を追跡してもよい。これらの数は、理想的には、等しいはずであるが、ネットワークの問題による損失があり得る。しかし、受信したペイロードの数がログインの数に比べて低すぎる場合、行為者/ユーザをログアウトさせるための措置がとられてもよい。
【0093】
以上のように、本明細書で開示される技術は、例えば、モバイル不正防止ネットワークにおけるアブステンションアタックに対処または解決する方法論を提供し得る。
【0094】
本発明は、例としてのみ記載されていることが理解されるであろう。添付の特許請求の範囲の精神および範囲から逸脱することなく、本明細書に記載された技術に様々な変更を加えることができる。開示された技術は、単独で提供されてもよいし、互いに組み合わせて提供されてもよい技術からなる。したがって、ある技術に関して説明した特徴は、別の技術との組み合わせで提示することもできる。
図1
図2A
図2B
図3A
図3B