侵入テスト(通称ペンテスト)は、コンピュータシステムに対する認可された模擬サイバー攻撃であり、システムのセキュリティを評価するために実際に実行されます。 [ 1 ]このテストは、不正な第三者がシステムの機能やデータにアクセスできる可能性を含む弱点(脆弱性) [ 2 ] [ 3 ]と強み[ 4 ]を特定するために実行され、完全なリスク評価を完了できるようにします。
このプロセスでは、通常、対象システムと特定の目標を特定し、次に利用可能な情報を確認し、その目標を達成するためのさまざまな手段を実行します。侵入テストの対象は、ホワイトボックス(背景情報とシステム情報が事前にテスターに提供される)またはブラックボックス(会社名以外の基本的な情報のみが提供される)のいずれかです。グレーボックス侵入テストは、この2つの組み合わせです(対象に関する限られた知識が監査者と共有されます)。[ 5 ] [ 6 ] [ 4 ]侵入テストには、組織の目標に応じて、ネットワーク(外部および内部)、ワイヤレス、Webアプリケーション、ソーシャルエンジニアリング、修復検証など、さまざまな種類があります。侵入テストは、攻撃に対するシステムの脆弱性を特定し、その脆弱性の程度を推定するのに役立ちます。
英国国家サイバーセキュリティセンターは、侵入テストを次のように説明しています。「攻撃者が使用するのと同じツールと技術を使用して、ITシステムのセキュリティの一部または全部を侵害しようとすることで、ITシステムのセキュリティに対する確証を得る方法」[ 7 ] 。侵入テストは、完全なセキュリティ監査の構成要素です。たとえば、ペイメントカード業界データセキュリティ基準では、定期的なスケジュールとシステム変更後に侵入テストを実施することが求められています。[ 8 ]また、侵入テストは、NISTリスク管理フレームワークSP 800-53で概説されているリスク評価をサポートすることもできます。[ 9 ]
侵入テストを実施するための標準的なフレームワークと方法論がいくつか存在します。これらには、オープンソースセキュリティテスト方法論マニュアル(OSSTMM)、侵入テスト実行標準(PTES)、NIST特別刊行物800-115、情報システムセキュリティ評価フレームワーク(ISSAF)、OWASPテストガイドなどがあります。サイバーセキュリティ技術業界の非営利専門団体であるCRESTは、侵入テストを実施する際に商業的に妥当な保証活動に関するガイダンスを業界に提供するCREST防御可能な侵入テスト標準を提供しています。[ 10 ]
2017年以降、ペネトレーションテスト・アズ・ア・サービス(PTaaS)という用語が普及しました。これは、コンサルタントを利用する代わりに、プラットフォームを使用してテストを実行することを意味します。[ 11 ]
侵入テストの目標は、特定の業務で承認された活動の種類によって異なりますが、主な目標は、悪意のある攻撃者によって悪用される可能性のある脆弱性を発見し、それらの脆弱性と推奨される緩和策をクライアントに通知することに重点を置いています。侵入テストのレポートでは、組織への潜在的な影響を評価し、リスクを軽減するための対策を提案することもあります。[ 12 ]
1960年代半ばまでに、通信回線を介してリソースにアクセスできるタイムシェアリングコンピュータシステムの普及が進み、新たなセキュリティ上の懸念が生じた。学者であるデボラ・ラッセルとGT・ガンジェミ・シニアが説明するように、「1960年代はコンピュータセキュリティ時代の真の始まりを告げる時代だった」[ 13 ]: 27
例えば、1965年6月、米国を代表するコンピュータセキュリティ専門家数名が、政府請負業者であるシステム開発公社(SDC)主催による、システムセキュリティに関する最初の主要な会議の一つを開催した。会議中、SDCの従業員の一人が、SDCのAN/FSQ-32タイムシェアリングコンピュータシステムに追加された様々なシステム保護を容易に突破できたことが指摘された。システムセキュリティに関するさらなる研究が有益であることを期待して、参加者は「タイムシェアリングシステムのセキュリティ保護の突破といった分野での研究」を要請した。言い換えれば、会議参加者は、システムセキュリティ研究のツールとしてコンピュータ侵入を用いることを求める最初の正式な要請の一つを行ったのである。[ 14 ]: 7-8
1968年春の合同コンピュータ会議では、多くの著名なコンピュータ専門家が再び集まり、システムセキュリティに関する懸念について議論した。この会議で、ランド研究所のウィリス・ウェア、ハロルド・ピーターセン、レイン・ターン、そして国家安全保障局(NSA)のバーナード・ピーターズといったコンピュータセキュリティ専門家は、コンピュータシステムへの攻撃を説明する際に「侵入」という言葉を用いた。ウェアは論文の中で、軍の遠隔アクセス可能なタイムシェアリングシステムに言及し、「このようなコンピュータシステムへの意図的な侵入を予期しなければならない」と警告した。同僚のピーターセンとターンも同様の懸念を示し、オンライン通信システムは「意図的な侵入」を含む「プライバシーへの脅威に脆弱である」と指摘した。NSAのバーナード・ピーターズも同様の指摘をし、コンピュータの入出力は「侵入プログラムに大量の情報を提供する可能性がある」と主張した。この会議で、コンピュータへの侵入はオンラインコンピュータシステムに対する主要な脅威として正式に認識されることになった。[ 14 ]: 8
コンピュータ侵入がもたらす脅威は、 1967年後半に米国国防総省(DoD)がまとめた主要な報告書で次に概説された。基本的に、DoD当局はウィリス・ウェアにNSA、 CIA 、DoD、学界、産業界の専門家からなるタスクフォースを率いて、タイムシェアリングコンピュータシステムのセキュリティを正式に評価するよう依頼した。タスクフォースは、1967年春の合同コンピュータ会議で発表された多くの論文を参考に、コンピュータ侵入がシステムセキュリティにもたらす脅威をほぼ確認した。ウェアの報告書は当初機密扱いだったが、国内の多くの主要なコンピュータ専門家はすぐにこの研究をコンピュータセキュリティに関する決定的な文書として認識した。[ 14 ]チャールズ・バベッジ研究所のジェフリー・R・ヨストは最近、ウェアの報告書を「…当時、セキュアコンピューティングシステムに関する技術的および運用上の問題について、これまでで最も重要かつ徹底的な研究」と評した。[ 15 ]事実上、ウェアの報告書は、新しいオンラインタイムシェアリングコンピュータシステムに対するコンピュータ侵入の重大な脅威を再確認した。
システムの脆弱性をより深く理解するため、連邦政府とその請負業者は、システムセキュリティをテストするためにコンピュータ侵入を行う「タイガーチーム」と呼ばれる侵入者チームを組織し始めた。デボラ・ラッセルとGT・ガンジェミ・シニアは、1970年代に「…『タイガーチーム』が初めてコンピュータの世界に登場した。タイガーチームは、政府と業界が支援するクラッカーのチームであり、セキュリティホールを発見し、最終的に修正するために、コンピュータシステムの防御を突破しようと試みた」と述べている。[ 13 ]: 29
コンピュータセキュリティの歴史に関する第一人者であるドナルド・マッケンジーも同様に、「RANDは政府のために初期のタイムシェアリングシステムの侵入調査(コンピュータセキュリティ制御を回避する実験)を行っていた」と指摘している。 [ 16 ] [ 17 ]チャールズ・バベッジ研究所のジェフリー・R・ヨストも、コンピュータセキュリティの歴史に関する自身の研究の中で、RANDコーポレーションとSDCの両方が「タイムシェアリングシステムの脆弱性をテストするために侵入を試みる、いわゆる最初の『侵入調査』に取り組んでいた」ことを認めている。[ 15 ]これらの初期の調査のほぼすべてにおいて、タイガーチームは標的となったすべてのコンピュータシステムへの侵入に成功した。これは、当時のタイムシェアリングシステムの防御が不十分だったためである。
初期のタイガーチームの活動の中でも、ランド研究所の取り組みは、システムセキュリティ評価ツールとしての侵入テストの有用性を実証した。当時、あるランド研究所のアナリストは、これらのテストが「実装されたデータセキュリティ対策の有効性と適切性を評価するツールとしてのシステム侵入テストの実用性を実証した」と述べている。さらに、ランド研究所のアナリストの多くは、侵入テスト演習には継続的な使用を正当化するいくつかの利点があると主張した。ある論文で彼らが指摘したように、「侵入者は、オペレーティングシステムの弱点や不完全性を探し出す過程で、模倣するのが難しい悪魔的な精神状態になるようだ」。これらの理由などから、ランド研究所の多くのアナリストは、システムセキュリティ評価における有用性の観点から、侵入技術の研究を継続することを推奨した。[ 14 ]: 9
ジェームズ・P・アンダーソンは、この黎明期における主要なコンピュータ侵入専門家の一人であり、NSA、RAND、その他の政府機関と協力してシステムセキュリティの研究を行っていた。1971年初頭、米国空軍はアンダーソンの民間企業にペンタゴンのタイムシェアリングシステムのセキュリティ調査を依頼した。アンダーソンは調査の中で、コンピュータ侵入に関わる主要な要因をいくつか概説した。アンダーソンは、一般的な攻撃手順を段階的に説明した[ 18 ]。
時が経つにつれ、アンダーソンによる一般的なコンピュータ侵入手順の説明は、多くのセキュリティ専門家の指針となり、彼らはこの手法を用いてタイムシェアリングコンピュータシステムのセキュリティを評価した。[ 14 ]: 9
その後数年間、セキュリティ評価ツールとしてのコンピュータ侵入はより洗練され、高度化していった。1980年代初頭、ジャーナリストのウィリアム・ブロードは、システムセキュリティを評価するためのタイガーチームの継続的な取り組みを簡潔にまとめた。ブロードが報告したように、国防総省が後援したウィリス・ウェアの報告書は、「スパイがコンピュータに積極的に侵入し、電子ファイルを盗んだりコピーしたり、通常は最高機密情報を保護するデバイスを転覆させる方法を示した。この研究は、政府に勤務するエリートコンピュータ科学者グループによる10年以上にわたる静かな活動のきっかけとなり、彼らは機密コンピュータへの侵入を試みた。彼らはすべての試みに成功した。」[ 19 ]
これらの様々な研究は、米国のコンピュータセキュリティが依然として大きな問題であることを示唆しているかもしれないが、学者エドワード・ハントは最近、セキュリティツールとしてのコンピュータ侵入に関する広範な研究について、より広い視点から論じている。ハントは、侵入テストの歴史に関する最近の論文の中で、国防当局が最終的に「現代のサイバー戦争で使用されるツールの多くを作り出した」と述べている。これは、国防当局が、コンピュータ侵入者が標的システムにハッキングできる多くの方法を綿密に定義し、研究してきたためである。[ 14 ]: 5
侵入テストを支援するために、無料のソフトウェアや商用ソフトウェアなど、さまざまなセキュリティ評価ツールが利用可能です。[ 20 ]
欠陥仮説手法は、システム分析および侵入予測技術であり、システムの仕様とドキュメントの分析を通じて、ソフトウェアシステムの仮説上の欠陥のリストを作成します。次に、仮説上の欠陥のリストは、実際に欠陥が存在する推定確率と、制御または侵害の程度まで悪用できる容易さに基づいて優先順位が付けられます。優先順位付けされたリストは、システムの実際のテストを指示するために使用されます。[ 21 ]
いくつかのオペレーティングシステムのディストリビューションは、侵入テスト向けに設計されています。[ 22 ]これらのディストリビューションには通常、事前にパッケージ化され、構成済みのツールセットが含まれています。侵入テスト担当者は、コンパイルエラー、依存関係の問題、構成エラーなどの複雑な問題が発生するリスクを高める可能性のある個々のツールを探し出す必要がありません。また、テスト担当者の状況によっては、追加のツールを入手することが現実的ではない場合もあります。
侵入テストに用いられる代表的なOSの例としては、以下のようなものがある。
その他にも、侵入テストを容易にするための様々な専用オペレーティングシステムが存在し、それぞれが多かれ少なかれ特定の侵入テスト分野に特化している。多くのLinuxディストリビューションには既知のOSおよびアプリケーションの脆弱性が含まれており、これらをテスト対象として活用できる。こうしたシステムは、セキュリティ分野の新人専門家がラボ環境で最新のセキュリティツールを試すのに役立つ。例としては、Damn Vulnerable Linux (DVL)、OWASP Web Testing Environment (WTW)、Metasploitableなどが挙げられる。
侵入テスト専用に設計されたハードウェアツールは存在する。しかし、侵入テストで使用されるハードウェアツールのすべてが、この目的のために特別に作られたものではない。測定機器やデバッグ機器など、高度な機能と汎用性の高さから、侵入テスト用に転用されるデバイスもある。
侵入テストのプロセスは、以下の7つの段階に簡略化できます。
分散型サービス拒否(DDoS)攻撃の頻度と規模は増加しており、2025年には4700万件以上に倍増し、ハイパーボリューム攻撃は前年比700%増加している[ 25 ]。このため、DDoSセキュリティ検証への継続的なアプローチへの関心が高まっている。
従来の侵入テストは通常、定期メンテナンス期間中に実施されますが、継続的 DDoS テストは、本番環境または本番環境と同等の環境に対して DDoS トラフィックの継続的かつ影響の少ないシミュレーションを実行し、ネットワーク (L3)、トランスポート (L4)、およびアプリケーション (L7) レイヤー全体の防御を検証する手法です。[ 26 ] Microsoft Azureなどのクラウド プラットフォーム プロバイダーは、継続的 DDoS テストをセキュリティ エコシステムに組み込み、保護された環境に対して使用できる承認済みシミュレーション パートナーとして MazeBolt、Red Button、および RedWolf を挙げています。[ 26 ]
このアプローチは、継続的な脅威暴露管理(CTEM)へのより広範な移行と一致しています。CTEMは、定期的な評価ではなく、セキュリティ暴露の継続的な特定、優先順位付け、検証を提唱するフレームワークで、2022年にGartnerによって導入されました。Gartnerは、継続的な暴露管理プログラムを採用している組織は、2026年までに侵害を受ける可能性が3分の1になると推定しています。 [ 27 ]継続的なDDoSテストの支持者は、緩和インフラストラクチャの構成ドリフトの検出や、ガバナンスと規制遵守のための監査可能な証拠の生成など、ポイントインタイム評価の限界に対処すると主張しています。[ 26 ]
テスターが不正な操作を実行できるようにする合法的な操作には、エスケープされていない SQL コマンド、ソースコードが見えるプロジェクト内の変更されていないハッシュ化されたパスワード、人間関係、古いハッシュ関数や暗号化関数などがあります。[ 28 ]重大なエクスプロイトを可能にするには、単一の脆弱性だけでは不十分な場合があります。複数の既知の脆弱性を活用し、ペイロードを有効な操作のように見えるように整形することがほぼ常に必要です。Metasploit は、一般的なタスク用の Ruby ライブラリを提供し、既知のエクスプロイトのデータベースを維持しています。[ 29 ]
予算や時間の制約がある中で作業する場合、ファジングは脆弱性を発見するための一般的な手法です。[ 30 ]ランダムな入力によって未処理のエラーを発生させることを目的としています。テスターはランダムな入力を使用して、あまり使用されないコードパスにアクセスします。よく使われるコードパスは通常エラーがありません。エラーは、完全な情報トレースバックを伴うHTTPサーバーのクラッシュなど、より多くの情報を明らかにしたり、バッファオーバーフローのように直接使用したりできるため、有用です。[ 31 ]
ウェブサイトに100個のテキスト入力ボックスがあると想像してください。そのうちのいくつかは、特定の文字列に対してSQLインジェクションの脆弱性を持っています。これらのボックスにランダムな文字列をしばらく入力し続けると、バグのあるコードパスにヒットする可能性があります。エラーは、SQLエラーのためにレンダリングが半分しか行われなかった壊れたHTMLページとして表示されます。この場合、テキストボックスのみが入力ストリームとして扱われます。しかし、ソフトウェアシステムには、Cookieやセッションデータ、アップロードされたファイルストリーム、RPCチャネル、メモリなど、多くの入力ストリームが存在します。これらの入力ストリームのいずれでもエラーが発生する可能性があります。テストの目標は、まず未処理のエラーを取得し、失敗したテストケースに基づいて欠陥を理解することです。テスターは、欠陥の理解が正しくなるまで、自動化ツールを作成してテストします。その後、ターゲットシステムがペイロードの実行をトリガーするように、ペイロードをどのようにパッケージ化すればよいかが明らかになる場合があります。これが実行可能でない場合は、ファザーによって生成された別のエラーがより多くの成果をもたらすことを期待できます。ファザーを使用すると、エクスプロイトが発生する可能性が低い適切なコードパスをチェックする必要がなくなるため、時間を節約できます。
不正な操作、あるいはMetasploitの用語でいうペイロードには、キーストロークのログ記録、スクリーンショットの撮影、アドウェアのインストール、認証情報の窃盗、シェルコードを使用したバックドアの作成、データの改ざんなどの機能が含まれる場合があります。一部の企業は、既知の脆弱性に関する大規模なデータベースを保持し、ターゲットシステムの脆弱性を自動的にテストする製品を提供しています。
米国一般調達局(GSA)は、潜在的な脆弱性に迅速に対処し、米国の連邦政府、州政府、地方自治体に影響を与える前に攻撃者を阻止するために、「侵入テスト」サービスを事前審査済みのサポートサービスとして標準化しました。これらのサービスは一般的に高度適応型サイバーセキュリティサービス(HACS)と呼ばれ、米国GSA Advantageウェブサイトに掲載されています。[ 32 ]
この取り組みにより、高度な侵入検知サービスを提供する主要なサービスプロバイダーが特定され、技術的な審査と検証を経て選定されました。このGSAサービスは、これらのサービスの迅速な発注と展開を改善し、米国政府契約の重複を削減し、米国のインフラをより迅速かつ効率的に保護・支援することを目的としています。
132-45A 侵入テスト[ 33 ]は、サービス評価者が実際の攻撃を模倣して、アプリケーション、システム、またはネットワークのセキュリティ機能を回避する方法を特定するセキュリティ テストです。HACS 侵入テスト サービスでは、通常、組織の資産とデータを保護するために採用されている予防的および検出的なセキュリティ対策の有効性を戦略的にテストします。このサービスの一環として、認定された倫理的ハッカーは通常、システム、アプリケーション、または環境内の他のターゲットに対して模擬攻撃を実行し、セキュリティの弱点を探します。テスト後、脆弱性を文書化し、どの防御策が有効で、どの防御策が回避または悪用される可能性があるかを概説します。
英国では、侵入テストサービスは、国家サイバーセキュリティセンターと協力する専門機関によって標準化されている。[ 34 ]
侵入テストの結果は、使用される標準と方法論によって異なります。侵入テストの標準は 5 つあります。オープンソースセキュリティテスト方法論マニュアル (OSSTMM)、[ 35 ] [ 36 ]オープンウェブアプリケーションセキュリティプロジェクト(OWASP)、国立標準技術研究所(NIST00)、情報システムセキュリティ評価フレームワーク (ISSAF)、および侵入テスト方法論と標準 (PTES) です。
2022年後半に大規模言語モデル(LLM)が登場したことで、研究者たちは人工知能(AI)の手法を侵入テストにどのように活用できるかを模索してきた。大手企業における実際の侵入テストは、すでにNmap、Wireshark、Metasploitなどの半自動化ソフトウェアを使用しているため、LLMがツールと環境へのアクセス権限を与えられた場合に、自動的に侵入テストを実行できるかどうかを検証するという仮説が立てられた。主な課題としては、プロセスを完全に自動化すること、LLMがコンテキストを理解し過去の経験から学習すること、そして実行されるコマンドの正確性を確保することなどが挙げられる。
MITRE ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge)フレームワークは、現実世界の観察に基づいた、攻撃者の戦術と技術に関する世界的にアクセス可能な知識ベースです。MITRE Corporationによって開発され、2015年に初めて一般公開されたATT&CKは、攻撃的なセキュリティ活動を既知の攻撃者の行動にマッピングするためのペネトレーションテストコミュニティで広く使用されるリファレンスとなっています。[ 37 ]
このフレームワークは、攻撃者の行動を戦術(攻撃者の目的、例えば持続性、横方向移動、データ漏洩など)と技術(それらの目的を達成するための具体的な方法)のマトリックスに整理します。ペネトレーションテスターはATT&CKを使用して、以下のことを行います。
ATT&CK バージョン 19 (2026 年 4 月リリース) の時点で、このフレームワークは、Windows、macOS、Linux、クラウド インフラストラクチャ (IaaS、SaaS)、モバイル プラットフォームを網羅するエンタープライズ 環境向けの 15 の戦術カテゴリで構成されています。[ 38 ]
米国サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)は、脅威インテリジェンスマッピングのベストプラクティスに関するガイダンスの中でATT&CKを正式に認め、セキュリティ評価作業における政府公認の標準としての地位を確固たるものにした。[ 39 ]
レッドチーム演習は、侵入テストの延長線上にあるもので、専門の攻撃チーム(レッドチーム)が、組織の人材、プロセス、テクノロジーに対して、高度で継続的な攻撃をシミュレートします。防御チーム(ブルーチーム)は、攻撃のタイミングや範囲を完全に把握していません。これは、組織の技術的な脆弱性だけでなく、検出および対応能力のテストに重点を置いている点で、標準的な侵入テストとは異なります。
クラウド侵入テストは、従来の侵入テストの手法をクラウドホスト型のインフラストラクチャとサービスに適用し、Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform (GCP) などのプラットフォームを対象としています。オンプレミスネットワークとは大きく異なるクラウド環境に特有の脆弱性の発見に重点を置いています。[ 40 ]
クラウド侵入テストにおける評価の主要分野は以下のとおりです。
主要なクラウドプロバイダーは、自社のプラットフォーム上での侵入テスト活動を規定する許容使用ポリシーを公開しています。AWS、Azure、GCPはそれぞれ、事前の通知なしで許可されるテストの種類と、事前の承認が必要なテスト、または完全に禁止されているテストの種類を定義しています。[ 41 ]
侵入テストでは、システムが攻撃にどのように反応するか、システムの防御を突破できるかどうか、システムからどのような情報を取得できるかを判断できます。
侵入テストとは、システム、ネットワーク、機器、その他の施設に対する攻撃をシミュレーションし、そのシステムまたは「ターゲット」が実際の攻撃に対してどれほど脆弱であるかを証明することを目的とするものです。
ネットワークの脆弱性スキャンは、少なくとも四半期に一度、およびネットワークに重大な変更があった後に実施する。