オープンソースのメンテナーはセキュリティについて何を知っているのか?
2018年1月16日
0 分で読めますこの記事は CSO Onlineに最初に掲載されました。2017年11月30日掲載。
オープンソースのメンテナーは、自分の時間を使って優れたフリーソフトウェアを作り上げています。そして私たちは、それをビジネス価値の創出に活用しています。しかし、こうしたプロジェクトを利用するということは、メンテナーがプロジェクトの安全性を維持してくれることにも依存しているということです。安全性が保たれなければ、得られる価値を損なうことさえあります。
最近実施したオープンソースセキュリティの現状に関する調査では、オープンソースの利用者とメンテナーに、セキュリティに関する知識や取り組み、責任意識について尋ねました。その結果は、非常にばらつきのあるものでした。
専門知識
注目したテーマの一つは、メンテナーの専門知識です。メンテナーに、セキュリティに関する知識を「高い」から「ほとんどない」までの段階で評価してもらいました。結果は、期待できるものではありませんでしたが、もっと悪い可能性もありました。自分の専門知識を高いと評価したメンテナーは、わずか16.8%でした。中程度とした人は56%、低いとした人は26%でした。一方、セキュリティについて「ほとんど何も知らない」と答えたメンテナーは、わずか1%でした。
セキュリティに関する知識が豊富なメンテナーが6人に1人しかいないのは望ましい状況とは言えません。しかし、この統計は開発者全般のセキュリティ習熟度を反映していると考えられます(開発者全般のほうが少し低い可能性もあります)。とはいえ、セキュリティに詳しいOSS利用者は、自分の専門知識をコミュニティに還元することを真剣に検討すべきです。エコシステム全体で知識を共有し、広めることにつながります。
セキュリティ対策
最も懸念される結果が得られたのは、セキュリティ対策についてです。メンテナーの43.7%が、セキュリティ上の問題がないかコードを監査したことがないと回答し、さらに31.8%はプロジェクトを監査したのは1、2回だけだと答えました。年に1回監査する人は13%、少なくとも四半期に1回監査する人はわずか11%でした。この数字をメンテナーからプロジェクト全体に当てはめると、利用しているOSSプロジェクトのほぼ半数は一度も監査されておらず、約3分の1もそれより少し良い程度です。

GitHub上位40万件のプロジェクトを調べたところ、セキュリティに関する情報を含むファイルがあるプロジェクトはわずか2.4%でした。ファイルの内容は、発見した脆弱性の報告方法からセキュリティ関連の設定までさまざまです。OSSエコシステムには、メンテナーがセキュリティに時間を費やす動機がありません。その結果、実際に時間が費やされていないのです。
対応の速さ
最後に、明るい話題です。メンテナーに、報告されたセキュリティ問題に対応する時間をどれくらい早く確保し、解決できると思うかを尋ねました。メンテナーの34%が1日以内に修正の時間を確保すると回答し、さらに多くの60%が1週間以内に対応すると答えました。メンテナーの94%が1週間以内に問題へ対処する意思を示しているのは非常に心強く、多くの商用開発組織よりも迅速です。
実際には、報告された脆弱性の開示から修正までの中央値は16日です。報告された問題への対応を始めてから、実際に機能する修正を用意するまでには時間がかかります。その点を踏まえると、メンテナーは約束したスケジュールを着実に実現していると言えます。
この数字は、メンテナーが問題を重視していることを示しており、先に挙げた課題も解決できるという希望を与えてくれます。OSSのメンテナーは、仕事に対して報酬を受け取っているわけではありません。そのため、報告されたセキュリティ上の欠陥に対応するために、ほかの作業をすべて止める余裕や意思があるとは限りません。それでも対応しようとする姿勢は、セキュリティを重視している証拠です。実現に向けて、より良い仕組みと支援が必要です。そして、それを提供するのは私たちです。