e-ZUKA Tech Night vol.16

今回は、e-ZUKAスマートフォンアプリコンテスト2013 とのコラボ開催です! スマートフォンアプリ応用講座と題して、4名のスピーカーに、実際のスマートフォンアプリ開発の裏側を余すところ無くお話いただきました。
0
eZukaTechNight @eZukaTechNight

AndroidとIOSのセキュリティアーキテクチャ。Andoirdは各アプリはサンドボックス化で動作する。アプリごとにユーザIDが振られ個別のVM上で動作。iOSはアプリ固有のディレクトリが作らサンドボックス下で動作。#ezuka_tech_night

2013-09-27 20:56:09
eZukaTechNight @eZukaTechNight

3つの脅威分類。悪意あるユーザからの脅威。第三者からの脅威。プライバシー問題。#ezuka_tech_night

2013-09-27 20:56:52
eZukaTechNight @eZukaTechNight

悪意あるユーザの主な攻撃手段=パケット改竄、ローカルファイル操作、root化。#ezuka_tech_night

2013-09-27 20:58:03
eZukaTechNight @eZukaTechNight

パケット改竄対策=クライアントからのリクエストは基本的に信頼しない。重要な情報はクライアントで管理せず必ずサーバ側で管理する。再送信されて困る処理はワンタイム処理にする。#ezuka_tech_night

2013-09-27 21:02:45
eZukaTechNight @eZukaTechNight

ローカルファイルの改竄対策=設定ファイルを読み込む際に改竄チェック、暗号化等で改善しにくくする。#ezuka_tech_night

2013-09-27 21:03:57
eZukaTechNight @eZukaTechNight

root化対策=root化は制限することはできない。root化してる端末による解析を防ぐことはできない。解析されて困るような問題が発生する設計をしない。#ezuka_tech_night

2013-09-27 21:05:25
eZukaTechNight @eZukaTechNight

第三者からの脅威=自分が被害者となる。検出されやすいもの=証明書検証不備(中間者攻撃を受ける)開発時はオレオレ証明書などでチェックしないままリリースしてしまうことも…#ezuka_tech_night

2013-09-27 21:08:03
eZukaTechNight @eZukaTechNight

SSL通信時の留意点=証明書関連の独自処理を行わず、証明書エラーを安易にスキップしない。#ezuka_tech_night

2013-09-27 21:08:41
eZukaTechNight @eZukaTechNight

Androidの留意点=コンポーネントの公開設定の不備。安易に公開設定しない。重要情報の呼び出しには必ず明示的なIntentを使用する。むやみに暗黙的Intentを使用しない。#ezuka_tech_night

2013-09-27 21:09:41
eZukaTechNight @eZukaTechNight

インターネット上のページを読み込む場合は、コンテンツを限定する。(管理ドメイン以外のコンテンツは読み込まないなど)#ezuka_tech_night

2013-09-27 21:19:34
eZukaTechNight @eZukaTechNight

プライバシー問題。プライバシー情報=私生活に関する情報、一般に知られてない情報、一般人なら公開しほしくない情報。#ezuka_tech_night

2013-09-27 21:20:25
eZukaTechNight @eZukaTechNight

プライバシー情報を取得し利用すること自体は問題でなく、ユーザの同意がないまま行動履歴を収集している場合が問題。#ezuka_tech_night

2013-09-27 21:21:13
eZukaTechNight @eZukaTechNight

話題として多いのがIMEI。ターゲッティング目的ではなかったが明示的に同意を得ていない状態でIMEIを取得していた事例。IMEIが手っ取り早いので使われることが多かった。#ezuka_tech_night

2013-09-27 21:22:17
eZukaTechNight @eZukaTechNight

IMEI等を安易に取得しない。やむを得ない場合はは利用規約やマニュアルで分かりやすく説明する。#ezuka_tech_night

2013-09-27 21:23:31
eZukaTechNight @eZukaTechNight

チェックポイント。通信は改竄の可能性があることを考慮する。アプリ内の情報は取得されることを前提に開発する。デバッグ時のコードをリリース時に残さない。コンポ−年tのの公開は最低限に。プライバシー情報の取得が必要なら事前に分かりやすく説明を。#ezuka_tech_night

2013-09-27 21:24:44
eZukaTechNight @eZukaTechNight

続いてはLT。最初は飯塚市の仁田さんから「e-ZUKAスマートフォンアプリコンテストについて」#ezuka_tech_night

2013-09-27 21:26:26
eZukaTechNight @eZukaTechNight

続いてはお馴染み山崎先生のLT「mrubyボードenzi(のプロトタイプ)を使ってみたらめちゃくちゃ面白かった!」#ezuka_tech_night

2013-09-27 21:34:51
eZukaTechNight @eZukaTechNight

mruby=組み込みデバイス用Ruby。最初は面倒だったけど、すごく面白くてはまってしまった。#ezuka_tech_night

2013-09-27 21:37:24
eZukaTechNight @eZukaTechNight

OSのオーバヘッドなしに正確に動く。(beagleBone/RasberryPiよりずっと快適)ネットワークに簡単に繋がる(Arduinoではそうはいかない)#ezuka_tech_night

2013-09-27 21:38:15
eZukaTechNight @eZukaTechNight

正確な時間起動(イベントマシンもどき)作ってみたり。#ezuka_tech_night

2013-09-27 21:39:25
eZukaTechNight @eZukaTechNight

Fiberが使える!オブジェクトの再利用が可能=GC頻度が減り、軽量な並行処理が可能。RubyだからDSLがすぐ作れる。メイカーになれるイメージが湧くよね〜! #ezuka_tech_night

2013-09-27 21:40:39
eZukaTechNight @eZukaTechNight

以上で一通りプログラム終了!次回は10/24にvol 17を開催します!次回は山崎先生ウィークでmrubyをフィーチャーしてやります!#ezuka_tech_night

2013-09-27 21:44:01