SlideShare a Scribd company logo
Ashley Madison
Lessons Learned
Security lessons learned from the
most famous PHP site ever to be
hacked
Who Am I?
• Director of Engineering at LaunchKey
• Founder/Co-Organizer of Las Vegas PHP UG
• Co-Organizer of Las Vegas Developer UG
• National Junior Basketball Coach
What is LaunchKey
• Security as a Service Provider
• Anonymous distributed password-free multi-
factor authentication and authorization
platform
• PHP SDK
• WordPress Plugin
• Drupal Plugin
What is Ashley Madison
• Online Community with over 40 million
members
• Targets married men looking for an affair
• Offers a “paid delete” option to remove all of
a members data for a price
What Happened
• The network containing the Ashley Madison
Site was breached
• Hackers claimed to have data they would
release and gave a shutdown or else choice
• Ashley Madison refused saying the hackers
claims were not possible
• Hackers release 30 GB of data
What Was Released
• Names, email addresses, personal details, GPS
coordinates and passwords of users
• Executive emails
• Website source code
• Credit card transaction details and limited
credit card numbers
How Did It Happen
• Hackers claimed “You could use Pass1234 from
the internet to VPN to root on all servers”
• Once inside, the hackers spent years collecting
data from inside the network
• Collected file, database, email, and chat data
right off of the network
• Had full access to version control software for
website code
How Could It Happen?
• Even security conscious companies aren’t very
good at it
• Security is rarely at the forefront of decisions
related policies and procedures
• Most do only what is necessary to comply
with regulation
• Data inside the network itself is rarely secured
What About PHP?
• Site used PHP 5.5+ based password hashing
• Most password crackers gave up after trying
common passwords. Common passwords
accounted for approximately 0.1%
• Password scheme was too costly to bother as
passwords would be reset before they were
cracked.
But The Passwords Were Cracked
• Site used its own algorithm for a “login key”
that was simply an MD5 of the username and
un-hashed password.
• Code was updated but not the database
• 11.7 million passwords were cracked using this
vulnerability
Why Was It Such A Big Deal
• Passwords were cracked after password resets
• 68% of individuals in a LaunchKey password
survey say they share the same password with
multiple sites
• Many users have the same email address
password as other websites
• Once hackers have your email, the rest comes
with it
What Did We Learn Not To Do
• Do not store passwords
• Do not assume that the network is
secure
• Do no assume that the database is
secure
• Do not roll your own crypto
What Did We Learn To Do
• Protect user data like it was your own
• Hash data that does not need to be read
• Use PHP Password Hashing to hash data
• Encrypt data at rest, especially PII
• Encrypt data in motion
• Use honeypots to detect intruders
Further Reading
• The Impact Team Interview:
http://motherboard.vice.com/read/ashley-
madison-hackers-speak-out-nobody-was-
watching
• CynoSure Prime Password Crack Explanation:
http://cynosureprime.blogspot.com/2015/09/
how-we-cracked-millions-of-ashley.html
• LaunchKey Password Survey:
https://blog.launchkey.com/passwords-
survey.html
Further Reading
• PHP Password Hashing:
http://php.net/manual/en/book.password.ph
p
• PHP Social Login:
http://hybridauth.sourceforge.net/
• LaunchKey Password Free
Login:https://docs.launchkey.com/developer/
web-desktop/sdk/php.html
• Honeynet: https://www.honeynet.org/
Rate My Talk
http://spkr8.com/t/63961
Contact Me
• Twitter: @adam_englander
• IRC: #launchkey or #vegastech on freenode.net
• Email: adam@launchkey.com

More Related Content

What's hot

Five forces model cellphone industry
Five forces model   cellphone industryFive forces model   cellphone industry
Five forces model cellphone industry
Umer Saeed
 
1 human resources practices at wal-mart case study
1   human resources practices at wal-mart case study1   human resources practices at wal-mart case study
1 human resources practices at wal-mart case studyASA University Bangladesh
 
Choosing brand elements to build brand equity by Leroy J.Ebert
Choosing brand elements to build brand equity by Leroy J.EbertChoosing brand elements to build brand equity by Leroy J.Ebert
Choosing brand elements to build brand equity by Leroy J.Ebert
LeRoy J. Ebert MCIM Chartered Marketer (UK), MBA (AUS)
 
Marketing and social media campaign on chocolates
Marketing and social media campaign on chocolatesMarketing and social media campaign on chocolates
Marketing and social media campaign on chocolatesPrachi Shastri
 
Brand equity presentation
Brand equity presentationBrand equity presentation
Brand equity presentation
utuutkarsh
 
General Motors Case Study
General Motors Case StudyGeneral Motors Case Study
General Motors Case Study
Charles Jose
 
Strategic business growth—day 2 2013.09
Strategic business growth—day 2 2013.09Strategic business growth—day 2 2013.09
Strategic business growth—day 2 2013.09
FullSurge
 
Nucor Case Analysis
Nucor Case AnalysisNucor Case Analysis
Nucor Case Analysis
Bskwarski87
 
branding in the age of social media
branding in the age of social mediabranding in the age of social media
branding in the age of social mediaSrilekha Das
 
Komatsu LTD. case study analysis
Komatsu LTD. case study analysisKomatsu LTD. case study analysis
Komatsu LTD. case study analysis
ASWIN NAMBURI
 
Jeff bezos
Jeff bezosJeff bezos
Jeff bezos
Thilina De Alwis
 
M&A of Kraft & Cadbury
M&A of  Kraft & CadburyM&A of  Kraft & Cadbury
M&A of Kraft & Cadbury
Congruent Solutions Pvt Ltd
 
Samsung ppt
Samsung pptSamsung ppt
Samsung ppt
dee1987
 
Abc case study
Abc case studyAbc case study
Abc case study
anjali13xx
 
Failure and success of imc campaigns
Failure and success of imc campaignsFailure and success of imc campaigns
Failure and success of imc campaigns
Kumar Rajgeet
 
Brand Elements
Brand ElementsBrand Elements
Brand Elements
Pam C
 
H.H. Sheikh Mohammed bin Rashin Al Maktoum - Group 2
H.H. Sheikh Mohammed bin Rashin Al Maktoum - Group 2H.H. Sheikh Mohammed bin Rashin Al Maktoum - Group 2
H.H. Sheikh Mohammed bin Rashin Al Maktoum - Group 2Zhenya Delate
 
Personal selling Technics and Examples- Advertising- Business- Samsung Compan...
Personal selling Technics and Examples- Advertising- Business- Samsung Compan...Personal selling Technics and Examples- Advertising- Business- Samsung Compan...
Personal selling Technics and Examples- Advertising- Business- Samsung Compan...
Emre Sarcan
 
Failed mergers DaimlerChrysler
Failed mergers DaimlerChryslerFailed mergers DaimlerChrysler
Failed mergers DaimlerChrysler
Amrit Tandon
 

What's hot (20)

Brand audit
Brand auditBrand audit
Brand audit
 
Five forces model cellphone industry
Five forces model   cellphone industryFive forces model   cellphone industry
Five forces model cellphone industry
 
1 human resources practices at wal-mart case study
1   human resources practices at wal-mart case study1   human resources practices at wal-mart case study
1 human resources practices at wal-mart case study
 
Choosing brand elements to build brand equity by Leroy J.Ebert
Choosing brand elements to build brand equity by Leroy J.EbertChoosing brand elements to build brand equity by Leroy J.Ebert
Choosing brand elements to build brand equity by Leroy J.Ebert
 
Marketing and social media campaign on chocolates
Marketing and social media campaign on chocolatesMarketing and social media campaign on chocolates
Marketing and social media campaign on chocolates
 
Brand equity presentation
Brand equity presentationBrand equity presentation
Brand equity presentation
 
General Motors Case Study
General Motors Case StudyGeneral Motors Case Study
General Motors Case Study
 
Strategic business growth—day 2 2013.09
Strategic business growth—day 2 2013.09Strategic business growth—day 2 2013.09
Strategic business growth—day 2 2013.09
 
Nucor Case Analysis
Nucor Case AnalysisNucor Case Analysis
Nucor Case Analysis
 
branding in the age of social media
branding in the age of social mediabranding in the age of social media
branding in the age of social media
 
Komatsu LTD. case study analysis
Komatsu LTD. case study analysisKomatsu LTD. case study analysis
Komatsu LTD. case study analysis
 
Jeff bezos
Jeff bezosJeff bezos
Jeff bezos
 
M&A of Kraft & Cadbury
M&A of  Kraft & CadburyM&A of  Kraft & Cadbury
M&A of Kraft & Cadbury
 
Samsung ppt
Samsung pptSamsung ppt
Samsung ppt
 
Abc case study
Abc case studyAbc case study
Abc case study
 
Failure and success of imc campaigns
Failure and success of imc campaignsFailure and success of imc campaigns
Failure and success of imc campaigns
 
Brand Elements
Brand ElementsBrand Elements
Brand Elements
 
H.H. Sheikh Mohammed bin Rashin Al Maktoum - Group 2
H.H. Sheikh Mohammed bin Rashin Al Maktoum - Group 2H.H. Sheikh Mohammed bin Rashin Al Maktoum - Group 2
H.H. Sheikh Mohammed bin Rashin Al Maktoum - Group 2
 
Personal selling Technics and Examples- Advertising- Business- Samsung Compan...
Personal selling Technics and Examples- Advertising- Business- Samsung Compan...Personal selling Technics and Examples- Advertising- Business- Samsung Compan...
Personal selling Technics and Examples- Advertising- Business- Samsung Compan...
 
Failed mergers DaimlerChrysler
Failed mergers DaimlerChryslerFailed mergers DaimlerChrysler
Failed mergers DaimlerChrysler
 

Viewers also liked

Python and the internet of things
Python and the internet of thingsPython and the internet of things
Python and the internet of things
Adam Englander
 
Gettiing Started with IoT using Raspberry Pi and Python
Gettiing Started with IoT using Raspberry Pi and PythonGettiing Started with IoT using Raspberry Pi and Python
Gettiing Started with IoT using Raspberry Pi and Python
Martin Christen
 
How to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFiHow to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFi
Naoto MATSUMOTO
 
動かしながら学ぶMQTT
動かしながら学ぶMQTT動かしながら学ぶMQTT
動かしながら学ぶMQTT
Eiji Yokota
 
Mqttの通信を見てみよう
Mqttの通信を見てみようMqttの通信を見てみよう
Mqttの通信を見てみよう
Suemasu Takashi
 
MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要
shirou wakayama
 
MQTTS mosquitto - cheat sheet -
MQTTS mosquitto - cheat sheet -MQTTS mosquitto - cheat sheet -
MQTTS mosquitto - cheat sheet -
Naoto MATSUMOTO
 
IoT時代を支えるプロトコルMQTT技術詳解
IoT時代を支えるプロトコルMQTT技術詳解IoT時代を支えるプロトコルMQTT技術詳解
IoT時代を支えるプロトコルMQTT技術詳解
Naoto MATSUMOTO
 
20150726 IoTってなに?ニフティクラウドmqttでやったこと
20150726 IoTってなに?ニフティクラウドmqttでやったこと20150726 IoTってなに?ニフティクラウドmqttでやったこと
20150726 IoTってなに?ニフティクラウドmqttでやったこと
Daichi Morifuji
 
19. atmospheric processes 2
19. atmospheric processes 219. atmospheric processes 2
19. atmospheric processes 2
Makati Science High School
 
Mqttで始めるIoT
Mqttで始めるIoTMqttで始めるIoT
Mqttで始めるIoT
Shintaro Hosoai
 
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
Koji YUSA
 

Viewers also liked (12)

Python and the internet of things
Python and the internet of thingsPython and the internet of things
Python and the internet of things
 
Gettiing Started with IoT using Raspberry Pi and Python
Gettiing Started with IoT using Raspberry Pi and PythonGettiing Started with IoT using Raspberry Pi and Python
Gettiing Started with IoT using Raspberry Pi and Python
 
How to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFiHow to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFi
 
動かしながら学ぶMQTT
動かしながら学ぶMQTT動かしながら学ぶMQTT
動かしながら学ぶMQTT
 
Mqttの通信を見てみよう
Mqttの通信を見てみようMqttの通信を見てみよう
Mqttの通信を見てみよう
 
MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要
 
MQTTS mosquitto - cheat sheet -
MQTTS mosquitto - cheat sheet -MQTTS mosquitto - cheat sheet -
MQTTS mosquitto - cheat sheet -
 
IoT時代を支えるプロトコルMQTT技術詳解
IoT時代を支えるプロトコルMQTT技術詳解IoT時代を支えるプロトコルMQTT技術詳解
IoT時代を支えるプロトコルMQTT技術詳解
 
20150726 IoTってなに?ニフティクラウドmqttでやったこと
20150726 IoTってなに?ニフティクラウドmqttでやったこと20150726 IoTってなに?ニフティクラウドmqttでやったこと
20150726 IoTってなに?ニフティクラウドmqttでやったこと
 
19. atmospheric processes 2
19. atmospheric processes 219. atmospheric processes 2
19. atmospheric processes 2
 
Mqttで始めるIoT
Mqttで始めるIoTMqttで始めるIoT
Mqttで始めるIoT
 
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
 

Similar to Ashley Madison - Lessons Learned

Blog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being HackedBlog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being Hacked
Brian Layman
 
Hacking 2018
Hacking 2018Hacking 2018
Hacking 2018
JosephSuresh6
 
Red Team Apocalypse (RVAsec Edition)
Red Team Apocalypse (RVAsec Edition)Red Team Apocalypse (RVAsec Edition)
Red Team Apocalypse (RVAsec Edition)
Beau Bullock
 
Security is not a feature
Security is not a featureSecurity is not a feature
Security is not a featureElizabeth Smith
 
Oracle database threats - LAOUC Webinar
Oracle database threats - LAOUC WebinarOracle database threats - LAOUC Webinar
Oracle database threats - LAOUC Webinar
Osama Mustafa
 
Introduction to LavaPasswordFactory
Introduction to LavaPasswordFactoryIntroduction to LavaPasswordFactory
Introduction to LavaPasswordFactory
Christopher Grayson
 
Hacking iOS Applications with Proxies
Hacking iOS Applications with ProxiesHacking iOS Applications with Proxies
Hacking iOS Applications with Proxies
Karl Fosaaen
 
Online Self Defense
Online Self DefenseOnline Self Defense
Online Self Defense
Barry Caplin
 
Hacking sites for fun and profit
Hacking sites for fun and profitHacking sites for fun and profit
Hacking sites for fun and profit
David Stockton
 
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and SolutionHeartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
CASCouncil
 
Web Application Security - DevFest + GDay George Town 2016
Web Application Security - DevFest + GDay George Town 2016Web Application Security - DevFest + GDay George Town 2016
Web Application Security - DevFest + GDay George Town 2016
Gareth Davies
 
Website Hacking and Preventive Measures
Website Hacking and Preventive MeasuresWebsite Hacking and Preventive Measures
Website Hacking and Preventive Measures
Shubham Takode
 
Hacking
HackingHacking
Hacking
j naga sai
 
H4CK1N6 - Web Application Security
H4CK1N6 - Web Application SecurityH4CK1N6 - Web Application Security
H4CK1N6 - Web Application Security
Oliver Hader
 
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
 
Hacking iOS with Proxies - dc612
Hacking iOS with Proxies - dc612Hacking iOS with Proxies - dc612
Hacking iOS with Proxies - dc612
Karl Fosaaen
 
BSIDES-PR Keynote Hunting for Bad Guys
BSIDES-PR Keynote Hunting for Bad GuysBSIDES-PR Keynote Hunting for Bad Guys
BSIDES-PR Keynote Hunting for Bad Guys
Joff Thyer
 
Hacking sites for fun and profit
Hacking sites for fun and profitHacking sites for fun and profit
Hacking sites for fun and profit
David Stockton
 
DNS – Strategies for Reducing Data Leakage & Protecting Online Privacy – Hack...
DNS – Strategies for Reducing Data Leakage & Protecting Online Privacy – Hack...DNS – Strategies for Reducing Data Leakage & Protecting Online Privacy – Hack...
DNS – Strategies for Reducing Data Leakage & Protecting Online Privacy – Hack...
EC-Council
 
Malware cryptomining uploadv3
Malware cryptomining uploadv3Malware cryptomining uploadv3
Malware cryptomining uploadv3
Setia Juli Irzal Ismail
 

Similar to Ashley Madison - Lessons Learned (20)

Blog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being HackedBlog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being Hacked
 
Hacking 2018
Hacking 2018Hacking 2018
Hacking 2018
 
Red Team Apocalypse (RVAsec Edition)
Red Team Apocalypse (RVAsec Edition)Red Team Apocalypse (RVAsec Edition)
Red Team Apocalypse (RVAsec Edition)
 
Security is not a feature
Security is not a featureSecurity is not a feature
Security is not a feature
 
Oracle database threats - LAOUC Webinar
Oracle database threats - LAOUC WebinarOracle database threats - LAOUC Webinar
Oracle database threats - LAOUC Webinar
 
Introduction to LavaPasswordFactory
Introduction to LavaPasswordFactoryIntroduction to LavaPasswordFactory
Introduction to LavaPasswordFactory
 
Hacking iOS Applications with Proxies
Hacking iOS Applications with ProxiesHacking iOS Applications with Proxies
Hacking iOS Applications with Proxies
 
Online Self Defense
Online Self DefenseOnline Self Defense
Online Self Defense
 
Hacking sites for fun and profit
Hacking sites for fun and profitHacking sites for fun and profit
Hacking sites for fun and profit
 
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and SolutionHeartbleed Bug Vulnerability: Discovery, Impact and Solution
Heartbleed Bug Vulnerability: Discovery, Impact and Solution
 
Web Application Security - DevFest + GDay George Town 2016
Web Application Security - DevFest + GDay George Town 2016Web Application Security - DevFest + GDay George Town 2016
Web Application Security - DevFest + GDay George Town 2016
 
Website Hacking and Preventive Measures
Website Hacking and Preventive MeasuresWebsite Hacking and Preventive Measures
Website Hacking and Preventive Measures
 
Hacking
HackingHacking
Hacking
 
H4CK1N6 - Web Application Security
H4CK1N6 - Web Application SecurityH4CK1N6 - Web Application Security
H4CK1N6 - Web Application Security
 
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...
 
Hacking iOS with Proxies - dc612
Hacking iOS with Proxies - dc612Hacking iOS with Proxies - dc612
Hacking iOS with Proxies - dc612
 
BSIDES-PR Keynote Hunting for Bad Guys
BSIDES-PR Keynote Hunting for Bad GuysBSIDES-PR Keynote Hunting for Bad Guys
BSIDES-PR Keynote Hunting for Bad Guys
 
Hacking sites for fun and profit
Hacking sites for fun and profitHacking sites for fun and profit
Hacking sites for fun and profit
 
DNS – Strategies for Reducing Data Leakage & Protecting Online Privacy – Hack...
DNS – Strategies for Reducing Data Leakage & Protecting Online Privacy – Hack...DNS – Strategies for Reducing Data Leakage & Protecting Online Privacy – Hack...
DNS – Strategies for Reducing Data Leakage & Protecting Online Privacy – Hack...
 
Malware cryptomining uploadv3
Malware cryptomining uploadv3Malware cryptomining uploadv3
Malware cryptomining uploadv3
 

More from Adam Englander

Making PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxMaking PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptx
Adam Englander
 
Practical API Security - PyCon 2019
Practical API Security - PyCon 2019Practical API Security - PyCon 2019
Practical API Security - PyCon 2019
Adam Englander
 
Threat Modeling for Dummies
Threat Modeling for DummiesThreat Modeling for Dummies
Threat Modeling for Dummies
Adam Englander
 
ZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API SecurityZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API Security
Adam Englander
 
ZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in DepthZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in Depth
Adam Englander
 
Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018
Adam Englander
 
Dutch PHP 2018 - Cryptography for Beginners
Dutch PHP 2018 - Cryptography for BeginnersDutch PHP 2018 - Cryptography for Beginners
Dutch PHP 2018 - Cryptography for Beginners
Adam Englander
 
php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2
Adam Englander
 
php[tek] 2018 - Biometrics, fantastic failure point of the future
php[tek] 2018 - Biometrics, fantastic failure point of the futurephp[tek] 2018 - Biometrics, fantastic failure point of the future
php[tek] 2018 - Biometrics, fantastic failure point of the future
Adam Englander
 
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Adam Englander
 
Practical API Security - PyCon 2018
Practical API Security - PyCon 2018Practical API Security - PyCon 2018
Practical API Security - PyCon 2018
Adam Englander
 
Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018
Adam Englander
 
Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018
Adam Englander
 
Cryptography for Beginners - Sunshine PHP 2018
Cryptography for Beginners - Sunshine PHP 2018Cryptography for Beginners - Sunshine PHP 2018
Cryptography for Beginners - Sunshine PHP 2018
Adam Englander
 
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the FutureConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
Adam Englander
 
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your RESTCon Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Adam Englander
 
ZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for BeginnersZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for Beginners
Adam Englander
 
ZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is ComingZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is Coming
Adam Englander
 
ZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async PrimerZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async Primer
Adam Englander
 
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and BehatSymfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Adam Englander
 

More from Adam Englander (20)

Making PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxMaking PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptx
 
Practical API Security - PyCon 2019
Practical API Security - PyCon 2019Practical API Security - PyCon 2019
Practical API Security - PyCon 2019
 
Threat Modeling for Dummies
Threat Modeling for DummiesThreat Modeling for Dummies
Threat Modeling for Dummies
 
ZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API SecurityZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API Security
 
ZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in DepthZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in Depth
 
Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018
 
Dutch PHP 2018 - Cryptography for Beginners
Dutch PHP 2018 - Cryptography for BeginnersDutch PHP 2018 - Cryptography for Beginners
Dutch PHP 2018 - Cryptography for Beginners
 
php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2
 
php[tek] 2018 - Biometrics, fantastic failure point of the future
php[tek] 2018 - Biometrics, fantastic failure point of the futurephp[tek] 2018 - Biometrics, fantastic failure point of the future
php[tek] 2018 - Biometrics, fantastic failure point of the future
 
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
 
Practical API Security - PyCon 2018
Practical API Security - PyCon 2018Practical API Security - PyCon 2018
Practical API Security - PyCon 2018
 
Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018
 
Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018
 
Cryptography for Beginners - Sunshine PHP 2018
Cryptography for Beginners - Sunshine PHP 2018Cryptography for Beginners - Sunshine PHP 2018
Cryptography for Beginners - Sunshine PHP 2018
 
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the FutureConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
 
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your RESTCon Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
 
ZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for BeginnersZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for Beginners
 
ZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is ComingZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is Coming
 
ZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async PrimerZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async Primer
 
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and BehatSymfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
 

Recently uploaded

Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Ashley Madison - Lessons Learned

  • 1. Ashley Madison Lessons Learned Security lessons learned from the most famous PHP site ever to be hacked
  • 2. Who Am I? • Director of Engineering at LaunchKey • Founder/Co-Organizer of Las Vegas PHP UG • Co-Organizer of Las Vegas Developer UG • National Junior Basketball Coach
  • 3. What is LaunchKey • Security as a Service Provider • Anonymous distributed password-free multi- factor authentication and authorization platform • PHP SDK • WordPress Plugin • Drupal Plugin
  • 4. What is Ashley Madison • Online Community with over 40 million members • Targets married men looking for an affair • Offers a “paid delete” option to remove all of a members data for a price
  • 5. What Happened • The network containing the Ashley Madison Site was breached • Hackers claimed to have data they would release and gave a shutdown or else choice • Ashley Madison refused saying the hackers claims were not possible • Hackers release 30 GB of data
  • 6. What Was Released • Names, email addresses, personal details, GPS coordinates and passwords of users • Executive emails • Website source code • Credit card transaction details and limited credit card numbers
  • 7. How Did It Happen • Hackers claimed “You could use Pass1234 from the internet to VPN to root on all servers” • Once inside, the hackers spent years collecting data from inside the network • Collected file, database, email, and chat data right off of the network • Had full access to version control software for website code
  • 8. How Could It Happen? • Even security conscious companies aren’t very good at it • Security is rarely at the forefront of decisions related policies and procedures • Most do only what is necessary to comply with regulation • Data inside the network itself is rarely secured
  • 9. What About PHP? • Site used PHP 5.5+ based password hashing • Most password crackers gave up after trying common passwords. Common passwords accounted for approximately 0.1% • Password scheme was too costly to bother as passwords would be reset before they were cracked.
  • 10. But The Passwords Were Cracked • Site used its own algorithm for a “login key” that was simply an MD5 of the username and un-hashed password. • Code was updated but not the database • 11.7 million passwords were cracked using this vulnerability
  • 11. Why Was It Such A Big Deal • Passwords were cracked after password resets • 68% of individuals in a LaunchKey password survey say they share the same password with multiple sites • Many users have the same email address password as other websites • Once hackers have your email, the rest comes with it
  • 12. What Did We Learn Not To Do • Do not store passwords • Do not assume that the network is secure • Do no assume that the database is secure • Do not roll your own crypto
  • 13. What Did We Learn To Do • Protect user data like it was your own • Hash data that does not need to be read • Use PHP Password Hashing to hash data • Encrypt data at rest, especially PII • Encrypt data in motion • Use honeypots to detect intruders
  • 14. Further Reading • The Impact Team Interview: http://motherboard.vice.com/read/ashley- madison-hackers-speak-out-nobody-was- watching • CynoSure Prime Password Crack Explanation: http://cynosureprime.blogspot.com/2015/09/ how-we-cracked-millions-of-ashley.html • LaunchKey Password Survey: https://blog.launchkey.com/passwords- survey.html
  • 15. Further Reading • PHP Password Hashing: http://php.net/manual/en/book.password.ph p • PHP Social Login: http://hybridauth.sourceforge.net/ • LaunchKey Password Free Login:https://docs.launchkey.com/developer/ web-desktop/sdk/php.html • Honeynet: https://www.honeynet.org/
  • 17. Contact Me • Twitter: @adam_englander • IRC: #launchkey or #vegastech on freenode.net • Email: adam@launchkey.com

Editor's Notes

  1. The hackers object to the site's business practices, specifically a "paid delete" option that allows people to pay to remove all their information but, they say, does not actually do that.
  2. Personal information was particularly problematic due to the private nature of the site Executive emails showed that founding Ashley Madison CTO had hacked a competitor and stolen the user data
  3. Big win for PHP Password Hashing with a string algorithm. Even with the included salt and iterations
  4. The vulnerability was discovered in the VCS dump that showed the change and the date.
  5. There are many options for not storing passwords with services like LaunchKey or social logins Security is made with layers. Keep your layer secure as it there were not other layers Event if you are a cryptographer or a security expert, do not roll you own crypto. Use an open source library
  6. If you do not send users email but keep it only for password resets, hash that data. Assume that the user has used the same password for that email address. PHP Password Hashing was the shining star in this debacle Encrypt data in the session, in the database, in the file system, in the cache. SSL is not good enough. SSL all the things: Every step of the way for HTTP, database connections, cache connections, VCS data.