ホワイトハッカーが行う、システムへの侵入可否などのセキュリティリスクを洗い出すためのテスト
ペネトレーションテストとは
ペネトレーションテストとは、その和訳「侵入テスト」の名称のとおり、ネットワークに接続されたシステムに第三者が侵入できるかどうかをチェックするためのテストだ。最近では侵入にとどまらず、想定したシナリオに沿って、パスワード情報の窃取や権限昇格など、攻撃で狙われやすい目的の達成について、ハッカーが実際に用いる複数の手法を再現しながらテストを進める。こうした手法は、脅威ベースのペネトレーションテスト(TLPT:Threat-Led Penetration Test)と呼ばれる。
また、ペネトレーションテストで侵入を試みる技術者はホワイトハッカーとも呼ばれ、ホワイトハッカーの業務遂行にはプログラミングやセキュリティに関する幅広くかつ高度な知識が求められる。
なぜペネトレーションテストが重要なのか
ペネトレーションテストは昔からある診断手法だが、2017年に政府が発表した金融行政方針にて、大規模金融機関のサイバーセキュリティ能力を高めるための対策の1つとして、脅威ベースのペネトレーションテストの実施などが挙げられ、一躍注目を浴びた。
また、近年においてはクラウドサービスの普及、リモートワークの一般化などを受け、従業員の働き方も大きく変化している。こうしたビジネス環境の変化に目を背け、目先の業務遂行を優先した結果、システムに脆弱性を抱えたまま事業を継続している企業も少なくない。
しかし、サイバー攻撃は高度かつ巧妙に加速度的な進化を遂げており、特定の企業を狙った標的型攻撃や人間の心理的脆弱性を突くソーシャルエンジニアリング、あるいはサプライチェーン上の脆弱性を狙ったサプライチェーン攻撃など、攻撃の手法も多様化する一方だ。
そして一度サイバー攻撃の被害に遭うと、金銭的な被害にとどまらず、社会的な信用失墜など、企業が被る損害は計り知れない。ペネトレーションテストを実施することで、事業活動におけるセキュリティの重大なリスクを発見し、その後の具体的な対策の検討に寄与する。主観的になりがちなテストを第三者の視点から実施することで、自社における客観的なセキュリティ対策の状況やリスクを把握できるのだ。
ペネトレーションテストの流れ
ペネトレーションテストは以下のような流れで、一般的には外部機関に委託して行うことになる。
- 脅威のシナリオ(ゴール)を設定する
- 対象とするシステムの情報を収集する
- 侵入できるかどうかを調査する(ハッカーと同じ手法で疑似的に攻撃する)
- 調査、報告
シナリオのゴールはペネトレーションテストの目的や企業の事業内容に応じて設定される。ホワイトハッカーはOSINT(Open Source Intelligence)と呼ばれる外部の公開情報を収集したり、標的型メールを送ったりするなど、実際のハッカーと同様に多様な手法で侵入を試みる。テストの結果はレポートなどで報告され、脆弱性があった箇所とその対策などの情報が提供される。
脆弱性診断との違い
脆弱性診断とはIPA(独立行政法人 情報処理推進機構)などの専門機関が策定している項目を網羅的にチェックする診断である。基本的にツールなどを使用して実施されることが多いこと、ペネトレーションテストよりも広範囲にわたって項目を検査する点が特徴である。SQLインジェクションなどのWebアプリケーションに関する脆弱性や、OSあるいはミドルウェアの脆弱性、ネットワークにおけるプロキシ設定の不備など、対象ごとに診断項目が分けられているケースもある。いわばチェックリスト型の診断である。
一方、ペネトレーションテストはあらかじめ想定した脅威シナリオに到達できるかどうか、というゴールベース型のテストとなる。目的が異なるため、セキュリティ強化のためには併用することが望ましい。
スレットハンティングとの違い
スレットハンティングはシステムに侵入したマルウェアを検知する活動を指し、脅威ハンティングとも呼ばれる。最大の特長は、すでにマルウェアに感染していることを前提としてログ収集や分析活動を行うことである。ペネトレーションテストが侵入できるかどうかのリスクをチェックするテストであるのに対して、スレットハンティングはすでに侵入済みの脅威を検出するための取り組みである点に大きな違いがある。