ペネトレーションテスト(Pentest)とは?侵入テストの基礎知識

記事の目次 21項目 · 17分で読めます
  1. ペンテスト(Pentest)とは
  2. Penetration testing
  3. ペンテストの種類
  4. ペネトレーションテストの歴史
  5. なぜペンテストが必要なのか
  6. 現代企業にペンテストが欠かせない4つの理由
  7. Webアプリ・モバイルアプリ開発の増加
  8. デジタルトランスフォーメーションの潮流
  9. SaaSソフトウェア
  10. ペンテストは有効な能動的予防策である
  11. ペンテストのメリット
  12. ペンテストを実施すべきタイミングは
  13. どのような企業にペンテストが必要か
  14. ペンテストの弱点
  15. 侵入テストのツール
  16. ペンテストのプロセス
  17. 情報収集
  18. アクセス経路の特定
  19. 脆弱性の悪用と侵入
  20. 脆弱性レポートとPoCの提出
  21. VietIS Education の初心者向け Penetration Test コース

Webアプリやモバイルアプリといった技術プロダクトを開発するうえで、セキュリティを高めるために欠かせない工程の一つが侵入テスト、すなわち penetration testing(ペネトレーションテスト)、通称ペンテスト(pentest)です。では、ペンテストとは実際にどのようなものであり、企業の情報セキュリティにおいてこのモジュールはどのような役割を果たすのでしょうか。本記事で詳しく解説します。

ペンテスト(Pentest)とは

Penetration testing

ペンテストとは penetration testing(侵入テスト)の略で、実際の攻撃を模擬的に実施することによってITシステムの安全性を評価する手法です。平たく言えば、攻撃者に悪用され被害をもたらしかねない潜在的な弱点を洗い出すために、システムへの侵入を試みるということです。

ペンテストの目的は、組織が可能な限り多くの脆弱性を発見し、それらを修正することで将来の攻撃を受ける可能性を排除できるよう支援することにあります。侵入テストを行う担当者はペンテスター(pentester)と呼ばれます。

ペンテストの対象は、コンピューターシステム、Webアプリ、モバイルアプリ、ネットワークインフラ、IoT、クラウドのアプリケーションおよびインフラ、SaaS型ソフトウェア、API、ソースコード、さらにはインターネットに接続され攻撃を受ける可能性のあるあらゆるIT資産に及びますが、最も一般的なのはWebアプリとモバイルアプリのペンテストです。これらの構成要素は テスト対象 (pentest target)と呼ばれます。

侵入を実施する際、ペンテスターは対象となるシステムやソフトウェアの所有者から許可を得ている必要があります。許可がなければ、その侵入行為は不正なハッキングとみなされます。実のところ、ペンテストとハッキングを分ける境界線は、対象の所有者による許可の有無だけです。そのためペンテストという概念は ethical hacking (倫理的ハッキング)とほぼ同義であり、ペンテスターは ホワイトハットハッカー (white hat hacker)とも呼ばれます。

ペンテストをより深く理解するには、セキュリティの基本概念である「vulnerabilities」「exploits」「payloads」の3つを押さえておく必要があります。

  • 脆弱性 (vulnerabilities)とは、ソフトウェア、ハードウェア、OS、Webアプリケーションに存在するセキュリティ上の弱点であり、攻撃者にシステムを攻撃する足がかりを与えるものです。脆弱性は、脆弱なパスワードのような単純なものから、 SQLインジェクション やバッファオーバーフローのような複雑なものまで多岐にわたります。
  • エクスプロイト(exploits)とは、ソフトウェアの脆弱性・不具合・欠陥を悪用する行為、あるいはコンピューターシステム上で意図しない異常な挙動を引き起こすためのデータやコマンド列を指します。その挙動には、権限昇格、機密情報の窃取、サービス妨害(DoS)攻撃などが含まれます。
  • ペイロード(payloads)とは、脆弱性が存在し、攻撃の標的となるシステムの一部分を指します。

ペンテストの種類

  • White box Testing:ホワイトボックス型のペンテストでは、テストを実施する前に、テスト専門家へ対象に関する情報がすべて提供されます。提供される情報には、IPアドレス、ネットワークインフラの構成図、使用しているプロトコル、ソースコードなどが含まれます。
  • Gray box Testing:グレーボックス型のペンテストは、URLやIPアドレスなど、テスト対象に関する情報の一部のみがペンテスターに提供される形式です。対象についての完全な知識やアクセス権は与えられません。
  • Black box Testing:ブラックボックス型のペンテストは「blind testing」とも呼ばれ、現実のハッカーの視点に立って行う形式です。この形式では、テスト専門家は攻撃前に対象に関する情報を一切与えられません。ペンテスター自身が対象の情報を探索・収集したうえでテストを進める必要があります。調査と攻撃に多大な時間と労力を要するため、コストは決して安くありません。

このほかにも double-blind testing、external testing、internal testing、targeted testing といった形式がありますが、ベトナムでは一般的ではなく、一部企業の特殊なニーズに応じて用いられるにとどまっています。

ペネトレーションテストの歴史

1960年代半ば、コンピューターネットワークを介したデータ交換能力の拡大を目の当たりにした専門家たちは、政府や企業のネットワークへの侵入攻撃が必ず発生し、やり取りされるデータへのアクセスが奪われる危険性があると警鐘を鳴らしました。15,000名を超えるコンピューターセキュリティ専門家が集まった1967年の年次合同コンピューター会議において、アナリストたちが議論を重ね「penetration」(侵入)という用語を定義しました。専門家はこれを、今日のコンピューターネットワーク上のデータ交換に対する脅威の一つと位置づけたのです。

1967年末、RAND社は米国の 高等研究計画局(dARPA) と協力し、 Willis Report (プロジェクト責任者の名前に由来)と呼ばれる専門報告書を作成しました。この報告書はインターネットのセキュリティ上の課題を論じ、政策を提言するもので、今日のセキュリティ対策の礎を築きました。この報告書に基づき、米国政府は企業と連携し、「コンピューターネットワークシステムのセキュリティ脆弱性を探し出し 、それらのシステムを不正な侵入や悪用から守る手立てを講じる」という使命を担うチームを設立しました。

世界初のペンテストチームは Tiger Teams(米国の特殊部隊にちなんで命名)と呼ばれ、1960年代末に結成されました。その任務は、コンピューターネットワークに攻撃を仕掛け、敵対的な攻撃に対する耐性を評価することでした。得られた結果は、指導層を驚かせるものでした。

当時テストされたシステムのほとんどが「いとも簡単に、そして短時間で突破された」のです。

RAND Corporation と政府によるこの侵入テストの取り組みは、2つのことを証明しました。

  • 第一に、システムは侵入され得るということ
  • 第二に、侵入テスト(penetration testing)の技法を用いてシステム・ネットワーク・ハードウェア・ソフトウェアの脆弱性を特定することが、システム全体のセキュリティを評価し改善するうえで有効な手法であるということ

のちに研究者の Deborah Russell 氏と G. T. Gangemi Sr. 氏は、1960年代は「コンピューターセキュリティ時代の実質的な幕開けを告げた」と評しています。

The 1960s marked the true beginning of the age of computer security

Deborah Russell & G.T. Gangemi Sr.

なぜペンテストが必要なのか

技術の発展が進む今日、侵入テストは多くの企業の情報セキュリティ体制において欠かせないモジュールとなっています。

Penetration Testing(侵入テスト)は、Web、モバイルアプリ、ネットワーク、IoTなどを攻撃者の脅威から守るための有効な手段です。実際の攻撃を模擬的に行うことで、テストエンジニアはシステムのセキュリティ上の弱点を発見できます。これにより企業は、攻撃者に悪用されて金銭的損害や信用の失墜を招く前に、脆弱性を迅速に修正できるのです。

市場調査会社 Market Watch によると、ペンテスト市場の規模は2018年時点で9億2,000万USDであり、2019年から2025年にかけて年平均14.9%で成長し、2025年には24億2,000万USDに達する見込みです。サイバー犯罪に対するシステムの耐性を検証するニーズは非常に大きいと言えます。この成長の背景には、4つの要因があります。

現代企業にペンテストが欠かせない4つの理由

Webアプリ・モバイルアプリ開発の増加

第一に、デジタル経済におけるビジネスモデルでは、顧客へのアプローチ・接点づくり・コミュニケーション・カスタマーケアのために Webサイトやモバイルアプリ の活用が求められます。これは企業にとって強みであると同時に、一部の組織にとっては必須要件でもあります。ユーザーの行動が変化し、利便性を重視して何でも「オンライン」で済ませたいと考えるようになったからです。その結果、企業は在庫リスクや店舗賃料といったオフライン販売のリスクを抑えられる一方で、Webサイトの改ざん、モバイルアプリの侵害、顧客情報や重要データの窃取、業務の停止、ウイルス・マルウェア感染といったサイバーリスクを新たに背負うことにもなります。

デジタルトランスフォーメーションの潮流

第二に、現代の企業は「デジタル化」や「DX(デジタルトランスフォーメーション)」の流れに乗らざるを得なくなっています。新しい技術を業務に導入することで人件費や運用コストを削減できる一方、攻撃者に狙われるアタックサーフェス(攻撃対象領域)も増大します。代表例が経営管理のためのERP、顧客情報の管理とカスタマーケアを担うCRM、業務で使用するIoT機器などです。これらのデジタルプロダクトはいずれも、適切に保護されなければサイバー犯罪の被害者となり得ます。

SaaSソフトウェア

第三に、買い切り型のライセンス(オンプレミス)に代わって、 必要に応じて課金される「as-a-service」型ソフトウェアの利用が拡大している ことです。これはエンドユーザーに利便性をもたらす一方、提供側であるベンダーのセキュリティリスクを高めます。アプリケーション、ソフトウェア、インフラ、プラットフォームをサービスとして提供する形態(SaaS、IaaS、PaaS、FaaS)は常時インターネット接続を前提とするため、サービス停止を狙った攻撃を受けるリスクが高まり、ユーザー体験に影響を及ぼします。

ペンテストは有効な能動的予防策である

最後に、模擬攻撃によるセキュリティ検証という手法は、どれほど高度な自動防御システムでも得られない価値を企業にもたらします。ペンテスターは現実世界の攻撃者と同じ思考で攻撃を仕掛けるからです。それは極めて「人間的」で、創造性に富んだアプローチなのです。

ペンテストのメリット

ペンテストを定期的に、かつ適切に実施することで、企業は次のような重要なセキュリティ目標を達成できます。

  • Webアプリ、モバイル、ネットワーク、IoT、API、クラウドシステム、SaaS、ハードウェアなどのセキュリティを強化し、攻撃者による不正侵入と被害発生の可能性を最小限に抑えられる
  • 経営層が組織のアプリケーション&技術プロダクトのセキュリティ全体像を把握できる
  • 実際に攻撃を受けた場合に生じ得る損害を見積もれる
  • データベース、企業の重要情報、ユーザー情報を保護できる
  • システムを安定稼働させ、攻撃による業務中断の可能性を低減できる
  • 自動防御ツールやソフトウェアでは検知しにくい危険な脆弱性を発見できる
  • 業界ごとのセキュリティ基準(PCI DSS、HIPAA、ISO 27001など)への準拠を担保できる
  • 顧客・パートナー・投資家からの信頼を高められる

ペンテストを実施すべきタイミングは

組織には、ネットワークインフラとアプリケーションを含むITシステムの安全性を確保するため、年次または四半期ごとの周期でペンテストを実施することが推奨されます。定期的な実施に加えて、次のような場面でも侵入テストが必要になります。

  • ネットワークインフラや新しいアプリケーションを追加したとき
  • アプリケーションやインフラを大幅に更新・改修したとき
  • オフィスを新しい拠点へ移転し、システムを再構築したとき
  • 新しいセキュリティパッチを適用したとき
  • エンドユーザー向けのセキュリティポリシーを変更したとき

どのような企業にペンテストが必要か

とはいえ、ペンテストはすべての組織に適しているわけではありません。実施前に次の要素を検討する必要があります。

  • 企業の規模。オンライン上での露出が多い企業ほど攻撃ベクトルが増え、攻撃者にとって魅力的な標的になります。
  • クラウド上にインフラを持つ企業は、クラウドインフラに対するペンテストの実施を許可されない場合があります。ただしその場合、クラウドリソースを利用する顧客の安全を確保するため、プロバイダー側が定期的なペンテストを実施する義務を負います。
  • ペンテストの費用は決して安くないため、サイバーセキュリティ予算が限られている企業が定期的に実施するのは難しいでしょう。

ペンテストの弱点

ペンテストは標的型サイバー攻撃に対抗する有効な手段ですが、完璧な手法というものは存在しません。ここでは侵入テストの限界をいくつか挙げます。

  • コストが高い:一般的なペンテストサービスでは、企業はペンテスターの作業時間または人日に応じて費用を支払うことになり、その金額は決して低くありません。実際、Webアプリやモバイルアプリのセキュリティ強化を望みながらも、ペンテストへの多額の支出が障壁となっている企業は少なくありません。
  • 多様性に欠ける:通常、ペンテストチームは多くても3〜5名程度で構成され、あらかじめ用意された手順に沿って繰り返しテストを行います。一方、現実の攻撃者はいかなる手順にも縛られず、しかもその数は非常に多いのです。
  • プラットフォームへの統合が難しい:一般的なペンテストでは、発見された脆弱性を列挙した長大なレポートが成果物となります。ソフトウェア開発ライフサイクルへの統合がないため、運用コストが増大し、修正作業とアプリケーション開発の双方のスピードを低下させてしまいます。

これらの弱点を解消する有効な選択肢として注目されているのが、コミュニティ型ペンテストです。コミュニティ型ペンテストであれば、企業は数百名規模のセキュリティ専門家、ペンテスター、ホワイトハットハッカーにプロダクトの脆弱性調査を依頼できます。さらに、発見された脆弱性の件数に応じて報酬を支払う Bug bounty(バグバウンティ)型の課金モデルにより、従来型ペンテストと同等の費用でも投資効果を最適化できます。

侵入テストのツール

ペンテスターは基本的な脆弱性を検出するためにツールを活用します。これらのツールはアプリケーションのソースコードをスキャンし、攻撃の糸口となり得る悪意あるコードを洗い出します。また、ペンテストツールはデータの暗号化方式を検証したり、ハードコードされた値(ユーザー名やパスワードなど)を特定したりすることで、システムに存在する脆弱性を確認することもできます。

優れたペンテストツールは、次の条件を満たしている必要があります。

  • 導入・設定・利用が容易であること
  • システムのスキャンが簡単に行えること
  • 深刻度と緊急度に基づいて脆弱性を分類できること
  • 脆弱性の検証プロセスを自動化できること
  • 過去のエクスプロイトを再検証できること
  • 脆弱性レポートと詳細なログを出力できること

無料かつオープンソースで広く使われている ペンテストツール は数多く存在します。たとえば Metasploit Project、Nmap、Wireshark、John the Ripper などです。ペンテスターはブラックハットハッカーと同じツールを使います。そうすることで、攻撃者がこれらのツールをどのように使って組織へ侵入するのかをより深く理解できるからです。

プロフェッショナルなペンテスターは、最適なペンテストツールを使いこなすことで労力を抑えつつ最大の成果を上げることができます。

ペンテストのプロセス

侵入テストのプロセスには、さまざまな方法論とアプローチが存在します。ただしいずれも、対象の情報収集 → 実行可能な攻撃手段の調査 → 脆弱性の悪用&侵入 → 報告、という4つの基本ステップから成る共通の考え方に沿っています。

  1. Reconnaissance
  2. Enumerate
  3. Exploit
  4. Documentation

情報収集

ペンテスターが対象に関する必要な情報をすべて集める段階です。このプロセスは専門家によるテストの結果を大きく左右します。正確な情報を収集できれば、テストにかかる時間を大幅に短縮できます。収集対象となる情報には、WebサイトのURL、サーバーの種類、サーバーの設置場所、各種リンク、暗号化方式、連絡先情報、メールアドレス、電話番号などがあります。用いるツールも多彩で、Google検索のような身近なものから、Nmap や Wireshark といった専門的なものまで幅広く使われます。ペンテスターがWebサイトのソースコードを解析して情報を探すこともあります。

アクセス経路の特定

次に行うのは、アプリケーションへのアクセスを許しているポートをすべて洗い出すことです。この段階でペンテスターは、自らの経験と支援ツールを駆使して、ソフトウェアへ到達できる可能性のあるポートを特定します。よく使われるツールは Nmap や Wireshark です。

脆弱性の悪用と侵入

十分な情報とアクセス経路が揃ったら、ペンテスターは脆弱性を悪用してWeb/モバイルアプリケーションへのアクセス権を獲得します。

脆弱性レポートとPoCの提出

WhiteHub上のペンテストPoC
WhiteHubプラットフォーム上のペンテストPoC

侵入に成功したら、ペンテスターはシステムの管理主体に脆弱性レポートを提出し、検証と深刻度の評価を受ける必要があります。この段階でペンテスターはPoCを作成します。

PoC(Proof of Concept)とは、現実世界で脆弱性を悪用する攻撃を模擬的に再現したものです。その再現のために書かれたコードはPoCコードと呼ばれます。セキュリティパッチが公開される前にPoCコードが広く出回ってしまうと、それはゼロデイエクスプロイトとなります。

ペンテストのプロセスは、双方(ペンテスターと企業)が脆弱性とそれがソフトウェアやシステムに与える影響度について最終報告の内容に合意した時点で完了します。

危険な脆弱性を発見しても、それが組織に及ぼす影響度を証明できなければ、ペンテスターとして高い評価は得られません。したがって、脆弱性の影響度を示すことは交渉の過程で非常に重要であり、影響範囲について円滑に議論できるよう、ペンテスターは対象組織について十分に理解しておく必要があります。

VietIS Education の初心者向け Penetration Test コース

「初心者のためのシステムセキュリティテスト – Penetration Testing」 は、セキュリティテストの分野に挑戦し、プロのペンテスターを目指す方に向けた専門コースです。1.5か月にわたり知識の習得と実践演習を並行して進めることで、システムのセキュリティ脆弱性を発見し評価する手法を自信を持って身につけられます。 

VietIS Education の Penetration Testing コースを 見逃してはいけない 5つの理由

✅ 講師は セキュリティ・性能テストチームのリーダー 。セキュリティテスト分野で7年以上の経験を持ち、受講生を生涯にわたってサポートします。

✅ 基礎から応用まで網羅した学習ロードマップ。実務に極めて近い仮想ラボ環境での継続的な演習と緊密に組み合わせて学べます。

✅ 手頃な受講料と柔軟な学習形態。多忙なスケジュールを抱える高校生・大学生・社会人にも適しています。

✅ 最新の学習環境と充実した設備により、快適な学習体験を保証します。

✅ 24時間365日対応のサポート担当チームが、受講生のあらゆる疑問にお答えします。 

お問い合わせ・ご相談:https://www.vietis.edu.vn/lien-he/

同じカテゴリーの記事

関連 記事

すべての記事