iOS等にみるセキュリティアップデートの悩ましい問題

PC時代ならセキュリティが破られても、個人情報はあまり入っていないケースが多かったが、スマホでは直接の個人情報が多く保存されている。そのため、セキュリティがとても重要視される。

MacOS X及びiOSで使われるGatekeeper(アプリケーション認証)を破る方法が発表された。これは、脆弱性と言うよりは考慮不足といえる。簡単に言えば、信頼できるアプリケーションは一度信頼したらディレクトリ内の挙動監視しないというものである。GatekeeperはセキュリティゾーンをDev証明書とAppleの信頼性情報を元に管理している表層機能に過ぎないと思われる。もし挙動監視まで加えると、動作の安定性や速度性能にも影響を与えるだろう。

既にAppleは対策に着手しているが、iOS10でシステムを大幅刷新しなければ、最終的な安全性を確保するのは難しいようだ。この辺りから考えると、今年暮れから来年に掛けては、iOSにとってセキュリティにおける苦難の年になりそうだ。そして、来年iOSやMacOSでカーネルレベルまでセキュリティを変更した最新版を出せなければ、攻撃が増える事も予想される。これは、XcodeGhostが始まりに過ぎないことを意味する。

<これまでのOSでは長くセキュリティを確保したiOSだが・・・>

怪しい部分は、2~3年前からいくつかあったが、iPhone登場以来7年以上にわたって高いセキュリティを確保し続けたiOSの技術は、賞賛に値する。これは、プラットフォームを閉塞させたことが強みとして機能した結果であるが、逆に言えばプラットフォームがリバースエンジニアリングによって解析されると、標的になりやすい。開発ツールにおいて、それを使ったのがXcodeGhostであった。

それに加えて、脆弱性が伴うと思われる部位がはっきりと見えてきはじめたことで、そこを重点的に洗い出そうとする輩が増えているようだ。要は、署名認証などの仕組みさえ破るか偽装しさえすれば、攻撃が成立することをXcodeGhostが示したことで確証となった。

今後は、これらの攻撃からどう守るかが重要になるが、それ以外にもSafariなど既存ソフトのセキュリティ更新情報が増えている。この辺りを見ると、既にプラットフォーム全体の限界が近づいているように見える。

<どのOSでも存在する屋台骨の脆弱性>

PC向けのWindowsは脆弱性の嵐である。これは、Win32/64プラットフォームが互換性を維持してきたが故の欠点であるが、それを上回るほどにWinodws上で動くアプリケーションソフトという資産が価値を持つため許されている。その代わり、セキュリティに自己責任が伴うのだ。10系ではそれらをUWPへ移行させる努力が始まっている。これによって、将来的にOSの脆弱性を減らしたいというのも見え隠れするが、デスクトップアプリが全て置き換わることはないだろう。Windows PhoneやWindows MobileはそれをiOSよりにしているが・・・。

AndroidはAndroid 5.0 Lollipopにてこれまでの仮想マシンDalvikからARTへと刷新したことで、Dalvikが持つ脆弱性の多くから離れたといえるが、それより上層の部分で攻撃されたり、オープンソースで設計しているため穴もある程度見られる。5.1.xでさえも、脆弱性があるというのは、オープン系故の欠点である。これは、売るためのOSというより、サービス開発のための入り口としての要素が強い。だから、比較的どんなアプリに対しても歓迎姿勢が強い。それ故か?Androidがこれまでにウィルスに晒されなかった時間などほとんどないが・・・。だから、セキュリティソフトが必須となる。

MacOSやiOSはこれまでにMacOS X(10.0,iOSは登場6年前)とOS X Mountain Lion(10.8,iOS6)でセキュリティを底上げしている。9系は脆弱性が多かったが、X系になってからはクローズドを徹底し、出てくる攻撃の多くは過去のバージョンを使い続けた時などのケースに限られていた。(ただ、見つかると既にボッツネットワークが作られていたなど結構深刻だったが)即ち、OSとしてのセキュリティレベルは確かに高いのである。これは、閉塞性が功を奏していると言えるが、反面一度攻撃手法が確立すると、クローズド故にどこでどれだけ被害が起きたかを知るのは難しい。

<これまでの信頼を信用するか、自分で考えて実績にするか?>

AndroidとOS X(iOS)は正反対の存在と言える。(その間にWindowsがあるが、スマートフォンで言えば、Windowsはシェアが少なくアプリも少ないため評価するには情報が少ないので外す)iOSはOSに対して全幅の信頼を持つということである。これは、逆に言えば一度信頼を失えば、ユーザーが逃げるという紙一重の状況にある。

それに対して、Androidはそもそも信頼より自分が使って信頼の実績を作るということにある。何でも出来るがウィルスも出来ると考えれば分かり易い。

これは、Appleにとってこれまで成長の原動力であった。しかし、ここでセキュリティを犠牲にするようなことをすれば、特に日本市場はシェアが大きいだけに怪しい。日本人は、信頼や品質に対して厳しいため、一度熱気が冷めると逃げやすい。そう考えたときに、iOS10ですべきことは、アプリケーションの互換性をある程度犠牲にしても、プラットフォーム全体でセキュリティを高めることになるのかもしれない。

<互換性を犠牲にする理由>

WindowsもAndroidもそうだが、OSのセキュリティを高めるために、既存のアプリを使えなくするというのは、ユーザー側にとってはあまり評価されない。それが動くようにするのが、開発元の責任だと思うからだ。それは理想的であるが、今や脆弱性は安全なアプリに見せかける領域にまで到達し、かいくぐられる手段を如何に潰すかが重要な時代になっている。そうなると、アプリもOSもお互いが正しい認証情報を持ち合う必要があり、アプリケーション側もそれに対応させて安全だと評価されなければいけないのだ。

すると、どうしても互換性が下がってしまう。

<製品の魅力が必要な大幅刷新>

今までのAppleの傾向(スティーブジョブズが率いていた頃)を考えれば、iOS10か11でセキュリティを大きく変える刷新をする可能性がある。アプリの多くに影響を与えるほどの刷新をすると仮定して、ジョブズがもし生きていれば、Apple Watchのような新鮮味がありそうな商品と一緒に発表したことだろうが・・・。(そういう製品が隠されている可能性はあるが、最近は守秘のレベルもジョブズの頃に比べて甘いので、期待薄。会社的には噂さえも出ないほど守秘は徹底させた方が良い。そして、会社のためを思うなら下手に裏にリークしない方が良い)

こう考えると、如何に人々に対して互換性を失った古いアプリを捨ててでも、新しい環境を選びたいと思うか?または、開発者を古いプラットフォームから新しいプラットフォームに移行させるかというOS会社のセールス手腕が重要になる。既に、最近のOSはただアプリを使うだけなら十分な領域に達しているのだから・・・。

<最後に・・・>

これは、開発者が互換性を捨てることが妥当だと行っているわけではない。あくまで、互換性の努力をしても、切らないといけない限界が存在するということだ。それが、大規模な刷新であればあるほど、切られる部分が増えるという話である。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック