「ゼロデイ攻撃」って“0日しか攻撃しない”ってこと?キーワードで学ぶセキュリティの基礎

「これって何て読むんですか?」「何よ、いきなり」「今朝の情報システム部からのメールなんですけど、漢字が読めなくて」――。

» 2009年04月15日 09時00分 公開
[山賀正人,Business Media 誠]

 「師匠!! ありがとうございますっ!!」「師匠はやめてよ、恥ずかしい……」――。ここは大手総合商社のメデア商事。ここの総務部では、とある事情で入社2年目の山田カナが、昼休みに先輩の葛城レイコからセキュリティ用語についてレクチャーを受けている。

「きじゃくせい」? はあ? 何よ、いきなり

カナ 師匠! あ、師匠じゃなかった、レイコさん、これって何て読むんですか? 「きじゃくせい」?

レイコ はあ? 何よ、いきなり。

カナ 今朝の情報システム部からのメールなんですけど、漢字が読めなくて(照)

レイコ 情シスからのメール? あっ、そんなの来てたわね。ちょっと見せて。

 レイコは、カナのPCに表示されている情シスからのメールを見た。

レイコ なんだ。「ぜいじゃくせい」じゃない。

カナ 「ぜいじゃくせい」?

レイコ セキュリティ上の脆弱なところや脆弱な性質、つまり欠陥とか弱点って意味。

カナ ああ、それで「脆弱性(ぜいじゃくせい)」ですか。

レイコ 昔からある日本語じゃなくて英語の「vulnerability」を訳したものね。

カナ ヴァルナラ……、何ですか?

レイコ 「脆弱」って意味の「vulnerable」(ヴァルナラブル)から来てるvulnerability(ヴァルナラビリティ)。

カナ で、その「脆弱性」って、セキュリティ上の欠陥って言われると何となくは分かるんですけど、具体的にイメージできなくて……。

レイコ そうね……。例えば、こんな感じかな。空き巣のサムターン回しって聞いたことある?

カナ 泥棒がドアの鍵を開けちゃうやつですか?

レイコ そう。あれは鍵、というかドアに付いた鍵穴の構造上の弱点を使って、鍵を開けちゃう手口だけど、あれっていうのは鍵を含めた「扉の脆弱性」を悪用されたと言ってもいいんじゃないかな。「欠陥」とはちょっとニュアンスが違うけど。

カナ う〜ん、分かったような分からないような……。

レイコ 要は、設計した人が想定しない使い方をすることで、侵入したり、盗んだりといったことができてしまう可能性のある弱点や欠陥が脆弱性ってこと。

カナ いずれにせよ、そういう欠陥は直さなくちゃいけないってことですね。

レイコ 安全にPCやインターネットを利用するためには必須。そういう脆弱性を直すものを一般的にパッチとか修正プログラムとか呼ぶわけ。

カナ パッチ?

レイコ 英語としての本来の意味は「継ぎ当て」とか「傷当て」って意味。

カナ その「パッチ」と同じなんですか! それなら分かりやすいです。穴をふさぐためのパッチですね。

レイコ 脆弱性のことを「セキュリティホール」と呼ぶこともあるけど、これは文字通り「セキュリティ上の穴」って意味だからね。

「ゼロデイ攻撃」って“0日しか攻撃しない”ってこと?

レイコ せっかく「脆弱性」の話題が出たからついでに。

カナ な、なんですか?

レイコ 最近のセキュリティ上の脅威として必ずと言っていいほど挙げられる「ゼロデイ攻撃」って知ってる?

カナ 「ゼロデイ攻撃」……。ゼロデイって0日って意味ですよね。「0日攻撃」って……、分かった! 0日しか攻撃しないってことですね。むしろ安全じゃないんですか!!

レイコ (笑)でも確かに「ゼロデイ攻撃」って言葉だけじゃ意味分かんないよね(苦笑)

カナ 全然違うんですか?

レイコ 全然違う。

カナ ええ〜。じゃあ全然分かりません。降参です。

レイコ これはね、さっき言ったパッチが提供される前に攻撃されちゃうことなの。

カナ へっ? 全然意味が分かりません。

レイコ つまり、カナが使っているPCも月に1回修正プログラムが入るでしょ?

カナ あー、確かに。画面の右下に変なマークが出て、「ダウンロードしています」とか「インストール中です」とか「再起動してください」とか言われるやつですよね。

レイコ そうそう、それ。Windows PCだからマイクロソフトがパッチを作って提供しているの。当り前のようだけど、ウイルスとかのマルウェアなんかは、パッチが提供されている脆弱性を悪用するものが圧倒的に多いわけ。だから、最新のパッチさえ当てていれば、そういったマルウェアに感染することはまずない。でも実はこれってとても幸運なだけなのよ。

カナ どういうことですか?

レイコ 脆弱性を発見するのは、マイクロソフトのようなメーカー自身よりも、セキュリティの研究者や専門家が多いんだけど、その人たちが必ずしも全員「善人」とは限らないってこと。

カナ 善人?

レイコ 善人であれば、発見した脆弱性を、そのソフトを作っている人やメーカーに伝えて、パッチを作るようにお願いするわよね。「ここに脆弱性がありますよ!」ってね。でももし「悪人」だったら?

カナ ……あっ!! それを悪用しようと思うかも!

レイコ でしょ? だって自分以外の誰も知らない脆弱性だったら悪用し放題じゃん。そうやってごく一部の「悪人」だけが知っていて、メーカーすら気づいていない脆弱性を悪用して、攻撃をする。これが「ゼロデイ攻撃」。つまり、この「ゼロデイ」というのは、パッチ公開日以前という意味なの。

カナ で、これってどうやって防ぐんですか?

レイコ 結論から言えば、防ぐことは不可能。だって攻撃者以外誰も知らない手法なんだから防ぎようがないでしょ?

カナ そ、そんなあ……。

レイコ だから、セキュリティ上の脅威として必ず取り上げられるのよ。とはいえPCを乗っ取るような危険な脆弱性であれば、メーカーや開発者側も急いでパッチを作るはず。パッチの提供が始まったら、なるべく早く適用したいわね。

今日のまとめ

  1. 脆弱性とは、セキュリティ上の問題を生じさせうる設計上の弱点および欠陥。
  2. 脆弱性を修正するものをパッチまたは修正プログラムなどと呼ぶ。
  3. ゼロデイ攻撃とは、パッチが提供されていない脆弱性が悪用された攻撃。

著者紹介 山賀正人(やまが・まさひと)

 セキュリティ関連の話題を中心に執筆中のフリーライター。翻訳(英語、韓国語)やプログラミング、システム構築のコンサルなど活動は多岐に渡る。JPCERT/CC専門委員。Webサイトはこちら


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ