TIZEN Security
Hacking the New Mobile OS
Mark Manning
• Sr. Security Consultant with Intrepidus Group
• Mobile:
– Android
– Windows Phone
– Brew
– iOS
– Blackberry
• BSidesROC, Rochester 2600, Interlock Rochester
1/17/2017 Intrepidus Group - Confidential 2
Jason Ross
• Sr. Security Consultant
with Intrepidus Group
– Android
– Web apps
– Network
• Extra Curricular
– TOOOL.ROC, DC585, BSidesROC
– Security BSides*, Dragon Research Group
1/17/2017 Intrepidus Group - Confidential
What we are going to tell you
What Tizen is &
Where it might be going
The Tizen security model
How to perform Tizen security assessments
Predictions for the future
1/17/2017 Intrepidus Group - Confidential
Tizen (/ˈtaɪzɛn/) is…
• An open source mobile operating system
– Started life as Samsung SLP (then Bada), & Intel MeeGo
– Governed by Linux Foundation
• Organized by a board of directors
– The Tizen Association
• Supported by large companies
– Intel, Samsung, Fujitsu
• Based on W3C standards for its applications
– HTML5 APIs
– Touch Events
– Web Storage
– WARP
Tizen wants to…
• Be the ubiquitous solution for “smart” consumer
devices
• Release a high end device this year
• Grab a 15% market share of smartphones
• Replace Android as the most versatile operating system
• Be installed on:
– Smart TV’s
– Cars
– Smart Phones
– Tablets
– Anything that is designed for high end user experience
1/17/2017 Intrepidus Group - Confidential
Tizen Family Tree
1/17/2017 Intrepidus Group - Confidential
Tizen History
• February 2010
– Nokia and Intel announce MeeGo
– Nokia drops out of MeeGo in favor of Windows Phone
• September 2011
– Intel suspends MeeGo & announces Tizen as its replacement
• January 2012
– Tizen source code and SDK released
• May 2013
– Tizen 2.1 released
• July 2013
– Tizen 2.2 released
• August 2013
– Tizen IVI 3.0 beta released
1/17/2017 Intrepidus Group - Confidential
Vapor Hardware
1/17/2017 Intrepidus Group - Confidential 9
Quick Comparison
Android iOS
Firefox
OS
Ubuntu Tizen
Web App
Support
None None Yes Yes Yes
Native App
Support
Yes Yes No Yes Yes
Primary
Application
Isolation
Mechanism
Linux UIDs
XNU /
Seatbelt
B2G /
Gecko
D-BUS /
App Armor
SMACK
labels
IDE Eclipse Xcode Good luck!
Ubuntu
SDK
Eclipse
Application
Signing
Model
Developer Distributor Distributor Developer
Distributor &
Developer
1/17/2017 Intrepidus Group - Confidential
Technical Steering Group
• In charge of development and working with
OEMs (and advocacy)
• Consists of Samsung, Intel and now Huawei
• Coordinates development of the operating system
1/17/2017 Intrepidus Group - Confidential
Tizen Association
• Always represented by 12 companies
• Always changing
• Current members:
1/17/2017 Intrepidus Group - Confidential
HTML5 Scores
1/17/2017 Intrepidus Group - Confidential
APPLICATIONS
Tizen Application Stack
1/17/2017 Intrepidus Group - Confidential
Types of Apps
• Web Applications:
– Written in HTML5
– JavaScript makes calls to Privileged APIs
– Supports libraries like jQuery Mobile
– Can be either “Packaged Web Apps” or “Hosted Web Apps”
• Native Applications
– C / C++
– Native APIs unrelated to web app APIs
– Focused on gaming
• Hybrid Applications
– Little bit of both
1/17/2017 Intrepidus Group - Confidential
WebRT
• WebRT is to Tizen what DalvikVM is to Android
• Execution of web applications
• Each application runs its own instance
• Access to device resources via JavaScript API
• Access control of web applications
1/17/2017 Intrepidus Group - Confidential
The Widget Stack
1/17/2017 Intrepidus Group - Confidential
Luckily Webkit is universally secure…
1/17/2017 Intrepidus Group - Confidential
WGT
• Web applications or widgets
• W3C standard way of packaging an HTML5 application
• Zip archive with .wgt extension
1/17/2017 Intrepidus Group - Confidential
Application Signing
• Each application is signed with 2 signatures
– W3C Recommended way of handling widget signing
– As opposed to Android’s one
• Author signature
– The author of the application used to verify who created the app
• Distributer signature
– from the publisher, or app store verifying where the application was
distributed from
1/17/2017 Intrepidus Group - Confidential 21
Privileged Device APIs
• Public:
– Any developer can access
– Example: Filesystem – access a location on the device
• Partner:
– Only those developers that have been verified and approved can access it.
– Partners are given a special Partner CA to sign their applications
– Example: ApplicationManager – manage application certificates
• Platform
– Reserved to OEMs and Tizen implementers
– System level access to a device
– Example: BluetoothAdapter
1/17/2017 Intrepidus Group - Confidential 22
config.xml File
• Similar to a manifest
• Declare Features: device capabilities
• Declare Privileges: API access required by the app
• Set policy: lets you set a “content security policy” for the application
– White list the sites it should be connecting to
– Based on W3C’s WARP
1/17/2017 Intrepidus Group - Confidential
config.xml Example
1/17/2017 Intrepidus Group - Confidential
Install Directory == Package Name
1/17/2017 Intrepidus Group - Confidential
Installation Directory Structure
bin
APPID.AppName
res
wgt
shared
data
res
trusted
tmp
tmp
1/17/2017 Intrepidus Group - Confidential
1/17/2017 Intrepidus Group - Confidential
Encryption Support
• Web apps support encryption of Javascript,
HTML, CSS, etc
• Install-time encryption only
• Key configuration is located in /usr/share/secure-storage/config
– Usually points to /csa/.seckey
• Magic(key, wgt) = encryption
1/17/2017 Intrepidus Group - Confidential
SMACK
SMACK - Introduction
• Linux Kernel Module
• Basis of the Tizen security sandbox model
• “Labels” are the metaphor
– similar to how Android uses UIDs
• Tizen 2.1 has 41,000 SMACK rules
– Tizen 3 is looking to reduce these
1/17/2017 Intrepidus Group - Confidential
Smack - Control Mechanisms
• File control
– Extended attributes (xattrs) give filesystem objects a label
– The label corresponds to a SMACK rule
• IPC traffic
• Network traffic
– A CIPSO header is attached to each network packet
• Processes
– Can read /proc/self/attr/current to discover what SMACK labels they are running under
1/17/2017 Intrepidus Group - Confidential
SMACK - Definitions
• Subject
• Object
• Access
• Label
1/17/2017 Intrepidus Group - Confidential
SMACK - Access Rule Format
<subject-label> <object-label> <access-rule>
1/17/2017 Intrepidus Group - Confidential
SMACK - Access Rule Examples
1/17/2017 Intrepidus Group - Confidential
contacts-service _ arwxt
com.Intrepidus.pwn * arwx-
org.tizen.setting miracast-server rwx--
/opt/usr/apps/3FRIz5CoAw.Test = testApp
/tmp/file.txt = myFile
testApp myFile r
SMACK – Access Request Process
1/17/2017 Intrepidus Group - Confidential
/DEV/RANDOM
Content Security Framework
• McAfee contributed solution to a problem
first noticed in Android
– How does an app get access to the system to perform effective
scans?
• Provides API for anti-virus vendors
– Low-level hooks into the system to bypass usual application
restrictions
1/17/2017 Intrepidus Group - Confidential
Tizen Push Service
• Functionally similar to
GCM on Android
• Messages limited to text
data of 1024 bytes
1/17/2017 Intrepidus Group - Confidential
ASLR
• “Fully implemented" in the Linux Kernel but some additional
security measures are not currently implemented
1/17/2017 Intrepidus Group - Confidential
Securiy protection Purpose
fstack-protector-all adds canary based buffer overflow
checks on the stack and shuts down if
it's corrupt
D_FORTIFY_SOURCE=2 replaces unbouncd string function calls
with bounded ones. Done where GCC
can determine the buffer size.
fpic, fpie position independent code for libraries
(fpic) and executables (fpie). Protects
against return to libc attacks
NX Bit No Execute bit
Weirdness
• Zypper is on the device
• Install all the things!
• OpenSSH: Running by default
on the device
• Root login is permitted
1/17/2017 Intrepidus Group - Confidential
PERFORMING ASSESSMENTS
Attackers we are emulating
• A malicious application
on the device
• A remote attacker that
has hijacked another
application’s backend
• Lost or stolen devices
1/17/2017 Intrepidus Group - Confidential
Props to Katy Levinson/HackerDojo for this image
Attack Vectors
• Malicious application store / third party store
– Helped out by the distributor signing model
• SMishing, phishing to install an application
• “Drive by” content (malicious ad networks)
– Helped by defining WARP access tags or setting the
content-security-policy correctly
1/17/2017 Intrepidus Group - Confidential
Tools
• Tizen SDK – Eclipse IDE
• Web simulator
• Tizen Device Emulator
• SDB
1/17/2017 Intrepidus Group - Confidential
Tools - Tizen SDK IDE
• Eclipse
based
• Comes with the
Tizen device
emulator
• And the web
simulator
1/17/2017 Intrepidus Group - Confidential
Tools - Web Simulator
• Lets you run a
WGT inside of
Google Chrome
• App assessment tool
1/17/2017 Intrepidus Group - Confidential
Tools - Web Simulator Controls
• Allows you to manipulate the web
simulator environment
• Contains functions to simulate
device events
• Incoming calls / messages
• Push messages
• Orientation change
• GeoLocation
1/17/2017 Intrepidus Group - Confidential
Tools - Device Emulator
• Very similar to Android
Emulator
• Create virtual devices and run
them
• Devices are qemu VMs,
– qcow format disk images
1/17/2017 Intrepidus Group - Confidential
Tools - Device Emulator Configuration
• Change skin
• Phone
• General Purpose
• Configure RAM
• Control hardware
acceleration
1/17/2017 Intrepidus Group - Confidential
Tools - SDB
• Smart
Development
Bridge
• AKA:
“It’s not ADB, we swear”
1/17/2017 Intrepidus Group - Confidential
Definitely not ADB…
1/17/2017 Intrepidus Group - Confidential
Using SDB + WRT to install apps
1/17/2017 Intrepidus Group - Confidential
Assessment Methodology
• Static Analysis
• File System Analysis
• Dynamic Analysis
• Network Analysis
1/17/2017 Intrepidus Group - Confidential
Static Analysis
• Improper permission requests
– Overprivileged applications are a greater threat
• Unprotected shared content
– SQLite databases
– Temporary files with 777 access
• Encryption used
– Custom encryption or built-in APIs?
– Static keys saved in the application
• Cross origin access restrictions
– Which domains are restricted
1/17/2017 Intrepidus Group - Confidential
File System Analysis
• Storing information on the SDCARD
• Unrestrictive file permissions
• Temporary files with 777 permissions
1/17/2017 Intrepidus Group - Confidential
Dynamic Analysis
• Sensitive file storage
• Overly permissive content sharing
– Inter-application messaging
– Shared SQLite database
– Sensitive temp files
1/17/2017 Intrepidus Group - Confidential
Network Analysis
• XSS means a privilege leakage
– Similar to an Android permission hijack but with JavaScript
• Cross origin attacks
– Can we evade the network restrictions
• SQLi (client side and server)
– Parameterized queries are not used
• Handling untrusted server input
– Testing both the web server and the web client in this model
• Secure data transport
– SSL used throughout
1/17/2017 Intrepidus Group - Confidential
Network MiTM Setup
• Set up a proxy in the WiFi Settings
• IPTables configuration
• Add CA certificates to the trusted system store
1/17/2017 Intrepidus Group - Confidential
Trusted root certificate store
• Anything in /etc/ssl/certs that’s in PEM format and is named
<8hexChars>.0 is considered a trusted cert
• So…
openssl x509 -in burpCA.der
-inform DER -out burpCA.pem
-outform PEM
sdb push burpCA.pem /tmp/
sdb shell
su
mv /tmp/burpCA.pem /etc/ssl/certs/ffffffff.0
Verification of Certificates
• Use the certificate viewer from
to verify the certificate was
“installed” correctly.
Review
• Applications
– HTML5 / WebRT / Webkit
– Privileged APIs
• SMACK
– Subject / Object / Labels
– 41K rules
• Assessments
– IDE / SDK / Emulator / Simulator
– Network MiTM
1/17/2017 Intrepidus Group - Confidential
Predictions
• A Tizen phone will be released next year &
adoption will be slow
– It will be rooted within the first week
• Smart devices like cars, TV’s, and refrigerators will be pushed by Samsung
• A webkit exploit affecting Tizen will break their security model
– This will cause devastating results to the platform, unlike any other mobile vulnerability
• Tizen will be adopted faster in non-American countries as a low cost, feature rich,
alternative to Android
1/17/2017 Intrepidus Group - Confidential
Questions
1/17/2017 Intrepidus Group - Confidential
Contact
• mark.manning@intrepidusgroup.com
• jason.ross@intrepidusgroup.com
• http://intrepidusgroup.com/insight
1/17/2017 Intrepidus Group - Confidential

More Related Content

PDF
CSW2017 chuanda ding_state of windows application security
PPTX
The How and Why of Container Vulnerability Management
PPTX
Aleksei Dremin - Application Security Pipeline - phdays9
PPTX
Secure application deployment in Apache CloudStack
PPTX
Security in the age of open source - Myths and misperceptions
PDF
Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...
PPTX
Using hypervisor and container technology to increase datacenter security pos...
PDF
Csw2016 chaykin having_funwithsecuremessengers_and_androidwear
CSW2017 chuanda ding_state of windows application security
The How and Why of Container Vulnerability Management
Aleksei Dremin - Application Security Pipeline - phdays9
Secure application deployment in Apache CloudStack
Security in the age of open source - Myths and misperceptions
Learn Ethical Hacking With Kali Linux | Ethical Hacking Tutorial | Kali Linux...
Using hypervisor and container technology to increase datacenter security pos...
Csw2016 chaykin having_funwithsecuremessengers_and_androidwear

What's hot (20)

PPTX
Open Source Insight: Container Tech, Data Centre Security & 2018's Biggest Se...
PPTX
Tizen introduction & architecture
PDF
Top 10 Threats to Cloud Security
PDF
Hacker Games & DevSecOps
PDF
Hacking Tizen: The OS of everything - Whitepaper
PPTX
Open Source Insight: Black Duck Now Part of Synopsys, Tackling Container Secu...
PDF
Secure Application Development in the Age of Continuous Delivery
PPTX
Security in the Age of Open Source
PDF
Parrot Security OS | Introduction to Parrot Security OS | Cybersecurity Train...
PPTX
Web Application Security - DevFest + GDay George Town 2016
PPTX
Secure application deployment in the age of continuous delivery
PPTX
Elizabeth Lawler - Devops, security, and compliance working in unison
PDF
AWS live hack: Docker + Snyk Container on AWS
PDF
Consulthink @ GDG Meets U - L'Aquila2014 - Codelab: Android Security -Il ke...
PDF
Integrating Black Duck into your Agile DevOps Environment
PDF
Webinar–Mobile Application Hardening Protecting Business Critical Apps
PDF
DevSecOps: What Why and How : Blackhat 2019
PDF
Buyer and Seller Perspectives on Open Source in Tech Contracts
PPTX
How can you deliver a secure product
PDF
Myths and Misperceptions of Open Source Security
Open Source Insight: Container Tech, Data Centre Security & 2018's Biggest Se...
Tizen introduction & architecture
Top 10 Threats to Cloud Security
Hacker Games & DevSecOps
Hacking Tizen: The OS of everything - Whitepaper
Open Source Insight: Black Duck Now Part of Synopsys, Tackling Container Secu...
Secure Application Development in the Age of Continuous Delivery
Security in the Age of Open Source
Parrot Security OS | Introduction to Parrot Security OS | Cybersecurity Train...
Web Application Security - DevFest + GDay George Town 2016
Secure application deployment in the age of continuous delivery
Elizabeth Lawler - Devops, security, and compliance working in unison
AWS live hack: Docker + Snyk Container on AWS
Consulthink @ GDG Meets U - L'Aquila2014 - Codelab: Android Security -Il ke...
Integrating Black Duck into your Agile DevOps Environment
Webinar–Mobile Application Hardening Protecting Business Critical Apps
DevSecOps: What Why and How : Blackhat 2019
Buyer and Seller Perspectives on Open Source in Tech Contracts
How can you deliver a secure product
Myths and Misperceptions of Open Source Security
Ad

Similar to Tizen Security (20)

PDF
Monitoring Application Attack Surface to Integrate Security into DevOps Pipel...
PPT
Securely Deploying Android Device - ISSA (Ireland)
PPTX
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
PDF
Elevate Your Application Security Program with Burp Suite and ThreadFix
PDF
Securing Android
PPTX
Securing Container Deployments from Build to Ship to Run - August 2017 - Ranc...
PPTX
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
PPTX
Hacker Halted 2014 - Reverse Engineering the Android OS
PPTX
Hacking Tizen : The OS of Everything - Nullcon Goa 2015
PDF
BSides Leeds - Performing JavaScript Static Analysis
PDF
Synopsys Security Event Israel Presentation: New AppSec Paradigms with Open S...
PDF
CNIT 128 Ch 4: Android
PDF
How to Integrate AppSec Testing into your DevOps Program
PPTX
128-ch4.pptx
PPTX
Open Source & Cybersecurity
PDF
Mr201305 tizen security_eng
PDF
Introduction to Android Development and Security
PPTX
Tizen Operating System
PPTX
ModSecurity 3.0 and NGINX: Getting Started
PDF
Framework for IoT Interoperability
Monitoring Application Attack Surface to Integrate Security into DevOps Pipel...
Securely Deploying Android Device - ISSA (Ireland)
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
Elevate Your Application Security Program with Burp Suite and ThreadFix
Securing Android
Securing Container Deployments from Build to Ship to Run - August 2017 - Ranc...
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Hacker Halted 2014 - Reverse Engineering the Android OS
Hacking Tizen : The OS of Everything - Nullcon Goa 2015
BSides Leeds - Performing JavaScript Static Analysis
Synopsys Security Event Israel Presentation: New AppSec Paradigms with Open S...
CNIT 128 Ch 4: Android
How to Integrate AppSec Testing into your DevOps Program
128-ch4.pptx
Open Source & Cybersecurity
Mr201305 tizen security_eng
Introduction to Android Development and Security
Tizen Operating System
ModSecurity 3.0 and NGINX: Getting Started
Framework for IoT Interoperability
Ad

More from Jason Ross (7)

PPTX
Nodejs Security
PPTX
AC2DM For Security
PPTX
Android malware analysis
PPTX
Alice and Bob are Eff'd
PPTX
WHOIS the Master
PPTX
Malware Analysis For The Enterprise
PDF
Dev opsec killing-the_buzz
Nodejs Security
AC2DM For Security
Android malware analysis
Alice and Bob are Eff'd
WHOIS the Master
Malware Analysis For The Enterprise
Dev opsec killing-the_buzz

Recently uploaded (20)

PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPTX
Internet of Everything -Basic concepts details
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
STKI Israel Market Study 2025 version august
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
Microsoft Excel 365/2024 Beginner's training
sustainability-14-14877-v2.pddhzftheheeeee
OpenACC and Open Hackathons Monthly Highlights July 2025
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
4 layer Arch & Reference Arch of IoT.pdf
giants, standing on the shoulders of - by Daniel Stenberg
A review of recent deep learning applications in wood surface defect identifi...
Internet of Everything -Basic concepts details
Early detection and classification of bone marrow changes in lumbar vertebrae...
NewMind AI Weekly Chronicles – August ’25 Week IV
STKI Israel Market Study 2025 version august
Convolutional neural network based encoder-decoder for efficient real-time ob...
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Enhancing plagiarism detection using data pre-processing and machine learning...
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Module 1 Introduction to Web Programming .pptx
Consumable AI The What, Why & How for Small Teams.pdf
Microsoft Excel 365/2024 Beginner's training

Tizen Security

  • 2. Mark Manning • Sr. Security Consultant with Intrepidus Group • Mobile: – Android – Windows Phone – Brew – iOS – Blackberry • BSidesROC, Rochester 2600, Interlock Rochester 1/17/2017 Intrepidus Group - Confidential 2
  • 3. Jason Ross • Sr. Security Consultant with Intrepidus Group – Android – Web apps – Network • Extra Curricular – TOOOL.ROC, DC585, BSidesROC – Security BSides*, Dragon Research Group 1/17/2017 Intrepidus Group - Confidential
  • 4. What we are going to tell you What Tizen is & Where it might be going The Tizen security model How to perform Tizen security assessments Predictions for the future 1/17/2017 Intrepidus Group - Confidential
  • 5. Tizen (/ˈtaɪzɛn/) is… • An open source mobile operating system – Started life as Samsung SLP (then Bada), & Intel MeeGo – Governed by Linux Foundation • Organized by a board of directors – The Tizen Association • Supported by large companies – Intel, Samsung, Fujitsu • Based on W3C standards for its applications – HTML5 APIs – Touch Events – Web Storage – WARP
  • 6. Tizen wants to… • Be the ubiquitous solution for “smart” consumer devices • Release a high end device this year • Grab a 15% market share of smartphones • Replace Android as the most versatile operating system • Be installed on: – Smart TV’s – Cars – Smart Phones – Tablets – Anything that is designed for high end user experience 1/17/2017 Intrepidus Group - Confidential
  • 7. Tizen Family Tree 1/17/2017 Intrepidus Group - Confidential
  • 8. Tizen History • February 2010 – Nokia and Intel announce MeeGo – Nokia drops out of MeeGo in favor of Windows Phone • September 2011 – Intel suspends MeeGo & announces Tizen as its replacement • January 2012 – Tizen source code and SDK released • May 2013 – Tizen 2.1 released • July 2013 – Tizen 2.2 released • August 2013 – Tizen IVI 3.0 beta released 1/17/2017 Intrepidus Group - Confidential
  • 9. Vapor Hardware 1/17/2017 Intrepidus Group - Confidential 9
  • 10. Quick Comparison Android iOS Firefox OS Ubuntu Tizen Web App Support None None Yes Yes Yes Native App Support Yes Yes No Yes Yes Primary Application Isolation Mechanism Linux UIDs XNU / Seatbelt B2G / Gecko D-BUS / App Armor SMACK labels IDE Eclipse Xcode Good luck! Ubuntu SDK Eclipse Application Signing Model Developer Distributor Distributor Developer Distributor & Developer 1/17/2017 Intrepidus Group - Confidential
  • 11. Technical Steering Group • In charge of development and working with OEMs (and advocacy) • Consists of Samsung, Intel and now Huawei • Coordinates development of the operating system 1/17/2017 Intrepidus Group - Confidential
  • 12. Tizen Association • Always represented by 12 companies • Always changing • Current members: 1/17/2017 Intrepidus Group - Confidential
  • 13. HTML5 Scores 1/17/2017 Intrepidus Group - Confidential
  • 15. Tizen Application Stack 1/17/2017 Intrepidus Group - Confidential
  • 16. Types of Apps • Web Applications: – Written in HTML5 – JavaScript makes calls to Privileged APIs – Supports libraries like jQuery Mobile – Can be either “Packaged Web Apps” or “Hosted Web Apps” • Native Applications – C / C++ – Native APIs unrelated to web app APIs – Focused on gaming • Hybrid Applications – Little bit of both 1/17/2017 Intrepidus Group - Confidential
  • 17. WebRT • WebRT is to Tizen what DalvikVM is to Android • Execution of web applications • Each application runs its own instance • Access to device resources via JavaScript API • Access control of web applications 1/17/2017 Intrepidus Group - Confidential
  • 18. The Widget Stack 1/17/2017 Intrepidus Group - Confidential
  • 19. Luckily Webkit is universally secure… 1/17/2017 Intrepidus Group - Confidential
  • 20. WGT • Web applications or widgets • W3C standard way of packaging an HTML5 application • Zip archive with .wgt extension 1/17/2017 Intrepidus Group - Confidential
  • 21. Application Signing • Each application is signed with 2 signatures – W3C Recommended way of handling widget signing – As opposed to Android’s one • Author signature – The author of the application used to verify who created the app • Distributer signature – from the publisher, or app store verifying where the application was distributed from 1/17/2017 Intrepidus Group - Confidential 21
  • 22. Privileged Device APIs • Public: – Any developer can access – Example: Filesystem – access a location on the device • Partner: – Only those developers that have been verified and approved can access it. – Partners are given a special Partner CA to sign their applications – Example: ApplicationManager – manage application certificates • Platform – Reserved to OEMs and Tizen implementers – System level access to a device – Example: BluetoothAdapter 1/17/2017 Intrepidus Group - Confidential 22
  • 23. config.xml File • Similar to a manifest • Declare Features: device capabilities • Declare Privileges: API access required by the app • Set policy: lets you set a “content security policy” for the application – White list the sites it should be connecting to – Based on W3C’s WARP 1/17/2017 Intrepidus Group - Confidential
  • 25. Install Directory == Package Name 1/17/2017 Intrepidus Group - Confidential
  • 27. 1/17/2017 Intrepidus Group - Confidential
  • 28. Encryption Support • Web apps support encryption of Javascript, HTML, CSS, etc • Install-time encryption only • Key configuration is located in /usr/share/secure-storage/config – Usually points to /csa/.seckey • Magic(key, wgt) = encryption 1/17/2017 Intrepidus Group - Confidential
  • 29. SMACK
  • 30. SMACK - Introduction • Linux Kernel Module • Basis of the Tizen security sandbox model • “Labels” are the metaphor – similar to how Android uses UIDs • Tizen 2.1 has 41,000 SMACK rules – Tizen 3 is looking to reduce these 1/17/2017 Intrepidus Group - Confidential
  • 31. Smack - Control Mechanisms • File control – Extended attributes (xattrs) give filesystem objects a label – The label corresponds to a SMACK rule • IPC traffic • Network traffic – A CIPSO header is attached to each network packet • Processes – Can read /proc/self/attr/current to discover what SMACK labels they are running under 1/17/2017 Intrepidus Group - Confidential
  • 32. SMACK - Definitions • Subject • Object • Access • Label 1/17/2017 Intrepidus Group - Confidential
  • 33. SMACK - Access Rule Format <subject-label> <object-label> <access-rule> 1/17/2017 Intrepidus Group - Confidential
  • 34. SMACK - Access Rule Examples 1/17/2017 Intrepidus Group - Confidential contacts-service _ arwxt com.Intrepidus.pwn * arwx- org.tizen.setting miracast-server rwx-- /opt/usr/apps/3FRIz5CoAw.Test = testApp /tmp/file.txt = myFile testApp myFile r
  • 35. SMACK – Access Request Process 1/17/2017 Intrepidus Group - Confidential
  • 37. Content Security Framework • McAfee contributed solution to a problem first noticed in Android – How does an app get access to the system to perform effective scans? • Provides API for anti-virus vendors – Low-level hooks into the system to bypass usual application restrictions 1/17/2017 Intrepidus Group - Confidential
  • 38. Tizen Push Service • Functionally similar to GCM on Android • Messages limited to text data of 1024 bytes 1/17/2017 Intrepidus Group - Confidential
  • 39. ASLR • “Fully implemented" in the Linux Kernel but some additional security measures are not currently implemented 1/17/2017 Intrepidus Group - Confidential Securiy protection Purpose fstack-protector-all adds canary based buffer overflow checks on the stack and shuts down if it's corrupt D_FORTIFY_SOURCE=2 replaces unbouncd string function calls with bounded ones. Done where GCC can determine the buffer size. fpic, fpie position independent code for libraries (fpic) and executables (fpie). Protects against return to libc attacks NX Bit No Execute bit
  • 40. Weirdness • Zypper is on the device • Install all the things! • OpenSSH: Running by default on the device • Root login is permitted 1/17/2017 Intrepidus Group - Confidential
  • 42. Attackers we are emulating • A malicious application on the device • A remote attacker that has hijacked another application’s backend • Lost or stolen devices 1/17/2017 Intrepidus Group - Confidential Props to Katy Levinson/HackerDojo for this image
  • 43. Attack Vectors • Malicious application store / third party store – Helped out by the distributor signing model • SMishing, phishing to install an application • “Drive by” content (malicious ad networks) – Helped by defining WARP access tags or setting the content-security-policy correctly 1/17/2017 Intrepidus Group - Confidential
  • 44. Tools • Tizen SDK – Eclipse IDE • Web simulator • Tizen Device Emulator • SDB 1/17/2017 Intrepidus Group - Confidential
  • 45. Tools - Tizen SDK IDE • Eclipse based • Comes with the Tizen device emulator • And the web simulator 1/17/2017 Intrepidus Group - Confidential
  • 46. Tools - Web Simulator • Lets you run a WGT inside of Google Chrome • App assessment tool 1/17/2017 Intrepidus Group - Confidential
  • 47. Tools - Web Simulator Controls • Allows you to manipulate the web simulator environment • Contains functions to simulate device events • Incoming calls / messages • Push messages • Orientation change • GeoLocation 1/17/2017 Intrepidus Group - Confidential
  • 48. Tools - Device Emulator • Very similar to Android Emulator • Create virtual devices and run them • Devices are qemu VMs, – qcow format disk images 1/17/2017 Intrepidus Group - Confidential
  • 49. Tools - Device Emulator Configuration • Change skin • Phone • General Purpose • Configure RAM • Control hardware acceleration 1/17/2017 Intrepidus Group - Confidential
  • 50. Tools - SDB • Smart Development Bridge • AKA: “It’s not ADB, we swear” 1/17/2017 Intrepidus Group - Confidential
  • 51. Definitely not ADB… 1/17/2017 Intrepidus Group - Confidential
  • 52. Using SDB + WRT to install apps 1/17/2017 Intrepidus Group - Confidential
  • 53. Assessment Methodology • Static Analysis • File System Analysis • Dynamic Analysis • Network Analysis 1/17/2017 Intrepidus Group - Confidential
  • 54. Static Analysis • Improper permission requests – Overprivileged applications are a greater threat • Unprotected shared content – SQLite databases – Temporary files with 777 access • Encryption used – Custom encryption or built-in APIs? – Static keys saved in the application • Cross origin access restrictions – Which domains are restricted 1/17/2017 Intrepidus Group - Confidential
  • 55. File System Analysis • Storing information on the SDCARD • Unrestrictive file permissions • Temporary files with 777 permissions 1/17/2017 Intrepidus Group - Confidential
  • 56. Dynamic Analysis • Sensitive file storage • Overly permissive content sharing – Inter-application messaging – Shared SQLite database – Sensitive temp files 1/17/2017 Intrepidus Group - Confidential
  • 57. Network Analysis • XSS means a privilege leakage – Similar to an Android permission hijack but with JavaScript • Cross origin attacks – Can we evade the network restrictions • SQLi (client side and server) – Parameterized queries are not used • Handling untrusted server input – Testing both the web server and the web client in this model • Secure data transport – SSL used throughout 1/17/2017 Intrepidus Group - Confidential
  • 58. Network MiTM Setup • Set up a proxy in the WiFi Settings • IPTables configuration • Add CA certificates to the trusted system store 1/17/2017 Intrepidus Group - Confidential
  • 59. Trusted root certificate store • Anything in /etc/ssl/certs that’s in PEM format and is named <8hexChars>.0 is considered a trusted cert • So… openssl x509 -in burpCA.der -inform DER -out burpCA.pem -outform PEM sdb push burpCA.pem /tmp/ sdb shell su mv /tmp/burpCA.pem /etc/ssl/certs/ffffffff.0
  • 60. Verification of Certificates • Use the certificate viewer from to verify the certificate was “installed” correctly.
  • 61. Review • Applications – HTML5 / WebRT / Webkit – Privileged APIs • SMACK – Subject / Object / Labels – 41K rules • Assessments – IDE / SDK / Emulator / Simulator – Network MiTM 1/17/2017 Intrepidus Group - Confidential
  • 62. Predictions • A Tizen phone will be released next year & adoption will be slow – It will be rooted within the first week • Smart devices like cars, TV’s, and refrigerators will be pushed by Samsung • A webkit exploit affecting Tizen will break their security model – This will cause devastating results to the platform, unlike any other mobile vulnerability • Tizen will be adopted faster in non-American countries as a low cost, feature rich, alternative to Android 1/17/2017 Intrepidus Group - Confidential
  • 64. Contact • [email protected][email protected] http://intrepidusgroup.com/insight 1/17/2017 Intrepidus Group - Confidential

Editor's Notes

  • #5: Introduction to Tizen A review of Tizen’s architecture Application components & how we might break them Assessment tools and methods
  • #7: We’ve already seen it installed on a Nexus 7 and an S4
  • #8: Highlights: Ubuntu Touch Sailfish OS – from Jolla and Nemo which is from MeeGo and Mobline that was started by Intel and Ubuntu Lets scope this down a bit…
  • #9: https://meego.com/community/blogs/imad/2011/whats-next-meego
  • #10: This is just pieces of acrylic that has been replaced by a Tizen home screen. Pay no attention
  • #16: WEB APPS VS NATIVE APPS WRT
  • #17: 3 types of apps We’re focusing on web apps because: Time Most interesting Because the API’s couldn’t be any more different between eachother
  • #19: http://download.tizen.org/misc/media/conference2012/tuesday/ballroom-a/2012-05-08_1515-1555-tizen_web_runtime.pdf
  • #31: In Tizen 3 all applications will be placed into the same SMACK domain unless they explicitly set a domain in their manifest file. See: http://lwn.net/Articles/552787/
  • #35: The contacts service has system level access to append, read, write, x, and transmutate Calendar service has system level access to write The tizen settings app, can access the miracast-server object, with rwx The Intrepidus app has universal access.
  • #36: 33 minutes
  • #39: Application on device registers for the service The device establishes a session with the Tizen push server The application receives a registration ID Application sends the registration ID to the application server Application server calls the Tizen server’s API Tizen server sends the push message to the device
  • #43: Malicious application on the device can potentially: Root the device Attack another application Steal personal data
  • #44: Smishing is limited
  • #55: Temporary files: Files used to download, and then run, will sometimes save with 777 rights and be accessible in a race condition
  • #58: Don’t need the extra bullets but just adding more information so you see where I’m going