SlideShare a Scribd company logo
1 of 53
SECURITY IS NOT A FEATURE
It’s a state of mind
WHY TALK ABOUT SECURITY?
• Everyone knows you filter input and escape output
• Everyone knows you use https or tls or some other magic cryptography
• Everyone knows you use prepared statements
• Everyone knows you apply security patches to your system
• Everyone knows as long as you’re PCI compliant you’re safe
• Everyone knows a firewall appliance blocks everything
• Everyone is stupid
E_TOTALLY_SCREWED
AND REMEMBER, THE NSA IS
WATCHING…
LIES AND DAMN STATISTICS
• 91% increase in targeted attacks campaigns in 2013
• 62% increase in the number of breaches in 2013
• Over 552M identities were exposed via breaches in 2013
• 23 zero-day vulnerabilities discovered
• 38% of mobile users have experienced mobile cybercrime in past 12 months
• Spam volume dropped to 66% of all email traffic
• 1 in 392 emails contain a phishing attacks
• Web-based attacks are up 23%
• 1 in 8 legitimate websites have a critical vulnerability
Symantec 2014 Internet Security Threat Report, Volume 19
MAKE IT SO
Ok, site done, now security++
“
”
THE STATE OF BEING PROTECTED OR SAFE FROM
HARM
THINGS DONE TO MAKE PEOPLE OR PLACES SAFE
Definition of Security from merriam-webster
Both a state and a process
SECURITY !== …
• A feature at the end of the project
• Meeting some compliance checklist
• A single person or team’s job
• Hiring someone to do it afterward
• A tool or appliance
• A boolean
SECURITY === …
• An ongoing process
• A paranoid way of thinking
• The acknowledgment that you will be hacked at some point
• Habit
• Everybody’s problem
LAYERS OF SECURITY
• Physical
• System
• Network
• Application
• User System
• Browser
DEVELOPERS DEVELOPERS DEVELOPERS
• Application Security
• Knowing your threats.
• Securing the network, host and application.
• Incorporating security into your software development process
IT’S ALL ABOUT THE DATA
Ownership and Potential for Abuse
A WORD OF WARNING
Checklists do not solve all problems, but they do help those with swiss-
cheese memories (like me)
STEP 1: KNOW YOUR DATA
• What are you storing?
• Who does it come from?
• Who owns it?
• Does it need to have restricted access?
• Is it confidential?
• Does it need to be archived?
• Do we NEED this data?
STEP 2: KNOW YOUR USERS
• Are you attractive for hactivists?
• Are you attractive for ransom?
• Are you likely to be popular enough to be ddos’d?
• Will your competitors pay to have you hacked?
• Did you piss off an old dev or sysadmin who might be gunning for you?
• Do you have a lot of soccer moms?
• Do you have a lot of bored geeks?
STEP 3: KNOW YOUR LAWS
• http://www.csoonline.com/article/2126072/compliance/the-security-laws--
regulations-and-guidelines-directory.html
• There are a lot!!
• Basically, if you store financial information, medical information, information
about children under 13, or personal information that can be used for
identity theft – you need to do some reading up on laws.
STEP 4: MAKE GOOD DECISIONS
• Who has access?
• How will things be protected?
• How are you backing up?
• Do you have disaster plan?
• What happens if you get hacked?
• What happens if you derp? (Humans are so error-prone)
• What level of brokenness can you accept from a third party?
STEP 5: WRITE IT ALL DOWN
• Document
• Document
• Document
• Document
• Document
• Document
• Document
• Document …
ISN’T THIS KIND OF LIKE RISK
MANAGEMENT STUFF?
• Yes
• No
• Maybe
PRACTICE MAKES PERFECT
• Test your data backup and recovery plans
• Test your “you got hacked” plans
• Test your rules for data access
• Test hacking your site – it’s fun!
DON’T FORGET MURPHY!
BALANCING ACTS
Sometimes $x is > $y
WHY CONTEXT IS IMPORTANT
• Always balance
• Sailor moon forums are not as important as a bank website
• But that’s no reason to screw the basics
• People reuse passwords, you can’t stop them
• But you can’t be responsible for all user stupidity in the world
BEING SECURITY MINDED
But I’m only a developer and have no say!
THE PHYSICAL LAYER
• Usually someone else’s problem and decision
• But not always – did you get a say on the hosting provider?
• So do your research
THE SYSTEM LAYER
• Often someone else’s problem
• Unless you’re devops
• In which case – do your research
• Wait – in any case do your research
• Update, update, update and FIGHT for updates!!
THE NETWORK LAYER
• Learn how to use wireshark
• Learn about network design
• Learn about https and man-in-the-middle
• So when they ask you to talk to a database in another subnet you can tell
them “not without the proper encryption”
THE APPLICATION LAYER
• This is your problem
• “Just get it finished, we’ll secure it later” <- stupidest thing ever
• Good habits in coding breed secure code
• How do you create good habits?
STEP 1: BECOME PARANOID
• Yes, they are trying to hack you
• No, it doesn’t matter how small you are
• All users are evil… cats
• (or stupid cats, same result)
STEP 2: KNOW YOUR VECTORS
• Input Validation
• Authentication
• Authorization
• Configuration management, Sensitive information, System
• Cryptography
• Parameter manipulation
• Exception/Error management
• Auditing and logging
OWASP TOP TEN
• Injection
• Broken Authentication and Session Management
• Cross-Site Scripting (XSS)
• Insecure Direct Object References
• Security Misconfiguration
• Sensitive Data Exposure
• Missing Function Level Access Control
• Cross-Site Request Forgery (CSRF)
• Using Components with Known Vulnerabilities
• Unvalidated Redirects and Forwards
INPUT VALIDATION
• Validate Input, Escape Output
• OWASP: Injection, XSS, Unvalidated Redirects and Forwards
• Make sure you get what you expected, always
• Do not assume anything
• Always be aware of context
BEST PRACTICES
• Force escaping – echo in templates is #1 place to find this
• Use a good library (see frameworks or packagist)
• Use prepared statements
• Remember other places sql can be injected! (Like statements, etc)
• NoSQL is vulnerable too! (hint: mongodb and $in)
• Force validation
• do not let people touch superglobals or other user data “raw”
AUTHENTICATION
• Proper session handling and password management
• OWASP: Broken Authentication and Session Management, CSRF
• Sessions are hard, learn how to do them right
• HTTP(s) is stateless, remember that!!
• Remember outsourcing to third parties brings additional issues
BEST PRACTICES
• Use a good session library
• Takes care of session fixation
• Takes care of timeouts
• Encrypted connections
• Http only cookies
• Session regeneration
• Use php’s password hashing tools or the library to replace for old versions
• DO NOT ROLL YOUR OWN
• Protect against brute force attacks
AUTHORIZATION
• What is your allowed access?
• OWASP: Insecure Direct Object References, Missing Function Level Access
Control
• Make sure you are locking down all paths to restricted data
• Whitelist instead of blacklisting access
BEST PRACTICES
• Use a library
• Test your code, both by hand and with testing frameworks
• Audit access to sensitive information
• Audit logins
• Make sure authentication is correct! Bad Authentication == bad
authorization!
CONFIGURATION MANAGEMENT,
SENSITIVE INFORMATION
SYSTEM SECURITY
• Access to information or system information
• OWASP: Security Misconfiguration, Sensitive Data Exposure
• Make sure you don’t let people see everything about your system and setup
BEST PRACTICES
• Automate all the things!
• Use “environment” setups for settings, but ALWAYS DEFAULT TO PRODUCTION
• Turn off PHP information, apache information, phpinfo()
• Turn off PHP errors
• Make system updates a part of the process!
CRYPTOGRAPHY
• Using the wrong tool for the job
• OWASP: Security Misconfiguration, Using Components with Known
Vulnerabilities
• Cryptography is hard
• Are you a math major with specialization in cryptography?
BEST PRACTICES
• Do not roll your own
• Use PHP libraries
• Use PHP password tools
• Keep those libraries up to date!
• Heartbleed
PARAMETER MANIPULATION
• Evil Cat Users will muck with anything they can
• Headers
• Query params
• Post data
• Cookies
• OWASP: All of them
• Be prepared for everything
BEST PRACTICES
• Validate everything explicitly
• Whitelist, don’t blacklist
• Do not ever sanitize, instead escape output
EXCEPTION/ERROR MANAGEMENT
• Showing sensitive information or exploiting errors to tie up resources
• OWASP: Sensitive Data Exposure
• Make sure the USER doesn’t see the problem, that’s for the developer and
sysadmin
BEST PRACTICES
• Log (most) everything
• Don’t display errors
AUDITING AND LOGGING
• Do it
• Test it
• People will try REALLY hard to bypass it, so watch for patterns!
THE USER SYSTEM LAYER
• Encrypt anything you store on a user’s system
• Don’t trust anything from a user’s system
• Cross your fingers
THE BROWSER LAYER
• Use a good library for cross-browser abstraction
• Make sure to be aware of browser bugs and exploits
• Use the flags browser provide
• Remember that xss and all the other attacks occur in javascript too!
• http://www.slideshare.net/michael_coates/enabling-browser-security-in-
web-applications <- read up on mitigation
HOW CAN YOU HELP?
• Wish #1 – an open source PHP penetration test tool
• Wish #2 – an open source PHP static analysis tool
SECURITY TOOLS
• https://code.google.com/p/skipfish/
• http://rips-scanner.sourceforge.net/
• https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
• https://www.owasp.org/index.php/Appendix_A:_Testing_Tools
• http://www.symantec.com/security_response/publications/threatreport.jsp
WEB APPLICATION RESOURCES
• http://www.danielmiessler.com/projects/webappsec_testing_resources/
• http://owasp.org
• https://buildsecurityin.us-cert.gov/articles/best-practices/security-testing/risk-
based-and-functional-security-testing
• https://www.ethicalhacker.net/features/book-reviews/how-to-break-web-
software
• http://www.sans.org/security-resources/
PHP SECURITY RESOURCES
• http://www.php.net/manual/en/security.php
• http://phpsec.org/
• http://docforge.com/wiki/Web_application/Security
• http://www.phptherightway.com/
• http://websec.io/
• https://drupal.org/developing/best-practices
GO FORTH AND CONTACT
• auroraeosrose@gmail.com
• http://emsmith.net
• http://omniti.com/seeds/security-is-not-a-feature-its-a-state-of-mind
• https://joind.in/10619

More Related Content

What's hot

Root the Box - An Open Source Platform for CTF Administration
Root the Box - An Open Source Platform for CTF AdministrationRoot the Box - An Open Source Platform for CTF Administration
Root the Box - An Open Source Platform for CTF AdministrationChristopher Grayson
 
ANALYZE'15 - Bulk Malware Analysis at Scale
ANALYZE'15 - Bulk Malware Analysis at ScaleANALYZE'15 - Bulk Malware Analysis at Scale
ANALYZE'15 - Bulk Malware Analysis at ScaleJohn Bambenek
 
EDR, ETDR, Next Gen AV is all the rage, so why am I ENRAGED?
EDR, ETDR, Next Gen AV is all the rage, so why am I ENRAGED?EDR, ETDR, Next Gen AV is all the rage, so why am I ENRAGED?
EDR, ETDR, Next Gen AV is all the rage, so why am I ENRAGED?Michael Gough
 
Owasp joy of proactive security
Owasp joy of proactive securityOwasp joy of proactive security
Owasp joy of proactive securityScott Behrens
 
LonestarPHP 2014 Security Keynote
LonestarPHP 2014 Security KeynoteLonestarPHP 2014 Security Keynote
LonestarPHP 2014 Security KeynoteAlison Gianotto
 
Sandbox vs manual analysis v2.1
Sandbox vs manual analysis v2.1Sandbox vs manual analysis v2.1
Sandbox vs manual analysis v2.1Michael Gough
 
Top Security Challenges Facing Credit Unions Today
Top Security Challenges Facing Credit Unions TodayTop Security Challenges Facing Credit Unions Today
Top Security Challenges Facing Credit Unions TodayChris Gates
 
The top 10 windows logs event id's used v1.0
The top 10 windows logs event id's used v1.0The top 10 windows logs event id's used v1.0
The top 10 windows logs event id's used v1.0Michael Gough
 
Lets talk about bug hunting
Lets talk about bug huntingLets talk about bug hunting
Lets talk about bug huntingKirill Ermakov
 
MacIT 2014 - Essential Security & Risk Fundamentals
MacIT 2014 - Essential Security & Risk FundamentalsMacIT 2014 - Essential Security & Risk Fundamentals
MacIT 2014 - Essential Security & Risk FundamentalsAlison Gianotto
 
Cred stealing emails bsides austin_2018 v1.0
Cred stealing emails bsides austin_2018 v1.0Cred stealing emails bsides austin_2018 v1.0
Cred stealing emails bsides austin_2018 v1.0Michael Gough
 
QAing the security way!
QAing the security way!QAing the security way!
QAing the security way!Amit Gundiyal
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA
 
Network Forensics and Practical Packet Analysis
Network Forensics and Practical Packet AnalysisNetwork Forensics and Practical Packet Analysis
Network Forensics and Practical Packet AnalysisPriyanka Aash
 
MW_Arch Fastest_way_to_hunt_on_Windows_v1.01
MW_Arch Fastest_way_to_hunt_on_Windows_v1.01MW_Arch Fastest_way_to_hunt_on_Windows_v1.01
MW_Arch Fastest_way_to_hunt_on_Windows_v1.01Michael Gough
 
Logging for hackers SAINTCON
Logging for hackers SAINTCONLogging for hackers SAINTCON
Logging for hackers SAINTCONMichael Gough
 
Logging for Hackers v1.0
Logging for Hackers v1.0Logging for Hackers v1.0
Logging for Hackers v1.0Michael Gough
 
Secure Yourself, Practice what we preach - BSides Austin 2015
Secure Yourself, Practice what we preach - BSides Austin 2015Secure Yourself, Practice what we preach - BSides Austin 2015
Secure Yourself, Practice what we preach - BSides Austin 2015Michael Gough
 

What's hot (20)

Root the Box - An Open Source Platform for CTF Administration
Root the Box - An Open Source Platform for CTF AdministrationRoot the Box - An Open Source Platform for CTF Administration
Root the Box - An Open Source Platform for CTF Administration
 
Penetration Testing
Penetration TestingPenetration Testing
Penetration Testing
 
ANALYZE'15 - Bulk Malware Analysis at Scale
ANALYZE'15 - Bulk Malware Analysis at ScaleANALYZE'15 - Bulk Malware Analysis at Scale
ANALYZE'15 - Bulk Malware Analysis at Scale
 
EDR, ETDR, Next Gen AV is all the rage, so why am I ENRAGED?
EDR, ETDR, Next Gen AV is all the rage, so why am I ENRAGED?EDR, ETDR, Next Gen AV is all the rage, so why am I ENRAGED?
EDR, ETDR, Next Gen AV is all the rage, so why am I ENRAGED?
 
Owasp joy of proactive security
Owasp joy of proactive securityOwasp joy of proactive security
Owasp joy of proactive security
 
LonestarPHP 2014 Security Keynote
LonestarPHP 2014 Security KeynoteLonestarPHP 2014 Security Keynote
LonestarPHP 2014 Security Keynote
 
Sandbox vs manual analysis v2.1
Sandbox vs manual analysis v2.1Sandbox vs manual analysis v2.1
Sandbox vs manual analysis v2.1
 
Top Security Challenges Facing Credit Unions Today
Top Security Challenges Facing Credit Unions TodayTop Security Challenges Facing Credit Unions Today
Top Security Challenges Facing Credit Unions Today
 
Luis Grangeia IBWAS
Luis Grangeia IBWASLuis Grangeia IBWAS
Luis Grangeia IBWAS
 
The top 10 windows logs event id's used v1.0
The top 10 windows logs event id's used v1.0The top 10 windows logs event id's used v1.0
The top 10 windows logs event id's used v1.0
 
Lets talk about bug hunting
Lets talk about bug huntingLets talk about bug hunting
Lets talk about bug hunting
 
MacIT 2014 - Essential Security & Risk Fundamentals
MacIT 2014 - Essential Security & Risk FundamentalsMacIT 2014 - Essential Security & Risk Fundamentals
MacIT 2014 - Essential Security & Risk Fundamentals
 
Cred stealing emails bsides austin_2018 v1.0
Cred stealing emails bsides austin_2018 v1.0Cred stealing emails bsides austin_2018 v1.0
Cred stealing emails bsides austin_2018 v1.0
 
QAing the security way!
QAing the security way!QAing the security way!
QAing the security way!
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security way
 
Network Forensics and Practical Packet Analysis
Network Forensics and Practical Packet AnalysisNetwork Forensics and Practical Packet Analysis
Network Forensics and Practical Packet Analysis
 
MW_Arch Fastest_way_to_hunt_on_Windows_v1.01
MW_Arch Fastest_way_to_hunt_on_Windows_v1.01MW_Arch Fastest_way_to_hunt_on_Windows_v1.01
MW_Arch Fastest_way_to_hunt_on_Windows_v1.01
 
Logging for hackers SAINTCON
Logging for hackers SAINTCONLogging for hackers SAINTCON
Logging for hackers SAINTCON
 
Logging for Hackers v1.0
Logging for Hackers v1.0Logging for Hackers v1.0
Logging for Hackers v1.0
 
Secure Yourself, Practice what we preach - BSides Austin 2015
Secure Yourself, Practice what we preach - BSides Austin 2015Secure Yourself, Practice what we preach - BSides Austin 2015
Secure Yourself, Practice what we preach - BSides Austin 2015
 

Viewers also liked

AutoIt for the rest of us - handout
AutoIt for the rest of us - handoutAutoIt for the rest of us - handout
AutoIt for the rest of us - handoutBecky Yoose
 
Using AutoIt for Millennium Task Automation Handout
Using AutoIt for Millennium Task Automation HandoutUsing AutoIt for Millennium Task Automation Handout
Using AutoIt for Millennium Task Automation HandoutBecky Yoose
 
Event sourcing w PHP (by Piotr Kacała)
Event sourcing w PHP (by Piotr Kacała)Event sourcing w PHP (by Piotr Kacała)
Event sourcing w PHP (by Piotr Kacała)GOG.com dev team
 
Website Auto scraping with Autoit and .Net HttpRequest
Website Auto scraping with Autoit and .Net HttpRequestWebsite Auto scraping with Autoit and .Net HttpRequest
Website Auto scraping with Autoit and .Net HttpRequestChen-Tien Tsai
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tigerElizabeth Smith
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architectureElizabeth Smith
 
Haptic Technology ppt
Haptic Technology pptHaptic Technology ppt
Haptic Technology pptArun Sivaraj
 

Viewers also liked (15)

Php’s guts
Php’s gutsPhp’s guts
Php’s guts
 
Using unicode with php
Using unicode with phpUsing unicode with php
Using unicode with php
 
Javascript DOM
Javascript DOMJavascript DOM
Javascript DOM
 
Php
PhpPhp
Php
 
AutoIt for the rest of us - handout
AutoIt for the rest of us - handoutAutoIt for the rest of us - handout
AutoIt for the rest of us - handout
 
Using AutoIt for Millennium Task Automation Handout
Using AutoIt for Millennium Task Automation HandoutUsing AutoIt for Millennium Task Automation Handout
Using AutoIt for Millennium Task Automation Handout
 
Lets Auto It
Lets Auto ItLets Auto It
Lets Auto It
 
Event sourcing w PHP (by Piotr Kacała)
Event sourcing w PHP (by Piotr Kacała)Event sourcing w PHP (by Piotr Kacała)
Event sourcing w PHP (by Piotr Kacała)
 
Website Auto scraping with Autoit and .Net HttpRequest
Website Auto scraping with Autoit and .Net HttpRequestWebsite Auto scraping with Autoit and .Net HttpRequest
Website Auto scraping with Autoit and .Net HttpRequest
 
Modern sql
Modern sqlModern sql
Modern sql
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tiger
 
Php extensions
Php extensionsPhp extensions
Php extensions
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architecture
 
Haptic Technology ppt
Haptic Technology pptHaptic Technology ppt
Haptic Technology ppt
 
Web Security
Web SecurityWeb Security
Web Security
 

Similar to Security is not a feature

11 Commandments of Cyber Security for the Home
11 Commandments of Cyber Security for the Home11 Commandments of Cyber Security for the Home
11 Commandments of Cyber Security for the Homezaimorkai
 
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
 
How an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsHow an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsSecurity Innovation
 
Introduction to LavaPasswordFactory
Introduction to LavaPasswordFactoryIntroduction to LavaPasswordFactory
Introduction to LavaPasswordFactoryChristopher Grayson
 
CNIT 160 4e Security Program Management (Part 5)
CNIT 160 4e Security Program Management (Part 5)CNIT 160 4e Security Program Management (Part 5)
CNIT 160 4e Security Program Management (Part 5)Sam Bowne
 
How to Destroy a Database
How to Destroy a DatabaseHow to Destroy a Database
How to Destroy a DatabaseJohn Ashmead
 
Introduction to Security Testing
Introduction to Security TestingIntroduction to Security Testing
Introduction to Security TestingvodQA
 
Cs8792 cns - unit v
Cs8792   cns - unit vCs8792   cns - unit v
Cs8792 cns - unit vArthyR3
 
Keeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application SecurityKeeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application SecurityKelly Robertson
 
Chapter 15 incident handling
Chapter 15 incident handlingChapter 15 incident handling
Chapter 15 incident handlingnewbie2019
 
So Your Company Hired A Pentester
So Your Company Hired A PentesterSo Your Company Hired A Pentester
So Your Company Hired A PentesterNorthBayWeb
 
Fun with Application Security
Fun with Application SecurityFun with Application Security
Fun with Application SecurityBruce Abernethy
 
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 2016Gareth Davies
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile WorldDavid Lindner
 
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja WarriorsRyan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja WarriorsRyan Elkins
 
Commodity malware means YOU
Commodity malware means YOUCommodity malware means YOU
Commodity malware means YOUMichael Gough
 
RightScale Webinar: Security Monitoring in the Cloud: How RightScale Does It
RightScale Webinar: Security Monitoring in the Cloud: How RightScale Does ItRightScale Webinar: Security Monitoring in the Cloud: How RightScale Does It
RightScale Webinar: Security Monitoring in the Cloud: How RightScale Does ItRightScale
 
Inetsecurity.in Ethical Hacking presentation
Inetsecurity.in Ethical Hacking presentationInetsecurity.in Ethical Hacking presentation
Inetsecurity.in Ethical Hacking presentationJoshua Prince
 
When Security Tools Fail You
When Security Tools Fail YouWhen Security Tools Fail You
When Security Tools Fail YouMichael Gough
 

Similar to Security is not a feature (20)

11 Commandments of Cyber Security for the Home
11 Commandments of Cyber Security for the Home11 Commandments of Cyber Security for the Home
11 Commandments of Cyber Security for the Home
 
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...
 
How an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsHow an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software Systems
 
Introduction to LavaPasswordFactory
Introduction to LavaPasswordFactoryIntroduction to LavaPasswordFactory
Introduction to LavaPasswordFactory
 
CNIT 160 4e Security Program Management (Part 5)
CNIT 160 4e Security Program Management (Part 5)CNIT 160 4e Security Program Management (Part 5)
CNIT 160 4e Security Program Management (Part 5)
 
How to Destroy a Database
How to Destroy a DatabaseHow to Destroy a Database
How to Destroy a Database
 
Introduction to Security Testing
Introduction to Security TestingIntroduction to Security Testing
Introduction to Security Testing
 
Cs8792 cns - unit v
Cs8792   cns - unit vCs8792   cns - unit v
Cs8792 cns - unit v
 
Keeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application SecurityKeeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application Security
 
Chapter 15 incident handling
Chapter 15 incident handlingChapter 15 incident handling
Chapter 15 incident handling
 
So Your Company Hired A Pentester
So Your Company Hired A PentesterSo Your Company Hired A Pentester
So Your Company Hired A Pentester
 
Fun with Application Security
Fun with Application SecurityFun with Application Security
Fun with Application Security
 
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
 
AppSec in an Agile World
AppSec in an Agile WorldAppSec in an Agile World
AppSec in an Agile World
 
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja WarriorsRyan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
 
Commodity malware means YOU
Commodity malware means YOUCommodity malware means YOU
Commodity malware means YOU
 
RightScale Webinar: Security Monitoring in the Cloud: How RightScale Does It
RightScale Webinar: Security Monitoring in the Cloud: How RightScale Does ItRightScale Webinar: Security Monitoring in the Cloud: How RightScale Does It
RightScale Webinar: Security Monitoring in the Cloud: How RightScale Does It
 
Inetsecurity.in Ethical Hacking presentation
Inetsecurity.in Ethical Hacking presentationInetsecurity.in Ethical Hacking presentation
Inetsecurity.in Ethical Hacking presentation
 
Cyber security
Cyber securityCyber security
Cyber security
 
When Security Tools Fail You
When Security Tools Fail YouWhen Security Tools Fail You
When Security Tools Fail You
 

More from Elizabeth Smith

Database theory and modeling
Database theory and modelingDatabase theory and modeling
Database theory and modelingElizabeth Smith
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tigerElizabeth Smith
 
Taming the tiger - pnwphp
Taming the tiger - pnwphpTaming the tiger - pnwphp
Taming the tiger - pnwphpElizabeth Smith
 
Mentoring developers-php benelux-2014
Mentoring developers-php benelux-2014Mentoring developers-php benelux-2014
Mentoring developers-php benelux-2014Elizabeth Smith
 
Socket programming with php
Socket programming with phpSocket programming with php
Socket programming with phpElizabeth Smith
 
Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Elizabeth Smith
 
Mentoring developers - Zendcon 2012
Mentoring developers - Zendcon 2012Mentoring developers - Zendcon 2012
Mentoring developers - Zendcon 2012Elizabeth Smith
 
Event and Signal Driven Programming Zendcon 2012
Event and Signal Driven Programming Zendcon 2012Event and Signal Driven Programming Zendcon 2012
Event and Signal Driven Programming Zendcon 2012Elizabeth Smith
 
Php Extensions for Dummies
Php Extensions for DummiesPhp Extensions for Dummies
Php Extensions for DummiesElizabeth Smith
 
Event and signal driven programming
Event and signal driven programmingEvent and signal driven programming
Event and signal driven programmingElizabeth Smith
 

More from Elizabeth Smith (20)

Welcome to the internet
Welcome to the internetWelcome to the internet
Welcome to the internet
 
Database theory and modeling
Database theory and modelingDatabase theory and modeling
Database theory and modeling
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tiger
 
Taming the tiger - pnwphp
Taming the tiger - pnwphpTaming the tiger - pnwphp
Taming the tiger - pnwphp
 
Php extensions
Php extensionsPhp extensions
Php extensions
 
Php extensions
Php extensionsPhp extensions
Php extensions
 
Lexing and parsing
Lexing and parsingLexing and parsing
Lexing and parsing
 
Hacking with hhvm
Hacking with hhvmHacking with hhvm
Hacking with hhvm
 
Using unicode with php
Using unicode with phpUsing unicode with php
Using unicode with php
 
Mentoring developers-php benelux-2014
Mentoring developers-php benelux-2014Mentoring developers-php benelux-2014
Mentoring developers-php benelux-2014
 
Socket programming with php
Socket programming with phpSocket programming with php
Socket programming with php
 
Mentoring developers
Mentoring developersMentoring developers
Mentoring developers
 
Do the mentor thing
Do the mentor thingDo the mentor thing
Do the mentor thing
 
Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Spl in the wild - zendcon2012
Spl in the wild - zendcon2012
 
Mentoring developers - Zendcon 2012
Mentoring developers - Zendcon 2012Mentoring developers - Zendcon 2012
Mentoring developers - Zendcon 2012
 
Event and Signal Driven Programming Zendcon 2012
Event and Signal Driven Programming Zendcon 2012Event and Signal Driven Programming Zendcon 2012
Event and Signal Driven Programming Zendcon 2012
 
Mentoring developers
Mentoring developersMentoring developers
Mentoring developers
 
Php Extensions for Dummies
Php Extensions for DummiesPhp Extensions for Dummies
Php Extensions for Dummies
 
Event and signal driven programming
Event and signal driven programmingEvent and signal driven programming
Event and signal driven programming
 
Spl in the wild
Spl in the wildSpl in the wild
Spl in the wild
 

Recently uploaded

Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.CarlotaBedoya1
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 

Recently uploaded (20)

Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 

Security is not a feature

  • 1. SECURITY IS NOT A FEATURE It’s a state of mind
  • 2. WHY TALK ABOUT SECURITY? • Everyone knows you filter input and escape output • Everyone knows you use https or tls or some other magic cryptography • Everyone knows you use prepared statements • Everyone knows you apply security patches to your system • Everyone knows as long as you’re PCI compliant you’re safe • Everyone knows a firewall appliance blocks everything • Everyone is stupid
  • 4. AND REMEMBER, THE NSA IS WATCHING…
  • 5. LIES AND DAMN STATISTICS • 91% increase in targeted attacks campaigns in 2013 • 62% increase in the number of breaches in 2013 • Over 552M identities were exposed via breaches in 2013 • 23 zero-day vulnerabilities discovered • 38% of mobile users have experienced mobile cybercrime in past 12 months • Spam volume dropped to 66% of all email traffic • 1 in 392 emails contain a phishing attacks • Web-based attacks are up 23% • 1 in 8 legitimate websites have a critical vulnerability Symantec 2014 Internet Security Threat Report, Volume 19
  • 6. MAKE IT SO Ok, site done, now security++
  • 7. “ ” THE STATE OF BEING PROTECTED OR SAFE FROM HARM THINGS DONE TO MAKE PEOPLE OR PLACES SAFE Definition of Security from merriam-webster Both a state and a process
  • 8. SECURITY !== … • A feature at the end of the project • Meeting some compliance checklist • A single person or team’s job • Hiring someone to do it afterward • A tool or appliance • A boolean
  • 9. SECURITY === … • An ongoing process • A paranoid way of thinking • The acknowledgment that you will be hacked at some point • Habit • Everybody’s problem
  • 10. LAYERS OF SECURITY • Physical • System • Network • Application • User System • Browser
  • 11. DEVELOPERS DEVELOPERS DEVELOPERS • Application Security • Knowing your threats. • Securing the network, host and application. • Incorporating security into your software development process
  • 12. IT’S ALL ABOUT THE DATA Ownership and Potential for Abuse
  • 13. A WORD OF WARNING Checklists do not solve all problems, but they do help those with swiss- cheese memories (like me)
  • 14. STEP 1: KNOW YOUR DATA • What are you storing? • Who does it come from? • Who owns it? • Does it need to have restricted access? • Is it confidential? • Does it need to be archived? • Do we NEED this data?
  • 15. STEP 2: KNOW YOUR USERS • Are you attractive for hactivists? • Are you attractive for ransom? • Are you likely to be popular enough to be ddos’d? • Will your competitors pay to have you hacked? • Did you piss off an old dev or sysadmin who might be gunning for you? • Do you have a lot of soccer moms? • Do you have a lot of bored geeks?
  • 16. STEP 3: KNOW YOUR LAWS • http://www.csoonline.com/article/2126072/compliance/the-security-laws-- regulations-and-guidelines-directory.html • There are a lot!! • Basically, if you store financial information, medical information, information about children under 13, or personal information that can be used for identity theft – you need to do some reading up on laws.
  • 17. STEP 4: MAKE GOOD DECISIONS • Who has access? • How will things be protected? • How are you backing up? • Do you have disaster plan? • What happens if you get hacked? • What happens if you derp? (Humans are so error-prone) • What level of brokenness can you accept from a third party?
  • 18. STEP 5: WRITE IT ALL DOWN • Document • Document • Document • Document • Document • Document • Document • Document …
  • 19. ISN’T THIS KIND OF LIKE RISK MANAGEMENT STUFF? • Yes • No • Maybe
  • 20. PRACTICE MAKES PERFECT • Test your data backup and recovery plans • Test your “you got hacked” plans • Test your rules for data access • Test hacking your site – it’s fun!
  • 23. WHY CONTEXT IS IMPORTANT • Always balance • Sailor moon forums are not as important as a bank website • But that’s no reason to screw the basics • People reuse passwords, you can’t stop them • But you can’t be responsible for all user stupidity in the world
  • 24. BEING SECURITY MINDED But I’m only a developer and have no say!
  • 25. THE PHYSICAL LAYER • Usually someone else’s problem and decision • But not always – did you get a say on the hosting provider? • So do your research
  • 26. THE SYSTEM LAYER • Often someone else’s problem • Unless you’re devops • In which case – do your research • Wait – in any case do your research • Update, update, update and FIGHT for updates!!
  • 27. THE NETWORK LAYER • Learn how to use wireshark • Learn about network design • Learn about https and man-in-the-middle • So when they ask you to talk to a database in another subnet you can tell them “not without the proper encryption”
  • 28. THE APPLICATION LAYER • This is your problem • “Just get it finished, we’ll secure it later” <- stupidest thing ever • Good habits in coding breed secure code • How do you create good habits?
  • 29. STEP 1: BECOME PARANOID • Yes, they are trying to hack you • No, it doesn’t matter how small you are • All users are evil… cats • (or stupid cats, same result)
  • 30. STEP 2: KNOW YOUR VECTORS • Input Validation • Authentication • Authorization • Configuration management, Sensitive information, System • Cryptography • Parameter manipulation • Exception/Error management • Auditing and logging
  • 31. OWASP TOP TEN • Injection • Broken Authentication and Session Management • Cross-Site Scripting (XSS) • Insecure Direct Object References • Security Misconfiguration • Sensitive Data Exposure • Missing Function Level Access Control • Cross-Site Request Forgery (CSRF) • Using Components with Known Vulnerabilities • Unvalidated Redirects and Forwards
  • 32. INPUT VALIDATION • Validate Input, Escape Output • OWASP: Injection, XSS, Unvalidated Redirects and Forwards • Make sure you get what you expected, always • Do not assume anything • Always be aware of context
  • 33. BEST PRACTICES • Force escaping – echo in templates is #1 place to find this • Use a good library (see frameworks or packagist) • Use prepared statements • Remember other places sql can be injected! (Like statements, etc) • NoSQL is vulnerable too! (hint: mongodb and $in) • Force validation • do not let people touch superglobals or other user data “raw”
  • 34. AUTHENTICATION • Proper session handling and password management • OWASP: Broken Authentication and Session Management, CSRF • Sessions are hard, learn how to do them right • HTTP(s) is stateless, remember that!! • Remember outsourcing to third parties brings additional issues
  • 35. BEST PRACTICES • Use a good session library • Takes care of session fixation • Takes care of timeouts • Encrypted connections • Http only cookies • Session regeneration • Use php’s password hashing tools or the library to replace for old versions • DO NOT ROLL YOUR OWN • Protect against brute force attacks
  • 36. AUTHORIZATION • What is your allowed access? • OWASP: Insecure Direct Object References, Missing Function Level Access Control • Make sure you are locking down all paths to restricted data • Whitelist instead of blacklisting access
  • 37. BEST PRACTICES • Use a library • Test your code, both by hand and with testing frameworks • Audit access to sensitive information • Audit logins • Make sure authentication is correct! Bad Authentication == bad authorization!
  • 38. CONFIGURATION MANAGEMENT, SENSITIVE INFORMATION SYSTEM SECURITY • Access to information or system information • OWASP: Security Misconfiguration, Sensitive Data Exposure • Make sure you don’t let people see everything about your system and setup
  • 39. BEST PRACTICES • Automate all the things! • Use “environment” setups for settings, but ALWAYS DEFAULT TO PRODUCTION • Turn off PHP information, apache information, phpinfo() • Turn off PHP errors • Make system updates a part of the process!
  • 40. CRYPTOGRAPHY • Using the wrong tool for the job • OWASP: Security Misconfiguration, Using Components with Known Vulnerabilities • Cryptography is hard • Are you a math major with specialization in cryptography?
  • 41. BEST PRACTICES • Do not roll your own • Use PHP libraries • Use PHP password tools • Keep those libraries up to date! • Heartbleed
  • 42. PARAMETER MANIPULATION • Evil Cat Users will muck with anything they can • Headers • Query params • Post data • Cookies • OWASP: All of them • Be prepared for everything
  • 43. BEST PRACTICES • Validate everything explicitly • Whitelist, don’t blacklist • Do not ever sanitize, instead escape output
  • 44. EXCEPTION/ERROR MANAGEMENT • Showing sensitive information or exploiting errors to tie up resources • OWASP: Sensitive Data Exposure • Make sure the USER doesn’t see the problem, that’s for the developer and sysadmin
  • 45. BEST PRACTICES • Log (most) everything • Don’t display errors
  • 46. AUDITING AND LOGGING • Do it • Test it • People will try REALLY hard to bypass it, so watch for patterns!
  • 47. THE USER SYSTEM LAYER • Encrypt anything you store on a user’s system • Don’t trust anything from a user’s system • Cross your fingers
  • 48. THE BROWSER LAYER • Use a good library for cross-browser abstraction • Make sure to be aware of browser bugs and exploits • Use the flags browser provide • Remember that xss and all the other attacks occur in javascript too! • http://www.slideshare.net/michael_coates/enabling-browser-security-in- web-applications <- read up on mitigation
  • 49. HOW CAN YOU HELP? • Wish #1 – an open source PHP penetration test tool • Wish #2 – an open source PHP static analysis tool
  • 50. SECURITY TOOLS • https://code.google.com/p/skipfish/ • http://rips-scanner.sourceforge.net/ • https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project • https://www.owasp.org/index.php/Appendix_A:_Testing_Tools • http://www.symantec.com/security_response/publications/threatreport.jsp
  • 51. WEB APPLICATION RESOURCES • http://www.danielmiessler.com/projects/webappsec_testing_resources/ • http://owasp.org • https://buildsecurityin.us-cert.gov/articles/best-practices/security-testing/risk- based-and-functional-security-testing • https://www.ethicalhacker.net/features/book-reviews/how-to-break-web- software • http://www.sans.org/security-resources/
  • 52. PHP SECURITY RESOURCES • http://www.php.net/manual/en/security.php • http://phpsec.org/ • http://docforge.com/wiki/Web_application/Security • http://www.phptherightway.com/ • http://websec.io/ • https://drupal.org/developing/best-practices
  • 53. GO FORTH AND CONTACT • auroraeosrose@gmail.com • http://emsmith.net • http://omniti.com/seeds/security-is-not-a-feature-its-a-state-of-mind • https://joind.in/10619

Editor's Notes

  1. So this talk actually started because I noticed fewer security talks, both for beginners and advanced users, popping up at conferences. I pitch on average one security talk to every conference so I know it can’t possibly be for that reason However this is the most broad I’ve spoken about and might get a little ranty Why I like security – my very first conference was at php|tek in 2007 where Chris Schiflett spoke on security In fact, he opened up a website and hacked amazon That really opened my eyes to the fact that the things you’re doing can be used in bad ways
  2. I believe these are some of the reasons you DON’T see as many security talks as you used to Part of it has to do with the PHP community growing up – and forgetting that for every advanced dev there are still 2 jr. devs Part of it is the boredom factor of having the same kinds of talks year after year… and yet people still need that same information every time Part of it is the advent of people selling security, as though the magic bullet fixes all the things Part of it is over reliance on other people’s solutions to security without a good solid look at what they’re peddling
  3. However, forgetting about security and failing to realize that security can totally screw you over leads not only to huge data breaches, but small ones as well Even php.net was hacked this year And often the attack vector is not what you think – there are literally thousands of ways to be up a creek without a paddle, hundreds of ways that things can totally break
  4. IN addition to people trying to hack systems for glory and money and anything else, remember there are also governments undermining the worlds And so much of what you did is built by volunteers Best thing you can really do? Learn some C and help out with your stack
  5. These stats should scare you – the amount of attacks going on right now is unprecented – for example name 3 big attacks from the last year Who remembers how they occurred? Mention – heartbleed (simple bounds check missing), target (guy stole the hvac password who had COMPLETE ACCESS to the system) adobe – the list goes on
  6. “is our site secure” “ok it’s time to add security” “let’s run that through the analyzer to make it secure” What – like toggle the security flag? you can never protect anything perfectly all the time. So the question should be, "Is our site secure enough?"
  7. So there are multiple definitions of security – we’re going to take two One defines security as a state – a Boolean one or zero – but as you know the only things that are really 1s and 0s in computing are the bits flowing in the machine So that’s a horrible thing to view as security So the other thing is to view security as a process But like a process, security is never done So there is no “we are secure”
  8. The minute you allow your brain to see security as Boolean on or off, you fail Your site will be hacked, and you will be an unhappy camper – or your boss will be and you’ll be fired Any time you let someone else “worry about security” you’re also screwed Don’t let people sell you security!! They’re going to waste your money! So if all these things are NOT security – what IS security?
  9. Evil monkey’s talk – Imagine all your users are evil cats – because I’ve been told evil monkeys is “speciest”
  10. Wait– these look pretty damn similar don’t’ they? The OWASP Top Ten represents a broad consensus about what the most critical web application security flaws are. Project members include a variety of security experts from around the world who have shared their expertise to produce this list. We urge all companies to adopt this awareness document within their organization and start the process of ensuring that their web applications do not contain these flaws. Adopting the OWASP Top Ten is perhaps the most effective first step towards changing the software development culture within your organization into one that produces secure code Open Web Application Security Project
  11. Buffer overflow; cross-site scripting; SQL injection; canonicalization However I’m going to say don’t “filter” naything – that’s a poorly overloaded word and attempting to “sanitize” or “clean” data is always fail
  12. Wrap echo up in something so you’re sure that data coming out is always sanitized ZF2 and the autoescape in templates issue (and my take on the whole thing) Be aware of things like mongodb! Theres a page on injection security at php.net AND at the mongodb site – READ AND LEARN
  13. Network eavesdropping ; Brute force attack; dictionary attacks; cookie replay; credential theft Session hijacking; session replay; man in the middle
  14. Credentials can be guessed or overwritten through weak account management functions (e.g., account creation, change password, recover password, weak session IDs). Session IDs are exposed in the URL (e.g., URL rewriting). Session IDs are vulnerable to session fixation attacks. Session IDs don’t timeout, or user sessions or authentication tokens, particularly single sign-on (SSO) tokens, aren’t properly invalidated during logout. Session IDs aren’t rotated after successful login. Passwords, session IDs, and other credentials are sent over unencrypted connections. See A6.
  15. Elevation of privilege; disclosure of confidential data; data tampering; luring attacks
  16. Unauthorized access to administration interfaces; unauthorized access to configuration stores; retrieval of clear text configuration data; lack of individual accountability; over-privileged process and service accounts Access sensitive data in storage; network eavesdropping; data tampering