Book description
This book presents an attack basis for testing mobile and embedded systems in "smart" devices. It explains patterns and techniques ranging from simple mind mapping to sophisticated test labs. For traditional testers moving into the mobile and embedded area, the book bridges the gap between IT and mobile/embedded system testing. It illustrates how to apply both traditional and new approaches. For those working with mobile/embedded systems without an extensive background in testing, the book brings together testing ideas, techniques, and solutions that are immediately applicable to testing smart and mobile devices.
Table of contents
- Foreword by Dorothy Graham
- Foreword by Lisa Crispin
- Preface
- Acknowledgments
- Copyright and Trademarks Declaration Page
- Introduction
- Author
-
Chapter 1 - Setting the Mobile and Embedded Framework
- Objectives of Testing Mobile and Embedded Software Systems
- What Is Embedded Software?
- What Are “Smart” Handheld and Mobile Systems?
- Why Mobile and Embedded Attacks?
- Framework for Attacks
- Beginning Your Test Strategy
- Attacks on Mobile and Embedded Software
- If You Are New to Testing
- An Enlightened Tester Makes a Better Tester
- Exercises (Answers Are on My Website)
- References
- Chapter 2 - Developer Attacks: Taking the Code Head On
-
Chapter 3 - Control System Attacks
- Attack 4: Finding Hardware–System Unhandled Uses in Software
- Attack 5: Hardware-to-Software and Software-to-Hardware Signal Interface Bugs
- Attack 6: Long-Duration Control Attack Runs
- Attack 7: Breaking Software Logic and/or Control Laws
- Attack 8: Forcing the Unusual Bug Cases
- Exercises (Answers Are on My Website)
- References
-
Chapter 4 - Hardware Software Attacks
- Attack 9: Breaking Software with Hardware and System Operations
- Sub-Attack 9.1: Breaking Battery Power
- Attack 10: Finding Bugs in Hardware–Software Communications
- Attack 11: Breaking Software Error Recovery
- Attack 12: Interface and Integration Testing
- Sub-Attack 12.1: Configuration Integration Evaluation
- Attack 13: Finding Problems in Software–System Fault Tolerance
- Exercises (Answers Are on My Website)
- References
- Chapter 5 - Mobile and Embedded Software Attacks
-
Chapter 6 - Time Attacks: “It’s about Time”
- Attack 18: Bugs in Timing Interrupts and Priority Inversions
- State Modeling Example
- Attack 19: Finding Time-Related Bugs
- Attack 20: Time-Related Scenarios, Stories, and Tours
- Attack 21: Performance Testing Introduction
- Supporting Concepts
- Completing and Reporting the Performance Attack
- Wrapping Up
- Exercises (Answers Are on My Website)
- References
- Chapter 7 - Human User Interface Attacks: “The Limited (and Unlimited) User Interface”
- Chapter 8 - Smart and/or Mobile Phone Attacks
-
Chapter 9 - Mobile/Embedded Security
- The Current Situation
- Reusing Security Attacks
- Attack 28: Penetration Attack Test
- Attack 28.1: Penetration Sub-Attacks: Authentication—Password Attack
- Attack 28.2: Sub-Attack Fuzz Test
- Attack 29: Information Theft—Stealing Device Data
- Attack 29.1: Sub-Attack—Identity Social Engineering
- Attack 30: Spoofing Attacks
- Attack 30.1: Location and/or User Profile Spoof Sub-Attack
- Attack 30.2: GPS Spoof Sub-Attack
- Attack 31: Attacking Viruses on the Run in Factories or PLCs
- Exercises (Answers Are on My Website)
- References
- Chapter 10 - Generic Attacks
-
Chapter 11 - Mobile and Embedded System Labs
- Introduction to Labs
- To Start
- Test Facilities
- Why Should a Tester Care?
- What Problem Does a Test Lab Solve?
- Staged Evolution of a Test Lab
- Simulation Environments
- Prototype and Early Development Labs
- Development Support Test Labs
- Integration Labs
- Pre-Product and Product Release (Full Test Lab)
- Field Labs
- Other Places Labs Can Be Realized
- Developing Labs: A Project inside of a Project
- Planning Labs
- Requirement Considerations for Labs
- Functional Elements for a Developer Support Lab
- Functional Elements for a Software Test Lab
- Test Lab Design Factors
- Lab Implementation
- Lab Certification
- Operations and Maintenance in the Lab
- Lab Lessons Learned
- Automation Concepts for Test Labs
- Tooling to Support Lab Work
- Test Data Set-Up
- Test Execution: For Developer Testing
- Test Execution: General
- Product and Security Analysis Tools
- Tools for the Lab Test Results Recording
- Performance Attack Tooling
- Basic and Generic Test Support Tools
- Automation: Test Oracles for the Lab Using Modeling Tools
- Simulation, Stimulation, and Modeling in the Lab Test Bed
- Continuous Real-Time, Closed-Loop Simulations to Support Lab Test Environments
- Keyword-Driven Test Models and Environments
- Data Collection, Analysis, and Reporting
- PostTest Data Analysis
- PostTest Data Reporting
- Wrap Up: N-Version Testing Problems in Labs and Modeling
- Final Thoughts: Independence, Blind Spots, and Test Lab Staffing
- Exercises (Answers Are on My Website)
- References
-
Chapter 12 - Some Parting Advice
- Are We There Yet?
- Will You Get Started Today?
- Advice for the “Never Ever” Tester
- Bug Database, Taxonomies, and Learning from Your History
- Lessons Learned and Retrospectives
- Implementing Software Attack Planning
- Regression and Retest
- Where Do You Go from Here?
- Exercises (Answers Are on My Website)
- References
- Appendix A: Mobile and Embedded Error Taxonomy: A Software Error Taxonomy (for Testers)
- Appendix B: Mobile and Embedded Coding Rules
-
Appendix C: Quality First: “Defending the Source Code So That Attacks Are Not So Easy”
- Introduction
- Standards and Commonality: The Dark Side of Commercial or Third-Party Software, Code Reuse, and Operating Systems
- Off-the-Shelf and Software Reuse
- Everyone Hates Doing Documentation but Surely Misses It When They Need It
- Is Testing Dead?
- Summary: The P Word: Processes and Standards
- Bibliography
- Appendix D: Basic Timing Concepts
- Appendix E: Detailed Mapping of Attacks
- Appendix F: UI/GUI and Game Evaluation Checklist
- Appendix G: Risk Analysis, FMEA, and Brainstorming
- References
- Glossary
Product information
- Title: Software Test Attacks to Break Mobile and Embedded Devices
- Author(s):
- Release date: September 2013
- Publisher(s): Chapman and Hall/CRC
- ISBN: 9781498760140
You might also like
book
Mobile Malware Attacks and Defense
Malware has gone mobile, and the security landscape is changing quickly with emerging attacks on cell …
book
Microsoft Windows 2000 API SuperBible
Following in the tradition of the Win 95 and Win32 NT SuperBibles, this book is a …
book
Debugging Embedded and Real-Time Systems
Debugging Embedded and Real-Time Systems: The Art, Science, Technology and Tools of Real-Time System Debugging gives …
article
Use GitHub Copilot: Additional Tips
Using GitHub Copilot can feel like magic. The tool automatically fills out entire blocks of code--but …