ペネトレーションテストとは何か?NIST Special Publication 800-115を起点に分からないカタカナ語を潰した先に見えた答えとは?

投稿日: カテゴリー: セキュリティ
Pocket

「ペネトレーションテストとは?」世間ではどのように表現されているのか?

ホワイトハッカーの宿命か。この質問は日本では何故か繰り返し聞かれます。回答としては用語の定義である「NIST Special Publication 800-115」にあるpenetration testの直訳か、言い換えを伝えることになります。

一言で言えば「擬似サイバー攻撃を実施して、組織のセキュリティを評価すること」です。

一方、世間の表現は自組織の展開する事業の利益のため表現が様々引っ張られる傾向が見て取れます。

アイ・ティーエム▶︎システム全体の観点でサイバー攻撃耐性を評価する
NRI▶︎攻撃者の目的が達成されてしまうかを確認する
日立▶︎組織が実際にサイバー攻撃を受けた場合、実施しているセキュリティ対策がどこまで耐えられるかなどを評価する
IBM▶︎疑似サイバー攻撃を実行するセキュリティー・テスト
proofpoint▶︎サイバー攻撃シナリオをシミュレートし、そのセキュリティの状態を評価し、システムの防御における重要な弱点を特定する
GMO▶︎想定されるサイバー攻撃の手法に基づき、ホワイトハッカーが実践的にシステムに侵入を試みることで攻撃耐性を確認するテスト

次に定義の原文に当たってみましょう。

NIST Special Publication 800-115にあるpenetration testを読み解く

そもそもの定義であるNIST Special Publication 800-115に記載されたpenetration testに立ち返りましょう。
NIST Special Publication 800-115では、ペネトレーションテストの定義は以下のように述べられています。

ペネトレーションテストは、セキュリティ担当者が、組織のシステムやネットワークに対する攻撃者の視点からの攻撃を模倣するプロセスです。このプロセスは、システムのセキュリティポリシーやメカニズムの効果を評価し、脆弱性を特定するために設計されています。

原文も記載しておきます。

A penetration test is a security assessment process designed to identify and help address security weaknesses in a system. Security personnel conduct penetration tests to mimic attacks from malicious outsiders and determine the effectiveness of a system’s security policies and mechanisms.

上に例を挙げた「世間の」どの組織もこの定義から逸脱はしてなさそうです。「システムのセキュリティポリシーやメカニズムの効果を評価」の部分を何と見るかで変わりそうです。セキュリティポリシーは世間に向けて宣言した約束事であり、皆さんも具体的にセキュリティポリシーという実態を見たことがあるでしょう。「システムの定義」は経験則上千差万別の回答が返ってくると想定されますが、一旦定義します。システムの定義は「一連の規則または規範によって制約され、何らかの結果を生み出すことを意図した手続きの集合体」とします。

あとはメカニズムです。この文脈(コンテキスト)でのメカニズムは仕組みとしての制御を示すと考えられます。

仕組みとしての制御には多層防御、敵対エミュレーションに基づくセキュリティ防御機構、CDC(サイバーディフェンスセンター)とセキュリティソリューション群のエコシステムなどが挙げられ適切な評価方法を選択します。

日立▶︎多層防御検証型ペネトレーションテスト
PwC▶︎脅威ベースのペネトレーションテスト(TLPT)

他にも細かいのはたくさんありますが本筋とは影響しないのでこれくらいにしておきます。さて、定義から意味を読みくだきましたので一旦まとめます。

ペネトレーションテストとは組織の責任下にある一連の規則または規範によって制約され、何らかの結果を生み出すことを意図した手続きの集合体(システム)に対する世間に向けた約束事(セキュリティポリシー)を果たすため、組織の責任下で管理する仕組みとしての制御(メカニズム)が有効か、擬似サイバー攻撃を実施してその結果を客観的に評価する一連の手続き(プロセス・プロシージャ)である。

NIST Special Publication 800-115を起点に分からないカタカナ語を潰した先に見えた答え

ここまでで、NIST Special Publication 800-115を起点に分からないカタカナ語を潰すを達成した訳ですがきっと腑に落ちないはずです。

何故か?ここを明確にするまで考え抜く責任を放棄し誤魔化し煙に巻かれ名ばかりペンテストを受けていては組織を引っ掻き回すのは害悪でしかありません。

セキュリティとは責任と私は考えます。

事業組織にとって大事なのは描くビジョンを達成することで日本の将来の子供たちにどんな明るい未来を与えることができるかどうか。そしてそれまで責任を持ってやり抜くことです。

そのためにどのような仕組みで不確実性を責任として許容できる範囲に収め目的を達成できるかを客観的に証明する一つの方向性としてペネトレーションテストが存在します。

これでも腑に落ちないでしょう。何故か?それは私が考える組織の責任であり筋道だからです。企業という共同体でどのように責任を捉えるかは千差万別です。

ただ共通して言えるのはどのように責任を示すのかが自由であるということは、その責任を明確にセキュリティポリシーのレベルから落とし責任が分掌し連続しない組織にはセキュリティという責任を明確にすることができないということです。

責任の対象も範囲も明確でないものは、その評価もできません。そしてその評価を受ける自組織のイメージが湧かないということに繋がるのではないでしょうか。

ペネトレーションテストを有効な組織評価手段たるためには、セキュリティにおける役割と責任を人・組織・システムに設定(マッピング)できている前提があります。

逆にこの前提さえ達成してしまえば、ペネトレーションテストを用いた改善のループに入ることができます。

この前提に入った上での評価手段の一例を次に示します。

MITRE ATT&CK Matrixで擬似攻撃の達成を評価し、MITRE D3FEND Matrixでシステムのセキュリティポリシーやメカニズムの効果を評価

MITRE ATT&CK Matrixは最近少し知られるようになりましたがMITRE D3FEND Matrixはまだまだ知られていないようです。

MITRE ATT&CK Matrixで擬似攻撃の達成を評価し、MITRE D3FEND Matrixでシステムのセキュリティポリシーやメカニズムの効果を評価するをセットで実施します。これで、下記に再掲したペネトレーションテストの定義(NIST Special Publication 800-115)を満たしつつ、セキュリティにおける役割と責任を人・組織・システムに設定(マッピング)できている前提をクリアし組織を改善する有効手段としてのペネトレーションテストを実現できたと言えるでしょう。これは私がここまで示した筋道から示した具体手段の一例であり、皆さんの所属する組織としての責任のあり方で変わってくるはずです。大事なことは組織としての責任を明確にすることです

ペネトレーションテストは、セキュリティ担当者が、組織のシステムやネットワークに対する攻撃者の視点からの攻撃を模倣するプロセスです。このプロセスは、システムのセキュリティポリシーやメカニズムの効果を評価し、脆弱性を特定するために設計されています。

如何だったでしょうか。高い金さえ積めばペネトレーションテストを実施することはできます。しかし、責任を明確化せずただ上辺のチェックシートを満たすようでは当然に実を伴わず、セキュリティへの偏見と誤解を助長しリスクを活かせない組織に弱体化し最悪世の中から退場を余儀なくさせるでしょう。

ペネトレーションテストに真摯に向き合うきっかけになれば幸いです。

以上です。今回も長文お付き合い頂きありがとうございました。