SlideShare a Scribd company logo
CNIT 129S: Securing
Web Applications
Ch 6: Attacking Authentication
Authentication Technologies
• Over 90% of apps use name & password
More Secure Methods
• Two-factor authentication
(or more)
• PIN from a token, SMS
message, or mobile app
• In addition to a
password
• Submitted through an
HTML form
Cryptographic Methods
• Client-side SSL certificate
• Smartcards
• More expensive, higher overhead
HTTP Authentication
• Basic, Digest, and Windows-integrated
• Rarely used on the Internet
• More common in intranets, especially Windows
domains
• So authenticated employees can easily
access secured resources
Third-Party Authentication
Third-Party Authentication
Link Ch 6b
Third-Party Authentication
Design Flaws
• Bad Passwords
Brute-Force Attacks
• Strictly, "brute force" refers to
trying every possible combination
of characters
• Very slow
• In practice, attackers use lists of
common passwords
• Defense: account lockout rules
after too many failed login attempts
Poor Attempt Counters
• Cookie containing failedlogins=1
• Failed login counter held within the current
session
• Attacker can just withhold the session cookie
to defeat this
• Sometimes a page continues to provide
information about a password's correctness
even after account lockout
Insecure Lockout
Verbose Failure Messages
• Friendly for legitimate users
• But helpful for attackers
Script to Find Phone #s
• echo $1,`curl -d "customerEmailAddress=
$1" "https://www.att.com/olam/
submitSLIDEmailForgotIdSlid.myworld" -
silent| grep -Po '(?<=provided ()d*'`
• When you run 

getatt.sh john.smith@example.com

it will output a line of text that looks like:
• john.smith@example.com,6782345678
• Link Ch 6d
Username Importance
• Attacks that reveal valid usernames are called
"username enumeration"
• Not as bad as finding a password, but still a
privacy intrusion
• But could be used for social engineering
attacks, such as spearphishing emails
Similar but Non-Identical
Error Messages
• Any difference can be exploited; even response
time
Vulnerable Transmission of
Credentials
• Eavesdroppers may reside:
HTTPS Risks
• If credentials are sent unencrypted, the
eavesdropper's task is trivial, but even HTTPS
can't prevent these risks:
• Credentials sent in the query string are likely
to appear in server logs, browser history, and
logs of reverse proxies
• Many sites take credentials from a POST and
then redirect it (302) to another page with
credentials in the query string
HTTPS Risks
• Cookie risks:
• Web apps may store credentials in cookies
• Even if cookies cannot be decrypted, they can be
re-used
• Many pages open a login page via HTTP and use an
HTTPS request in the form
• This can be defeated by a man-in-the-middle
attack, like sslstrip
Password Change
Functionality
• Periodic password change mitigates the threat
of password compromise (a dubious claim)
• Users need to change their passwords when
they believe them to be compromised
Vulnerable Password
Change Systems
• Reveal whether the requested username is valid
• Allow unrestricted guesses of the "existing
password" field
• Validate the "existing password" field before
comparing the "new password" and "confirm
new password" fields
• So an attacker can test passwords without
making any actual change
Password Change Function
• Identify the user
• Validate "existing password"
• Integrate with any account lockout features
• Compare the new passwords with each other
and against password quality rules
• Feed back any error conditions to the user
• Often there are subtle logic flaws
Forgotten Password
Functionality
• Often the weakest link
• Uses a secondary challenge, like "mother's
maiden name"
• A small set of possible answers, can be brute-
forced
• Often can be found from public information
Forgotten Password
Functionality
• Often users can write their own questions
• Attackers can try a long list of usernames
• Seeking a really weak question, like "Do I own
a boat?"
• Password "Hints" are often obvious
Forgotten Password
Functionality
• Often the mechanism used to reset the
password after a correct challenge answer is
vulnerable
• Some apps disclose the forgotten password to
the user, so an attacker can use the account
without the owner knowing
• Some applications immediately let the user in
after the challenge--no password needed
Forgotten Password
Functionality
• Some apps allow the user to specify an email
for the password reset link at the time the
challenge is completed
• Or use email from a hidden field or cookie
• Some apps allow a password reset and don't
notify the user with an email
"Remember Me"
• Sometimes a simple persistent cookie, like
• RememberUser=jsmith
• Session=728
• No need to actually log in, if username or
session ID can be guessed or found
"Remember Me"
• Even if the userid or session token is properly
encrypted, it can be stolen via XSS or by getting
access to a user's phone or PC
User Impersonation
• Sometimes help desk personnel or other special
accounts can impersonate users
• This may have flaws like
• Implemented with a "hidden" function lacking
proper access controls, such as
• /admin/ImpersonateUser.jsp
• A guessable session number
• A fixed backdoor password
Incomplete Validation
• Some applications
truncate passwords
without telling users
• Also strip unusual
characters
• Link Ch 6e
Nonunique Usernames
• Rare but it happens
• You may be able to create a new account with
the same username as an existing account
• During registration or a password change
• If the password also matches, you can detect
that from a different error messge
Predictable Usernames
• Automatically generated names like
• User101, User102, ...
Predictable Initial Passwords
• User accounts are create in large batches
• All have the same initial password
Insecure Distribution of
Credentials
• Passwords sent by email, SMS, etc.
• Users may never change those credentials
• Activation URLs may be predictable
• Some apps email the new password to the user
after each password change
Implementation Flaws
Fail-Open Login
• Blank or invalid username may cause an
exception in the login routine
• Or very long or short values
• Or letters where numbers are expected...
• And allow the user in
Multistage Login
• Enter username and password
• Enter specific digits from a PIN (a CAPTCHA)
• Enter value displayed on a token
Multistage Login Defects
• May allow user to skip steps
• May trust data that passes step one, but let user
change it, so invaid or locked-out accounts
remain available
• May assume that the same username applies to
all three stages but not verify this
Multistage Login Defects
• May use a randomly-chosen question to verify
the user
• But let the attacker alter that question in a
hidden HTML field or cookie
• Or allow many requests, so attacker can choose
an easy question
Insecure Credential Storage
• Plaintext passwords in database
• Hashed with MD5 or SHA-1, easily cracked
Securing Authentication
• Considerations
• How critical is security?
• Will users tolerate inconvenient controls?
• Cost of supporting a user-unfriendly system
• Cost of alternatives, compare to revenue
generated or value of assets
Strong Credentials
• Minimum password length, requiring alphabetical,
numeric, and typographic characters
• Avoiding dictionary words, password same as
username, re-use of old passwords
• Usernames should be unique
• Automatically generated usernames or passwords
should be long and random, so they cannot be
guessed or predicted
• Allow users to set strong passwords
Handle Credentials
Secretively
• Protect then when created, stored, and transmitted
• Use well-established cryptography like SSL, not
custom methods
• Whole login page should be HTTPS, not just the
login button
• Use POST rathern than GET
• Don't put credentials in URL parameters or cookies
Handle Credentials
Secretively
• Don't transmit credentials back to the client,
even in parameters to a redirect
• Securely hash credentials on the server
Hashing
• Password hashes must be salted and stretched
• Salt: add random bytes to the password before
hashing it
• Stretched: many rounds of hashing (Kali Linux 2
uses 5000 rounds of SHA-512)
Handle Credentials
Secretively
• Client-side "remember me" functionality should
remember only nonsecret items such as
usernames
• If you allow users to store passwords locally,
they should be reversibly encrypted with a key
known only to the server
• And make sure there are no XSS
vulnerabilities
Handle Credentials
Secretively
• Force users to change passwords periodically
• Credentials for new users should be sent as
securely as possible and time-limited; force
password change on first login
• Capture some login information with drop-down
lists instead of text fields, to defeat keyloggers
Validate Credentials
Properly
• Validate entire credential, with case sensitivity
• Terminate the session on any exception
• Review authentication logic and code
• Strictly control user impersonation
Multistage Login
• All data about progress and the results of
previous validation tasks should be held in the
server-side session object and never available
to the client
• No item of information should be submitted
more than once by the user
• No means for the user to modify data after
submission
Multistage Login
• The first task at every stage should be to verify
that all prior stages have been correctly
completed
• Always proceed through all stages, even if the
first stage fails--don't give attacker any
information about which stage failed
Prevent Information Leakage
• All authentication failures should use the same
code to produce the same error message
• To avoid subtle differences that leak
information
• Account lockout can be used for username
enumeration
• Login attempts with invalid usernames should
lead to the same error messages as valid ones
Self-Registration
• Allowing users to choose usernames permits
username enumeration. Better methods:
• Generate unique, unpredictable usernames
• Use e-mail addresses as usernames and
require the user to receive and use an email
message
Prevent Brute-Force Attacks
• At login, password change, recover lost password, etc.
• Using unpredictable usernames and preventing their
enumeration makes brute-force attacks more difficult
• High-security apps like banks disable an account after
several failed logins
• Account holder must do something out-of-band to
re-activate account, like phone customer support
and answer security questions
• A 30-minute delay is friendlier and cheaper
Prevent Brute-Force Attacks
• Consider this type of attack
• Use many different usernames with the same
password, such as "password"
• Defenses: strong password rules, CAPTCHA
Password Change
• No way to change username
• Require user to enter the old password
• Require new password twice (to prevent
mistakes)
• Same error message for all failures
• Users should be notified out-of-band (such as
via email) that the password has been changed
Account Recovery
• For security-critical apps, require account
recovery out-of-band
• Don't use "password hints"
• Email a unique, time-limited, unguessable,
single-use recovery URL
Account Recovery
• Challenge questions
• Don't let users write their own questions
• Don't use questions with low-entropy
answers, such as "your favorite color"
Log, Monitor, and Notify
• Log all authentication-related events
• Protect logs from unauthorized access
• Anomalies such as brute-force attacks should
trigger IDS alerts
• Notify users out-of-band of any critical security
events, such as password changes
• Notify users in-band of frequent security events,
such as time and source IP of the last login

More Related Content

What's hot

Intrusion detection
Intrusion detectionIntrusion detection
Intrusion detection
CAS
 
CNIT 129S: 10: Attacking Back-End Components
CNIT 129S: 10: Attacking Back-End ComponentsCNIT 129S: 10: Attacking Back-End Components
CNIT 129S: 10: Attacking Back-End Components
Sam Bowne
 
CNIT 129S: Ch 4: Mapping the Application
CNIT 129S: Ch 4: Mapping the ApplicationCNIT 129S: Ch 4: Mapping the Application
CNIT 129S: Ch 4: Mapping the Application
Sam Bowne
 
Ch 5: Bypassing Client-Side Controls
Ch 5: Bypassing Client-Side ControlsCh 5: Bypassing Client-Side Controls
Ch 5: Bypassing Client-Side Controls
Sam Bowne
 
Authentication and Authorization in Asp.Net
Authentication and Authorization in Asp.NetAuthentication and Authorization in Asp.Net
Authentication and Authorization in Asp.Net
Shivanand Arur
 
User authentication
User authenticationUser authentication
User authentication
CAS
 
SSL
SSLSSL
public key infrastructure
public key infrastructurepublic key infrastructure
public key infrastructure
vimal kumar
 
CNIT 129S Ch 4: Mapping the Application
CNIT 129S Ch 4: Mapping the ApplicationCNIT 129S Ch 4: Mapping the Application
CNIT 129S Ch 4: Mapping the Application
Sam Bowne
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
babak danyal
 
Multilevel
MultilevelMultilevel
Multilevel
Ree Tu
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
Asad Ali
 
Message digest 5
Message digest 5Message digest 5
Message digest 5
Tirthika Bandi
 
Security testing
Security testingSecurity testing
Security testing
Khizra Sammad
 
5. Identity and Access Management
5. Identity and Access Management5. Identity and Access Management
5. Identity and Access Management
Sam Bowne
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
kusum sharma
 
Operating system security
Operating system securityOperating system security
Operating system securitySarmad Makhdoom
 
CNIT 129S: 11: Attacking Application Logic
CNIT 129S: 11: Attacking Application LogicCNIT 129S: 11: Attacking Application Logic
CNIT 129S: 11: Attacking Application Logic
Sam Bowne
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Sam Bowne
 

What's hot (20)

Intrusion detection
Intrusion detectionIntrusion detection
Intrusion detection
 
CNIT 129S: 10: Attacking Back-End Components
CNIT 129S: 10: Attacking Back-End ComponentsCNIT 129S: 10: Attacking Back-End Components
CNIT 129S: 10: Attacking Back-End Components
 
CNIT 129S: Ch 4: Mapping the Application
CNIT 129S: Ch 4: Mapping the ApplicationCNIT 129S: Ch 4: Mapping the Application
CNIT 129S: Ch 4: Mapping the Application
 
Ch 5: Bypassing Client-Side Controls
Ch 5: Bypassing Client-Side ControlsCh 5: Bypassing Client-Side Controls
Ch 5: Bypassing Client-Side Controls
 
Authentication and Authorization in Asp.Net
Authentication and Authorization in Asp.NetAuthentication and Authorization in Asp.Net
Authentication and Authorization in Asp.Net
 
Reconnaissance
ReconnaissanceReconnaissance
Reconnaissance
 
User authentication
User authenticationUser authentication
User authentication
 
SSL
SSLSSL
SSL
 
public key infrastructure
public key infrastructurepublic key infrastructure
public key infrastructure
 
CNIT 129S Ch 4: Mapping the Application
CNIT 129S Ch 4: Mapping the ApplicationCNIT 129S Ch 4: Mapping the Application
CNIT 129S Ch 4: Mapping the Application
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 
Multilevel
MultilevelMultilevel
Multilevel
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
 
Message digest 5
Message digest 5Message digest 5
Message digest 5
 
Security testing
Security testingSecurity testing
Security testing
 
5. Identity and Access Management
5. Identity and Access Management5. Identity and Access Management
5. Identity and Access Management
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Operating system security
Operating system securityOperating system security
Operating system security
 
CNIT 129S: 11: Attacking Application Logic
CNIT 129S: 11: Attacking Application LogicCNIT 129S: 11: Attacking Application Logic
CNIT 129S: 11: Attacking Application Logic
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
 

Viewers also liked

CNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyondCNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyond
Sam Bowne
 
CNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side ControlsCNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side Controls
Sam Bowne
 
CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)
Sam Bowne
 
CNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application TechnologiesCNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application Technologies
Sam Bowne
 
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
Sam Bowne
 
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
Sam Bowne
 
CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2
Sam Bowne
 
CNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis MethodologyCNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis Methodology
Sam Bowne
 
CNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management HandbookCNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management Handbook
Sam Bowne
 
CNIT 121: 3 Pre-Incident Preparation
CNIT 121: 3 Pre-Incident PreparationCNIT 121: 3 Pre-Incident Preparation
CNIT 121: 3 Pre-Incident Preparation
Sam Bowne
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
Sam Bowne
 
CNIT 121: Computer Forensics Ch 1
CNIT 121: Computer Forensics Ch 1CNIT 121: Computer Forensics Ch 1
CNIT 121: Computer Forensics Ch 1
Sam Bowne
 
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data CollectionCNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
Sam Bowne
 
CNIT 40: 3: DNS vulnerabilities
CNIT 40: 3: DNS vulnerabilitiesCNIT 40: 3: DNS vulnerabilities
CNIT 40: 3: DNS vulnerabilities
Sam Bowne
 
CNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidCNIT 128 Ch 4: Android
CNIT 128 Ch 4: Android
Sam Bowne
 
CNIT 127 Ch Ch 1: Before you Begin
CNIT 127 Ch Ch 1: Before you BeginCNIT 127 Ch Ch 1: Before you Begin
CNIT 127 Ch Ch 1: Before you Begin
Sam Bowne
 
Is Your Mobile App Secure?
Is Your Mobile App Secure?Is Your Mobile App Secure?
Is Your Mobile App Secure?
Sam Bowne
 
CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management
Sam Bowne
 
Practical Malware Analysis Ch 14: Malware-Focused Network Signatures
Practical Malware Analysis Ch 14: Malware-Focused Network SignaturesPractical Malware Analysis Ch 14: Malware-Focused Network Signatures
Practical Malware Analysis Ch 14: Malware-Focused Network Signatures
Sam Bowne
 
CNIT 128 Ch 3: iOS
CNIT 128 Ch 3: iOSCNIT 128 Ch 3: iOS
CNIT 128 Ch 3: iOS
Sam Bowne
 

Viewers also liked (20)

CNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyondCNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyond
 
CNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side ControlsCNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side Controls
 
CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)
 
CNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application TechnologiesCNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application Technologies
 
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
 
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
 
CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2
 
CNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis MethodologyCNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis Methodology
 
CNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management HandbookCNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management Handbook
 
CNIT 121: 3 Pre-Incident Preparation
CNIT 121: 3 Pre-Incident PreparationCNIT 121: 3 Pre-Incident Preparation
CNIT 121: 3 Pre-Incident Preparation
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
 
CNIT 121: Computer Forensics Ch 1
CNIT 121: Computer Forensics Ch 1CNIT 121: Computer Forensics Ch 1
CNIT 121: Computer Forensics Ch 1
 
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data CollectionCNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
 
CNIT 40: 3: DNS vulnerabilities
CNIT 40: 3: DNS vulnerabilitiesCNIT 40: 3: DNS vulnerabilities
CNIT 40: 3: DNS vulnerabilities
 
CNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidCNIT 128 Ch 4: Android
CNIT 128 Ch 4: Android
 
CNIT 127 Ch Ch 1: Before you Begin
CNIT 127 Ch Ch 1: Before you BeginCNIT 127 Ch Ch 1: Before you Begin
CNIT 127 Ch Ch 1: Before you Begin
 
Is Your Mobile App Secure?
Is Your Mobile App Secure?Is Your Mobile App Secure?
Is Your Mobile App Secure?
 
CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management
 
Practical Malware Analysis Ch 14: Malware-Focused Network Signatures
Practical Malware Analysis Ch 14: Malware-Focused Network SignaturesPractical Malware Analysis Ch 14: Malware-Focused Network Signatures
Practical Malware Analysis Ch 14: Malware-Focused Network Signatures
 
CNIT 128 Ch 3: iOS
CNIT 128 Ch 3: iOSCNIT 128 Ch 3: iOS
CNIT 128 Ch 3: iOS
 

Similar to CNIT 129S: Ch 6: Attacking Authentication

CNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking AuthenticationCNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking Authentication
Sam Bowne
 
Ch 6: Attacking Authentication
Ch 6: Attacking AuthenticationCh 6: Attacking Authentication
Ch 6: Attacking Authentication
Sam Bowne
 
CNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking AuthenticationCNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking Authentication
Sam Bowne
 
Redesigning Password Authentication for the Modern Web
Redesigning Password Authentication for the Modern WebRedesigning Password Authentication for the Modern Web
Redesigning Password Authentication for the Modern Web
Cliff Smith
 
CISSP Prep: Ch 6. Identity and Access Management
CISSP Prep: Ch 6. Identity and Access ManagementCISSP Prep: Ch 6. Identity and Access Management
CISSP Prep: Ch 6. Identity and Access Management
Sam Bowne
 
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Michael Pirnat
 
CNIT 125 6. Identity and Access Management
CNIT 125 6. Identity and Access ManagementCNIT 125 6. Identity and Access Management
CNIT 125 6. Identity and Access Management
Sam Bowne
 
«How to start in web application penetration testing» by Maxim Dzhalamaga
«How to start in web application penetration testing» by Maxim Dzhalamaga «How to start in web application penetration testing» by Maxim Dzhalamaga
«How to start in web application penetration testing» by Maxim Dzhalamaga
0xdec0de
 
Defending web applications v.1.0
Defending web applications v.1.0Defending web applications v.1.0
Defending web applications v.1.0
Todd Benson (I.T. SPECIALIST and I.T. SECURITY)
 
CNIT 129S Ch 7: Attacking Session Management
CNIT 129S Ch 7: Attacking Session ManagementCNIT 129S Ch 7: Attacking Session Management
CNIT 129S Ch 7: Attacking Session Management
Sam Bowne
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
Sam Bowne
 
Presentation on Web Attacks
Presentation on Web AttacksPresentation on Web Attacks
Presentation on Web Attacks
Vivek Sinha Anurag
 
Attacking Web Applications
Attacking Web ApplicationsAttacking Web Applications
Attacking Web Applications
Sasha Goldshtein
 
Logical Attacks(Vulnerability Research)
Logical Attacks(Vulnerability Research)Logical Attacks(Vulnerability Research)
Logical Attacks(Vulnerability Research)
Ajay Negi
 
Authentication Methods authauthauthauthauthautha
Authentication Methods authauthauthauthauthauthaAuthentication Methods authauthauthauthauthautha
Authentication Methods authauthauthauthauthautha
Olajide Kuku
 
Ch 7: Attacking Session Management
Ch 7: Attacking Session ManagementCh 7: Attacking Session Management
Ch 7: Attacking Session Management
Sam Bowne
 
Web security uploadv1
Web security uploadv1Web security uploadv1
Web security uploadv1
Setia Juli Irzal Ismail
 
Two-factor Authentication
Two-factor AuthenticationTwo-factor Authentication
Two-factor Authentication
PortalGuard dba PistolStar, Inc.
 
Password management
Password managementPassword management
Introduction to Web Security
Introduction to Web SecurityIntroduction to Web Security
Introduction to Web Security
Kamil Lelonek
 

Similar to CNIT 129S: Ch 6: Attacking Authentication (20)

CNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking AuthenticationCNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking Authentication
 
Ch 6: Attacking Authentication
Ch 6: Attacking AuthenticationCh 6: Attacking Authentication
Ch 6: Attacking Authentication
 
CNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking AuthenticationCNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking Authentication
 
Redesigning Password Authentication for the Modern Web
Redesigning Password Authentication for the Modern WebRedesigning Password Authentication for the Modern Web
Redesigning Password Authentication for the Modern Web
 
CISSP Prep: Ch 6. Identity and Access Management
CISSP Prep: Ch 6. Identity and Access ManagementCISSP Prep: Ch 6. Identity and Access Management
CISSP Prep: Ch 6. Identity and Access Management
 
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
 
CNIT 125 6. Identity and Access Management
CNIT 125 6. Identity and Access ManagementCNIT 125 6. Identity and Access Management
CNIT 125 6. Identity and Access Management
 
«How to start in web application penetration testing» by Maxim Dzhalamaga
«How to start in web application penetration testing» by Maxim Dzhalamaga «How to start in web application penetration testing» by Maxim Dzhalamaga
«How to start in web application penetration testing» by Maxim Dzhalamaga
 
Defending web applications v.1.0
Defending web applications v.1.0Defending web applications v.1.0
Defending web applications v.1.0
 
CNIT 129S Ch 7: Attacking Session Management
CNIT 129S Ch 7: Attacking Session ManagementCNIT 129S Ch 7: Attacking Session Management
CNIT 129S Ch 7: Attacking Session Management
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
 
Presentation on Web Attacks
Presentation on Web AttacksPresentation on Web Attacks
Presentation on Web Attacks
 
Attacking Web Applications
Attacking Web ApplicationsAttacking Web Applications
Attacking Web Applications
 
Logical Attacks(Vulnerability Research)
Logical Attacks(Vulnerability Research)Logical Attacks(Vulnerability Research)
Logical Attacks(Vulnerability Research)
 
Authentication Methods authauthauthauthauthautha
Authentication Methods authauthauthauthauthauthaAuthentication Methods authauthauthauthauthautha
Authentication Methods authauthauthauthauthautha
 
Ch 7: Attacking Session Management
Ch 7: Attacking Session ManagementCh 7: Attacking Session Management
Ch 7: Attacking Session Management
 
Web security uploadv1
Web security uploadv1Web security uploadv1
Web security uploadv1
 
Two-factor Authentication
Two-factor AuthenticationTwo-factor Authentication
Two-factor Authentication
 
Password management
Password managementPassword management
Password management
 
Introduction to Web Security
Introduction to Web SecurityIntroduction to Web Security
Introduction to Web Security
 

More from Sam Bowne

Cyberwar
CyberwarCyberwar
Cyberwar
Sam Bowne
 
3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities
Sam Bowne
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
Sam Bowne
 
4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the Application
Sam Bowne
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)
Sam Bowne
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
Sam Bowne
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-Hellman
Sam Bowne
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1
Sam Bowne
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android Applications
Sam Bowne
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)
Sam Bowne
 
10 RSA
10 RSA10 RSA
10 RSA
Sam Bowne
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3
Sam Bowne
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard Problems
Sam Bowne
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)
Sam Bowne
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis Methodology
Sam Bowne
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated Encryption
Sam Bowne
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)
Sam Bowne
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)
Sam Bowne
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream Ciphers
Sam Bowne
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection
Sam Bowne
 

More from Sam Bowne (20)

Cyberwar
CyberwarCyberwar
Cyberwar
 
3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
 
4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the Application
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-Hellman
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android Applications
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)
 
10 RSA
10 RSA10 RSA
10 RSA
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard Problems
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis Methodology
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated Encryption
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream Ciphers
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection
 

Recently uploaded

The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
GeoBlogs
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 

Recently uploaded (20)

The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 

CNIT 129S: Ch 6: Attacking Authentication

  • 1. CNIT 129S: Securing Web Applications Ch 6: Attacking Authentication
  • 2. Authentication Technologies • Over 90% of apps use name & password
  • 3. More Secure Methods • Two-factor authentication (or more) • PIN from a token, SMS message, or mobile app • In addition to a password • Submitted through an HTML form
  • 4. Cryptographic Methods • Client-side SSL certificate • Smartcards • More expensive, higher overhead
  • 5. HTTP Authentication • Basic, Digest, and Windows-integrated • Rarely used on the Internet • More common in intranets, especially Windows domains • So authenticated employees can easily access secured resources
  • 10.
  • 11. Brute-Force Attacks • Strictly, "brute force" refers to trying every possible combination of characters • Very slow • In practice, attackers use lists of common passwords • Defense: account lockout rules after too many failed login attempts
  • 12.
  • 13.
  • 14. Poor Attempt Counters • Cookie containing failedlogins=1 • Failed login counter held within the current session • Attacker can just withhold the session cookie to defeat this • Sometimes a page continues to provide information about a password's correctness even after account lockout
  • 16.
  • 17.
  • 18. Verbose Failure Messages • Friendly for legitimate users • But helpful for attackers
  • 19.
  • 20. Script to Find Phone #s • echo $1,`curl -d "customerEmailAddress= $1" "https://www.att.com/olam/ submitSLIDEmailForgotIdSlid.myworld" - silent| grep -Po '(?<=provided ()d*'` • When you run 
 getatt.sh john.smith@example.com
 it will output a line of text that looks like: • john.smith@example.com,6782345678 • Link Ch 6d
  • 21. Username Importance • Attacks that reveal valid usernames are called "username enumeration" • Not as bad as finding a password, but still a privacy intrusion • But could be used for social engineering attacks, such as spearphishing emails
  • 22. Similar but Non-Identical Error Messages • Any difference can be exploited; even response time
  • 23. Vulnerable Transmission of Credentials • Eavesdroppers may reside:
  • 24. HTTPS Risks • If credentials are sent unencrypted, the eavesdropper's task is trivial, but even HTTPS can't prevent these risks: • Credentials sent in the query string are likely to appear in server logs, browser history, and logs of reverse proxies • Many sites take credentials from a POST and then redirect it (302) to another page with credentials in the query string
  • 25. HTTPS Risks • Cookie risks: • Web apps may store credentials in cookies • Even if cookies cannot be decrypted, they can be re-used • Many pages open a login page via HTTP and use an HTTPS request in the form • This can be defeated by a man-in-the-middle attack, like sslstrip
  • 26.
  • 27. Password Change Functionality • Periodic password change mitigates the threat of password compromise (a dubious claim) • Users need to change their passwords when they believe them to be compromised
  • 28. Vulnerable Password Change Systems • Reveal whether the requested username is valid • Allow unrestricted guesses of the "existing password" field • Validate the "existing password" field before comparing the "new password" and "confirm new password" fields • So an attacker can test passwords without making any actual change
  • 29. Password Change Function • Identify the user • Validate "existing password" • Integrate with any account lockout features • Compare the new passwords with each other and against password quality rules • Feed back any error conditions to the user • Often there are subtle logic flaws
  • 30. Forgotten Password Functionality • Often the weakest link • Uses a secondary challenge, like "mother's maiden name" • A small set of possible answers, can be brute- forced • Often can be found from public information
  • 31. Forgotten Password Functionality • Often users can write their own questions • Attackers can try a long list of usernames • Seeking a really weak question, like "Do I own a boat?" • Password "Hints" are often obvious
  • 32. Forgotten Password Functionality • Often the mechanism used to reset the password after a correct challenge answer is vulnerable • Some apps disclose the forgotten password to the user, so an attacker can use the account without the owner knowing • Some applications immediately let the user in after the challenge--no password needed
  • 33. Forgotten Password Functionality • Some apps allow the user to specify an email for the password reset link at the time the challenge is completed • Or use email from a hidden field or cookie • Some apps allow a password reset and don't notify the user with an email
  • 34. "Remember Me" • Sometimes a simple persistent cookie, like • RememberUser=jsmith • Session=728 • No need to actually log in, if username or session ID can be guessed or found
  • 35. "Remember Me" • Even if the userid or session token is properly encrypted, it can be stolen via XSS or by getting access to a user's phone or PC
  • 36. User Impersonation • Sometimes help desk personnel or other special accounts can impersonate users • This may have flaws like • Implemented with a "hidden" function lacking proper access controls, such as • /admin/ImpersonateUser.jsp • A guessable session number • A fixed backdoor password
  • 37. Incomplete Validation • Some applications truncate passwords without telling users • Also strip unusual characters • Link Ch 6e
  • 38. Nonunique Usernames • Rare but it happens • You may be able to create a new account with the same username as an existing account • During registration or a password change • If the password also matches, you can detect that from a different error messge
  • 39. Predictable Usernames • Automatically generated names like • User101, User102, ...
  • 40. Predictable Initial Passwords • User accounts are create in large batches • All have the same initial password
  • 41. Insecure Distribution of Credentials • Passwords sent by email, SMS, etc. • Users may never change those credentials • Activation URLs may be predictable • Some apps email the new password to the user after each password change
  • 43. Fail-Open Login • Blank or invalid username may cause an exception in the login routine • Or very long or short values • Or letters where numbers are expected... • And allow the user in
  • 44. Multistage Login • Enter username and password • Enter specific digits from a PIN (a CAPTCHA) • Enter value displayed on a token
  • 45. Multistage Login Defects • May allow user to skip steps • May trust data that passes step one, but let user change it, so invaid or locked-out accounts remain available • May assume that the same username applies to all three stages but not verify this
  • 46. Multistage Login Defects • May use a randomly-chosen question to verify the user • But let the attacker alter that question in a hidden HTML field or cookie • Or allow many requests, so attacker can choose an easy question
  • 47. Insecure Credential Storage • Plaintext passwords in database • Hashed with MD5 or SHA-1, easily cracked
  • 48. Securing Authentication • Considerations • How critical is security? • Will users tolerate inconvenient controls? • Cost of supporting a user-unfriendly system • Cost of alternatives, compare to revenue generated or value of assets
  • 49. Strong Credentials • Minimum password length, requiring alphabetical, numeric, and typographic characters • Avoiding dictionary words, password same as username, re-use of old passwords • Usernames should be unique • Automatically generated usernames or passwords should be long and random, so they cannot be guessed or predicted • Allow users to set strong passwords
  • 50. Handle Credentials Secretively • Protect then when created, stored, and transmitted • Use well-established cryptography like SSL, not custom methods • Whole login page should be HTTPS, not just the login button • Use POST rathern than GET • Don't put credentials in URL parameters or cookies
  • 51. Handle Credentials Secretively • Don't transmit credentials back to the client, even in parameters to a redirect • Securely hash credentials on the server
  • 52. Hashing • Password hashes must be salted and stretched • Salt: add random bytes to the password before hashing it • Stretched: many rounds of hashing (Kali Linux 2 uses 5000 rounds of SHA-512)
  • 53.
  • 54. Handle Credentials Secretively • Client-side "remember me" functionality should remember only nonsecret items such as usernames • If you allow users to store passwords locally, they should be reversibly encrypted with a key known only to the server • And make sure there are no XSS vulnerabilities
  • 55. Handle Credentials Secretively • Force users to change passwords periodically • Credentials for new users should be sent as securely as possible and time-limited; force password change on first login • Capture some login information with drop-down lists instead of text fields, to defeat keyloggers
  • 56. Validate Credentials Properly • Validate entire credential, with case sensitivity • Terminate the session on any exception • Review authentication logic and code • Strictly control user impersonation
  • 57. Multistage Login • All data about progress and the results of previous validation tasks should be held in the server-side session object and never available to the client • No item of information should be submitted more than once by the user • No means for the user to modify data after submission
  • 58. Multistage Login • The first task at every stage should be to verify that all prior stages have been correctly completed • Always proceed through all stages, even if the first stage fails--don't give attacker any information about which stage failed
  • 59. Prevent Information Leakage • All authentication failures should use the same code to produce the same error message • To avoid subtle differences that leak information • Account lockout can be used for username enumeration • Login attempts with invalid usernames should lead to the same error messages as valid ones
  • 60. Self-Registration • Allowing users to choose usernames permits username enumeration. Better methods: • Generate unique, unpredictable usernames • Use e-mail addresses as usernames and require the user to receive and use an email message
  • 61. Prevent Brute-Force Attacks • At login, password change, recover lost password, etc. • Using unpredictable usernames and preventing their enumeration makes brute-force attacks more difficult • High-security apps like banks disable an account after several failed logins • Account holder must do something out-of-band to re-activate account, like phone customer support and answer security questions • A 30-minute delay is friendlier and cheaper
  • 62. Prevent Brute-Force Attacks • Consider this type of attack • Use many different usernames with the same password, such as "password" • Defenses: strong password rules, CAPTCHA
  • 63. Password Change • No way to change username • Require user to enter the old password • Require new password twice (to prevent mistakes) • Same error message for all failures • Users should be notified out-of-band (such as via email) that the password has been changed
  • 64. Account Recovery • For security-critical apps, require account recovery out-of-band • Don't use "password hints" • Email a unique, time-limited, unguessable, single-use recovery URL
  • 65. Account Recovery • Challenge questions • Don't let users write their own questions • Don't use questions with low-entropy answers, such as "your favorite color"
  • 66. Log, Monitor, and Notify • Log all authentication-related events • Protect logs from unauthorized access • Anomalies such as brute-force attacks should trigger IDS alerts • Notify users out-of-band of any critical security events, such as password changes • Notify users in-band of frequent security events, such as time and source IP of the last login