アプリケーションホワイトリストの6つのタイプ【日本語翻訳】
サイバー攻撃が増加する中、アプリケーションホワイトリストはセキュリティ・インフラへの重要な追加要素となり得ます。
これは、ゼロデイ攻撃や未知のマルウェアがアプリケーションにアクセスするのを防ぐための、シンプルで効果的なツールです。
アプリケーションホワイトリストは、様々なアプリケーションファイルとフォルダ属性を利用して、審査されてホワイトリストに登録されたファイル/プロセスのみが実行を許可されるようにします。
アプリケーションホワイトリスト属性の6つのタイプ
アプリケーションの安全性を確保するために使用できる、6つのアプリケーションホワイトリスト属性を紹介します。
1.ファイルパスホワイトリスト
ファイルパスホワイトリストは、一般的なホワイトリストのタイプで、指定されたパスにあるすべてのアプリケーションの実行を許可します。
ファイルパスホワイトリストには、2つのバリエーションがあります:
ディレクトリベースのホワイトリストでは、ディレクトリとサブディレクトリにあるすべてのファイルが許可され、完全なファイルパスホワイトリストでは、指定されたファイル名がファイルパスと一致する場合にのみ許可されます。
これを具体的に説明すると、C:/windows/program files>というディレクトリ全体をホワイトリストに登録した場合、ディレクトリにあるすべてのファイルが実行できるようになります。
ただし完全なパス、C:/windows/program files/hello.exeと指定した場合、ディレクトリ<program files>内の指定されたファイル名hello.exeのみが実行できます。
この属性を強化するためには、ディレクトリベースのホワイトリストを控えめにし、できるだけ完全なファイルパスベースのホワイトリストを使用することが推奨されています。
ファイルパスホワイトリストのメリットは、特定のパス内の各更新されたファイルのバージョンを個別にリストアップする必要がなく、新しいパッチやアプリケーションごとにホワイトリストを更新する必要が減るということです。
例えば C:/windows/programfiles/hello.exeがホワイトリストに登録されている場合、hello.exeがMicrosoftの更新プロセスの一環として更新された場合でも、更新されたファイルが同じパスとファイル名を保持している限り、ホワイトリストは引き続き機能します。
2. ファイル名ホワイトリスト
ファイル名を属性として使用することも可能ですが、これにも多くの欠点があります。
ファイルが感染したり、同名の異なるファイルに置き換えられた場合でも、実行を許可されることになります。
攻撃者は新しい悪意のあるファイルを配置し、同じ名前を使用することも可能です。
これらの弱点は、簡単にサイバー犯罪者によって悪用される可能性があるということです。
例えば、ファイル名hello.exeがホワイトリストに登録されている場合、ハッカーはファイルの悪意のあるバージョンを作成し、それをhello.exeというファイル名に変更することで、実行が許可されてしまいます。
そのため、ファイル名のホワイトリストは常に、より強力なセキュリティを確保するために、必ず暗号ハッシュ(後述)と組み合わせる必要があります。
3. ファイルサイズホワイトリスト
ファイルサイズの使用は、それ自体では強力な属性ではありませんが、ホストを保護するために他の属性と組み合わせて使用できます。
ここでの仮定は、アプリケーションの悪意のあるバージョンは元のファイルと異なるファイルサイズを持つというものです。
ただし、この仮定は常に成り立つわけではないため、この属性は暗号ハッシュやデジタル署名などの他の属性と併用されるべきです。
4. 暗号ハッシュホワイトリスト
暗号ハッシュはアプリケーションファイルに一意の値を提供します。
この属性を使用したホワイトリストでは、ファイル名、ファイルの場所、署名に関係なく、ハッシュが一致するファイルのみが実行を許可されます。
これは強力な属性ですが、暗号ハッシュを使用することには、特定の運用上の課題が存在します。
例えば、ファイルが更新されると異なるハッシュ値が生成されるため、更新またはパッチが実行されるたびに、更新された暗号ハッシュもホワイトリストに含める必要があります。
そうでないと、アプリケーションが実行されず、事業継続に影響が及ぶ可能性があります。
またホワイトリストは定期的に更新し、既知の脆弱性を持つ古いソフトウェアバージョンにある既存のハッシュを削除する必要があります。
5. デジタル署名またはパブリッシャーホワイトリスト
アプリケーションファイルのデジタル署名は、ユニークなホワイトリスト属性となり得ます。
これはファイルの信頼性を検証し、ファイルが改ざんされていないことを結論付けるために利用できます。
ただし、すべてのパブリッシャーがアプリケーションファイルにデジタル署名を行っているわけではないため、この属性だけに頼ることはできません。
パブリッシャーIDは、個々のファイル署名の代わりに検証に使用できる別の属性です。
前提として、信頼できるパブリッシャーからのアプリケーションは信頼できるとされます。
ただし、パブリッシャーが複数のアプリケーションを持っている場合、ホワイトリストは実行する必要のあるものと制限する必要のあるものを区別することができません。
パブリッシャーIDを使用する際のもうひとつの欠点は、既知の脆弱性を持つ古いソフトウェアバージョンの実行を許可してしまうことです。
ただし、ホワイトリストの更新が必要なのは、新しいパブリッシャーが現れたときや、パブリッシャーが署名鍵を更新した場合のみというメリットがあります。
6. プロセスホワイトリスト
ホワイトリストは、特定のアプリケーションを実行するために関連するプロセスのみを選択することで、プロセスレベルでも行うことができます。
プロセスを属性として使用して、正当なプロセスのみの実行を許可する一方で、他のすべてのプロセスの実行を防止することで、システムをロックダウンすることができます。
このタイプのホワイトリストのメリットは、より精密にすべての未知の脅威からアプリケーションを保護できることです。
ただし、ホワイトリストに登録されたプロセスが悪用され、アプリケーションにアクセスされる可能性があります。
プロセスホワイトリストを効果的に導入するには、コンテキストベースの認証機能が不可欠です。
プロセスをホワイトリスト属性として使用する際は、すべての親プロセスと子プロセスを監視し、アクセス制御を作成することが重要です。
例えば、Chrome.exeがホワイトリストに登録されていても、Chrome.exeが生成することを許可するプロセスと許可しないプロセスを指定する必要があります。
Chrome.exeから別のブラウザ/Chromeプロセスが生成される可能性がありますが、powershell.exeを生成することは許可されるべきではありません。
これは不審な動作と見なし、プロセスを即座に停止する必要があります。
同じ理屈で、コンピュータのメモ帳プログラムがランダムにインターネットにネットワーク接続しようとする場合も、そのプログラムは侵害されていると結論付けてよいでしょう。
アプリケーションホワイトリスティングの種類に関する結論
洗練された新種のマルウェアにより、可能性のあるすべての脅威をリストアップすることがますます困難になり、アプリケーションを保護するのが難しくなっています。
ホワイトリスト作成は、今までとは異なるアプローチでセキュリティの専門家をサポートします:
「既知の良いもの」だけを許可し、ランサムウェア、ファイルレスマルウェア、ゼロデイ攻撃などの現代の脅威から重要なアプリケーションを保護することができます。
どのホワイトリスト属性の有効性も、サーバー上で実行されているファイルやアプリケーションを悪用するマルウェアを、どれだけ防ぐことができるかにかかっています。
上記の6属性はすべて異なるメリットがありますが、プロセスホワイトリストを使用することで、セキュリティをカーネルレベルにまで引き上げ、アプリケーションをホストするサーバーとエンドポイントを完全に制御できます。
アプリケーションの場合には、既知の信頼できるプロセスのみに実行を許可されるべきだとするゼロトラストの原則と一致しています。
ホワイトリスティングの種類は、セキュリティレベルに応じて分類できます:
■公式サイト(日本語)
https://de-denkosha.co.jp/product/cyber-sec/colortokens/
■公式サイト(英語)
https://colortokens.com/
翻訳元記事
「6 Types of Application Whitelisting」
最終更新日:2023/4/13
著者:ColorTokens
#電巧社 #ゼロトラストセキュリティ情報局 #ColorTokens #ゼロトラスト #ゼロトラストセキュリティ #ゼロトラストアーキテクチャ #マイクロセグメンテーション #セキュリティ #サイバーセキュリティ #サイバー攻撃 #企業 #ホワイトリスト