インフィニティソリューションズ株式会社ブログ

Heartbleedが教えてくれたもの

Heartbleedの脆弱性をついて、三菱UFJニコスから個人情報が漏洩したというニュースが流れていた。一時期の大パニックからは沈静化しつつあるものの、まだ収まったというわけではないようだ。このHeartbleedの問題は、オープンソースの利用について開発者に再考を促しているのだと考えることもできる。“Heartbleed proves we need to change how we use open source.”という記事がSD Timesに出ているので概要を紹介したい。

However, I think it was naïve of us to take the dependability and security of open-source software at face value and assume it had undergone the same rigorous testing for code quality and performance that proprietary software gets. Oftentimes these open-source projects are small teams of developers, maybe even a solo developer, who do not have the time and resources available in most quality-assurance departments for ensuring dependable, secure software.

「しかしながら、オープンソースソフトウェアの依存性や安全性を額面どおりに捉え、自社ソフトウェア向けに行なっている厳密なテストと同じことを行なっていると思い込むのは単純すぎる。多くの場合、おーぷソースプロジェクトは、数名の開発者からなる小さなチームや、ひょっとすると開発者が1名だったりであり、ソフトウェアの信頼性と安全性を保つための品質保証部門ほどの時間もリソースもないのだ。」

Image courtesy of scottchan / FreeDigitalPhotos.net

Because open-source software lives on the Web and is open for all to see, developers naturally assume that the code they’re incorporating has been thoroughly scrutinized by millions of eyes. In fact, the opposite is true. Truth be told, there’s probably less than a handful of people really inspecting the code.

「オープンソースソフトウェアは、Web上に存在し、みんなにオープンになっているため、開発者は自然と、組み込もうとしているソフトウェアが、何人もの目により徹底的に調べられていると思いがちだ。実際は全く逆だ。本当のところは、恐らく片手におよばない程度の数の人間がコードを調べたといったところだ。」

And if this type of bug was only recently found in a piece of software that was visible on the Web for two years, can you imagine what’s lurking in other easily downloaded programs? In light of this humongous bug, we need to start scrutinizing all of the code—open source or not—that we’re using to build applications and ensure that it has the structural quality required to avoid disasters. Heartbleed might have given hackers unfettered access to private servers for years, but we’re the reason it got out there in the first place.

「またこの種のバグは、WEB上でオープンになって2年程度のソフトウェアの一部にあるということが分かったのは最近のことであり、その他簡単にダウンロードできるプログラムに何が入っているかわかったものではない。こんな途方もないバグを考慮すれば、アプリケーション構築に使用している、オープンソースであろうがなかろうが、全てのコードを徹底的に調べ、大問題を避けるために必要な皇族的な品質を有していることを確認する必要がある。」

This bug has taught us that we can no longer trust that every line of code on the Web has been combed over and tested by the development community. No one else is going to ensure your software’s structural quality, so do it for yourself before it’s too late.

「このバグにより、Web上のコードの全てが開発者コミュニティによって調べられ、テストされているなどと信じることはできないということがわかった。ソフトウェアの構造的品質を担保してくれる人は他におらず、手遅れになる前に自分たちで遣る必要があるということだ。」