セキュリティホール(英: security hole)とは、外部からの攻撃によって容易に突破され、不正侵入やデータの改ざんなどが具体的に実行可能となっている致命的なソフトウェアの欠陥をいう。脆弱性の中でも、特にソフトウェアの直接的な攻撃の侵入口となる具体的な欠陥を指す。

概要 セキュリティホールが発生する原因は、プログラムや設定の間違い、設計上の考慮不足、保守のために意図的に作られた機能に関する機密の漏洩などである。ソフトウェアの欠陥に限らず、ハードウェアの欠陥や、災害に対する弱さ、悪意のある者がパスワードを管理者から聞き出すような攻撃(ソーシャルエンジニアリング)といった様々な欠陥も、セキュリティホールに含めることがある。

セキュリティホールが残されていることにより、設計、運用時に想定していない操作(ある操作について権限のないユーザが権限を超えた操作を実行するなど)ができてしまったり、非公開のはずの情報が誰にでも取得できてしまうといった、情報セキュリティ上のリスクが増大する。

具体例として、ソフトウェアのバグ、暗号化の欠如、アクセス制御の不備、設定ミスなどが挙げられる。

インターネット黎明期においては、境界型防御モデルが主流であり、不正アクセスを直接的に許してしまう物理的または論理的な「穴」を指す「セキュリティホール」という直感的な用語が支配的であった。その後、システムの欠陥だけでなく組織の管理体制などを特定・評価し、優先順位をつけて継続的に対処する脆弱性管理が主流となり、現在では脆弱性という用語が定着している。

反対語はレジリエンス(resilience)であり、日本語訳として強靭化が用いられることもある。関連する概念として、より広範な潜在的リスクを指す「弱点(Weakness)」がある。近年ではグローバルなサプライチェーンや大規模言語モデル(LLM)のような新興技術がもたらす構造的な巨大リスクを表現するためのマクロなメタファーとしても再定義されつつある。

定義 セキュリティホールという用語は、ソフトウェアの脆弱性の中でもより具体的な、攻撃の直接的な侵入口となる重大な欠陥を指す言葉として機能してきた。

総務省の国民向け啓発資料等では、一般ユーザーに対する分かりやすさを優先し「OSやソフトウェアにおいて、サイバーセキュリティ上の欠陥となる不具合のこと。脆弱性とも呼ばれる」と並列して説明されることが多い。また、「脆弱性は、セキュリティホールとも呼ばれます。脆弱性が残された状態でコンピュータを利用していると、不正アクセスに利用されたり、ウイルスに感染したりする危険性がある」と解説されており、実用上はほぼ同義として扱われている。

しかし、技術的文脈においては、セキュリティホールはソフトウェアやシステムの特定の箇所において、不正アクセスを直接的に許してしまう物理的または論理的な穴として用いられる。NISTの技術文書においても、遠隔のサブディレクトリなどに意図せず導入された欠陥によってシステムが侵害される状態を「セキュリティホール」と表現している。また、特定のパスワードリセット機能の設計上の欠陥により、生年月日とメールアドレスだけで他人のApple IDのパスワードをリセットできてしまうような、極めて具体的かつ致命的なエクスプロイトの実例を記述する際にもセキュリティホールという直感的な用語が用いられている。

すべてのセキュリティホールは脆弱性(および弱点)の一部であるが、すべての脆弱性が直ちにセキュリティホールになるわけではない。例えば、外部ネットワークから完全に遮断されたシステム(エアギャップ環境)に存在するソフトウェアのバグは脆弱性として存在するが、攻撃経路が物理的に存在しない限り、外部からのセキュリティホールとしては機能しない。しかし、後にそのシステムが不用意にインターネットに接続された瞬間、その脆弱性は致命的なセキュリティホールへと変貌する。このように、セキュリティホールという概念は、脅威と脆弱性が結びつき、攻撃経路が完全に成立した状態を強く示している。

また、セキュリティホールがシステムやプログラムといったソフトウェアにだけ用いられるのに対し、脆弱性は組織の運用の不備・管理体制の不備も含むという点でも異なる。

歴史 1990年代のネットワークセキュリティの基本思想は、境界型セキュリティモデルであった。これは、組織の内部ネットワークと外部のインターネットをファイアウォールで明確に区切るという方法である。このモデルにおいて、セキュリティ上の欠陥とは、文字通り防御壁や外部公開サーバーという境界に空いた穴を意味した。NISTが1990年に開催した第13回全国コンピュータセキュリティ会議(NCSC)の議事録においても、攻撃者の行動原理としてセキュリティホールが存在し、それがそこにあるから(because it is there)」悪用するという記述が見られ、システムに存在する物理的・論理的な隙間としての認識が定着していたことが伺える。

当時のウェブサーバーは、インストーラが不要なアプリケーション、サービス、スクリプトを自動的に導入してしまうことで、意図しないポートが開放されたり、ディレクトリトラバーサルなどの欠陥が生じたりした。また、ブラウザとウェブサーバー間で移動するコードを処理するアクティブコンテンツ技術(プラグインなど)の導入は、新たな利便性をもたらした一方で、クライアント側にコードを実行させるという性質上、システムに新たなセキュリティホールが作られた。

1990年代後半から2000年代前半にかけて、特定のセキュリティホールを標的とした自己増殖型のコンピュータウイルス(ワーム)が世界中で猛威を振るった。総務省の資料によれば、2001年(平成13年)頃から、従来のメールの添付機能を利用して自らの複製をばらまくタイプのウイルスに加え、メールソフトやブラウザのセキュリティホールを利用し、添付ファイルを開かなくともプレビューするだけで感染するタイプのコンピュータウイルスが出現し、深刻な被害をもたらした。これには、IIS の欠陥をついたワーム "Nimda"がある。同年7月に出現した「Code Red」ワームは、マイクロソフトのIIS(Internet Information Services)サーバーのセキュリティホールから侵入し、ウェブサイトを改ざんするだけでなく、メモリ上で動作しながら他のウェブサーバーへの感染を無差別に試み、バックドアを仕掛けるという活動を行った。

その後も、2003年には「MSBlaster」や「Welchia」が出現し、OSのRPC(リモートプロシージャコール)の欠陥を突いて爆発的に感染を広げた。さらに「Netsky」ウイルスの亜種が次々と登場し、2005年には「Mytob」が出現してわずか2ヶ月余りで70種類以上もの亜種を生み出すなど、未修正のセキュリティホールを狙い撃ちにする攻撃が常態化した。

これらのワームに共通する特徴は、不特定多数のIPアドレスに対してポートスキャンを自動的に行い、特定のサービスに空いている「穴」を見つけ出して侵入する点である。このように、境界線上に次々と生じる不備を総称する言葉として、セキュリティホールは極めて直感的で適切な暗喩であった。

2000年代中盤以降、サイバー攻撃がウイルスのばらまきから、国家を背景とするAPT攻撃(持続的標的型攻撃)や金銭を目的とする組織犯罪へと高度化・複雑化するにつれ、単に穴を塞ぐだけではシステムを防御することが不可能となった。ここで、セキュリティの概念は受動的なセキュリティホールの補修から、システム全体の弱点を特定し、定量的に評価し、優先順位をつけて対処する脆弱性管理へと移行することになった。

1999年1月20日から22日にかけて、米国パデュー大学で開催された「第2回セキュリティ脆弱性データベースに関するワークショップ」において、個別製品に存在する脆弱性情報を共有するための標準的な方法としてCVEの枠組みが初めて提案された。CVEは、公開された情報システムの脆弱性に対して、一意の共通識別番号(CVE-ID)と標準化された説明を付与する辞書またはリストとして機能する。その結果、グローバルな技術コミュニティにおいて「Vulnerability(脆弱性)」という用語がデファクトスタンダードとして定着した。

脚注

関連項目 脆弱性 セット打法 - パチンコ・パチスロを動作させているソフトウェアのセキュリティホールを突く操作

出典

外部リンク

オープンディレクトリのセキュリティアドバイザリリンクhttps://web.archive.org/web/20190430133458/http://dmoz-odp.org/Computers/Security/Advisories_and_Patches/ セキュリティホールmemo