脆弱性とは?脆弱性を狙う攻撃の種類と対策方法を解説

security_01

セキュリティのことを知ろうとすると「脆弱性」という言葉をよく聞きます。しかし、本来の意味を知っている人は少ないでしょう。何となく「セキュリティの欠陥」という感覚で捉えている方が多いようです。

システムの脆弱性には様々な種類があり、受ける被害も異なります。この記事では、セキュリティの脆弱性とは何か、もしサイバー攻撃に遭った場合にどんな被害を受けるのか、攻撃の種類や防ぐための対策についてご説明します。

目次

1. 脆弱性とは

「悪意ある者に攻撃されやすいセキュリティ上の欠点」のことです。

脆弱性(vulnerability/バルネラビリティ)という言葉には、一般的に「キズつきやすい性質」「もろくて弱い」といった意味があります。

コンピューター・ネットワークの分野では、主に「ソフトウェアのセキュリティ脆弱性」のことです。セキュリティホールとも呼ばれます。

では、ソフトウェアの脆弱性(以下、脆弱性)とは何でしょうか?

この定義は人によって異なります。そのため、ここでは「セキュリティの問題を発生させる、ソフトウェアの設計上の欠陥」(バグ)と定義します。ソフトウェアの設計ミス・実装ミスにより生じるものです。

脆弱性があると、本来はできないはずの操作ができたり、第三者に見えてはならない情報が見えてしまったりするなどの不具合がでます。すると開発者の予想を超えた使われ方をされてしまい、悪意のある第三者がウイルス感染や不正アクセスを実行できてしまいます。

1-1. 脆弱性ができる原因は?

  • システム設計時の予測不足
  • プログラムのコーディングやシステムの設定ミス
  • 故意に仕掛けられたもの など

人が制作する以上、どうしてもミスがでてしまい、脆弱性につながることがあります。

また、「管理体制の不備」も脆弱性となってしまいます。脆弱性はソフトウェアの欠陥だけでなく、機密情報の管理方法など、人や社内の管理体制に不備があることも脆弱性といいます。

これはソフトウェアと区別するために、「人為的脆弱性」と呼ぶこともあります。

1-2. 脆弱性を狙ったサイバー攻撃でどんな被害を受けるのか?

  • ウイルス感染
  • 情報漏えい
  • パソコンの乗っ取り、破壊
  • 意図しない操作の実行
  • 詐欺、金銭被害
  • サイト改ざん など

脆弱性のあるソフトウェアは、不正アクセスを受けたり、悪意のあるコードを埋め込まれたりすることで、本来の機能を失ってしまいます。それによりクレジットカード情報流出など、重大な被害を受けてしまいます。

1-3. 企業が自社サイトやソフトウェアの脆弱性を放置することのリスク

  • お客さまや取引先の個人情報流出
  • 自社サイトを改ざんされ、ウイルスをばらまく踏み台に
  • 対処に追われ業務が停止

パソコンやソフトウェア、自社サイトの脆弱性を放置した結果、ウイルス感染や不正アクセスが起きてしまうと、このような被害を受ける恐れがあります。

いちど事故が起きると、社会的信用の失墜→収益ダウンにつながる場合があります。脆弱性の問題は、企業イメージの低下や資産価値を下げ、倒産に追い込むほどのダメージを与える可能性があります。

脆弱性対策は、企業がおこなうべき重要なセキュリティ対策です。特に自社サイト(会員サイトや通販サイト)を運営している場合は、[会社のパソコンやサーバー・スマートフォンの対策]+[自社サイトの対策]をする必要があります。

1-4. 脆弱性とバグの違いとは?

脆弱性とバグは「第三者が悪用できるかどうか」の部分が異なります。

「バグ」とは?
ソフトウェアの動作を妨害する欠陥のことです。バグがあるとソフトウェアなどが正しく動きませんが、それ以上の問題は起こりません。

一方、脆弱性は開発者・ユーザーが意図しない動きをする欠陥です。これを攻撃者が悪用し操作すると、ユーザーが被害を受けます。被害を起こすための操作方法は、脆弱性の種類やソフトウェアの種類により違います。

1-5. 脆弱性の最新情報はどこでわかる?

製品やソフトウェアのメーカーの公式サイトだけでなく、IPAなどのセキュリティ情報サイトでは国内で多く使われる主要製品の注意喚起情報がまとめて見られます。

例えば、Windowsの場合はマイクロソフト社のホームページに脆弱性の情報を掲載しています。また、その脆弱性に対する「修正パッチ」やWindows Update情報も掲載しているので、システム管理者は日々、ソフトウェアメーカーのホームページや脆弱性情報を確認してください。

IPA 重要なセキュリティ情報一覧
»http://www.ipa.go.jp/security/announce/alert.html

マイクロソフト セキュリティ情報
»https://technet.microsoft.com/ja-jp/security/bulletins.aspx

2. 脆弱性の発生状況データ

2-1. 脆弱性情報の届け出状況

2016年4~6月の「ソフトウェア製品」の届け出件数が、前四半期に比べ大きく増えていることがわかります。

脆弱性の原因

1位 Webアプリケーションの脆弱性:578件
2位 その他実装上の不備:55件
3位 ファイルのパス名、内容のチェックの不備

脆弱性がもたらす影響

1位 任意のスクリプトの実行:438件
2位 任意のコマンドの実行:77件
3位 任意のコードの実行:37件
その他 なりすまし、情報漏えい、データベース不正操作、アクセス制限回避、サービス不能など脆弱性を放置すると、上記のような被害が出る可能性が高いです。

Webサイトの脆弱性の種類と割合

(統計開始後~届出された脆弱性全8,519件 IPA調べ)

  • クロスサイトスクリプティング:56%
  • DNS情報の設定の不備:16%
  • SQLインジェクション:11%

その他 ディレクトリ・トラバーサル、ファイルの誤った公開、HTTPSの不適切な利用など

上記の脆弱性を攻撃されたことによる被害では、本物サイト上への偽情報の表示(54%)、ドメイン情報の挿入(16%)、データ改ざん・消去(11%)その他となっています。

脆弱性があったソフトウェアの種類

  • Webアプリケーションソフト:37%
  • Webブラウザ:9%
  • ファイル管理ソフト、グループウェア:7%

その他 アプリケーション開発・実行環境、ルーター、メールソフト、OS、システム管理ソフト、ウイルス対策ソフト、Webサーバーなど

脆弱性の修正完了状況(JVN公表)

分類 2016年4~6月の件数 累計
ソフトウェア製品 76件 1257件
Webサイト 78件 6741件
合計 154件 7998件

連絡不能の脆弱性への対応は?

脆弱性が報告されているものの連絡が取れない製品開発者について、IPAでは開発者名を公表し、情報提供を求めています。数ヶ月経っても見つからない場合は製品情報や脆弱性情報の公表をJVNがおこない、1つでも多く修正や対応ができるよう努めています。

JVNの「脆弱性レポート一覧」は、こちらで確認できます。
»https://jvn.jp/report/

3. 脆弱性を狙う攻撃の種類

攻撃者はさまざまな手段で、ソフトウェアの脆弱性を悪用しウイルスや不正アクセスを仕掛けようと狙っています。代表的な手口と、その仕組みを見ていきましょう。

3-1. バッファオーバーフロー(buffer overflow)

ウイルスを実行させられてしまうため、特に危険な脆弱性のひとつです。「メモリー破壊型」とも呼ばれます。この脆弱性がパソコンにインストールしたソフトウェア(プログラム)にあると、細工されたWebページ・ファイルを読み込むだけでウイルスに感染してしまいます。

読み込まれたデータがバッファ領域をオーバーしてしまうと、バッファ領域外のコードが悪意あるコードで上書きされてしまいます。

「バッファ」とは?

データ(文字や数値)を格納するため、メモリ上に確保する領域のこと。バッファに格納される情報は、ファイル・キーボード・ネットワークなどプログラムの外部からの入力で読み込むことがほとんどです。

3-2. シェルショック(Shellshock)

ウイルスを実行できる脆弱性は、バッファオーバーフローのほかにもあります。2014年9月に発見された「Shellshock」は、ユーザーの入力コマンドを実行するソフトウェアに脆弱性がある場合、ウイルスとして動作するような命令ができてしまいます。

これはOSとユーザーを仲介するソフトウェアのひとつ「bash(Bourne Again Shell)」で発見された脆弱性です。bashには、ユーザーの入力した命令を解釈して実行するなどの役割があります。

攻撃者は不正なスクリプト(実行コード)をサーバーやパソコンで実行できてしまうため、この脆弱性に関する様々な機器や端末、IoTが狙われます。特に各種LinuxやMac OS Xに影響を及ぼすので、被害が広まる危険があります。

3-3. ハートブリード(Heartbleed)

OpenSSL(暗号化通信)の特定バージョンで2014年4月に見つかった脆弱性です。これを悪用されると、システムのメモリ内情報を盗まれ、ユーザーの個人情報や暗号化の重要情報が流出する危険があります。

この場合、被害は脆弱性のあるソフトウェアを使うサーバー管理者だけでなく、一般ユーザーにまで広がってしまいます。

3-4. SQLインジェクション(SQL Injection)

Webサーバー上で動作するWebアプリケーションの代表的な脆弱性です。

入力フォームなどに悪意あるSQL文という命令文を送信することで、データベース内の情報を窃取・操作でき、ID/パスワードを知らなくてもログインできてしまいます。

詳しくはこちらで解説しています。

security_162SQL・HTMLインジェクションとは?2つの脆弱性による被害
近年、Webサイトの悪用による個人情報漏えい、マルウェアの拡散などの被害が急速に増加しています。信用問題にかかわるWebセキュリティ対策に力を入れる企業が増えてい...

3-5. OSコマンドインジェクション(OS command injection)

WebアプリケーションのHTMLフォームなどに悪意あるOSコマンドを入力し、Webサーバー上で実行させる攻撃です。

情報の盗聴やシステム破壊など、OSコマンドで実行できる全ての部分が悪用できてしまいます。

3-6. DNSキャッシュポイズニング(DNS cache poisoning)

上記までの脆弱性は、入力データの確認ミスなど設計・実装上の不具合が原因でした。しかし、なかには仕様やプロトコル(通信時の規約)が原因の脆弱性が発生し、悪用されるケースもあります。

そのひとつが、DNSサーバーが影響を受ける「DNSキャッシュポイズニング」攻撃です。

これは、DNSサーバーにドメイン名・IPアドレスのニセ情報をキャッシュさせる攻撃です。ドメイン名に関する情報を所有する、権威DNSサーバーから、ユーザーの問い合わせに答えるキャッシュDNSサーバーへ正しい応答が送信される前に、ニセのIPアドレス情報を送り込みます。

キャッシュDNSサーバーはニセ情報を送信されると、正しいURLをWebブラウザに打ち込んでも、気づかないうちに偽の不正サイトへ誘導されてしまいます。ドメイン乗っ取りや、詐欺などの被害にもつながります。

DNS(Domain Name System)とは?
インターネット上でドメイン名を管理するためのシステム。インターネットを使うときにかならず必要になります。

3-8. クロスサイトスクリプティング(cross site scripting:XSS)

動的Webページの脆弱性を突いた攻撃です。WebサイトのHTMLなどに悪意ある(スクリプト)を埋め込み、ユーザーが入力した情報などを盗みます。

詳しくはこちらで解説しています。
クロスサイトスクリプティング(XSS)対策 | 被害に遭わないために

security_1111クロスサイトスクリプティング(XSS)とは | 対策と被害事例
「クロスサイトスクリプティング」(略称、XSS)とはどのような脆弱性をご存じですか?Webサイトを運営しているならサイトにこの脆弱性がないかチェックしておくことは...

3-6. クロスサイトリクエストフォージェリ(Cross Site Request Forgeries:CSRFまたはXSRF)

Webサイトの攻撃方法です。正規ユーザーがログインした状態で、本来の操作であるかのように不正なWebの処理・操作(偽ページへのアクセス、意図しない投稿、商品購入など)を、知らないうちにさせられる攻撃です。

サーバー側で対策をするには、サイト外からのリクエスト受信を拒否するなどの必要があります。

実際に起きた事件

パソコン遠隔操作事件 2012年

CSRF攻撃で犯人に自分のパソコンを遠隔操作させられ、犯行予告を掲示板に書き込みさせられた人が誤認逮捕されてしまいました。

1件はCSRF脆弱性を突いたなりすまし、ほか4件は犯人の用意した「遠隔操作ウイルス」で操作されたとされます。

mixi日記「はまちちゃん」事件 2005年

ある日、大手SNSであるmixiで、タイトル「ぼくはまちちゃん!」本文「こんにちはこんにちは!」という日記が大量のユーザーによって掲載されました。

これはユーザーが意図して書き込んだものではなく、犯人が用意したURLをクリックすると、CSRFにより勝手にこの日記がアップされてしまったものです。URLは「mixiの裏技」といった、クリックしたくなるようなリンクになっていました。

この件について、現在はmixi運営により対策がされています。しかし別の攻撃を組み合わせた犯行も登場するなど、いたちごっことなっています。

3-7. ゼロデイ攻撃(zero-day attack)

脆弱性を発見→修正プログラム(パッチ)を提供するまでの間に、その脆弱性を突く攻撃です。修正プログラムはすぐに配布されないこともあり、例えば発見から10日後に修正が完了し配布された場合、その10日の間に脆弱性を攻撃されるリスクがあります。

公式サイトで脆弱性の発見を公表することは、「ここが弱点です」と攻撃者に教えているようなことにもなってしまいます。使っているソフトの修正パッチが公開されたら、すぐにアップデートで適用しましょう。

詳しくはこちらで解説しています。

security_907ゼロデイ脆弱性とは?どんな被害が想定されるのか
セキュリティ最大手のシマンテック社の調査によると、2015年に検出されたマルウェアは2014年から36%増加の4億3,000万を超える数字となりました。新しいゼロデイ脆弱性は...

3-8. スマートフォンの脆弱性にも注意

スマホやタブレット端末はパソコンと同じ機能を持っているので、携帯電話とは別物です。特にアプリの脆弱性が危険です。悪意をもって作られた不正アプリの問題も深刻ですが、正常なアプリの脆弱性も問題になっています。

スマートフォンアプリ 過去の脆弱性の例

Twitterアプリ

スマホに保存されている画像を不正アプリがTwitterに勝手に投稿したり、なりすまし投稿されたりする危険がありました。

この原因は、アクセス制限不備の脆弱性があったためとされています。

iPhone、Windows Phoneの対策方法

開発元のAppleやMicrosoftから修正パッチが提供されたら、すぐに適用します。OSを管理するベンダーの対応は、比較的早いです。

Androidの対策方法

Androidは開発ペースが速く、メーカーのカスタマイズも多いです。そのため独自付加した機能に脆弱性が見つかることもあります。メーカーが提供する修正パッチを適用する方法が確実ですが、メーカーによって対応に差があるようです。

脆弱性のある端末やアプリにもかかわらず、開発者が修正パッチを提供していないケースも、IPAの調査でわかっています。

またSDカード内のファイルにアクセス制限はできないため、誰でも閲覧・改ざんが可能です。インストールはGoogle Playなど公式ストアでおこなう、不審なアプリはインストールせず、評価などを確認することが大切です。

しかし「Androidは危ない」と頭ごなしに決めつけるのではなく、Androidはセキュリティを理解せずに開発された一部のアプリが危険であり、iPhoneはジェイルブレイク(改造)しなければ安全性が高い、ということです。

脆弱性攻撃の怖い点

●攻撃されたことに気づきにくい
攻撃の形跡をソフトウェア側に残さず、攻撃を実行できる場合があります。

●不正サイト閲覧やファイルのダウンロードをさせることなく、攻撃できる脆弱性もある
利用者がクリックなどの行動をしなくても、脆弱性を突かれて攻撃される場合があります。

なぜ脆弱性は狙われ続けるのか?

  • 一般的な利用者は脆弱性に気づきにくい点
  • コンピュータの更新作業を定期的におこなわない人が多い点

最新状態にすることが1番の対策ですが、次々と脆弱性が狙われてしまうのが現状です。

長期休暇あけや、長期間パソコンを使わなかったときなどは特に注意してください。連休中に修正パッチが配布されると、見逃す可能性があります。セキュリティソフトの期限なども切れていないか?チェックしましょう。

4. 過去に発見された脆弱性の例

4-1. Internet Explorer(IE)の脆弱性 2015年8月

「細工されたWebページをInternet Explorerで表示すると、リモートでコードが実行される」という脆弱性が見つかりました。これを悪用されるとパソコンを乗っ取られる恐れがあります。

対象のOSはWindows Vista以降のほぼすべてのWindows、対象のバージョンはInternet Explorer 7/8/9/10/11です。

このためマイクロソフトは緊急でセキュリティ更新プログラムを配布しました。11が搭載されているWindows 10でも更新が必要です。

4-2. ワイヤレスキーボードの脆弱性「KeySniffer」 2016年7月

大手メーカーの低価格ワイヤレスキーボードで、「入力内容を最大約70メートル離れた場所から平文で攻撃者が傍受できてしまう」というモノのインターネット(IoT)に関する脆弱性が見つかりました。

メーカー12社のキーボードをテストした結果、8社のキーボード(東芝やHewlett-Packard(HP)など)で脆弱性が見つかった、と発表されています。

この原因は、低価格キーボードが通信を暗号化しないことにあります。これはアップデードで対策ができないので、Bluetoothを使ったキーボード、有線のキーボード、高性能キーボード(Logitech、Dell、Lenovo製など)の使用がおすすめとされています。

4-3. 脆弱性攻撃の進化と歴史

2006年以前

  • 新たな脆弱性が毎月指摘されはじめる。そのような脆弱性を狙ったマルウェアが作られる
  • ネットワークの脆弱性を突く「Blasterワーム」が初めて出現(2003年)
  • クライアント側のコンピュータの脆弱性を悪用しマルウェアを作る「WMF脆弱性」が増加

2007年

  • Officeアプリケーション、マルチメディアプレイヤー、その他セキュリティプログラムなど様々なアプリケーションの脆弱性の攻撃が作られる

2008年

  • データベース上のアプリケーション脆弱性を攻撃する「SQLインジェクション」が出現
  • Webアプリケーション脆弱性を攻撃する「クロスサイトスクリプティング」が出現、フィッシング攻撃などでも利用される

2009年以降

  • セキュリティレベルの高いOS(Windows 7)などの登場や、マルウェアを広める新たな経路の出現にも関わらず、感染経路として攻撃者は脆弱性を利用し続けている
  • スマートフォンアプリやSNSが登場し、様々な対象に、変化させながら攻撃を行っている

5. 脆弱性を防ぐ!対策方法

5-1. アップデート(更新)する

セキュリティのエキスパートが真っ先に行う対策は、ソフトウェアアップデートをインストールし、修復パッチを適用することです。一度防いでも、次の脆弱性が発見される可能性があるので、そのつどアップデートして最新状態に保つことが重要です。

特に「セキュリティ対策のアップデート」通知がきたらすぐに実行します。ウイルス対策ソフトのアップデートも重要です。毎日のように大量の新種ウイルスが出現しているので、更新しないとそれらを検知できず、感染する恐れがあります。

またメーカーのWebサイトやセキュリティ情報サイトなどで、脆弱性情報が公表されていないか定期的なチェックをおすすめします。回避のための設定方法が公開されることもあるので、手順に沿って、かならず設定・確認をしてください。

5-2. セキュリティ設定をしっかりしておく

パソコンやサーバーにはウイルス対策ソフトをかならず入れ、最適な設定をすることで、攻撃されても防げる可能性が高まります。

5-3. サポートが終了したOSやアプリケーションは使わない

サポートが終了したOSなどは、安全性改善のための更新がされません。そのため古いバージョンのブラウザやOS(WindowsXPなど)、アプリケーションは脆弱性があっても対策ができないため、使わないようにします。

5-4. 脆弱性の診断を受ける

企業では、自社サイトや機器の脆弱性を発見して事故を防ぐことも重要です。特にサイト運営や顧客の重要情報をあつかう職場では、セキュリティのプロによる第三者のチェックを受けることがほぼ必須になってきています。

Webアプリケーション診断、ネットワーク診断など、企業に合わせた様々な診断サービスがあります。

脆弱性を発見したら報告する(脆弱性報奨金制度)

脆弱性関連情報の届出受付(IPA)
»https://www.ipa.go.jp/security/vuln/report/#contact

製品の脆弱性を発見し報告すると、謝礼として報奨金を支払う事業者もあります。

サイボウズ株式会社
»http://cybozu.co.jp/company/security/bug-bounty/

LINE株式会社
»https://bugbounty.linecorp.com/ja/

KRAKEN(ビットコイン取引所)
»https://www.kraken.com/ja-jp/security/bug-bounty

担当者ごとの「脆弱性対応ガイドライン」は、IPAのこちらのページでまとめられています。
»http://www.ipa.go.jp/security/vuln/

まとめ

攻撃者は常に脆弱性を探し、攻撃できるスキマを狙っています。脆弱性を狙う攻撃は日々増え続けています。一つを防いでも新たな攻撃が出現する恐れがあり、対策を怠ると、重要情報が流出する危険があります。

いたちごっこになっているのが現状ですが、100%完璧なシステムをリリースすることは現実的に難しい以上、修正パッチを適用し続けていくことが最善です。

「セキュリティ対策は、どこまでやっても終わりがないからコストばかりかかる…」

このように思われがちですが、対策したぶん、大きな被害を受ける確率は下がります。もし攻撃されたとしても、最小限でくい止められるかもしれません。

取引先や自社サービス利用者の情報を漏えいさせて企業が損害を受けないためにも、セキュリティ診断や対策はおこなっておくべきです。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

今、注意すべき攻撃手口はこれ!【2016年最新セキュリティ脅威レポート】 特別プレゼント

・「セキュリティ診断」で何がわかるの?
どんな危険が見つかっているの?
どんな被害が発生しているの?

もし、あした「情報漏えい事故」であなたの会社がニュースになったら?
攻撃者は、自動攻撃ツールを使って24時間365日、攻撃できるスキマを狙っています。
セキュリティ事故は、いつ起きてもおかしくありません。

【2016年最新セキュリティ脅威レポート】では、弊社が実際に疑似攻撃(ペネトレーションテスト)をおこない、検証した結果から、2016年注意すべき脆弱性・実際に多かった不備などをお伝えします。

「今、どんな被害が起きているのか?」
最新のセキュリティ脅威を知って、事故を未然に防ぎませんか?
ぜひダウンロードして、今後のセキュリティ対策にお役立てください。


【2016年最新セキュリティ脅威レポート】目次
1. おもなWebアプリケーション診断項目
2. ペネトレーションテスト内容とは?
-2015年度ペネトレーションテスト初回診断時総合評価の結果一覧
-脅威レベル深刻度別・脆弱性の該当比率一覧
3. 2015年度に多く検出された脆弱性とは?
4. ペネトレーションテストで発見した、新らなる脅威とは?
-最近また増えた、ウイルス感染配布サイト
-パケット改ざんプログラムによる被害

セキュリティレポートをダウンロードする >