午前7時のしなもんぶろぐ

駆け出しのセキュリティエンジニア、しなもんのぶろぐ。

脆弱性の情報収集! 「JVN」の見方を教えます!

こんにちは。

しなもんです。

 

以前、ソフトウェア (など) のセキュリティ上の弱点「脆弱性 (ぜいじゃくせい)」のお話をしました。

am7cinnamon.hatenablog.com

公開された脆弱性情報は悪い人も見ることができますので、脆弱性が見つかったソフトウェアなどの製品は、なるべく早くアップデート・パッチ*1の適用・回避策*2の適用などの対策をとる必要があります

 

未修整の脆弱性「ゼロデイ脆弱性」を狙う攻撃もあるのですが、情報が公開されていてアップデートなどの対策もそろっている「既知の脆弱性」を悪用した不正アクセスも数多く観測されています

こうした攻撃は、対策していれば防ぐことができるのです。

 

参考

japan.zdnet.com

 

そのため、自分に関係のある脆弱性情報を早期にキャッチしたいところです。

 

本日は、そのための情報源の一つ、「JVN」とその見方をご紹介します!

 

 「JVN」って何?

JVN (Japan Vulnerability Notes) とは、

日本で使用されているソフトウェアなどの脆弱性関連情報とその対策情報を提供し、情報セキュリティ対策に資することを目的とする脆弱性対策情報ポータルサイトです。(出典:JVN とは?)

jvn.jp

とのことです。

 

一言でいうと新しい脆弱性の情報が公表されるサイトですね。

 

TOP 画面はこのような感じです。

f:id:am7cinnamon:20200302011318p:plain

JVN TOP 画面

 

独立行政法人情報処理推進機構 (以下、IPA) と一般社団法人 JPCERTコーディネーションセンター (以下、JPCERT/CC) が共同で運営しています。

 

……ということになっていますが、単に「JVN」と呼ばれるものは、 JPCERT/CC が管理運営しているという側面が大きいです*3

 

この「共同運営」という建前がいまいち実態をわかりにくくしているような気もします。

 

ここをチェックするようにすると、国内で流通するソフトウェア製品 (一見ハードウェア製品のようなものも含みます) 脆弱性情報を効果的に収集できます

 

3種類の識別番号

 JVN では、各脆弱性情報に対して一つずつページを設け、それらを脆弱性識別番号によって区別し管理しています。

 

CVE*4 などと異なり、JVN脆弱性識別番号は、脆弱性そのもの 1つに対して 1個が割り当てられるわけではありません。

 

見やすく、わかりやすくまとめられた 1ページに対して 1個割り当てられます。

 

そのため JVN の 1ページに何個もの CVE 番号が載っていることもよくあります。

 

脆弱性識別番号には、現在 3種類の番号体系があります*5

 

それぞれ、(番号体系を表すアルファベット列) # (8桁の数字) という形で表されます。

 

JVN#12345678

JVN# ではじまる脆弱性識別番号は、「情報セキュリティ早期警戒パートナーシップ」制度に基づいて調整・公表された脆弱性情報です。

 

情報セキュリティ早期警戒パートナーシップについては過去記事の後半で触れています。

 

脆弱性情報の適切な流通を目的とする官民の連絡体制です。世界的にもかなり珍しい制度だそうです。

 

流れをすごく簡単に説明すると (ソフトウェア製品の場合*6 )、

  1. 脆弱性を見つけた人 (発見者) は、受付機関である IPA に報告する。
  2. IPA はそれを分析し、調整機関である JPCERT/CC に渡す
  3. JPCERT/CC開発者 (メーカー) と調整して対策してもらい、公表日を決める
  4. 開発者サイトと、脆弱性情報ポータルサイトJVNで公表する。

 

 というものです。

 

受付機関である IPA と、調整機関である JPCERT/CC とが間に入ることで、発見者を保護したり*7調整を円滑にしたりする効果があります。

 

 この制度を利用すれば、

  • 発見者は、自分自身はメーカーと直接やり取りすることなく対策してもらうことができますし、JVN のサイトで発見者として名前を掲示してもらうこともできます*8
  • 開発者は、様々な人から脆弱性情報を得て修正する機会を得られます。
  • 利用者は、JVN を見て脆弱性情報を入手し、対策をとることができます。

 

IPAJVN に関わるのはこの体系で、脆弱性情報の届出を受け付けて分析し JPCERT/CC に渡すだけでなく、聞いたところでは JVN での公表文面にも IPA の見解がある程度反映されているそうです (文面の作成自体は JPCERT/CC が行います)。

 

この国内制度に基づいているため、「国内でよく使われている製品や国産製品の脆弱性が多い」「他機関が公表済のものではなく、初めて世に出る脆弱性情報が多い*9」という特徴があります。

 

JVNVU#12345678

「情報セキュリティ早期警戒パートナーシップ」とは関係ない脆弱性情報、つまり IPA への届出以外が情報源となる脆弱性情報です。

 

例えば、

  • CERT/CC*10 が公開した「Vulnerable Note VU#123456*11の情報
  • 協力関係にある海外機関から提供された情報
  • 開発者が自分で JPCERT/CC に提供した情報*12
  • (主に海外の) 発見者などが JPCERT/CC に直接提供した情報

 などです。

 

 特に CERT/CC の VU# を情報源とするものは、たいてい VU# (英語) 公開の翌日には出ます。

 

これらは IPA を介さず、JPCERT/CC が情報の入手、調整、公表まで全部行います

(このため JVNVU#~の脆弱性情報について IPA に問い合わせても仕方がありません。)

 

JVNTA#12345678

注意喚起情報です。近年はあまり公表されていません。

 

個別の製品というより、「こういう脆弱性や問題がたくさん報告/観測されてます。対策はこうです」という広い話のことが多いようです。

 

各要素の意味

 脆弱性レポートの読み方に、JVN の読み方、各要素の意味が説明されています。

ここでは簡単に紹介を行います。

 

公開日・最終更新日

一致しない場合はどこかを更新しています。誤記修正やベンダステータスの追加、新情報の追加などです。一番下の「更新履歴」で何が更新されたのか確認できます。

 

緊急

すでに攻撃が観測されている場合などに表示されます。

もちろん目安であって、「緊急だから必ず即座に対処しなくてはいけない」などの決まりはありません。

 

概要

一言で何にどのような脆弱性があるか示しています。この時点で関係ないなと感じたら、それ以上の詳細を読まなくてもいいようになっています。

 

影響を受けるシステム

影響を受ける (≒脆弱性のある) 製品名やバージョン番号です。

 

詳細情報

脆弱性の細かい解説です。

レポートのまとめ方によっては、CVSS の評価もここに書いてある場合があります。

 

想定される影響

脆弱性を悪用された場合にどのようなことが起きる可能性があるかを簡潔に表現しています。

 

対策方法

脆弱性の影響を受けずに済む方法の解説です。

大きく分けて脆弱性そのものを修正する「解決策」(アップデートする、パッチを適用する) と、脆弱性自体を解決はできないものの、攻撃経路をふさぐなどして脆弱性が悪用された場合の影響を緩和する方法である「回避策*13(ワークアラウンドを実施する)に分かれています。 

 サポート終了した製品については、「もう使わないで」という呼びかけのこともあります。

 

ベンダ情報

開発者のサイトへのリンクなどです。

一つの会社が作った製品ならそれですみますが、たくさんの開発者が使っているプロトコルオープンソースツール (例えば OpenSSL など) の場合はたくさん並ぶことがあります。 

「該当製品なし」の場合は、「JPCERT/CC から情報を受け取って調べてみたけど、ウチの製品でこの脆弱性の影響を受ける製品はありません」という意味です。

 

JPCERT/CC による脆弱性分析結果

CVSS (Common Vulnerability Scoring System)*14 によって脆弱性を評価した結果です。 

どこから攻撃可能か攻撃はどのくらい難しいか情報セキュリティの各要素にどれだけ影響するかなどの観点で評価し、0 から10 までのスコアを算出します。一般論としてスコアが高いほど深刻な脆弱性です。

 慣れると「 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H」などの文字列 (vector string といいます) を見ればどんな脆弱性かある程度わかるようになるのですが、慣れないと難しいです。

JVN では、バージョン 3.0 とバージョン 2 を用いて評価しています(2020年2月現在)。

ただ、

  • バージョン 3 とバージョン 2 でスコアが全然違う場合がある
  • JVN のページに載っている JPCERT/CC による評価と、開発者のサイトや NVD*15JVN iPedia に載っている評価が違う場合がある*16

 といった事情もあり、このスコア (だけ) を基準に対応を決めようとするのはあまり意味がないんじゃないかと個人的には考えています。

 

謝辞

この情報がどのような経路で調整され公表されたかがわかります。JVN#~の場合は発見者名が載っている場合もあります。

 

しなもんもいつかは JVN に載ってみたいですね (難しいですが)……。

 

JVN iPedia」とはどう違うの?

 JVN のサイトの右メニューに、「JVN iPedia」というものがあります。

f:id:am7cinnamon:20200302010829p:plain

JVN iPedia

実際に開くとこのような画面になります。

f:id:am7cinnamon:20200302011204p:plain

 

 これは JVN のようで JVN でない、「国内外問わず日々公開される脆弱性対策情報のデータベース」です。

 

JVN が青色ベースなのに対し、iPedia は桃色ベースです。

 

JPCERT/CC はほとんどまったく関与せず、IPA がほぼ独自に構築しています*17

(そのため、iPedia に載っている脆弱性情報に関して JPCERT/CC に問い合わせても仕方がありません。)

 

iPedia はデータベースなので、届出があった情報に限らず幅広く公開された脆弱性情報を収集しており、検索・集計機能も充実しています。

 

その代わり、国内で使われている製品の情報とは限りませんし、あまり注意喚起的な意味合いを持ちません。

 

最新の脆弱性の情報を得るなら JVN、過去の脆弱性も含めて検索・分析するなら iPedia というように使い方が変わってくるのです。

 

JVN の弱点

弱点というと大げさなのですが、JVN とは相性の良くない使い方もあります。

 

有名メーカーのアップデート

「Microsoft0」「Adobe」などのメーカーは各月の決まった時期*18にまとめてアップデート・パッチを公開するのが常ですが、これらは基本的に JVN には載っていないようです (すでに攻撃例がある重大な脆弱性の場合など、例外はあります)。

 

このほか、GoogleMozillaCisco などは JVN にはほとんど載りません。

 

ただし AppleIntel などは JVN で出ていることもあります。

 

有名メーカーのアップデート関連については、JPCERT/CC注意喚起CyberNewsFrashWeeklyReport を見るのがお勧めです。

www.jpcert.or.jp

統計的に扱う

届出のあった脆弱性情報や CERT/CC などから入手した情報を中心に掲示するポータルサイトです。

 

国内外の脆弱性を網羅的に扱うわけではありません

 

また、時期ごとに集計して分析するなどの使い方には向いていません。

 

そのような目的には、データベースである iPedia を使いましょう。

 

JVN の情報を受け取るには?

 さて、JVN をウォッチすれば脆弱性情報を集められるのですが、毎日決まった時間に JVN に張り付いて……というわけにもいきませんよね。

 

そこで放っておいても更新情報が入ってくる仕組みを整えたいですね。

 

Twitter でフォローする

JVN のアカウントは「JVN 脆弱性レポート」(@jvnjp)です。

 

フォローしておくと、新着情報などがある際にタイムラインに表示されるようになります。

twitter.com

RSS を利用する

Inoreader や Feedly といった RSS リーダーを使って更新情報を受け取ることができます。

 

RSS そのものや各サービスの使い方などについては皆さん各自での調査をお願いします (あまり詳しくないのです ^^;)。

 

JVN の新着・更新情報は JPCERT/CC のページも載るので、こちらも RSS を使ってキャッチすることができます。

(ただし JVN そのものより数時間程度遅れることがあります。)

 

 まとめ

  •  JVN は新しい脆弱性情報が公表されるサイト
  • 情報セキュリティ早期警戒パートナーシップに基づき報告された脆弱性情報や海外機関から提供された脆弱性情報が掲載される
  • JVN iPedia というものもあるがこちらはデータベースで、適した使い方が異なる

 

 公表された脆弱性情報は悪い人も見ています。影響を受けるソフトウェア (など) を使っている場合には、早めにアップデートなどの対策をとりましょう。

 

*1:プログラムの一部を更新して脆弱性・バグの修正や機能の追加などを行うためのデータのことです。

*2:ワークアラウンドということもあります。

*3:JVN のページで EV-SSL 証明書の発行先を見ると「Japan Computer Emergency Response Team Coordination Center」(JPCERT/CC) と書いてあります。ご関心のある方は確認してください。ただ、後述するように IPA も (一部の) 脆弱性情報流通過程にはしっかり関わっています。

*4:世界で一番有名な脆弱性情報データベースであり、これで付与されるいわゆる「CVE 番号」(CVE-2020-0000 など) は個々の脆弱性を特定・識別するうえでよく話題になります。

*5:以前はもっと多くの分類があったそうですが、これから使われることはないので説明しません。

*6:Web サイトの場合は調整機関を介さず、受付機関の IPA が直接サイト運営者とやり取りして修正してもらいます。また JVN での公表も行いません。理由は明示されていませんが、利用者に何かを促す必要がないからだと思われます。

*7:最近は少なくなったそうですが、直接連絡すると、お金目当ての脅迫者と勘違いされて門前払いされたり冷たくあしらわれたりするケースがあります。こうした状況を避けることができます。

*8:希望次第で開発者と直接やり取りしたり、発見者名を伏せることもできます。

*9:「公表日一致の原則」により、開発者のサイトでもほとんど同時に公開されます。JVN が 数時間~ 1日程度遅れることもあるようです。

*10:アメリカーネギーメロン大学ソフトウェア工学研究所が運営する、世界最古の CSIRT です。ちなみに CERT/CC と JPCERT/CC は名前が似ていますが、本部・支部などの関係はなく、互いに独立した団体です。

*11:おそらく JVNVU の「VU」はこの VU# を表しているものだと推測されます。

*12:多くの利用者は利用しているソフトウェア製品のサイトを頻繁に見に行ったりしませんので、よほど有名な製品でもない限り、自社サイトでだけ公開してもあまり注目されません。JVN はチェックしている人が大勢いますし、掲載されると IT 系のネットメディアが取り上げてさらに拡散する場合もあるので、たくさんの利用者に効果的に知らせることができるメリットがあります。

*13:緩和策ということもあります。

*14:CVSS については FIRST のページIPA のページ (v2v3) を参照してください。

*15:アメリカ国立標準技術研究所 (NIST) が管理している脆弱性情報データベースです。

*16:評価の対象となるシナリオの想定が異なるなどの理由によります。

*17:JVN iPedia のページで EV-SSL 証明書の発行先を見ると、「Information-technology Promotion Agency, Japan」と書いてあります。ご関心のある方は確認してください。

*18:第2火曜日で、パッチチューズデーと呼ばれます。ただしアメリカ基準なので、日本で出回るのは翌日

水曜日になります。