※以下の記事は、英文メディアMotherboardの記事の拙訳(と少々わかりやすいように意訳)です。
当ブログでもお伝えしているとおり、3日前、匿名の人がAppleのiOS(iPhone/iPad/iPod Touchのオペレーティングシステム)の中核となる基本コンポーネントをインターネットに公開しました。
「ZioShiba」という名前のユーザが、オープンソースコードのインターネット最大リポジトリであるGitHubに、オペレーティングシステムの信頼できるブートを保証する、iOSの重要な基本構造の一部である”iBoot”のクローズドソースコードを公開したのです。
iPhoneなどのセキュリティの研究者の中には、これはiPhoneの歴史の中で「最大のリーク」と呼んでいる人もいるほどです。今回流出したiBootソースコードはiOS 9のもので、2〜3年前の少し古いものです。しかし、これは今日でも、iOSのセキュリティ研究者や脱獄コミュニティが、iPhoneのロックダウンされたエコシステムの重要な部分の中に、新しいバグや脆弱性を見つけるための手助けになるといわれています。
彼はすべての、あらゆる種類のAppleの内部ツールなどを引っ張ってきた
Appleが声明で言ったように、iBootのソースコードの漏洩は、ほとんどの場合、セキュリティリスクではありません。しかし、実際には積極的にリークを引き起こしてしまったことは、秘密主義を誇るAppleにとっては恥ずべき出来事です。
では、この流出はどのように発生したのでしょうか?
低層クラスのAppleの従業員とその友人達で構成された脱獄(ジェイルブレイク、Jailbreak)コミュニティのグループが、Appleクパチーノ本社で2016年に働いている間、Appleからのコードを取った、とグループの中の二人が証言しています。メディアのMotherboardは、オリジナルのリーク時からのテキストメッセージとスクリーンショットでこれらの詳述を確認しており、事情に精通した第三者からも話を聞いています。
Motherboardは、Appleが著作権で保護されたソフトウェアを入手し所有している彼らを追い回すことを考え、情報源を匿名としています。そのソースを提供したといわれている元Appleの従業員は、Motherboardのコメントの要請には応えず、Appleとの非公開契約に署名しているので、彼は現在それについて話したくない、と彼の友人を通して伝えてきたということです。
これらの情報源によると、このコードを盗んだ元Apple従業員には、Apple社を攻撃する意図はなかったそうです。代わりに、Appleで働いている間、従業員の友人たちが、従業員に社内のAppleコードを漏らすよう奨励した。これらの友人たちは脱獄コミュニティにいて、自分たちのセキュリティ研究のためにソースコードの入手を望んでいたのです。
そしてその元Apple従業員はiBootのソースコードと、まだ広く流出していない追加コードを手に入れ、5人の小さなグループと共有しました。
インターンの友人は「彼は、あらゆる種類のアップルの内部ツールやその他のものを引っ張ってきた」と語っています。Motherboardは、先日のGitHubのリークには含まれていなかったソースコードとファイル名のスクリーンショットを見ており、そしてこの最初のリークの頃から日付が付けられていました。
そのソースコードがシェアされた5人のグループに所属していた2人の証言によると、彼らはコードを友人達以外のところに渡すつもりはなかったそうです。コードの入手を望んでいないもののコンピュータでそのコードを見たという第三者の友人も、その証言の通りだと言っています。
しかし最終的には、コードはより広く共有されてしまい、その5人のグループメンバーは拡散を抑止するためのコントロールを失ってしまったのです。
「私は私たちのうちの1人からすぐにそれが流出したことについて、本当に被害妄想的になりました」と、オリジナルのコードを受け取ったうちの1人が言いました。「iBootのソースコードを持っていて、Appleの中にいない…そんなことは聞いたことがないからです」
「私は個人的には、そのコードが日の光を見ることを望んでいませんでした。欲望がなかったからではなく、法的な爆発が立て続けに起こることに対する恐怖からです」と彼らは語っています。「Appleの内部コミュニティは、本当に好奇心が強い子供と十代の若者たちでいっぱいです。私はある日、もしその”子供”たちがそれ(ソースコード)を手に入れたら、彼らはきっとGitHubにそれを出すほど愚かであるだろうということはわかっていました」
情報源によると、もしコードがあまりにも広がれば、少数の悪意のある人がExploitや悪意のある脱獄ツールを作ってiPhoneユーザーを攻撃するのを手助けしてしまう可能性があるということです。
「あれは武器になりえます」と彼らは言います。更に、「情報の自由のためには、多くの人はこの漏洩がよいことだと考えています。しかし、個人の安全保障の脅威になるのであれば、それは自由とはいえません」とも言っています。
そして「私たちは、そのコードが漏洩したときには既に古くなっているようにすることに最善を尽くしました」と付け加えています。
ソースコードがAppleから盗まれ、少人数のグループに配布されてから約1年後、そのグループの中の誰かがそれを「持ってはいけないはずの誰かに与えてしまった」とグループの中の一人が明かしています。
「ほんの一握りの人以外に漏らすつもりはありませんでしたが、起こったことはとても悲惨なものでした」
その時点で、ストーリーは暗黒さを増していきます。Motherboardの記者と話した人達は誰も、最初のごく限られた友達のグループの一体誰が、ソースコードを外部に流出させたのか、正確に把握していなかったのです。そして、誰も次に何が起こるかわかっていませんでした。しかし、記者と話したすべての人が、ある時点でコードの制御を失ってしまい、それが次第にさらに広がってしまったことを認めています。Motherboardは、この特定のソースコードが、2017年に脱獄とiPhone研究コミュニティに精通している第4および第5のソースに広く拡がり始めたことを確認しています。
その後、2017年の秋に、当初の友人達によるグループから遠く離れた人々が、グループ内のその他のメンバーへの自慢や冷やかしの方法として、チャットツールDiscord内の脱獄関連グループに、コードのスクリーンショットを共有し始めた、と友人グループ内の一人がそう証言しています。
「Discordグループについて聞いたとき、私は持っていたiBootのすべてのコピーを燃やしました」と友人グループのメンバーは語っています。「私はもうそれを必要としていなかったからです。そしてあれが公開されてしまった時、私はそれを漏らしたメンバーの一人となりたくなかったのです。もし流出してしまったらそれは流出したということになりますが、私から出たものではないのです」
しかしもうその時点では遅すぎました。すぐ後に、 “apple_internals”という名前の捨てられたRedditアカウントを持つ人物が、iBootソースコードをr / jailbreakとしてMegaアーカイブへリンクを投稿してしまったのです。
この投稿自体は、管理者ボットによって投稿自体が自動的に削除されたため、殆ど気付かれることはありませんでした。しかしその後、水曜日にGitHubに再度投稿され、大きく広まることになってしまったのです。
情報源はみな、元のリークに関係していない誰かが最終的にGitHubに投稿したと信じています。「昨日漏れたのは本当に完全なリークではありません。しかもオリジナルのリークではなく、コピーなのです」とうちの一人が証言しています。
その時点で、ソースコードは口コミで素早く拡がりました。まずは脱獄コミュニティ、その後はより大きなiOSセキュリティ研究コミュニティの中に拡がっていきました。数時間のうちに、infosec Twitterがそのことについてtweetし、その後テック系のメディアがそれについて書いたことで公に知られるようになったのです。
Appleは、水曜日よりも前に同社がソースコードの漏洩を知っていたのかどうか、また調査中であるかどうかについてのMotherboardの質問には答えていません。
「設計上、製品のセキュリティはソースコードの秘密に依存しません。当社の製品には、ハードウェアとソフトウェアの保護のレイヤーが数多く設けてあります」と同社はメディア向けのメールで述べています。
水曜日には、Apple社の従業員が、GitHubに投稿される前にソースコードの漏洩を知っていたことをMotherboadの記者に伝えましたが、コードが盗まれたことを会社がいつ知ったかについては言いませんでした。
「ほんの一握りの人以外に漏らすつもりはありませんでしたが、起こったことはとても悲惨なものでした」と、コードを最初に受け取ったグループの一人が証言しています。そして、「とんでもない結果になってしまいましたが、当初の意図は悪意のあるものではなかったのです」と弁明しています。
記事翻訳は以上です。
なぜ低層レベルの従業員が全てのコードを手に入れることができたのか。。
今回の流出は、Appleの元低層レベルの従業員による流出が発端となったとのことですが、個人的にはなぜそのレベルの従業員が全てのコードにアクセスすることができたのか、、ちょっと不思議です。実業務に必要な部分だけ分けるようにしておけばよかったのに、とは思いますが、Appleはそのような管理にはなっていないのでしょう。
もともと復帰後のスティーブ・ジョブズがCEOの時代には、部門を超えた、いわゆる越権行為の仕事をしても、会社のためになるのであれば問題なかったそうで、寧ろ奨励されていたといいます。とはいえ秘密主義は貫かれ、iPhoneの開発については最終的に一般に漏れることはありませんでしたが。。そして現CEOのティム・クック(Tim Cook)の時代から業務が細分化されて他部門とは情報が分断される傾向があるようです。ただ、ソースコードは社内プログラマにとっても開発のために必要なので、どこかの保管庫で1つにまとめられているのかもしれませんね。
Appleは今回のiBootのソースコードのリークについては古いiOSのものなので、現在のセキュリティ的には問題ない、というような言い方をしていますが、確かにこんな重要なものがかつて内部から漏れたこと自体が問題ともいえるでしょう。また、本当にセキュリティ的に問題がなかったのかどうかは、今後セキュリティ研究者や脱獄コミュニティによる報告によって明らかになっていくことでしょう。
なお、当ブログでのiBootソースコード流出に関する記事は以下の通りです。ご参考まで。
(記事情報元:Motherboard)