SlideShare ist ein Scribd-Unternehmen logo
1 von 44
XBOSoft presents
Jon Hagar
Mobile Web Security
XBOSoft info
lFounded in 2006
lDedicated to software quality
•Software QA consulting
•Software testing services
lOffices in San Francisco, Beijing, Oslo and
Amsterdam
Housekeeping
•Everyone except the speaker is muted
•Questions via the gotowebinar control on the right side of your
screen
•Questions can be asked throughout the webinar, we’ll try to fit them
in when appropriate
•General Q & A at the end of the webinar
•You will receive info on recording after the webinar
Speakers
From XBOSoft:
Sabrina Gasson Jon Hagar
Jan Princen
Jon Hagar Copyright 2013 How to Attack Embedded Software
Jon Hagar
Jon.d.hagar@gmail.com
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Agenda
Definitions and Concepts
Problem and Context
Attack based testing to find security issues
Specific samples
Historic attacks
And yet more attacks
Impact to Engineering Domains
Summary
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Mobile, Smart, and Handheld
As the names imply, these are small, hand held devices that are often
connected to communication networks, including
Cell and smart phones – apps
Tablets
Medical devices
Typically these devices have:
Many of the features of classic “embedded” systems (and problems)
Many of the power and capabilities of PCs/IT (and problems)
More/different user interfaces (UI) and hardware configurations
(1000s)
Fast updates
Are getting more power, memory, and features (software, e.g., apps)
Initialization, noise, power up/down, timers, sensors, etc.
Often resource constrained: RAM, ROM, stack, power, speed, time,
etc.
These are “hot” areas of computers and software
Security and testing rules are “evolving”
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Security
Keep physical and logical system elements safe from harm, compromise,
or adverse consequences.
In the Mobile World
Security of internal information
Security of transmitted information
Security from external threats (usually logical)
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Definition: Fundamental Software
Capabilities
Dr. James Whittaker lists these 4
Software accepts inputs from its environment
Software produces output and transmits it to its environment
Software stores data internally in one or more data structures
Software performs computations using input or stored data
Mobile software can be refined with
Mobile with wireless network connections of variable strength
Many kinds of hardware
Many Apps
Large amounts of software
Features of the embedded world (sensors, control, critical
features…)
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Other Definitions (for this presentation)
Taxonomy - the practice and science of classification.
Test – the act of conducting experiments on something to determine the
quality and provide information
Test case – One set of inputs, environmental set up, and results
(expected and unexpected)
Attack – to set up, forcefully, and attempt to “damage” the system or
software, using tools, and techniques, may use one or more test cases or
procedures
Bug (error) – Results that depart from the expected (from requirements,
design, standards, user, etc.)
Lifecycle – From beginning-to-end, the steps, stages, and activities to
create the system (birth-to-death)
Procedure – a particular way of accomplishing tests, usually written (one
or more test cases)
Scenario – a sequence of events with a test plot or story
Script – see procedure, normally uses automation
Users – someone/something that interacts with the system/software (can
be human or machine)
Quality – Value to someone that they will pay for
Jon Hagar Copyright 2013 How to Attack Embedded Software
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
The Current Situation
Mobile and embedded systems are highly integrated
hardware–software–system solutions which:
Must be highly trustworthy since they handle sensitive
data
Often perform critical tasks
Security holes and problems abound
 - Android
•static analysis test attack found 0.47 defects per 1000
SLOC
•359 defects in total, 88 of which were considered
“high risk” in the security domain
OS hole Andriod with Angry Birds (researchers Jon
Oberheide and Zach Lanier)
Robots and Drones rumored to be attacked
Cars and medical devices being hacked
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Other Data Points (scary from the embedded world)
Davis-Besse nuclear plant - Attack
Oil and Gas industry impacts
Night Dragon
Shamoon
Infrastructure
Harrisburg water plant attack
Texas waste treatment plant hack
Even some reports of criminal “black mail”
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
World Change: Mobile Security
Security remains focused on PC/IT networks (web), and
“Traditional” software
More recently with. . .
Mobile usage over taking PC/IT
Lost or stolen devices
Networked/Smart devices and system are open to hacks
•e.g. GPS spoofing
•Worms, virus, attacks, etc…..
Physical and logical security concerns will increase
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Design & Code Errors Produce Software Cyber
Vulnerabilities
Features/capabilities are known
Some might say all features are known but there can be
“undocumented” features
In perfect software, we would not need to be concerned
with security vulnerabilities because we could just
“build it” secure
But many vulnerabilities come from errors or are “accidently”
introduced by new use situations
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Mobile Security Concerns (partial list)
Fraud – Identity Theft
Worms, virus, etc
Fault injection
Error exploitation
Processing on the run
Hacks and attacks that impact
Power
Memory
CPU usage
Eavesdropping – yes everyone can hear you
Hijacking
Click-jacking
Voice/Screen capture
Physical Hacks
File snooping
Lost phone
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
POLL: Is Mobile Security a Concern for you?
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Security and Vulnerability Actions
for Mobile and Embedded Devices
Prepare for theft or loss of devices (encryption, IT controls, memory wipe programs, etc.)
Establish physical control (locked door and limited access to facilities -historic)
IT operations (VPN, network control, access monitors, registry logon)
Prevent development and test processes such as, developers leaving back doors in the code,
testers doing something they shouldn’t when they shouldn’t
Software bugs we need to test for (this presentation)
Work third part operating systems and COTS bugs (Use/promote secure OS, encrypted files,
authenticated files, trusted software, etc.)
Regulatory and legal constraints (ISO – 12207, 15288, 29119, and IEEE 1012 into government
“use”)
Attack test data/file input and output (this presentation)
Attack tests impersonation (this presentation)
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Teams Need to Know the Bug (software error)
Mobile software has similar
defects to traditional software
Requirements & Design
Logic & Math
Control Flow
Data
Initialization & Mode changes
Interfaces
Security
Game interfaces
etc.
lMobile adds defects/issues
lFast and “incomplete” development
cycles
lMany many kinds of apps and
hardware
lSmall amounts of dense complex
functions
l(a BIG one) Performance issues
Do you have a taxonomy of
your bugs?
Jon Hagar Copyright 2013 How to Attack Embedded Software
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
What is an Attack
Attacking your software system – In part, the process
of attempting to demonstrate that a system (hardware,
software, and operations) does not meet requirements
or functional and non-functional objectives
Embedded/handheld software testing must include “the
system” (hardware, software, servers, operations, users,
etc.)
Attacks go after common modes of failure and bugs,
attempting to demonstrate that “does not meet” exists
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
An Attack Is. . .
Based on a common mode of failure seen over and over
Maybe seen as a negative, when it is really a positive
Goes after the “bugs”
Based on or using classic test techniques and test concepts
Testers learn these after years and form a mental model (most
good testers attack)
I offer a few embedded attacks
Based on literature research of published bugs
Be suspicious
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Attack: Identity Security Fraud
Apply when the device is mobile/embedded and has
Account numbers
User ids and passwords
Location tags
Restricted data
Current authentication approaches in use on
embedded/mobile devices
Server based
Registry (user/password)
Location-device based
Profile based
Privacy
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Mobile Software Attacks
Sub-attack: Identity Fraud Spoofing
– who am I and where am I, or not
 In this sub-attack, the tester is trying to fool or spoof the
device/app on identity and/or location
 The tester should see if the identity can be “hijacked”
 Hagerman (Unpublished PhD work) reports how to do this
using Wireshark tool to sniff and decode data being broadcast.
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Next Approach: Attack Location
Location used as part identity?
Check how the location is used – Is authorization temporary or permanent?
If temporary, the attack should check for remnant data files
Use development tools and/or the OS to poke around in the file system
Warning, the file may be encrypted, in which case you may need a file
encryption cracker for that type of file/encryption, e.g. pkcrack
 If file is not temporary, the tester next needs to determine if any of the
permanent information can be accessed, abused, or corrupted
In many devices and apps, this data should be encrypted, and here
again apply the cracking encryption tools
How hard or easy is it to read the file (text – bad -> encrypted better)?
.
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Spoofing Location and User
Once you have the location-identity file information, ask yourself “can I spoof
the location either inside of the device or what is broadcasting?”
Each system/app will be structured differently
Closely related to location-identify spoofing is the user profile spoof, if used
Here the tester attempts to take over an identity by understanding how user
profile checks work (or don’t)
This will require understanding the internal data points of what your system is
checking
Use factors to look for are: location, time, where transactions are occurring,
types of transactions, money amounts in transactions, provider/store, product,
signal location/type, and biometric data
Input them to the system; determine if the server gets confused and gives or
uses “the wrong/sensitive” data
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Yet More Attacks (outline)
 Attack: App configuration update
 Attack: Embedded phishing
 Attack: Virus/malware embedded in a hijacked apps
 Attack: OS and other (NOT) “trusted” COTS software
Ref. Whittaker and Hagerman
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Attack 28 Penetration Attack Test – mobile and embedded
Attack 29.1 Identity Social Engineering
Attack 30: Spoofing Attacks
Attack 30.1 Location and/or User Profile Spoof
Attack 30.2 GPS Spoof Sub–Attack
Attack 31: Attacking Viruses on the Run in Factories or
PLCs
Software Test Attacks to Break Mobile and
Embedded Devices
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Whittaker’s And Thompson’s Attacks
Numbe
r
Attack name Applicable to mobile-
embedded
1 Block access to libraries and/or OS internals yes
2 Manipulate the application's registry values yes
3 Force the application to use corrupt files yes
4 Manipulate and replace files that the application creates, reads from, writes to, or executes yes
5 Force the application to operate in low memory, disk-device, and network availability yes
6 Overflow input buffers yes
7 Examine all common switches and options yes
8 Explore escape characters, character sets, and commands yes
9 Try common default and test account names and passwords yes
10 Use a tool to expose unprotected APIs yes
11 Connect to all ports yes
12 Fake the source of data yes
13 Create loop conditions in any app that interprets script, code, or other user-supplied logic yes
14 Use alternate routes (in the app) to accomplish the same task yes
15 Force the system to reset values yes
17 Create files with the same name as files protected with a higher classification yes
18 Force all error messages yes
19 Use a tool to look for temporary files and screen their contents for sensitive info yes
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Many More Attacks Exist
Simply doing Verification checking of
requirements in testing is not enough
Some say “Wait, let the bad guys find the holes”
But for many mobile-embedded systems this is not a good
idea
Progressive organization put forth a good offense
as well as defense
Attack testing before the bad guys do
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Bottom line
Defenses should include
Device security – registration, wipe/disable programs, encryption, monitoring,
cloud
Development - requirements specification, software design, construction, and
support processes such as configuration management.
Operations/IT - governance, product controls, access limitations, physical
security, and cyber-security
Functional and non-functional security testing - Attacks in development
and after deployment in operations
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
POLL: Are you testing Mobile Devices/Apps now?
Jon Hagar Copyright 2013 How to Attack Embedded Software
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Summary of My Favorite AttacksNamed Attack Apply Against Example Considerations
Penetration Attack Account numbers/user ids Use tools to gain access e.g., pkcrack
Passwords Check common passwords that may be vulnerable, using password hacking tools or checklists
Usage profiles The pattern of how the software or device is used to expose vulnerabilities
Location tags for embedded/mobile devices Where is the device, are tags temporary as the device moves, and what is reported to an open network
(cellular, Wi-Fi, etc.)?
Fuzz Testing Sub Attack External inputs e.g., user ids passwords Use fuzzing tool to attack the external interfaces
Spoofing Attack “Hijacked” Identity Use spoofing tools in the “sand box” test environments
GPS spoofing for mobile/embedded devices Requires specialized equipment and labs. But for devices dependent on GPS, this may be a “high” risk
factor
"Social Engineering" spoof Attack like the hackers who use many sources of information to gain an advantage
File checking attack "Hidden" files with unsecured data Look for hidden or unsecure/non-encrypted files [6]
Encryption (or lack thereof) Is there restricted data perhaps hidden in mobile and embedded file systems which may be “temporary”
and/or not encrypted properly?
Good encryption patterns Where did the algorithm(s) come from and how vulnerable is it?
Breaking Software Security Use classic IT/PC/web attacks many of which are
applicable to mobile and embedded
See Whittaker’s book [4] for 20 attacks that can be applied to mobile hybrid/web apps
Virus Attack Off-the-shelf software Test for counterfeit logic such as mobile and embedded viruses, malware, etc.
Third party software Many viruses are embedded in fun apps that users download particularly on “bring your own devices”
Operating System Can it be trusted?
Bring your own mobile device Threat from unsecured users
Trojan horses Can the tester use email, hacked apps, or other files to get “inside” of the defenses
Embedded multi-tier system For example Stuxnet and its offspring
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
How to Increase you Security Skills
Testers looking to become cyber-security test warriors need to develop the following
skills
(not just tool expertise or product knowledge)
- The ability to apply the attacks and synthesize their own attacks
- Critical thinking, including the ability to think like the bad guys
- Exploratory attack testing (my list is only a start)
- Following the “smells” of the software bugs (small hints of a bug or
vulnerability)
- Automation, modeling, and math
- Risk based testing
- General test information, processes, techniques, and documentation
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Test Engineering
Test needs to do the “standard” efforts, and needs
to play the “bad guys”
Hacking attacks
Vulnerabilities
Test to provide information from day one, so the team can
plug the holes based on attack information
At the end of a development cycle, get really nasty
Some tester are really good at that
Practice Practice Practice, Learn, and the repeat
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Warnings To Testers
Security attacks and testing must be done with the knowledge
and approval of owners of the system and software
Severe legal implications exist in this area
Many of these attacks must be done in a test lab (sandbox) and
not in the field
In these attacks I tell you conceptually how to “drive a car very
fast (150 miles an hour) but there are places to do this with a car
legally (a race track) and places where you will get a ticket (most
public streets)”
Be forewarned - Do not go attack you favorite app on your
phone or connected server without the right permissions due to
the legal implications
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Summary
These attacks are just starting points
Mobile device use, features, and connections will grow
meaning that security threats and vulnerabilities will
increase
-- I see a great need for mobile security
testers
Be careful—there are impacts in all effort domains
Systems
Software
Hardware
Support and Operations
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
POLL: What is the status of your Mobile Security Testing?
Jon Hagar Copyright 2013 How to Attack Embedded Software
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Thanks (ideas used from)
James Whittaker (attacks)
Elisabeth Hendrickson (sims)
Lee Copeland (techniques)
Brian Merrick (testing)
James Bach (tours and thinking)
Cem Kaner (test thinking)
Phil Lew (support good testing and this
meeting)
Many teachers
Generations past and future
Books, references, etc.
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Book List (favorites that I use)
Software Test Attacks to Break Mobile and Embedded Devices, Jon D. Hagar
2013
How to Break Software Security, Whittaker & Thompson
•And Whittaker’s other “How To Break…” books
A Practitioner’s Guide to Software Test Design , Copeland, 2004
Honorable mentions:
“Embedded System and Software Validation” Roychoudhury 2009
“Systems Testing with an Attitude” 2005
“Software System Testing and Quality Assurance” Beizer 1987
“Testing Computer Software” Kaner et. al. 1988
“Systematic Software Testing” Craig & Jaskiel, 2001
“Managing the Testing Process” Black 2002
“Hacking Exposed” McClure, Scambray, Kurtz
Y. Tadjdeh, “Industry, military emphasize need for “Cyberwarrror” training
as attacks increase”, National Defense Magazine, Dec. 2013
J Scambray, S. McClure, G. Kurtz, “Hacking Exposed”, McGraw Hill
Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software
Resources
•Association of Software Testing
Offers Free Classes on Testing
Q and A
Need Assistance With Mobile
(Security) QA?
services@xbosoft.com
@XBOSoft

Weitere ähnliche Inhalte

Was ist angesagt?

Confidentiality policies UNIT 2 (CSS)
Confidentiality policies UNIT 2 (CSS)Confidentiality policies UNIT 2 (CSS)
Confidentiality policies UNIT 2 (CSS)SURBHI SAROHA
 
CIS14: Physical and Logical Access Control Convergence
CIS14: Physical and Logical Access Control ConvergenceCIS14: Physical and Logical Access Control Convergence
CIS14: Physical and Logical Access Control ConvergenceCloudIDSummit
 
Security Intelligence: Advanced Persistent Threats
Security Intelligence: Advanced Persistent ThreatsSecurity Intelligence: Advanced Persistent Threats
Security Intelligence: Advanced Persistent ThreatsPeter Wood
 
Physical Security In The Workplace
Physical Security In The WorkplacePhysical Security In The Workplace
Physical Security In The Workplacedougfarre
 
Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Mykhailo Antonishyn
 
Računalna forenzika i automatizirani odgovor na mrežne incidente
Računalna forenzika i automatizirani odgovor na mrežne incidenteRačunalna forenzika i automatizirani odgovor na mrežne incidente
Računalna forenzika i automatizirani odgovor na mrežne incidenteDamir Delija
 
Combating Advanced Persistent Threats with Flow-based Security Monitoring
Combating Advanced Persistent Threats with Flow-based Security MonitoringCombating Advanced Persistent Threats with Flow-based Security Monitoring
Combating Advanced Persistent Threats with Flow-based Security MonitoringLancope, Inc.
 
Threat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsThreat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsEric Vétillard
 
Apt sharing tisa protalk 2-2554
Apt sharing tisa protalk 2-2554Apt sharing tisa protalk 2-2554
Apt sharing tisa protalk 2-2554TISA
 
Declaration of Mal(WAR)e
Declaration of Mal(WAR)eDeclaration of Mal(WAR)e
Declaration of Mal(WAR)eNetSPI
 
Practical Application of Physical Security Criteria
Practical Application of Physical Security CriteriaPractical Application of Physical Security Criteria
Practical Application of Physical Security CriteriaScott L Weiland PE
 
Physical Security Assessment
Physical Security AssessmentPhysical Security Assessment
Physical Security AssessmentFaheem Ul Hasan
 
Penetration testing reporting and methodology
Penetration testing reporting and methodologyPenetration testing reporting and methodology
Penetration testing reporting and methodologyRashad Aliyev
 
Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...Dilum Bandara
 
Ethical Hacking Conference 2015- Building Secure Products -a perspective
 Ethical Hacking Conference 2015- Building Secure Products -a perspective Ethical Hacking Conference 2015- Building Secure Products -a perspective
Ethical Hacking Conference 2015- Building Secure Products -a perspectiveDr. Anish Cheriyan (PhD)
 
Computing safety
Computing safetyComputing safety
Computing safetytitoferrus
 
Integrating Physical And Logical Security
Integrating Physical And Logical SecurityIntegrating Physical And Logical Security
Integrating Physical And Logical SecurityJorge Sebastiao
 

Was ist angesagt? (20)

Confidentiality policies UNIT 2 (CSS)
Confidentiality policies UNIT 2 (CSS)Confidentiality policies UNIT 2 (CSS)
Confidentiality policies UNIT 2 (CSS)
 
What is pentest
What is pentestWhat is pentest
What is pentest
 
CIS14: Physical and Logical Access Control Convergence
CIS14: Physical and Logical Access Control ConvergenceCIS14: Physical and Logical Access Control Convergence
CIS14: Physical and Logical Access Control Convergence
 
Security Intelligence: Advanced Persistent Threats
Security Intelligence: Advanced Persistent ThreatsSecurity Intelligence: Advanced Persistent Threats
Security Intelligence: Advanced Persistent Threats
 
Physical Security In The Workplace
Physical Security In The WorkplacePhysical Security In The Workplace
Physical Security In The Workplace
 
Secure SDLC in mobile software development.
Secure SDLC in mobile software development.Secure SDLC in mobile software development.
Secure SDLC in mobile software development.
 
Računalna forenzika i automatizirani odgovor na mrežne incidente
Računalna forenzika i automatizirani odgovor na mrežne incidenteRačunalna forenzika i automatizirani odgovor na mrežne incidente
Računalna forenzika i automatizirani odgovor na mrežne incidente
 
Combating Advanced Persistent Threats with Flow-based Security Monitoring
Combating Advanced Persistent Threats with Flow-based Security MonitoringCombating Advanced Persistent Threats with Flow-based Security Monitoring
Combating Advanced Persistent Threats with Flow-based Security Monitoring
 
Threat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsThreat Modeling for the Internet of Things
Threat Modeling for the Internet of Things
 
Apt sharing tisa protalk 2-2554
Apt sharing tisa protalk 2-2554Apt sharing tisa protalk 2-2554
Apt sharing tisa protalk 2-2554
 
Health Information Privacy and Security
Health Information Privacy and SecurityHealth Information Privacy and Security
Health Information Privacy and Security
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
Declaration of Mal(WAR)e
Declaration of Mal(WAR)eDeclaration of Mal(WAR)e
Declaration of Mal(WAR)e
 
Practical Application of Physical Security Criteria
Practical Application of Physical Security CriteriaPractical Application of Physical Security Criteria
Practical Application of Physical Security Criteria
 
Physical Security Assessment
Physical Security AssessmentPhysical Security Assessment
Physical Security Assessment
 
Penetration testing reporting and methodology
Penetration testing reporting and methodologyPenetration testing reporting and methodology
Penetration testing reporting and methodology
 
Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...Security Culture from Concept to Maintenance: Secure Software Development Lif...
Security Culture from Concept to Maintenance: Secure Software Development Lif...
 
Ethical Hacking Conference 2015- Building Secure Products -a perspective
 Ethical Hacking Conference 2015- Building Secure Products -a perspective Ethical Hacking Conference 2015- Building Secure Products -a perspective
Ethical Hacking Conference 2015- Building Secure Products -a perspective
 
Computing safety
Computing safetyComputing safety
Computing safety
 
Integrating Physical And Logical Security
Integrating Physical And Logical SecurityIntegrating Physical And Logical Security
Integrating Physical And Logical Security
 

Ähnlich wie XBOSoft Mobile Security Webinar with Jon D. Hagar

Use Combinatorial Testing for Mobile Device Fragmentation
Use Combinatorial Testing for Mobile Device FragmentationUse Combinatorial Testing for Mobile Device Fragmentation
Use Combinatorial Testing for Mobile Device FragmentationJosiah Renaudin
 
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingImplement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingJosiah Renaudin
 
How to Break Software: Embedded Edition
How to Break Software: Embedded EditionHow to Break Software: Embedded Edition
How to Break Software: Embedded EditionTechWell
 
Exploratory testing and the mobile tester : A presentation by Jon Hagar
Exploratory testing and the mobile tester : A presentation by Jon HagarExploratory testing and the mobile tester : A presentation by Jon Hagar
Exploratory testing and the mobile tester : A presentation by Jon HagarGallop Solutions
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentTechWell
 
Software Testing Attacks for Mobile and Embedded Devices
Software Testing Attacks for Mobile and Embedded DevicesSoftware Testing Attacks for Mobile and Embedded Devices
Software Testing Attacks for Mobile and Embedded DevicesXBOSoft
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentTechWell
 
It's Your Move: The Changing Game of Endpoint Security
It's Your Move: The Changing Game of Endpoint SecurityIt's Your Move: The Changing Game of Endpoint Security
It's Your Move: The Changing Game of Endpoint SecurityLumension
 
The Role of Application Control in a Zero-Day Reality
The Role of Application Control in a Zero-Day RealityThe Role of Application Control in a Zero-Day Reality
The Role of Application Control in a Zero-Day RealityLumension
 
Application Whitelisting - Complementing Threat centric with Trust centric se...
Application Whitelisting - Complementing Threat centric with Trust centric se...Application Whitelisting - Complementing Threat centric with Trust centric se...
Application Whitelisting - Complementing Threat centric with Trust centric se...Osama Salah
 
Asegurarme de la Seguridad?, Un Vistazo al Penetration Testing
Asegurarme de la Seguridad?, Un Vistazo al Penetration TestingAsegurarme de la Seguridad?, Un Vistazo al Penetration Testing
Asegurarme de la Seguridad?, Un Vistazo al Penetration TestingSoftware Guru
 
The Incident Response Playbook for Android and iOS
The Incident Response Playbook for Android and iOSThe Incident Response Playbook for Android and iOS
The Incident Response Playbook for Android and iOSPriyanka Aash
 
Security Testing for Testing Professionals
Security Testing for Testing ProfessionalsSecurity Testing for Testing Professionals
Security Testing for Testing ProfessionalsTechWell
 
Vulnerability Ass... Penetrate What?
Vulnerability Ass... Penetrate What?Vulnerability Ass... Penetrate What?
Vulnerability Ass... Penetrate What?Jorge Orchilles
 
Prevent Getting Hacked by Using a Network Vulnerability Scanner
Prevent Getting Hacked by Using a Network Vulnerability ScannerPrevent Getting Hacked by Using a Network Vulnerability Scanner
Prevent Getting Hacked by Using a Network Vulnerability ScannerGFI Software
 
InformationSecurity.ppt
InformationSecurity.pptInformationSecurity.ppt
InformationSecurity.pptAnshikaGoel42
 

Ähnlich wie XBOSoft Mobile Security Webinar with Jon D. Hagar (20)

Use Combinatorial Testing for Mobile Device Fragmentation
Use Combinatorial Testing for Mobile Device FragmentationUse Combinatorial Testing for Mobile Device Fragmentation
Use Combinatorial Testing for Mobile Device Fragmentation
 
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingImplement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
 
How to Break Software: Embedded Edition
How to Break Software: Embedded EditionHow to Break Software: Embedded Edition
How to Break Software: Embedded Edition
 
Exploratory testing and the mobile tester : A presentation by Jon Hagar
Exploratory testing and the mobile tester : A presentation by Jon HagarExploratory testing and the mobile tester : A presentation by Jon Hagar
Exploratory testing and the mobile tester : A presentation by Jon Hagar
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
 
Software Testing Attacks for Mobile and Embedded Devices
Software Testing Attacks for Mobile and Embedded DevicesSoftware Testing Attacks for Mobile and Embedded Devices
Software Testing Attacks for Mobile and Embedded Devices
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
 
It's Your Move: The Changing Game of Endpoint Security
It's Your Move: The Changing Game of Endpoint SecurityIt's Your Move: The Changing Game of Endpoint Security
It's Your Move: The Changing Game of Endpoint Security
 
The Role of Application Control in a Zero-Day Reality
The Role of Application Control in a Zero-Day RealityThe Role of Application Control in a Zero-Day Reality
The Role of Application Control in a Zero-Day Reality
 
Application security
Application securityApplication security
Application security
 
Application Whitelisting - Complementing Threat centric with Trust centric se...
Application Whitelisting - Complementing Threat centric with Trust centric se...Application Whitelisting - Complementing Threat centric with Trust centric se...
Application Whitelisting - Complementing Threat centric with Trust centric se...
 
Regan, Keller, SF State Securing the vendor mr&ak
Regan, Keller, SF State Securing the vendor mr&akRegan, Keller, SF State Securing the vendor mr&ak
Regan, Keller, SF State Securing the vendor mr&ak
 
Asegurarme de la Seguridad?, Un Vistazo al Penetration Testing
Asegurarme de la Seguridad?, Un Vistazo al Penetration TestingAsegurarme de la Seguridad?, Un Vistazo al Penetration Testing
Asegurarme de la Seguridad?, Un Vistazo al Penetration Testing
 
The Incident Response Playbook for Android and iOS
The Incident Response Playbook for Android and iOSThe Incident Response Playbook for Android and iOS
The Incident Response Playbook for Android and iOS
 
Cn35499502
Cn35499502Cn35499502
Cn35499502
 
Security Testing for Testing Professionals
Security Testing for Testing ProfessionalsSecurity Testing for Testing Professionals
Security Testing for Testing Professionals
 
Vulnerability Ass... Penetrate What?
Vulnerability Ass... Penetrate What?Vulnerability Ass... Penetrate What?
Vulnerability Ass... Penetrate What?
 
NetWitness
NetWitnessNetWitness
NetWitness
 
Prevent Getting Hacked by Using a Network Vulnerability Scanner
Prevent Getting Hacked by Using a Network Vulnerability ScannerPrevent Getting Hacked by Using a Network Vulnerability Scanner
Prevent Getting Hacked by Using a Network Vulnerability Scanner
 
InformationSecurity.ppt
InformationSecurity.pptInformationSecurity.ppt
InformationSecurity.ppt
 

Mehr von XBOSoft

Agile Metrics to Boost Software Quality improvement
Agile Metrics to Boost Software Quality improvementAgile Metrics to Boost Software Quality improvement
Agile Metrics to Boost Software Quality improvementXBOSoft
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrXBOSoft
 
AI Based Test Automation Without AI
AI Based Test Automation Without AIAI Based Test Automation Without AI
AI Based Test Automation Without AIXBOSoft
 
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter VarholWhat Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter VarholXBOSoft
 
Agile User Acceptance Testing - Incorporating UAT into Agile
Agile User Acceptance Testing - Incorporating UAT into AgileAgile User Acceptance Testing - Incorporating UAT into Agile
Agile User Acceptance Testing - Incorporating UAT into AgileXBOSoft
 
Challenges in Using Big Data for Software QA
Challenges in Using Big Data for Software QAChallenges in Using Big Data for Software QA
Challenges in Using Big Data for Software QAXBOSoft
 
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...XBOSoft
 
Proactive SQA™ Shifting Left w/Proactive Software Quality Practices
Proactive  SQA™ Shifting Left w/Proactive Software Quality PracticesProactive  SQA™ Shifting Left w/Proactive Software Quality Practices
Proactive SQA™ Shifting Left w/Proactive Software Quality PracticesXBOSoft
 
Mobile Testing Challenges and Solutions XBOSoft Webinar
Mobile Testing Challenges and Solutions XBOSoft WebinarMobile Testing Challenges and Solutions XBOSoft Webinar
Mobile Testing Challenges and Solutions XBOSoft WebinarXBOSoft
 
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile Teams
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile TeamsHeidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile Teams
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile TeamsXBOSoft
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft
 
PSQT Keynote: Quality Challenges in the Internet of Things Era
PSQT Keynote: Quality Challenges in the Internet of Things EraPSQT Keynote: Quality Challenges in the Internet of Things Era
PSQT Keynote: Quality Challenges in the Internet of Things EraXBOSoft
 
7 Habits of Highly Effective Agile Testing - Test Istanbul
7 Habits of Highly Effective Agile Testing - Test Istanbul7 Habits of Highly Effective Agile Testing - Test Istanbul
7 Habits of Highly Effective Agile Testing - Test IstanbulXBOSoft
 
Managing Agile Software Projects With Risk and Uncertainty
Managing Agile Software Projects With Risk and UncertaintyManaging Agile Software Projects With Risk and Uncertainty
Managing Agile Software Projects With Risk and UncertaintyXBOSoft
 
Top IOT Testing Challenges Webinar with Jon Hagar
Top IOT Testing Challenges Webinar with Jon HagarTop IOT Testing Challenges Webinar with Jon Hagar
Top IOT Testing Challenges Webinar with Jon HagarXBOSoft
 
Testing in Agile with Coaching Agile Journeys and XBOSoft
Testing in Agile with Coaching Agile Journeys and XBOSoftTesting in Agile with Coaching Agile Journeys and XBOSoft
Testing in Agile with Coaching Agile Journeys and XBOSoftXBOSoft
 
Using JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingUsing JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingXBOSoft
 
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...XBOSoft
 
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...XBOSoft
 
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip Lew
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip LewWhen Agile is a Quality Game Changer Webinar - Michael Mah, Philip Lew
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip LewXBOSoft
 

Mehr von XBOSoft (20)

Agile Metrics to Boost Software Quality improvement
Agile Metrics to Boost Software Quality improvementAgile Metrics to Boost Software Quality improvement
Agile Metrics to Boost Software Quality improvement
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and Zephyr
 
AI Based Test Automation Without AI
AI Based Test Automation Without AIAI Based Test Automation Without AI
AI Based Test Automation Without AI
 
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter VarholWhat Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
 
Agile User Acceptance Testing - Incorporating UAT into Agile
Agile User Acceptance Testing - Incorporating UAT into AgileAgile User Acceptance Testing - Incorporating UAT into Agile
Agile User Acceptance Testing - Incorporating UAT into Agile
 
Challenges in Using Big Data for Software QA
Challenges in Using Big Data for Software QAChallenges in Using Big Data for Software QA
Challenges in Using Big Data for Software QA
 
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...
 
Proactive SQA™ Shifting Left w/Proactive Software Quality Practices
Proactive  SQA™ Shifting Left w/Proactive Software Quality PracticesProactive  SQA™ Shifting Left w/Proactive Software Quality Practices
Proactive SQA™ Shifting Left w/Proactive Software Quality Practices
 
Mobile Testing Challenges and Solutions XBOSoft Webinar
Mobile Testing Challenges and Solutions XBOSoft WebinarMobile Testing Challenges and Solutions XBOSoft Webinar
Mobile Testing Challenges and Solutions XBOSoft Webinar
 
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile Teams
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile TeamsHeidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile Teams
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile Teams
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
 
PSQT Keynote: Quality Challenges in the Internet of Things Era
PSQT Keynote: Quality Challenges in the Internet of Things EraPSQT Keynote: Quality Challenges in the Internet of Things Era
PSQT Keynote: Quality Challenges in the Internet of Things Era
 
7 Habits of Highly Effective Agile Testing - Test Istanbul
7 Habits of Highly Effective Agile Testing - Test Istanbul7 Habits of Highly Effective Agile Testing - Test Istanbul
7 Habits of Highly Effective Agile Testing - Test Istanbul
 
Managing Agile Software Projects With Risk and Uncertainty
Managing Agile Software Projects With Risk and UncertaintyManaging Agile Software Projects With Risk and Uncertainty
Managing Agile Software Projects With Risk and Uncertainty
 
Top IOT Testing Challenges Webinar with Jon Hagar
Top IOT Testing Challenges Webinar with Jon HagarTop IOT Testing Challenges Webinar with Jon Hagar
Top IOT Testing Challenges Webinar with Jon Hagar
 
Testing in Agile with Coaching Agile Journeys and XBOSoft
Testing in Agile with Coaching Agile Journeys and XBOSoftTesting in Agile with Coaching Agile Journeys and XBOSoft
Testing in Agile with Coaching Agile Journeys and XBOSoft
 
Using JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingUsing JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance Testing
 
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
 
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...
 
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip Lew
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip LewWhen Agile is a Quality Game Changer Webinar - Michael Mah, Philip Lew
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip Lew
 

XBOSoft Mobile Security Webinar with Jon D. Hagar

  • 2. XBOSoft info lFounded in 2006 lDedicated to software quality •Software QA consulting •Software testing services lOffices in San Francisco, Beijing, Oslo and Amsterdam
  • 3. Housekeeping •Everyone except the speaker is muted •Questions via the gotowebinar control on the right side of your screen •Questions can be asked throughout the webinar, we’ll try to fit them in when appropriate •General Q & A at the end of the webinar •You will receive info on recording after the webinar
  • 5. Jon Hagar Copyright 2013 How to Attack Embedded Software Jon Hagar Jon.d.hagar@gmail.com
  • 6. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Agenda Definitions and Concepts Problem and Context Attack based testing to find security issues Specific samples Historic attacks And yet more attacks Impact to Engineering Domains Summary
  • 7. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Mobile, Smart, and Handheld As the names imply, these are small, hand held devices that are often connected to communication networks, including Cell and smart phones – apps Tablets Medical devices Typically these devices have: Many of the features of classic “embedded” systems (and problems) Many of the power and capabilities of PCs/IT (and problems) More/different user interfaces (UI) and hardware configurations (1000s) Fast updates Are getting more power, memory, and features (software, e.g., apps) Initialization, noise, power up/down, timers, sensors, etc. Often resource constrained: RAM, ROM, stack, power, speed, time, etc. These are “hot” areas of computers and software Security and testing rules are “evolving”
  • 8. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Security Keep physical and logical system elements safe from harm, compromise, or adverse consequences. In the Mobile World Security of internal information Security of transmitted information Security from external threats (usually logical)
  • 9. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Definition: Fundamental Software Capabilities Dr. James Whittaker lists these 4 Software accepts inputs from its environment Software produces output and transmits it to its environment Software stores data internally in one or more data structures Software performs computations using input or stored data Mobile software can be refined with Mobile with wireless network connections of variable strength Many kinds of hardware Many Apps Large amounts of software Features of the embedded world (sensors, control, critical features…)
  • 10. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Other Definitions (for this presentation) Taxonomy - the practice and science of classification. Test – the act of conducting experiments on something to determine the quality and provide information Test case – One set of inputs, environmental set up, and results (expected and unexpected) Attack – to set up, forcefully, and attempt to “damage” the system or software, using tools, and techniques, may use one or more test cases or procedures Bug (error) – Results that depart from the expected (from requirements, design, standards, user, etc.) Lifecycle – From beginning-to-end, the steps, stages, and activities to create the system (birth-to-death) Procedure – a particular way of accomplishing tests, usually written (one or more test cases) Scenario – a sequence of events with a test plot or story Script – see procedure, normally uses automation Users – someone/something that interacts with the system/software (can be human or machine) Quality – Value to someone that they will pay for
  • 11. Jon Hagar Copyright 2013 How to Attack Embedded Software
  • 12. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software The Current Situation Mobile and embedded systems are highly integrated hardware–software–system solutions which: Must be highly trustworthy since they handle sensitive data Often perform critical tasks Security holes and problems abound  - Android •static analysis test attack found 0.47 defects per 1000 SLOC •359 defects in total, 88 of which were considered “high risk” in the security domain OS hole Andriod with Angry Birds (researchers Jon Oberheide and Zach Lanier) Robots and Drones rumored to be attacked Cars and medical devices being hacked
  • 13. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Other Data Points (scary from the embedded world) Davis-Besse nuclear plant - Attack Oil and Gas industry impacts Night Dragon Shamoon Infrastructure Harrisburg water plant attack Texas waste treatment plant hack Even some reports of criminal “black mail”
  • 14. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software World Change: Mobile Security Security remains focused on PC/IT networks (web), and “Traditional” software More recently with. . . Mobile usage over taking PC/IT Lost or stolen devices Networked/Smart devices and system are open to hacks •e.g. GPS spoofing •Worms, virus, attacks, etc….. Physical and logical security concerns will increase
  • 15. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Design & Code Errors Produce Software Cyber Vulnerabilities Features/capabilities are known Some might say all features are known but there can be “undocumented” features In perfect software, we would not need to be concerned with security vulnerabilities because we could just “build it” secure But many vulnerabilities come from errors or are “accidently” introduced by new use situations
  • 16. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Mobile Security Concerns (partial list) Fraud – Identity Theft Worms, virus, etc Fault injection Error exploitation Processing on the run Hacks and attacks that impact Power Memory CPU usage Eavesdropping – yes everyone can hear you Hijacking Click-jacking Voice/Screen capture Physical Hacks File snooping Lost phone
  • 17. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software POLL: Is Mobile Security a Concern for you?
  • 18. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Security and Vulnerability Actions for Mobile and Embedded Devices Prepare for theft or loss of devices (encryption, IT controls, memory wipe programs, etc.) Establish physical control (locked door and limited access to facilities -historic) IT operations (VPN, network control, access monitors, registry logon) Prevent development and test processes such as, developers leaving back doors in the code, testers doing something they shouldn’t when they shouldn’t Software bugs we need to test for (this presentation) Work third part operating systems and COTS bugs (Use/promote secure OS, encrypted files, authenticated files, trusted software, etc.) Regulatory and legal constraints (ISO – 12207, 15288, 29119, and IEEE 1012 into government “use”) Attack test data/file input and output (this presentation) Attack tests impersonation (this presentation)
  • 19. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Teams Need to Know the Bug (software error) Mobile software has similar defects to traditional software Requirements & Design Logic & Math Control Flow Data Initialization & Mode changes Interfaces Security Game interfaces etc. lMobile adds defects/issues lFast and “incomplete” development cycles lMany many kinds of apps and hardware lSmall amounts of dense complex functions l(a BIG one) Performance issues Do you have a taxonomy of your bugs?
  • 20. Jon Hagar Copyright 2013 How to Attack Embedded Software
  • 21. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software What is an Attack Attacking your software system – In part, the process of attempting to demonstrate that a system (hardware, software, and operations) does not meet requirements or functional and non-functional objectives Embedded/handheld software testing must include “the system” (hardware, software, servers, operations, users, etc.) Attacks go after common modes of failure and bugs, attempting to demonstrate that “does not meet” exists
  • 22. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software An Attack Is. . . Based on a common mode of failure seen over and over Maybe seen as a negative, when it is really a positive Goes after the “bugs” Based on or using classic test techniques and test concepts Testers learn these after years and form a mental model (most good testers attack) I offer a few embedded attacks Based on literature research of published bugs Be suspicious
  • 23. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Attack: Identity Security Fraud Apply when the device is mobile/embedded and has Account numbers User ids and passwords Location tags Restricted data Current authentication approaches in use on embedded/mobile devices Server based Registry (user/password) Location-device based Profile based Privacy
  • 24. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Mobile Software Attacks Sub-attack: Identity Fraud Spoofing – who am I and where am I, or not  In this sub-attack, the tester is trying to fool or spoof the device/app on identity and/or location  The tester should see if the identity can be “hijacked”  Hagerman (Unpublished PhD work) reports how to do this using Wireshark tool to sniff and decode data being broadcast.
  • 25. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Next Approach: Attack Location Location used as part identity? Check how the location is used – Is authorization temporary or permanent? If temporary, the attack should check for remnant data files Use development tools and/or the OS to poke around in the file system Warning, the file may be encrypted, in which case you may need a file encryption cracker for that type of file/encryption, e.g. pkcrack  If file is not temporary, the tester next needs to determine if any of the permanent information can be accessed, abused, or corrupted In many devices and apps, this data should be encrypted, and here again apply the cracking encryption tools How hard or easy is it to read the file (text – bad -> encrypted better)? .
  • 26. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Spoofing Location and User Once you have the location-identity file information, ask yourself “can I spoof the location either inside of the device or what is broadcasting?” Each system/app will be structured differently Closely related to location-identify spoofing is the user profile spoof, if used Here the tester attempts to take over an identity by understanding how user profile checks work (or don’t) This will require understanding the internal data points of what your system is checking Use factors to look for are: location, time, where transactions are occurring, types of transactions, money amounts in transactions, provider/store, product, signal location/type, and biometric data Input them to the system; determine if the server gets confused and gives or uses “the wrong/sensitive” data
  • 27. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Yet More Attacks (outline)  Attack: App configuration update  Attack: Embedded phishing  Attack: Virus/malware embedded in a hijacked apps  Attack: OS and other (NOT) “trusted” COTS software Ref. Whittaker and Hagerman
  • 28. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Attack 28 Penetration Attack Test – mobile and embedded Attack 29.1 Identity Social Engineering Attack 30: Spoofing Attacks Attack 30.1 Location and/or User Profile Spoof Attack 30.2 GPS Spoof Sub–Attack Attack 31: Attacking Viruses on the Run in Factories or PLCs Software Test Attacks to Break Mobile and Embedded Devices
  • 29. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Whittaker’s And Thompson’s Attacks Numbe r Attack name Applicable to mobile- embedded 1 Block access to libraries and/or OS internals yes 2 Manipulate the application's registry values yes 3 Force the application to use corrupt files yes 4 Manipulate and replace files that the application creates, reads from, writes to, or executes yes 5 Force the application to operate in low memory, disk-device, and network availability yes 6 Overflow input buffers yes 7 Examine all common switches and options yes 8 Explore escape characters, character sets, and commands yes 9 Try common default and test account names and passwords yes 10 Use a tool to expose unprotected APIs yes 11 Connect to all ports yes 12 Fake the source of data yes 13 Create loop conditions in any app that interprets script, code, or other user-supplied logic yes 14 Use alternate routes (in the app) to accomplish the same task yes 15 Force the system to reset values yes 17 Create files with the same name as files protected with a higher classification yes 18 Force all error messages yes 19 Use a tool to look for temporary files and screen their contents for sensitive info yes
  • 30. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Many More Attacks Exist Simply doing Verification checking of requirements in testing is not enough Some say “Wait, let the bad guys find the holes” But for many mobile-embedded systems this is not a good idea Progressive organization put forth a good offense as well as defense Attack testing before the bad guys do
  • 31. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Bottom line Defenses should include Device security – registration, wipe/disable programs, encryption, monitoring, cloud Development - requirements specification, software design, construction, and support processes such as configuration management. Operations/IT - governance, product controls, access limitations, physical security, and cyber-security Functional and non-functional security testing - Attacks in development and after deployment in operations
  • 32. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software POLL: Are you testing Mobile Devices/Apps now?
  • 33. Jon Hagar Copyright 2013 How to Attack Embedded Software
  • 34. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Summary of My Favorite AttacksNamed Attack Apply Against Example Considerations Penetration Attack Account numbers/user ids Use tools to gain access e.g., pkcrack Passwords Check common passwords that may be vulnerable, using password hacking tools or checklists Usage profiles The pattern of how the software or device is used to expose vulnerabilities Location tags for embedded/mobile devices Where is the device, are tags temporary as the device moves, and what is reported to an open network (cellular, Wi-Fi, etc.)? Fuzz Testing Sub Attack External inputs e.g., user ids passwords Use fuzzing tool to attack the external interfaces Spoofing Attack “Hijacked” Identity Use spoofing tools in the “sand box” test environments GPS spoofing for mobile/embedded devices Requires specialized equipment and labs. But for devices dependent on GPS, this may be a “high” risk factor "Social Engineering" spoof Attack like the hackers who use many sources of information to gain an advantage File checking attack "Hidden" files with unsecured data Look for hidden or unsecure/non-encrypted files [6] Encryption (or lack thereof) Is there restricted data perhaps hidden in mobile and embedded file systems which may be “temporary” and/or not encrypted properly? Good encryption patterns Where did the algorithm(s) come from and how vulnerable is it? Breaking Software Security Use classic IT/PC/web attacks many of which are applicable to mobile and embedded See Whittaker’s book [4] for 20 attacks that can be applied to mobile hybrid/web apps Virus Attack Off-the-shelf software Test for counterfeit logic such as mobile and embedded viruses, malware, etc. Third party software Many viruses are embedded in fun apps that users download particularly on “bring your own devices” Operating System Can it be trusted? Bring your own mobile device Threat from unsecured users Trojan horses Can the tester use email, hacked apps, or other files to get “inside” of the defenses Embedded multi-tier system For example Stuxnet and its offspring
  • 35. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software How to Increase you Security Skills Testers looking to become cyber-security test warriors need to develop the following skills (not just tool expertise or product knowledge) - The ability to apply the attacks and synthesize their own attacks - Critical thinking, including the ability to think like the bad guys - Exploratory attack testing (my list is only a start) - Following the “smells” of the software bugs (small hints of a bug or vulnerability) - Automation, modeling, and math - Risk based testing - General test information, processes, techniques, and documentation
  • 36. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Test Engineering Test needs to do the “standard” efforts, and needs to play the “bad guys” Hacking attacks Vulnerabilities Test to provide information from day one, so the team can plug the holes based on attack information At the end of a development cycle, get really nasty Some tester are really good at that Practice Practice Practice, Learn, and the repeat
  • 37. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Warnings To Testers Security attacks and testing must be done with the knowledge and approval of owners of the system and software Severe legal implications exist in this area Many of these attacks must be done in a test lab (sandbox) and not in the field In these attacks I tell you conceptually how to “drive a car very fast (150 miles an hour) but there are places to do this with a car legally (a race track) and places where you will get a ticket (most public streets)” Be forewarned - Do not go attack you favorite app on your phone or connected server without the right permissions due to the legal implications
  • 38. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Summary These attacks are just starting points Mobile device use, features, and connections will grow meaning that security threats and vulnerabilities will increase -- I see a great need for mobile security testers Be careful—there are impacts in all effort domains Systems Software Hardware Support and Operations
  • 39. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software POLL: What is the status of your Mobile Security Testing?
  • 40. Jon Hagar Copyright 2013 How to Attack Embedded Software
  • 41. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Thanks (ideas used from) James Whittaker (attacks) Elisabeth Hendrickson (sims) Lee Copeland (techniques) Brian Merrick (testing) James Bach (tours and thinking) Cem Kaner (test thinking) Phil Lew (support good testing and this meeting) Many teachers Generations past and future Books, references, etc.
  • 42. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Book List (favorites that I use) Software Test Attacks to Break Mobile and Embedded Devices, Jon D. Hagar 2013 How to Break Software Security, Whittaker & Thompson •And Whittaker’s other “How To Break…” books A Practitioner’s Guide to Software Test Design , Copeland, 2004 Honorable mentions: “Embedded System and Software Validation” Roychoudhury 2009 “Systems Testing with an Attitude” 2005 “Software System Testing and Quality Assurance” Beizer 1987 “Testing Computer Software” Kaner et. al. 1988 “Systematic Software Testing” Craig & Jaskiel, 2001 “Managing the Testing Process” Black 2002 “Hacking Exposed” McClure, Scambray, Kurtz Y. Tadjdeh, “Industry, military emphasize need for “Cyberwarrror” training as attacks increase”, National Defense Magazine, Dec. 2013 J Scambray, S. McClure, G. Kurtz, “Hacking Exposed”, McGraw Hill
  • 43. Jon Hagar Copyright 2014 How to Attack Embedded SoftwareHow to Attack Embedded Software Resources •Association of Software Testing Offers Free Classes on Testing
  • 44. Q and A Need Assistance With Mobile (Security) QA? services@xbosoft.com @XBOSoft