(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-16
(54)【発明の名称】フィッシングウェブサイトを検出するためにURL特徴量ハッシュ、HTMLエンコーディング、及びコンテンツページ埋め込み画像を使用する機械学習ベースのシステム及び方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20241008BHJP
G06T 7/00 20170101ALI20241008BHJP
G06V 10/82 20220101ALI20241008BHJP
【FI】
G06F21/55 320
G06T7/00 350C
G06V10/82
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024516418
(86)(22)【出願日】2022-09-13
(85)【翻訳文提出日】2024-05-07
(86)【国際出願番号】 US2022043392
(87)【国際公開番号】W WO2023043750
(87)【国際公開日】2023-03-23
(32)【優先日】2021-09-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】517325652
【氏名又は名称】ネットスコープ, インク.
【氏名又は名称原語表記】NETSKOPE, INC.
(74)【代理人】
【識別番号】100114476
【氏名又は名称】政木 良文
(72)【発明者】
【氏名】リャオ, イーファ
(72)【発明者】
【氏名】アザラルーズ, アリ
(72)【発明者】
【氏名】ミラミルカニ, ナジェメ
(72)【発明者】
【氏名】スー, ジー
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096HA11
5L096KA04
(57)【要約】
URLをパース及びハッシュ化して特徴量ハッシュを生成するURL特徴量ハッシャと、URLのページにアクセスして内部的にレンダリングし、HTMLトークンを抽出し、レンダリングの画像をキャプチャするヘッドレスブラウザと、を有する、URL及びコンテンツページをフィッシングか、又はそうでないとして分類する、フィッシング分類器が開示される。また、URLをパース及びハッシュ化して特徴量ハッシュにするURL特徴量ハッシャと、URLのページにアクセスしてページを内部的にレンダリングし、レンダリングから単語を抽出し、ページの画像をキャプチャするヘッドレスブラウザと、を有する、URLとこのURLを介してアクセスされたコンテンツページと、をフィッシングか、又はそうでないとして分類する、フィッシング分類器が開示される。URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はそうでないとして分類することが更に開示される。1つ以上の開示に加えて、フィッシング分類層、URL埋め込み器、及びHTMLエンコーダがある。
【選択図】なし
【特許請求の範囲】
【請求項1】
URLと、前記URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する、フィッシング分類器であって、
前記URLを特徴量にパースして、前記特徴量をハッシュ化して、URL特徴量ハッシュを生成する、URL特徴量ハッシャと、
前記URLのコンテンツページにアクセスし、前記コンテンツページを内部的にレンダリングし、
前記コンテンツページの前記レンダリングから単語を抽出し、
前記コンテンツページの前記レンダリングの少なくとも一部の画像をキャプチャするように構成されたヘッドレスブラウザと、
自然言語に関して事前訓練されており、前記コンテンツページから抽出された前記単語の単語エンコーディングを生成する、自然言語エンコーダと、
画像に関して事前訓練されており、前記コンテンツページからキャプチャされた前記画像の画像埋め込みを生成する、画像埋め込み器と、
前記URLと、前記URLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つのスコアを生成するように、前記URL特徴量ハッシュと、前記単語エンコーディングと、前記URLの前記画像埋め込みと、の連結された入力を処理するフィッシング分類器層と、を含み、
前記フィッシング分類器層が、例示的なURLの、前記URL特徴量ハッシュ、前記単語エンコーディング、及び前記画像埋め込みに関して訓練されており、各例示的なURLが、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う、フィッシング分類器。
【請求項2】
前記自然言語エンコーダが、Transformerからの双方向エンコーダ表現(略してBERT)と、ユニバーサルセンテンスエンコーダと、のうちの1つである、請求項1に記載のフィッシング分類器。
【請求項3】
前記画像埋め込み器が、残差ニューラルネットワーク(略してResNet)と、Inception-v3と、VGG-16と、のうちの1つである、請求項1に記載のフィッシング分類器。
【請求項4】
URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータ実装方法であって、
URL特徴量ハッシャを適用し、前記URLから特徴量を抽出し、前記特徴量をハッシュ化して、URL特徴量ハッシュを生成することと、
自然言語に関して事前訓練されており、前記コンテンツページのレンダリングからパースされた単語の単語エンコーディングを生成する、自然言語エンコーダを適用することと、
画像に関して事前訓練されており、前記レンダリングの少なくとも一部からキャプチャされた画像の画像埋め込みを生成する、画像埋め込み器を適用することと、
フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLについての、前記URL特徴量ハッシュと、前記単語エンコーディングと、前記画像埋め込みと、の連結に関して訓練されたフィッシング分類器層を適用することと、
前記URL特徴量ハッシュと、前記単語エンコーディングと、前記画像埋め込みと、の連結された入力を処理して、前記URLと、前記URLを介してアクセスされた前記コンテンツと、がフィッシングリスクを提示する少なくとも1つのスコアを生成することと、を含む、コンピュータ実装方法。
【請求項5】
ヘッドレスブラウザを適用することと、
前記URLを介して前記コンテンツページにアクセスし、前記コンテンツページを内部的にレンダリングすることと、
前記レンダリングされた前記コンテンツページから単語をパースすることと、
前記レンダリングされたコンテンツページの少なくとも一部の画像をキャプチャすることと、を更に含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記自然言語エンコーダが、Transformerからの双方向エンコーダ表現(略してBERT)と、ユニバーサルセンテンスエンコーダと、のうちの1つである、請求項4に記載のコンピュータ実装方法。
【請求項7】
前記画像埋め込み器が、残差ニューラルネットワーク(略してResNet)と、Inception-v3と、VGG-16と、のうちの1つである、請求項4に記載のコンピュータ実装方法。
【請求項8】
URLと、前記URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータプログラム命令で特徴付けられた非一時的コンピュータ可読記憶媒体であって、前記命令が、プロセッサ上で実行されるときに、
URL特徴量ハッシャを適用し、前記URLから特徴量を抽出し、前記特徴量をハッシュ化して、URL特徴量ハッシュを生成することと、
自然言語に関して事前訓練されており、前記コンテンツページのレンダリングからパースされた単語の単語エンコーディングを生成する、自然言語エンコーダを適用することと、
画像に関して事前訓練されており、前記レンダリングの少なくとも一部からキャプチャされた画像の画像埋め込みを生成する、画像埋め込み器を適用することと、
フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLについての、前記URL特徴量ハッシュと、前記単語エンコーディングと、前記画像埋め込みと、の連結に関して訓練されたフィッシング分類器層を適用することと、
前記URL特徴量ハッシュと、前記単語エンコーディングと、前記画像埋め込みと、の連結された入力を処理して、前記URLと、前記URLを介してアクセスされた前記コンテンツと、がフィッシングリスクを提示する少なくとも1つのスコアを生成することと、を含む方法を実装する、非一時的コンピュータ可読記憶媒体。
【請求項9】
ヘッドレスブラウザを適用することと、
前記URLを介して前記コンテンツページにアクセスし、前記コンテンツページを内部的にレンダリングすることと、
前記レンダリングされた前記コンテンツページから単語をパースすることと、
前記レンダリングされたコンテンツページの少なくとも一部の画像をキャプチャすることと、を更に含む、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項10】
前記自然言語エンコーダが、Transformerからの双方向エンコーダ表現(略してBERT)と、ユニバーサルセンテンスエンコーダと、のうちの1つである、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項11】
前記画像埋め込み器が、残差ニューラルネットワーク(略してResNet)と、Inception-v3と、VGG-16と、のうちの1つである、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項12】
フィッシング分類器層を訓練して、URLと、前記URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するためのコンピュータ実装方法であって、
例示的なURLについて、
URL特徴量ハッシュと、前記コンテンツページから抽出された単語の単語エンコーディングと、前記コンテンツページのレンダリングからキャプチャされた画像の画像埋め込みと、の連結された入力を受信及び処理して、
各例示的なURLと、前記URLを介してアクセスされた前記コンテンツページと、がフィッシングリスクを提示する少なくとも1つのスコアを生成することと、
各例示的なURLについての前記スコアと、前記例示的なURL及び前記コンテンツページがフィッシングか、又はフィッシングでないという各対応するグラウンドトゥルースと、の間の差を計算することと、
前記例示的なURLについての差を使用して、前記フィッシング分類器層の係数を訓練することと、
本番URLと、前記本番URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する使用のために、前記訓練された係数を保存することと、を含む、コンピュータ実装方法。
【請求項13】
前記差を、前記フィッシング分類器層を越えて、前記単語エンコーディングを生成するために使用されるエンコーディング層にバックプロパゲートしないことを更に含む、請求項12に記載のコンピュータ実装方法。
【請求項14】
前記差を、前記フィッシング分類器層を越えて、前記画像埋め込みを生成するために使用される埋め込み層にバックプロパゲートしないことを更に含む、請求項12に記載のコンピュータ実装方法。
【請求項15】
前記例示的なURLの各々について前記URL特徴量ハッシュを生成することと、前記コンテンツページのレンダリングから抽出された単語の前記単語エンコーディングを生成することと、前記レンダリングからキャプチャされた前記画像の前記画像埋め込みを生成することと、を更に含む、請求項12に記載のコンピュータ実装方法。
【請求項16】
Transformerからの双方向エンコーダ表現(略してBERT)エンコーダ又はBERTエンコーダの変形を使用して、前記単語エンコーディングを生成することを更に含む、請求項15に記載のコンピュータ実装方法。
【請求項17】
残差ニューラルネットワーク(略してResNet)と、Inception-v3と、VGG-16と、のうちの1つを使用して前記画像埋め込みを生成することを更に含む、請求項15に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、以下の優先権及び利益を主張する:
【0002】
現在は2022年9月13日に発行された米国特許第11,444,978号(代理人整理番号NSKO1052-1)である、2021年9月14日に出願された「A Machine Learning-Based system for Detecting Phishing Websites Using the URLs, Word encodings and Images of Content Pages」と題された米国出願第17/475,236号、及び
【0003】
現在は2022年5月17日に発行された米国特許第11,336,689号(代理人整理番号NSKO1060-1)である、2021年9月14日に出願された「Detecting Phishing Websites via a Machine Learning-Based System Using URL Feature Hashes, HTML Encodings and Embedded Images of Content Pages」と題された米国出願第17/475,233号、及び
【0004】
現在は2022年9月6日に発行された米国特許第11,438,377号(代理人整理番号:NSKO1061-1)である、2021年9月14日に出願された「Machine Learning-Based Systems and Methods of Using URLs and HTML Encodings for Detecting Phishing Websites」と題された米国出願第17/475,230号。
【0005】
関連事例
本出願はまた、本明細書に完全に記載されているかのように、あらゆる目的で参照により援用される以下の出願にも関連する。
【0006】
現在は2021年8月3日に発行された米国特許第11,082,445号(代理人整理番号:NSKO1037-1)である2021年1月21日に出願された「Preventing Phishing Attacks Via Document Sharing」と題された米国出願第17/154,978号の継続である、2021年7月30日に出願された「Preventing Cloud-Based Phishing Attacks Using Shared Documents with Malicious Links」と題された米国出願第17/390,803号(代理人整理番号1037-2)。
【0007】
援用
以下の材料は、本出願において参考として援用される。
“KDE Hyper Parameter Determination,”Yi Zhang et al.,Netskope,Inc.、
2016年9月2日に出願された「Machine Learning Based Anomaly Detection」と題する米国非仮出願第15/256,483号(代理人整理番号NSKO1004-2)(現在は2019年4月23日に発行された米国特許第10,270,788号)、
2019年4月19日に出願された「Machine Learning Based Anomaly Detection」と題する米国非仮出願第16/389,861号(代理人整理番号NSKO1004-3)(現在は2021年6月1日に発行された米国特許第11,025,653号)、
2014年3月05日に出願された「Security For Network Delivered Services」と題する米国非仮出願第14/198,508号(代理人整理番号NSKO1000-3)(現在は2016年2月23日に発行された米国特許第9,270,765号)、
2016年12月02日に出願された「Systems and Methods of Enforcing Multi-Part Policies on Data-Deficient Transactions of Cloud Computing Services」と題する米国非仮出願第15/368,240号(代理人整理番号NSKO1003-2)(現在は2020年11月03日に発行された米国特許第10,826,940号)、及び2016年3月11日に出願された「Systems and Methods of Enforcing Multi-Part Policies on Data-Deficient Transactions of Cloud Computing Services」と題する米国仮出願第62/307,305号(代理人整理番号NSKO1003-1)、
“Cloud Security for Dummies,Netskope Special Edition”by Cheng,Ithal,Narayanaswamy,and Malmskog,John Wiley&Sons,Inc.2015;
“Netskope Introspection”by Netskope,Inc.;
“Data Loss Prevention and Monitoring in the Cloud”by Netskope,Inc.;
“The 5 Steps to Cloud Confidence”by Netskope,Inc.;
“Netskope Active Cloud DLP”by Netskope,Inc.;
「Repave the Cloud-Data Breach Collision Course」 by Netskope, Inc.、及び
「Netskope Cloud Confidence Index(商標)」by Netskope,Inc.
【0008】
開示される技術は、概して、クラウドベースのセキュリティに関し、より具体的には、コンテンツページのURL、単語エンコーディング、及び画像を使用して、フィッシングウェブサイトを検出するためのシステム及び方法に関する。また、コンテンツページのURL特徴量ハッシュ、HTMLエンコーディング、及び埋め込まれた画像を使用するための方法及びシステムが開示される。開示される技術は、機械学習及び統計分析を通じて、URLリンク及びダウンロードされたHTMLを介してリアルタイムでフィッシングを検出することに更に関する。
【背景技術】
【0009】
このセクションで考察される主題は、単にこのセクションにおけるその言及の結果として先行技術であると想定されるべきではない。同様に、このセクションで言及される問題、又は背景として提供される主題と関連する問題は、先行技術において以前に認識されていたと仮定されるべきではない。このセクションの主題は、異なるアプローチを表すにすぎず、それ自体、特許請求される技術の実装態様に対応することもできる。
【0010】
スピアヘッドフィッシングと呼ばれることもあるフィッシングが増加している。フィッシングによって盗まれたパスワードを使用して取得された文書の悪用によって、全国ニュースが中断されている。通常、電子メールには正当に見えるリンクが含まれており、正当に見えるページにつながり、ユーザは、フィッシング攻撃の危険にさらされるパスワードを入力する。クレジットカードスキマー又はガソリンポンプ若しくはATMのシムのようなクリーバーフィッシングサイトは、入力されたパスワードを実際のウェブサイトに転送し、経路から外れ得るため、ユーザは、パスワード盗難が発生したときにパスワード盗難を検出しない。近年、在宅勤務は、フィッシング攻撃の大幅な増加につながっている。
【0011】
フィッシングという用語は、無防備なユーザからウェブ上で機密情報を不正に取得するためのいくつかの方法を指す。フィッシングは、部分的には、ますます洗練された誘導を使用して会社の極秘情報を引き出すことから生じる。これらの方法は、一般に、フィッシング攻撃と称される。レンダリングされたウェブページが正当なログインページの外観を模倣している場合、ウェブサイトユーザは、フィッシング攻撃の被害に遭う。フィッシング攻撃の被害者は、不正なウェブサイトに誘導され、銀行口座、ログインパスワード、社会保障IDなどの機密情報の暴露をもたらす。
【0012】
最近のデータ侵害調査報告書によると、ソーシャルエンジニアリングに基づく大規模な攻撃の風潮が高まっている。これは、一部には、エクスプロイトの難易度の増加に起因している可能性があり、また一部には、そのようなエクスプロイトを防止及び検出するための機械学習(ML)アルゴリズムの進歩の利用の賜物である。したがって、フィッシング攻撃は、より頻繁かつ洗練なものになっている。新しい防御ソリューションが必要とされている。
【0013】
ML/DLを使用して、URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するための機会が生じる。また、URLと、このURLリンクを介してアクセスされ、かつダウンロードされたHTMLと、をリアルタイムでフィッシングか、又はフィッシングでないとして分類する機会も出現する。
【0014】
図面において、同様の参照文字は、概して、異なる図全体を通して同様の部分を指す。また、図面は、必ずしも縮尺通りではなく、代わりに、概して、開示される技術の原理を図示することに重点が置かれている。以下の説明では、開示される技術の種々の実装態様が、以下の図面を参照して説明される。
【図面の簡単な説明】
【0015】
【
図1】開示される技術の実装態様に従って、システムのアーキテクチャレベルの概略図が、URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類することを例示するものである。
【
図2】URL特徴量ハッシュのML/DLエンコーディングと、自然言語(NL)単語のエンコーディングと、フィッシングサイトを検出するためのキャプチャされたウェブサイト画像のエンコーディングと、を利用する、開示されるフィッシング検出エンジンの高レベルブロック図を例示するものである。
【
図3】参照のための、画像分類のための例示的なResNet残差CNNブロック図を例示するものである。
【
図4】各例示的なURLが、フィッシングサイトを検出するために、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う、URL特徴量ハッシュと、コンテンツページから抽出されたHTMLのエンコーディングと、例示的なURLのコンテンツページからキャプチャされた画像の埋め込みと、を用いるML/DLを利用する、開示されるフィッシング検出エンジンの高レベルブロック図を例示するものである。
【
図5】フィッシング検出エンジンで使用する前に、画像の分類のために事前訓練された参照残差ニューラルネットワーク(ResNet)のブロック図を例示するものである。
【
図6】URL埋め込み器及びHTMLエンコーダを用いるML/DLを利用する、開示されるフィッシング検出エンジン602の高レベルブロック図を例示するものである。
【
図7】複数の開示されるフィッシング検出システムの精度再現率グラフを示す。
【
図8】本明細書に記載されるフィッシングウェブサイト検出のための開示されるシステムの受信者動作特性曲線(ROC)を例示するものである。
【
図9】URL埋め込み器及びHTMLエンコーダを用いるML/DLを利用する、開示されるフィッシング検出エンジンのフィッシングウェブサイト検出のための受信者動作特性曲線(ROC)を例示するものである。
【
図10】オープンニューラルネットワーク交換(ONNX)形式で表されるC++コードを用いて、URL埋め込みを生成する一次元1D畳み込みニューラルネットワーク(Conv1D)URL埋め込み器の機能性のブロック図を例示するものである。
【
図11】フィッシング分類器層に入力されるhtmlエンコーディングをもたらす、開示されるhtmlエンコーダの機能性のブロック図を示す。
【
図12A】フィッシング分類器層に入力されるhtmlエンコーディングをもたらす、開示されるhtmlエンコーダの概要ブロック図を示す。
【
図12B】オープンニューラルネットワーク交換(ONNX)形式で表されるC++コードを用いて、フィッシング分類器層675に入力されるhtmlエンコーディングをもたらす、htmlエンコーダの機能性の計算データフローグラフを合わせて例示するものである。入力エンコーディング及び位置埋め込みを例示する、左列の下部にある結合子が右列の上部に流れ込む、点線で区切られた2つの列におけるデータフローグラフの1つのセクションを示す。
【
図12C】オープンニューラルネットワーク交換(ONNX)形式で表されるC++コードを用いて、フィッシング分類器層675に入力されるhtmlエンコーディングをもたらす、htmlエンコーダの機能性の計算データフローグラフを合わせて例示するものである。データ接続に沿ってデータを非同期的に伝送する計算ノードを有するデータフローグラフの一例を示す、マルチヘッドアテンションの単一の反復を例示するものである。
【
図12D】オープンニューラルネットワーク交換(ONNX)形式で表されるC++コードを用いて、フィッシング分類器層675に入力されるhtmlエンコーディングをもたらす、htmlエンコーダの機能性の計算データフローグラフを合わせて例示するものである。点線で区切られた3つの列を使用して例示される、ONNX演算を使用する加算、正規化、及びフィードフォワード機能性を示す。
【
図13】オープンニューラルネットワーク交換(ONNX)形式で表されるコードを用いて、特定のウェブサイトがフィッシングウェブサイトである可能性がどのくらいあるかを信号伝達する尤度スコア(複数可)を生成する、開示されるフィッシング分類器層の機能性の計算データフローグラフを例示するものである。
【
図14】開示される技術の一実装態様による、URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するために使用され得るコンピュータシステムの簡略化されたブロック図である。
【発明を実施するための形態】
【0016】
以下の詳細な説明は、図面を参照して行われる。特許請求の範囲によって定義されるその範囲を限定するためではなく、開示される技術を例示するために、サンプルの実装態様が説明される。この議論は、当業者が開示される技術を作製及び使用することを可能にするために提示され、特定の用途及びその要件の文脈において提供される。開示される実施形態に対する様々な修正は、当業者には容易に明白であり、本明細書で定義される一般的な原理は、本発明の趣旨及び範囲から逸脱することなく、他の実装態様態及び用途に適用され得る。したがって、開示される技術は、示される実装態様に限定されるものではなく、本明細書で開示される原理及び特徴と一致する最も広い範囲を与えられるべきである。
【0017】
開示される技術によって対処される問題は、フィッシングウェブサイトの検出である。セキュリティ部門は、フィッシングが生じるとフィッシングキャンペーンをカタログ化しようと試みる。セキュリティベンダは、フィッシングウェブサイトのリストに依存して、セキュリティエンジンを動かす。フィッシングリンクをカタログ化する独自のソース及びオープンソースの両方が利用可能である。フィッシングユニバーサルリソースロケータ(URL)リストの2つのオープンソースのコミュニティの例は、PhishTank及びOpenPhishである。セキュリティ部門がリストを使用して、悪意のあるリンクを分析し、かつ悪意のあるURLからシグネチャを生成する。シグネチャを使用して、典型的には、URLの一部若しくは全て、又はそのコンパクトハッシュを一致させることによって、悪意のあるリンクを検出する。シグネチャからの一般化が、ハッカーがシステムを攻撃するために使用することができるゼロデイフィッシング攻撃を阻止するための主なアプローチとなっている。ゼロデイとは、ベンダ又は開発者が知ったばかりであり、かつ修正するための日数がゼロである、最近発見されたセキュリティ脆弱性を指す。
【0018】
フィッシング詐欺師が捕まるのを回避するため、フィッシングキャンペーンは、フィッシングリンクのウェブサイトが分析され得る前に終了することがある。セキュリティ部門によってウェブサイトがリストに掲載されるとすぐに、フィッシング詐欺師によってウェブサイトが解体され得る。収集されたURLの分析は、アクティブなフィッシングサイトへの悪意のあるURLを追跡することよりも確実に永続する。サイトは、サイトが現れた時と同じように突然消失する。一部には消失するサイトに起因して、最先端の技術は、URLを分析することとなっている。
【0019】
開示される技術は、機械学習/深層学習(ML/DL)を、非常に低い偽陽性率及び良好な再現率でフィッシング検出に適用する。テキスト/画像解析に基づく、かつHTML解析に基づく、3つの転移学習技法が提示される。
【0020】
第1の技法では、我々は、ウェブページのテキストコンテンツ及び視覚コンテンツを埋め込むために、多言語自然言語理解及びコンピュータビジョンのための新しい深層学習アーキテクチャを利用することによって、転移学習を使用する。フィッシング検出にML/DLを適用する第1の世代は、ウェブページテキスト及びウェブページ画像の連結埋め込みを使用する。我々は、テキスト及び画像の埋め込みに関する一般的な訓練からの転移学習を利用して、Transformerからの双方向エンコーダ表現(BERT)及び残差ニューラルネットワーク(ResNet)のデコーダ関数などの、モデルのエンコーダ関数を使用する検出分類器を訓練する。大量のデータで訓練されるため、そのようなモデルの最終層は、ウェブページの視覚コンテンツ及びテキストコンテンツのための信頼性の高いエンコーディングとして機能する。良性の、フィッシングでないリンクはフィッシングサイトよりもはるかに豊富であり、フィッシングでないリンクのブロックは迷惑であるため、偽陽性を低減するように注意が払われる。
【0021】
フィッシング検出にML/DLを適用する第2の技法は、ブラウザによるディスプレイへのレンダリングを複製するためのHTMLの埋め込みを反直感的にデコードする新しいエンコーダ-デコーダペアを作成する。埋め込みは、もちろん情報損失がある。デコードは、ブラウザが達成するものよりもはるかに正確でない。HTMLコードを埋め込むことへのエンコーダ-デコーダアプローチは、転移学習を容易にする。エンコーダがHTMLを埋め込むように訓練されると、分類器が、デコーダを置き換える。埋め込みに基づく転移学習は、比較的小さな訓練コーパスを用い、実用的である。現在、フィッシングページの例のうちのわずか20k又は40kの例が、埋め込みを処理する2つの全結合層の分類器を訓練するのに十分であることが証明されている。HTMLの第2世代の埋め込みは、ResNet画像埋め込み、URL特徴量埋め込み、又はResNet画像埋め込み及びURL特徴量埋め込みの両方などの、他の埋め込みを連結することによって強化され得る。
【0022】
しかしながら、新しいURLのスケールは、深層学習アーキテクチャの高い計算複雑性、及びウェブページのコンテンツのレンダリング時間及びパース時間に起因して、これらのコンテンツを使用するウェブページのリアルタイム検出を妨げる可能性がある。
【0023】
ML/DLをフィッシング検出に適用する第3の世代は、URL埋め込み器、HTMLエンコーダ、及びフィッシング分類器層を使用して、URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類し、悪意のあるウェブページが検出されたときにリアルタイムで反応することができる。この第3の技術は、ウェブサイトを訪問する必要がなく、訓練されたより高速のモデルを使用して、疑わしいURLを効果的にフィルタリングする。疑わしいURLを、最終検出のために後で第1又は第2の技術にルーティングすることもできる。
【0024】
次に、オフラインモードで、及びリアルタイムでURLリンク及びダウンロードされたHTMLを介してフィッシングを検出するための例示的なシステムについて説明する。
【0025】
アーキテクチャ
図1は、URLリンク及びダウンロードされたHTMLを介してフィッシングを検出するためのシステム100のアーキテクチャレベルの概略図を示す。システム100はまた、リダイレクトされた、又は隠された、URLリンク及びリアルタイムでダウンロードされたHTMLを介してフィッシングを検出するための機能性を含む。
図1はアーキテクチャ図であるため、説明をより明確にするために、一部の詳細は意図的に省略されている。
図1の説明は以下のように構成される。最初に、図の要素について説明し、その後、それらの相互接続について説明する。次に、システムにおける要素の使用をより詳細に説明する。
【0026】
図1は、エンドポイント166を含むシステム100を含む。ユーザエンドポイント166は、クラウドベースのストア136及びクラウドベースのサービス138上に記憶されたデータへのアクセス及び対話を提供する、コンピュータ174、スマートフォン176、及びコンピュータタブレット178などのデバイスを含み得る。別の組織ネットワークでは、組織ユーザは、追加のデバイスを利用し得る。インラインプロキシ144が、ネットワーク155を通じて、特に、ネットワーク管理者122、ネットワークポリシー132、評価エンジン152、及びデータストア164を含むネットワークセキュリティシステム112を通じて、ユーザエンドポイント166とクラウドベースのサービス138との間に介在する。インラインプロキシ144は、ネットワークセキュリティシステム112の一部として、ネットワーク155を通じてアクセス可能である。インラインプロキシ144は、ユーザエンドポイント166と、クラウドベースのストア136と、他のクラウドベースのサービス138との間のトラフィックの監視及び制御を提供する。インラインプロキシ144は、HTML及びウェブページのスナップショットを収集し、データセットをデータストア164に記憶するアクティブスキャナ154を有する。トラフィックからリアルタイムで特徴量を抽出することができ、かつスナップショットがライブトラフィックから収集されない場合、アクティブスキャナ154は、フィッシング検出にML/DLを適用する第3の世代のシステムにおけるように、URLのウェブページコンテンツをクロールするために必要とされない。フィッシングウェブサイトを検出するための3つのML/DLシステムについて、以下で詳細に説明する。インラインプロキシ144は、特に、データ損失防止(DLP)ポリシー及びプロトコルを含むネットワークセキュリティポリシーを実施するために、ユーザエンドポイント166とクラウドベースのサービス138との間のネットワークトラフィックを監視する。評価エンジン152は、フィッシングウェブサイトの開示される検出を介して、悪意があるとみなされるURLのデータベースレコードをチェックし、これらのフィッシングURLは、自動的かつ恒久的にブロックされる。
【0027】
URLリンク及びダウンロードされたHTMLを介してリアルタイムでフィッシングを検出するために、ユーザエンドポイント166とクラウドベースのストレージプラットフォームとの間に位置付けられたインラインプロキシ144は、着信トラフィックを検査し、以下に説明されるフィッシング検出エンジン202、404、602に転送する。インラインプロキシ144は、ユーザがプロキシを介してページにアクセスすることを可能にする前に、リンクに対応するコンテンツをサンドボックス化し、リンクを検査/探索して、URLによって指し示されるページが安全であることを確認するように構成され得る。次いで、悪意のあるものとして識別されたリンクを隔離し、セキュアなサンドボックス化を含む、知られている技法を利用して脅威を検査することができる。
【0028】
図1の説明を続けると、クラウドベースのサービス138は、クラウドベースのホスティングサービス、ウェブ電子メールサービス、ビデオ、メッセージング、及び音声通話サービス、ストリーミングサービス、ファイル転送サービス、並びにクラウドベースのストレージサービスを含む。ネットワークセキュリティシステム112は、公共ネットワーク155を介してユーザエンドポイント166及びクラウドベースのサービス138に接続する。データストア164は、悪意のあるURLからの悪意のあるリンク及びシグネチャのリストを記憶する。シグネチャは、典型的には、URLの一部若しくは全て、又はそのコンパクトハッシュを一致させることによって、悪意のあるリンクを検出するために使用され、データストア164は、1つ以上のテナントから共通データベースイメージのテーブル内に情報を記憶して、マルチテナントデータベースシステム(MTDS)などの多くの方法で実装され得るオンデマンドデータベースサービス(ODDS)を形成する。データベース画像は、1つ以上のデータベースオブジェクトを含むことができる。他の実装態様では、データベースは、リレーショナルデータベース管理システム(RDBMS)、オブジェクト指向データベース管理システム(OODBMS)、分散ファイルシステム(DFS)、ノースキーマデータベース、又は任意の他のデータ記憶システム若しくはコンピューティングデバイスであり得る。一部の実装態様では、収集されたメタデータは、処理及び/又は正規化される。場合によっては、メタデータは、構造化データを含み、機能性は、クラウドベースのサービス138によって提供される特定のデータ構造をターゲットとする。フリーテキストなどの非構造化データもまた、クラウドベースのサービス138によって提供され、クラウドベースのサービス138に戻ってターゲットにされ得る。構造化データ及び非構造化データの両方が、JSON(JavaScriptオブジェクト表記)、BSON(バイナリJSON)、XML、Protobuf、Avro、又はThriftオブジェクトのような半構造化データ形式で記憶されることが可能であり、半構造化データ形式は、文字列フィールド(又は列)と、数字、文字列、配列、オブジェクトなどのような潜在的に異なる型の対応する値と、からなる。他の実装態様では、JSONオブジェクトは、ネストされることができ、フィールドは、多値、例えば、配列、ネストされた配列などであり得る。これらのJSONオブジェクトは、Apache Cassandra(商標)、GoogleのBigtable(商標)、HBase(商標)、Voldemort(商標)、CouchDB(商標)、MongoDB(商標)、Redis(商標)、Riak(商標)、Neo4j(商標)などのようなスキーマレス又はNoSQLキーバリューメタデータストア178に記憶され、これは、SQLのデータベースと同等のキースペースを使用して、パースされたJSONオブジェクトを記憶する。各キースペースは、テーブルに類似し、かつ行と列のセットとで構成される列ファミリに分割される。
【0029】
図1の説明を更に続けると、システム100は、任意の数のクラウドベースのサービス138、すなわち、ポイントツーポイントストリーミングサービス、ホストサービス、クラウドアプリケーション、クラウドストア、クラウドコラボレーション及びメッセージングプラットフォーム、並びにクラウド顧客関係管理(CRM)プラットフォームを含むことができる。サービスには、BitTorrent(BT)、ユーザデータグラムプロトコル(UDP)ストリーミング及びファイル転送プロトコル(FTP)などのポータルトラフィックのためのプロトコルを介したピアツーピアファイル共有(P2P)と、セッション開始プロトコル(SIP)及びSkypeを介したインスタントメッセージオーバーインターネットプロトコル(IP)及びモバイルフォンコーリングオーバーLTE(VoLTE)などの音声、ビデオ及びメッセージングマルチメディア通信セッションとが含まれ得る。サービスは、インターネットトラフィック、クラウドアプリケーションデータ、及び汎用ルーティングカプセル化(GRE)データを処理することができる。ネットワークサービス又はアプリケーションは、ウェブベース(例えば、ユニフォームリソースロケータ(URL)を介してアクセスされる)又は同期クライアントなどのネイティブとすることができる。例としては、SaaS(software-as-a-service)提供物、PaaS(platform-as-a-service)提供物、及びIaaS(infrastructure-as-a-service)提供物、並びにURLを介して公開される内部エンタープライズアプリケーションが挙げられる。今日の一般的なクラウドベースのサービスの例として、Salesforce.com(商標)、Box(商標)、Dropbox(商標)、Google Apps(商標)、Amazon AWS(商標)、Microsoft Office 365(商標)、Workday(商標)、Oracle on Demand(商標)、Taleo(商標)、Yammer(商標)、Jive(商標)、及びConcur(商標)が挙げられる。
【0030】
システム100の要素の相互接続において、ネットワーク155は、コンピュータ、タブレット及びモバイルデバイス、クラウドベースのホスティングサービス、ウェブ電子メールサービス、ビデオ、メッセージング、及び音声通話サービス、ストリーミングサービス、ファイル転送サービス、クラウドベースのストレージサービス136、並びにネットワークセキュリティシステム112を通信可能に結合する。通信経路は、パブリック及び/又はプライベートネットワーク上のポイントツーポイントであり得る。通信は、種々のネットワーク、例えば、プライベートネットワーク、VPN、MPLS回路、又はインターネットを経由して生じることができ、適切なアプリケーションプログラムインターフェース(API)及びデータ交換フォーマット、例えば、REST、JSON、XML、SOAP、及び/又はJMSを使用することができる。全ての通信は暗号化することができる。この通信は、概して、EDGE、3G、4G LTE、Wi-Fi、及びWiMAXなどのプロトコルを介して、ローカルエリアネットワーク(LAN)、WAN(広域通信網)、電話ネットワーク(パブリック交換電話網(PSTN))、セッション開始プロトコル(SIP)、無線ネットワーク、ポイントツーポイントネットワーク、スター型ネットワーク、トークンリングネットワーク、ハブネットワーク、モバイルインターネットを含むインターネットなどのネットワークを介する。加えて、ユーザ名/パスワード、OAuth、Kerberos、SecureID、デジタル証明書などの種々の認可及び認証技術が、通信をセキュアにするために使用され得る。
【0031】
図1のシステムアーキテクチャの説明を更に続けると、ネットワークセキュリティシステム112は、互いに通信するように結合された1つ以上のコンピュータ及びコンピュータシステムを含むことができるデータストア164を含む。それらはまた、1つ以上の仮想コンピューティング及び/又はストレージリソースであり得る。例えば、ネットワークセキュリティシステム112は、1つ以上のAmazon EC2インスタンスとすることができ、データストア164は、Amazon S3(商標)ストレージとすることができる。直接物理コンピュータ又は従来の仮想マシン上でネットワークセキュリティシステム112を実装するのではなく、Salesforce製のRackspace、Heroku、又はForce.comなどの他のサービスとしてのコンピューティングプラットフォームを使用することができる。加えて、セキュリティ機能を実装するために、1つ以上のエンジンを使用することができ、1つ以上のポイントオブプレゼンス(POP)を確立することができる。
図1のエンジン又はシステムコンポーネントは、種々のタイプのコンピューティングデバイス上で実行されるソフトウェアによって実装される。例示的なデバイスは、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、及びサーバファーム、又は任意の他のデータ処理システム若しくはコンピューティングデバイスである。エンジンは、異なるネットワーク接続を介してデータベースに通信可能に結合することができる。
【0032】
システム100は、特定のブロックを参照して本明細書で説明されるが、ブロックは、説明の便宜のために定義され、構成部品の特定の物理的配置を必要とすることを意図するものではないことを理解されたい。更に、ブロックは、物理的に別個のコンポーネントに対応する必要はない。物理的に別個のコンポーネントが使用される限りにおいて、コンポーネント間の接続は、必要に応じて有線及び/又は無線とすることができる。異なる要素又はコンポーネントは、単一のソフトウェアモジュールに組み合わせることができ、複数のソフトウェアモジュールは、同じプロセッサ上で実行することができる。
【0033】
悪意のある行為者の最善の試みにもかかわらず、フィッシングウェブサイトのコンテンツ及び外観は、開示される深層学習モデルがフィッシングウェブサイトを確実に検出するために利用することができる特徴量を提供する。次に説明される開示されるシステムでは、我々は、ウェブページのテキストコンテンツ及び視覚コンテンツを埋め込むために、多言語自然言語理解及びコンピュータビジョンのための新しい深層学習アーキテクチャを利用することによって、転移学習を使用する。
【0034】
図2は、URL特徴量ハッシュと、自然言語(NL)単語のエンコーディングと、フィッシングサイトを検出するためのキャプチャされたウェブサイト画像の埋め込みと、を用いるML/DLを利用する、開示されるフィッシング検出エンジン202の高レベルブロック
図200を例示している。開示されるフィッシング分類器層275は、特定のウェブサイトがフィッシングウェブサイトである可能性がどのくらいあるかを表す尤度スコア285を生成する。一実施形態では、フィッシング検出エンジン202は、エンコーダ264として100を超える言語をサポートするTransformer(BERT)モデルからの多言語双方向エンコーダ表現を利用し、画像に対する残差ニューラルネットワーク(ResNet50)を埋め込み器256として利用する。URL特徴量ハッシュ242、単語エンコーディング265、及び画像埋め込み257は、次いで、以下で説明されるように、最終訓練及び推論のためにニューラルネットワークフィッシング分類器層275に渡される。
【0035】
エンコーダを、エンコーダとデコーダをペアリングすることによって訓練することができる。エンコーダ及びデコーダを、埋め込み空間に入力を圧縮し、次いで、埋め込みから入力を再構築するように訓練することができる。エンコーダが訓練されると、本明細書で説明されるように、エンコーダを再利用することができる。フィッシング分類器層275は、URL n-gramのURL特徴量ハッシュ242と、コンテンツページから抽出された単語の単語エンコーディング265と、URL214ウェブアドレスでコンテンツページ216からキャプチャされた画像の画像埋め込み257と、を利用する。
【0036】
一実施形態では、フィッシング検出エンジン202は、ウェブページのコンテンツ、及び応答ヘッダに存在するセキュリティ情報の特徴量ハッシュ化を利用して、良性のウェブページ及びフィッシングウェブページの両方で利用可能な特徴量を補完する。コンテンツは、一実装態様ではJavaScriptで表現される。別の実施形態では、Pythonなどの異なる言語を使用することができる。URL特徴量ハッシャ222は、URL214を受信し、URLをパースして特徴量にし、特徴量をハッシュ化してURL特徴量ハッシュ242を生成し、URL n-gramの次元削減をもたらす。ヘッダ+セキュリティ情報を有するURLのドメイン特徴量の一例を次に列挙する。
“scanned_url”:[
“http://alfabeek.com/”
],
“header”:{
“date”:”Tue, 02 Mar 2021 15:30:27 GMT”,
“server”:”Apache”,
“last-modified”:”Tue,08 Sep 2020 02:09:49 GMT”,
“accept-ranges”:”bytes”,
“vary”:”Accept-Encoding”,
“content-encoding”:”gzip”,
“content-length”:”23859”,
“content-type”:”text/html”},
“security_info”:[
{
“_subjectName”:”alfabeek.com”,
“_issuer”:”Sectigo RSA Domain Validation Secure Server CA”,
“_validFrom”:1583107200,
“_validTo”:1614729599,
“_protocol”:”TLS 1.3”,
“_sanList”:[
“alfabeek.com”,
“www.alfabeek.com”
]
【0037】
図2の説明を続けると、ヘッドレスブラウザ226は、URLのコンテンツにアクセスし、コンテンツページを内部的にレンダリングし、コンテンツページのレンダリングから単語を抽出し、かつコンテンツページのレンダリングの少なくとも一部の画像をキャプチャするように構成されている。ヘッドレスブラウザ226は、コンテンツページ216のウェブアドレスであるURL214を受信し、コンテンツページ216から単語を抽出する。ヘッドレスブラウザ226は、抽出された単語246を自然言語エンコーダ264に提供し、自然言語エンコーダ264は、抽出された単語からエンコーディングを生成する:ブロック
図200の単語エンコーディング265。自然言語(NL)エンコーダ264は、自然言語に関して事前訓練され、コンテンツページから抽出された単語のエンコーディングを生成する。エンコーダ264は、例示的な実施形態では、標準エンコーダである自然言語のためのBERTを利用する。エンコーダは、エンコーダが比較的低次元の埋め込み空間で処理する入力を埋め込む。BERTは、400~800次元の埋め込み空間に自然言語パッセージを埋め込む。Transformerロジックは、自然言語入力を受け入れ、一例では、入力をエンコーディングして埋め込む768次元ベクトルを生成する。事前訓練されたデコーダ266の破線ブロック輪郭は、事前訓練されたものとして区別される。すなわち、BERTは、URL214のフィッシングを検出するために使用される前に訓練される。エンコーダ264は、フィッシングを検出するためにフィッシング分類器層275によって使用するために、スクリーニングされているコンテンツページから抽出された単語の単語エンコーディング265を生成する。異なる実装態様では、ユニバーサルセンテンスエンコーダなどの異なるML/DLエンコーダを利用することができる。異なる実施形態では、長期短期記憶(LSTM)モデルを利用することができる。
【0038】
更に
図2の説明を続けると、ヘッドレスブラウザ226は、コンテンツページ216のウェブアドレスであるURL214を受信し、ウェブページを訪問する実際のユーザを模倣し、かつレンダリングされたウェブページのスナップショットを撮ることによって、ウェブページの画像をキャプチャする。ヘッドレスブラウザ226は、スナップショットを撮り、キャプチャされた画像248を、画像に関して事前訓練された画像埋め込み器256に提供し、コンテンツページからキャプチャされた画像の埋め込みを生成する。画像埋め込みは、難読化されたケースに対して、効率を高め、フィッシング検出を改善することができる。埋め込み器256は、キャプチャされた画像248を画像埋め込み257としてエンコーディングする。一実施形態では、埋め込み器256は、標準埋め込み器である残差ニューラルネットワーク(ResNet50)を、画像に対する事前訓練された分類器258とともに利用する。異なる実装態様では、Inception-v3、VGG-16、ResNet34、又はResNet-101などの異なるML/DLで事前訓練された画像埋め込み器を利用することができる。例示的な実施形態を続けると、ResNet50は、RGB224x224ピクセル画像などの画像を埋め込み、この画像を埋め込み空間にマッピングする248次元の埋め込みベクトルを生成する。埋め込み空間は、元の入力よりもはるかにコンパクトである。事前訓練されたResNet50埋め込み器256は、フィッシングウェブサイトを検出するために使用される、スクリーニングされているコンテンツページのスナップショットの画像埋め込み257を生成する。
【0039】
開示されるフィッシング検出エンジン202のフィッシング分類器層275は、URL特徴量ハッシュと、コンテンツページから抽出された単語のエンコーディングと、例示的なURLのコンテンツページからの画像キャプチャの埋め込みと、に関して訓練され、各例示的なURLは、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う。フィッシング分類器層275は、URL特徴量ハッシュ、単語エンコーディング、及び画像埋め込みを処理して、URLと、URLを介してアクセスされたコンテンツと、がフィッシングリスクを表す少なくとも1つの尤度スコアを生成する。尤度スコア285は、特定のウェブサイトがフィッシングウェブサイトである可能性がどのくらいあるかを表す。一実施形態では、フィッシング分類器層275への入力サイズは、2048+768+1024であり、BERTの出力は、768であり、ResNet50埋め込みサイズは、2048であり、URLのn-gramにわたる特徴量ハッシュのサイズは、1024である。フィッシング検出エンジン202は、フィッシングウェブサイトの言語に関わらず、フィッシングウェブサイトの意味的に有意な検出に非常に好適である。開示されるニアリアルタイムのクローリングパイプラインは、これらが無効化される前に、新しい疑わしいウェブページのコンテンツを迅速にキャプチャし、したがって、フィッシング攻撃の短いライフサイクルの性質に対処し、このことが、所定の深層学習アーキテクチャの継続的な再訓練のためのより大きな訓練データセットを蓄積するのに役立つ。
【0040】
図3は、上記の
図2に示されるブロック図に関連して説明されるような、ウェブコンテンツページから抽出された単語の自然言語分類に利用され得るTransformerからの参照双方向エンコーダ表現(BERT)のブロック図を例示するものである。
【0041】
フィッシング検出にML/DLを適用するための第2のシステムは、画像転移学習を利用し、また、HTML埋め込みを学習するために生成事前訓練(GPT)を使用する。これは、限られたフィッシングデータセットを有するという問題に対処し、また、HTMLのコンテンツのより良い表現を提供する。第1のアプローチとは異なり、BERTテキストエンコーディングの必要性がない。HTML埋め込みネットワークは、HTMLコンテンツ(テキスト、JS、CSSなど)のマルチモーダルコンテンツ全体を256個の数のベクトルによって表すことを学習する。このHTML埋め込みネットワークの理論的な基礎は、the 37th International Conference on Machine Learning, PMLR 119:1691-1703,2020の議事録に掲載された“Open AI Generative Pretraining From Pixels”に内示されている。
【0042】
図4は、各例示的なURLが、フィッシングサイトを検出するために、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う、URL特徴量ハッシュと、コンテンツページから抽出されたHTMLのエンコーディングと、例示的なURLのコンテンツページからキャプチャされた画像の埋め込みと、を用いるML/DLを利用する、開示されるフィッシング検出エンジン402の高レベルブロック
図400を例示している。開示されるフィッシング分類器層475は、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコア485を生成する。
【0043】
フィッシング検出エンジン402は、URL414を特徴量にパースし、特徴量をハッシュ化して、URL特徴量ハッシュ442を生成し、URL n-gramの次元削減をもたらすURL特徴量ハッシャ422を使用する。ヘッダ+セキュリティ情報を有するURLのドメイン特徴量の一例が、上に列挙されている。
【0044】
ヘッドレスブラウザ426は、HTMLトークン446を抽出し、HTMLエンコーダ464に提供する。フィッシング検出エンジン202は、開示されるHTMLエンコーダ464を利用し、例示的なURL416のコンテンツページから抽出され、エンコードされ、次いで、コンテンツページのレンダリングからキャプチャされた画像を再現するようにデコードされる、HTMLトークン446に関して訓練される。破線は、キャプチャされた画像448からの破線を含む、アクティブなURLの後の処理から、エンコーダ埋め込みからページのレンダリングされた画像を生成する生成訓練デコーダ466の破線ブロック輪郭を区別する。データ分布P(X)を学習することは、P(X|Y)のその後の教師ありモデリングに非常に有益であり、Yは、フィッシング及び非フィッシングの二値クラスであり、Xは、HTMLコンテンツである。HTMLエンコーダ464は、生成事前訓練(GPT)を使用して事前訓練され、これは、大量の教師なしデータにわたる教師なし事前訓練が、P(Y|X)を用いた後続の教師あり意思決定のためにデータ分布P(X)を学習するために利用される。HTMLエンコーダ464が訓練されると、HTMLエンコーダ464は、再利用され得る。HTMLエンコーダ464は、コンテンツページ416から抽出されたHTMLトークン446のHTMLエンコーディング465を生成する。
【0045】
HTMLは、ルールに基づいてトークン化され、HTMLトークン446は、HTMLエンコーダ464に渡される。フィッシングURLリストのコミュニティ例である、オープンソースを提供する、インターネット上の、フィッシングに関するデータ及び情報の共同クリアリングハウスとしては、フィッシングウェブサイトとして識別されているHTMLファイルのソースとして機能するPhishTank、OpenPhish、MalwarePatrol、及びKasperskyが挙げられる。フィッシングを含まない陰性サンプルは、フィッシングウェブサイトの現在の傾向を表す割合でデータセットをバランスさせる。HTMLエンコーダ464は、インハウスのアクティブスキャナ154によって集取された、HTML及びページスナップショットのラベル付けされていない大規模なデータセットを使用して訓練される。ウェブサイトのユーザは、特に、悪意のあるレンダリングされたページが正当なログインページの外観を模倣しているときに、攻撃の犠牲になるため、訓練の目標は、HTMLエンコーダに、これらのページのレンダリングされた画像に関してHTMLコンテンツを表すように学習することを強制する。
【0046】
訓練のために、HTMLエンコーダ464は、HTMLのランダムな初期パラメータ及びパラメータで初期化される。一実施形態では、データストア164内の700K個のHTMLファイルがスキャンされ、コンテンツページを表す上位10K個のトークンの結果として得られた抽出が、かなりの数の偽陽性結果に悩まされない分類のためにフィッシング検出エンジン402を構成するために使用された。1つの例示的なコンテンツページでは、800個の有効なトークンが抽出された。別の例では、2K個の有効なトークンが認識され、第3の例では、およそ1K個のトークンが収集された。
【0047】
別の実施形態では、HTMLパーサを使用して、URLを介してアクセスされたコンテンツページからHTMLトークンを抽出することができる。ヘッドレスブラウザ及びHTMLパーサの両方を、所定のトークン語彙に属するHTMLトークンを抽出し、かつ所定のトークン語彙に属さないコンテンツの部分を無視するように構成することができる。一実施形態では、フィッシング検出エンジン402は、最大64個のHTMLトークンのHTMLエンコーディングの生成のために抽出するように構成されたヘッドレスブラウザを含む。64は、特定の、構成可能なシステムパラメータである。抽出は、いくつかの場合には、レンダリングに最大10ミリ秒を使用することができる。別の実施形態では、ヘッドレスブラウザを、最大128、256、1024、又は4096個のHTMLトークンのHTMLエンコーディングの生成のために抽出するように構成することができる。より多くのトークンの使用は、訓練を遅くする。最大2k個トークンの実装が達成されている。訓練を利用して、HTMLトークンのどのような順序パターンが特定のページビューを生じるかを学習することができる。数学的近似は、より良い分類のためにどのような分布のトークンを後に使用すべきかを学習するために使用可能である。
【0048】
図4の説明を続けると、画像に関して事前訓練された画像埋め込み器は、コンテンツページからキャプチャされた画像の画像埋め込みを生成する。事前訓練された埋め込み器係数は、ニアリアルタイムでコスト効率の良い埋め込みを可能にする。ヘッドレスブラウザ426は、URLのコンテンツにアクセスし、かつコンテンツページを内部的にレンダリングするように構成されている。ヘッドレスブラウザ226は、コンテンツページ416のウェブアドレスであるURL414を受信し、ウェブページを訪問する実際のユーザを模倣し、かつレンダリングされたウェブページのスナップショットを撮ることによって、ウェブページの画像をキャプチャする。ヘッドレスブラウザ426は、スナップショットを撮り、キャプチャされた画像448を、画像に関して事前訓練されたレンダリング画像埋め込み器456に提供し、コンテンツページからキャプチャされた画像の埋め込みを生成する。画像埋め込みは、効率を高め、フィッシング検出を改善することができ、このことは、難読化されたケースに対して特に有用である。埋め込み器456は、キャプチャされた画像448を画像埋め込み457としてエンコーディングする。一実施形態では、レンダリング画像埋め込み器456は、標準埋め込み器である残差ニューラルネットワーク(ResNet50)を、画像に対する事前訓練された分類器458とともに利用する。異なる実装態様では、Inception-v3、VGG-16、ResNet34、又はResNet-101などの異なるML/DLで事前訓練された画像埋め込み器を利用することができる。例示的な実施形態を続けると、ResNet50は、RGB224x224ピクセル画像などの画像を埋め込み、この画像を埋め込み空間にマッピングする2048次元の埋め込みベクトルを生成する。埋め込み空間は、元の入力よりもはるかにコンパクトである。事前訓練されたResNet50埋め込み器456は、フィッシングウェブサイトを検出するために使用されるように、コンテンツページからキャプチャされた画像の画像埋め込み457を生成する。URL特徴量ハッシュ442、HTMLエンコーディング465、及び画像埋め込み457は、以下で説明されるように、最終訓練及び推論のためにニューラルネットワークフィッシング分類器層475に渡される。一実施形態では、最終分類器の入力サイズは、2048(ResNet50埋め込みサイズ)+256(HTMLエンコーダのエンコーディングサイズ)+1024(URLのn-gramにわたる特徴量ハッシュのサイズ)である。新しいフィッシングウェブサイトは、1つの本番システムで、セキュリティチームによって時間ごとに提出される。1つの例示的なフィッシングウェブサイトでは、HTMLスクリプトが開始し、次いで、空白のセクションが検出され、次いで、HTMLスクリプトが終了する。開示される技術は、新しいフィッシングウェブサイトのタイムリーな検出をサポートする。
【0049】
開示されるフィッシング検出エンジン402のフィッシング分類器層475は、URL特徴量ハッシュと、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングと、例示的なURLのコンテンツページからのキャプチャされた画像の埋め込みと、に関して訓練され、各例示的なURLは、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース472分類を伴う。訓練後、フィッシング分類器層275は、URL特徴量ハッシュ442、HTMLエンコーディング465、及び画像埋め込み457を処理して、URLと、このURL414を介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコア485を生成する。尤度スコア485は、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する可能性がどのくらいあるかを表す。次に、分類損失と、clf損失と、二値のフィッシングか否かと、分類器が見ることを期待するものと分類器が見るものとの間の差Gen_lossについて、モデルを訓練するための例示的な擬似コードを列挙する。
def training_step(self, batch, batch_idx):
html_tokens, snapshot, label, resnet_embed, domain_features = batch
# チューニング及び分類
if self.classify:
埋め込み、logits=self.gpt(x,classify=True)
gen_loss = self.criterion(logits, y)
clf_logits = self.concat_layer(torch.cat([embedding, resnet_embed, domain_features], dim=1))
clf_loss = self.clf_criterion(clf_logits, label)
#分類のための共同損失
loss = clf_loss + gen_loss
#生成事前訓練
else:
generated_img = self.gpt(html_tokens)
loss = self.criterion(generated_img, snapshot)
【0050】
図5は、フィッシング検出エンジン402で使用する前に、画像の分類のために事前訓練された参照残差ニューラルネットワーク(ResNet)のブロック図を例示している。
【0051】
インラインフィッシングでは、ウェブページは、ユーザエンドポイント166においてユーザサイドでレンダリングされるため、ページのスナップショットは、利用可能ではないため、ResNetは、利用されず、フィッシング検出分類器は、コンテンツページのヘッダ情報にアクセスしない。次に、ページから抽出されたURL及びHTMLトークンを利用して、URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか否かとして分類する、開示される分類器システムについて説明する。この第3のシステムは、訪問されたコンテンツのスナップショットへの、及びヘッダ情報へのアクセスが利用可能でない場合、本番環境で特に有用であり、ネットワークセキュリティシステムで、リアルタイムで動作することができる。
【0052】
別の開示される分類器システムは、訪問されたコンテンツのスナップショットへの、及びヘッダ情報へのアクセスが利用可能でないときに、URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか否かとして分類するためのML/DLを適用する。
図6は、URL埋め込み器及びHTMLエンコーダを用いるML/DLを利用する、開示されるフィッシング検出エンジン602の高レベルブロック
図600を例示している。HTMLのエンコーディングは、URLによって指し示されるコンテンツページから抽出される。開示されるフィッシング分類器層675は、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコア685を生成する。
【0053】
フィッシング検出エンジン602は、URL614から所定の文字セット内の文字を抽出してURL文字シーケンス642を生成する、URLリンクシーケンス抽出器622を使用する。一次元1D畳み込みニューラルネットワーク(Conv1D)URL埋め込み器652は、URL埋め込み653を生成する。分類のために使用する前に、URL埋め込み器652及びURL分類器654は、URLをフィッシングか、又はフィッシングでないとして分類するグラウンドトゥルース632を伴う例示的なURLを使用して訓練される。訓練されたURL分類器654の破線ブロック輪郭は、訓練をアクティブなURLの後の処理から区別する。URL埋め込み器652の訓練中、フィッシング分類器層を越えて、URL埋め込みを生成するために使用される埋め込み層までの差がバックプロパゲートされる。
【0054】
図6に例示されるシステム600の説明を続けると、フィッシング検出エンジン602はまた、開示されるHTMLエンコーダ664を利用し、これは、例示的なURL616におけるコンテンツページからHTMLパーサ636によってパースされたHTMLトークン646を使用して訓練され、エンコーディングされ、次いで、デコードされて、コンテンツページのレンダリングからキャプチャされた画像を再現する。パースすることは、利用可能なメタデータから意味を抽出する。一実装態様では、トークン化は、メタデータのストリーム内のHTMLトークンを識別するためのパースすることの第1のステップとして動作し、パースすることは、次いで、トークンが見つかったコンテキストを使用して、参照されている情報の意味及び/又は種類を決定することに進む。HTMLエンコーダ664は、コンテンツページ616から抽出されたHTMLトークン646のHTMLエンコーディング665を生成する。
【0055】
訓練中、ヘッドレスブラウザ628は、事前訓練で使用するために、URLのコンテンツページの画像をキャプチャする。キャプチャされた画像648から、エンコーダ埋め込みからページのレンダリングされた画像を生成する生成訓練デコーダ668の破線ブロック輪郭までの破線は、訓練をアクティブなURLの後の処理から区別する。訓練のために、HTMLエンコーダ664は、HTMLのランダムな初期パラメータ及びパラメータで初期化される。HTMLエンコーダ664は、生成事前訓練を使用して事前訓練され、これは、大量の教師なしデータにわたる教師なし事前訓練が、P(Y|X)を用いた後続の教師あり意思決定のためにデータ分布P(X)を学習するために利用される。HTMLエンコーダ664が訓練されると、本番での使用のために再利用される。エンコーダ664の訓練中、HTMLエンコーディングを生成するために使用されるエンコーディング層の差は、フィッシング分類器層を越えてバックプロパゲートされる。訓練データは、一実施形態では、206,224個の良性ページ及び69,808個のフィッシングページを含む。
【0056】
システム600の説明を更に続けると、フィッシング分類器層675は、例示的なURLのURL埋め込み及びHTMLエンコーディングに関して訓練され、各例示的なURLは、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類632を伴う。URL埋め込み器652の訓練中、URL埋め込み653を生成するために使用されるエンコーディング層の差は、フィッシング分類器層を越えてバックプロパゲートされる。すなわち、HTMLエンコーダ664が事前訓練されると、URL埋め込み653ネットワークは、ネットワークの残りの部分(分類層675、及びHTMLエンコーダ654の微調整ステップ)とともに、損失関数と、入力情報についてのグラウンドトゥルース632を有するURL例の助けと、を用いて訓練される。
【0057】
訓練後、フィッシング分類器層675は、URL埋め込み653及びHTMLエンコーディング665の連結された入力を処理して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する。フィッシング検出エンジン602は、フィッシング分類器層675を、URL埋め込み及びHTMLエンコーディングの連結された入力に適用して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコア685を生成する。
【0058】
HTMLパーサ636は、URLを介してアクセスされたコンテンツページからHTMLトークンを抽出する。一例では、HTMLパーサ636は、所定のトークン語彙に属するHTMLトークンをコンテンツから抽出し、改行及び行送りなどの、所定のトークン語彙に属さないコンテンツの一部を無視するように構成可能である。一実施形態では、HTMLエンコーダ664を訓練するために指定するHTMLトークンの数を決定するための訓練において、データストア164における700K個のHTMLファイルのスキャンと、コンテンツページを表す上位10K個のトークンの結果として得られる抽出と、が、かなりの数の偽陽性結果に悩まされない分類のためのフィッシング検出エンジン602を構成するために使用された。1つの例示的なコンテンツページでは、800個の有効なトークンが抽出され、別の例では、2K個の有効なトークンが認識され、第3の例では、およそ1K個のトークンが収集された。訓練を使用して、HTMLトークンのどの順序パターンが特定のコンテンツページを生じるかを学習する。
【0059】
インライン実装を利用するリアルタイムフィッシング検出システムの場合、速度を考慮して、語彙のサイズを最小化するように注意が払われる。フィッシング検出エンジン602について、一実施形態では、HTMLパーサ636は、最大64個のHTMLトークンのHTMLエンコーディングの生成のために抽出するように構成されている。異なる実装態様では、異なる数のHTMLエンコーディングを利用することができる。別の実施形態では、ヘッドレスブラウザを、最大128、256、1024、又は4096個のHTMLトークンのHTMLエンコーディングの生成のために抽出するように構成することができる。
【0060】
フィッシングパターンは、絶えず進化し、多くの場合、検出方法が低い偽陽性率(FPR)を維持しながら高い真陽性率(TPR)を達成することは困難である。精度再現率曲線は、可能なカットオフの精度(=陽性予測値)と再現率(=感度)との間の関係を示す。
【0061】
図7は、複数の開示されるフィッシング検出システムの精度再現率グラフを示す。偽陽性検出がほとんどないことが要求されることに起因して、精度が1.000に近い、グラフの最上部付近の結果の精度が興味深い。HTML+URL+ヘッダコンテンツを有する曲線は、点線746によって表されている。長いダッシュ736を有する曲線として表されるスナップショット(ResNet)+BERTは、HTML+URL+ヘッダコンテンツよりも精度が良く、実線曲線726として表されるスナップショットは、最も精度が良いフィッシング技法である。BERTは、計算費用が高く、グラフは、精度が良いフィッシング検出結果を取得するためにBERTが必要とされないことを示す。
【0062】
図8は、上で説明されるフィッシングウェブサイト検出のための受信者動作特性曲線(ROC)を例示している。ROC曲線は、様々な閾値設定における偽陽性率(FPR)の関数としての真陽性率(TPR)のプロットである。関心の領域は、フィッシングウェブサイトとしてのコンテンツページの偽陽性識別が維持可能でないため、非常に低いFPRを有する曲線の下の領域である。ROC曲線は、上で説明されるフィッシングウェブサイトを検出するためにシステムを比較するのに有用である。フィッシング検出エンジン202について、+スナップショット+Bert836と標記され、かつ長いダッシュを有して例示されるROC曲線は、URL特徴量ハッシュを有するML/DLと、NL単語のエンコーディングと、キャプチャされたウェブサイト画像の埋め込みと、を利用するシステムの結果を示す。第2のシステムでは、フィッシング検出エンジン402は、URL特徴量ハッシュを有するML/DLと、コンテンツページから抽出されたHTMLトークンのエンコーディングと、フィッシングサイトを検出するためにコンテンツページからキャプチャされた画像の埋め込みと、を利用する。+スナップショット826と標記された曲線は、その曲線がドットで例示されるHTML-URL-ヘッダ846よりも少ない偽陽性で、より高いシステムの精度を示す。
【0063】
多言語Bert埋め込みを含む特徴量の異なる組み合わせを有する、
図8のROC曲線の説明を続けると、比較は、BERTなどのテキスト埋め込みが、場合によっては、HTMLエンコーダがすでにテキストコンテンツを考慮に入れていることに起因して、モデルの有効性を損ない、その結果、より多くのテキストエンコーディングを含めることが、HTMLページのテキストへの過剰適合につながり得ることを例示している。+スナップショット826は、より高い精度を有し、本番におけるFPの最小数につながる。更に、画像埋め込みを伴わないモデルのバージョンは、スナップショットが利用可能でないランタイム環境などの環境でアクティブスキャナ/ヘッドレスブラウザ機能をバイパスすることができるシステムをもたらす。一例では、ヘッドレスブラウザを実行することは、本番環境で直面する膨大な数のURLにはあまりにも高価であり、スケーラブルではない場合がある。更に、攻撃者は、そのような環境での検出を回避することができる。
【0064】
図9は、URL埋め込み器及びHTMLエンコーダを用いるML/DLを利用するフィッシング検出エンジン602のフィッシングウェブサイト検出のための受信者動作特性曲線(ROC)を例示している。ROC曲線936は、様々な閾値設定における偽陽性率(FPR)の関数としての真陽性率(TPR)のプロットである。ROC曲線936は、フィッシング検出エンジン602が、ROC曲線が
図8に示されるフィッシング検出システムよりも高い真陽性率を有することを例示している。
【0065】
フィッシング検出エンジン602のURL埋め込み器652及びhtmlエンコーダ664は、不規則なメモリアクセスパターン又はデータ依存フロー制御を有する高水準プログラムを備える。高水準プログラムは、C、C++、Java、Python、及びSpatialのようなプログラミング言語で書かれたソースコードである。高水準プログラムは、AlexNet、VGG Net、GoogleNet、ResNet、ResNeXt、RCNN、YOLO、SqueezeNet、SegNet、GAN、BERT、ELMo、USE、Transformer、及びTransformer-XLのような機械学習モデルの計算構造及びアルゴリズムを実装することができる。一例では、高水準プログラムは、各処理層が1つ以上のネストされたループを含むことができるように、いくつかの処理層を有する畳み込みニューラルネットワークを実装することができる。高水準プログラムは、入力及び重みにアクセスすることと、入力と重みとの間の行列乗算を実行することと、を伴う不定期のメモリ演算を実行することができる。高水準プログラムは、後続の処理層の出力を生成するために、後続の処理層の重みを有する先行する処理層からの入力値をロード及び乗算する、高い反復回数を有するネストされたループと、ループボディと、を含むことができる。高水準プログラムは、最も外側のループボディのループレベルの並列性を有することができ、粗粒度のパイプライン化を使用してこれを利用することができる。高水準プログラムは、最も内側のループボディの命令レベルの並列性を有することができ、ループアンローリング、単一命令、複数データ(SIMD)ベクトル化、及びパイプライン化を使用してこれを利用することができる。
【0066】
図10は、オープンニューラルネットワーク交換(ONNX)形式で表されるC++コードを用いて、URL埋め込み653を生成する一次元1D畳み込みニューラルネットワーク(Conv1D)URL埋め込み器652の機能性の計算データフローグラフを例示している。URLは、URL1014の最初の100文字を入力し、例示的な一実施形態では、ワンホットエンコーディングを使用し、重み256×56×7を有する畳み込みブロック1024(スライドウィンドウのように、カーネルサイズ=7)をもたらし、多次元特徴量の二値出力を生成する。次元1×32×8(1×256)を有する出力1064は、フィッシング分類器層675への入力として生成された最終的なURL埋め込み653を表す。
【0067】
図11は、フィッシング分類器層675への入力としてのhtmlエンコーディング665を生成する、開示されるhtmlエンコーダ664のブロックの図を示す。HTMLエンコーダアーキテクチャは、訓練データに見られる画像を再構築する畳み込みデコーダの助けを借りて事前訓練される。デコーダは、典型的には、畳み込みニューラルネットワーク(CNNである。訓練は、HTMLコンテンツを、それらのレンダリングされた画像に関して表現するように学習することをHTMLエンコーダに強制し、したがって、HTMLの無関係な部分をスキップする。この訓練は、フィッシング攻撃が開始される方法に合わせられており、レンダリングされたページが正当なページの外観を模倣し続ける限り、ユーザは、フィッシング攻撃の犠牲になる。次に、ブロックの機能性の概要を説明する。入力埋め込み1112は、先に説明されるように、HTMLパーサ636によって抽出された64個のHTMLトークンを取り込み、HTMLトークンを語彙にマッピングする。位置エンコーディング1122は、HTMLトークンのベクトルのコンテキスト情報を追加する。マルチヘッドアテンション1132は、入力のどの要素に焦点を当てるかを識別するための複数の自己アテンションベクトルを生成する。抽象ベクトルQ、K、及びVは、入力の異なる成分を抽出し、アテンションベクトルを計算するために使用される。複数のアテンションベクトルは、HTMLベクトル間の関係を表す。マルチヘッドアテンション1132は、二次的なマルチヘッドアテンションを表す、以下の
図12A~
図12Dに関して説明される例示される計算データフローグラフにおいて4回繰り返される。異なる実施形態では、ヘッドの数を2倍にするか、又は更に大きくすることができる。マルチヘッドアテンション1132は、アテンションベクトルを、一度に1つのベクトルで、フィードフォワードネットワーク1162に渡す。フィードフォワードネットワーク1162は、次のブロックのベクトルを変換する。各ブロックは、各特徴量にわたって層を平滑化及び正規化するための、加算及び正規化1172によって示される加算及び正規化演算で終了し、訓練データに見られる画像を再生成する256個の数値にHTML表現を圧縮する。出力は、フィッシング分類器層675への256個の数値の入力として生成された最終的なHTMLエンコーディング665を表す。
【0068】
図12Aは、フィッシング分類器層675に入力されるhtmlエンコーディング665をもたらす、開示されるhtmlエンコーダ664の概要ブロック図を示す。入力エンコーディング及び位置埋め込み1205が、上の
図11に関連して説明され、詳細なONNXリストが、
図12Bに例示されている。マルチヘッドアテンション1225が、上の
図11に関連して説明され、
図12Cは、
図12Bからのブロックを実装するための演算子スキーマへの入力として示される入力エンコーディング及び位置埋め込みからの入力を伴う詳細なONNX画像を示す。加算及び正規化及びフィードフォワード1245も、
図12Dの詳細なONNXリストを用いて、
図11に関して説明される。
図12Aはまた、入力テンソルの次元を削減する削減平均値(Reduce Mean)1265演算子を含み、提供された軸に沿った入力テンソルの要素の平均値を計算する。HTMLエンコーディング665出力は、生成されてフィッシング分類器層675への入力としてマッピングされる1×256ベクトル1285である。ONNX演算子についての入力、出力、及び実行される演算の詳細は、当業者に周知である。
【0069】
図12B、
図12C、及び
図12Dは、オープンニューラルネットワーク交換(ONNX)形式で表されるC++コードを用いて、フィッシング分類器層675に入力されるhtmlエンコーディング665をもたらす、htmlエンコーダ664の機能性の計算データフローグラフを合わせて例示している。別の実施形態では、ONNXコードは、異なるプログラミング言語を表現することができる。
【0070】
図12Bは、点線で区切られた2つの列におけるデータフローグラフの1つのセクションを示し、左列の最下部にある結合子は、右列の最上部に流れ込む。
図12Bの右列の最下部にある結果は、
図12C及び
図12Dに流れ込む。
図12Bは、ギャザー演算子1264によって示されるように、入力エンコーディング及び位置埋め込みを例示している。入力埋め込み1112について、ギャザーブロックが、次元64×256のデータを集取する1264。
【0071】
図12Cは、データ接続に沿ってデータを非同期的に伝送する計算ノードを有するデータフローグラフの一例を示す、マルチヘッドアテンション1225の単一の反復を例示している。データフローグラフは、Transformerモデルのいわゆるマルチヘッドアテンションモジュールを表す。一実施形態では、データフローグラフは、複数の処理パイプラインにわたって入力テンソルを処理するために別個の処理パイプラインとして並行に実行される複数のループを示し、第2のレベルのループが第1のレベルのループ内にあるように、ループがレベルの階層に配置されたループネストを伴い、ギャザー及び非圧縮及び連結演算を伴う。ギャザー演算(全体で3つ)は、マルチヘッドアテンション層におけるクエリ、キー、及びバリューベクトルの使用を指す。この開示されるモデルの例では、2つのヘッドが利用され、これらのベクトルの各々についての連結演算がもたらされた。例示される実施形態では、処理パイプラインの各々のそれぞれの出力が連結されて、連結された出力A2、B2、C2、D2を生成する。
図12Cの下部、及び
図12Dの上部にあるA2、B2、C2、D2によって例示されるように、マルチヘッドアテンション機能性からの出力は、加算及び正規化及びフィードフォワードに流れ込む。
【0072】
図12Dは、ONNX演算を使用する加算及び正規化及びフィードフォワード1245機能性を示す。
図12Dは、点線で区切られた3つの列を使用して例示されており、左列の最下部にある結合子は、中央列の最上部に流れ込み、中央列の最下部にある結合子は、右列の演算に流れ込む。マルチヘッドアテンション(
図12Cに示される)の出力は、加算及び正規化及びフィードフォワード演算に流れ込み、ソフトマックス演算1232は、入力ベクトルを変換し、行列乗算器MatMul1242に流れ込ませる確率分布に正規化する。加算及び正規化及びフィードフォワード1245の出力Ax、Bx、Cx、Dx(
図12Dの右下隅に示される)は、削減平均値1265演算子(
図12A)に流れ込む。削減平均値1265演算子は、入力テンソル(Ax、Bx、Cx、Dx)の次元を削減し、提供される軸に沿った入力テンソルの要素の平均値を計算する。HTMLエンコーディング665の出力は、1x256のベクトル1285である。
【0073】
図13は、特定のウェブサイトがフィッシングウェブサイトである可能性がどのくらいあるかを表す尤度スコア(複数可)685を生成するフィッシング分類器層675の機能性の計算データフローグラフを例示しており、C++コードは、オープンニューラルネットワーク交換(ONNX)形式で表現されている。サイズ1×512のフィッシング分類器層675への入力1314は、URL埋め込み及びHTMLエンコーディングを連結することによって形成される。2つの連結されたベクトルは、先に説明されるように、1×256ベクトルHTMLエンコーディング及び次元1×32×8(1×256)を有するURL埋め込みである。バッチ正規化1324は、前の層の活性化に適用されたように、入力を標準化し、訓練を加速する。演算子GEneral行列乗算(GEMM)1346、1366は、DLにおける基本演算子である線形代数ルーチンを表す。サイズ1×2である最終的な2層フィードフォワード分類器の出力1374は、サイトをフィッシングか、又はフィッシングでないとして分類するための、ウェブページがフィッシングサイトである尤度、及びウェブページがフィッシングサイトではない尤度である。
【0074】
コンピュータシステム
図14は、URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するために使用され得るコンピュータシステム1000の簡略化されたブロック図である。コンピュータシステム1400は、バスサブシステム1455を介して一部の周辺デバイスと通信する少なくとも1つの中央処理装置(CPU)1472と、本明細書で説明されるネットワークセキュリティサービスを提供するためのネットワークセキュリティシステム112と、を含む。これらの周辺デバイスは、例えば、メモリデバイス及びファイルストレージサブシステム1436を含むストレージサブシステム1410と、ユーザインターフェース入力デバイス1438と、ユーザインターフェース出力デバイス1476と、ネットワークインターフェースサブシステム1474とを含むことができる。入力及び出力デバイスは、コンピュータシステム1400とのユーザ対話を可能にする。ネットワークインターフェースサブシステム1474は、他のコンピュータシステム内の対応するインターフェースデバイスへのインターフェースを含む、外部ネットワークへのインターフェースを提供する。
【0075】
一実装態様では、
図1のクラウドベースのセキュリティシステム153は、ストレージサブシステム1410及びユーザインターフェース入力デバイス1438に通信可能にリンクされる。
【0076】
ユーザインターフェース入力デバイス1438は、キーボード、マウス、トラックボール、タッチパッド、又はグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム及びマイクロフォンなどのオーディオ入力デバイス、並びに他のタイプの入力デバイスを含むことができる。概して、「入力デバイス」という用語の使用は、コンピュータシステム1400に情報を入力するための全ての可能なタイプのデバイス及び方法を含むことが意図される。
【0077】
ユーザインターフェース出力デバイス1476は、ディスプレイサブシステム、プリンタ、ファックス機、又は音声出力デバイスなどの非視覚的ディスプレイを含むことができる。ディスプレイサブシステムは、LEDディスプレイ、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、又は可視画像を作成するための何らかの他のメカニズムを含むことができる。ディスプレイサブシステムは、音声出力デバイスなどの非視覚的ディスプレイを提供することもできる。概して、「出力デバイス」という用語の使用は、コンピュータシステム1400からユーザ又は別のマシン若しくはコンピュータシステムに情報を出力するための全ての可能なタイプのデバイス及び方法を含むことが意図される。
【0078】
ストレージサブシステム1410は、本明細書に記載のモジュール及び方法の一部又は全部の機能を提供するプログラミング及びデータ構造を記憶する。サブシステム1478は、グラフィックス処理ユニット(GPU)又はフィールドプログラマブルゲートアレイ(FPGA)であり得る。
【0079】
ストレージサブシステム1410内で使用されるメモリサブシステム1422は、プログラム実行中に命令及びデータを記憶するためのメインランダムアクセスメモリ(RAM)1432と、固定命令が記憶される読み取り専用メモリ(ROM)1434とを含む、一部のメモリを含むことができる。ファイルストレージサブシステム1436は、プログラム及びデータファイルのための永続的なストレージを提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、又はリムーバブルメディアカートリッジを含むことができる。特定の実装態様の機能を実装するモジュールは、ファイルストレージサブシステム1436によって、ストレージサブシステム1410内に、又はプロセッサによってアクセス可能な他のマシン内に記憶され得る。
【0080】
バスサブシステム1455は、コンピュータシステム1400の種々のコンポーネント及びサブシステムに、意図されるように互いに通信させるための機構を提供する。バスサブシステム1455は、単一のバスとして概略的に示されているが、バスサブシステムの代替の実装態様は、複数のバスを使用することができる。
【0081】
コンピュータシステム1400自体は、パーソナルコンピュータ、携帯型コンピュータ、ワークステーション、コンピュータターミナル、ネットワークコンピュータ、テレビ、メインフレーム、サーバファーム、疎にネットワーク化されたコンピュータの広く分散されたセット、又は任意の他のデータ処理システム若しくはユーザデバイスを含む、種々のタイプのものであることができる。コンピュータ及びネットワークの絶えず変化する性質に起因して、
図14に示されるコンピュータシステム1400の説明は、本発明の好ましい実施形態を例示するための特定の例としてのみ意図される。
図14に示すコンピュータシステムよりも多い又は少ないコンポーネントを有するコンピュータシステム1400の多くの他の構成が可能である。
【0082】
特定の実装態様
URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類するためのいくつかの特定の実装態様及び特徴量が、以下の議論で説明される。
【0083】
開示される一実装態様では、URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類するフィッシング分類器は、URLを特徴量にパースし、かつ特徴量をハッシュ化してURL特徴量ハッシュを生成する、URL特徴量ハッシャと、レンダリングされたコンテンツページから単語を抽出し、かつレンダリングされたコンテンツページの少なくとも一部の画像をキャプチャするように構成された、ヘッドレスブラウザと、を含む。開示される実装態様はまた、抽出された単語の単語エンコーディングを生成する自然言語エンコーダと、キャプチャされた画像の画像埋め込みを生成する画像埋め込み器と、URL特徴量ハッシュ、単語エンコーディング、及び画像埋め込みの連結された入力を処理して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層と、を含む。
【0084】
開示される別の実装態様では、URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類するフィッシング分類器は、URLを特徴量にパースし、かつ特徴量をハッシュ化してURL特徴量ハッシュを生成する、URL特徴量ハッシャと、URLのコンテンツにアクセスしてコンテンツページを内部的にレンダリングし、コンテンツページのレンダリングから単語を抽出し、かつコンテンツページのレンダリングの少なくとも一部の画像をキャプチャするように構成された、ヘッドレスブラウザと、を含む。開示される実装態様はまた、コンテンツページから抽出された単語の単語エンコーディングを生成する、自然言語に関して事前訓練された自然言語エンコーダと、画像に関して事前訓練されており、コンテンツページからキャプチャされた画像の画像埋め込みを生成する、画像埋め込み器と、を含む。実装態様は、各例示的なURLが、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLの、URL特徴量ハッシュ、単語エンコーディング、及び画像埋め込みに関して訓練されており、URLの、URL特徴量ハッシュ、単語エンコーディング、及び画像埋め込みの連結された入力を処理して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層を更に含む。
【0085】
フィッシング分類器のいくつかの開示される実装態様では、自然言語エンコーダは、Transformerからの双方向エンコーダ表現(略してBERT)及びユニバーサルセンテンスエンコーダのうちの1つである。画像埋め込み器は、残差ニューラルネットワーク(略してResNet)、Inception-v3、VGG-16のうちの1つである。
【0086】
一実装態様では、URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類する開示されるコンピュータ実装方法は、URL特徴量ハッシャを適用し、URLから特徴量を抽出し、特徴量をハッシュ化してURL特徴量ハッシュを生成することを含む。開示される方法はまた、コンテンツのレンダリングからパースされた単語の単語エンコーディングを生成する、自然言語に関して事前訓練された自然言語エンコーダを適用することと、レンダリングの少なくとも一部からキャプチャされた画像の画像埋め込みを生成する、画像に関して事前訓練された画像エンコーダを適用することと、を含む。開示される方法は、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLの、URL特徴量ハッシュ、単語エンコーディング、及び画像埋め込み、の連結に関して訓練されたフィッシング分類器層を適用することと、URL特徴量ハッシュ、単語エンコーディング、及び画像埋め込みを処理して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、を更に含む。
【0087】
開示される技術のこのセクション及び他のセクションで説明される方法は、以下の特徴及び/又は開示される追加の方法に関連して説明される特徴のうちの1つ以上を含むことができる。簡潔にするために、本出願に開示される特徴の組み合わせは、個々に列挙されず、特徴の各基本セットとともに繰り返されない。読者は、この方法で識別された特徴を、実装態様として識別された基本特徴のセットとどのように容易に組み合わせることができるかを理解するであろう。
【0088】
開示される一コンピュータ実装方法は、URLを介してコンテンツにアクセスし、かつコンテンツを内部的にレンダリングするためのヘッドレスブラウザを適用することと、レンダリングされたコンテンツから単語をパースすることと、レンダリングされたコンテンツの少なくとも一部の画像をキャプチャすることと、を更に含む。
【0089】
開示されるコンピュータ実装方法の一実施形態は、Transformerからの双方向エンコーダ表現(BERT)及びユニバーサルセンテンスエンコーダのうちの1つとしての自然言語エンコーダを含む。開示されるコンピュータ実装方法のいくつかの実施形態はまた、残差ニューラルネットワーク(ResNet)、Inception-v3、及びVGG-16のうちの1つとしての画像埋め込み器を含む。
【0090】
URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類するようにフィッシング分類器層を訓練する開示される一コンピュータ実装方法は、例示的なURLについて、URL特徴量ハッシュと、コンテンツページから抽出された単語の単語エンコーディングと、コンテンツのレンダリングからキャプチャされた画像の画像埋め込みと、を受信及び処理して、各例示的なURLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することを含む。この方法はまた、各例示的なURLについての尤度スコアと、例示的なURL及びコンテンツページがフィッシングであるか、又はフィッシングでないという各対応するグラウンドトゥルースと、の間の差を計算することと、例示的なURLについての差を使用して、フィッシング分類器層の係数を訓練することと、を含む。この方法は、本番URLと、本番URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する使用のために、訓練された係数を保存することを更に含む。
【0091】
開示されるコンピュータ実装方法は、差を、フィッシング分類器層を越えて、単語エンコーディングを生成するために使用されるエンコーディング層にバックプロパゲートしないことと、差を、フィッシング分類器層を越えて、画像埋め込みを生成するために使用される埋め込み層にバックプロパゲートしないことと、を更に含む。
【0092】
開示されるコンピュータ実装方法はまた、例示的なURLの各々についてURL特徴量ハッシュを生成することと、コンテンツページのレンダリングから抽出された単語の単語エンコーディングを生成することと、レンダリングからキャプチャされた画像の画像埋め込みを生成することと、を含む。
【0093】
多くの開示されるコンピュータ実装態様について、URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類するようにフィッシング分類器層を訓練する、開示される方法は、Transformerからの双方向エンコーダ表現(BERT)エンコーダ又はBERTエンコーダの変形を使用して、単語エンコーディングを生成することと、残差ニューラルネットワーク(ResNet)、Inception-v3、及びVGG-16のうちの1つを使用して画像埋め込みを生成することと、を含む。
【0094】
開示される一実装態様では、URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類するフィッシング分類器は、URLを特徴量にパースし、かつ特徴量をハッシュ化してURL特徴量ハッシュを生成する、URL特徴量ハッシャと、レンダリングされたコンテンツページからHTMLトークンを抽出し、かつレンダリングされたコンテンツページの少なくとも一部の画像をキャプチャするように構成された、ヘッドレスブラウザと、を含む。開示される分類器はまた、抽出されたHTMLトークンのHTMLエンコーディングを生成するHTMLエンコーダと、キャプチャされた画像の画像埋め込みを生成する画像埋め込み器と、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みを処理して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成するフィッシング分類器層と、を含む。いくつかの実装態様では、HTMLトークンは、HTMLトークンの認識された語彙に属する。
【0095】
一実装態様では、URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類する、開示されるフィッシング分類器は、URLを特徴量にパースし、かつ特徴量をハッシュ化してURL特徴量ハッシュを生成する、URL特徴量ハッシャと、URLのコンテンツにアクセスしてコンテンツページを内部的にレンダリングし、コンテンツページからHTMLトークンを抽出し、かつコンテンツページのレンダリングの少なくとも一部の画像をキャプチャするように構成された、ヘッドレスブラウザと、を含む。開示されるフィッシング分類器はまた、例示的なURLのコンテンツページから抽出され、エンコードされ、次いで、コンテンツページのレンダリングからキャプチャされた画像を再現するようにデコードされるHTMLトークンに関して訓練されており、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成するHTMLエンコーダを含む。また、画像に関して事前訓練されており、コンテンツページからキャプチャされた画像の画像埋め込みを生成する、画像埋め込み器と、例示的なURLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みに関して訓練されており、各例示的なURLが、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みを処理して、URLと、このURLを介してアクセスされたコンテンツページと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層と、が含まれる。
【0096】
開示される方法のいくつかの実装態様は、所定のトークン語彙に属するHTMLトークンをコンテンツから抽出し、かつ所定のトークン語彙に属さないコンテンツの部分を無視するように構成されたヘッドレスブラウザを更に含む。いくつかの開示される実装態様は、最大64個のHTMLトークンのHTMLエンコーディングの生成のために抽出するように構成されたヘッドレスブラウザを更に含む。
【0097】
URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する、開示される方法の一実装態様は、URL特徴量ハッシャを適用し、URLから特徴量を抽出し、特徴量をハッシュ化してURL特徴量ハッシュを生成することを含む。本方法はまた、自然言語に関して訓練されており、レンダリングされたコンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成するHTMLエンコーダを適用することを含む。方法は、画像に関して事前訓練されており、レンダリングされたコンテンツページの少なくとも一部からキャプチャされた画像の画像埋め込みを生成する、画像埋め込み器と、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴って分類された例示的なURLに関して、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みに関して訓練されたフィッシング分類器層を適用することと、URLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みを処理して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、を更に含む。開示される一実装態様では、方法は、ヘッドレスブラウザを適用することと、URLを介してコンテンツページにアクセスしてコンテンツページを内部的にレンダリングすることと、レンダリングされたコンテンツからHTMLトークンをパースすることと、レンダリングされたコンテンツの少なくとも一部の画像をキャプチャすることと、を更に含む。
【0098】
いくつかの開示される実装態様は、ヘッドレスブラウザが、所定のトークン語彙に属するHTMLトークンをコンテンツからパースし、かつ所定のトークン語彙に属さないコンテンツの部分を無視することを更に含む。いくつかの実装態様はまた、ヘッドレスブラウザが、HTMLエンコーディングの生成のために、最大64個のHTMLトークンをパースすることを含む。
【0099】
URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類するようにフィッシング分類器層を訓練する開示される一コンピュータ実装方法の一実装態様は、例示的なURLについて、URL特徴量ハッシュと、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングと、コンテンツページのレンダリングからキャプチャされた画像の画像埋め込みと、を受信及び処理して、各例示的なURLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することを含む。方法は、各例示的なURLについての尤度スコアと、例示的なURL及びコンテンツページがフィッシングであるか、又はフィッシングでないかについての各対応するグラウンドトゥルースと、の間の差を計算することと、例示的なURLについての計算された差を使用して、フィッシング分類器層の係数を訓練することと、本番URLと、本番URLを介してアクセスされたコンテンツページと、をフィッシングであるか、又はフィッシングでないとして分類する使用のために、訓練された係数を保存することと、を含む。
【0100】
開示される方法のいくつかの実装態様は、差を、フィッシング分類器層を越えて、HTMLエンコーディングを生成するために使用されるエンコーディング層にバックプロパゲートすることを含む。いくつかの実装態様は、差を、フィッシング分類器層を越えて、画像埋め込みを生成するために使用される埋め込み層にバックプロパゲートしないことを更に含む。
【0101】
いくつかの実装態様はまた、例示的なURLの各々についてURL特徴量ハッシュを生成することと、コンテンツページのレンダリングから抽出されたHTMLトークンのHTMLエンコーディングを生成することと、レンダリングからキャプチャされた画像の画像埋め込みを生成することと、を含む。いくつかの実装態様は、第2の例示的なURLについて、第2の例示的なURLのコンテンツページから抽出され、エンコードされ、次いで、第2の例示的なURLのコンテンツページからキャプチャされた画像を再現するようにデコードされるHTMLトークンを使用して、HTMLエンコーディングを生成するようにHTMLエンコーダ-デコーダを訓練することを更に含む。開示される方法のいくつかの実装態様はまた、埋め込み空間に画像を埋め込むように事前訓練されたResNet埋め込み器又はResNet埋め込み器の変形を使用して画像埋め込みを生成することを含む。
【0102】
URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する、開示されるフィッシング分類器の一実装態様は、分類のためのURLを受け入れる入力プロセッサと、URLのURL埋め込みを生成するURL埋め込み器と、URLを介してアクセスされたコンテンツページからHTMLトークンを抽出するHTMLパーサと、HTMLトークンからHTMLエンコーディングを生成するHTMLエンコーダと、URL埋め込み及びHTMLエンコーディングに対して動作して、URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類するフィッシング分類器層と、を含む。
【0103】
開示されるフィッシング分類器のいくつかの実装態様はまた、URLから所定の文字セット内の文字を抽出して文字列を生成し、かつフィッシングか、又はフィッシングでないとしてのURLのグラウンドトゥルース分類を使用して訓練されており、URL埋め込みを生成する、URL埋め込み器を含む。分類器は、URLのコンテンツにアクセスし、かつコンテンツページからHTMLトークンを抽出するように構成されたHTMLパーサを更に含む。また、各例示的なURLが、例示的なURLを介してアクセスされたコンテンツページからキャプチャされたグラウンドトゥルースイメージを伴う例示的なURLのコンテンツページから抽出されたHTMLトークンに関して訓練されており、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成する、開示されるHTMLエンコーダと、各例示的なURLが、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLのURL埋め込み及びHTMLエンコーディングに関して訓練されており、URL埋め込み及びHTMLエンコーディングの連結された入力を処理して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層と、が含まれる。
【0104】
開示されるフィッシング分類器のいくつかの実装態様について、入力プロセッサは、URLをリアルタイムでの分類のために受け入れる。開示されるフィッシング分類器の多くの実装態様では、フィッシング分類器層は、URLと、このURLを介してアクセスされたコンテンツと、をリアルタイムでフィッシングか、又はフィッシングでないとして分類するように動作する。いくつかの実装態様では、開示されるフィッシング分類器は、所定のトークン語彙に属するHTMLトークンをコンテンツページから抽出し、かつ所定のトークン語彙に属さないコンテンツページの部分を無視するように構成されたHTMLパーサを更に含み、最大64個のHTMLトークンのHTMLエンコードの生成のために抽出するように構成されたHTMLパーサを更に含むことができる。
【0105】
URLと、このURLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類する、開示されるコンピュータ実装方法の一実装態様は、URLから所定の文字セット内の文字を抽出して文字列を生成してURL埋め込みを生成し、フィッシングか、又はフィッシングでないとしてのURLのグラウンドトゥルース分類を訓練及び使用する、URL埋め込みを生成する、URL埋め込み器を適用することを含む。方法はまた、HTMLパーサを適用して、URLのコンテンツにアクセスし、コンテンツページからHTMLトークンを抽出し、HTMLエンコーダを適用して、抽出されたHTMLトークンのHTMLエンコーディングを生成することと、フィッシング分類器層をURL埋め込み及びHTMLエンコーディングの連結された入力に適用して、URLと、このURLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、を含む。いくつかの実装態様はまた、所定のトークン語彙に属するHTMLトークンをコンテンツページから抽出し、所定のトークン語彙に属さないコンテンツページの部分を無視するHTMLパーサを含み、最大64個のHTMLトークンのHTMLエンコードの生成のために抽出するHTMLパーサを更に含むことができる。開示される方法はまた、リアルタイムで、URL埋め込み器、HTMLパーサ、HTMLエンコーダ、及びフィッシング分類器層を適用することを含むことができる。いくつかの場合には、フィッシング分類器層は、URLと、URLを介してアクセスされたコンテンツと、がリアルタイムでフィッシングリスクを提示する少なくとも1つの尤度スコアを生成するように動作する。
【0106】
URLと、このURLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するようにフィッシング分類器層を訓練する、開示されるコンピュータ実装方法の一実装態様は、例示的なURLと、このURLを介してアクセスされたコンテンツページと、について、URLから抽出された文字のURL埋め込みと、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングと、を受信及び処理して、各例示的なURLと、このURLを介してアクセスされたコンテンツページと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することを含む。開示される方法はまた、各例示的なURLについての尤度スコアと、例示的なURL及びコンテンツページがフィッシングであるか、又はフィッシングでないかという各対応するグラウンドトゥルースと、の間の差を計算することと、例示的なURLについての差を使用して、フィッシング分類器層の係数を訓練することと、本番URLと、本番URLを介してアクセスされたコンテンツページと、をフィッシングであるか、又はフィッシングでないとして分類する使用のために、訓練された係数を保存することと、を含む。
【0107】
開示される方法のいくつかの実装態様は、ヘッドレスブラウザを適用することと、URLのコンテンツにアクセスしてコンテンツページを内部的にレンダリングすることと、コンテンツページの少なくとも一部の画像をキャプチャすることと、を更に含む。開示される方法は、差を、フィッシング分類器層を越えて、HTMLエンコーディングを生成するために使用されるエンコーディング層にバックプロパゲートすることを更に含むことができ、差を、フィッシング分類器層を越えて、URL埋め込みを生成するために使用される埋め込み層にバックプロパゲートすることを更に含むことができる。
【0108】
開示される方法のいくつかの実装態様は、例示的なURLから抽出された文字のURL埋め込みを生成することと、例示的なURLを介してアクセスされたコンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成することと、レンダリングからキャプチャされた画像の画像埋め込みを生成することと、を更に含む。
【0109】
開示される方法のいくつかの実装態様は、第2の例示的なURLについて、第2の例示的なURLのコンテンツページから抽出され、エンコードされ、次いで、第2の例示的なURLのコンテンツページからキャプチャされた画像を再現するようにデコードされるHTMLトークンを使用して、HTMLエンコーディングを生成するようにHTMLエンコーダ-デコーダを訓練することを更に含む。開示される方法は、所定のトークン語彙に属するHTMLトークンをコンテンツページから抽出し、所定のトークン語彙に属さないコンテンツページの部分を無視することを更に含むことができる。方法はまた、抽出を所定の数のHTMLトークンに制限することを含むことができ、最大64個のHTMLトークンのHTMLエンコーディングを生成することを更に含むことができる。
【0110】
このセクションで説明される方法の他の実装態様は、プロセッサ上で実行されるときに、プロセッサに上で説明された方法のいずれかを実行させるコンピュータプログラム命令で特徴付けられた有形の非一時的コンピュータ可読記憶媒体を含むことができる。このセクションで説明する方法の更に別の実装態様は、メモリと、上記で説明した方法のいずれかを実施するためにメモリに記憶されたコンピュータ命令を実行するように動作可能な1つ以上のプロセッサとを含むデバイスを含み得る。
【0111】
上記で説明又は参照された任意のデータ構造及びコードは、多くの実装態様によれば、コンピュータシステムによって使用するためのコード及び/又はデータを記憶することができる任意のデバイス又は媒体であり得るコンピュータ可読記憶媒体上に記憶される。これには、揮発性メモリ、非揮発性メモリ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(ディジタルバーサタイルディスク又はディジタルビデオディスク)などの磁気及び光記憶デバイス、あるいは現在知られている又は今後開発されるコンピュータ可読媒体を格納することができる他の媒体が含まれるが、これらに限定されるものではない。
【0112】
前述の説明は、開示される技術の作製及び使用を可能にするために提示される。開示される実装態様に対する種々の修正が明らかになり、本明細書で定義される一般原理は、開示される技術の趣旨及び範囲から逸脱することなく、他の実装態様及び適用例に適用され得る。したがって、開示される技術は、示される実装態様に限定されるように意図されておらず、本明細書で開示される原理及び特徴と一致する最も広い範囲を与えられるべきである。開示される技術の範囲は、添付の特許請求の範囲によって定義される。
【0113】
条項
以下の条項を開示する。
【0114】
条項セット1
1.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する、フィッシング分類器であって、
URLを特徴量にパースして、特徴量をハッシュ化して、URL特徴量ハッシュを生成する、URL特徴量ハッシャと、
URLのコンテンツページにアクセスし、コンテンツページを内部的にレンダリングし、
コンテンツページのレンダリングから単語を抽出し、
コンテンツページのレンダリングの少なくとも一部の画像をキャプチャするように構成されたヘッドレスブラウザと、
自然言語に関して事前訓練されており、コンテンツページから抽出された単語の単語エンコーディングを生成する、自然言語エンコーダと、
画像に関して事前訓練されており、コンテンツページからキャプチャされた画像の画像埋め込みを生成する、画像埋め込み器と、
例示的なURLの、URL特徴量ハッシュ、単語エンコーディング、及び画像埋め込みに関して訓練されており、各例示的なURLが、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴い、
URLの、URL特徴量ハッシュ、単語エンコーディング、及び画像埋め込みの連結された入力を処理して、URLと、URLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層と、を含む、フィッシング分類器。
2.自然言語エンコーダが、Transformerからの双方向エンコーダ表現(略してBERT)と、ユニバーサルセンテンスエンコーダと、のうちの1つである、条項1に記載のフィッシング分類器。
3.画像埋め込み器が、残差ニューラルネットワーク(略してResNet)と、Inception-v3と、VGG-16と、のうちの1つである、条項1に記載のフィッシング分類器。
4.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータ実装方法であって、
URL特徴量ハッシャを適用し、URLから特徴量を抽出し、特徴量をハッシュ化して、URL特徴量ハッシュを生成することと、
自然言語に関して事前訓練されており、コンテンツページのレンダリングからパースされた単語の単語エンコーディングを生成する、自然言語エンコーダを適用することと、
画像に関して事前訓練されており、レンダリングの少なくとも一部からキャプチャされた画像の画像埋め込みを生成する、画像エンコーダを適用することと、
フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLについての、URL特徴量ハッシュと、単語エンコーディングと、画像埋め込みと、の連結に関して訓練されたフィッシング分類器層を適用することと、
URL特徴量ハッシュと、単語エンコーディングと、画像埋め込みと、を処理して、URLと、URLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、を含む、コンピュータ実装方法。
5. ヘッドレスブラウザを適用することと、
URLを介してコンテンツページにアクセスし、コンテンツページを内部的にレンダリングすることと、
レンダリングされたコンテンツページから単語をパースすることと、
レンダリングされたコンテンツページの少なくとも一部の画像をキャプチャすることと、を更に含む、条項4に記載のコンピュータ実装方法。
6.自然言語エンコーダが、Transformerからの双方向エンコーダ表現(略してBERT)と、ユニバーサルセンテンスエンコーダと、のうちの1つである、条項4に記載のコンピュータ実装方法。
7.画像埋め込み器が、残差ニューラルネットワーク(略してResNet)と、Inception-v3と、VGG-16と、のうちの1つである、条項4に記載のコンピュータ実装方法。
8.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータプログラム命令で特徴付けられた非一時的コンピュータ可読記憶媒体であって、命令が、プロセッサ上で実行されるときに、
URL特徴量ハッシャを適用し、URLから特徴量を抽出し、特徴量をハッシュ化して、URL特徴量ハッシュを生成することと、
自然言語に関して事前訓練されており、コンテンツページのレンダリングからパースされた単語の単語エンコーディングを生成する、自然言語エンコーダを適用することと、
画像に関して事前訓練されており、レンダリングの少なくとも一部からキャプチャされた画像の画像埋め込みを生成する、画像エンコーダを適用することと、
フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLについての、URL特徴量ハッシュと、単語エンコーディングと、画像埋め込みと、の連結に関して訓練されたフィッシング分類器層を適用することと、
URL特徴量ハッシュと、単語エンコーディングと、画像埋め込みと、を処理して、URLと、URLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、を含む方法を実装する、非一時的コンピュータ可読記憶媒体。
9.ヘッドレスブラウザを適用することと、
URLを介してコンテンツページにアクセスし、コンテンツページを内部的にレンダリングすることと、
レンダリングされたコンテンツページから単語をパースすることと、
レンダリングされたコンテンツページの少なくとも一部の画像をキャプチャすることと、を更に含む、条項8に記載の非一時的コンピュータ可読記憶媒体。
10.自然言語エンコーダが、Transformerからの双方向エンコーダ表現(略してBERT)と、ユニバーサルセンテンスエンコーダと、のうちの1つである、条項8に記載の非一時的コンピュータ可読記憶媒体。
11.画像埋め込み器が、残差ニューラルネットワーク(略してResNet)と、Inception-v3と、VGG-16と、のうちの1つである、条項8に記載の非一時的コンピュータ可読記憶媒体。
12.フィッシング分類器層を訓練して、URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するためのコンピュータ実装方法であって、
例示的なURLについて、
URL特徴量ハッシュと、コンテンツページから抽出された単語の単語エンコーディングと、コンテンツページのレンダリングからキャプチャされた画像の画像埋め込みと、を受信及び処理して、
各例示的なURLと、URLを介してアクセスされたコンテンツページと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、
各例示的なURLについての尤度スコアと、例示的なURL及びコンテンツページがフィッシングか、又はフィッシングでないという各対応するグラウンドトゥルースと、の間の差を計算することと、
例示的なURLについての差を使用して、フィッシング分類器層の係数を訓練することと、
本番URLと、本番URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する使用のために、訓練された係数を保存することと、を含む、コンピュータ実装方法。
13.差を、フィッシング分類器層を越えて、単語エンコーディングを生成するために使用されるエンコーディング層にバックプロパゲートしないことを更に含む、条項12に記載のコンピュータ実装方法。
14.差を、フィッシング分類器層を越えて、画像埋め込みを生成するために使用される埋め込み層にバックプロパゲートしないことを更に含む、条項12に記載のコンピュータ実装方法。
15.例示的なURLの各々についてURL特徴量ハッシュを生成することと、コンテンツページのレンダリングから抽出された単語の単語エンコーディングを生成することと、レンダリングからキャプチャされた画像の画像埋め込みを生成することと、を更に含む、条項12に記載のコンピュータ実装方法。
16.ransformerからの双方向エンコーダ表現(略してBERT)エンコーダ又はBERTエンコーダの変形を使用して、単語エンコーディングを生成することを更に含む、条項15に記載のコンピュータ実装方法。
17. 残差ニューラルネットワーク(略してResNet)と、Inception-v3と、VGG-16と、のうちの1つを使用して画像埋め込みを生成することを更に含む、条項15に記載のコンピュータ実装方法。
【0115】
条項セット2
1.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する、フィッシング分類器であって、
URLを特徴量にパースして、特徴量をハッシュ化して、URL特徴量ハッシュを生成する、URL特徴量ハッシャと、
URLのコンテンツページにアクセスし、コンテンツページを内部的にレンダリングし、
コンテンツページからHTMLトークンを抽出し、
コンテンツページのレンダリングの少なくとも一部の画像をキャプチャするように構成されたヘッドレスブラウザと、
例示的なURLのコンテンツページから抽出され、エンコードされ、次いで、コンテンツページのレンダリングからキャプチャされた画像を再現するようにデコードされるHTMLトークンに関して訓練されており、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成するHTMLエンコーダと、
画像に関して事前訓練されており、コンテンツページからキャプチャされた画像の画像埋め込みを生成する、画像埋め込み器と、
例示的なURLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みに関して訓練されており、各例示的なURLが、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴い、
URLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みを処理して、URLと、URLを介してアクセスされたコンテンツページと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層と、を含む、フィッシング分類器。
2.所定のトークン語彙に属するHTMLトークンをコンテンツページから抽出し、かつ所定のトークン語彙に属さないコンテンツページの部分を無視するように構成されたヘッドレスブラウザを更に含む、条項1に記載のフィッシング分類器。
3.最大64個のHTMLトークンのHTMLエンコードの生成のために抽出するように構成されたヘッドレスブラウザを更に含む、条項1に記載のフィッシング分類器。
4.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータ実装方法であって、
URL特徴量ハッシャを適用し、URLから特徴量を抽出し、特徴量をハッシュ化して、URL特徴量ハッシュを生成することと、
自然言語に関して訓練されており、レンダリングされたコンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成するHTMLエンコーダを適用することと、
画像に関して事前訓練されており、レンダリングされたコンテンツページの少なくとも一部からキャプチャされた画像の画像埋め込みを生成する、画像埋め込み器、
フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴って分類された例示的なURLについての、URL特徴量ハッシュと、HTMLエンコーディングと、画像埋め込みと、に関して訓練された、フィッシング分類器層を適用することと、
URLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みを処理して、URLと、URLを介してアクセスされたコンテンツページがフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、を含む、コンピュータ実装方法。
5.ヘッドレスブラウザを適用することと、
URLを介してコンテンツページにアクセスし、コンテンツページを内部的にレンダリングすることと、
レンダリングされたコンテンツからのHTMLトークンをパースすることと、
レンダリングされたコンテンツの少なくとも一部の画像をキャプチャすることと、を更に含む、条項4に記載のコンピュータ実装方法。
6.ヘッドレスブラウザが、コンテンツからの、所定のトークン語彙に属するHTMLトークンをパースし、所定のトークン語彙に属さないコンテンツの部分を無視することを更に含む、条項5に記載のコンピュータ実装方法。
7.ヘッドレスブラウザが、HTMLエンコーディングの生成のために最大64個のHTMLトークンをパースすることを更に含む、条項5に記載のコンピュータ実装方法。
8.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータプログラム命令で特徴付けられた非一時的コンピュータ可読記憶媒体であって、命令が、プロセッサ上で実行されるときに、
URL特徴量ハッシャを適用し、URLから特徴量を抽出し、特徴量をハッシュ化して、URL特徴量ハッシュを生成することと、
自然言語に関して訓練されており、レンダリングされたコンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成するHTMLエンコーダを適用することと、
レンダリングされたコンテンツの少なくとも一部からキャプチャされた画像の画像埋め込みを生成する画像埋め込み器を適用することと、
URLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みを処理して、URLと、URLを介してアクセスされたコンテンツページがフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層を適用することと、を含む方法を実装する、非一時的コンピュータ可読記憶媒体。
9.命令が、プロセッサ上で実行されるときに、
フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴って分類された例示的なURLについての、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みに関して、フィッシング分類器層を訓練することを更に含む、条項8に記載の非一時的コンピュータ可読記憶媒体。
10.命令が、プロセッサ上で実行されるときに、
HTMLエンコーダを、例示的なURLのコンテンツページから抽出され、エンコードされ、次いで、コンテンツページのレンダリングからキャプチャされた画像を再現するようにデコードされるHTMLトークンに関して、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成するHTMLエンコーダを訓練することを更に含む、条項8に記載の非一時的コンピュータ可読記憶媒体。
11.命令が、プロセッサ上で実行されるときに、
画像埋め込み器が、埋め込み空間に画像を埋め込むように事前訓練された、ResNet埋め込み器又はResNet埋め込み器の変形である、方法を実装する、条項8に記載の非一時的コンピュータ可読記憶媒体。
12.命令が、プロセッサ上で実行されるときに、
ヘッドレスブラウザを適用することと、
URLを介してコンテンツにアクセスし、コンテンツを内部的にレンダリングすることと、
レンダリングされたコンテンツからHTMLトークンをパースすることと、
レンダリングされたコンテンツの少なくとも一部の画像をキャプチャすることと、を更に含む方法を実装する、条項8に記載の非一時的コンピュータ可読記憶媒体。
13.命令が、プロセッサ上で実行されるときに、ヘッドレスブラウザが、コンテンツからの、所定のトークン語彙に属するHTMLトークンをパースし、所定のトークン語彙に属さないコンテンツの部分を無視することを更に含む方法を実装する、条項12に記載の非一時的コンピュータ可読記憶媒体。
14.命令が、プロセッサ上で実行されるときに、ヘッドレスブラウザが、HTMLエンコーディングの生成のために最大64個のHTMLトークンをパースすることを更に含む方法を実装する、条項12に記載の非一時的コンピュータ可読記憶媒体。
15.フィッシング分類器層を訓練して、URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するためのコンピュータ実装方法であって、
例示的なURLについて、
URL特徴量ハッシュと、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングと、コンテンツページのレンダリングからキャプチャされた画像の画像埋め込みと、を受信及び処理して、
各例示的なURLと、URLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、
各例示的なURLと、例示的なURL及びコンテンツページがフィッシングであるか、又はフィッシングでないかに関する各対応するグラウンドトゥルースとの間の差を計算することと、
例示的なURLについての計算された差を使用して、フィッシング分類器層の係数を訓練することと、
本番URLと、本番URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する使用のために、訓練された係数を保存することと、を含む、コンピュータ実装方法。
16.差を、フィッシング分類器層を越えて、HTMLエンコーディングを生成するために使用されるエンコーディング層にバックプロパゲートすることを更に含む、条項15に記載のコンピュータ実装方法。
17.差を、フィッシング分類器層を越えて、画像埋め込みを生成するために使用される埋め込み層にバックプロパゲートしないことを更に含む、条項15に記載のコンピュータ実装方法。
18.例示的なURLの各々についてURL特徴量ハッシュを生成することと、コンテンツページのレンダリングから抽出されたHTMLトークンのHTMLエンコーディングを生成することと、レンダリングからキャプチャされた画像の画像埋め込みを生成することと、を更に含む、条項15に記載のコンピュータ実装方法。
19.第2の例示的なURLについて、第2の例示的なURLのコンテンツページから抽出され、エンコードされ、次いで、第2の例示的なURLのコンテンツページからキャプチャされた画像を生成するようにデコードされるHTMLトークンを使用して、HTMLエンコーディングを生成するようにHTMLエンコーダ-デコーダを訓練することを更に含む、条項18に記載のコンピュータ実装方法。
20.ResNet埋め込み器又はResNet埋め込み器の変形を使用して画像埋め込みを生成することを更に含む、条項19に記載のコンピュータ実装方法。
【0116】
条項セット3
1.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する、フィッシング分類器であって、
分類のためのURLを受け入れる入力プロセッサと、
URLのURL埋め込みを生成するURL埋め込み器と、
URLを介してアクセスされたコンテンツページからHTMLトークンを抽出するHTMLパーサと、
HTMLトークンからHTMLエンコーディングを生成するHTMLエンコーダと、
URL埋め込み及びHTMLエンコーディングに対して動作して、URLと、URLを介してアクセスされたコンテンツと、をフィッシングか、又はフィッシングでないとして分類する、フィッシング分類層と、を含む、フィッシング分類器。
2.URLから所定の文字セット内の文字を抽出して文字列を生成し、かつフィッシングか、又はフィッシングでないとしてのURLのグラウンドトゥルース分類を使用して訓練されており、URL埋め込みを生成するURL埋め込み器と、
URLのコンテンツにアクセスし、
コンテンツページからHTMLトークンを抽出するように構成されたHTMLパーサと、
各例示的なURLが、例示的なURLを介してアクセスされたコンテンツページからキャプチャされたグラウンドトゥルースイメージを伴う例示的なURLのコンテンツページから抽出されたHTMLトークンに関して訓練されており、
コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成する、HTMLエンコーダと、
各例示的なURLがフィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLのURL埋め込みとHTMLエンコーディングに関して訓練されており、
URL埋め込み及びHTMLエンコーディングの連結された入力を処理して、URLと、URLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層と、を更に含む、条項1に記載のフィッシング分類器。
3.入力プロセッサが、URLをリアルタイムでの分類のために受け入れる、条項1に記載のフィッシング分類器。
4.フィッシング分類器層が、URLと、URLを介してアクセスされたコンテンツと、をリアルタイムでフィッシングか、又はフィッシングでないとして分類するように動作する、条項1に記載のフィッシング分類器。
5.所定のトークン語彙に属するHTMLトークンをコンテンツページから抽出し、かつ所定のトークン語彙に属さないコンテンツページの部分を無視するように構成されたHTMLパーサを更に含む、条項1に記載のフィッシング分類器。
6.最大64個のHTMLトークンのHTMLエンコーディングの生成のために抽出するように構成されたHTMLパーサを更に含む、条項1に記載のフィッシング分類器。
7.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータ実装方法であって、
URLから所定の文字セット内の文字を抽出して文字列を生成してURL埋め込みを生成し、フィッシングか、又はフィッシングでないとしてのURLのグラウンドトゥルース分類を訓練及び使用する、URL埋め込みを生成するURL埋め込み器を適用することと、
HTMLパーサを適用して、URLのコンテンツにアクセスし、コンテンツページからHTMLトークンを抽出することと、
HTMLエンコーダを適用して、抽出されたHTMLトークンのHTMLエンコーディングを生成することと、
URL埋め込み及びHTMLエンコーディングの連結された入力にフィッシング分類器層を適用して、URLと、URLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、を含む、コンピュータ実装方法。
8.所定のトークン語彙に属するHTMLトークンをコンテンツページから抽出し、所定のトークン語彙に属さないコンテンツページの部分を無視するHTMLパーサを更に含む、条項7に記載のコンピュータ実装方法。
9.HTMLパーサが、最大64個のHTMLトークンのHTMLエンコーディングの生成のために抽出することを更に含む、条項7に記載のコンピュータ実装方法。
10.リアルタイムで、URL埋め込み器、HTMLパーサ、HTMLエンコーダ、及びフィッシング分類器層を適用することを更に含む、条項7に記載のコンピュータ実装方法。
11.フィッシング分類器層が、URLと、URLを介してアクセスされたコンテンツと、がリアルタイムでフィッシングリスクを提示する少なくとも1つの尤度スコアを生成するように動作する、条項7に記載のコンピュータ実装方法。
12.URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータプログラム命令で特徴付けられた非一時的コンピュータ可読記憶媒体であって、命令が、プロセッサ上で実行されるときに、
URL埋め込み器を適用し、URLから所定の文字セット内の文字を抽出して文字列を生成し、URL埋め込みを生成することと、
HTMLパーサを適用して、コンテンツページからHTMLトークンを抽出することと、
HTMLエンコーダを適用して、抽出されたHTMLトークンのHTMLエンコーディングを生成することと、
URL埋め込み及びHTMLエンコーディングの連結された入力にフィッシング分類器層を適用して、URLと、URLを介してアクセスされたコンテンツと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、を含む方法を実装する、非一時的コンピュータ可読記憶媒体。
13.命令が、プロセッサ上で実行されるときに、所定のトークン語彙に属するHTMLトークンをコンテンツページから抽出し、所定のトークン語彙に属さないコンテンツページの部分を無視するHTMLパーサを更に含む方法を実装する、条項12に記載の非一時的コンピュータ可読記憶媒体。
14.命令が、プロセッサ上で実行されるときに、HTMLパーサが、最大64個のHTMLトークンのHTMLエンコーディングの生成のために抽出することを更に含む方法を実装する、条項12に記載の非一時的コンピュータ可読記憶媒体。
15.命令が、プロセッサ上で実行されるときに、各例示的なURLが、例示的なURLを介してアクセスされたコンテンツページからキャプチャされたグラウンドトゥルース画像を伴う例示的なURLのコンテンツページから抽出されたHTMLトークンに関してHTMLエンコーダを訓練することを更に含む方法を実装する、条項12に記載の非一時的コンピュータ可読記憶媒体。
16.命令が、プロセッサ上で実行されるときに、各例示的なURLが、フィッシングか、又はフィッシングでないとしてのグラウンドトゥルース分類を伴う例示的なURLのURL埋め込み及びHTMLエンコーディングに関してフィッシング分類器層を訓練することを更に含む方法を実装する、条項12に記載の非一時的コンピュータ可読記憶媒体。
17.フィッシング分類器層を訓練して、URLと、URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するためのコンピュータ実装方法であって、
例示的なURLと、URLを介してアクセスされたコンテンツページと、について、
URLと、コンテンツページから抽出されたHTMLトークンのHTMLエンコーディングと、から抽出された文字のURL埋め込みを受信及び処理して、
各例示的なURLと、URLを介してアクセスされたコンテンツページと、がフィッシングリスクを提示する少なくとも1つの尤度スコアを生成することと、
各例示的なURLについての尤度スコアと、例示的なURL及びコンテンツページがフィッシングか、又はフィッシングでないという各対応するグラウンドトゥルースと、の間の差を計算することと、
例示的なURLについての差を使用して、フィッシング分類器層の係数を訓練することと、
本番URLと、本番URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する使用のために、訓練された係数を保存することと、を含む、コンピュータ実装方法。
18.ヘッドレスブラウザを適用することと、
URLのコンテンツにアクセスし、コンテンツページを内部的にレンダリングすることと、
コンテンツページの少なくとも一部の画像をキャプチャすることと、を更に含む、条項17に記載のコンピュータ実装方法。
19.差を、フィッシング分類器層を越えて、HTMLエンコーディングを生成するために使用されるエンコーディング層にバックプロパゲートすることを更に含む、条項17に記載のコンピュータ実装方法。
20.差を、フィッシング分類器層を越えて、URL埋め込みを生成するために使用される埋め込み層にバックプロパゲートすることを更に含む、条項17に記載のコンピュータ実装方法。
21.例示的なURLから抽出された文字のURL埋め込みを生成することと、
例示的なURLを介してアクセスされたコンテンツページから抽出されたHTMLトークンのHTMLエンコーディングを生成し、レンダリングからキャプチャされた画像の画像埋め込みを生成することと、を更に含む、条項18に記載のコンピュータ実装方法。
22.第2の例示的なURLについて、第2の例示的なURLのコンテンツページから抽出され、エンコードされ、次いで、第2の例示的なURLのコンテンツページからキャプチャされた画像を再現するようにデコードされるHTMLトークンを使用して、HTMLエンコーディングを生成するようにHTMLエンコーダ-デコーダを訓練することを更に含む、条項18に記載のコンピュータ実装方法。
23.所定のトークン語彙に属するHTMLトークンをコンテンツページから抽出し、所定のトークン語彙に属さないコンテンツページの部分を無視することを更に含む、条項17に記載のコンピュータ実装方法。
24.抽出を所定の数のHTMLトークンに制限することを更に含む、条項23に記載のコンピュータ実装方法。
25.最大64個のHTMLトークンのHTMLエンコーディングを生成することを更に含む、条項23に記載のコンピュータ実装方法。
【手続補正書】
【提出日】2024-05-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユニバーサルリソースロケータ(URL)と、前記URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する、フィッシング分類器であって、
前記URLを特徴量にパースし、前記特徴量をハッシュ化して、URL特徴量ハッシュを生成する、URL特徴量ハッシャと、
前記URLのコンテンツにアクセスし、コンテンツページを内部的にレンダリングし、
前記コンテンツページからハイパーテキストマークアップ言語(HTML)トークンを抽出し、
前記コンテンツページの前記レンダリングの少なくとも一部の画像をキャプチャするように構成されたヘッドレスブラウザと、
例示的なURLのコンテンツページから抽出され、埋め込み空間にエンコードされ、次に、前記コンテンツページのレンダリングからキャプチャされた画像を再現するようにデコードされるHTMLトークンに関して訓練されており、
前記コンテンツページから抽出された前記HTMLトークンのHTMLエンコーディングを生成する、HTMLエンコーダと、
画像に関して事前訓練されており、前記コンテンツページからキャプチャされた前記画像の画像埋め込みを生成する、画像埋め込み器と、
前記例示的なURLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みに関して訓練されており、各例示的なURLが、フィッシングか、又はフィッシングでないとしてグラウンドトゥルース分類を伴い、
前記URLの、前記URL特徴量ハッシュ、前記HTMLエンコーディング、及び前記画像埋め込みを処理して、前記URL及び前記URLを介してアクセスされた前記コンテンツページがフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層と、
を含む、フィッシング分類器。
【請求項2】
所定のトークン語彙に属する前記HTMLトークンを前記コンテンツページから抽出し、前記所定のトークン語彙に属さない前記コンテンツページの部分を無視するように構成された前記ヘッドレスブラウザを更に含む、請求項1に記載のフィッシング分類器。
【請求項3】
最大64個の前記HTMLトークンのHTMLエンコーディングの生成のために抽出するように構成された前記ヘッドレスブラウザを更に含む、請求項1に記載のフィッシング分類器。
【請求項4】
ユニバーサルリソースロケータ(URL)と、前記URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータプログラム命令が記録された非一時的コンピュータ可読記憶媒体であって、前記命令が、プロセッサ上で実行されたときに、
URL特徴量ハッシャを適用し、前記URLを特徴量にパースし、前記特徴量をハッシュ化して、URL特徴量ハッシュを生成することと、
ヘッドレスブラウザを適用し、前記URLのコンテンツにアクセスし、コンテンツページを内部的にレンダリングし、
前記コンテンツページからハイパーテキストマークアップ言語(HTML)トークンを抽出し、
前記コンテンツページの前記レンダリングの少なくとも一部の画像をキャプチャすることと、
例示的なURLのコンテンツページから抽出され、埋め込み空間にエンコードされ、次に、前記コンテンツページのレンダリングからキャプチャされた画像を再生するようにデコードされるHTMLトークンに関して訓練されており、
前記コンテンツページから抽出された前記HTMLトークンのHTMLエンコーディングを生成する、HTMLエンコーダを適用することと、
画像に関して事前訓練されており、前記コンテンツページからキャプチャされた前記画像の画像埋め込みを生成する、画像埋め込み器を適用することと、
前記例示的なURLの、URL特徴量ハッシュ、HTMLエンコーディング、及び画像埋め込みに関して訓練されており、各例示的なURLが、フィッシングか、又はフィッシングでないとしてグラウンドトゥルース分類を伴う、フィッシング分類器層を適用し、
前記URLの、前記URL特徴量ハッシュ、前記HTMLエンコーディング、及び前記画像埋め込みを処理して、それにより、前記URL及び前記URLを介してアクセスされた前記コンテンツページがフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層を適用することと、
を含むアクションを実施する、非一時的コンピュータ可読記憶媒体。
【請求項5】
前記アクションが、第2の例示的なURLについて、前記第2の例示的なURLのコンテンツページから抽出され、エンコードされ、次に前記第2の例示的なURLの前記コンテンツページからキャプチャされた画像を再現するようにデコードされるHTMLトークンを使用して、前記HTMLエンコーディングを生成するように、前記HTMLエンコーダを訓練することを更に含む、請求項4に記載の非一時的コンピュータ可読記憶媒体。
【請求項6】
前記アクションが、ResNet埋め込み器又はResNet埋め込み器の変形を使用して、前記画像埋め込みを生成することを更に含む、請求項4に記載の非一時的コンピュータ可読記憶媒体。
【請求項7】
ユニバーサルリソースロケータ(URL)と、前記URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類する、フィッシング分類器であって、
前記URLから所定の文字セット内の文字を抽出して、URL文字シーケンスを生成する、URLリンクシーケンス抽出器と、
前記URL文字シーケンスのURL埋め込みを生成する、URL埋め込み器と、
前記URLのコンテンツページにアクセスし、前記コンテンツページからハイパーテキストマークアップ言語(HTML)トークンを抽出するように構成されたヘッドレスブラウザと、
例示的なURLのコンテンツページから抽出され、埋め込み空間にエンコードされ、次に、前記コンテンツページのレンダリングからキャプチャされた画像を再現するようにデコードされるHTMLトークンに関して事前訓練されており、前記コンテンツページから抽出された前記HTMLトークンのHTMLエンコーディングを生成する、HTMLエンコーダと、
前記例示的なURLのURL埋め込み及びHTMLエンコーディングに関して訓練されており、各例示的なURLが、フィッシングか、又はフィッシングでないとしてグラウンドトゥルース分類を伴い、
前記URLの、前記URL埋め込み及び前記HTMLエンコーディングを処理して、前記URL及び前記URLを介してアクセスされた前記コンテンツページがフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層と、
を含む、フィッシング分類器。
【請求項8】
所定のトークン語彙に属する前記HTMLトークンを前記コンテンツページから抽出し、前記所定のトークン語彙に属さない前記コンテンツページの部分を無視するように構成された前記ヘッドレスブラウザを更に含む、請求項7に記載のフィッシング分類器。
【請求項9】
最大64個の前記HTMLトークンのHTMLエンコーディングの生成のために抽出するように構成された前記ヘッドレスブラウザを更に含む、請求項7に記載のフィッシング分類器。
【請求項10】
ユニバーサルリソースロケータ(URL)と、前記URLを介してアクセスされたコンテンツページと、をフィッシングか、又はフィッシングでないとして分類するコンピュータプログラム命令が記録された非一時的コンピュータ可読記憶媒体であって、前記命令が、プロセッサ上で実行されたときに、
前記URLから所定の文字セット内の文字を抽出して、URL文字シーケンスを生成する、URLリンクシーケンス抽出器を適用することと、
前記URL文字シーケンスのURL埋め込みを生成する、URL埋め込み器を適用することと、
前記URLのコンテンツページにアクセスし、前記コンテンツページからハイパーテキストマークアップ言語(HTML)トークンを抽出するように構成されたヘッドレスブラウザを適用することと、
例示的なURLのコンテンツページから抽出され、埋め込み空間にエンコードされ、次に、前記コンテンツページのレンダリングからキャプチャされた画像を再現するようにデコードされるHTMLトークンに関して事前訓練されており、前記コンテンツページから抽出された前記HTMLトークンのHTMLエンコーディングを生成する、HTMLエンコーダを適用することと、
前記例示的なURLのURL埋め込み、及びHTMLエンコーディングに関して訓練されており、各例示的なURLが、フィッシングか、又はフィッシングでないとしてグラウンドトゥルース分類を伴い、
前記URLの、前記URL埋め込み及び前記HTMLエンコーディングを処理して、前記URL及び前記URLを介してアクセスされた前記コンテンツページがフィッシングリスクを提示する少なくとも1つの尤度スコアを生成する、フィッシング分類器層を適用することと、
を含むアクションを実施する、非一時的コンピュータ可読記憶媒体。
【請求項11】
前記アクションが、所定のトークン語彙に属する前記HTMLトークンを前記コンテンツページから抽出し、前記所定のトークン語彙に属さない前記コンテンツページの部分を無視するように構成された前記ヘッドレスブラウザを実装することを更に含む、請求項10に記載の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記アクションが、最大64個の前記HTMLトークンのHTMLエンコーディングの生成のために抽出するように構成された前記ヘッドレスブラウザを実装することを更に含む、請求項10に記載の非一時的コンピュータ可読記憶媒体。
【国際調査報告】