コラム一覧へ戻る

5分で解説!気になるIT用語

2019年7月12日

vulnerability1

第2回 「脆弱性(ぜいじゃくせい)」

 「脆弱性(ぜいじゃくせい)」“vulnerability”とは、コンピュータのオペレーティングシステム(OS)やソフトウェアにおける、セキュリティ上の欠陥のこと。「セキュリティホール」とも言う。

 また、社内から外部に情報が持ち出せるようになっていたり、適切なデータバックアップが行われていなかったりといった、管理・運用体制の不備も脆弱性の一種として扱われることがある。

 これにより、例えば権限上できないはずの操作が可能になっていたり、クレジットカードの暗証番号のような、見えてはいけない情報が第三者から見えてしまったりという状況が発生するため、放置しておくと不正アクセスを受ける、ウイルスに感染するといった危険がある。

 企業はもちろんのこと、個人レベルでも重大な問題で、常に対策を行っておく必要がある。

 脆弱性は概ね次のような原因で発生する。

  • ①設計上の見落とし(ミス)
  •  ソフトウェア開発の設計段階で、仕様などに見落としがあった場合。
     例えば外部からデータが入力される可能性があると、チェック機能を設計しなければいけないが、その際のフローに漏れなどがあると、そこをきっかけとした不正アクセスを受ける可能性がある。

  • ②プログラムのコーディングミス
  •  ソフトウェアのプログラムコードを入力していく段階で、誤って本来とは違うコードを入力してしまった場合。
     明らかに想定と違う動きをしているのならテスト時にすぐに気づいて修正できるだろうが、一見設計通りに動いている(その実、コードは間違っていてセキュリティに不備がある)というケースだと、そのままリリースされてしまう可能性がある。

  • ③想定外の動き
  •  最も起きうるのがこのパターン。設計どおりの仕様でバグなどもなかったとしても、開発者の想定していないアクセス方法や、データの変更方法などがあったことが判明するというケースだ。
     ハッカーをはじめとした攻撃者は、常にこうしたソフトウェアの「アラ」を探しており、特にWindowsのマイクロソフト社や、Adobe Creative Cloudのアドビシステム社といった、シェアの大きいシステム・ソフトウェアを有する企業はその標的となりやすい。

     こうした脆弱性の発見に対する対策は、次のようなものになる。

  • ①更新プログラムの適用
  •  最も一般的、かつ確実な対策方法。

     脆弱性が発見されると、大抵は開発メーカーが更新プログラムを作成し、(基本的に無料で)ユーザーに提供するため、それを適用することで対策が完了する。ただ、前述のとおり攻撃者はソフトウェアの「アラ」を探しているので、また新たな脆弱性が見つかって更新、また新たな脆弱性が見つかって……という繰り返しになる。Windowsのような規模の大きいシステムだと完全に対策を施すことは困難なため、ユーザー側も常に情報を収集しておく必要がある。
     また、近年問題になっているのが、脆弱性の発表から更新プログラムのリリースまでの間にタイムラグがあることを利用して、その脆弱性を突くというもの。
     これは「ゼロデイ攻撃」と呼ばれ、メーカーの対応前であることから完全な対策をとることが難しく、場合によってはソフトウェアの一時削除やサービスの一時停止といった対応を迫られる場合もある。

  • ②ソフトウェアの設定などを変更する
  •  メーカーが脆弱性を発表する際、ソフトウェアの設定変更で対策可能なことを合わせて発表するケースがある。
     大抵は更新プログラムのリリースまでの一時的な措置、という位置づけになるが、前述のゼロデイ攻撃のこともあるので、可能なら行っておくべきだろう。
     ただし、レジストリの変更やアクセス権限の変更といった専門的な知識が必要になることが多いため、個人で対処する場合は誤って他の不具合を引き起こさないよう注意しておきたい。

  • ③ソフトウェアを削除する
  •  さすがにOS自体は厳しいが、対象がソフトウェアである場合は一時的に、または別の製品に乗り替えるなどして削除してしまうという方法もある。
     更新プログラムはユーザーから見れば無料でも、開発側から見れば作成にかなりのコストを要するため、フリーソフトなどの場合は更新プログラムのリリースがかなり先になったり、そのまま放置されてしまったりすることがある。
     開発が終了したソフトウェアも同様で、そうしたケースには有効な手段だ。

vulnerability2

 では最後に、脆弱性を突いたサイバー攻撃による被害事例を紹介しよう。

  • ■「PlayStation Network」の個人情報流出
  •  2011年4月に株式会社ソニー・コンピュータエンタテインメント(現・株式会社ソニー・インタラクティブエンタテインメント。以下"SCE"と表記)が提供するオンラインサービス「PlayStation Network」において、7700万件の顧客情報が流出するという事件が起こった。

     「PlayStation Network」はその名のとおり、同社開発のTVゲーム機・PlayStationのオンラインサービスで、ゲームソフトのダウンロード購入や、ユーザー同士のオンライン対戦といったサービスを提供している。
     そのアプリケーションサーバの脆弱性をハッカーに突かれた結果、データベースへの侵入を許してしまい、ユーザーの氏名、住所、メールアドレスなどが流出した。
     これを受けてSCEはサービスを完全停止。被害者が世界中に広がっていたため、米下院で公聴会が開かれるなど大きな問題となり、サービスの部分的再開だけでも1ヶ月以上を要し、全面再開は7月までかかることとなった。また、最初の情報開示が遅れたことでも批判を受けた。

  • ■「Adobe Flash Player」の脆弱性とゼロデイ攻撃
  •  「Adobe Flash」とは、アドビシステム社が開発した動画やゲームなどを扱うための規格のことで、「Adobe Flash Player」はそれを再生するためのソフトウェアのことである。アニメーションや音楽再生、ゲームなどのコンテンツを作ってウェブサイトに設置できるため、世界中で利用された。日本でもホームページにFlashを設置することが当たり前だった時期がある。

     ただ、(開発会社は数度変わっているものの)1990年代から存在するものだが、昔からセキュリティ上の問題が度々指摘されていた。それがついに表面化したのが2015年1月。バージョン「16.0.0.257」で危険な脆弱性が2件も発見され、1件はすぐに修正されたものの、もう1件が解決しないまま新たな脆弱性の発覚も続いたため、最終的に修正されたのは2月になった。

     前述のPlayStation Networkのような世界的な情報流出などは起こらなかったが、この間に脆弱性を悪用したゼロデイ攻撃があったことを、アドビシステムズ社が確認している。ウェブサイトにアクセスする(=Flashコンテンツを読み込む)と、不正なソフトウェアがダウンロードされるというもので、Flash自体を無効化するよう呼びかけた専門家もいた。この後もFlash Playerには多くの脆弱性が見つかっており、その度にゼロデイ攻撃の恐れが指摘されている。

     現在ではHTML5やJavaScriptで同様のコンテンツが作れることや、グーグル社やアップル社が自社のウェブブラウザにおいて「脱Flash」の動きを進めたことを受けて、アドビシステム社はFlashの開発やサポートを2020年末までに終了すると発表。20年以上の歴史に幕が下ろされることとなった。

関連サービス

この記事は2019年7月12日時点のものです。

コラム一覧へ戻る