POPFile 1.1.3 が Mac OS X 10.9 (Mavericks) に対応

POPFile カテゴリに記事を書くのはかなり久しぶりな気がする。
先日 Mac OS X 10.9 (Mavericks) がリリースされたが、アップデートすると POPFile が起動しない(または、インストールしようとしてもインストールできない)という報告をいただいたので修正した。OS が無料になったのは助かる。

  • 原因

POPFile が動かなくなった原因は、Mac OS X に含まれる Perl の(デフォルトの)バージョンが変わったこと。Mac OS X と搭載されている Perl のバージョンにまとめたとおりだが、Lion、Mountain Lion ではデフォルトのバージョンが 5.12 だったのに対し、Mavericks では 5.16 がデフォルトとなった。
5.12 もインストールされているが、設定を変更するか、環境変数を設定しなければ 5.12 を使うことができない。
ただし、もしかすると Mountain Lion からアップデートしたときは、デフォルトが 5.12 になっているのかもしれない。これを確認するには、

defaults read com.apple.versioner.perl Version

とする。「5.12」と出てくれば、デフォルトのバージョンが 5.12 になっている。本当にそうなっているかは

perl -v

で確認できる。
ここではまったのは、上記はあくまでユーザ権限で動かしたときの話だということ。テストではうまく動いたのに、インストーラを作ってインストールしたらエラーが出て動かない。試しに、

sudo perl -v

とすると、なんと「5.16」と表示されるではないか!

defaults コマンドを用いた方法以外にどんな方法があるかを調べてみると、 VERSIONER_PERL_VERSION 環境変数にいきあたった。詳しくは perl(1) Mac OS X Manual Page に記載されているとおりで、この環境変数に「5.12」を設定してから Perl を実行すると、5.12 で動いてくれるという仕組み。
このバージョン変更機能は Snow Leopard の時に追加されたらしいのだけど、全然知らなかったよ...(汗)

  • 解決方法

ということで、使用する Perl のバージョンを 5.16 に変えるのではなく、5.12 のままで対応する方向に。Mavericks にアップデートしたら、Subversion のバージョンが変わったらしく、古いローカルコピーで

svn up

したら「バージョンが古すぎるので対応してない」とか怒られてチェックアウトから始めなければならなかったり(チェックアウトする URL も忘れていて、古いローカルコピーの中のファイルをテキストエディタで読んで URL らしき場所を探した)、アップロード後にドキュメントを更新しようと思ったらなぜかアカウントが削除されてしまったりしたが、どうにか Mavericks 対応バージョンをリリースすることができた。

  • 今後について

現状、インストーラを作成するのに PackageMaker という古い仕組みを使っているが、Mountain Lion からは標準ではなくなり、オプションで追加しなければ使えなくなった(配布用のパッケージは Lion で作成した。Mavericks でも追加でインストールすれば動作すること確認)。これ以降は、pkgbuild、productbuild というコマンドラインツールを利用することが推奨されているようなので、これらに対応していく必要がありそう。
productbuild コマンドで指定する XML ファイルで、ライセンス情報を記載したファイルやら背景の画像やらを設定できるようなので、あとで読まなくては。Distribution XML Reference
ざっと見たところだいたいいけそうなんだけど、preflight と postflight の指定方法がわからなかった。これはもしかすると pkgbuild の方で指定するのかな? pkgbuild(1) - Mac OS X Manual Page を見ると、-script っていうオプションでスクリプトのパスを指定できるみたい。preinstall と postinstall のことしか書かれてないけど、他のスクリプトはトップレベルのスクリプトに実行してもらったときしか動かないってことなのかな? 今回のものだと、preinstall と postinstall にしても問題ないので、そっちで対応すればいいのかなぁ。
ま、ぼちぼち試してみよう。

iPhone 5s!

書きかけていたのが消えてしまったので書きなおし。地味にショック...。やっぱりブラウザでの入力は怖いなぁ...。

iPhone 5s のゴールド 64GB を入手したのでその記録。

  • 入手まで

発売日(20日)当日は仕事だったので、終わってから近所の量販店と au ショップへ。いずれも黒(グレー)しか在庫がない。au ショップでは 16GB しかないという状況で、何人か受付を待っているのでこれから並んでもなくなってしまうかも、とのこと。16GB では話にならないのでパス。並んでまで予約するより、オンライン予約のほうが確実だろうということで、一旦帰って予約することに。
au ID のパスワードなんだっけ? とかいうことになりつつ(ちゃんと 1Password に入ってたのに見逃がして設定しなおしてしまった)、なんとか予約。Twitter等でゴールドは全世界的に品薄との情報もあり、どのくらいかかるか不安ではあるが、それまでは 4s を使えばいいので問題ない。4s を買ったときは、Twitter で近所の量販店に在庫があったという情報を見て翌朝買いにいったが、今回はそこまで急ぐこともなく。
予約を入れたら次はケースを物色。5s は 5 と同じサイズとのことだが、メーカーから「対応」というアナウンスがあるまでは購入しづらい。今回は、パワーサポートのエアージャケットにしてみた。せっかくのゴールドなので色が見えるほうがいいだろうと。iPod touch 4th のときに使っていて、保護シートも含めて不満はなかったので再び。
あとから注文したケースが先に届いてしまうお約束の展開になるが、25日に「端末が確保できたから本申し込みしてね」というメールが。意外と早いな。3日以内に本申し込みしないとキャンセルになるということだったが、早く申し込んだほうが早く届くのだろうから、すぐにしますよ。しかし、予約のときにも入力した支払い関係の情報とかをもう一度入力させるのはなんとかならないのか。もう一度入れるなら予約のときは省略したらいいのでは??
翌26日には発送予定日の連絡。27日発送で、それから3〜4日で届くそうだ。週末に間にあうといいなと思いつつ、28日は高校野球の秋季大会の観戦に出かける。観戦中に配送状況をチェックしていたら、昼過ぎに配送完了になっていた。なんや、早いやないか!

  • 設定とかもろもろ

帰宅してから au の箱と対面。「精密機会取扱注意」と書かれてる。中を開くと、未開封の 5s の箱と au の SIM (au では IC Card っていうのが正確なのかな)、納品書、設定方法などが書かれていると思われる1枚の紙が入っている。4s を量販店で買ったときは開封済みで SIM がセットされた状態で渡されたのでそういう感じかと思ったが、オンラインショップだとこうなるのか!
書類は読まずに、とりあえず電源オン! 「ようこそ」的な画面が出てきたが、次に進むと SIM が入ってないわーと言われる。おお、ちょっと待って。4s の箱に入っていた器具(?)をつっこんでなんとか蓋をはずして SIM 投入! 次は、iTunes に接続せよ、とな。
4s のバックアップがちゃんと終わってなかったが、数日前にバックアップしたものがあったのでそれを元に復元開始。考えたら iCloud に最新のバックアップがあったのでそれを使えばよかったかもしれない(結果的には数日前のバックアップでもあまり問題はなかったけど)。
復元には 15 分くらいかかったのかな。一度再起動がかかって、Apple ID とパスワードを入力してアクティベーション完了。その後、アプリや音楽の同期が始まる。アプリによっては以前と同じようにそのまま使えるもの、認証情報だけ入力しなおさないといけないものなど様々。認証情報が必要なものは 1Password が入るまでは面倒なので後回しにしながらぼちぼち動作確認も兼ねてチェックしていく。とりあえず日常使いそうなアプリは一通り設定できたと思う。思ったより「なにもしなくてok」なものが多くて助かった。
同期中はケーブルがつながっていてケースがつけられなかったので、保護シートだけ先に。エアージャケットにはアンチグレアタイプと光沢タイプの両方がついているのでどちらにしようか迷ったが、4s ではずっと光沢タイプの保護シートをつけていたのでそちらにしてみる。ちょっと反射がきつい気がするけど、まあなんとかなるだろう。
あとは、友人が作ってくれた Sad iPhone の画像を入れて写真を撮ったりして遊びながらとにかく待つ。アプリが 200 個とか入っていたので大概時間がかかったが、なんとか終了。これで今までどおり使えるのだと思うと感慨深い。
一通り同期が終わったところでケースを装着。レビューでボタンが押しにくいというのがあって気になっていたが、確かにケースなしに比べたら押しにくいが、まあこんなもんじゃないの? 全体的にぴったり作ってあって安心感がある。Lightning ケーブルのところは純正のケーブルより若干広めに作ってあるが、サードパーティ製のケーブルが使えるかどうかは微妙かな。Amazon のはかなり太いみたいなのであれはだめかもなーって感じ。
指紋認証の登録も。最初、右手の人差し指だけでいいかなと思ったけど、しばらく触っているうちに、右手の親指も使うし、左手の親指も使うし...と、結構登録してしまった。ロック解除だけでなく App Store での認証にも使えるのは便利だな。この機会に Apple ID のパスワードをもっと複雑なものに変えてもいいかもと思ったり。

  • 設定マニュアルを見ないといけなかったこと

ずっと WiFi 環境で使っていて気がつかなかったのだけど、「そういえば LTE で早くなったのかな?」と思って WiFi をオフにしてみたら、どうもネットに繋がってないっぽい(「au 1x」っていう表示になってる)ことが判明。
調べてみたら、機種変更のときは切り替え手続きというのをしなければならないようだ。今更「まずお読みください」と書かれた書類に目を通す。おお、確かに「5.電話機切り替え手続き - 「機種変更」および「MNP」のお客さま」というのがある。オンラインで手続きできるのね。でも、9時から21時15分までしかできないと。おお、20時過ぎてた。危ない危ない。オンラインショップの注文履歴から切り替え手続きを。その後 30 分くらいで回線が切り替わるのだとか。
30分くらい経ってから、再び WiFi をオフに。「1x」となっていたところが「3G」になって、めでたくインターネットにつながった。が、LTE になってないよ? サービスエリアマップで見ると色ついてるのに...?

  • で、LTE は?

翌日も状況は変わらず。なにかし忘れてる...? と、もう一度「まずお読みください」を確認。「6.アクティベーション(登録)」は iTunes から復元したあとにやったはず。「7.アクティベーション(通話ロック解除)」というほうは、書かれているページは昨日チェックして一通りやったはず。なんで??
と、もう一度よく見ると、「6.アクティベーション(登録)」の下に「重要」「iPhoneアクティベーション後には、必ず 電源の OFF ⇒ ON を実施してください」と書かれてる。しかもちょっと大きな字で!
そういえば電源は切ってないなと思い、だめもとで電源オフ⇒オンをしてみると、なんと「LTE」の表示が! 電源が一度切れたことで電波を探しにいってくれたということなのかもしれないけど、やってみるもんだね。
あとはまだやってなかった「111 へ電話してテスト」もやっておく。これはあっさり。

  • キャリアメールのリアルタイム受信

これも昨日の時点ではできてないことに気がついてなかった。4s のときの記憶を頼りに、メッセージを使ってプロファイルのダウンロードリンクを送ってもらい、設定。4s のバックアップからリストアしたからプロファイルが入っていたのかもしれないけど、まあよし!

  • 感想とか

今回初めてオンラインショップで購入してみたので若干戸惑うこともあったが、設定自体はそれほど複雑ということはなく、ちょっと面倒だったくらい。次もこれでもいけるなーという印象。店頭で「Apple ID のパスワード教えれ」とか言われる心配もないし、ありかもと思った。
5s は(4s と比べて)きびきび動くし、とても快適。ゴールドにしたけど、操作していると前しか見えないので 4s の白とほとんど変わってない感じ。どっちかというと、使っているときに他の人から見たイメージが違うだけかも。
iOS 7 は、だめだわ。慣れとかそういう問題じゃないよこれは...。確かに一部便利になったところもあるけど、デザインが全然だめだわ。「デザイン」というと、「感性の問題」みたいになってしまうけど、そういうことじゃなく、「見ればわかる」ようなデザインになってないのが問題。押すべきところが押せるかどうかわからないデザインになってるとか、アイコンが何を意味しているのかわからないとか、そういうところがだめすぎる。元に戻す必要はないけど、もっと「わかりやすい」デザインに改善すべきだな、これは...。
縦長の画面はどうかなと思ったけど今のところそんなに違和感ない。アプリによっては縦に引きのばされてて「なんじゃこりゃ」なのもあるけど、まあ大体 ok かな。逆に 4s を見ると「縮んだ?」と思うくらい。

  • 参考にしたページ

手術を受けた話

6/12 に手術を受けたので、そのときのことをメモしておく。もう1ヶ月も前になるのか。
病名は慢性副鼻腔炎。ずっと病院に通っていて、手術が必要かもと言われたことがあったことも覚えていたが、日記を検索してみたら、最初から手術の話が出ていたのか。すっかり忘れていた。このあと、よくなったり悪化したりを繰り返し、一時は通院しなくてよくなったこともあったものの、鼻の中のポリープ(鼻茸というらしい)が大きく、投薬だけではなかなかよくならないので、根本的な解決を目指して手術を受けることになった。
以下、その記録。途中気色悪いシーンがあるかもしれないので注意のこと。リンクのほとんどは、当時書いたツイートへのリンク。

  • 手術前の検査 (3/21)

通っていた耳鼻科では手術はできないということで、紹介状を書いてもらい、総合病院へ。駐車場がいっぱいで車を停めるのにも苦労した。紹介状があれば優先して診てもらえるということだったので油断していたが、朝から行ったのに、受付をしてもらったら15時頃になるかもと言われる。しかし、13時には戻ってくるようにとのことで、家に帰る暇もないし、適当に時間をつぶして戻った。この時点で9人待ち。結局呼ばれたのは16時頃。おそるべし大病院。それから、全身麻酔を受けられるかどうかを確認するための検査であちこちを回り、終わったのは17時過ぎ。1日仕事だった...。
最後に、においがわかるかどうかを調べる検査を受けたのだが、これがまた痛くて。検査用の液体を注射すると、しばらくしてにおいを感じるということなのだけど、においは確かに感じたが、それよりも痛すぎて笑ってしまうくらい痛くて。帰りに車を運転できるかどうか不安になるくらいだったが、どうにか帰宅
次回、検査結果を聞く。ぜんそくがあるので、全身麻酔中に発作が起こると呼吸困難で死ぬ可能性もあるということなので、危険性がどの程度か、内科(呼吸器科)の先生にも診てもらうことになった。日程があわず、最低でもあと2回は通わなくてはならないようだ。

  • 検査結果を聞く (3/27)

前回の教訓を生かして、かなり早く病院へ。営業時間が始まる30分くらい前に着いたのだが、それでも結構人が多い。みんな何時から来てるんだ...。12時くらいまで呼ばれなかったが、このツイートをしてからすぐに呼ばれた。早起きした甲斐もあったというもの。全身麻酔に支障となるような異常は見つからず、呼吸器科の先生に診てもらって問題がなければ手術ということになった

  • 呼吸器科の先生に診てもらう (4/2)

再び病院へ。今回は予約をしてもらったので順調だった。手術日は6/12に決まった。喘息はしばらく発作が起こっておらず大丈夫だろうということ。手術日までに発作が起こった場合は延期になるそうだ。その後、入院についての説明を受ける。手術直前には風邪にも気をつけるようにとのこと。しばらくは注意しないとな。

  • 入院直前の検査 (6/7)

3月にCTを撮ったが、それからしばらく経つのでもう一度CT。3月よりは少しよくなっているが、やはり手術は受けたほうがよいということで、12日の手術が決定。

  • 手術前日 (6/11)

台風が近づいているということで不安だったが、入院日には影響なさそうな感じに。12時前に病院着。早く着きすぎて暇を持てあましたが、しばらく待って受付してもらったあと病棟へ。いよいよ近づいてきたという感じだな。部屋に案内され、簡単に施設の説明を受ける。腕にタグを付けてもらうと、立派(?)な入院患者に。6人部屋の5人目で、ベッドと机、椅子だけのスペース。
そして晩飯。明日8時から絶食、12時から絶飲食と説明を受けるが、朝食は8時からなので、結局これが最後のご飯。あと、ちょっと微妙な味のスポーツドリンクのようなものをいただいた。脱水症状にならないよう、これだけは飲んでよいとのこと。朝、もう1本もらえるそうだ。朝飯はそれだけってことね。
晩飯の前だったか後だったか忘れたが、明日受ける手術の説明を受けた。手術名は両鼻内内視鏡下鼻副鼻腔手術というかなり長い名前のもの。ポリープを切るだけだと思っていたが、それだけではなく、副鼻腔内の骨に穴を開けて(骨を「割る」というイメージが近いらしい)通りをよくし、中に溜っている膿(?)を取り除くのだそうだ。手術前には怖くてTwitterにも書けなかったが、目や脳との隔壁付近の骨も割り、膿をかきだすことになるため、誤って隔壁に穴があくと、失明や脳の障害、死亡の可能性もあるとのこと。手術を受けなくても死ぬことはない病気なので非常に難しい選択だが、ここまで来たらいきますよね?(^^;;
全身麻酔ではなく局所麻酔でも手術はできると聞いていたが、手術の詳細を聞くと、その選択はないなという感じ。最初に説明を受けたとき、「局所麻酔でもできるが、患者さんの気力が持つかどうかが問題」と言われた意味がやっとわかった。

  • 手術当日 (6/12)

手術前日の夜は早く寝たかったのだけど、隣の人が病室で電話していたり、それが終わったと思ったら反対側の人が消灯時間を過ぎてもテレビを見ていたり(イヤホンを持ってくることになっていたので音は出ていないが、明るいのですぐにわかる)してなかなか眠れなかった。朝は朝で物音がして5時前には起こされるし、慣れない環境でなかなか落ちつかない。病院だから仕方ないが、日中も夜も叫んでいる方がいて最初は驚かされた。
9時から点滴開始。服も、持ってきた寝間着から手術用の前後にわけられるものに着替える。あとは、手術中にエコノミークラス症候群にならないよう、足を締めつける靴下を履く。いよいよ近づいてきた。12時からは絶飲食で、15時から手術だ。
定期的に看護師さんが来て、体温や血圧を測ってくれる。そういえばこの日の朝はちょっと体温が高かった。「緊張してる?」と聞かれたが、たしかにそうだっかもしれない。汗を拭いて測りなおしたら36度台だったので、よかった。熱が出たら手術が延期になってしまうところ。他にも、薬剤師さんが薬を持ってきてくれたり(といっても飲むのは明日からだし、点鼻薬に至っては手術後鼻の中に入れたガーゼ(?)がとれてからなので、それまでちゃんと説明を覚えてられるか不安だ)、麻酔科の先生から麻酔の説明を聞いたり。喘息の薬(吸入薬)を手術に向かう直前に吸入しておくように言われた。あと、両鼻を手術するので鼻で息をすることができなくなるので、酸素マスクではなく、口から肺のほうに管を入れて呼吸ができるようにするらしい。その管を通すときに喘息の発作が起こりやすいということだ。もし発作が起きたら手術中止だ。
そういえば、この間に、隣にいた患者さんが退院していった(たぶん)ので、隣へ移った。入口に近い側で、少しは広くなった。とはいえ、今日は夕方には手術室に移動して、場合によっては集中治療室に泊まることになるのだから、あまりピンとこなかったのだが。
手術は15時からの予定だったが、少し遅れた。手術室へは、ベッドごと移動だった。点滴をベッドにとりつけてもらい、左右に転落防止の柵をつけて移動開始。エレベータに乗せられて2階(手術室は2階だった)へ。そこからどう移動したかわからないが、手術室へ到着。手術用のベッドに移動する(これはセルフサービスだった)と、そこからはベッドの下に布かなにかを入れて(たぶん)体が動かないように安定させる人、心電図の電極をとりつける人と、同時並行でいろいろなことが行なわれていく。麻酔科の先生から「では、これから麻酔薬を入れますね」と言われたところまでは覚えているが、その後の記憶は手術が終わったあとだった。
目が醒めたときは、何が起こったのかわからなかった。4時間経っているらしいが、まったく記憶がない。全身麻酔ってどんな感じなのかなと思っていたが、寝たような感じでもあるし、そうでない感じも。時間がぜんぜん経ってない感じなのは、寝たときとは違う感覚だな。
起きたときにはまったく気がついていなかったのだけど、病室のベッドに移しかえられ、病院の寝間着に着替えさせられていた。あと、とにかく喉が乾いていた。確か22時40分を過ぎたら水を飲んでもよいと言われたんだっけ。とにかく暑かったのだけはよく覚えている。この時点で集中治療室(ICU?)にいたらしいのだけど、エアコンがあまり効いてなかったか、エアコンが壊れているのだったか、そんなことだったような気がする。暑かったのと、痛かったことくらいしか覚えがない。
それからしばらく(暑くて痛くて喉が乾いて、という状態だったのでかなり長く感じた)して、病室へ移動。無事当日中に戻ってこられた。暑いので氷まくらを出してもらったが、とにかく痛い。目の間の奥の方が痛い。が、水も飲めないので薬も当然飲めない。どうしても我慢できなければ坐薬しかないと言われ、どうにもならなければそれもやむなしかとも思ったが、なんとか我慢できた。
待ちに待った22時40分。水と薬を飲む。あと、その時間までは動いてはいけないと言われていたのでずっと寝たままだったのだが、少し起きあがって薬を飲んだらトイレに行きたくなった。点滴を連れてトイレに。洗面台で手を洗っているとなにかがポタリと。血だ。鼻には綿球が詰められていたのだが、動いたことで出血し、あふれてきたようだ。あわてて手でおさえながら病室へ戻ったが、このままではどうしようもない。これは「ナースコール押していいタイミングですよね?」と思いながら、おそるおそる押す。ピピピピという小さな電子音が聞こえ、しばらくすると看護師さんが。血が流れていることを説明すると、袋に入った新しい綿球をたくさんくれた。血が滲んできたら自分で交換するようにとのこと。なるほど。綿球をティッシュにつまんで取り出すと、どろっとしたどす黒い血がべったり。なんじゃこりゃーという気持ちを抑えつつ、綿球を交換。
薬を飲んだが、痛みはあまりよくならなかった。後から聞いたのだが、処方されていた鎮痛剤は弱いものだそうで、喘息の発作が起こる危険性があるため、これよりも強い薬は処方できないということだった。薬は6時間空けないと飲めないのでひたすら耐えるのみ。その間にも、綿球に血が滲んできて交換しなければならない。左のほうが出血がひどい(そういえば、ポリープは右側だけだと思われていたが、左側にも奥のほうにあったそうだ)らしく、左は1時間に1回くらいのペースで交換しなければならなかった。ほとんど眠る間もなく、朝になってしまった。22時40分からほぼ6時間後の午前5時頃に鎮痛剤を飲んだ。

  • 手術翌日 (6/13)

朝食は8時からだが、6時過ぎにはお茶の提供がある。動ければ自分で取りにいくところだが、今日は身動きがとれない(昨日は決まったものしか飲めなかったので行けなかった)。確か、寝ていたら「お茶どうですか?」と持ってきてくれたのだったかな。
8時、朝食。お粥と牛乳とあとなんだったかな。あっさり完食して最初の薬を飲む。そういえば、この日は熱があったのだった。37度7分だったか。食事とトイレ以外はとにかく寝るだけ。といって寝付くことはできず、ひたすら痛みに耐えるだけだった。朝に1回ツイートしただけなのが、この日の余裕のなさを物語っていると思う(^^;
この日の夕方には熱も下がり、(たぶんこの日の夕方の回診のときに外してもよいということになり)点滴が外れた。食事もちゃんととれているので大丈夫みたい。また熱が出たら点滴をもう1回つけなければならないかもしれないとのこと。それはごめんだなぁ。点滴を外すときが大変だった。腕にテープを貼りつけてあったので、はがすときに毛が...。

  • 手術後2日目 (6/14)

点滴も外れてすっきりしたが、痛みは相変わらず。結局昨日は鎮痛剤を3回飲んだ。この日も朝飲んだはずだ。このペースでは処方してもらった10回分があっというまになくなってしまいそうだ...。
朝の回診で、鼻の奥に入れてあったガーゼを外してもらった。久々に鼻で息ができた(これまでは綿球とガーゼが詰まっていて口でしか息ができなかったのだ)。息ができるってすばらしい! 気のせいかもしれないが、いつもより空気がおいしく感じるな。とはいえ、傷口を乾燥させないため、鼻に綿球を詰めてしまうので、息ができるのは一時的なもの。このときの検診で、「痛み止めは効きますか?」と聞かれたのだ。正直に「あまり効きません」と答えたら、先の話を聞いた。発作が起きたら大変なので、ここは耐えるしかないと。
この日から鼻の洗浄を始めた。手術前に、術後ガーゼがとれたら鼻を洗うのがよいと言われていて、鼻を洗浄する器具(というほどのものでもないが)を購入。ぬるま湯に食塩を溶かして生理食塩水と同じ濃度の食塩水を作り、鼻を洗う。なんか苦しそうな感じだが、思ったほどではなかった。固まりかけた血が出てくるのは気になるが。
入院したときには、6人部屋の5人目だったのだけど、入院当日に一人退院、翌日(手術日)にもう一人退院、3日目には二人退院して一人入院、この日に昨日入院した方が退院。数えればすぐにわかるけど、ついに一人になってしまった。周りの音がしなくなったのはありがたいが、ちょっと寂しい気も。
点滴も無事とれたので、シャワーを浴びる。シャワー後に血が出てくるので気をつけよう。

  • 手術後3日目 (6/15)

昨日の夕方(たしか16時半頃)に鎮痛剤を飲んでからだんだん痛みが収まってきた。痛みが収まると、暇をもてあますようになってきた。寝ているわけにもいかないけど、あまり動くわけにもいかない。たぶんこの頃から Kindle Paperwhite を取り出したのだと思う。昨日まではまだ暑くて氷まくらを使っていたが、熱も下がったので、この日に片づけてもらった。
そういえば雨が降ったらしい。通路側のベッドで外の様子がわからないので天気とか気にしてなかったな。
鼻を洗うのもだいぶ慣れてきたが、鼻や口から固まりかけた血がだばーっと流れてくるので周りの目が気になった。病院とはいえ、血を流してるのは目立つよなぁ。
この日も新しい患者さんは来ず、6人部屋の個室(?)継続。部屋の明りもエアコンも自分で調整してくださいねーと言われる。

  • 手術後4日目 (6/16)

昨日とはうってかわって快晴。これまで外の天気を気にする余裕はほとんどなかったけど、この日は本当に天気がよく、空気が澄んでいた。
朝、看護師さんから、「そろそろ普通のご飯に戻りましたか?」と聞かれた。いや、ずっとお粥のままだ。手術翌日は朝3分粥、昼5分粥とだんだん固くなって、全粥になってからはずっとそのまま。粥も飽きたなと思っていたところだ。何より、粥を食べると汗が出るのがなんとも。戻ってないと話をしたら、次の食事から戻しましょうか、と。朝食には間にあわないが、昼食からは変えられるとのこと。
昼食から、お粥を卒業。入院した日以来のごはんですよ!
鼻洗浄では大物がとれたらしい。

  • 手術後5日目 (6/17)

だんだん書くことがなくなってくるくらい暇。あまりにも暇で、これまで開いていなかった 3DS を開いてみた。放置していた森を開いたら草とりを命じられて余計疲れた気もするが、暇つぶしにはなったかな。
カレーが出てきたのはこの日だったかな? メロンが入ってたのは前日だったか? 病院食って意外といろいろ出てくるんだなと思った。肉は鶏肉ばかりで、魚中心だけど(カレーもシーフードカレーだった)、悪くなかった。思ったより濃い味付けだったのにも驚いたっけ。
この日はあまり血が出なかったようだ。徐々によくなっているのかなという感じ。綿球を交換する頻度もかなり減った。まだまだ出血が止まったというわけではなく、変にかさぶたができて空けた穴を塞いでしまうと元も子もないので、回診では湿らせたガーゼでかさぶたをふやかして外してもらう。これがまた痛いのだが、鼻が通ってすっきりするのはうれしいもの。
さあ、明日の回診で主治医の先生の許可が出れば、いよいよ退院だ。

  • 手術後6日目 (6/18)

退院予定日。
朝の回診で、退院決定! 粘膜の腫れもだいぶ収まったそうだ。朝から鼻が通っていていい感じ。先生から「今日で私の診察は終わりです」と言われ、退院を実感。本当にありがとうございました。
まだ出血が止まったわけではないので、鼻の洗浄は続けながら、元々通っていた耳鼻科に通うことになった
退院は昼食を食べてからにしてもらった。どちらでもよかったのだけど、あまりばたばたしたくもなかったし。
退院ということで、請求書をもらう。いろいろあわせて30万弱。食事代も保険がきくのは知らなかった。もしかしたら最初(か入院日が決まったときに説明を受けたとき)に聞いていたかもしれないけど。手術費がいちばん高くて、保険適用前で60万ほど。両鼻なので結構高めになるのだとか。
シャワー後に血が流れてきてびっくりしたのはこのときだったらしい。鼻水かなと思って手でぬぐったら、血糊がべっとりで、うわあ。だいぶよくなってきてるが、まだまだ油断は禁物。
昼食後、着替え。入院中はずっと寝間着だったので、久々に普通の服を着た感じだ。そして支払いへ。最初カードが通らなくて焦ったけど、別の窓口で試してもらったら無事いけた。30万とか現金で持ってるわけもないのでどうしようかと思った。ふう...。
挨拶をして、退院! 病院を出た最初の感想は、「暑い...」だった(汗)。これまでなんと快適なところにいたのだと思い知らされる。夜中に叫び声で起こされたこともあったけど、それすら懐かしい。時間になればお茶や食事ももらえるし。後半個室状態なったのが大きかったかもしれないが、非常に快適な入院生活だったと思う。入院前の説明ではいろいろと面倒そうな感じだったが、現場の看護師さんは皆さん親切でありがたかった。

  • 現状

出血はだいたい止まったみたいだが、粘膜に腫れがあって手術で空けたところが塞がりかけているらしい。抗生剤を飲んで様子を見ることになった。
鼻の洗浄ではほとんど血は出ていない。時々どろっとしたものや固まりかけたようなものが出るが、徐々によくなっているはず。
退院後しばらくは体力に不安もあったけど(復帰した週にいきなり熱を出したし)、だんだん回復してたというところ。

  • 感想とか

手術後しばらく痛みが引かなかったときはどうなることかと思ったが、3日後からは鎮痛剤を飲まずに過ごせるようになって安心した。初めての入院、初めての手術だったが、いろんな方々のおかげで無事に過ごすことができたと思う。病院のスタッフの皆さん、Twitterではげましてくれた皆さん、本当にありがとうございました。

Mac mini購入

Mac mini の新しいの(竹)を購入。Quad Core i7 で、BTO では Fusion Drive を選択。
MacBook からデータを移行している途中だけど、これまでに作業したことをメモとしてまとめておく。

  • 利用開始まで

電源ケーブルを一旦抜こうとしたところで誤って電源を入れてしまう。あの位置はだめだと思う。結局そのままインストール作業を始めてしまったので、ケーブルはそのまま...
マウスもキーボードもディスプレイもつないでない状態で起動させてしまったので、あわててディスプレイだけ接続。MacBook につながっていた mini-Display コネクタを抜いて Mac mini へ。ディスプレイが表示されると、なにやらマウスの電源を入れるようにとのメッセージ。純正じゃないときはどうしたらよいのかわからず、うちに唯一ある USB 接続のマウスを接続。
マウスが認識され、言語選択へ。ツイートするのに時間がかかっていたら、選択してください、と(英語で)促される。へえ、しゃべるんだ。
言語を選ぶと画面が切り替わり、今度はキーボードの電源を入れるようにと。キーボードはまだ届いていないので Bluetooth 接続のものしかない。だめもとでペアリングモードにしてみると、ちゃんと認識してコード入力画面に。慣れないキー配列(コンパクトな折り畳みタイプなので、数字の入力に fn キーとの同時押しが必要)にとまどいながらなんとか入力。うまく認識してもらえたようだ。考えたら、マウスも同じだったのかも。
あとは、無線 LAN のパスワード入力やら Apple ID の設定やら。キーボード操作がかなり厳しいが、なんとか進めていくことができた。
設定が完了したら、いきなりソフトウェアアップデート。確か、SafariiPhoto のアップデートがあった。
そして、ソフトウェアのインストール。

  • ソフトのインストール

まるまま移行するのではなく、必要なソフトをインストールしつつ、必要なデータをコピーしていく方向で。手間はかかるけど、無駄なデータや使ってないソフトを減らしていくために。とりあえず昨日から今日までにインストールした主なソフト。

GeekBench のスコアは 10673。MacBook (late 2008) で 3400 とかなので、3倍。全体的に 3倍くらいになっている感じ。CPU は Core i7-3615QM 2.3GHz と。3610 だと思っていたけど、3615 だった。何が違うのかわかってないのだけど...(汗)
Xbench では、Thread Test が途中で止まってしまったため、それ以外をテスト。裏でデータコピー中だったので、参考程度に。うしろの括弧書きの数字は、MacBook late 2008 (Core 2 Duo P8600 2.4GHz との比較)

    • CPU Test 264.80 (1.8x)
    • Memory Test 603.28 (3.4x)
    • Quartz Graphics Test 504.65 (3.1x)
    • OpenGL Graphics Test 244.85 (1.6x)
    • User Interface Test 440.51 (1.6x)
    • Disk Test 413.48 (8.4x)

だいたい予想どおりというところかな。大きく差がついたのはディスクで、Fusion Drive の効果が表れたということかな。読み 400MB/sec、書き 300MB/sec くらい出ているようだ。

  • その他

キーボードが 1日遅れて到着! 新しいキーボードは、FILCO Majestouch 2 Tenkeyless 英語配列 (赤軸) なり。英語配列、テンキーなしを条件にした時点でかなり選択肢が狭まり、その中で唯一、近所の店で同シリーズのキーボードに触ることができたもの。店頭では茶軸しかなくて、茶か赤か最後まで悩んだのだけど、別の店で、他メーカーの茶と赤を比べる機会があり、赤のほうがよかったので赤を選択。ちょっと重たい気もするけど、かちゃかちゃする感じがないのはいいな。
配列は、Windows キーが Command、Alt キーが Option になっていたのを環境設定で入れ替え。ずっと Shift の下にカーソルキーがある環境だったのでそこだけちょっととまどっているが、Shift の左に上矢印、右にスラッシュというキーボードを 1日使ったあとならそのくらいの違和感はどうということもない。

Diablo III。やはり MacBook よりかなり快適だ。解像度はそれほど高くはできなさそうだけど、画質を高くしてもちゃんと動いてる。これでラグでやられる心配はなくなっただろうか。

CPU が 4 コア、8 スレッドになったので、MenuMeters の CPU メーターが 8本に。見ていると、奇数番目の方が偶数番目よりも高くなる傾向があるようだ。二つずつが同じコアになっているのかな?
CPU 性能のベンチマークでは、Xbench では 1.8倍だったが、マルチスレッド対応ならもっと差が出てくる。GeekBench の Blowfish (multi-threaded scalar) で比較すると、5倍くらい。まあこんなところかな?
動画の変換も試してみたら、やはりそのくらいの効果は出ているようだ。フルハイビジョン(1080p)の MPEG4 から 720p への変換を試してみたところ、秒あたり 40 から 45 フレームで変換できた。

音は静かだけど、上記のようなことをして負荷をかけるとファンが回りだす。深夜で静かなときだと少し気になるかもしれないけど、負荷が収まればすぐに静かになるので問題なさそう。
それよりも、筐体が意外と熱くなることに驚いた。金属筐体なので、それ自体が熱を逃がす役割もあるのだろうとは思うけど、長時間触っていると低温火傷しそうなくらいには熱く感じる。ノート型と違って直接触る機会はほとんどないので特に問題はないのだけど、夏場はちょっと心配かも。冬は暖房代わりでちょうどいいかも知れないが...

データ移行は、最初に AirDrop を試したが、あまり大量のデータをやりとりするのには向いていないようなので(当然か)、MacBook の共有フォルダをマウントしてコピー。しかしこれも失敗だった。昨日の晩からやっているのにまだ終わっていない。残り約14日だとか19日だとか言われて結局キャンセルし、外付けハードディスクを使って移行することに。最初から面倒がらずにそうすればよかった...

iProxy を使ってみた

iPhone 4S を買ってからすぐに入れてあったのだけど、12月の水没事件以降入れなおしていなかったので、昨日の朝からあわててビルド、インストール。設定は会場に着いてからだったのでなかなかうまくいかなかったが、休憩時間以降はうまく使えた。通信量がちょっと心配だったが、昨日の利用量は 725,000 パケット。KingGPS を起動したまま自転車で何時間か走ることに比べたらたいしたことないかも。

名古屋情報セキュリティ勉強会 #3

なんだか勉強会に行かないとブログが更新されない状態になっているけれども。。。

昨日、名古屋情報セキュリティ勉強会に参加してきた。今回は、パスワードの管理がテーマ。パスワードについて、強固なパスワードを使うように、とか、定期的に変更するように、と言われるが、実際のところどうすればよいのか、がテーマ。以下、私のメモと感想とか。長くてまとまりもないので、Togetter を見たほうがよいかも。http://togetter.com/li/291145

  • パスワードを定期的に変更するという不自然なルール+α (NTTデータ先端技術 辻さん)

ペネトレーションとは、貫通という意味。ペネトレーションテストとは、貫通試験、侵入試験という意味で、コンピュータやネットワークに内在する弱点を検出し、実証、評価する行為。ネットワーク上のコンピュータやネットワーク機器などに対して、実際の攻撃手法を用いて試験する。
外部に公開されている機器だけでなく、非公開のものも対象となる。また、検査するものはいわゆるコンピュータだけでなく、プリンタや空調制御装置といった機器も。こうした機器では Linux が動いていたりする。
ペネトレーションテストでは様々な脆弱性が発見されるが、このうち危険性が高いものは権限奪取やセンシティブ情報の取得といったもの。この危険度「高」の脆弱性のうち、実に7割がパスワード関連。SMNP関連のものを除いて純粋にパスワードがらみのものでも6割を越えている。


パスワードクラッカーと呼ばれるツールには、大きくわけてオンラインツールとオフラインツールがある。オンラインツールでは、THC-HYDRA、Medusa、Ncrack といったツールがある。SSHFTP の各プロトコルについて、100ユーザに辞書にあるパスワードを設定して性能比較したところ、SSH では Ncrack が、FTP では HYDRA の性能がよかった。Medusa はいずれも安定した性能だった。このように、利用目的にあわせて使いわけるのがよい。
オフラインツールでは、定番の John The Ripper と、あらかじめテーブルを用意することによってパフォーマンスをあげる RainbowCrack というツールなどがある。RainbowCrack で使われるテーブルは超巨大。64GB もあるとか。


パスワードクラックに有効な対策として、強固なパスワードを使うとか、定期的に変更するということが言われている。この理由としては、破られる可能性を減らすこと、破られたときの被害範囲を減らすという目的がある。
可能性を減らすという視点では、定期的に変更することよりも、パスワードの桁数を増やすこと、パスワードに利用する文字種を増やすことの方が有効。また、定期的に変更することよりも、ログインに一定回数失敗したときにアカウントをロックするほうが有効。
破られたときの被害範囲を減らすという視点では、短期的には、不正に気づきやすい仕組みのほうが重要。利用した内容をメールで送信するとか、最終ログインの日時が表示されるとか。オンラインバンキング等、お金がからむ場合はそんな悠長なことは言っていられないと思うかもしれないが、振り込みなどの操作を行なう場合にはパスワードに加え、ワンタイムパスワード(トークン)やマトリックス表が利用されており、パスワード自体の重要性は低くなっているのではないか。
サーバに侵入された場合には、パスワードの定期変更などではとても間にあわない。ハニーポットを設置していると、あっという間にぼろぼろにやられてしまう。このため、早期発見の仕組みや、アクセスコントロールを正しく設定することのほうが重要。
長期的には、継続的に更新や追加が行なわれる情報について、パスワードを定期的に変更することで、「盗まれ続けない」という効果は期待できる。
まとめると、パスワードの定期変更は、短期的には被害最小化にはならないが、長期的には盗まれ続けないという効果はある。


では、なぜ定期的に変更という話が出てきたのか。
Unix では /etc/passwd というファイルにハッシュ化されたパスワードが誰でも読める権限で置かれていた。このハッシュを手に入れ、クラックツールを使うと脆弱なパスワードは破られてしまう。しかし、現在は /etc/shadow が主流で、こちらは root しか読むことができない。
それでも労力を割き、割かせるべきなのか? 運用に負荷をかけてまでやるべき/やらせるべきことなのか?
定期的な変更が脅威になる可能性もある。すべての人に定期的に変更した「強い」パスワードを記憶させることは酷。変更を繰り返すうちに、「覚えやすい」(脆弱な)ものになっていってしまう。また、パスワードの使いまわしが発生。パスワードを定期的に変更しないことよりも、使いまわすことのほうが危険。


パスワードの使いまわしはなぜ危険なのか。
パスワードを使いまわしていると、一旦ひとつのサーバに侵入された場合、ハッシュを使って、同じパスワードを使っている別のサーバにも侵入されてしまう可能性がある。この攻撃手法は Pass-the-hash と呼ばれる。このように、ひとつの脆弱性から次々に様々な攻撃を受け、別のサーバ、サービスに影響が広がっていくことを、ドミノエフェクトと呼んでいる。


ドミノエフェクトの例として、ひとつの事例の紹介。
HBGF がやられた事例。

  1. CMSSQL インジェクションがあった
    1. この脆弱性を使ってパスワードのハッシュが盗まれてしまった
    2. パスワードのハッシュにはストレッチングやソルトが使われておらず、容易にクラックできる状態だった
  2. よりによって、CEO と COO のパスワードがクラックされてしまった
    1. 権限の高い者のパスワードほど脆弱というのはよくある話
  3. このパスワードが使いまわされていた
    1. 別の SSH サーバにログインされてしまった
  4. SSH サーバに権限昇格の脆弱性があった
    1. 突かれた脆弱性は glib の脆弱性
    2. ローカルなので大丈夫と思って対策していなかった
  5. Google Apps でもパスワードが使いまわされていた
    1. CEO、COO はこちらでは管理者権限を持っていた
    2. これにより、メールの読み書きが自由にできるようになった!
  6. そのメール本文にパスワードと思わしきものが記載されていた
    1. rootkit.com の root パスワードと思われるもの
  7. rootkit.com にログインを試みたが、ログインはできなかった
  8. そこで、ソーシャルハッキングを開始
    1. 乗っとったアカウントを利用して、共同管理者にメールを送信
    2. SSH をあけさせ、root 奪取
  9. rootkit.com のハッシュを入手し、クラック
    1. 使われていたパスワードのリストが公開された

突っこみどころは多数あるが、パスワードの使いまわしがなければ、被害は CMS だけですんだのでは...

  • おまけ。Phishing 対策について

本物のサイトと偽物のサイトを見わけるのは非常に難しい。メールの不振なリンクをクリックするなと言っても、完全には無理。訓練で確率を下げたとしても、10人中1人がクリックしてしまい、それが権限の高い者であればアウト。
やられないための対策としては気をつけるくらいしかできないが、それよりも、やられたときに被害を抑えることに注力すべき。
やられない対策としては、パスワード管理ツールを使うという方法がある。利用者に(サービスごとに別々な)パスワードを覚えさせるのではなく、ツールを活用するのがよい。

  • グループディスカッションで出た意見など

ツールが使えない前提で、覚えやすく、強いパスワードを作るにはどうしたらよいか。覚えているフレーズの頭の子音とサービス固有の文字などを組みあわせるというのがよく言われている。パスワードを思いだすためのヒントをメモしておくのも有効。
パスワードを忘れたときのために「秘密の質問」(と回答)を登録させるサイトがあるが、どのようにしたらよいか。秘密の質問の答えは事実上もう一つのパスワード。しかし、選択肢として示されるものは、飼っているペットの名前、好きなアーティストの名前、母親の旧姓とか、調べればわかってしまうようなものが多い。最近では SNS 等でこうした情報を公開している人も多い。この機能は危険なのではないか。本パスワードをきちんと管理できていれば必要ないものなので、長いランダムな文字列などを設定するのがよいのでは。使わない前提で、一旦入力したら忘れてしまってもよいもの。

  • 感じたこと

組織のポリシーのことは置いておくとしても、現在では個人でも多くのサイトのID、パスワードを保有している。これらすべてに別々の強いパスワードを設定して管理するのは非常に難しい。私もあまり重要ではないようなところでは一部使いまわしてしまっていたが、この機会に反省し、パスワード管理ツールを使ってみようと思う。
また、よく言われる、付箋にパスワードについて、確かにほめられたものではないが、(パスワードが強いものであれば)パスワードを知られる可能性は、その付箋を見られること以外にはない。それよりも、弱いパスワードを使いまわすほうが危険なのかもしれない。
もうひとつ何か書こうと思っていたはずなのだけど、思いだせない。思いだしたらまた書く。

  • 終わりに

今回も非常におもしろく、ためになる勉強会だった。発表していただいた辻さんには、懇親会でもいろいろなお話を聞け、勉強になりました。また、まっちゃさんをはじめスタッフの皆様、会場を提供いただいた名大の高倉先生、そしていろいろな話題を提供いただいた参加者の皆様、ありがとうございました。

名古屋情報セキュリティ勉強会 #2

ずいぶん経ってしまったけど、名古屋情報セキュリティ勉強会 #2に参加してきたので、個人的まとめ。聴きながらメモしたものを起こしたものなので順番とかは入れかわっていると思う。

会場は名古屋大学。大学までは特に問題なく行けたのだけど、建物の中への入りかたがわからずうろうろしてしまった。しかも、au iPhone が圏外 (結局 iPhone の調子が悪かったせいだったが) で困ってしまった。なんとか辿りつけてよかった。

  • 自己紹介タイム

全員順番にまわすのではなくて6人〜8人の小グループでそれぞれ行う形式。時間短縮にもなるし、近くの席の方と知りあえるのはいい感じ。そして、今回は参加者層の厚さを感じさせられた。

AndroidLinuxJava sandbox で構成されている。
アプリのインストール時にユーザにパーミッションの承認が求められ、ユーザが許可したものにアクセスできるようになるが、それぞれのパーミッションの意味合いがわかりにくいこと、開発者が理解しておらず不要なパーミッションを求めるケースがある。これらが情報漏洩につながる原因。また、パーミッションを求めるときにそのパーミッションを必要とする「目的」が記載されていないことも問題。OS がデフォルトで表示するパーミッションの確認だけでなく、アプリ開発者が取得する情報、利用目的、提供範囲などを示し、承認を得るべき。

インターネットへのアクセスや、電話番号の読み取りなどのパーミッションを求めるアプリが急増している。情報収集モジュールの利用が増えていることが一因と思われる。
情報収集モジュールを組み込むと、利用に応じて収入が入仕組み。開発者自身が、情報収集モジュールが何をしているかを理解していないことも問題。

Androidマルウェアは増加しているが、発生数ベースでは PC の 4000分の1。スマートフォンの脅威は、マルウェアよりも情報収集モジュールの誤使用によるもの。

Android ID と起動中のアプリ一覧の取得だけであれば、パーミッション不要。

スマートフォンはパソコンに近く、(フィーチャフォンに比べて)利用できる機能が多い。→悪用されやすい
また、SIMが挿さっており、悪用されたときにリスクが大きい。

しかし、Android では、プログラムが自動的に実行されることはなく、自動実行型のウィルスは存在し得ない。また、メールからの自動実行も不可能で、アプリのインストールには必ずユーザの操作が必要。
キャリアメールからはインストール不可。Gmail からだとインストール画面までいけるが、ユーザがクリックしなければインストールはされない。

情報収集において、何が ID なのかについての明確な基準がない。JIAA の行動ターゲッティングについてのガイドラインが参考になる。

au one マーケットでは、アプリを検証して、問題がなければセキュアマークをつけるという取り組みを行なっている。検証してもらうには 1件 3,150円必要。

Google は最新バージョンにしかパッチを提供していないが、KDDI では独自にパッチ情報をメーカーに提供し、パッチ作成を依頼している。ただし、パッチを作成するのは端末メーカーであり、メーカーによっては対応されないケースもある。Google の対応を待つ、とか。

Android を安全に使うには、安全なマーケットからアプリを入手すること。それ以外の、例えば Web からインストールなどは危険。

アンチウィルスソフトは、アプリケーション領域で動作するため、他のアプリケーションの監視はできない。アンチウィルスソフトを入れても、既にインストールされてしまったマルウェアをどうにかすることはできない。

結論。安全なマーケットを使うのが大事。

モバイル OS 向けのマルウェアは増加傾向。11/4 現在で、4,736個。2011 年上半期だけで 800個も。
種類として一番多いのは SMS trojan と呼ばれるもので、勝手に SMS を送信するとか、届いた SMS を別のところに転送するものとか……。

モバイル OS 向けに提供されているアンチウィルスソフトでは、盗難対策、SPAM 対策、コンテンツフィルタなど、アンチウィルス機能以外にもいろいろな機能を提供している。

Android のアプリはすべてアプリケーション領域で動くもののみ。iOSWindows Phone では API が非公開で、本来の意味でのアンチウィルス作成はできない。URL フィルタとかそういう方向のものになる。

Android のアンチウィルスは一般のアプリケーションであり、他のアプリケーションには干渉できない。→対応に限界がある
Windows のアンチウィルスとは、保護しているものが全く違う。

Android のアンチウィルスでマルウェアを見つけられないわけではないが、仕組み上、見つけられないものがある。インストールしようとする段階でないと検知できない。ダウンロード時の検知は無理。また、電池の問題もあり、常時動かすのは難しい。
一般ユーザの権限で動作しているため、(他のアプリの)許可がなければ他のアプリのデータにはアクセスできない。また、root 権限で動作しているものは駆除できない。そういったものに感染してからアンチウィルスをインストールしても無力。

OS にアンチウィルス用の API を提供してもらうとか、端末ベンダーが最初からアンチウィルスを組み込むようなことをしなければ根本的な対策にはならない。

  • Android アプリの実際 (はるぷさん)

Android には USB デバッグという機能があり、通常はデバッグのための機能だが、アプリの解析にも使える。
設定で有効にすると、USB 接続時にデバッグモードになる。こうなると、SD メモリカードに保存された写真や電話帳のバックアップ、インストールされたアプリなどが抽出できるようになる。
画面キャプチャのために有効にしている人もいるが、大変危険。デバッグするとき以外は無効にしておくこと。

Android アプリは Java ベースなので解析されやすい。ツールを使えば簡単に逆コンパイルできてしまうため、秘匿したい情報はサーバに置くなど、設計時からセキュリティを考慮する必要がある。コードを難読化するツールもあるが、万能ではない。

既存のアプリを改竄してマルウェアを作ることもできる。有料のアプリの海賊版などはそのようなものもあり、危険。

結論。アプリのソースコードを守るのは難しい。秘匿したい情報や処理は端末上に置かないようにする。これは設計段階から取り組まないと難しい。
また、ユーザにアプリの配布場所を周知し、海賊版の被害に遭わないようにしていく必要がある。

  • iOS の審査 (Tworks さん)

Android マーケットには審査がない。キャリアのマーケットには審査がある。

iOS には審査がある。以前はガイドラインなどは公開されていなかったが、現在は 21 項目から成るガイドラインが公開されている。審査により、バグがあるアプリ、悪意をもつアプリを事前に除外できる。また、類似するアプリケーション、無意味なアプリケーションを除外できる。→審査には一定の意義がある

  • 懇親会

まさかここで自己紹介がまわってくるとは!

えーと、The POPFile Core Team のいいむらです。

  • まとめ

Androidマルウェアについて、「あんなことも、こんなこともできてしまう!」というような報道があるが、実際にそのような危険な状態というわけではない。
アプリが自動的にインストールされることはない。
大事なのは、安全なマーケットからアプリを入手すること。Web とか、審査のないマーケットとかから入手するのはとても危険。
Android のアンチウィルスは効果がないわけではないが、感染してからでは意味がない。インストール前の保険としては意味があるが、上記のとおり安全なマーケットを使っていれば大丈夫。
アプリ開発者は情報収集モジュールの動きを理解し、何のために、どんな情報を、どこに対して提供するか、などの情報をユーザに開示し、パーミッションを求めていく必要がある。

今回の勉強会はオフレコ話も多く、質疑応答では意外な展開もあったりして、非常におもしろかった。勉強会の参加者層、ぶ厚すぎる。

最後に、講師の皆様、スタッフの皆様、また参加者の皆様、すばらしい勉強会をありがとうございました。