Keynote Whit Taker

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Keynote Whit Taker as PDF for free.

More details

  • Words: 576
  • Pages: 7
How to Break Software James A. Whittaker, Ph.D. Professor of Computer Science Director of the Center for Information Assurance Florida Tech

What You Will See in This Talk ¾ Lots of bug demos – Live demos of really cool bugs you probably haven’t seen – New security bugs you surely haven’t seen ¾ Lots of ideas to help you find bugs faster ¾ Cool new testing tools that will allow you to

reach functionality you’ve never been able to test before

1

Users Use, Testers Test ¾ Any fool can stumble across bugs – Flailing around hoping to find bugs is a job for amateurs – Testers celebrate bugs! ¾ Real testing requires: – efficiency: finding bugs faster than normal use – effectiveness: finding bugs that users care about and that developers will fix – thoroughness: leaving no stone unturned

Mastering Software Testing ¾ Think about testing as an: – Art – Craft – Discipline ¾ Testing is a discipline; to master it, one

must train properly

– Strive for individual excellence – Ensure group learning takes place

2

Software Test Training ¾ Mastery requires the development of: – Understanding of: » software » bugs » failures » test techniques

– Intuition concerning: » correct software behavior » defective software behavior » and patterns of both

Understanding Behavior kernel

Software

Application Under Test

UI

file system

3

59 calls to 29 different functions (GetTickCount called nearly 700 times)

kernel any of these calls can succeed or fail establish interfaces to: mso9.dll Softuser32.dll ware gdi32.dll advapi.dll comctl32.dll ole32.dll

any of these can fail to initialize

Microsoft® PowerPoint® 2000

invoke

UI

any of these can fail to be read or be corrupt

file system opens and closes initialization files, persistent store, temporary files and working files

Tool Demo

Understanding Behavior kernel

inputs can be stored internally

stored data Software

Application Under Test

UI

computation outputs are produced via computation with inputs and stored data

file system

4

Testing Input Behaviors: Patterns of Attack 1. Force all error messages to occur 2. Force the software to establish default values 3. Explore allowable character sets and data types 4. Overflow input buffers 5. Find inputs that interact with other inputs 6. Repeatedly apply the same input/input sequence

Bug Demo

Testing Output Behaviors: Patterns of Attack 7. Force different outputs to be generated for each input 8. Force invalid outputs to be generated 9. Force output properties to change 10. Force the screen to be refreshed

Bug Demo

5

Testing Data Behaviors: Patterns of Attack 11. Apply inputs using a variety of initial conditions 12. Force a data structure to store too many/too few values 13. Investigate alternate ways to modify internal data constraints Bug Demo

Testing Computation Behaviors: Patterns of Attack 14. Experiment with invalid operand and operator combinations 15. Exploit recursion 16. Force computation results to be too large or too small 17. Find features that share data or interact poorly Bug Demo

6

How To Contact James A. Whittaker Snail Mail

The End

Department of Computer Sciences 150 W. University Boulevard Melbourne, Florida 32901-6975

E-mail & Web [email protected] www.howtobreaksoftware.com

Telephone 321 674 - 7638

Questions? Comments? Bug Stories?

Fax 321 674 - 7046

References ¾ J. A. Whittaker, How to Break Software

(Addison Wesley, Reading MA, 2002). ¾ J. A. Whittaker, “Software’s invisible users,” IEEE Software, 18, 3, pp. 84-88 (2001). ¾ J. A. Whittaker and H. H. Thompson, How to Break Software Security (Addison Wesley 2003.

7

Related Documents

Keynote Whit Taker
May 2020 11
Note Taker
April 2020 11
Keynote Slee
May 2020 12
Solver Whit Hp49 G
May 2020 8