Netskopeを利用して闇バイトへの応募をブロックする
闇バイトが世間を騒がせていますが、闇バイトと正規バイトの大きな違いとして申し込む時に「免許証」等の公的な身分証明証を要求される点にあります。
闇バイトそのものは多くの場合業務とは関係ない私用な行為であり、秘匿性の高いアプリケーションで連絡を取る傾向があるため、企業のセキュリティ対策としては関連性が低いと考えられますが「免許証等の公的な身分証を検出する」という技術的な側面は、実は従来の技術では難しく、免許証以外の様々なドキュメントの検出にも応用が効きます。
今回は、Netskopeを利用することで「免許証」等の公的な身分証明書をアップロードする行為を検出しブロックする方法について解説します。
■意外と難しい「運転免許証の検出」
「運転免許証の検出?あぁ、DLPを使うんですよね。」と思われた方も多いと思います。はい、検出そのものにはDLPを利用しますが、文字ベースのDLPではなく、NetskopeはAI/MLを用いた画像識別DLPによって「運転免許証」を検出することが可能です。
・文字ベースのDLPでは「闇バイト用運転免許証提示」の検出は難しい
報道されている内容から、闇バイト申し込み時の運転免許証の提示は「自分の運転免許証を カメラで撮影 してアップロードしている」と考えられます。
そもそも「画像」としてアップロードされていると考えられます。
画像のため、従来の文字ベースのDLPでは一旦OCR(Optical Character Reader)を利用して、画像から文字情報を抽出する必要があります。しかし、運転免許証の画像からOCRで文字に変換して、DLPを実行する場合には誤検知の発生が多くなると推測されます。
誤検知が発生する理由を以下の運転免許証のサンプルを例にして解説します。
人間はこのサンプルを見ただけで「運転免許証」だと認識することが可能です。 人間は「運転免許証の内容」を見て「運転免許証」だと判断しているのではなく、 「運転免許証紙面のデザイン」と「形状」から「運転免許証であると判断している」 のです。
そのため、記載内容がデタラメであっても「運転免許証を表現しているんですね」ということが解るのです。
逆に、書かれている文字だけを見て「運転免許証の情報」であると判断する方が難易度が向上します。運転免許証の情報を分解してみると、氏名や住所、交付日が記載されているだけであり、これらをOCRで文字例として抽出しても「免許証の情報である」と断言することは難しいでしょう。
例えば上記のサンプルにOCRを適用し、文字列を抽出した結果以下の情報だけを見て「運転免許証」だと断定することは出来るでしょうか?
氏名 山田一郎 令和00年00月00日生
住所 東京都新宿区西新宿
2022年12月31日まで有効
また、「運転免許証」と「縦書き」で記載されていますが、これも恐らくはOCRで運、転、免、許、省というバラバラの文字として認識されるか、あるいは他の文字が途中に混ざってしまい、全く別の単語として識別される可能性があります。
このように人間は 「運転免許証紙面のデザイン」と「形状」から「運転免許証であると判断している」 のであって、個々の文字一つ一つを抽出しても、それは単なる氏名と住所の羅列になり、文字の塊だけを見ても「運転免許証の情報だ」と判断することは難しいのです。
・AI/MLを活用し人間と同じ目線で判断する
NetskopeはAI/MLを用いた画像識別DLPを利用することで、人間と同じように「運転免許証紙面のデザイン」や「形状」から「画像の特徴」を抽出することが可能なため、「これは運転免許証だ」と外観から判断することが可能になります。
■前提条件
- Netskope Advanced DLPライセンスが必要です。
- AI/MLトレーニング用の画像データの準備
- 最低20枚以上のポジティブトレーニングデータ(正しいデータ)が必要です。
- 必須ではありませんが、誤検知防止のためのネガティブトレーニングデータ(誤解しやすいデータ)。
設定の流れ
- Netskope テナントにログインします。
- DLPのFile Classifiersを作成し、トレーニングデータをアップロードします。
- DLP Profileを作成します。
- Real-time ProtectionにてDLPポリシーを作成します。
Step1 DLP File Classifiersの作成
NetskopeテナントにAI/MLトレーニング用の画像データをアップロードします。
- Netskopeテナントにログインします。
- Policies > Profiles > DLPをクリックします。
- 画面上部の"FILE CLASSIFIERS"をクリックします。
- "New File Classifier"をクリックします。
- 必要事項を入力しトレーニングデータをアップロードします。
File Classifier Name : 任意の名称を入力してください。
Match Threshold : マッチングの類似度の閾値。検査対象のファイルや画像に対するマッチングの類似度を設定します。閾値を高すぎると一致を見逃す可能性があります。逆に閾値が低すぎると誤検出の可能性があります。推奨されるデフォルト値は60%です。
Training Files : トレーニング用のデータをアップロードします。最大8MBです。 - "Upload Training Filse"をクリックします。
Positive training dataを選択し、トレーニング用データを中央にドラッグ&ドロップして"Upload"をクリックします。
- "SAVE"をクリックします。
Step2 DLP Profileを作成します。
作成したファイル分類ルールをDLPに適用するための"DLP Profile"を作成します。
- Policies > Profiles > DLPをクリックします。
- 画面上部の"NEW PROFILE"をクリックします。
- "File Profiles"はMATCH TYPE = "Matches"となっていることを確認し、FILE PROFILEは何も選択せずに、"NEXT"をクリックします。
- "RULE | CLASSIFICATION"にて、"File Classifier"をクリックし、Step1で作成したファイル分類ルールを選択し、"NEXT"をクリックします。
- "SET PROFILE"にて、任意のプロファイル名を入力し、"SAVE"をクリックします。
Step3 Real-time Protectionルールを作成します。
作成したDLP ProfileをReal-time Protectionルールに割り当てます。
- Policies > Real-time Protectionをクリックします。
- "NEW POLICY"をクリックし、"DLP"をクリックします。
- DLPポリシーを適用します。
Step2で作成したDLP ProfileをProfile & Actionの項目で指定することがポイントです。その他の項目については、お客様の環境に応じて調整してください。
以下にサンプルポリシーを示します。
- "SAVE"をクリックします。
- "APPLY CHANGES"をクリックします。
これにて、設定作業は完了です。
■動作確認
それでは、最後にここまで設定した内容に基づいて正しく動作するかを確認します。
今回の例では、カテゴリー「クラウドストレージ」に対してファイルをアップロードした時に、「運転免許証」かどうかをチェックする動作を設定しています。
そのため、MS365のOneDriveに「運転免許証」をアップロードし、正しくブロックされるかをテストしました。
正しくポップアップが表示され、エンドユーザーには「運転免許証を検出したからブロックしました」と通知が表示されることが確認出来ました。
Netskope管理者側の確認方法として、DLP Incidentから確認可能です。
Incidents > DLPをクリックすることで、検出されたDLPインシデントの一覧が表示されます。
アップロードしようとしたファイル名等が確認可能です。
より詳しい情報を知りたい場合には、該当インシデントをクリックすることで、操作を行ったユーザーや、アップロードしたテナント、発動したポリシー等の情報等も確認可能です。
■まとめ
闇バイトという一見Netskopeとは何の関係も無さそうな事件ですが、AI/MLによる「画像の特徴を抽出する」という検閲技術は様々な用途に応用が可能です。
従来の文字やOCRを対象としたDLPと、AI/MLによる画像認識による検出の違いをまとめたのか下図となります。
運転免許証の画像から運転免許証であると従来の技術を使って判断しようとすると、まずは「文字」として認識しなければならないので、OCRを用いて画像から文字を抽出し、その結果に対して分析を行います。OCRによって文字化されたデータだけを見て「運転免許証である」と断定するのは、誤検知が多くなることが容易に想像できます。
一方、AI/MLによる「画像の特徴検出」は文字ではなく、図の赤枠のような複数の画像に共通する特徴から「これは運転免許証っぽい」と判断します。
人間は何かを識別する前に「文字情報」をいきなり認識するわけではなく、まず物体の外観的な特徴を認識し「運転免許証のようなもの」であることを認識します。AI/MLを用いて画像の特徴を分析することは人間の判断に近い認識パターンと言えるでしょう。
人間の社会には、「全てが文字として表現されている」わけではなく、暗黙知のような「外観で判断する」ドキュメントが多数存在します。
例えば、医療機関等にはCT検査やMRI検査の画像は文字情報が殆ど無く、画像の特徴から「脳の画像だ」等と判断し「機密情報」として分類し、外部への流出から保護することが重要です。
戦闘機や原子力潜水艦、原子力発電所等の防衛産業や重要インフラに関わっている企業であれば「設計書の図面の書式」を学習させておくことで、サイバー攻撃者からの盗難を防止することが可能になります。
また、一般的な企業であっても「履歴書」などを大量に保管している場合に、「履歴書の書式」を学習させておけば、内部犯行による持ち出し等を検出することが可能です。
NetskopeのAdvanced DLPを利用すれば、従来型の文字ベースの検出に加えて、AI/MLを用いた画像の特徴検出を利用することが可能です。「文字だけの検出」では、上手く保護出来なかったドキュメントの情報漏えい対策が可能になりますので、一度はDLPを利用しようとして諦めた経験のある企業の方も是非一度評価頂ければ幸いです。
Discussion