Apple史上最悪のセキュリティバグか、iOSとOS XのSSL接続に危険すぎる脆弱性が発覚──原因はタイプミス?

iOS 7.0.6 アップデート

Appleは21日、iOSのソフトウェアアップデート7.0.6をリリースした。

iOS 7.1が早ければ3月中旬にもリリースされるとみられていたが、SSL接続の検証に関して、半月以上も待つことができない重大なバグが見つかったためだ。

Apple史上最悪のセキュリティバグか

SSLとは、「ウェブサイトで入力する個人情報やクレジットカード情報などを暗号化し、安全に送受信する技術」(Symantec)だ。データを安全にやりとりするために利用されている非常に重要な技術となっている。

そして今回、クライアント(ユーザ側)とサーバ(ウェブサイト側)の間をSSL接続する際のプログラムに、「BASIC初心者でも一目で分かるようなミス」(Wired)が見つかり、修正されることになったようだ。ミスがあったのは、以下の部分。

goto fail;

Appleが公開しているソースコード

「goto fail;」が2行続けて記述されている箇所に注目してほしい。2行目の「goto fail;」が存在するおかげで、これ以後の検証過程をスキップし、常に検証が成功することになってしまう(詳細に解説している英文記事)。おそらく、プログラマのタイプミス(コピペミス)が原因だろう。むしろ、それ以外に原因が考えづらい。

このバグによって、悪意のあるサイトに接続した場合などに、攻撃者はさまざまなデータをキャプチャしたり改ざんしたりすることができてしまう。

暗号の専門家であるMatthew Green氏(ジョンズ・ホプキンス大学教授)は「Really bad(本当にマズイ)」とツイートしている。

いつ頃からバグが存在したのかは明らかではないが、少なくとも2013年10月以前から存在していたという声もある。Mac OS Xにも同様の脆弱性が存在しているとのことだ。

Safariでhttps://gotofail.com/にアクセスすると、攻撃されやすい状態にあるか否かを確認することができる。

gotofail.com

アップデート方法

非常に危険なバグであるため、ユーザは速やかにアップデートするべきだ。