ペネトレーションテスト(「ペンテスト」とも)とは、具体的な攻撃シナリオに基づいてテスト対象のシステムへ擬似的な攻撃を行って侵入(ペネトレーション)を試み、当該システムや組織の攻撃耐性を確認するテストです。「ペンテスター(ペネトレーションテスター)」と呼ばれるテスト実施者が、擬似攻撃の過程でシステム内に脆弱性・弱点がないかや、導入されているセキュリティソリューションが効果的に機能しているかなどを確認します。このような現状のセキュリティ体制の検証に加えて、実際に攻撃を受けた場合にどの程度の被害が想定されるのかを評価することもペネトレーションテストの目的の1つです。
ペネトレーションテストでは、認証情報の窃取やマルウェアの展開など、何らかの明確な意図を持った攻撃者がその目的を達成できるかどうかを確かめます。その際に悪用され得るセキュリティ上の問題点を、実際の攻撃者に発見されてしまう前に発見することで、あらかじめ重要なシステムや情報を守るための防御措置を講じることができるようになります。テストの対象となるのは、主にWebアプリケーション、ファイアウォール、ルーター、侵入検知システム、OS、インターネットに接続されているサービス、内部ネットワーク・システム、無線LANインフラなどです。
ペンテスターは、大まかに以下のような流れでテストを実施します。
①偵察・情報収集:テスト対象のシステムに関する情報(ネットワークの接続形態、OS、アプリケーション、ユーザーアカウントの情報など)を集め、攻撃戦略や攻撃シナリオを練る
②スキャン:攻撃の侵入口となり得るオープンポートがないかを調べ、ネットワークトラフィックをチェックする
③脆弱性アセスメント:①、②のフェーズで得た情報をもとに、脆弱性や弱点となり得る箇所を特定し、悪用可能かどうかを判定する
④エクスプロイト(悪用):脆弱性の悪用と対象システムへの侵入を試みる。侵入に成功した場合は、同一ネットワーク内での横移動(ラテラルムーブメント)が可能かどうかも確かめる
⑤報告:テスト実施の中で発見した事項や得られたデータを文書にまとめ、報告する
ペネトレーションテストと度々混同されるものに、脆弱性診断があります。前者は侵入や情報窃取などの特定の目的が達成可能かどうかを、具体的な攻撃シナリオに基づいて確かめるテストですが、脆弱性診断はシステムやアプリケーションにおける脆弱性やセキュリティ上の弱点を網羅的に特定することを目指すものです。また脆弱性診断は開発段階または開発後のリリース前の段階で実施されるのが一般的である一方、ペネトレーションテストは多くの場合、運用開始後〜運用中のタイミングで年1回程度行われます。このほか、脆弱性診断や両者の違いについてさらに詳しくは以下の記事をご覧ください:
「脆弱性診断とは?やり方や診断内容、ツールの比較ポイントまで解説!」
また、ペネトレーションテストのさらに詳しい解説については以下の記事をご覧ください:










とは?.jpg)
