Designing and Building Secure Software
With material from Dave Levin, Mike Hicks, Adam Shostack
Designing and Building Secure Software With material from Dave - - PowerPoint PPT Presentation
Designing and Building Secure Software With material from Dave Levin, Mike Hicks, Adam Shostack Making secure software Flawed approach : Design and build software, ignore security at first Add security once the functional requirements
With material from Dave Levin, Mike Hicks, Adam Shostack
security at first
development process
N
e
Security Requirements Abuse Cases Code Review (with tools) Penetration Testing Security-oriented Design Risk-based Security Tests Threat Modeling
Phases Activities
Requirements Security Requirements Abuse Cases
do
be learned by, or modified by, another user (unless authorized)
passwords are “strong,” password database only accessible to login program.
balance) known only to the account owner
Bob’s bank balance to Alice
according to shorter delay on login failure
https://www.youtube.com/watch?v=Nlf7YM71k5U Secrecy vs. Privacy?
browse the bank site without being tracked
account holders as possible adversaries
unauthorized parties or computations
withdrawals from her account
confusing the system into doing it
for balance queries or withdrawals
compromise availability
provided by a system to enforce its requirements
authorization mechanism
should be authenticated
identity
factors are called multi-factor authentication
account, but not Alice’s account
be authorized
circumstances of a breach or misbehavior (or establish one did not occur)
locally and mirrored at a separate site
to modify an account’s interest rate
manager and modify account interest rates
Design Threat Modeling
stronger adversary?
denial of service
memory
credentials/secrets)
independently
you can infer application state
implementations could eventually reveal an SSL secret key
Now that we’ve identified threats … What do we do about them?
Threat Mitigation examples Spoofing Authentication Tampering Integrity, authorization Repudiation Logging, signatures
Authorization, encryption Denial of Service Availability Elevation of Priv. Authorization, isolation