2015年9月21日月曜日

いわゆるXcodeGhostについて

iPad AirをiOS 9にアップデートしようと久しぶりに電源を入れたら,iCloudやiMessageへのログインを繰り返し要求される事態が発生し,うんざりしておりました。公開初日だったのでAppleがとんでもなく混雑しているのは,iOS 9のダウンロード前の認証に10分ぐらいかかった時点で覚悟したわけですが,iCloudやiMessageの認証失敗もその関係かなと思っていたわけです。

日中のダウンロードを諦めて帰宅後,深夜に自宅で割と(それでもゆっくりと)ダウンロードが進むのを見ているうちに寝落ちしたので,目覚めてからは混雑解消したのか,すっきりとインストール以後は進みました。

インストールの間にもAppleの認証ステップがありますから,通信が混雑しているとインストール途中でプログレスバーがいつまでも動かない,ということが生じますが,それはなかった,ということです。

で,現象が解消して忘れていたのですがそこへXcodeGhostのニュース。各ニュースサイトで話題になっているのでご存知かと思いますが,細かいところまでよくまとまっているのが以下の記事かと思います。

それ以前に一般のニュースで,iCloudのパスワードを入れさせられる場合もある的な記述があり,「ゑ?」と思ったわけです。

ということで,Pangu作のチェッカを入れて確認しました。このへんは脱獄ニュースのTools4Hackさんが詳しい。Panguは脱獄ツールを作成,配布しているところですから当然でして,この界隈の修羅の様相を踏まえて,確からしい内容を選んで丁寧に解説されているのがこのサイトであります。
個人的には脱獄環境でMobile Safariの穴からiOS乗っ取られた過去があるので脱獄はめんどくさいと思ってやめましたが,iOSのセキュリティについては脱獄コミュニティがいちばん詳しく知っていて,Twitterなどでかれらが漏らす話が重要だったりするので,それをうまく掬って記事にしてくださるニュースサイトは見ております。

というわけで,上記記事の手順で,Mobile Safariからアプリをインストールして,開発者証明書プロファイルを「設定」アプリから「信頼」してあげれば動きます。エンタープライズ向け,企業などで社内業務用に開発されたものなど,一般公開されないアプリをインストールして動かす手順を踏む形。

開発者証明書はAppleに申請して,Appleの署名つきのものを取得しないとアプリが動かず,証明書の偽造はまだ確認されていない,できないことになっている,のだったと思うので,このアプリを動かす間だけ「信用」すればよいし,この画面で「信用」すると赤文字で「Appを削除」にかわるわけですが,実行後,ここをタップすれば証明書とアプリの両方が消えます。

結論ですが,わたくしのところでは,コメント欄で話題になっているCamScannerは手持ちはCamScanner+だったおかげか,感染しておりませんでした。というわけで問題なし。AppStore側も感染アプリのBAN(ストアからの削除)を積極的に進めているようなので,今後インストールするアプリに同じ不正コードが含まれている可能性は少ないのかなと思っています。(AppStoreからBANされていても,いまデバイスにインストールされているアプリまで消えるわけではないので,いま動いているiOSデバイスで確認することが大事です)

それで,XcodeGhostの該当コード部分がGitHubに上がって,めきめきスターの数が上がっております。スターは,いわゆる「お気に入り」機能です。ブックマークといってもいい。
たしかに,各種情報をとりまとめ,暗号化して情報収集サイトに送信する様子が見えます。README.mdが中国語なので読みにくいですが,英語に翻訳すればわかりやすい。文法が近いためか中国語から英語への翻訳精度は高いと思います。

Google翻訳の結果:
"XcodeGhost" Source clarification on the so-called "XcodeGhost" of

First of all, I XcodeGhost event to bring confusion apologize. XcodeGhost from my own experiments, without any threatening behavior, as detailed in the source code: https: //github.com/XcodeGhostSource/XcodeGhost

The so-called XcodeGhost is actually hard to force an unexpected iOS developers find: Modify Xcode compiler configuration text file specified code can be loaded, so I wrote the code above annex to try and upload it to your network disk.

All data in the code actually acquired basic app information: application name, application version number, system version number, language, country name, symbol developer, app installation time, device name, device type. In addition, you do not get any other data. Solemn note is required: for selfish reasons, I joined the advertising features in the code, hope can promote their applications (off the source code can be compared to the Annex do check). But in fact, from the beginning to the final shut down the server, I have not used the advertising function. And in 10 days ago, I have taken the initiative off the server and remove all data, but will not have any effect on anyone.
Willing rumors would stop the truth, the so-called "XcodeGhost", used to be a wrong experiment, after just completely dead code only.

It is emphasized that, XcodeGhost App will not affect any use, but does not obtain private data, only a dead piece of code.

Again sincerely apologize, wish you a pleasant weekend

2015年9月10日木曜日

なのぼ〜どAG 1.4(2015年8月版)が出ましたね(ちと保留.時間ができたら確認します)

(注:サイトをよく確認したんですが,4月末以後の1.4との明確な差が写真と手元の実物から確認できませんでした.通信の不具合が解消しているか,現在配布しているものを確認できないので,以下の記述を当面保留します 2015-09-10)


以前のブログエントリで述べてきた,2015年5月版の「なのぼ〜どAG 1.4」について,ともんさんと何度か質問と回答のやりとりを得ながら,割と孤独に学生の実習のためハックを重ね,いろいろと面白い成果を出すことができたのですが,報告書作成のため,あらためてサイトをアクセスしたら,2015年8月版1.4にアップグレードされていて,驚愕であります.

前のエントリもそこそこのアクセスがありまして,その内容もご参照いただいたのかと思いますが,当時の懸案事項というのか,7月から8月にかけて胃を痛めながら睡眠時間削って回避方法を探ったり,基板のパターンと回路図を眺めながら,わかる人にはわかるように仕込まれている隠れ仕様を発見しつつ学生の要望に対応してきたことが,全面的にクリアになったような印象です.

ここで最も大きいのはATmega8Lをクリスタル駆動にした大英断と賞賛したいです.5月版1.4は,前のエントリに書いたとおりATmega8L内蔵のRCクロックで動作していましたので,本当に不安定でした.一応温度補償回路内蔵というメーカーの仕様ですが,電源ケーブル,その日の温度,湿度,さまざまな理由でシリアル通信の条件がつねに変化し,120〜150分の授業の間にも動く時間と動かない時間があり,この夏は異様に蒸し暑かったのですが,エアコンあれども,日に日に不安定度が増していくようなありさまでした.

当方での使い方として,ドリトルとの間でつねにシリアル通信をする形をとったので,タイミングが不安定になるとデータが欠けたり化けたり,あとProlificのWindows版ドライバを強く疑っているのですが,連続してデータをやりとりすると,Windowsのレベルでドリトルの動作が停止したり,基板との通信が止まって基板が生きているのか死んでいるのかわからなくなる,ということが頻発して途方に暮れるのでありました.Scratchセンサーボードのスケッチは毎サイクルですべてのセンサデータの送信とモータ等の動作データ受信を繰り返すので,あるサイクルで失敗しても次のサイクルで回復するとか,Scratch側がバッファ持ってて多少遅れてもなんとかなるようでしたが,ドリトルのプログラムは間欠的に,ときにバースト的にデータをやりとりするので,データの欠落や化けはわりと致命的でした.

Prolificのチップですが,Mac版ドライバは非常に安定しており,5月版なのぼ〜どAG 1.4であっても,たまにまずいところだけ5〜10ms程度の待ち時間を入れてあげる程度で,Windowsのときのようなハングは一切生じておりませんでしたが,Windowsでは,随所に50ms以上のウエイトを入れて確率8割ぐらい,PCの個体によってはどうやってもお手上げで,その個体ではATmega168Pに8MHzのクリスタルを搭載した「スタディーノ」でさえ通信ができなかったりしました.

スタディーノで使われているのは中華クローン対策をしたTA版チップで,クローンされまくったHXAの後継であるHXシリーズとは設計が違うと思われるのに,とにかくだめなときはだめです.

WindowsのドライバはProlific公式サイトからダウンロードしたものも,Windows 8.1や10で自動インストールされるドライバも,挙動に違いはみられないように観察されました.

それから,なのぼ〜どAG基板裏のジャンパパターンのカットについて,前のエントリの何度かの更新で加筆していきましたが,公式サイトでも写真つきで説明が入り,わかりやすくなりました.僕の現在の死亡フラグが立った状態が落ち着いたら,具体的な使用例込みでこちらで報告したいと思います.

それから,Li-Po(リチウムポリマーバッテリー)について,充放電管理のチップを搭載したものを入荷されたということで,これもすばらしい.SparkFunもAdafruitも商品ラインナップは電池単体で,チップはLilyPadやFloraのようにArduino基板側に搭載されるか,Breakout基板として別途提供という形でした.国内はラジコン用でホビーショップから買う経路が安定しているようですが,小型軽量なLi-Poは小さなプロジェクト,特に身に付けるような作品をスマートに仕上げるには具合がいいので,3.7〜4Vあたりの動作の回路には積極的に使っていきたい感じですが,専用充電器じゃないと怖いよ,ということで手を出しにくいところだったかと思います.という意味で電池側にチップがあるのは楽でいいです.

ただ,Li-Poは充放電を繰り返しているうちに膨張していつか破裂するという宿命があり,それは避けられないこと,パッケージは柔らかいけれど衝撃等で内部に傷やひびが入るとボーイング787初期の燃焼事故のような感じでやっぱり燃えるので,荒っぽい使い方しないよう注意してほしいと思います.で,ちょっとでも危ない気配がしたら正しい回収先に出す.

YouTubeを「battery explosion」で検索すると,バッテリーケースやスマホ本体にナイフを打ち込んで爆発大炎上させるロックな動画がいっぱい出てきますが,よいこはまねしないでくださいね.