iOS7.0.6緊急リリース。”https:~”(SSL)でホームページを見る時のセキュリティ問題とのこと。 – iPhone/iPod touch

公開日:  最終更新日:2014/06/05

すいません m(_ _)m、本記事はブログ引越時に書式が崩れました。順次修正中です。


iOS7.0.6が緊急リリースされました。内容は、”SSL検証の不具合”とのことで、もうすぐリリースされるというウワサのiOS7.1まで待てないぐらい問題となる不具合とのことで、ブラウザでWEBサイトにアクセスする時に、セキュリティチェックに問題があるようです。というわけで、早速、アップデートしてみました。


 


■SSL検証の不具合って?



 


まず、「SSL」についてですが、SiSO的理解(間違っていたら指摘してください)で簡単に説明しますと、ホームページに接続する時のURLが、「http:」で始まる場合と「https:」で始まる場合があると思います。これの違いは、暗号化されていないか、暗号化されているか?の差があります。


例えば、Amazon.co.jpで商品を探しているときは「http:~」で始まるURLになっていますが、アカウントサービス(個人設定情報のやり取り)に接続すると、「https:~」に変わります。


iPhoneの標準ブラウザ、Safariで見るとこんな感じで、「https」で接続されている場合、鍵マークが表示されます。左が普通の接続、右がSSL接続時の表示です。



 


この時、セキュリティ向上のために暗号化されたり、しかるべきチェックが行われるのですが、今回の不具合では、プログラムのコーディングミスにより、いくつかあるチェックの途中で強制的にチェックを抜けてしまうとのことです。


プログラムのわかる方でしたら、以下のサイトがわかりやすいです。


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


 


簡単に説明するのが難しいのですが、「if~」というのは、「もし、なんたらだったらどうのこうの」という意味のプログラムで、この場合、「なにがしのチェック1がNGだったら、failラベルにジャンプしましょう。」というようなことが書いてあります。これが複数、連続で書いてあり、「チェック1はOK?」、「チェック2はOK?」と順次判定していくわけですが、途中、「goto fail;」が2つ連続で書いてあるところがあります。


一見、「2つ書いてあるだけじゃん」と見えるかもしれません。そこはインデント(段下げ)のマジックで、2つめの「goto fail;」は、上のif文に属しておらず、if文と同じ階層の意味合いになります。これで何が起こるかというと、前のif分を実行した後、強制的に「fail」に飛んで行ってしまい、それ以降のチェックを素通りしたのと同じことになってしまうわけです。


それにより、どれくら危険度が高いのかわからないのですが(こまかな関数の機能がわかりませんし、そもそも、これがオリジナルのソースコードなのかな?)、チェックがいくつかスキップされていることは間違い無さそうですし、リリース状況から考えて、かなり危険なようです。


 


先ほど、Appleのホームページをチェックしてみましたが、日本語版のサポート情報にはまだ情報が掲載されていませんでした。内容の詳細を確認するには英語版の方を読むしかないようです。


Apple セキュリティアップデート (Apple Security Update)


Apple security updates


 


 


■iOS7.0.6へのアップデート方法


実際にiOS7.0.6へアップデートしてみました。iOSをアップデートするには、「設定」から「一般」をタップし、「ソフトウェアアップデート」をタップします。



 


なにやら確認処理で少々待たされた後、新しいバージョンのiOS情報が表示されます。続いて、「ダウンロードしてインストール」をタップし、利用条件を同意します(同意するしかない、というのがいつもね…読むと結構、???なことが書いてあります)。



 


Wi-Fi接続であれば、ダウンロードそのものは1分ほどで完了します。



 


で、その後、再起動を何回か繰り返し、「あれ?電源切れたまま?」とか勘違いしそうな状況が約20分(iPhone4sの場合)続いてアップデート完了です。



 


GPPのSIM下駄を入れていますが、動作確認のレポートはまた明日…簡単にチェックしてみましたが、今回も一通りちゃんと動作してくれています。よかったよかった。


 


 


 


■今日の一言二言三言


 


Appleも こんな単純 ミスするの


気持ちはわかる 同業者より


 


 


あってはいけないミスではありますが、同業者的には同情できないこともないような。当然、100%のクオリティを目指すわけですが、ソフトウェアの世界ってなかなかいいスケールが無く、チェックも難しいというのが現状ですよね。


if文の後ろに波括弧を必ずつける、というコーディングルールにしておけば、ワーストケースは防げたのかな?なんて思うわけですが、それは問題にならないように防いだ、というだけであって、問題を解決したわけではありませんし。難しいです


 


 


 




関連エントリ






SISO-LABオススメエントリ





購入参考情報などです。SISOが使用しているAU版iPhone4S白ロム機と関連商品は以下の物です。リンク先はamazon.co.jpです。最近はSIM下駄を入れてスマホ化したので、アクティベイトカードは使っていません。 














AU iPhone4S 64GB黒 白ロム au専用アクティベートカード マイクロSIMサイズ版 IIJmio ウェルカムパック (microSIM) 最新GPP正規品 最新ios6.1.3対応au版iPhone4s gevey simロック解除アダプター 設定手順&apn設定など全てサポート









落描解説:そういえば、ソースコードを改めて見ると、CかC++っぽいですよね。これぐらいなら静的コードチェッカーで出そうですけど、でも、あれも結構、使うのが難しくて、警告が出すぎてなかなか欲しい情報にたどり着けなかったり。

  • このエントリーをはてなブックマークに追加
  • Pocket

関連前後記事

Your Message

メールアドレスが公開されることはありません。


*

PAGE TOP ↑