新书报道
当前位置: 首页 >> 电类优秀教材 >> 正文
Software Test Attacks to Break Mobile and Embedded Devices
发布日期:2015-12-03  浏览

Software Test Attacks to Break Mobile and Embedded Devices

[BOOK DESCRIPTION]

Address Errors before Users Find Them Using a mix-and-match approach, Software Test Attacks to Break Mobile and Embedded Devices presents an attack basis for testing mobile and embedded systems. Designed for testers working in the ever-expanding world of "smart" devices driven by software, the book focuses on attack-based testing that can be used by individuals and teams. The numerous test attacks show you when a software product does not work (i.e., has bugs) and provide you with information about the software product under test. The book guides you step by step starting with the basics. 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                                           xi
          Dorothy Graham
Foreword                                           xiii
          Lisa Crispin
Preface                                            xv
Acknowledgments                                    xvii
Copyright and Trademarks Declaration Page          xix
Introduction                                       xxi
Author                                             xxxiii
    Chapter 1 Setting the Mobile and Embedded      1     (12)
    Framework
      Objectives Of Testing Mobile And Embedded    1     (1)
      Software Systems
      What Is Embedded Software?                   2     (1)
      What Are "Smart" Handheld And Mobile         3     (2)
      Systems?
      Why Mobile And Embedded Attacks?             5     (1)
      Framework For Attacks                        6     (1)
      Beginning Your Test Strategy                 6     (2)
      Attacks On Mobile And Embedded Software      8     (1)
      If You Are New To Testing                    9     (1)
      An Enlightened Tester Makes A Better         10    (3)
      Tester
    Chapter 2 Developer Attacks: Taking The        13    (20)
    Code Head On
        Attack 1 Static Code Analysis              14    (7)
        Attack 2 Finding White-Box Data            21    (4)
        Computation Bugs
        Attack 3 White-Box Structural Logic        25    (3)
        Flow Coverage
      Test Coverage Concepts For White-Box         28    (1)
      Structural Testing
      Note Of Concern In Mobile And Embedded       29    (4)
      Environments
    Chapter 3 Control System Attacks               33    (26)
        Attack 4 Finding Hardware-System           33    (6)
        Unhandled Uses In Software
        Attack 5 Hardware-To-Software And          39    (6)
        Software-To-Hardware Signal Interface
        Bugs
        Attack 6 Long-Duration Control Attack      45    (4)
        Runs
        Attack 7 Breaking Software Logic And/Or    49    (5)
        Control Laws
        Attack 8 Forcing The Unusual Bug Cases     54    (5)
    Chapter 4 Hardware Software Attacks            59    (30)
        Attack 9 Breaking Software With            59    (6)
        Hardware And System Operations
        Sub-Attack 9.1 Breaking Battery Power      65    (1)
        Attack 10 Finding Bugs In                  66    (3)
        Hardware-Software Communications
        Attack 11 Breaking Software Error          69    (5)
        Recovery
        Attack 12 Interface And Integration        74    (6)
        Testing
        Sub-Attack 12.1 Configuration              80    (1)
        Integration Evaluation
        Attack 13 Finding Problems In              80    (9)
        Software-System Fault Tolerance
    Chapter 5 Mobile And Embedded Software         89    (18)
    Attacks
        Attack 14 Breaking Digital Software        89    (5)
        Communications
        Attack 15 Finding Bugs In The Data         94    (3)
        Attack 16 Bugs In System-Software          97    (4)
        Computation
        Attack 17 Using Simulation And             101   (6)
        Stimulation To Drive Software Attacks
    Chapter 6 Time Attacks: "It's About Time"      107   (36)
        Attack 18 Bugs In Timing Interrupts And    108   (6)
        Priority Inversions
      State Modeling Example                       114   (25)
        Attack 19 Finding Time-Related Bugs        116   (5)
        Attack 20 Time-Related Scenarios,          121   (4)
        Stories, And Tours
        Attack 21 Performance Testing              125   (14)
        Introduction
      Supporting Concepts                          139   (1)
      Completing And Reporting The Performance     140   (1)
      Attack
      Wrapping Up                                  140   (3)
    Chapter 7 Human User Interface Attacks:        143   (16)
    "The Limited (and Unlimited) User Interface
      How To Get Started---The UI                  144   (15)
        Attack 22 Finding Supporting (User)        146   (3)
        Documentation Problems
        Sub-Attack 22.1 Confirming                 149   (1)
        Install-Ability
        Attack 23 Finding Missing Or Wrong         149   (4)
        Alarms
        Attack 24 Finding Bugs In Help Files       153   (6)
    Chapter 8 Smart And/Or Mobile Phone Attacks    159   (18)
      General Notes And Attack Concepts            159   (18)
      Applicable To Most Mobile-Embedded Devices
        Attack 25 Finding Bugs In Apps             161   (4)
        Attack 26 Testing Mobile And Embedded      165   (5)
        Games
        Attack 27 Attacking App-Cloud              170   (7)
        Dependencies
    Chapter 9 Mobile/Embedded Security             177   (32)
      The Current Situation                        178   (1)
      Reusing Security Attacks                     178   (31)
        Attack 28 Penetration Attack Test          180   (6)
        Attack 28.1 Penetration Sub-Attacks:       186   (2)
        Authentication'password Attack
        Attack 28.2 Sub-Attack Fuzz Test           188   (1)
        Attack 29 Information Theft-stealing       189   (4)
        Device Data
        Attack 29.1 Sub-Attack-identity Social     193   (1)
        Engineering
        Attack 30 Spoofing Attacks                 194   (5)
        Attack 30.1 Location And/Or User           199   (1)
        Profile Spoof Sub-Attack
        Attack 30.2 Gps Spoof Sub-Attack           200   (1)
        Attack 31 Attacking Viruses On The Run     201   (8)
        In Factories Or Plcs
    Chapter 10 Generic Attacks                     209   (12)
        Attack 32 Using Combinatorial Tests        209   (6)
        Attack 33 Attacking Functional Bugs        215   (6)
    Chapter 11 Mobile And Embedded System Labs     221   (52)
      Introduction To Labs                         221   (1)
      To Start                                     222   (1)
      Test Facilities                              223   (1)
      Why Should A Tester Care?                    224   (1)
      What Problem Does A Test Lab Solve?          225   (2)
      Staged Evolution Of A Test Lab               227   (1)
      Simulation Environments                      227   (1)
      Prototype And Early Development Labs         228   (1)
      Development Support Test Labs                228   (2)
      Integration Labs                             230   (1)
      Pre-Product And Product Release (Full        230   (1)
      Test Lab)
      Field Labs                                   230   (2)
      Other Places Labs Can Be Realized            232   (1)
      Developing Labs: A Project Inside Of A       233   (1)
      Project
      Planning Labs                                233   (1)
      Requirement Considerations For Labs          234   (1)
      Functional Elements For A Developer          234   (1)
      Support Lab
      Functional Elements For A Software Test      235   (1)
      Lab
      Test Lab Design Factors                      236   (2)
      Lab Implementation                           238   (1)
      Lab Certification                            238   (1)
      Operations And Maintenance In The Lab        239   (1)
      Lab Lessons Learned                          240   (1)
      Automation Concepts For Test Labs            241   (1)
      Tooling To Support Lab Work                  241   (2)
      Test Data Set-Up                             243   (1)
      Test Execution: For Developer Testing        244   (1)
      Test Execution: General                      245   (2)
      Product And Security Analysis Tools          247   (1)
      Tools For The Lab Test Results Recording     247   (1)
      Performance Attack Tooling                   248   (2)
      Basic And Generic Test Support Tools         250   (1)
      Automation: Test Oracles For The Lab         251   (2)
      Using Modeling Tools
      Simulation, Stimulation, And Modeling In     253   (3)
      The Lab Test Bed
      Continuous Real-Time, Closed-Loop            256   (3)
      Simulations To Support Lab Test
      Environments
      Keyword-Driven Test Models And               259   (1)
      Environments
      Data Collection, Analysis, And Reporting     260   (2)
      Posttest Data Analysis                       262   (3)
      Posttest Data Reporting                      265   (2)
      Wrap Up: N-Version Testing Problems In       267   (1)
      Labs And Modeling
      Final Thoughts: Independence, Blind          268   (5)
      Spots, And Test Lab Staffing
    Chapter 12 Some Parting Advice                 273   (6)
      Are We There Yet?                            273   (1)
      Will You Get Started Today?                  273   (1)
      Advice For The "Never Ever" Tester           273   (1)
      Bug Database, Taxonomies, And Learning       274   (1)
      From Your History
      Lessons Learned And Retrospectives           275   (1)
      Implementing Software Attack Planning        275   (2)
      Regression And Retest                        277   (1)
      Where Do You Go From Here?                   278   (1)
Appendix A Mobile And Embedded Error Taxonomy:     279   (10)
A Software Error Taxonomy (For Testers)
Appendix B Mobile And Embedded Coding Rules        289   (4)
Appendix C Quality First: "Defending The Source    293   (6)
Code So That Attacks Are Not So Easy,"
Appendix D Basic Timing Concepts                   299   (4)
Appendix E Detailed Mapping Of Attacks             303   (4)
Appendix F Ui/Gui And Game Evaluation Checklist    307   (6)
Appendix G Risk Analysis, Fmea, And                313   (6)
Brainstorming
References                                         319   (4)
Glossary                                           323   (6)
Index                                              329

关闭


版权所有:西安交通大学图书馆      设计与制作:西安交通大学数据与信息中心  
地址:陕西省西安市碑林区咸宁西路28号     邮编710049

推荐使用IE9以上浏览器、谷歌、搜狗、360浏览器;推荐分辨率1360*768以上