Threat Modeling
Threat Modeling
Threat Modeling
Review
Vulnerabilities
Trust Boundary
Attacks Threats
Application
Attacker
Exploit
2
Threat Modeling
Review
3
Threat Modeling
Review
4
Threat Modeling
Overview
5
Threat Modeling
Overview
6
Threat Modeling
Overview
7
Threat Modeling
Example
• This is abstracted from the OWASP site so that you can look
at it in greater detail
– https://www.owasp.org/index.php/Application_Threat_Modeling
8
Threat Modeling
Example
9
Threat Modeling
Example
7. External Dependencies
• Server type will be Linux
• Site will have to be off-campus accessible
• MySQL database
• Database server will be the existing library server
• Private network between web server and db server
• Both servers must be behind the campus firewall
• All communications over TLS
10
Threat Modeling
Example
8. Use Scenarios
• Students can search the database(s)
• Students can put holds on some items for checkout
• Staff can search the database(s)
• Staff can place some items on reserve for up to 15 weeks
• Librarians can do anything students or staff can do
• Librarians can place items on an invisible list
• Librarians can access limited account information
11
Threat Modeling
Example
12
Threat Modeling
Example
10. Assets
• Library users and librarian
• User credentials
• Librarian credentials
• User personal information
• Web site system
• DB system
• Availability of the web server
• Availability of the DB server
• User code execution on web site
• User DB read access
• Librarian/Admin code execution on the web site
• Librarian/Admin DB read/write access
• Ability to create users
• Ability to audit system events
13
Threat Modeling
Example
C R U D C R U D C R U D C R U D C R U D C R U D
Users A - - - A - - - - - - - - - - - X X X -
Librarians - - - - - - - - - - - - - - - - - - - -
Personal - - - - - - - - B B B - B B - - - - - -
info
Web site - - - - - - - - - - - - - - - - - C - - X X X X
14
Threat Modeling
Example
15
Threat Modeling
Example
• Login DFD
16
Threat Modeling
Example
13. Threats
• Anonymous user evades the authentication system
• Anonymous user gathers information from the authentication system
• Anonymous user can forcefully browse to pages
• Librarian has access to web site pages on the server
• Student or Staff can modify privilege level
• Student or Staff can forcefully browse to restricted pages
• Any user can tamper with critical data on the client
• Student/Staff/Anonymous can inject SQL into the database
• Student/Staff/Anonymous can inject JavaScript into an HTML page
• SSL version is vulnerable or allows vulnerable algorithms
• …..
17
Threat Modeling
Example
18
Threat Modeling
Example
• Threat Tree
19
Threat Modeling
Example
• Abuse Case
20
Threat Modeling
Example
• Threat Tree
Student or staff can
modify privilege level
By tampering
with a URL
21
Threat Modeling
Example
Tamper
User User
with URL
logs in Accesses
Search
Page
User
Accesses
Item
User
Accesses
Hold Page
22
Threat Modeling
Example
• Authorization
• Use role-based authentication with unlimited levels, but including anonymous, user, staff, librarian,
admin
• All accesses will use least privilege and fail securely
• Cookie Management
• Data/Input Validation
• Error Handling
• Logging/Auditing
• Cryptography
• Secure Code Environment
• Session Management
23
Threat Modeling
Example
24