SlideShare uma empresa Scribd logo
1 de 53
HACKING TIZEN
THE OS OF EVERYTHING
AJIN ABRAHAM | @ajinabraham
WHOMAI
• Application Security Engineer ,Yodlee
• Blogs at opensecurity.in
• Spoken at NULLCON, ClubHack,
OWASP AppSec, BlackHat, Ground
Zero Summit….
• Loves to learn NEW things.
DISCLAIMER
• All Images, Logos and Trademark belongs to their respective
owners.
• All vulnerabilities discussed are responsibly disclosed to
Tizen Security community.
• Personal View/Research, doesn’t reflect the views of my
employer.
AGENDA
• What is Tizen
• Why Tizen?
• Types of Tizen Application
• Tizen Architecture
• Tizen Application Structure
• Tizen Security Model
• Sandbox – SMACK
• WebKit2 on Tizen
• Quick Comparison –
Android vs Tizen vs iOS
• Hacking Tizen
* Android vs Tizen Web App
* Shellshock
* Issues in DEP
* Broken ASLR
* CSP Bypass
* URL Spoofing/Content Injection
• Pentesting Methodology
* Static Analysis
* Dynamic Analysis
* Network Analysis
• Security Concerns in Tizen
• Conclusion
TIZEN : The OS of Everything
Tizen –A Linux Foundation Project.
IoT (Internet of Things)
“
Why TIZEN?
Source: http://ti mesofindia.indiatimes.com/tech/tech-news/Micromax-beats-Samsung-becomes-Indias-No-1-mobile-
vendor-Report/articleshow/39630245.cms
Source: http://www.theverge.com/2013/11/12/5093588/tizen-open-operating-system-partners-with-36-companies
Source: http://www.tizenexperts.com/2015/04/samsung-2015-tizen-tv-range-now-available-at-currys-in-the-uk/
“
THE FAMILY
+
Native
Web
Hybrid
NATIVE
NATIVE
+
WEB API
+
WEB API
TYPES OF TIZEN APLICATIONS
Supports Android application with Tizen Application Compatibility Layer (ACL).
TIZEN ARCHITECTURE
Tizen Web Framework
(HTML5 + Tizen Web API)
Tizen Native Framework
(C++ API)
FrameworkCoreKernel
Linux Kernel & Drivers
Tizen Web App .wgt Tizen Native App .tpk
Web API = Standard HTML5 + Tizen Device API
TIZEN APPLICATION STRUCTURE
INSTAL DIRECTORY
NATIVE APPS (.TPK)
Install Location
.tpk
WEB APPS (.WGT)
HYBRID APP(.TPK)
TIZEN SECURITY MODEL
• Non root applications
• All applications run under same non-root user ID, app.
• Most of the middleware daemons will run as
non-root user.
• Application sandboxing
• All applications are sandboxed by SMACK.
• An application is allowed to read or write files in it’s home directory and
shared media directory (/opt/usr/media)
• Each application unable to send IPC and
sockets, r/w other application files.
• Permission Model/Least privilege
• All applications will have manifest file describing privileges.
• Manifest file describes also SMACK labels and rule.
• Application Signing – Author and Distributor
• Tizen CSP for Web Apps –Web Apps have additional layer of security
with Content Security Policy.
• Encrypt HTML, JS and CSS stored in Device - Encrypts at Install time
and Runtime decryption.
• Content Security Framework – Provides API for AVs.
““what's mine is mine; what's yours
is yours.”
SMACK
SIMPLIFIED MANDATORY ACCESS CONTROL KERNEL
SMACK allows you to add controlled exception to this basic rule.
Web app 1 Native App (uid: app)
Native Framework
Kernel
Web Runtime (uid: app)
Some Daemon
(uid:root)
SMACK LABEL
Web app
2
Web1 Web2 Native1 Daemon
File System
Web1 Web2 Native 1
SMACK TERMS
– Subject  Any Running Process (Have Smack Label)
– Object  File, IPC, Sockets, Process
– Access  Read (r), Write (w), Execute (e), Append
(a) , Lock (l), Transmute (t)
41,000 SMACK Rules in Tizen 2.2.1 !!
From Tizen 3.X: ( Smack Three domain Model,
Cynara)
NATIVE APPS – MANIFEST.XML
WEB APPS – CONFIG.XML
WEBKIT2
ON TIZEN
• Tizen WebApps runs on
WebKit2
• New API Layer over
WebKit
• Supports Split Process
Model, Like your Chrome
Tabs
QUICK COMPARISON
• Users identified by UID (app)
• Permission: Manifest.xml & Config.xml
• MessagePort IPC using socket
• SMACK & CSP
• Content Security Framework
• Signed by Developer & Distributor
• Apps identified by UID
• Permission : AndroidManifest.xml
• Binder IPC using Intents
• SELinux
• Signed by Developer
• All Apps run under user “mobile”.
• No permission model. Ask for Permission at Runtime.
• URL Schemes, x-callback URL, Extension, XPC based IPC
• Powerbox, Seatbelt
• Signed by Distributor
Tizen 2.2.1 and IVI 3.0
Tizen CSP and WebKit
OS Memory Protection
RESEARCH FOCUS
ANDROID WEB APP vs. TIZEN WEB APP
• Tizen Web Apps are powerful and feature
rich.
• In Android Web Apps in WebView and can
interact with Device features using
addJavascriptInterface.
• In Tizen, It provides Web API that allows to
leverage Device features and are protected
using privileges and CSP.
OVER PRIVILEGED ANDROID APP VS TIZEN APP
WebView
BLUETOOTH
Android Tizen
WebApp
DEVELOPER EXPOSES API
TO BRIDGE
BLUETOOTH PERMISSION
ADDJAVASCRIPTINTERFACE
NFC
BLUETOOTH PRIVILEGE NFC PRIVILEGENFC PERMISSION
NFCBLUETOOTH
BLUETOOTH API NFC API
SCENARIO : XSS
WebView
BLUETOOTH
Android Tizen
WebApp
DEVELOPER EXPOSES API
TO BRIDGE
BLUETOOTH PERMISSION
ADDJAVASCRIPTINTERFACE
NFC
BLUETOOTH PRIVILEGE NFC PRIVILEGENFC PERMISSION
NFCBLUETOOTH
XSS XSS
CSP
BLUETOOTH API NFC API
LIKE ANY LINUX DISTRO : SHELLSHOCK
DEP
• When Data Execution Prevention is
enabled, data on stack should be non-
executable.
• Prevents Shellcode at Stack from
Executing.
• But DEP is not seen in action.
e
DEMO
ASLR
• As per documentation ASLR is fully implemented in Tizen 2.1 itself.
• Already Broken in Tizen 2.1 , discovered by Shuichiro Suzuki
• /proc/sys/kernel/randomize_va_space is set to 2 which tell us that ASLR is enabled.
• The personality value at /proc/self/personality is set to 00040000. which corresponds
to (ADDR_NO_RANDOMIZE) disables ASLR.
• InTizen 2.2, /proc/self/personality is set to 00000000
• PIE (position-independent executable). So this will make the native application ASLR
enabled.
• But due to implementation issues, it was still found that ASLR is still in broken state.
• /proc/<pid>/maps –Address of heap, stack and main modules remain the same.
e
DEMO
URL SPOOFING/CONTENT INJECTION
• Open a new window with URL
https://facebook.com and assign it to a
variable w.
• Try to write “<h1>You 've been
Hacked</h1>” to DOM using
w.document.write()
• Focus the window.
e
DEMO
CSP BYPASS
Content-Security-Policy: default-src 'self’; script-src
'self’ ‘unsafe-inline’;
• We create a script tag with JavaScript nullbyte prepended to
a SCRIPT URL.
• Tricks the browser and load the Script from a different
domain and Bypass CSP.
e
DEMO
PENTESTING METHDOLOGIES
Whitebox
Access to Source and
Knowledge about the
application
Blackbox
No access to Source
and no idea about the
application
Further Classification
● Static Analysis
● Dynamic Analysis
● Network Analysis
STATIC ANALYSIS
•Certificate Signature Analysis – Developer and Distributor
•Manifest Analysis – manifest.xml/config.xml
* Unwanted Privileges.
* CSP is proper or not.
* Smack Labels and Rules
•Decompile Native App
* Apps Compiled with CLANG/CLANG++ compiler.
* LLVM decompiler - tizen_tpk_decompiler.py (make use of Retdec API).
•Code Review
* Weak Encryption, Crypto, Plaintext Information, SSL Overriding, Insecure
File Storage, Client Side SQLi/XSS.
* Pretty much OWASP Mobile Top 10.
•Couple of tools - https://github.com/ajinabraham/tizen-security
DYNAMIC ANALYSIS
• Enable Developer Mode - *#84936#
• Run the App in Device/Tizen VM or Web
Simulator.
• Sensitive data shared during IPC, Sensitive
files written at Runtime, Temp files etc.
• Directories/ Files/DB with chmod 777 access.
• Tools: Dynamic Analyzer much like android
ddms/Android Device Monitor, sdb – The adb
equivalent for Tizen.
NETWORK ANALYSIS
• Installing SSL Certificate and HTTPS
Traffic Decryption with a Proxy like Burp/
Fiddler.
• Install Certificate to User Certificate Store:
Settings -> About device -> Manage
certificates -> User certificates -> Install.
• OWASP Top 10 Web Risks
INSTALLING CA CERT TO TRUSTED CERT STORE
• Installing CA in Device
• Trusted CA Certificates are stored under /etc/ssl/certs
• Filename: <8HEXChars.0> in PEM format.
• Copy the CA certificate to /etc/ssl/certs and it’s trusted.
MOBILE SECURITY FRAMEWORK
○ Automated Mobile Application Pentest and Code Review
Framework.
○ Currently Supports Android and iOS.
○ Tizen support is on the way.
○ Download: https://github.com/ajinabraham/YSO-Mobile-Security-
Framework/
SECURITY CONCERNS
• WebKit = Bugs!!
• “WebKit is basically a collection of use-after-frees that
somehow manages to render HTML (probably via a
buffer overflow in WebGL)“ -the grugq
• HTML Web APIs are powerful, Improper CSP and
XSS=owned !!
• Too much SMACK Rules – High chance that
developers will mess up. Will be reduced from Tizen 3.
CONCLUSION
• Security Model/Architecture wise they put lot
of effort compared to Android or other
Operating Systems.
• They made it so complex (SMACK rules) that
people can easily mess up.
• Looks promising if they can fix some silly
implementation bugs.
THANKS
○ Thanks to Yodlee and my awesome manager, Sachin
for all the support and encouragement.
○ Presentation template by SlidesCarnival & Unsplash
QUESTIONS?
Ajin Abraham
@ajinabraham
http://opensecurty.in

Mais conteúdo relacionado

Mais procurados

Injecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at RuntimeInjecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at Runtime
Ajin Abraham
 
AppSec EU 2016: Automated Mobile Application Security Assessment with MobSF
AppSec EU 2016: Automated Mobile Application Security Assessment with MobSFAppSec EU 2016: Automated Mobile Application Security Assessment with MobSF
AppSec EU 2016: Automated Mobile Application Security Assessment with MobSF
Ajin Abraham
 
Security Testing Mobile Applications
Security Testing Mobile ApplicationsSecurity Testing Mobile Applications
Security Testing Mobile Applications
Denim Group
 
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri
 

Mais procurados (20)

Injecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at RuntimeInjecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at Runtime
 
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
 
OWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling PicklesOWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling Pickles
 
AppSec EU 2016: Automated Mobile Application Security Assessment with MobSF
AppSec EU 2016: Automated Mobile Application Security Assessment with MobSFAppSec EU 2016: Automated Mobile Application Security Assessment with MobSF
AppSec EU 2016: Automated Mobile Application Security Assessment with MobSF
 
Security Testing Mobile Applications
Security Testing Mobile ApplicationsSecurity Testing Mobile Applications
Security Testing Mobile Applications
 
OWASP API Security Top 10 Examples
OWASP API Security Top 10 ExamplesOWASP API Security Top 10 Examples
OWASP API Security Top 10 Examples
 
Getting Started with Spring Authorization Server
Getting Started with Spring Authorization ServerGetting Started with Spring Authorization Server
Getting Started with Spring Authorization Server
 
Defending against Java Deserialization Vulnerabilities
 Defending against Java Deserialization Vulnerabilities Defending against Java Deserialization Vulnerabilities
Defending against Java Deserialization Vulnerabilities
 
iOS Application Exploitation
iOS Application ExploitationiOS Application Exploitation
iOS Application Exploitation
 
Mobile App Security Testing -2
Mobile App Security Testing -2Mobile App Security Testing -2
Mobile App Security Testing -2
 
Pentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarPentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang Bhatnagar
 
Spring Security 5.5 From Taxi to Takeoff
Spring Security 5.5 From Taxi to TakeoffSpring Security 5.5 From Taxi to Takeoff
Spring Security 5.5 From Taxi to Takeoff
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and Mocha
 
API Security Best Practices and Guidelines
API Security Best Practices and GuidelinesAPI Security Best Practices and Guidelines
API Security Best Practices and Guidelines
 
MobSF: Mobile Security Testing (Android/IoS)
MobSF: Mobile Security Testing (Android/IoS)MobSF: Mobile Security Testing (Android/IoS)
MobSF: Mobile Security Testing (Android/IoS)
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
 
Pentesting ReST API
Pentesting ReST APIPentesting ReST API
Pentesting ReST API
 
Api security-testing
Api security-testingApi security-testing
Api security-testing
 
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
 
Secure Coding principles by example: Build Security In from the start - Carlo...
Secure Coding principles by example: Build Security In from the start - Carlo...Secure Coding principles by example: Build Security In from the start - Carlo...
Secure Coding principles by example: Build Security In from the start - Carlo...
 

Semelhante a Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015

Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Hacking Tizen : The OS of Everything - Nullcon Goa 2015Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Ajin Abraham
 
Kubernetes and container security
Kubernetes and container securityKubernetes and container security
Kubernetes and container security
Volodymyr Shynkar
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
NetSPI
 

Semelhante a Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015 (20)

Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Hacking Tizen : The OS of Everything - Nullcon Goa 2015Hacking Tizen : The OS of Everything - Nullcon Goa 2015
Hacking Tizen : The OS of Everything - Nullcon Goa 2015
 
iOS application (in)security
iOS application (in)securityiOS application (in)security
iOS application (in)security
 
iOS Application Pentesting
iOS Application PentestingiOS Application Pentesting
iOS Application Pentesting
 
Evaluating iOS Applications
Evaluating iOS ApplicationsEvaluating iOS Applications
Evaluating iOS Applications
 
Kubernetes and container security
Kubernetes and container securityKubernetes and container security
Kubernetes and container security
 
iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for Beginners
 
The How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability ManagementThe How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability Management
 
The How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability ManagementThe How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability Management
 
Aleksei Dremin - Application Security Pipeline - phdays9
Aleksei Dremin - Application Security Pipeline - phdays9Aleksei Dremin - Application Security Pipeline - phdays9
Aleksei Dremin - Application Security Pipeline - phdays9
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 
Enterprise Node - Securing Your Environment
Enterprise Node - Securing Your EnvironmentEnterprise Node - Securing Your Environment
Enterprise Node - Securing Your Environment
 
Pentesting Mobile Applications (Prashant Verma)
Pentesting Mobile Applications (Prashant Verma)Pentesting Mobile Applications (Prashant Verma)
Pentesting Mobile Applications (Prashant Verma)
 
Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern T...
Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern T...Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern T...
Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern T...
 
Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
 
Breaking Secure Mobile Applications - Hack In The Box 2014 KL
Breaking Secure Mobile Applications - Hack In The Box 2014 KLBreaking Secure Mobile Applications - Hack In The Box 2014 KL
Breaking Secure Mobile Applications - Hack In The Box 2014 KL
 
iOS Application Security
iOS Application SecurityiOS Application Security
iOS Application Security
 
Stups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWSStups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWS
 
Android pentesting the hackers-meetup
Android pentesting the hackers-meetupAndroid pentesting the hackers-meetup
Android pentesting the hackers-meetup
 
Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1
 

Mais de Ajin Abraham

Abusing Exploiting and Pwning with Firefox Addons
Abusing Exploiting and Pwning with Firefox AddonsAbusing Exploiting and Pwning with Firefox Addons
Abusing Exploiting and Pwning with Firefox Addons
Ajin Abraham
 
OWASP Xenotix XSS Exploit Framework v3 : Nullcon Goa 2013
OWASP Xenotix XSS Exploit Framework v3 : Nullcon Goa 2013OWASP Xenotix XSS Exploit Framework v3 : Nullcon Goa 2013
OWASP Xenotix XSS Exploit Framework v3 : Nullcon Goa 2013
Ajin Abraham
 
Xenotix XSS Exploit Framework: Clubhack 2012
Xenotix XSS Exploit Framework: Clubhack 2012 Xenotix XSS Exploit Framework: Clubhack 2012
Xenotix XSS Exploit Framework: Clubhack 2012
Ajin Abraham
 
Shellcoding in linux
Shellcoding in linuxShellcoding in linux
Shellcoding in linux
Ajin Abraham
 

Mais de Ajin Abraham (20)

Injecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime WhitepaperInjecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime Whitepaper
 
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...Automated Security Analysis of Android & iOS Applications with Mobile Securit...
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
 
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...
G4H Webcast: Automated Security Analysis of Mobile Applications with Mobile S...
 
Hacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - WhitepaperHacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - Whitepaper
 
Abusing Exploiting and Pwning with Firefox Addons
Abusing Exploiting and Pwning with Firefox AddonsAbusing Exploiting and Pwning with Firefox Addons
Abusing Exploiting and Pwning with Firefox Addons
 
Exploit Research and Development Megaprimer: DEP Bypassing with ROP Chains
Exploit Research and Development Megaprimer: DEP Bypassing with ROP ChainsExploit Research and Development Megaprimer: DEP Bypassing with ROP Chains
Exploit Research and Development Megaprimer: DEP Bypassing with ROP Chains
 
Abusing Google Apps and Data API: Google is My Command and Control Center
Abusing Google Apps and Data API: Google is My Command and Control CenterAbusing Google Apps and Data API: Google is My Command and Control Center
Abusing Google Apps and Data API: Google is My Command and Control Center
 
Exploit Research and Development Megaprimer: Win32 Egghunter
Exploit Research and Development Megaprimer: Win32 EgghunterExploit Research and Development Megaprimer: Win32 Egghunter
Exploit Research and Development Megaprimer: Win32 Egghunter
 
Exploit Research and Development Megaprimer: mona.py, Exploit Writer's Swiss ...
Exploit Research and Development Megaprimer: mona.py, Exploit Writer's Swiss ...Exploit Research and Development Megaprimer: mona.py, Exploit Writer's Swiss ...
Exploit Research and Development Megaprimer: mona.py, Exploit Writer's Swiss ...
 
Exploit Research and Development Megaprimer: Unicode Based Exploit Development
Exploit Research and Development Megaprimer: Unicode Based Exploit DevelopmentExploit Research and Development Megaprimer: Unicode Based Exploit Development
Exploit Research and Development Megaprimer: Unicode Based Exploit Development
 
Exploit Research and Development Megaprimer: Buffer overflow for beginners
Exploit Research and Development Megaprimer: Buffer overflow for beginnersExploit Research and Development Megaprimer: Buffer overflow for beginners
Exploit Research and Development Megaprimer: Buffer overflow for beginners
 
OWASP Xenotix XSS Exploit Framework v3 : Nullcon Goa 2013
OWASP Xenotix XSS Exploit Framework v3 : Nullcon Goa 2013OWASP Xenotix XSS Exploit Framework v3 : Nullcon Goa 2013
OWASP Xenotix XSS Exploit Framework v3 : Nullcon Goa 2013
 
Pwning with XSS: from alert() to reverse shell: Defcon Banglore 2013
Pwning with XSS: from alert() to reverse shell: Defcon Banglore 2013Pwning with XSS: from alert() to reverse shell: Defcon Banglore 2013
Pwning with XSS: from alert() to reverse shell: Defcon Banglore 2013
 
Abusing, Exploiting and Pwning with Firefox Add-ons: OWASP Appsec 2013 Presen...
Abusing, Exploiting and Pwning with Firefox Add-ons: OWASP Appsec 2013 Presen...Abusing, Exploiting and Pwning with Firefox Add-ons: OWASP Appsec 2013 Presen...
Abusing, Exploiting and Pwning with Firefox Add-ons: OWASP Appsec 2013 Presen...
 
Abusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-onsAbusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-ons
 
Xenotix XSS Exploit Framework: Clubhack 2012
Xenotix XSS Exploit Framework: Clubhack 2012 Xenotix XSS Exploit Framework: Clubhack 2012
Xenotix XSS Exploit Framework: Clubhack 2012
 
Wi-Fi Security with Wi-Fi P+
Wi-Fi Security with Wi-Fi P+Wi-Fi Security with Wi-Fi P+
Wi-Fi Security with Wi-Fi P+
 
Shellcoding in linux
Shellcoding in linuxShellcoding in linux
Shellcoding in linux
 
Phishing With Data URI
Phishing With Data URIPhishing With Data URI
Phishing With Data URI
 
Buffer overflow for Beginners
Buffer overflow for BeginnersBuffer overflow for Beginners
Buffer overflow for Beginners
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015

  • 1. HACKING TIZEN THE OS OF EVERYTHING AJIN ABRAHAM | @ajinabraham
  • 2. WHOMAI • Application Security Engineer ,Yodlee • Blogs at opensecurity.in • Spoken at NULLCON, ClubHack, OWASP AppSec, BlackHat, Ground Zero Summit…. • Loves to learn NEW things.
  • 3. DISCLAIMER • All Images, Logos and Trademark belongs to their respective owners. • All vulnerabilities discussed are responsibly disclosed to Tizen Security community. • Personal View/Research, doesn’t reflect the views of my employer.
  • 4. AGENDA • What is Tizen • Why Tizen? • Types of Tizen Application • Tizen Architecture • Tizen Application Structure • Tizen Security Model • Sandbox – SMACK • WebKit2 on Tizen • Quick Comparison – Android vs Tizen vs iOS • Hacking Tizen * Android vs Tizen Web App * Shellshock * Issues in DEP * Broken ASLR * CSP Bypass * URL Spoofing/Content Injection • Pentesting Methodology * Static Analysis * Dynamic Analysis * Network Analysis • Security Concerns in Tizen • Conclusion
  • 5. TIZEN : The OS of Everything Tizen –A Linux Foundation Project. IoT (Internet of Things)
  • 6.
  • 11.
  • 13. + Native Web Hybrid NATIVE NATIVE + WEB API + WEB API TYPES OF TIZEN APLICATIONS Supports Android application with Tizen Application Compatibility Layer (ACL).
  • 14. TIZEN ARCHITECTURE Tizen Web Framework (HTML5 + Tizen Web API) Tizen Native Framework (C++ API) FrameworkCoreKernel Linux Kernel & Drivers Tizen Web App .wgt Tizen Native App .tpk
  • 15. Web API = Standard HTML5 + Tizen Device API
  • 18. NATIVE APPS (.TPK) Install Location .tpk
  • 21. TIZEN SECURITY MODEL • Non root applications • All applications run under same non-root user ID, app. • Most of the middleware daemons will run as non-root user. • Application sandboxing • All applications are sandboxed by SMACK. • An application is allowed to read or write files in it’s home directory and shared media directory (/opt/usr/media) • Each application unable to send IPC and sockets, r/w other application files. • Permission Model/Least privilege • All applications will have manifest file describing privileges. • Manifest file describes also SMACK labels and rule. • Application Signing – Author and Distributor • Tizen CSP for Web Apps –Web Apps have additional layer of security with Content Security Policy. • Encrypt HTML, JS and CSS stored in Device - Encrypts at Install time and Runtime decryption. • Content Security Framework – Provides API for AVs.
  • 22. ““what's mine is mine; what's yours is yours.” SMACK SIMPLIFIED MANDATORY ACCESS CONTROL KERNEL SMACK allows you to add controlled exception to this basic rule.
  • 23. Web app 1 Native App (uid: app) Native Framework Kernel Web Runtime (uid: app) Some Daemon (uid:root) SMACK LABEL Web app 2 Web1 Web2 Native1 Daemon File System Web1 Web2 Native 1
  • 24. SMACK TERMS – Subject  Any Running Process (Have Smack Label) – Object  File, IPC, Sockets, Process – Access  Read (r), Write (w), Execute (e), Append (a) , Lock (l), Transmute (t) 41,000 SMACK Rules in Tizen 2.2.1 !! From Tizen 3.X: ( Smack Three domain Model, Cynara)
  • 25. NATIVE APPS – MANIFEST.XML
  • 26. WEB APPS – CONFIG.XML
  • 27. WEBKIT2 ON TIZEN • Tizen WebApps runs on WebKit2 • New API Layer over WebKit • Supports Split Process Model, Like your Chrome Tabs
  • 28. QUICK COMPARISON • Users identified by UID (app) • Permission: Manifest.xml & Config.xml • MessagePort IPC using socket • SMACK & CSP • Content Security Framework • Signed by Developer & Distributor • Apps identified by UID • Permission : AndroidManifest.xml • Binder IPC using Intents • SELinux • Signed by Developer • All Apps run under user “mobile”. • No permission model. Ask for Permission at Runtime. • URL Schemes, x-callback URL, Extension, XPC based IPC • Powerbox, Seatbelt • Signed by Distributor
  • 29. Tizen 2.2.1 and IVI 3.0 Tizen CSP and WebKit OS Memory Protection RESEARCH FOCUS
  • 30. ANDROID WEB APP vs. TIZEN WEB APP • Tizen Web Apps are powerful and feature rich. • In Android Web Apps in WebView and can interact with Device features using addJavascriptInterface. • In Tizen, It provides Web API that allows to leverage Device features and are protected using privileges and CSP.
  • 31. OVER PRIVILEGED ANDROID APP VS TIZEN APP WebView BLUETOOTH Android Tizen WebApp DEVELOPER EXPOSES API TO BRIDGE BLUETOOTH PERMISSION ADDJAVASCRIPTINTERFACE NFC BLUETOOTH PRIVILEGE NFC PRIVILEGENFC PERMISSION NFCBLUETOOTH BLUETOOTH API NFC API
  • 32. SCENARIO : XSS WebView BLUETOOTH Android Tizen WebApp DEVELOPER EXPOSES API TO BRIDGE BLUETOOTH PERMISSION ADDJAVASCRIPTINTERFACE NFC BLUETOOTH PRIVILEGE NFC PRIVILEGENFC PERMISSION NFCBLUETOOTH XSS XSS CSP BLUETOOTH API NFC API
  • 33. LIKE ANY LINUX DISTRO : SHELLSHOCK
  • 34. DEP • When Data Execution Prevention is enabled, data on stack should be non- executable. • Prevents Shellcode at Stack from Executing. • But DEP is not seen in action.
  • 36. ASLR • As per documentation ASLR is fully implemented in Tizen 2.1 itself. • Already Broken in Tizen 2.1 , discovered by Shuichiro Suzuki • /proc/sys/kernel/randomize_va_space is set to 2 which tell us that ASLR is enabled. • The personality value at /proc/self/personality is set to 00040000. which corresponds to (ADDR_NO_RANDOMIZE) disables ASLR. • InTizen 2.2, /proc/self/personality is set to 00000000 • PIE (position-independent executable). So this will make the native application ASLR enabled. • But due to implementation issues, it was still found that ASLR is still in broken state. • /proc/<pid>/maps –Address of heap, stack and main modules remain the same.
  • 38. URL SPOOFING/CONTENT INJECTION • Open a new window with URL https://facebook.com and assign it to a variable w. • Try to write “<h1>You 've been Hacked</h1>” to DOM using w.document.write() • Focus the window.
  • 40. CSP BYPASS Content-Security-Policy: default-src 'self’; script-src 'self’ ‘unsafe-inline’; • We create a script tag with JavaScript nullbyte prepended to a SCRIPT URL. • Tricks the browser and load the Script from a different domain and Bypass CSP.
  • 42. PENTESTING METHDOLOGIES Whitebox Access to Source and Knowledge about the application Blackbox No access to Source and no idea about the application Further Classification ● Static Analysis ● Dynamic Analysis ● Network Analysis
  • 43. STATIC ANALYSIS •Certificate Signature Analysis – Developer and Distributor •Manifest Analysis – manifest.xml/config.xml * Unwanted Privileges. * CSP is proper or not. * Smack Labels and Rules •Decompile Native App * Apps Compiled with CLANG/CLANG++ compiler. * LLVM decompiler - tizen_tpk_decompiler.py (make use of Retdec API). •Code Review * Weak Encryption, Crypto, Plaintext Information, SSL Overriding, Insecure File Storage, Client Side SQLi/XSS. * Pretty much OWASP Mobile Top 10. •Couple of tools - https://github.com/ajinabraham/tizen-security
  • 44. DYNAMIC ANALYSIS • Enable Developer Mode - *#84936# • Run the App in Device/Tizen VM or Web Simulator. • Sensitive data shared during IPC, Sensitive files written at Runtime, Temp files etc. • Directories/ Files/DB with chmod 777 access. • Tools: Dynamic Analyzer much like android ddms/Android Device Monitor, sdb – The adb equivalent for Tizen.
  • 45.
  • 46.
  • 47. NETWORK ANALYSIS • Installing SSL Certificate and HTTPS Traffic Decryption with a Proxy like Burp/ Fiddler. • Install Certificate to User Certificate Store: Settings -> About device -> Manage certificates -> User certificates -> Install. • OWASP Top 10 Web Risks
  • 48. INSTALLING CA CERT TO TRUSTED CERT STORE • Installing CA in Device • Trusted CA Certificates are stored under /etc/ssl/certs • Filename: <8HEXChars.0> in PEM format. • Copy the CA certificate to /etc/ssl/certs and it’s trusted.
  • 49. MOBILE SECURITY FRAMEWORK ○ Automated Mobile Application Pentest and Code Review Framework. ○ Currently Supports Android and iOS. ○ Tizen support is on the way. ○ Download: https://github.com/ajinabraham/YSO-Mobile-Security- Framework/
  • 50. SECURITY CONCERNS • WebKit = Bugs!! • “WebKit is basically a collection of use-after-frees that somehow manages to render HTML (probably via a buffer overflow in WebGL)“ -the grugq • HTML Web APIs are powerful, Improper CSP and XSS=owned !! • Too much SMACK Rules – High chance that developers will mess up. Will be reduced from Tizen 3.
  • 51. CONCLUSION • Security Model/Architecture wise they put lot of effort compared to Android or other Operating Systems. • They made it so complex (SMACK rules) that people can easily mess up. • Looks promising if they can fix some silly implementation bugs.
  • 52. THANKS ○ Thanks to Yodlee and my awesome manager, Sachin for all the support and encouragement. ○ Presentation template by SlidesCarnival & Unsplash