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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

<>
  • 特表-データ漏洩検出 図1
  • 特表-データ漏洩検出 図2
  • 特表-データ漏洩検出 図3
  • 特表-データ漏洩検出 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-28
(54)【発明の名称】データ漏洩検出
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240621BHJP
   G06F 21/31 20130101ALI20240621BHJP
【FI】
G06F21/55
G06F21/31
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023555428
(86)(22)【出願日】2022-06-07
(85)【翻訳文提出日】2023-09-08
(86)【国際出願番号】 IB2022055296
(87)【国際公開番号】W WO2022269398
(87)【国際公開日】2022-12-29
(31)【優先権主張番号】17/352,430
(32)【優先日】2021-06-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】カウッド、セアン
(72)【発明者】
【氏名】ペイジ、サイモン、フランシス
(57)【要約】
第1のフォームにおけるユーザ入力を検出する段階、ユーザ入力は、要件のセットを満たしている、ユーザ入力をメモリに記憶する段階、要件のセットを満たす合成入力を生成する段階、合成入力を含む第2のフォームを伝送する段階、合成入力についてリソースを検索する段階、検索に従い、リソースの中に合成入力が存在するかを判定する段階、及び、判定に基づき動作する段階による、データ漏洩検出。
【特許請求の範囲】
【請求項1】
1又は複数のコンピュータプロセッサが、第1のフォームにおけるユーザ入力を検出する段階、前記ユーザ入力は、要件のセットを満たしている;
前記1又は複数のコンピュータプロセッサが、前記ユーザ入力をメモリに記憶する段階;
前記1又は複数のコンピュータプロセッサが、前記要件のセットを満たす合成入力を生成する段階;
前記1又は複数のコンピュータプロセッサが、前記合成入力を含む第2のフォームを伝送する段階;
前記1又は複数のコンピュータプロセッサが、前記合成入力についてリソースを検索する段階;
前記1又は複数のコンピュータプロセッサが、前記検索に従い、前記リソースの中に前記合成入力が存在するかを判定する段階;及び
前記1又は複数のコンピュータプロセッサが、前記判定に基づき動作する段階
を備える、データ漏洩を検出するためのコンピュータ実装方法。
【請求項2】
前記リソースは、システムメモリリソース、ネットワーク通信リソース、及びそれらの組み合わせからなる群から選択されるリソースを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記要件のセットは、ユーザパスワード要件に関連する、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記1又は複数のコンピュータプロセッサが、前記リソースの中の前記合成入力を検出する段階;及び
前記1又は複数のコンピュータプロセッサが、前記リソースの中の前記合成入力に関連付けられたアラートを生成する段階
を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記ユーザ入力は、ユーザパスワードを含み、ユーザ認証プロセスを停止する段階を更に含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記1又は複数のコンピュータプロセッサが、前記リソースの中の前記合成入力を検出することに失敗する段階;及び
前記1又は複数のコンピュータプロセッサが、前記ユーザ入力を含む前記第1のフォームを送信する段階
を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項7】
リソースを検索する段階は、前記合成入力を含む前記第1のフォームを送信する段階に続き、書き込みコマンドの対象となるメモリリソースを検索する段階を有する、請求項1に記載のコンピュータ実装方法。
【請求項8】
1又は複数のコンピュータ可読ストレージデバイス、及び、前記1又は複数のコンピュータ可読ストレージデバイス上に集合的に記憶されたプログラム命令を備え、前記記憶されたプログラム命令は:
第1のフォームにおけるユーザ入力を検出するためのプログラム命令、前記ユーザ入力は、要件のセットを満たしている;
前記ユーザ入力をメモリに記憶するためのプログラム命令;
前記要件のセットを満たす合成入力を生成するためのプログラム命令;
前記合成入力を含む第2のフォームを伝送するためのプログラム命令;
前記合成入力についてリソースを検索するためのプログラム命令;
前記検索に従い、前記リソースの中に前記合成入力が存在するかを判定するためのプログラム命令;及び
前記判定に基づき動作するためのプログラム命令
を有する、データ漏洩を検出するためのコンピュータプログラム製品。
【請求項9】
前記リソースは、システムメモリリソース、ネットワーク通信リソース、及びそれらの組み合わせからなる群から選択されるリソースを含む、請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記要件のセットは、ユーザパスワード要件に関連する、請求項8に記載のコンピュータプログラム製品。
【請求項11】
前記記憶されたプログラム命令は:
前記リソースの中の前記合成入力を検出するためのプログラム命令;及び
前記リソースの中の前記合成入力に関連付けられたアラートを生成するためのプログラム命令
を更に有する、請求項8に記載のコンピュータプログラム製品。
【請求項12】
前記ユーザ入力は、ユーザパスワードを含み、ユーザ認証プロセスを停止する手順を更に含む、請求項11に記載のコンピュータプログラム製品。
【請求項13】
前記記憶されたプログラム命令は:
前記リソースの中の前記合成入力を検出することに失敗した後に、前記ユーザ入力を含む前記第1のフォームを送信するためのプログラム命令
を更に有する、請求項8に記載のコンピュータプログラム製品。
【請求項14】
リソースを検索する手順は、前記合成入力を含む前記第1のフォームを送信する手順に続き、書き込みコマンドの対象となるメモリリソースを検索する手順を有する、請求項8に記載のコンピュータプログラム製品。
【請求項15】
1又は複数のコンピュータプロセッサ;
1又は複数のコンピュータ可読ストレージデバイス;及び
前記1又は複数のコンピュータプロセッサによる実行のために前記1又は複数のコンピュータ可読ストレージデバイス上に記憶されたプログラム命令
を備え、前記記憶されたプログラム命令は:
第1のフォームにおけるユーザ入力を検出するためのプログラム命令、前記ユーザ入力は、要件のセットを満たしている;
前記ユーザ入力をメモリに記憶するためのプログラム命令;
前記要件のセットを満たす合成入力を生成するためのプログラム命令;
前記合成入力を含む第2のフォームを伝送するためのプログラム命令;
前記合成入力についてリソースを検索するためのプログラム命令;
前記検索に従い、前記リソースの中に前記合成入力が存在するかを判定するためのプログラム命令;及び
前記判定に基づき動作するためのプログラム命令
を有する、データ漏洩を検出するためのコンピュータシステム。
【請求項16】
前記リソースは、システムメモリリソース、ネットワーク通信リソース、及びそれらの組み合わせからなる群から選択されるリソースを含む、請求項15に記載のコンピュータシステム。
【請求項17】
前記要件のセットは、ユーザパスワード要件に関連する、請求項15に記載のコンピュータシステム。
【請求項18】
前記記憶されたプログラム命令は:
前記リソースの中の前記合成入力を検出するためのプログラム命令;及び
前記リソースの中の前記合成入力に関連付けられたアラートを生成するためのプログラム命令
を更に有する、請求項15に記載のコンピュータシステム。
【請求項19】
前記ユーザ入力は、ユーザパスワードを含み、ユーザ認証プロセスを停止する手順を更に含む、請求項18に記載のコンピュータシステム。
【請求項20】
前記記憶されたプログラム命令は:
前記リソースの中の前記合成入力を検出することに失敗した後に、前記ユーザ入力を含む前記第1のフォームを送信するためのプログラム命令
を更に有する、請求項15に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概してローカルデータ漏洩の検出に関する。本開示は、特にローカルパスワードデータ漏洩の検出に関する。
【背景技術】
【0002】
ユーザパスワードデータを含むコンピュータシステムデータは、悪意のあるソフトウェアによってローカルレベルで侵害され得る。そのようなソフトウェアは、データを捕捉し、捕捉されたデータを悪意のある行為者に提供する。ネットワークリソースを介してのデータの提出は、データの更なる露出を意味する。そのような露出はまた、ネットワークデータ転送をモニタリングする悪意のあるコードによるデータの捕捉を招き得る。
【発明の概要】
【0003】
以下では、本開示の1又は複数の実施形態の基本的な理解を提供するための概要を提示する。本概要は、鍵となる、又は重要な要素を識別すること、又は、特定の実施形態のいかなる範囲も、又は特許請求の範囲のいかなる範囲も定めることを意図していない。その唯一の目的は、後に提示されるより詳細な説明への前置きとして簡略化された形態で概念を提示することである。本明細書で説明される1又は複数の実施形態において、デバイス、システム、コンピュータ実装方法、装置、及び/又はコンピュータプログラム製品は、データ漏洩の検出を可能にする。
【0004】
本発明の態様は、第1のフォームにおけるユーザ入力を検出する段階、ユーザ入力は、要件のセットを満たしている、ユーザ入力をメモリに記憶する段階、要件のセットを満たす合成入力を生成する段階、合成入力を含む第2のフォームを伝送する段階、合成入力についてリソースを検索する段階、検索に従い、リソースの中に合成入力が存在するかを判定する段階、及び、判定に基づき動作する段階によってデータ漏洩を検出することに関連付けられた、方法、システム、及びコンピュータ可読媒体を開示する。
【0005】
1つの態様によれば、データ漏洩を検出するためのコンピュータ実装方法が提供され、方法は:1又は複数のコンピュータプロセッサが、第1のフォームにおけるユーザ入力を検出する段階、ユーザ入力は、要件のセットを満たしている;1又は複数のコンピュータプロセッサが、ユーザ入力をメモリに記憶する段階;1又は複数のコンピュータプロセッサが、要件のセットを満たす合成入力を生成する段階;1又は複数のコンピュータプロセッサが、合成入力を含む第2のフォームを伝送する段階;1又は複数のコンピュータプロセッサが、合成入力についてリソースを検索する段階;1又は複数のコンピュータプロセッサが、検索に従い、リソースの中に合成入力が存在するかを判定する段階;及び、1又は複数のコンピュータプロセッサが、判定に基づき動作する段階、を備える。
【0006】
別の態様によれば、データ漏洩を検出するためのコンピュータプログラム製品が提供され、コンピュータプログラム製品は、1又は複数のコンピュータ可読ストレージデバイス、及び、1又は複数のコンピュータ可読ストレージデバイス上に集合的に記憶されたプログラム命令を備え、記憶されたプログラム命令は:第1のフォームにおけるユーザ入力を検出するためのプログラム命令、ユーザ入力は、要件のセットを満たしている;ユーザ入力をメモリに記憶するためのプログラム命令;要件のセットを満たす合成入力を生成するためのプログラム命令;合成入力を含む第2のフォームを伝送するためのプログラム命令;合成入力についてリソースを検索するためのプログラム命令;検索に従い、リソースの中に合成入力が存在するかを判定するためのプログラム命令;及び、判定に基づき動作するためのプログラム命令、を有する。
【0007】
別の態様によれば、データ漏洩を検出するためコンピュータシステムが提供され、コンピュータシステムは:1又は複数のコンピュータプロセッサ;1又は複数のコンピュータ可読ストレージデバイス;及び、1又は複数のコンピュータプロセッサによる実行のために1又は複数のコンピュータ可読ストレージデバイス上に記憶されたプログラム命令を備え、記憶されたプログラム命令は:第1のフォームにおけるユーザ入力を検出するためのプログラム命令、ユーザ入力は、要件のセットを満たしている;ユーザ入力をメモリに記憶するためのプログラム命令;要件のセットを満たす合成入力を生成するためのプログラム命令;合成入力を含む第2のフォームを伝送するためのプログラム命令;合成入力についてリソースを検索するためのプログラム命令;検索に従い、リソースの中に合成入力が存在するかを判定するためのプログラム命令;及び、判定に基づき動作するためのプログラム命令、を有する。
【図面の簡単な説明】
【0008】
添付図面における本開示の幾つかの実施形態のより詳細な説明を通じて、本開示の上記及び他の目的、特徴、及び利点がより明らかになる。ここで、同じ参照符号は概して、本開示の実施形態における同じコンポーネントを指している。
【0009】
図1】本発明の一実施形態に係る、コンピューティング環境の概略図を提供する。
【0010】
図2】本発明の一実施形態に係る、動作順序を示すフローチャートを提供する。
【0011】
図3】本発明の一実施形態に係る、クラウドコンピューティング環境を示す。
【0012】
図4】本発明の一実施形態に係る、抽象化モデル層を示す。
【発明を実施するための形態】
【0013】
幾つかの実施形態が添付図面を参照してより詳細に説明され、これには、本開示の実施形態が例示されている。しかしながら、本開示は、様々な方式で実装され得、従って、本明細書で開示される実施形態に限定されると解釈されるべきではない。
【0014】
パスワードが流出したローカルシステムからパスワードが侵害される複数の方法が存在する。パスワード漏洩を防止するための多くの既存の手法は、中間者攻撃においてそれらが遠隔当事者に転送されている間に「ネットワーク上で(on the wire)」パスワードが侵害されることを防止するが、それが送信されている宛先の場所が有効であること、及び、ローカルシステム上でパスワードが侵害されていないことを確実にするものではない。ローカル攻撃を防止するための既存の手法は、プログラム署名を通じて実行されている悪意のあるコードを検出すること、及び、既知の不正な挙動を検出することを含む。開示される実施形態は、より狙いを定めた方法におけるデータ漏洩検出を可能にし、プログラム自体の署名を検出する必要性を低減する。代わりに、開示される実施形態は、機密データの侵害に関連する特定の挙動を検出する。
【0015】
本発明の態様は、概して、ネットワーク化されたコンピューティング環境におけるデータ漏洩を検出することに関する。そのような環境は、1又は複数のネットワーク通信技術によって接続された複数のコンピュータシステムを含む。システムユーザは、システムリソースにアクセスするために、ユーザパスワードデータを提供する。侵害されたネットワーク及びシステムリソースは、ユーザパスワードデータを捕捉し、そのような捕捉されたデータを1又は複数の悪意のある行為者と共有し得る。悪意のあるソフトウェアは、ユーザパスワードデータを、それがユーザによって入力されたとき、又は、それがネットワークリソースをまたがって提出された、又はネットワーク化されたリソースによって受信されたときに捕捉する。そのようなコードは、悪意のある行為者による更なる伝送及び使用のために、捕捉されたコードを記憶する。開示される実施形態は、悪意のあるソフトウェアに関連付けられた漏洩を含むデータ漏洩の検出を可能にする。
【0016】
実施形態は、ログインフォームを記入するにあたってのユーザによるパスワードデータの入力を検出する。実施形態は、ユーザデータ入力フォームを記憶し、ユーザデータの合成置換を生成する。ユーザデータ及び合成置換はそれぞれ、ユーザパスワードデータの要件を満たしている。実施形態は、データ入力フォームの第2のバージョンを伝送し、このバージョンは、実際の機密ユーザデータではなく合成データを含む。合成データの生成及び提出と同時に、開示される実施形態は、ネットワークデータトラフィックを含むローカルリソース及びネットワーク化されたリソースのモニタリングを開始する。モニタリングはまた、合成データを含む変形についてメモリリソースを、及び、メモリリソースに合成データを書き込むための、又は通信チャネルを介して合成データを伝送するためのコマンドをスキャンすることを含む。実施形態は、合成データを漏洩させようとする検出された試みをユーザ及び/又はシステム管理者向けのレポートにまとめるとともに、ユーザパスワードデータを伝送することがセキュアではない旨のアラートをユーザに対して発出する。例えば、リソース及び伝送のモニタリングがデータを漏洩させようとする試みを検出することに失敗する場合、実施形態は、実際の機密ユーザパスワードデータを含む保存されたフォームを伝送して、ユーザの認証を容易にし、所望のリソースへのユーザアクセスを可能にする。
【0017】
本発明の態様によれば、データ漏洩を自動的に検出するための方法が存在する。方法は、ネットワーク対話の一部として、パスワードデータなどの機密データを提出しようとするユーザによる試みを検出するために、システム活動をモニタリングすることを含む。ユーザは、自らのユーザID及びパスワードデータを入力することにより、認証フォームに記入し得る。方法は、入力フォーム及びパスワードデータを検出する。方法は、記入された認証フォームをローカルに捕捉して保存する。方法は、合成パスワードデータを生成して認証フォームの第2のバージョンを提出し、このバージョンは合成データを含む。方法は、合成データの変形について、ローカルメモリリソース及びネットワーク伝送を含むネットワークリソースをモニタリングする。ローカルメモリリソース及び/又はネットワークリソースの中における合成データの検出は、潜在的なデータ漏洩の示唆を提供する。検出されたデータの分析は、データを漏洩させようとする試みが発生したかどうかを、又は、検出されたデータが通常のデータ使用を表すことを判定する。漏洩の発生は、システムユーザ及び管理者に報告される。合成データの異常な発生の検出に失敗することは、データを漏洩させようとするいかなる試みも発生しなかったという示唆を提供する。本システムは、ユーザアクセスの認証のために、認証ユーザパスワードデータを含む保存されたフォームを渡す。
【0018】
本発明の態様は、認証ユーザデータを受信すること、任意のデータ要件を満たすデータの合成セットを生成すること、及び通常の通信チャネルを使用して合成データを転送することによる、データ漏洩検出の技術分野における改善を提供する。方法は、処理タイムラインにおけるこの時点で、認証ユーザデータを開示から留保する。システム活動をモニタリングすることは、実際の機密データを露出することなく、機密データを漏洩させようとする試みを明らかにする。検出された試みは、まとめられて報告され、認証データの開示は、侵害されたシステム態様の解明を待って保留される。合成データの成功裏の伝送、すなわち、データ漏洩の検出を伴わない伝送は、認証のための認証ユーザデータの伝送をもたらし、ユーザアクセスを可能にする。
【0019】
本発明の態様はまた、コンピュータ機能に対する改善を提供する。特に、本発明の実装形態は、データ通信チャネルがセキュアなものとして検証される方法に対する具体的な改善を対象としている。開示される方法は、実際の機密データではなく合成データを含むデータ入力フォームを提出すること、及び、合成データが誤って取り扱われた、又はそうでなければ漏洩したという証拠についてメモリ書き込み動作及びデータ伝送を含むシステム活動をモニタリングすることにより、そのようなチャネルを検証する。データの誤った取り扱いを検出することは、侵害されたシステム態様を識別することに繋がり、これらの侵害された態様の解明は、セキュアな通信チャネルをもたらす。
【0020】
一実施形態において、本システムの1又は複数のコンポーネントは、本質的に高度に技術的な問題(例えば、第1のフォームにおける機密情報のユーザ入力を検出すること、機密情報に関連付けられた要件のセットを満たす合成情報を生成すること、機密情報ではなく合成情報を含むフォームの第2のバージョンを伝送すること、合成情報の痕跡についてシステム及びネットワーク活動をモニタリングすること、モニタリング活動の結果に応じて動作すること等)を解決するためのハードウェア及び/又はソフトウェアを採用し得る。これらの解決策は、抽象的なものではなく、例えばデータ漏洩検出を容易にするために必要とされる処理能力に起因して、人間による精神的行為のセットとして実行され得ない。更に、実行されるプロセスの幾つかは、機密データの漏洩を検出することに関連する定義されたタスクを実行するための専用コンピュータによって実行され得る。例えば、専用コンピュータは、データ漏洩検出等に関連するタスクを実行するために採用され得る。
【0021】
概説として、実施形態は、ローカルパスワード又は他の機密情報の漏洩を、この情報が入力されるフィールド内に「検索可能な」文字列を一時的に挿入することによって検出する。挿入された入力を提出した後、ローカルメモリ及び送信ネットワークデータパケットのスキャンが、挿入された「検索可能な」文字列の探索を開始する。方法は、スキャンの発見事項に基づきレポート及び/又はアラートを生成し、ユーザのローカルマシン上で第三者サーバ又は第三者アプリケーションに機密情報を吸い上げようとする何らかの悪意のある企てが発生したかを判定する。ユーザは、レポートに従い、悪意のあるソフトウェア等を削除又は隔離するための是正措置を講じ得る。
【0022】
既存の方法とは異なり、開示される実施形態は、キーロガー又はウィルスに関連付けられた既知の署名、又はオペレーティングシステムに接続しようと企てる既知のフックを検出することに依存しない。実施形態は値の漏洩を検出し、漏洩した値は機密ユーザデータではなく非機密合成データのみを構成する。データ漏洩は、捕捉されたデータのメモリへの書き込み、及び、捕捉されたデータのネットワークリソースを使用しての伝送を含み得る。
【0023】
一実施形態において、データ漏洩を検出するためのコンピュータ実装方法は、ユーザ個人識別情報、又は、パスワード及びユーザIDデータなどのユーザ認証データなどの機密データを入力することに関連付けられたユーザ活動を検出することを含む。そのようなユーザ活動は、機密データを用いて1又は複数のデータ入力フォームを記入することを含む。一実施形態において、方法は、ユーザがアプリケーションに機密データを提出することの指標として、「ユーザID」、「パスワード」、「口座番号」、「社会保障番号」等のようなキーワードについてユーザ活動をスキャンする。
【0024】
一例として、方法は、ユーザのユーザID及びユーザパスワードデータをログインデータ入力フォームに入力することによる、「ユーザID」及び「パスワード」とラベル付けされたデータ入力フィールドを含むユーザログインフォームのユーザによる記入を検出する。この例において、ユーザデータは、ユーザID及びユーザパスワードに関連付けられたフィールド要件に適合している。この実施形態において、方法は、活動を検出し、ユーザデータを含む記入された機密データ入力フォームを捕捉し、後に使用するために記入されたデータ入力フォームを記憶する。一実施形態において、方法は、記入されたデータ入力フォームをローカルメモリに記憶する。
【0025】
方法は、機密ユーザデータに対応し、あらゆるデータフィールド要件に準拠する合成データを生成する。一例として、ユーザパスワードは、大文字、小文字、数字、及び特殊文字を含む16文字を含んでいなければならない。この例について、方法は、ユーザパスワード要件に準拠する合成ユーザパスワードデータを生成する。一実施形態において、方法は、ユーザ入力の文字構成を分析し、機密ユーザデータ文字列における文字の数及びタイプの点で同じ構成を有する1又は複数のランダムな文字の文字列を生成する。上記の例について、分析は、ユーザパスワードが大文字、小文字、数字、及び特殊文字を含む16文字を含んでいることを示している。方法は次に、分析によって発見された特性を有するランダムな文字の文字列を生成する。方法は、機密ユーザデータの特性に基づき生成された合成データを使用して、データ入力フォーム(すなわち、ログインフォーム)の未記入のコピーをポピュレートする。方法は、データ漏洩についてリソースをスキャンするにあたり使用するための、生成された合成データの値を記憶する。
【0026】
一実施形態において、方法は、合成データを用いてデータ入力フォームをポピュレートするとき、又はその後に、ローカルシステムメモリ使用及びネットワークデータ伝送のモニタリングを開始する。方法は、データパケットコンテンツ並びに書き込みコマンド、及び書き込みコマンドの対象となるメモリ位置をモニタリングし、モニタリングが開始した後に、並びに、合成データを用いてデータ入力フォームをポピュレートし、提出することに続き、メモリに書き込まれた、伝送のために準備された、及び/又は、1又は複数のネットワークを介して伝送されたデータを評価する。
【0027】
一実施形態において、方法は、伝送制御プロトコル(TCP)データパケット伝送又は他のデータ通信プロトコルなど、フォーム用の標準通信チャネルを使用し、合成データを用いてポピュレートされたデータ入力フォームを伝送する。この実施形態において、方法は、メモリ操作、及びネットワークを介したアウトバウンド伝送のために準備されたデータのモニタリングを継続する。方法は、合成データが含まれるフォームを伝送することに続き、合成データ文字列についてメモリ書き込みコマンド及びアウトバウンドデータパケットをモニタリングすることにより、データ漏洩をスキャンする。
【0028】
方法は、3つの事柄のうち1つが発生するまで、システムメモリリソース及びネットワーク通信トラフィックをスキャンする。第1に、全ての関連メモリ及び通信リソースがスキャンされ、合成文字列の悪意のある使用の示唆が発見されなかった後に、スキャンは停止する。そのような場合、方法は次に、ネットワークリソースへのユーザのアクセスを認証しようとするユーザの試みを継続するなどのために、ユーザの機密データを含む元のデータ入力フォームを提出する。第2に、上記方法によって生成され、フォームの代替データ入力バージョンを使用して伝送された合成データを利用しようとする悪意のある試みを検出するのに十分であるとみなされる定義された制限時間の後に、スキャンは停止する。そのような事例において、方法は、データ漏洩を検出していないため、方法は、機密ユーザ情報を含む元のデータ入力フォームを再び伝送する。第3の可能性は、ローカルメモリに文字列を書き込もうとする試み又はアウトバウンド通信パケットへの合成文字列の包含を検出することにより、合成データ文字列の悪意のある使用を検出することを含む。そのような事例において、方法は、認証プロセスの一環としてフォームを提出するのではなく、元のデータ入力フォーム及びユーザの機密情報を保持する。ユーザの機密データは、システム及び方法によってセキュアな状態に保たれる。一実施形態において、方法は、ユーザ及び/又はシステム管理者にアラートを発出して、合成文字列を捕捉しようとする悪意のある企てについてユーザ及び/又はシステム管理者に通知し、そのようなあらゆる企てに関する詳細を提供する。この実施形態において、方法は、機密ユーザデータを含む元のデータ入力フォームを提出せず、それにより、認証プロセスを停止する。一実施形態において、方法は、全てのそのような企ての進行中のログを、当該企てに関与したシステムリソースの詳細と共に維持する。一実施形態において、方法は、ネットワーク管理リソース並びにローカルユーザにログを伝達する。一実施形態において、方法は更に、スキャンされたリソースの中の合成データを検出せず、データが漏洩していないことを示すスキャンの試みを記録する。
【0029】
一実施形態において、ユーザは、提供されたアラート及び/又は悪意のある活動のレポートにおいて識別された問題を是正した後に、データ入力フォームを提出しようとする。この実施形態において、ユーザがデータ入力フォームを再提出するとき、又はその後に、方法は、機密データを提出しようとする企てを検出し、元のデータ入力フォームを捕捉し、合成データを生成し、データ入力フォームの第2のバージョンをポピュレートし、システムメモリ及び通信リソースのモニタリングを開始し、合成非機密データを含むフォームの第2のバージョンを提出し、モニタリングの結果に応じて、上述の通り進める。
【0030】
合成データの生成、合成データを用いたデータ入力フォームのポピュレーション、及びポピュレートされたデータ入力フォームの提出と同時に、方法は、悪意のあるデータ捕捉活動と相関するシステムリソースのモニタリングを開始する。そのようなリソースは、メモリリソース、ネットワーク通信リソース及びネットワーク通信トラフィックコンテンツ、及びプロセッサコマンドスタックを含む。リソースは、書き込みコマンド又は伝送コマンドなどの関連コマンドに従い、順番にチェックされ得る、又は優先順位付けがなされ得る。モニタリングを通じて合成データ文字列を発見した後、方法は、検出の詳細を予測されるシステム活動に対して評価する。一例として、ユーザ認証プロセスの一環としてパスワードを送信することは、それに関連付けられた、予測されるデータ取り扱いの進行を有する。入力されたデータは、データ入力フィールドを含むフォークされたウェブブラウザなど、認証に関連付けられた、定義された経路を辿る。認証アプリケーションの既知の定義されたデータ経路に関連付けられた通信チャネル及びメモリ位置以外の位置における合成データの検出は、検出された合成データを悪意のある活動に関連付けるアラートをトリガする。全てのリソースがスキャンされるまで、又は、スキャン期間が定義されたスキャン制限時間に達するまで、スキャンは継続する。
【0031】
一実施形態において、方法は、ネットワークスタックリソースをスキャンする。例えば、方法は、合成データを含む第2のフォームの提出後に伝送されるバッファ及び/又はパケットをスキャンする。一実施形態において、方法は、フォームを提出した後に、ローカルシステムによってネットワークを介して伝送されるデータをモニタリングする。
【0032】
ネットワークデータトラフィックの中のバッファ、パケット、又はその他における合成文字列の検出は、上述の通り、アラート、レポート、及びログ機能をトリガする。一実施形態において、方法は、合成データの検出された伝送を、関連する認証アプリケーションに関連付けられた伝送予測に照らして検証する。データの予測される伝送からの逸脱は、アラート、レポート、及びログ機能をトリガする。検出されたデータ漏洩は、検出された合成文字列、関連付けられたアプリケーション、及び開始された合成文字列を含むデータダンプに関する関連情報を収集するサブプロセスを更にトリガする。
【0033】
開示される実施形態は、ユーザパスワード入力、並びに、ユーザ個人識別情報データなどの他の機密情報又はユーザ金融口座データなどの金融データの入力を検出するように構成され得る。開示される実施形態は、パスワード管理アプリケーションと統合されて、提出後のパスワードデータの予測されるデータ取り扱いをより良く定義し、データの誤った取り扱いに対するアラートの誤ったトリガを防止し得る。
【0034】
図1は、開示される本発明の実践に関連付けられた例示的なネットワークリソースの概略図を提供する。本発明は、命令ストリームを処理する、開示される要素のいずれかのプロセッサにおいて実践され得る。図において示される通り、ネットワーク化されたクライアントデバイス110は、サーバサブシステム102に無線で接続する。クライアントデバイス104は、ネットワーク114を介してサーバサブシステム102に無線で接続する。クライアントデバイス104及び110は、データ漏洩検出プログラム(図示せず)を、プログラムを実行するための十分なコンピューティングリソース(プロセッサ、メモリ、ネットワーク通信ハードウェア)と共に備える。クライアントデバイス104及び110は、ユーザが図において示される追加的なネットワーク化されたリソースと対話する場合にこれらのデバイスにローカルに接触し得るデータ漏洩検出プログラムへのユーザアクセスを提供する。図1において示される通り、サーバサブシステム102は、サーバコンピュータ150を備える。図1は、本発明の一実施形態に係る、ネットワーク化されたコンピュータシステム1000内のサーバコンピュータ150のコンポーネントのブロック図を示す。図1は、1つの実装形態の例示のみを提供しており、異なる実施形態が実装され得る環境に関していかなる限定も示唆していないことを理解されたい。示されている環境に対して多くの修正を行うことができる。
【0035】
サーバコンピュータ150は、プロセッサ154、メモリ158、永続的ストレージ170、通信ユニット152、入力/出力(I/O)インタフェース156、及び通信ファブリック140を含むことができる。通信ファブリック140は、キャッシュ162、メモリ158、永続的ストレージ170、通信ユニット152、及び入力/出力(I/O)インタフェース156の間の通信を提供する。通信ファブリック140は、プロセッサ(マイクロプロセッサ、通信及びネットワークプロセッサ等)、システムメモリ、周辺デバイス、及びシステム内の任意の他のハードウェアコンポーネントとの間で、データ及び/又は制御情報の受け渡しを行うように設計された任意のアーキテクチャで実装されてよい。例えば、通信ファブリック140は、1又は複数のバスを用いて実装され得る。
【0036】
メモリ158及び永続的ストレージ170は、コンピュータ可読ストレージ媒体である。この実施形態において、メモリ158は、ランダムアクセスメモリ(RAM)160を含む。概して、メモリ158は、任意の適切な揮発性又は不揮発性のコンピュータ可読ストレージ媒体を含むことができる。キャッシュ162は、メモリ158から、最近アクセスされたデータ、及び最近アクセスされたデータに近いデータを保持することによって、プロセッサ154の性能を強化する高速メモリである。
【0037】
本発明の実施形態を実践するために使用されるプログラム命令及びデータ、例えば、データ漏洩検出プログラム175は、キャッシュ162を介してサーバコンピュータ150のそれぞれのプロセッサ154の1又は複数による実行及び/又はアクセスのために永続的ストレージ170に記憶される。この実施形態において、永続的ストレージ170は、磁気ハードディスクドライブを含む。あるいは、又は磁気ハードディスクドライブに加えて、永続的ストレージ170は、プログラム命令又はデジタル情報を記憶することができる、ソリッドステートハードドライブ、半導体ストレージデバイス、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM)、フラッシュメモリ、又は他の任意のコンピュータ可読ストレージ媒体を含むことができる。
【0038】
永続的ストレージ170により用いられる媒体はまた、リムーバブルであってよい。例えば、リムーバブルハードドライブが永続的ストレージ170に用いられてよい。他の例には、永続的ストレージ170の一部でもある別のコンピュータ可読ストレージ媒体に転送するためにドライブに挿入される光ディスク及び磁気ディスク、サムドライブ、及びスマートカードが含まれる。
【0039】
通信ユニット152は、これらの例では、クライアントコンピューティングデバイス104及び110のリソースを含む他のデータ処理システム又はデバイスとの通信を提供する。これらの例において、通信ユニット152は、1又は複数のネットワークインタフェースカードを含む。通信ユニット152は、物理通信リンク及び無線通信リンクのいずれか又は両方の使用を通じて通信を提供してよい。本発明の実装形態に使用されるソフトウェア配布プログラム及び他のプログラム及びデータが、通信ユニット152を通じて、サーバコンピュータ150の永続的ストレージ170にダウンロードされてよい。
【0040】
I/Oインタフェース156により、サーバコンピュータ150に接続され得る他のデバイスとのデータの入力及び出力が可能になる。例えば、I/Oインタフェース156は、キーボード、キーパッド、タッチスクリーン、マイクロフォン、デジタルカメラ、及び/又は何らかの他の好適な入力デバイスなどの外部デバイス190への接続を提供してよい。外部デバイス190は、例えば、サムドライブ、ポータブル光ディスク又は磁気ディスク、及びメモリカードなどのポータブルコンピュータ可読ストレージ媒体も含み得る。本発明の実施形態を実践するために使用されるソフトウェア及びデータ、例えば、サーバコンピュータ150上のデータ漏洩検出プログラム175は、そのようなポータブルコンピュータ可読ストレージ媒体上に記憶され得、I/Oインタフェース156を介して永続的ストレージ170にロードされ得る。I/Oインタフェース156は、ディスプレイ180にも接続する。
【0041】
ディスプレイ180は、データをユーザに対して表示するメカニズムを提供し、例えば、コンピュータモニタであり得る。ディスプレイ180は、タブレットコンピュータのディスプレイなどのタッチスクリーンとしても機能してよい。
【0042】
図2は、本開示の実践に関連付けられた例示的な活動を示すフローチャート200を提供する。プログラム開始後、ブロック210で、図1において示されるもののようなコンピュータ環境を通じて実行されるデータ漏洩検出プログラム175は、データ入力フォームの第1のコピーを通じて、ユーザパスワード情報などの機密情報のユーザ入力を検出する。一実施形態において、方法は、ユーザ活動をモニタリングして、そのような企てられたデータ入力の検出を可能にする。一実施形態において、データ漏洩検出プログラム175は、他の実行中のアプリケーションとのユーザ対話をモニタリングするオペレーティングシステム下のシェルプログラムとして実行される。
【0043】
ブロック220で、データ漏洩検出プログラム175の方法は、ユーザ機密データに対応し、当該機密データの任意の要件を満たす合成データを生成する。方法は、生成された合成データを使用して、データ入力フォームの第2のコピーをポピュレートする。方法は、漏洩検出についてリソースをスキャンするにあたり使用するための、生成された合成データの値を追跡する。
【0044】
ブロック230で、方法は、合成データ文字列の存在について、システムプロセッサコマンド、システムメモリコンテンツ、及びネットワークトラフィックコンテンツなどのシステムリソースのモニタリングを開始する。ブロック240で、リソースモニタリングの開始と同時に、方法は、合成データを含むデータ入力フォームの第2のコピーを伝送する。
【0045】
ブロック250で、データ漏洩検出プログラム175の方法は、システムプロセッサコマンド、メモリリソース、及びネットワークトラフィックなどのモニタリングされたリソースの中に合成データが存在するかを判定する。方法は、生成された合成データ文字列に合致するデータを求めてリソースをスキャンする。一実施形態において、全ての方法が全ての関連リソースのスキャンを完了するまで、又は、所定のスキャン期間が満了するまで、スキャンは継続する。
【0046】
ブロック260で、方法は、スキャンされたリソースの中の生成された合成データ文字列の存在を検出することに基づき、適切な措置を講じる。例えば、方法は、フォームを通じて入力されたデータについて予測される活動に照らして、検出された合成データを評価する。方法は、悪意のある活動のアラートをトリガすることなく、入力されたデータの正当な使用に関連付けられた予測されるアプリケーション及びネットワークトラフィックに留意する。予測される活動以外のデータ活動に関し、方法は、ユーザ及び/又はシステム管理者に対するアラート及び活動ログに包含するため、関連するアプリケーション及びネットワークトラフィックの性質、すなわち送信者及び受信者などの、活動に関する詳細を捕捉する。
【0047】
例えば、全ての関連リソースをスキャンした後、又は定義されたスキャン期間にわたってスキャンした後に、方法が合成データを検出することに失敗した場合、方法は、ユーザによって入力された機密情報を含む、データ入力フォームの保存された元のコピーを提出する。そのような事例において、方法は、任意選択的に、合成データを検出することなく、スキャンの発生を示すイベントログを更に更新する。
【0048】
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書に列挙される教示内容の実装は、クラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在既知、又は、今後開発される任意の他のタイプのコンピューティング環境と併せて実装することが可能である。
【0049】
クラウドコンピューティングは、管理の労力又はサービスのプロバイダとの対話を最小限に抑えながら迅速にプロビジョニング及びリリースされ得る構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及び、サービス)の共有プールに対する便利なオンデマンドネットワークアクセスを可能にするためのサービス提供のモデルである。本クラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルを含んでよい。
【0050】
特性は次の通りである。
【0051】
オンデマンドセルフサービス:クラウドコンシューマは、サービスのプロバイダとの人的対話を必要とすることなく、必要に応じて自動的に、サーバ時間及びネットワークストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
【0052】
幅広いネットワークアクセス:能力は、ネットワークを介して利用可能であり、また、異種混交のシンクライアントプラットフォーム又はシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、及びPDA(登録商標))による使用を促進する標準的なメカニズムを通じてアクセスされる。
【0053】
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを用いて複数のコンシューマにサービスを提供するようにプールされており、異なる物理リソース及び仮想リソースが需要に沿って動的に割り当てられ、また再割り当てされる。コンシューマは、概して、提供されたリソースの正確な位置に対して制御又は知識を有していないが、より高いレベルの抽象化(例えば、国、州、又はデータセンタ)において位置を指定することが可能であり得るという点で、一種の位置独立性がある。
【0054】
迅速な拡張性:能力は迅速に且つ伸縮自在に、場合によっては自動的にプロビジョニングされ、即座にスケールアウトすることも、迅速にリリースして即座にスケールインすることもできる。コンシューマにとって、多くの場合、プロビジョニングのために利用可能な能力は無制限に見え、任意の時点において任意の量で購入され得る。
【0055】
計測されるサービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブユーザアカウント)に適したある抽象化レベルで計量能力を活用することにより、リソースの使用を自動的に制御及び最適化する。リソース使用量をモニタリング、制御及び報告することができ、それにより、利用されるサービスのプロバイダ及びコンシューマの両方に透明性が提供される。
【0056】
サービスモデルは次の通りである。サービスとしてのソフトウェア(SaaS:Software as a Service):コンシューマに提供される能力は、クラウドインフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインタフェースを通じて様々なクライアントデバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を考え得る例外として、ネットワーク、サーバ、オペレーティングシステム、ストレージ又は更には個々のアプリケーション能力を含む、基礎をなすクラウドインフラストラクチャを管理又は制御しない。サービスとしてのプラットフォーム(PaaS:Platform as a Service):コンシューマに提供される能力は、クラウドインフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語及びツールを使用して作成される、コンシューマが作成又は取得したアプリケーションを展開することである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、展開されたアプリケーション、及び場合によってはアプリケーションホスティング環境構成に対して制御を有する。サービスとしてのインフラストラクチャ(IaaS:Infrastructure as a Service):コンシューマに提供される能力は、処理、ストレージ、ネットワーク及び他の基本的なコンピューティングリソースをプロビジョニングすることであり、ここでコンシューマは、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアを展開し実行することが可能である。コンシューマは、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーションに対する制御及び、場合によっては、選択されたネットワーキングコンポーネント(例えば、ホストファイアウォール)に対する限定的な制御を有する。
【0057】
展開モデルは次の通りである。プライベートクラウド:このクラウドインフラストラクチャは、或る組織のためにのみ動作する。それは、組織又は第三者によって管理されてよく、オンプレミス又はオフプレミスで存在してよい。コミュニティクラウド:このクラウドインフラストラクチャは、幾つかの組織によって共有され、共有される関心事項(例えば、ミッション、セキュリティ要件、ポリシ及びコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。それは、それらの組織又は第三者によって管理されてよく、オンプレミス又はオフプレミスで存在してよい。パブリッククラウド:このクラウドインフラストラクチャは、一般大衆又は大規模な業界団体に利用可能とされ、クラウドサービスを販売する組織によって所有される。ハイブリッドクラウド:このクラウドインフラストラクチャは、一意のエンティティのままであるが、データ及びアプリケーションの移植性を可能にする標準化された技術又は独自の技術(例えば、クラウド間の負荷分散のためのクラウドバースト)によって結合された2又はそれより多くのクラウド(プライベート、コミュニティ、又はパブリック)の構成である。
【0058】
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、及び意味的相互運用性に重点を置いたサービス指向型である。クラウドコンピューティングの中核には、相互接続されたノードのネットワークを含むインフラストラクチャが存在する。
【0059】
ここで図3を参照すると、例示的なクラウドコンピューティング環境50が示されている。図示の通り、クラウドコンピューティング環境50は、例えば、パーソナルデジタルアシスタント(PDA)又はセルラ電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、及び/又は自動車コンピュータシステム54Nなどの、クラウドコンシューマによって使用されるローカルコンピューティングデバイスが通信できる1又は複数のクラウドコンピューティングノード10を含む。ノード10は、互いに通信し得る。それらは、上述したようなプライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウド、又はその組み合わせなどの、1又は複数のネットワークにおいて物理的に又は仮想的にグループ化(図示せず)されてよい。これは、クラウドコンピューティング環境50が、インフラストラクチャ、プラットフォーム、及び/又はソフトウェアを、クラウドコンシューマがそのためにローカルコンピューティングデバイス上にリソースを維持する必要がないサービスとして提供することを可能にする。図3に示すコンピューティングデバイス54A~54Nのタイプは、単なる例示を意図していること、コンピューティングノード10及びクラウドコンピューティング環境50は、ネットワーク及び/又はネットワークアドレス可能接続の任意のタイプを介して、コンピュータ化デバイスの任意のタイプと(例えば、ウェブブラウザを使用して)通信してもよいことが理解される。
【0060】
ここで図4を参照すると、クラウドコンピューティング環境50(図3)によって提供された機能的抽象化層のセットが示されている。図4において示される、コンポーネント、層、及び機能は単なる例示を意図しており、本発明の実施形態がこれらに限定されないことが事前に理解されるべきである。図示されている通り、以下の層及び対応する機能が提供されている。
【0061】
ハードウェア及びソフトウェア層60は、ハードウェア及びソフトウェアコンポーネントを備える。ハードウェアコンポーネントの例は、メインフレーム61;RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62;サーバ63;ブレードサーバ64;ストレージデバイス65;及びネットワーク及びネットワーキングコンポーネント66を含む。幾つかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67及びデータベースソフトウェア68を含む。
【0062】
仮想化層70は、仮想エンティティの以下の例、すなわち、仮想サーバ71;仮想ストレージ72;仮想プライベートネットワークを含む仮想ネットワーク73;仮想アプリケーション及びオペレーティングシステム74;及び仮想クライアント75が提供され得る抽象化層を提供する。
【0063】
1つの例において、管理層80は、以下で説明する機能を提供してもよい。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用される、コンピューティングリソース及び他のリソースの動的な調達を提供する。計量及び価格設定82は、クラウドコンピューティング環境内でリソースが利用されるときのコスト追跡、及びこれらのリソースの消費に対する請求又はインボイス作成を提供する。1つの例において、これらのリソースは、アプリケーションソフトウェアライセンスを含んでよい。セキュリティは、クラウドコンシューマ及びタスクのアイデンティティ検証、並びに、データ及び他のリソースの保護を提供する。ユーザポータル83は、コンシューマ及びシステム管理者のために、クラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要とされるサービスレベルが満たされるように、クラウドコンピューティングリソース割り当て及び管理を提供する。サービスレベルアグリーメント(SLA)計画及び履行85は、SLAに従って将来の要件が予想されるクラウドコンピューティングリソースの事前準備及び調達を提供する。
【0064】
ワークロード層90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロード及び機能の例には、マッピング及びナビゲーション91;ソフトウェア開発及びライフサイクル管理92;仮想教室教育提供93;データ分析処理94;トランザクション処理95;及びデータ漏洩検出プログラム175が含まれる。
【0065】
本発明は、任意の可能な技術的詳細レベルで統合化されたシステム、方法及び/又はコンピュータプログラム製品であってもよい。本発明は、命令ストリームを処理する単一又は並列の任意のシステムにおいて有利に実践され得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読ストレージ媒体(又は複数の媒体)を含み得る。
【0066】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用されるための命令を保持及び記憶することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は上述したものの任意の好適な組み合わせであり得るが、これらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非包括的なリストは、以下、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカード又は命令が記録されている溝内の隆起構造などの機械的にエンコードされたデバイス、及び、上述したものの任意の好適な組み合わせを含む。コンピュータ可読ストレージ媒体又はコンピュータ可読ストレージデバイスは、本明細書において使用される場合、電波又は他の自由に伝搬する電磁波、導波路又は他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)又は、ワイヤを通じて伝送される電気信号などの一時的信号それ自体とは解釈されない。
【0067】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から、それぞれのコンピューティング/処理デバイスに、又は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部ストレージデバイスに、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを備え得る。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインタフェースは、ネットワークからのコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0068】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk(登録商標)、C++などのようなオブジェクト指向プログラミング言語、及び、「C」プログラミング言語等の手続き型プログラミング言語又は同様のプログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで書き込まれたソースコード又はオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に且つリモートコンピュータ上で部分的に、又は、リモートコンピュータ又はサーバ上で全体的に実行し得る。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続され得る、又は、接続は、(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)外部コンピュータに対して行われ得る。幾つかの実施形態において、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行して、電子回路をパーソナライズしてよい。
【0069】
本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。フローチャート図及び/又はブロック図の各ブロック、及びフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令により実装され得ることが理解されるであろう。
【0070】
これらのコンピュータ可読プログラム命令は、マシンを生成するように汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供され、その結果、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1又は複数のブロックにおいて指定されている機能/動作を実装する手段を作成するようにしてよい。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置及び/又は他のデバイスに特定の方式で機能するよう指示できるコンピュータ可読ストレージ媒体内に記憶されてよく、それにより、命令が集合的に記憶されているコンピュータ可読ストレージ媒体が、フローチャート及び/又はブロック図の1又は複数のブロックにおいて指定されている機能/動作の態様を実装する命令を含む製品を含むようにする。
【0071】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードされて、一連の動作段階をコンピュータ、他のプログラマブル装置又は他のデバイス上で実行させ、コンピュータ実装プロセスを生成してよく、それにより、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令は、フローチャート及び/又はブロック図の1又は複数のブロックで指定された機能/動作を実装する。
【0072】
図面におけるフローチャート及びブロック図は、本発明の様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の考え得る実装形態のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図における各ブロックは、指定される論理機能を実装するための1又は複数の実行可能命令を含む命令のモジュール、セグメント、又は部分を表し得る。幾つかの代替的な実装形態において、ブロックに記されている機能は、図面に記されている順序とは異なる順序で行われ得る。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行され得る、又は、場合によっては、関与する機能に応じてブロックが逆の順序で実行され得る。また、ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図におけるブロックの組み合わせは、指定される機能又は動作を実行する、又は、専用ハードウェア及びコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得ることに留意されたい。
【0073】
「1つの実施形態」、「一実施形態」、「例示的な一実施形態」等への本明細書における言及は、説明される実施形態が特定の特徴、構造、又は特性を含んでよいが、全ての実施形態が特定の特徴、構造、又は特性を必ずしも含まなくてもよいことを示している。更に、そのような語句は、必ずしも同じ実施形態を指すとは限らない。更に、特定の特徴、構造、又は特性が一実施形態に関連して説明される場合、明示的に説明されているか否かにかかわらず、他の実施形態に関連してそのような特徴、構造、又は特性に影響を与えることは当業者の知識の範囲内であると考えられる。
【0074】
本明細書で使用する用語は、特定の実施形態のみを説明することを目的としたものであり、本発明を限定することを意図するものではない。本明細書において使用される場合、文脈において別途明示されない限り、単数形の「a」、「an」、及び「the」は、複数形も含むことが意図されている。用語「comprises(含む)」及び/又は「comprising(含む)」は、本明細書で使用される場合、記載されている特徴、整数、段階、動作、要素、及び/又はコンポーネントの存在を明記するが、1又は複数の他の特徴、整数、段階、動作、要素、コンポーネント、及び/又はそれらのグループの存在又は追加を除外しないことを更に理解されたい。
【0075】
本発明の様々な実施形態の説明は、例示の目的で提示されているが、包括的であること、又は、開示される実施形態に限定されることが意図されるものではない。本発明の範囲から逸脱することなく、多くの修正及び変形が当業者にとって明らかとなるであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、又は市場で見られる技術に対する技術的改善を最も良く説明するため、又は、他の当業者が本明細書で開示される実施形態を理解することを可能にするために選択されたものである。
図1
図2
図3
図4
【手続補正書】
【提出日】2024-01-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1又は複数のコンピュータプロセッサが、第1のフォームにおけるユーザ入力を検出する段階、前記ユーザ入力は、要件のセットを満たしている;
前記1又は複数のコンピュータプロセッサが、前記ユーザ入力をメモリに記憶する段階;
前記1又は複数のコンピュータプロセッサが、前記要件のセットを満たす合成入力を生成する段階;
前記1又は複数のコンピュータプロセッサが、前記合成入力を含む第2のフォームを伝送する段階;
前記1又は複数のコンピュータプロセッサが、前記合成入力についてリソースを検索する段階;
前記1又は複数のコンピュータプロセッサが、前記検索に従い、前記リソースの中に前記合成入力が存在するかを判定する段階;及び
前記1又は複数のコンピュータプロセッサが、前記判定に基づき動作する段階
を備える、データ漏洩を検出するためのコンピュータ実装方法。
【請求項2】
前記リソースは、システムメモリリソース、ネットワーク通信リソース、及びそれらの組み合わせからなる群から選択されるリソースを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記要件のセットは、ユーザパスワード要件に関連する、請求項1又は2に記載のコンピュータ実装方法。
【請求項4】
前記1又は複数のコンピュータプロセッサが、前記リソースの中の前記合成入力を検出する段階;及び
前記1又は複数のコンピュータプロセッサが、前記リソースの中の前記合成入力に関連付けられたアラートを生成する段階
を更に備える、請求項1又は2に記載のコンピュータ実装方法。
【請求項5】
前記ユーザ入力は、ユーザパスワードを含み、ユーザ認証プロセスを停止する段階を更に含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記1又は複数のコンピュータプロセッサが、前記リソースの中の前記合成入力を検出することに失敗する段階;及び
前記1又は複数のコンピュータプロセッサが、前記ユーザ入力を含む前記第1のフォームを送信する段階
を更に備える、請求項1又は2に記載のコンピュータ実装方法。
【請求項7】
リソースを検索する段階は、前記合成入力を含む前記第1のフォームを送信する段階に続き、書き込みコマンドの対象となるメモリリソースを検索する段階を有する、請求項1又は2に記載のコンピュータ実装方法。
【請求項8】
コンピュータプロセッサに:
第1のフォームにおけるユーザ入力を検出する手順、前記ユーザ入力は、要件のセットを満たしている;
前記ユーザ入力をメモリに記憶する手順;
前記要件のセットを満たす合成入力を生成する手順;
前記合成入力を含む第2のフォームを伝送する手順;
前記合成入力についてリソースを検索する手順;
前記検索に従い、前記リソースの中に前記合成入力が存在するかを判定する手順;及び
前記判定に基づき動作する手順
を実行させるための、データ漏洩を検出するためのコンピュータプログラム。
【請求項9】
前記リソースは、システムメモリリソース、ネットワーク通信リソース、及びそれらの組み合わせからなる群から選択されるリソースを含む、請求項8に記載のコンピュータプログラム。
【請求項10】
前記要件のセットは、ユーザパスワード要件に関連する、請求項8又は9に記載のコンピュータプログラム。
【請求項11】
記コンピュータプロセッサに:
前記リソースの中の前記合成入力を検出する手順;及び
前記リソースの中の前記合成入力に関連付けられたアラートを生成する手順
に実行させる、請求項8又は9に記載のコンピュータプログラム。
【請求項12】
前記ユーザ入力は、ユーザパスワードを含み、前記コンピュータプロセッサに、ユーザ認証プロセスを停止する手順を更に実行させる、請求項11に記載のコンピュータプログラム。
【請求項13】
記コンピュータプロセッサに:
前記リソースの中の前記合成入力を検出することに失敗した後に、前記ユーザ入力を含む前記第1のフォームを送信する手順
に実行させる、請求項8又は9に記載のコンピュータプログラム。
【請求項14】
リソースを検索する手順は、前記合成入力を含む前記第1のフォームを送信する手順に続き、書き込みコマンドの対象となるメモリリソースを検索する手順を有する、請求項8又は9に記載のコンピュータプログラム。
【請求項15】
1又は複数のコンピュータプロセッサ;
1又は複数のコンピュータ可読ストレージデバイス;及び
前記1又は複数のコンピュータプロセッサによる実行のために前記1又は複数のコンピュータ可読ストレージデバイス上に記憶されたプログラム命令
を備え、前記記憶されたプログラム命令は:
第1のフォームにおけるユーザ入力を検出するためのプログラム命令、前記ユーザ入力は、要件のセットを満たしている;
前記ユーザ入力をメモリに記憶するためのプログラム命令;
前記要件のセットを満たす合成入力を生成するためのプログラム命令;
前記合成入力を含む第2のフォームを伝送するためのプログラム命令;
前記合成入力についてリソースを検索するためのプログラム命令;
前記検索に従い、前記リソースの中に前記合成入力が存在するかを判定するためのプログラム命令;及び
前記判定に基づき動作するためのプログラム命令
を有する、データ漏洩を検出するためのコンピュータシステム。
【請求項16】
前記リソースは、システムメモリリソース、ネットワーク通信リソース、及びそれらの組み合わせからなる群から選択されるリソースを含む、請求項15に記載のコンピュータシステム。
【請求項17】
前記要件のセットは、ユーザパスワード要件に関連する、請求項15又は16に記載のコンピュータシステム。
【請求項18】
前記記憶されたプログラム命令は:
前記リソースの中の前記合成入力を検出するためのプログラム命令;及び
前記リソースの中の前記合成入力に関連付けられたアラートを生成するためのプログラム命令
を更に有する、請求項15又は16に記載のコンピュータシステム。
【請求項19】
前記ユーザ入力は、ユーザパスワードを含み、ユーザ認証プロセスを停止する手順を更に含む、請求項18に記載のコンピュータシステム。
【請求項20】
前記記憶されたプログラム命令は:
前記リソースの中の前記合成入力を検出することに失敗した後に、前記ユーザ入力を含む前記第1のフォームを送信するためのプログラム命令
を更に有する、請求項15又は16に記載のコンピュータシステム。
【国際調査報告】