こんにちは、穂苅と申します。
前回は、Webで欠かせない「クッキー(Cookie)」について取り上げてきました。CookieはWebアプリケーションを作る上でも、Webアプリケーションを利用する上でも必ず意識するところです。興味のある方はぜひご覧ください。
今回は、脆弱性についてです。そもそも脆弱性というのはどういうものか、見ていきたいと思います。
Webサイトが攻撃される原因が「脆弱性」
まず、脆弱性とは何かというところを見ていきます。
今回は、総務省の「国民のためのサイバーセキュリティサイト」を一部引用します。
脆弱性(ぜいじゃくせい)とは、コンピュータのOSやソフトウェアにおいて、プログラムの不具合や設計上のミスが原因となって発生するサイバーセキュリティ上の欠陥のことです。脆弱性は、セキュリティホールとも呼ばれます。脆弱性が残された状態でコンピュータを利用していると、不正にアクセスされたり、ウイルスに感染したり
する危険性があります。
このような脆弱性が発見されると、多くの場合、ソフトウェアを開発したメーカーが更新プログラムを作成して提供します。しかし、脆弱性は完全に対策を施すことが困難であり、次々と新たな脆弱性が発見されているのが現状です。
また、EGセキュアソリューションズの徳丸浩氏がWeb担当者Forum ミーティング 2024 秋」に登壇した際に、脆弱性とバグの違いに関して以下のように説明していました。
たとえば、「ショッピングサイトでボタンを押したのに商品がカートに入らない」といった、できるはずのことができないのがバグです。対して脆弱性は、「ログインしたら他人のマイペーシが表示されてしまう」ようなケースなど、バグの中でも、できないはずのことができるものを指します
(参考:安全な Web サイト構築の必須知識! 発注前 から始めるべきセキュリティ対策のポイント “”–
Web 担当者 Forum )
つまり、バグの中でも情報漏えいや攻撃を受けるような穴を残してしまっているものを脆弱性というようです。脆弱性を突かれた被害は大手企業だけでなく中小企業でも増えてきており、実際に大手メディアに取り上げられてしまうような大規模被害の数も増えてきているように感じている方も多いのではないでしょうか。
脆弱性については、情報処理推進機構(IPA)が2025年3月に公開した『IPA脆弱性対策コンテンツリファレンス』も参考になります。このリファレンスは、経営者や開発者、運用・保守担当者などそれぞれの役割の方々の参考になる情報がまとまっています。
(参考:IPA 脆弱性対策コンテンツリファレンス )
ゼロデイ攻撃とそのリアル
続いて、ゼロデイ攻撃についてです。ゼロデイ攻撃というのは、発見された脆弱性を解消するための対策が提供される前に行われるサイバー攻撃のことです。
例えば、自社で利用しているシステムを構成するソフトウェア(プログラム)に脆弱性が発見されたとします。通常は、ソフトウェア提供元が修正プログラムを用意しユーザーにアップデートとして提供するという対応となりますが、この修正プログラムの提供前に攻撃者が攻撃することをゼロデイ攻撃といいます。
対応策として、脆弱性が発見されたソフトウェアの利用を止める、侵入検知・防御などのセキュリティシステムを利用し攻撃の可能性がある通信を検知・遮断する、攻撃を受けてしまったデバイスをネットワークから切り離すなどを行います。
更に今では、ワンデイ攻撃というものもあり、これは脆弱性の発表から間を開けずに攻撃をするというものです。セキュリティパッチのプログラムが公開されたらなるべく早く対応することでこの攻撃は防げますが、様々な事情で対応が遅くなるシステムは当然狙われてしまいます。
ゼロデイ攻撃、ワンデイ攻撃には十分な注意が必要です。
Webセキュリティ知識を詳しく知りたい場合は、徳丸本と徳丸試験がおすすめ
Webセキュリティに関する問題は、今後も多様化し増えていくことが予想されます。セキュリティの問題はサイトやサービス運営側も利用側も必要な知識です。
こういったWebセキュリティ関連の知識について、詳しくなりたい場合は、徳丸本を学ぶことをおすすめします。
徳丸本は、Webセキュリティに関する基本知識が網羅されています。セキュリティは正確に体系立てて理解をしていかないと、システムや会社にとって致命的な問題に繋がります。これらの知識を身に着けたエンジニアとして活躍されていく方にはおすすめです。
そして、学んだあとは理解を確認するために徳丸試験でチェックしてみると理解度が可視化されるため、ぜひチャレンジしてみてください。
【徳丸本】体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 脆弱性が生まれる原理と対策の実践
徳丸浩の Web セキュリティ教室
【徳丸試験】
ウェブ・セキュリティ基礎試験 ( 徳丸基礎試験)