SlideShare une entreprise Scribd logo
1  sur  48
Japan Linux Symposium 2009 2009.10.23 Daisuke Numaguchi Tetsuo Handa  Giuseppe La Tona NTT DATA CORPORATION
[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
TOMOYO overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
MAC(Mandatory Access Control) ,[object Object],[object Object],[object Object],[object Object],2009/10/23 Copyright (C) 2009 NTT Data Corporation
How to use TOMOYO? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Android overview Copyright (C) 2009 NTT Data Corporation 2009/10/23
Android Kernel ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Dalvik and Zygote ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Dalvik and Zygote ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23 fork() application zygote Dalvik VM
Android boot sequence adbd vold  (mount) rild  (radio) debuggerd installd … Binder Copyright (C) 2009 NTT Data Corporation 2009/10/23 systemserver service manager service manager System Services Dalvik VM fork() Dalvik VM Dalvik VM Dalvik VM GUI service manager service manager Applications Home Runtime Kernel init init Daemons init init init Native Servers servicemanager registration mediaserver zygote exec() fork() Dalvik specialization
Android security model (1/2) ,[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23 Dalvik VM Application 1 Zygote Dalvik VM Application 2 Dalvik VM Application 3 Dalvik VM Application 4
Android security model (2/2) ,[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
TOMOYO Linux versions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Android kernel ,[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Android kernel ,[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Android kernel ,[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Porting TOMOYO to Android ,[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Patching Android Kernel  ,[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation  2009/10/23 Kernel TOMOYO Linux
Adapting ccstools ,[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Modifying Android boot (1/2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Modifying Android boot (2/2) ,[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation ,[object Object],[object Object],2009/10/23
Creating policy ,[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
TOMOYO on Android overview Copyright (C) 2009 NTT Data Corporation 2009/10/23
TOMOYO on Android overview Copyright (C) 2009 NTT Data Corporation TOMOYO tools TOMOYO patch 2009/10/23
EDITING POLICY (VIA AGENT) Copyright (C) 2009 NTT Data Corporation 2009/10/23
Copyright (C) 2009 NTT Data Corporation Android emulator (Goldfish) TOMOYO Linux (kernel patch) Android runtime Application framework TOMOYO Agent ccs-editpolicy-agent  app Ubuntu 8.04 app app app Libraries Policy editor ccs-editpolicy TCP/IP 2009/10/23
Copyright (C) 2009 NTT Data Corporation 2009/10/23
Profile number Copyright (C) 2009 NTT Data Corporation 2009/10/23
Copyright (C) 2009 NTT Data Corporation Profile 0 for disabled, 1 for learning,    2 for permissive, 3 for enforcing  2009/10/23
Profile number Copyright (C) 2009 NTT Data Corporation 2009/10/23
service zygote  /system/bin/app_process  -Xzygote /system/bin --zygote --start-system-server Copyright (C) 2009 NTT Data Corporation 2009/10/23 init init Daemons servicemanager mediaserver zygote
Problem with splitting domains ,[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23 Adapting ccstools service manager service manager Applications System Server
Problem with splitting domains ,[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23 Adapting ccstools service manager service manager Applications System Server zygote Dalvik VM Dalvik VM Dalvik VM fork()
Problem with splitting domains ,[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Problem with splitting domains <kernel>  /init  /system/bin/app_process Copyright (C) 2009 NTT Data Corporation 2009/10/23
TOMOYO’s MAC and Android DAC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
TOMOYO’s MAC and Android DAC ,[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
An example ,[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Solution ,[object Object],[object Object],In this way only   the process with UID in HTTP_USERS group will be able to connect Copyright (C) 2009 NTT Data Corporation 2009/10/23
Solution ,[object Object],In this way  only  browser will be able to connect Copyright (C) 2009 NTT Data Corporation 2009/10/23 UID=10012
DEMO: Make policy for Web browser ,[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Saving access logs ,[object Object],Copyright (C) 2009 NTT Data Corporation /usr/sbin/ccs-auditd  /tmp/grant_log  /tmp/reject_log  127.0.0.1:10000 2009/10/23 #2009-10-19 10:07:15# profile=1 mode=learning (global-pid=36) task={ pid=36 ppid=1 uid=0 gid=0 euid=0 egid=0 suid=0 sgid=0 fsuid=0 fsgid=0 state[0]=0 state[1]=0 state[2]=0 type!=execute_handler } path1={ uid=0 gid=2000 ino=537 major=31 minor=0 perm=0755 type=file } path1.parent={ uid=0 gid=2000 ino=468 perm=0755 } exec={ realpath=&quot;/system/bin/app_process&quot; argc=5 envc=10 argv[]={ &quot;/system/bin/app_process&quot; &quot;-Xzygote&quot; &quot;/system/bin&quot; &quot;--zygote&quot; &quot;--start-system-server&quot; } envp[]={ &quot;PATH=/sbin:/system/sbin:/system/bin:/system/xbin&quot; &quot;LD_LIBRARY_PATH=/system/lib&quot; &quot;ANDROID_BOOTLOGO=1&quot; &quot;ANDROID_ROOT=/system&quot; &quot;ANDROID_ASSETS=/system/app&quot; &quot;ANDROID_DATA=/data&quot; &quot;EXTERNAL_STORAGE=/sdcard&quot; &quot;BOOTCLASSPATH=/system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar&quot; &quot;ANDROID_PROPERTY_WORKSPACE=9,32768&quot; &quot;ANDROID_SOCKET_zygote=10&quot; } } <kernel> /init allow_execute /system/bin/app_process ,[object Object]
Policy error handler ,[object Object],Copyright (C) 2009 NTT Data Corporation Access request Permitted by policy? Permitted by handler? YES Access granted Access rejected YES NO NO 2009/10/23
Conclusions ,[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Thank you for your attention Copyright (C) 2009 NTT Data Corporation Daisuke Numaguchi  <numaguchid@nttdata.co.jp> Tetsuo Handa  <penguin-kernel@i-love.sakura.ne.jp> Giuseppe La Tona  <giuseppelatona@gmail.com> 2009/10/23
Information ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23
Copyrights ,[object Object],[object Object],[object Object],[object Object],Copyright (C) 2009 NTT Data Corporation 2009/10/23

Contenu connexe

Tendances

Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded DevicesQi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded DevicesNational Cheng Kung University
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience National Cheng Kung University
 
Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Tetsuyuki Kobayashi
 
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveAndroid graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveBin Chen
 
Android crash debugging
Android crash debuggingAndroid crash debugging
Android crash debuggingAshish Agrawal
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsLinaro
 

Tendances (20)

Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded DevicesQi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
Build Programming Language Runtime with LLVM
Build Programming Language Runtime with LLVMBuild Programming Language Runtime with LLVM
Build Programming Language Runtime with LLVM
 
Applied Computer Science Concepts in Android
Applied Computer Science Concepts in AndroidApplied Computer Science Concepts in Android
Applied Computer Science Concepts in Android
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Learn C Programming Language by Using GDB
Learn C Programming Language by Using GDBLearn C Programming Language by Using GDB
Learn C Programming Language by Using GDB
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience
 
Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'
 
Low Level View of Android System Architecture
Low Level View of Android System ArchitectureLow Level View of Android System Architecture
Low Level View of Android System Architecture
 
Discover System Facilities inside Your Android Phone
Discover System Facilities inside Your Android Phone Discover System Facilities inside Your Android Phone
Discover System Facilities inside Your Android Phone
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveAndroid graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
 
Jnode
JnodeJnode
Jnode
 
Understanding the Dalvik Virtual Machine
Understanding the Dalvik Virtual MachineUnderstanding the Dalvik Virtual Machine
Understanding the Dalvik Virtual Machine
 
Android crash debugging
Android crash debuggingAndroid crash debugging
Android crash debugging
 
ARM and SoC Traning Part I -- Overview
ARM and SoC Traning Part I -- OverviewARM and SoC Traning Part I -- Overview
ARM and SoC Traning Part I -- Overview
 
Implement Checkpointing for Android
Implement Checkpointing for AndroidImplement Checkpointing for Android
Implement Checkpointing for Android
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Android Custom Kernel/ROM design
Android Custom Kernel/ROM designAndroid Custom Kernel/ROM design
Android Custom Kernel/ROM design
 

Similaire à Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)

Symbian OS - Platform Security
Symbian OS - Platform SecuritySymbian OS - Platform Security
Symbian OS - Platform SecurityAndreas Jakl
 
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...VirtualTech Japan Inc.
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 
Hack In Paris 2011 - Practical Sandboxing
Hack In Paris 2011 - Practical SandboxingHack In Paris 2011 - Practical Sandboxing
Hack In Paris 2011 - Practical SandboxingTom Keetch
 
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure SystemsUsing Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure SystemsYoshitake Kobayashi
 
An Essential Relationship between Real-time and Resource Partitioning
An Essential Relationship between Real-time and Resource PartitioningAn Essential Relationship between Real-time and Resource Partitioning
An Essential Relationship between Real-time and Resource PartitioningYoshitake Kobayashi
 
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Julien Vermillard
 
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems ToolboxEclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems ToolboxBrett Hackleman
 
thcon23_The_Android_Security_Model.pdf
thcon23_The_Android_Security_Model.pdfthcon23_The_Android_Security_Model.pdf
thcon23_The_Android_Security_Model.pdfAvulaVenkatesh3
 
Wonho Park_20151209
Wonho Park_20151209Wonho Park_20151209
Wonho Park_20151209Wonho Park
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...The Linux Foundation
 
Resume-LIN-en-2014
Resume-LIN-en-2014Resume-LIN-en-2014
Resume-LIN-en-2014lin xianjin
 
Resume-LIN-en-2014
Resume-LIN-en-2014Resume-LIN-en-2014
Resume-LIN-en-2014lin xianjin
 
Container based android
Container based androidContainer based android
Container based androidLihan Chen
 
Java ME - 01 - Overview
Java ME - 01 - OverviewJava ME - 01 - Overview
Java ME - 01 - OverviewAndreas Jakl
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...François Le Droff
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialBenjamin Cabé
 
Android ak
Android akAndroid ak
Android ak88130359
 

Similaire à Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009) (20)

Deep inside TOMOYO Linux
Deep inside TOMOYO LinuxDeep inside TOMOYO Linux
Deep inside TOMOYO Linux
 
Symbian OS - Platform Security
Symbian OS - Platform SecuritySymbian OS - Platform Security
Symbian OS - Platform Security
 
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
Hack In Paris 2011 - Practical Sandboxing
Hack In Paris 2011 - Practical SandboxingHack In Paris 2011 - Practical Sandboxing
Hack In Paris 2011 - Practical Sandboxing
 
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure SystemsUsing Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
 
An Essential Relationship between Real-time and Resource Partitioning
An Essential Relationship between Real-time and Resource PartitioningAn Essential Relationship between Real-time and Resource Partitioning
An Essential Relationship between Real-time and Resource Partitioning
 
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
 
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems ToolboxEclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
 
thcon23_The_Android_Security_Model.pdf
thcon23_The_Android_Security_Model.pdfthcon23_The_Android_Security_Model.pdf
thcon23_The_Android_Security_Model.pdf
 
Eclipse RT Day
Eclipse RT DayEclipse RT Day
Eclipse RT Day
 
Wonho Park_20151209
Wonho Park_20151209Wonho Park_20151209
Wonho Park_20151209
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
 
Resume-LIN-en-2014
Resume-LIN-en-2014Resume-LIN-en-2014
Resume-LIN-en-2014
 
Resume-LIN-en-2014
Resume-LIN-en-2014Resume-LIN-en-2014
Resume-LIN-en-2014
 
Container based android
Container based androidContainer based android
Container based android
 
Java ME - 01 - Overview
Java ME - 01 - OverviewJava ME - 01 - Overview
Java ME - 01 - Overview
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
 
Android ak
Android akAndroid ak
Android ak
 

Plus de Toshiharu Harada, Ph.D

Job's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitJob's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitToshiharu Harada, Ph.D
 
’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs saysToshiharu Harada, Ph.D
 
CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御Toshiharu Harada, Ph.D
 
The role of "pathname based access control" in security"
The role of "pathname based access control" in security"The role of "pathname based access control" in security"
The role of "pathname based access control" in security"Toshiharu Harada, Ph.D
 
振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策Toshiharu Harada, Ph.D
 
僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへToshiharu Harada, Ph.D
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」Toshiharu Harada, Ph.D
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」Toshiharu Harada, Ph.D
 
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...Toshiharu Harada, Ph.D
 
プロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムプロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムToshiharu Harada, Ph.D
 
使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指してToshiharu Harada, Ph.D
 

Plus de Toshiharu Harada, Ph.D (20)

20090703 tomoyo thankyou
20090703 tomoyo thankyou20090703 tomoyo thankyou
20090703 tomoyo thankyou
 
Job's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitJob's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation Kit
 
’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says
 
CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御
 
TOMOYO Linuxのご紹介
TOMOYO Linuxのご紹介TOMOYO Linuxのご紹介
TOMOYO Linuxのご紹介
 
LSM Leaks
LSM LeaksLSM Leaks
LSM Leaks
 
The role of "pathname based access control" in security"
The role of "pathname based access control" in security"The role of "pathname based access control" in security"
The role of "pathname based access control" in security"
 
Tomoyo linux introduction
Tomoyo linux introductionTomoyo linux introduction
Tomoyo linux introduction
 
Your First Guide to "secure Linux"
Your First Guide to "secure Linux"Your First Guide to "secure Linux"
Your First Guide to "secure Linux"
 
振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策
 
僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ
 
Why TOMOYO Linux?
Why TOMOYO Linux?Why TOMOYO Linux?
Why TOMOYO Linux?
 
ComSys2009
ComSys2009ComSys2009
ComSys2009
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
 
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
 
プロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムプロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システム
 
TOMOYO Linux
TOMOYO LinuxTOMOYO Linux
TOMOYO Linux
 
使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して
 
TOMOYO Linuxへの道
TOMOYO Linuxへの道TOMOYO Linuxへの道
TOMOYO Linuxへの道
 

Dernier

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Dernier (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)

  • 1. Japan Linux Symposium 2009 2009.10.23 Daisuke Numaguchi Tetsuo Handa Giuseppe La Tona NTT DATA CORPORATION
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Android overview Copyright (C) 2009 NTT Data Corporation 2009/10/23
  • 7.
  • 8.
  • 9.
  • 10. Android boot sequence adbd vold (mount) rild (radio) debuggerd installd … Binder Copyright (C) 2009 NTT Data Corporation 2009/10/23 systemserver service manager service manager System Services Dalvik VM fork() Dalvik VM Dalvik VM Dalvik VM GUI service manager service manager Applications Home Runtime Kernel init init Daemons init init init Native Servers servicemanager registration mediaserver zygote exec() fork() Dalvik specialization
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. TOMOYO on Android overview Copyright (C) 2009 NTT Data Corporation 2009/10/23
  • 25. TOMOYO on Android overview Copyright (C) 2009 NTT Data Corporation TOMOYO tools TOMOYO patch 2009/10/23
  • 26. EDITING POLICY (VIA AGENT) Copyright (C) 2009 NTT Data Corporation 2009/10/23
  • 27. Copyright (C) 2009 NTT Data Corporation Android emulator (Goldfish) TOMOYO Linux (kernel patch) Android runtime Application framework TOMOYO Agent ccs-editpolicy-agent app Ubuntu 8.04 app app app Libraries Policy editor ccs-editpolicy TCP/IP 2009/10/23
  • 28. Copyright (C) 2009 NTT Data Corporation 2009/10/23
  • 29. Profile number Copyright (C) 2009 NTT Data Corporation 2009/10/23
  • 30. Copyright (C) 2009 NTT Data Corporation Profile 0 for disabled, 1 for learning, 2 for permissive, 3 for enforcing 2009/10/23
  • 31. Profile number Copyright (C) 2009 NTT Data Corporation 2009/10/23
  • 32. service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server Copyright (C) 2009 NTT Data Corporation 2009/10/23 init init Daemons servicemanager mediaserver zygote
  • 33.
  • 34.
  • 35.
  • 36. Problem with splitting domains <kernel> /init /system/bin/app_process Copyright (C) 2009 NTT Data Corporation 2009/10/23
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46. Thank you for your attention Copyright (C) 2009 NTT Data Corporation Daisuke Numaguchi <numaguchid@nttdata.co.jp> Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> Giuseppe La Tona <giuseppelatona@gmail.com> 2009/10/23
  • 47.
  • 48.

Notes de l'éditeur

  1. May I begin now? Thank you for such an opportunity to talk about tomoyo I am not fluent in English but I will give it a try. My name is Daisuke Numaguchi. I&apos;m working in secure os group in NTTdata corporation. I&apos;ve been employed here for 5 years. I&apos;m conducting tomoyo linux promotional activities.
  2. 最初に tomoyo と Android がどのようなものか紹介をしておきます。
  3. TOMOYO Linux is a lightweight MAC implementation for Linux and Embedded Linux developed by NTT Data Corporation. It performs pathname-based MAC ( Mandatory Access Control ) , separating security domains according to process invocation history, which describes the system behavior. tomoyo は2つのものから成り立っている。 1つめはカーネルのパッチで、 tomoyo のためのパッチを追加するものです。 2つめは tomoyo のポリシーと呼ばれるアクセスコントロール設定を マネージメントするためのユーティリティです。
  4. ここで強制アクセス制御について簡単に触れておきます。 強制アクセス制御は、ポリシーにしたがって access を制限するものです。 管理者であっても、例外なく制御をおこなうものです。 Linux の場合は、 SELinux, Smack, tomoyo ・・・などいくつか種類があります。
  5. それでは tomoyo がどのようなところで活用できるかを少し紹介します。 まず「プロテクト」、 MAC ツールとしてのふつうの使い方です。 次に、 TOMOYO Linux has a special mode called &amp;quot;learning&amp;quot; mode. In learning mode, TOMOYO Linux analyzes the accesses occured in the kernel and stores them as MAC policy. 「学習」、 tomoyo はパス名のアクセス制御をしているので、 ポリシーを見ることで、自分が作ったアプリケーションが どのような振る舞いをするのか 簡単に知ることができます。 学習だけで使うことも可能ですが、アプリケーションのデバッグにも使うことができます。
  6. Android はプロンプトモデル (prompting model) を採用している。 このプロンプトモデルは、ユーザにファイルを実行してもよいか、尋ねるタイプのモデルです。 Android は各アプリケーションが ( システム内の各部分も同様に ) 固有のプロセスで実行する、 マルチプロセスシステムです。アプリケーションとシステムの間のセキュリティは、 標準的な Linux と同様にしてアプリケーションに割り当てられたユーザ・グループ ID 制御により、 プロセスレベルで確保されます。
  7. ここからは Android へ tomoyo の適用についてお話していきます
  8. Android で tomoyo が起動するように Android を設定していきます。
  9. Android に適用したイメージです。 Tomoyo はカーネル上で動作し、 Android 上で MAC を使えるようになります。
  10. 今日、皆さんに見てもらうデモの環境です。 Android の tomoyo は、ネットワークを使って設定を変更するようにしています。 Android の tomoyo エージェントとホスト側の editpolicy プログラムが通信することになります。 Android に限らず、リモート管理機能は便利だと思います。
  11. Editpolicy プログラムは tomoyo のポリシーを管理するツールです。
  12. Tomoyo ではドメインと呼ばれるプログラム単位でポリシーを管理しています。 Tomoyo ではこのドメインポリシーを適切に設定することが重要になります。 これをみることで、プログラムの呼び出し順序を見ていくことができます。 例えば /system/bin/app_process は、 &lt;kernel&gt; /init の順番で呼び出されていることがわかります。 &lt;kernel&gt; は、ツリーの起点を表しています。 この部分は、プロファイル番号です。 TOMOYO manages the policy by a program unit to be called a domain in Tomoyo. It becomes important that I set domain policy corectly in Tomoyo. For example, I understand that /system/bin/app_process is called by kernel /init. &lt;kernel&gt;is starting point of a domain tree. The second column is a profile number.
  13. Profile defines tomoyo’s operation mode.
  14. ドメインをプロセスの親子関係で表示しています。 /init プログラムから sh (シェル)や servicemanager というプログラムが呼び出されていることがわかります。