Webには時代遅れで脆弱性のあるJavaScirptライブラリで溢れていることが研究により明らかに
- 共有
- |
後で読む
マイリーディングリスト
よく理解されるべきことだが、サードパーティライブラリを使用することは通常、開発期間を減らす一方で、ウェブサイトに出現する攻撃対象領域も増やしうる。それゆえ、セキュリティ面の修正の恩恵に預かるために依存関係を最新に保つことは重要だ。しかし、最新の研究により、Alexaの上位75,000件のウェブサイトの上位37%が少なくとも1つの、そして10%近くが少なくとも2つの脆弱性をもつことがわかった。これらには、例えば、jQueryがインポートされたライブラリの36.7%、Angularの40.1%、そしてHandlebarsとYUI 3の両方をインポートする85%以上、が含まれる。さらにショッキングなことに、Alexaの上位500ウェブサイトのうち26%は脆弱性のあるライブラリを使用している。
Tobias Lauinger氏、Abdelberi Chaabane氏らが率いるノースイースタン大学の研究グループは、72のポピュラーなオープンソースライブラリの全バージョンのカタログを、BowerとWappalyzerの統計に基づいて構築し、解析対象のウェブサイトで何のライブラリが使用されているかを特定した。さらに、研究者たちはウェブサイトの因果関係のツリーを構築するChrome拡張を作成した。これは、そのライブラリがなぜ埋め込まれているのか、例えば直接埋め込まれているのか、あるいは広告やトラッキング、ソーシャルメディアのコードによって他動的に埋め込まれているのか、を明らかにするのに役立つ。この研究では133,000件以上のウェブサイトが解析された。これらはAlexaの上位75,000件のウェブサイトと、そのほかの.comドメインからランダムに選択した75,000件のウェブサイトが含まれている。この選択は、高トラフィックなウェブサイトと、そうではなくより利用者の少ないウェブサイトの比較に役立つが、ほぼ同じ結果となった。
前述した、37%のウェブサイトが脆弱性をもつことが明らかになったことに加え、特筆すべき研究結果は次のようなものである。
- ウェブサイトはサードパーティライブラリの驚くほど古いバージョンを使用しており、Alexaにおいて、あるライブラリの使用されているバージョンと最新のバージョンの差異の中央値は1177日(3年以上)だった。
- 脆弱性のあるライブラリは、広告やトラッキング、ソーシャルメディアのウィジェットなど外部のコンポーネントによって埋め込まれていることが多い。
- さらなるリスク要素はライブラリが重複して埋め込まれていることから生じる。これにより、脆弱性について非決定的な行動をする余地を与えかねない。
この現状に対策を打つことは簡単ではない、と研究は結論づけている。これは後方互換なセキュリティに関する修正がポピュラーなライブラリが少ないこと、またJavaScriptのエコシステムが次のように構成されているためだ。
...信頼できる脆弱性のデータベースが存在せず、ライブラリ提供者が維持するセキュリティのメーリングリスも無く、リリースノートにセキュリティの課題に関する詳細が記されていることがほぼ皆無であり、そしてよくあることだが、あるライブラリのどのバージョンが、特定の報告された脆弱性の影響を受けるのかを決定することは難しい。
それでも、この研究は正しい方向へ進むための第一歩であり、JavaScript開発に関心をもつ全ての開発者にとって確かに読む価値のあるものだ。
Rate this Article
- Editor Review
- Chief Editor Action
この記事に星をつける