SlideShare a Scribd company logo
1 of 23
January 2016
Flaws of password-based authentication
by Igor Sobinov
2
Agenda
• Overview
• Vulnerabilities
• Where to find errors
• Testing Techniques
• Defense
3
Password-based authentication
• User-side issues: People don’t like passwords because it is need to invent new one for
every service, remember the whole bunch or store somewhere
• Administrator-side issues: Password difficulty should be enough to prevent brute force,
but not too hard because users could write it down and stick to the monitor. The worst
case if user forget the password
4
Vulnerabilities
• Password Compromise: password is a single-factor authentication method. Password
could be tricked (phishing), bribed (chocolate) or coerced
University of Luxembourg: 43.5% users exchange password for chocolate (2016)
Keysniffer vulnerability opens wireless keyboards to snooping (2016)
• Allowing Weak Passwords: blank, password (for Non-native English), user name.
Password re-usage is also in loop
FBI's most-wanted cybercriminal used cat's name as password Chewy 123 (2014)
• Password Iteration: EmmaSummerPassword01, EmmaAutumnPassword01
25%-33% users iterate passwords.
5
Vulnerabilities
• Not Requiring Password Changes: Ones been compromised will remain compromised
indefinitely
• Default Passwords: The No1 to check in hacker’s list
Cash register (POS) maker used same password 166816 for 25 years (2015)
The Launch Code for U.S. Nukes Was 00000000 for 20 Years (2013)
• Replay Attacks: Network traffic is obtained and used to have access as real user. Public
Wi-Fi is the most often place
6
Vulnerabilities
• Storing Unencrypted Passwords: how?
Starbucks: We Stored Your Passwords in Plaintext (2014)
Chrome saved passwords in plain text (2013)
• Storing Encrypted password:
Far, The Bat, etc.
Windows 8 Stores Logon Passwords in Plain Text (2012) ???
• Brute force Attacks: Use salt, use enough computing resources
LinkedIn started use salt after 2012 hack
7
Vulnerabilities
• Revealing info in case of failure: don’t inform what’s incorrect: user name or password.
Prevent time attack:
bool login(String User, String Password)
{
if(!userTable.contain(User))
return false;
return HASH(userTable[User]) == HASH(Password);
}
CVE-2016-6210: OpenSSL timing attack BLOWFISH <-> SHA256/SHA512
8
Vulnerabilities
• Online Attacks: Unlimited try, no account locks???, DDOS. Strong CAPTCHA. Slow down
the authentication mechanism for repeated failures.
Find my iPhone vulnerability (2014)
• Return a forgotten password: don’t return originals, generate new one.
Don’t send password via email
Uber send plaintext passwords in emails (2015)
Google says half of email is sent unencrypted (2014)
• For clients: Trusted DNS names (DNSSEC), secure channels (TLS)
9
Where to find errors
• Password Compromise: Don’t store passwords as clear text, use substitutes
• Allowing Weak Passwords: Check the complexity requirements. Check localization
• Default Passwords: Reset at first login. Limited functionality.
Windows XP: if administrator password is blank it can’t be used across the LAN
• Replay Attacks: Don’t invent protocols. Use encrypted channel.
NTLM isn’t susceptible but NTLM over HTTP is susceptible (2005)
10
Where to find errors
• Brute Force Attacks: Use well-designed key derivation function(KDF). Take a look at RFC
2898, PBKDF2. Pay attention to number of iterations
• Online Attacks: Account lockout for configurable number of attempts, configurable
duration, revealing failure to the user name or password, timing attacks
11
Testing Techniques
• Password Compromise
• If password asked during setup, check for temporary files after setup. Break setup
by incorrect parameters or process kill
• If application create locked temporary files with secrets, create hard link to them
• Test binary and memory dump of application for default accounts
• Process memory could be crowding out to swap. Memory eater.
• Replay Attacks
• Capture the authentication traffic and sent it again
• If SSL/TLS used, setup MITM proxy and check if application notices about self-
signed certificate
12
Testing Techniques
• Brute-Force Attacks: check for brute-force password speed of typical CPU. Good limit-
no more 100-200 per second. Modern GPUs are massively parallel
• Check access rights to the password database
13
Defense
• Any ways to avoid passwords?
• Password Compromise
• Educate users
• Don’t store plain text passwords
• Don’t store password in process memory longer than required, use bzero
• Logon page should be only accessible via SSL/TLS
14
Defense
• Weak Password
• Enforces password complexity and length requirements
• Microsoft: minimum 14 symbols (2016)
• NIST: minimum 12 symbols in 95 symbol alphabet (printable ASCII)
• All available symbols: A-Z a-z 0-9 ~-& ◙ ╜┐╗♠. Be aware of SQL DBMS
• Randomly where feasible
• Increasing the length of the password by only 2 characters gives 500 times more
variations than the increase in the alphabet of 18 characters.
• Parts of user name mustn’t be contained, but only long enough
• Dictionary words ???
15
Defense
• Iterated Password: change all variants of numbers and slightly change other symbols. If
previous derives, drop the variant.
• Password Change: Set the minimum and maximum password age.
High security systems by Microsoft: 7-30
Use password history
• Default Password: Don’t use default password.
If it is required, put system in lock-down mode and don’t allow remote logins
• Store password in protected databases
16
Defense
• Replay Attack: Use SSL/TLS or IPSec. Use Secure Remote Password protocol (SRP) that
don’t send password over the network (implementation of Zero-knowledge proof)
• Password Verifier: Use good KDF, like PBKDF2, bcrypt, scrypt.
Number of iterations
• RFC 2898: 1000
• Office 2007: 50000
• Office 2010: 100000
Salt
• RFC 2898 8 bits, better 16
• Must be random
Hash
• HMAC-SHA256
17
Defense
• Classical key exchange protocols required PKI or trusted third party to prevent MITM
attack.
• Password-Authenticated Key Exchange (PAKE) is a technique that aims to establish
secure communication between two remote parties solely based on their shared
password
• PAKE by Juggling (J-PAKE) is a PAKE implementation achieves mutual authentication in
two steps:
• first, two parties send ephemeral public keys to each other
• second, they encrypt the shared password by juggling the public keys in a
verifiable way
The idea is to replace the low-entropy password with high-entropy cryptographic
key. Due to it J-PAKE has off-line dictionary attack resistance
18
Defense: Diffie-Hellman
a, b {1, … q-1}
19
Defense: PAKE
20
Defense
• Online Brute-Force Attack: Don’t disclosure user names.
• Account lockout: temporary or permanently.
• Graduated timeouts: attempts per second
• CAPTCHA
• Forgotten Password reminder: Don’t send previous password, generate new one.
• Don’t send the password at all, ask user to enter it on site
• Secure questions shouldn't contain public information
• Two-factor authentication (2FA): NIST don’t recommend to use SMS (2016) due to
phone number could be attached to VoIP or hijacked. Use biometric methods.
• Оппозиционные активисты пожаловались на взлом аккаунтов в Telegram (2016)
• One time passwords: On public places passwords could be easily stolen.
21
Examples: Real Story
Paris Hilton
Socialite
Heiress of Hilton empire
22
Examples: Real Story
Paris Hilton T-Mobile cell phone was hacked via web access to cloud (2005)
Ways to protect password-based account:
• Restrict logins to specific locations (states, countries)
• Disallow logins from Tor and other darknets
• Set up two-factor authentication
• Restrict access for specific devices (UUID)
• Log off automatically
• Create one-time passwords to log in from untrusted computers
• Divide: account name, user name, email
23
Q&A

More Related Content

What's hot

How to Protect Yourself From Heartbleed Security Flaw
How to Protect Yourself From Heartbleed Security FlawHow to Protect Yourself From Heartbleed Security Flaw
How to Protect Yourself From Heartbleed Security FlawConnectSafely
 
Case Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultCase Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultMohammed ALDOUB
 
Platform Security IRL: Busting Buzzwords & Building Better
Platform Security IRL:  Busting Buzzwords & Building BetterPlatform Security IRL:  Busting Buzzwords & Building Better
Platform Security IRL: Busting Buzzwords & Building BetterEqual Experts
 
Webscarab demo @ OWASP Belgium
Webscarab demo @ OWASP BelgiumWebscarab demo @ OWASP Belgium
Webscarab demo @ OWASP BelgiumPhilippe Bogaerts
 

What's hot (6)

How to Protect Yourself From Heartbleed Security Flaw
How to Protect Yourself From Heartbleed Security FlawHow to Protect Yourself From Heartbleed Security Flaw
How to Protect Yourself From Heartbleed Security Flaw
 
Eap intro
Eap introEap intro
Eap intro
 
Case Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultCase Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by Default
 
Authenticated key exchange protocols
Authenticated key exchange protocolsAuthenticated key exchange protocols
Authenticated key exchange protocols
 
Platform Security IRL: Busting Buzzwords & Building Better
Platform Security IRL:  Busting Buzzwords & Building BetterPlatform Security IRL:  Busting Buzzwords & Building Better
Platform Security IRL: Busting Buzzwords & Building Better
 
Webscarab demo @ OWASP Belgium
Webscarab demo @ OWASP BelgiumWebscarab demo @ OWASP Belgium
Webscarab demo @ OWASP Belgium
 

Similar to Flaws of password-based authentication

CNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking AuthenticationCNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking AuthenticationSam Bowne
 
Ch 6: Attacking Authentication
Ch 6: Attacking AuthenticationCh 6: Attacking Authentication
Ch 6: Attacking AuthenticationSam Bowne
 
CNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking AuthenticationCNIT 129: 6. Attacking Authentication
CNIT 129: 6. Attacking AuthenticationSam Bowne
 
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationCNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationSam Bowne
 
Presentation 3 1 1 1
Presentation 3 1 1 1Presentation 3 1 1 1
Presentation 3 1 1 1Ashwin Kumar
 
Single Sign-On & Strong Authentication
Single Sign-On & Strong AuthenticationSingle Sign-On & Strong Authentication
Single Sign-On & Strong AuthenticationArun S M
 
Knock x Knock: The Design and Evaluation of a Unified Authentication Manageme...
Knock x Knock: The Design and Evaluation of a Unified Authentication Manageme...Knock x Knock: The Design and Evaluation of a Unified Authentication Manageme...
Knock x Knock: The Design and Evaluation of a Unified Authentication Manageme...Jason Hong
 
E gov security_tut_session_3
E gov security_tut_session_3E gov security_tut_session_3
E gov security_tut_session_3Mustafa Jarrar
 
Authentication Methods authauthauthauthauthautha
Authentication Methods authauthauthauthauthauthaAuthentication Methods authauthauthauthauthautha
Authentication Methods authauthauthauthauthauthaOlajide Kuku
 
2 Laymans Course - LAMP V2.pptx
2 Laymans Course - LAMP V2.pptx2 Laymans Course - LAMP V2.pptx
2 Laymans Course - LAMP V2.pptxssuser2f0fb0
 
Logical Attacks(Vulnerability Research)
Logical Attacks(Vulnerability Research)Logical Attacks(Vulnerability Research)
Logical Attacks(Vulnerability Research)Ajay Negi
 
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Nazar Tymoshyk, CEH, Ph.D.
 
AlienVault Brute Force Attacks- Keeping the Bots at Bay with AlienVault USM +...
AlienVault Brute Force Attacks- Keeping the Bots at Bay with AlienVault USM +...AlienVault Brute Force Attacks- Keeping the Bots at Bay with AlienVault USM +...
AlienVault Brute Force Attacks- Keeping the Bots at Bay with AlienVault USM +...AlienVault
 
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 ManagementSam Bowne
 
hacking lecture 3c.ppt
hacking lecture 3c.ppthacking lecture 3c.ppt
hacking lecture 3c.pptpeter722626
 
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 ManagementSam Bowne
 
Web authentication
Web authenticationWeb authentication
Web authenticationPradeep J V
 

Similar to Flaws of password-based 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
 
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationCNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking Authentication
 
OWASP TOP 10
OWASP TOP 10OWASP TOP 10
OWASP TOP 10
 
Presentation 3 1 1 1
Presentation 3 1 1 1Presentation 3 1 1 1
Presentation 3 1 1 1
 
Single Sign-On & Strong Authentication
Single Sign-On & Strong AuthenticationSingle Sign-On & Strong Authentication
Single Sign-On & Strong Authentication
 
Knock x Knock: The Design and Evaluation of a Unified Authentication Manageme...
Knock x Knock: The Design and Evaluation of a Unified Authentication Manageme...Knock x Knock: The Design and Evaluation of a Unified Authentication Manageme...
Knock x Knock: The Design and Evaluation of a Unified Authentication Manageme...
 
E gov security_tut_session_3
E gov security_tut_session_3E gov security_tut_session_3
E gov security_tut_session_3
 
Authentication Methods authauthauthauthauthautha
Authentication Methods authauthauthauthauthauthaAuthentication Methods authauthauthauthauthautha
Authentication Methods authauthauthauthauthautha
 
2 Laymans Course - LAMP V2.pptx
2 Laymans Course - LAMP V2.pptx2 Laymans Course - LAMP V2.pptx
2 Laymans Course - LAMP V2.pptx
 
authentication.ppt
authentication.pptauthentication.ppt
authentication.ppt
 
Logical Attacks(Vulnerability Research)
Logical Attacks(Vulnerability Research)Logical Attacks(Vulnerability Research)
Logical Attacks(Vulnerability Research)
 
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
 
Windows network
Windows networkWindows network
Windows network
 
AlienVault Brute Force Attacks- Keeping the Bots at Bay with AlienVault USM +...
AlienVault Brute Force Attacks- Keeping the Bots at Bay with AlienVault USM +...AlienVault Brute Force Attacks- Keeping the Bots at Bay with AlienVault USM +...
AlienVault Brute Force Attacks- Keeping the Bots at Bay with AlienVault USM +...
 
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
 
hacking lecture 3c.ppt
hacking lecture 3c.ppthacking lecture 3c.ppt
hacking lecture 3c.ppt
 
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
 
Web authentication
Web authenticationWeb authentication
Web authentication
 

Recently uploaded

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Flaws of password-based authentication

  • 1. January 2016 Flaws of password-based authentication by Igor Sobinov
  • 2. 2 Agenda • Overview • Vulnerabilities • Where to find errors • Testing Techniques • Defense
  • 3. 3 Password-based authentication • User-side issues: People don’t like passwords because it is need to invent new one for every service, remember the whole bunch or store somewhere • Administrator-side issues: Password difficulty should be enough to prevent brute force, but not too hard because users could write it down and stick to the monitor. The worst case if user forget the password
  • 4. 4 Vulnerabilities • Password Compromise: password is a single-factor authentication method. Password could be tricked (phishing), bribed (chocolate) or coerced University of Luxembourg: 43.5% users exchange password for chocolate (2016) Keysniffer vulnerability opens wireless keyboards to snooping (2016) • Allowing Weak Passwords: blank, password (for Non-native English), user name. Password re-usage is also in loop FBI's most-wanted cybercriminal used cat's name as password Chewy 123 (2014) • Password Iteration: EmmaSummerPassword01, EmmaAutumnPassword01 25%-33% users iterate passwords.
  • 5. 5 Vulnerabilities • Not Requiring Password Changes: Ones been compromised will remain compromised indefinitely • Default Passwords: The No1 to check in hacker’s list Cash register (POS) maker used same password 166816 for 25 years (2015) The Launch Code for U.S. Nukes Was 00000000 for 20 Years (2013) • Replay Attacks: Network traffic is obtained and used to have access as real user. Public Wi-Fi is the most often place
  • 6. 6 Vulnerabilities • Storing Unencrypted Passwords: how? Starbucks: We Stored Your Passwords in Plaintext (2014) Chrome saved passwords in plain text (2013) • Storing Encrypted password: Far, The Bat, etc. Windows 8 Stores Logon Passwords in Plain Text (2012) ??? • Brute force Attacks: Use salt, use enough computing resources LinkedIn started use salt after 2012 hack
  • 7. 7 Vulnerabilities • Revealing info in case of failure: don’t inform what’s incorrect: user name or password. Prevent time attack: bool login(String User, String Password) { if(!userTable.contain(User)) return false; return HASH(userTable[User]) == HASH(Password); } CVE-2016-6210: OpenSSL timing attack BLOWFISH <-> SHA256/SHA512
  • 8. 8 Vulnerabilities • Online Attacks: Unlimited try, no account locks???, DDOS. Strong CAPTCHA. Slow down the authentication mechanism for repeated failures. Find my iPhone vulnerability (2014) • Return a forgotten password: don’t return originals, generate new one. Don’t send password via email Uber send plaintext passwords in emails (2015) Google says half of email is sent unencrypted (2014) • For clients: Trusted DNS names (DNSSEC), secure channels (TLS)
  • 9. 9 Where to find errors • Password Compromise: Don’t store passwords as clear text, use substitutes • Allowing Weak Passwords: Check the complexity requirements. Check localization • Default Passwords: Reset at first login. Limited functionality. Windows XP: if administrator password is blank it can’t be used across the LAN • Replay Attacks: Don’t invent protocols. Use encrypted channel. NTLM isn’t susceptible but NTLM over HTTP is susceptible (2005)
  • 10. 10 Where to find errors • Brute Force Attacks: Use well-designed key derivation function(KDF). Take a look at RFC 2898, PBKDF2. Pay attention to number of iterations • Online Attacks: Account lockout for configurable number of attempts, configurable duration, revealing failure to the user name or password, timing attacks
  • 11. 11 Testing Techniques • Password Compromise • If password asked during setup, check for temporary files after setup. Break setup by incorrect parameters or process kill • If application create locked temporary files with secrets, create hard link to them • Test binary and memory dump of application for default accounts • Process memory could be crowding out to swap. Memory eater. • Replay Attacks • Capture the authentication traffic and sent it again • If SSL/TLS used, setup MITM proxy and check if application notices about self- signed certificate
  • 12. 12 Testing Techniques • Brute-Force Attacks: check for brute-force password speed of typical CPU. Good limit- no more 100-200 per second. Modern GPUs are massively parallel • Check access rights to the password database
  • 13. 13 Defense • Any ways to avoid passwords? • Password Compromise • Educate users • Don’t store plain text passwords • Don’t store password in process memory longer than required, use bzero • Logon page should be only accessible via SSL/TLS
  • 14. 14 Defense • Weak Password • Enforces password complexity and length requirements • Microsoft: minimum 14 symbols (2016) • NIST: minimum 12 symbols in 95 symbol alphabet (printable ASCII) • All available symbols: A-Z a-z 0-9 ~-& ◙ ╜┐╗♠. Be aware of SQL DBMS • Randomly where feasible • Increasing the length of the password by only 2 characters gives 500 times more variations than the increase in the alphabet of 18 characters. • Parts of user name mustn’t be contained, but only long enough • Dictionary words ???
  • 15. 15 Defense • Iterated Password: change all variants of numbers and slightly change other symbols. If previous derives, drop the variant. • Password Change: Set the minimum and maximum password age. High security systems by Microsoft: 7-30 Use password history • Default Password: Don’t use default password. If it is required, put system in lock-down mode and don’t allow remote logins • Store password in protected databases
  • 16. 16 Defense • Replay Attack: Use SSL/TLS or IPSec. Use Secure Remote Password protocol (SRP) that don’t send password over the network (implementation of Zero-knowledge proof) • Password Verifier: Use good KDF, like PBKDF2, bcrypt, scrypt. Number of iterations • RFC 2898: 1000 • Office 2007: 50000 • Office 2010: 100000 Salt • RFC 2898 8 bits, better 16 • Must be random Hash • HMAC-SHA256
  • 17. 17 Defense • Classical key exchange protocols required PKI or trusted third party to prevent MITM attack. • Password-Authenticated Key Exchange (PAKE) is a technique that aims to establish secure communication between two remote parties solely based on their shared password • PAKE by Juggling (J-PAKE) is a PAKE implementation achieves mutual authentication in two steps: • first, two parties send ephemeral public keys to each other • second, they encrypt the shared password by juggling the public keys in a verifiable way The idea is to replace the low-entropy password with high-entropy cryptographic key. Due to it J-PAKE has off-line dictionary attack resistance
  • 20. 20 Defense • Online Brute-Force Attack: Don’t disclosure user names. • Account lockout: temporary or permanently. • Graduated timeouts: attempts per second • CAPTCHA • Forgotten Password reminder: Don’t send previous password, generate new one. • Don’t send the password at all, ask user to enter it on site • Secure questions shouldn't contain public information • Two-factor authentication (2FA): NIST don’t recommend to use SMS (2016) due to phone number could be attached to VoIP or hijacked. Use biometric methods. • Оппозиционные активисты пожаловались на взлом аккаунтов в Telegram (2016) • One time passwords: On public places passwords could be easily stolen.
  • 21. 21 Examples: Real Story Paris Hilton Socialite Heiress of Hilton empire
  • 22. 22 Examples: Real Story Paris Hilton T-Mobile cell phone was hacked via web access to cloud (2005) Ways to protect password-based account: • Restrict logins to specific locations (states, countries) • Disallow logins from Tor and other darknets • Set up two-factor authentication • Restrict access for specific devices (UUID) • Log off automatically • Create one-time passwords to log in from untrusted computers • Divide: account name, user name, email