TOPSoftware > 脆弱性報告数、言語別のランキングが持つ意味は(後)

Software

脆弱性報告数、言語別のランキングが持つ意味は(後)

2020/05/21

Samuel Bocetta JavaWorld

 プログラミング言語のセキュリティのレベルを比べるとしたら、何をもってセキュリティが高いと判断するかという定義によって結果は変わってくる。オープンソースソフトウエアの脆弱性の報告数をプログラミング言語別に比べた昨年3月発表の調査結果で、Javaは第3位だった。一見、脆弱性の報告数が少ない言語の方がセキュアという印象を受けるが、実際は必ずしもそうとは言えない。

前回から続く)

脆弱性の報告が急増した背景

Credit: Robert Shunev

 WhiteSourceは、オープンソースソフトウエアの脆弱性の報告数が2017~18年に大きく増えたことにも言及している。Javaに関しては、2015年から着実に減少していたが、最近の急増については説明が必要だ。原因は2つ考えられる。

 1つはバグ報奨金制度の広がりだ。膨大な数のプロフェッショナルがコードをくまなく精査していることが、脆弱性の報告増加の一端を担っていると考えられる。また、バグハンターが精査する対象は、すべての言語に等しく分散しているわけではない。Web開発の代表的な言語の1つであるJavaは、バグハンターにとって大きなターゲットとなる。その点を踏まえると、脆弱性の報告数でJavaが第3位だったのは、かなり低い数字だったように思える。

 脆弱性の報告数が増えたもう1つの要因は、ソフトウエアのシステムが10年前と比べて桁違いに複雑化した点にある。今の時代は、スマートフォンのアプリも感染源となり得るし、企業各社にはJavaScript対応のWebサイトが欠かせない。この状況下では、Webサイトの脆弱性の数が急増しても不思議はない。しかも、セキュリティ人材が慢性的に不足しているとなると、セキュリティの未来は厳しそうに思えてくる。

脆弱性の混入を防ぐ方法

 今回紹介した調査結果を見ると、Java開発者は不安を覚えるかもしれないが、心配は無用だ。アプリケーションのセキュリティに関して、Java開発者は心強い立場にある。膨大な数のセキュリティプロフェッショナルが脆弱性を精査しているとなれば、Javaの脆弱性はかなりの部分が既知のものである可能性が高い。この知識は力だ。

 セキュアなJavaアプリケーションの開発方法については、13のルールを紹介したJavaWorldの記事がある。また、クラウドのセキュリティやWebアプリケーションのセキュリティなど、個別の状況でセキュリティを強化する方法についても、ネット上にさまざまな記事やホワイトペーパーがある。そのほか、脆弱性の混入を防ぐ方法として、以下の2つが考えられる。

↑ページ先頭へ