アプリケーションライブラリの脆弱性が2年間で88%増加
2019年2月26日
0 分で読めますSnykの年次レポート「オープンソースセキュリティの現状」2019年版へようこそ。このレポートは複数の記事に分かれています。
アプリケーションライブラリの脆弱性が2年間で88%増加
これらすべての情報をまとめた、手作りの素敵なPDFレポートもダウンロードできます。
「オープンソースセキュリティの現状」2019年版をダウンロード
脆弱性は、知られているかどうかにかかわらず脆弱性です。両者の主な違いは、攻撃者がその脆弱性を認識し、悪用を試みる可能性にあります。そのため、広く知られている脆弱性ほど、早急な対処が必要です。
既知の脆弱性には、責任ある開示の一環としてCVE IDが付与されている場合もあれば、インターネット上で公開されていたり、公開データベースに登録されていたりする場合もあります。こうした脆弱性は本番環境で攻撃される可能性が高いため、優先的に排除すべきです。その後、非公開の脆弱性データベースに収録された脆弱性や、ダークウェブで共有されている脆弱性にも対処する必要があります。
脆弱性の発見ペースは加速し、過去2年間でほぼ倍増
アプリケーションライブラリで確認された既知の脆弱性
現在、PHP Packagist、Maven Central Repository、Golang、npm、NuGet、RubyGems、PyPIなど、追跡対象の多くのエコシステムで報告される脆弱性が増加しています。
2017年には、すべてのレジストリで報告された脆弱性が43%増加し、2018年にはさらに33%増加しました。
PHP、Java、JavaScript、Python、Goの5つのエコシステムを調べると、2014年以降、すべてで開示された脆弱性の数が増加傾向にあります。
未開示の脆弱性が今年後半に公表されれば、2018年の件数はさらに増える可能性があり、この傾向がいっそう強まるでしょう。
2018年にはnpmの新たな脆弱性情報の公開件数が47%増加し、Maven Centralでは27%増加

2018年に開示された脆弱性は、PHP Packagistで驚異の56%増、Maven Centralでは27%増となりました。Golangは比較的小規模なエコシステムですが、セキュリティ研究が進展しており、2018年の新たな脆弱性の報告数は2017年比で52%増加しました。
2014年以降のデータをSnykの脆弱性データベースで振り返ると、全体的に脆弱性の数が大幅に増加していることがわかります。
現在、Maven Central Repositoryでは1,766件、npmでは1,268件、PHP Packagistでは746件、PyPIでは807件、Golangでは94件の脆弱性を追跡しています。
2014年以降、Snykデータベースの脆弱性数は驚異の371%増加しました。npmの脆弱性は954%、Maven Centralの脆弱性は346%増加しています。
2014年以降、Snykデータベースに登録されたnpmの脆弱性は954%、Maven Centralの脆弱性は346%増加
深刻度の傾向
過去3年間にすべての言語エコシステムで開示されたアプリケーションライブラリの脆弱性の深刻度を見ると、2018年は前年に比べて深刻度の高い脆弱性が少なくなっています。
一方、2017年と2018年に共通する興味深い点として、2016年と比べて、深刻度の高い脆弱性が中程度または低い脆弱性よりも多く報告されました。

注目事例:Zip Slip
2018年、Snykのセキュリティリサーチチームは、広く存在する任意ファイル上書きの重大な脆弱性「Zip Slip」の複数の事例を責任ある形で開示しました。ディレクトリトラバーサルを含むファイル名を仕込んだ細工済みアーカイブを使って悪用され、通常はリモートでのコマンド実行につながります。
この脆弱性は、2018年6月5日の一般公開に先立ち、Snykのセキュリティチームによって発見・責任ある形で開示されました。HP、Amazon、Apache、Pivotalなど、数千ものプロジェクトに影響します。
複数のエコシステムにわたる調査により、Apache Ant、adm-zip、SharpCompressなどのライブラリで数十件の脆弱性が見つかりました。これらはJava、npm、NuGet、Go、.NET、Ruby、Python、C++の数千のプロジェクトで使われています。そのほぼ半数は深刻度が高いと判定されました。
"When we discovered the first instance of the Zip Slip vulnerability in a big project, it was very exciting. It was our eureka moment, but when we discovered that every other application had a vulnerable implementation, we were extremely surprised. We realized that this vulnerability wasn’t just affecting a few apps, but loads of projects across ecosystems."

Danny Grander
Founder / Chief Security Officer, Snyk
注目事例:CVEのない脆弱性
セキュリティチームが、National Vulnerability Database(NVD)やその他の公開CVEリポジトリで開示された新たな脆弱性を追跡し、対応するのは一般的です。
しかし、多くのセキュリティ脆弱性は、課題管理システム上でのメンテナーとユーザー間の非公式なやり取りなど、公式ではない経路で発見・修正されています。
Snykデータベースは、社内のセキュリティアナリストチームが慎重に精査しており、公式情報源には含まれないものの、フォーラムやリリースノートなどの公開情報に記載された脆弱性も追跡しています。Snyk DBを指標として調べたところ、公開データベースより67%多くの脆弱性が見つかりました。
網羅性に加え、CVEや公開データベースへの脆弱性の登録には時間がかかることも少なくありません。npmを例に見ると、脆弱性がSnyk DBに登録されてからnpm auditに表示されるまで平均92日かかり、72%のケースで登録が遅れています。
こうした隔たりは、CVEシステムや公開オープンソースデータベースが、オープンソースソフトウェアの脆弱性の発生ペースと件数に対応しきれていないことを示しています。これらの仕組みを見直すとともに、セキュリティを重視する組織は、迅速かつ広範な情報を提供する商用データベースの利用を検討すべきです。続きを読む:
アプリケーションライブラリの脆弱性が2年間で88%増加
Capture the Flag を始める
バーチャル 101 ワークショップオンデマンドで、Capture the Flag の課題の解決方法をご覧ください。
