vuls
VulsDay 1

go-cve-dictionaryを見てみよう

go-cve-dictionaryを利用しよう

どうやって?

  • CGIから叩いてみたり、コマンドラインから叩いてみたり。

どんな感じなの?

  • とりあえず、nvds, jvns, reference テーブルあたりを使うのが良いかも。

どんな感じ

  • $ sqlite3 cve.sqlite3してみる。

nvds, jvnを見てみる

  • cve_idが、CVE番号
  • score, access_vector, access_complexity, authentication, confidentiality_impact, integrity_impact, availability_impact, cwe_id が、CVSSに該当
  • 更新日は last_modified_date

最近更新されたCVEはどれ?

sqlite> select cve_id, last_modified_date from nvds order by last_modified_date desc limit 5;
CVE-2017-17058|2017-11-29 02:29:00.317-05:00
CVE-2017-17054|2017-11-29 02:29:00.287-05:00
CVE-2017-17053|2017-11-28 22:29:00.317-05:00
CVE-2017-17052|2017-11-28 22:29:00.267-05:00
CVE-2017-17050|2017-11-28 22:29:00.237-05:00
sqlite> 

CVSS Scoreは、累計でどんな感じなの?

sqlite> select score, count(*) from nvds group by score order by score desc limit 10;
10.0|6460
9.7|6
9.4|55
9.3|6065
9.0|712
8.8|31
8.7|1
8.5|249
8.3|92
8.2|5
sqlite> 

終わりに

なんとなくCVE情報を分析できるかもしれない感じのデータベースです。

  • 「今」だけではなく、特定期間の傾向などを分析できる、か?