ソフトウェア脆弱性の危険性と対策方法

avatar

 2017.06.28  Japanブログ編集部

ソフトウェア脆弱性とは

各ソフトウェアベンダが提供する製品には、必ずと言っていいほど設計上のミスが発生します。これはベンダ側に責任があるというより、ビジネスとの整合性上仕方のない部分も大きく、ミスが無くなることはないと言ってもいいでしょう。

そして、この設計上のミスがセキュリティに影響を及ぼすものだと、そこが弱点(セキュリティホール)となりサイバー攻撃による被害を生んでしまう可能性があります。

これが、ソフトウェア脆弱性です。

皆さんが現在使用しているブラウザにも、あるいはビジネスで使用するOfficeアプリケーションにも、過去または現在進行形でソフトウェア脆弱性が存在します。

なぜ放置すると危険なのか

ソフトウェア脆弱性の存在を認識しつつも、未だ対応していないというケースが少なくありません。こうしたセキュリティ意識の低さは「今までサイバー攻撃に狙われなかっただけ」であり、明日重大なセキュリティ事件が起きてもまったくおかしくない状況です。

あるいは、既に攻撃が内部ネットワークに潜伏し、少しずつ重要情報を搾取している可能性もあります。実はサイバー攻撃に遭った9割の企業が、外部からの指摘により気づくと言われているのです。

ソフトウェア脆弱性を放置しておくということは、玄関のカギを開けっぱなしで、警戒もせず、通帳も印鑑も親切にテーブルの上に置きっぱなしで長時間外出するようなものです。いつ空き巣に入られ、通帳と印鑑を盗まれても文句は言えません。

そしてサイバー攻撃が空き巣よりも悪質なのは、ソフトウェア脆弱性が持つ企業を簡単に特定できるという点です。特にWebサイトに脆弱性があった場合、攻撃者は検索エンジンから特殊な検索方法でいとも簡単にソフトウェア脆弱性を発見します。

空き巣なら一軒一軒回る必要がありますが、サイバー攻撃の場合はデスクに座ったまま、瞬時にソフトウェア脆弱性を持つ企業を特定できてしまうのです。

 

よくあるソフトウェア脆弱性による被害

ソフトウェア脆弱性が放置されたままだと、どのような被害があるのか?ここでよくある被害事例について紹介します。

 

内部ネットワークへの侵入

サイバー攻撃者が企業のソフトウェア脆弱性を発見した場合、まずは内部ネットワークへの侵入を試みるケースが多いようです。内部から秘密裏にファイルやコードを改ざんすれば、大量の重要情報を一度に搾取することが可能です。

例えば日頃使用するビジネスソフトウェアに脆弱性があった場合、攻撃者はそのソフトウェア脆弱性を悪用するプログラムを組み込んだ添付ファイルなどを送信します。

一見して普通の添付ファイルを開いてしまうと、悪性プログラムが実行され、内部ネットワークへの侵入を許してしまうのです。

他にも様々な脆弱性を突いて、多様な経路で内部ネットワークへの侵入を試みます。

個人情報の漏えい

内部ネットワークへの侵入を介さずに、個人情報が漏えいしてしまうケースをご存知でしょうか?例えば公開しているWebサイトにSQLインジェクションという脆弱性があった場合、Webサイトから直接的に個人情報を搾取されてしまう可能性があります。

SQLとはWebサーバのデータベース操作で一般的に利用されている言語ですが、このSQLに脆弱性があると、Webページの入力フォームに不正文字列を挿入することで不正にデータベースを操作することができます。

これによりデータベース内の個人情報を搾取されてしまうケースが多発しているのです。

データ送受信の盗聴

SQLインジェクションやその他Webサイトで発生するソフトウェア脆弱性を悪用されると、簡単にデータの送受信を盗聴されてしまいます。

例えばOpenSSLに発生した「Heart Bleed(ハートブリード)」という脆弱性では、メモリ内に格納されている暗号化のための共通鍵を盗むことができます。共通鍵が盗まれてしまうと、サーバとクライアント間でやり取りされているデータを全て盗聴することが可能です。

そこに個人情報が含まれていれば、当然重大な個人情報漏えい事件へと繋がる可能性があります。

正規ユーザーへのなりすまし

クロスサイトスクリプティングというソフトウェア脆弱性では、正規ユーザーに成りすまして会員ページへ不正にログインすることができます。

具体的には脆弱性のあるWebページに不正スクリプトを埋め込み、ユーザーがWebページを開いた時に実行されるように仕掛けます。そして不正スクリプトが実行されてしまうと、運営者が意図しないWebページに誘導されてしまったり、アカウントIDやパスワードを簡単に盗み取られてしまうのです。

クレジットカード情報を登録しているECの場合、それを不正に利用し大量の買い物をすることも可能です。

 

ゼロデイ攻撃をどう防ぐか?

様々な危険性を含んでいるソフトウェア脆弱性ですが、対策の基本は定期的なアップデート対応です。ソフトウェア脆弱性が発見されても、ベンダが提供する修正プログラム(セキュリティパッチ)を適用すれば、ソフトウェア脆弱性の悪用を防ぐことができます。

従ってシステム管理者は、面倒がらずにアップデート対応を定期的に行うことが大切です。

しかし、常に迅速にアップデート対応を行っていても、ソフトウェア脆弱性を悪用したサイバー攻撃の被害に遭ってしまうことがあります。情報セキュリティではそうした攻撃を「ゼロデイ攻撃」と呼びます。

ゼロデイ攻撃とはソフトウェアベンダが発見するよりも早く、攻撃者が独自にソフトウェア脆弱性を見つけそれを悪用するというサイバー攻撃です。

ベンダから修正プログラムが配布される前に攻撃を実行するので、防御が非常に困難なサイバー攻撃でもあります。

このためソフトウェア脆弱性対策の中心は、定期的なアップデートとこのゼロデイ攻撃対策と言っていいでしょう。

では、ゼロデイ攻撃はどのように防げばいいのでしょうか?

まず大切なのは「攻撃されることを前提に対策を取ること」です。ゼロデイ攻撃は防ぐことが困難だ、ということは既に分かっています。ならば、攻撃されてからの対処を迅速化し、実害が発生しないように努めることが先決だと言えます。

ソフトウェア脆弱性を突いた攻撃とは、成功してすぐに情報漏えいなどに繋がるわけではありません。例えば内部ネットワークへの侵入に成功した場合でも、重要情報が格納されている場所を探したり、秘密裏に情報搾取できるようファイルやコードを改ざんしたりなどの準備期間があります。

この段階でサイバー攻撃を検知し、排除することができれば実害は出ません。

具体的には改ざん検知システムで社内システム全体を監視し、ファイルやコードを不正改ざんを検知、さらには迅速な対処を実行することができます。

 

まとめ

いかがでしょうか?今回はソフトウェア脆弱性の危険性や、対策の基本などについて紹介しました。ソフトウェア脆弱性のカバーは、サイバー攻撃対策において基本中の基本です。ソフトウェア脆弱性を放置しないことが、堅牢なセキュリティ環境への第一歩と言えるでしょう。

また、危険性の高いゼロデイ攻撃への対応を独自に行うことは難しため、改ざん検知システムなどセキュリティソリューションの導入をおすすめします。

ソフトウェア脆弱性に対する正しい理解と対策知識をしっかりと身に付け、各社に合った対策を講じていただければと思います。

改ざん検知まるわかりガイド

RECOMMEND関連記事


RECENT POST「脆弱性管理」の最新記事


この記事が気に入ったらいいねしよう!