Copyright Justin C. Klein Keane Drupal Threat Landscape.

Slides:



Advertisements
Similar presentations
Nick Feamster CS 6262 Spring 2009
Advertisements

Web Security Never, ever, trust user inputs Supankar.
Hands-on SQL Injection Attack and Defense HI-TEC July 21, 2013.
OWASP Web Vulnerabilities and Auditing
©2009 Justin C. Klein Keane PHP Code Auditing Session 3 – Tools of the Trade & Crafting Malicious Input Justin C. Klein Keane
©2009 Justin C. Klein Keane PHP Code Auditing Session 5 XSS & XSRF Justin C. Klein Keane
©2009 Justin C. Klein Keane PHP Code Auditing Session 4.3 – Information Disclosure & Authentication Bypass Justin C. Klein Keane
© 2005 Convio, Inc. NTEN Webinar: Protecting your organization and donors from online scams February 23, 2006.
EECS 354 Network Security Cross Site Scripting (XSS)
COMP 321 Week 12. Overview Web Application Security  Authentication  Authorization  Confidentiality Cross-Site Scripting Lab 12-1 Introduction.
The Most Dangerous Places on The Web (according to PC World)
Web Based Attacks SymantecDefense Fantastic Four Casey Ford Mike Lombardo Ragnar Olson Maninder Singh.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
©2009 Justin C. Klein Keane PHP Code Auditing Session 6 Auditing Strategies & Demonstration Justin C. Klein Keane
Introduction to the OWASP Top 10. Cross Site Scripting (XSS)  Comes in several flavors:  Stored  Reflective  DOM-Based.
Lecture 16 Page 1 CS 236 Online Cross-Site Scripting XSS Many sites allow users to upload information –Blogs, photo sharing, Facebook, etc. –Which gets.
Security Liaisons Information Presentation. Introduction  What’s the big deal with computer security? Don’t we have an IT security department to take.
 A cookie is a piece of text that a Web server can store on a user's hard disk.  Cookie data is simply name-value pairs stored on your hard disk by.
Security and Risk Management. Who Am I Matthew Strahan from Content Security Principal Security Consultant I look young, but I’ve been doing this for.
Web Security Demystified Justin C. Klein Keane Sr. InfoSec Specialist University of Pennsylvania School of Arts and Sciences Information Security and Unix.
13Computer Intrusions Dr. John P. Abraham Professor UTPA.
Speaker : YUN–KUAN,CHANG Date : 2009/10/13 Working the botnet: how dynamic DNS is revitalising the zombie army.
B OTNETS T HREATS A ND B OTNETS DETECTION Mona Aldakheel
8/1/2015. Please Ask Questions! 2 Hacks In The News Office of Personnel Management (OPN) Flash vulnerabilities Sony Heartbleed iCloud Leaked Pictures.
Copyright Justin C. Klein HECTOR Security Intelligence Platform Developed for: University of Pennsylvania School of Arts & Science.
Cosc 4765 Server side Web security. Web security issues From Cenzic Vulnerability report
Drupal Security Securing your Configuration Justin C. Klein Keane University of Pennsylvania School of Arts and Sciences Information Security and Unix.
+ Websites Vulnerabilities. + Content Expand of The Internet Use of the Internet Examples Importance of the Internet How to find Security Vulnerabilities.
Safe Internet Use Mark Wheatley CSI Onsite
WEB SECURITY WEEK 3 Computer Security Group University of Texas at Dallas.
Prepared By, Mahadir Ahmad. StopBadware makes the Web safer through the prevention, mitigation, and remediation of badware websites. partners include.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
1 All Your iFRAMEs Point to Us Mike Burry. 2 Drive-by downloads Malicious code (typically Javascript) Downloaded without user interaction (automatic),
1-Vulnerabilities 2-Hackers 3-Categories of attacks 4-What a malicious hacker do? 5-Security mechanisms 6-HTTP Web Servers 7-Web applications attacks.
Web Browser Security Prepared By Mohammed EL-Batta Mohammed Soubih Supervised By Eng. Eman alajrami Explain Date 10. may University of Palestine.
© All rights reserved. Zend Technologies, Inc. PHP Security Kevin Schroeder Zend Technologies.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
Phishing Pharming Spam. Phishing: Definition  A method of identity theft carried out through the creation of a website that seems to represent a legitimate.
Trojan Horses on the Web. Definition: A Trojan horse a piece of software that allows the user think that it does a certain task, while actually does an.
School of Computing and Information Systems CS 371 Web Application Programming Security Avoiding and Preventing Attacks.
Understanding Computer Viruses: What They Can Do, Why People Write Them and How to Defend Against Them Computer Hardware and Software Maintenance.
Web Applications Testing By Jamie Rougvie Supported by.
What is Spam? d min.
Module  Introduction Introduction  Techniques and tools used to commit computer crimes Techniques and tools used to commit computer crimes.
CS526Topic 12: Web Security (2)1 Information Security CS 526 Topic 9 Web Security Part 2.
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
Copyright © The OWASP Foundation This work is available under the Creative Commons SA 2.5 license The OWASP Foundation OWASP Denver February 2012.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
CSRF Attacks Daniel Chen 11/18/15. What is CSRF?  Cross Site Request Forgery (Sea-Surf)  AKA XSRF/ One Click / Sidejacking / Session Riding  Exploits.
By Collin Donaldson. Hacking is only legal under the following circumstances: 1.You hack (penetration test) a device/network you own. 2.You gain explicit,
Powerpoint presentation on Drive-by download attack -By Yogita Goyal.
Page 1 Ethical Hacking by Douglas Williams. Page 2 Intro Attackers can potentially use many different paths through your application to do harm to your.
SlideSet #20: Input Validation and Cross-site Scripting Attacks (XSS) SY306 Web and Databases for Cyber Operations.
Javascript worms By Benjamin Mossé SecPro
Internet Self Defense 101 Rex Booth.
TOPIC: Web Security (Part-4)
World Wide Web policy.
ISYM 540 Current Topics in Information System Management
E-commerce Application Security
Cross-Site Request Forgeries: Exploitation and Prevention
Jon Peppler, Menlo Security Channels
Ways to Secure CMS Websites. The most widely used Content Management Systems are Wordpress, Joomla and Drupal as per statistics. The highest CMS platforms.
Riding Someone Else’s Wave with CSRF
CSC 495/583 Topics of Software Security Intro to Web Security
Web Security Advanced Network Security Peter Reiher August, 2014
Presentation transcript:

Copyright Justin C. Klein Keane Drupal Threat Landscape

Copyright Justin C. Klein Keane whoami Information security specialist with University of Pennsylvania Worked infosec for over a decade Discovered over 100 Drupal vulnerabilities in core and contributed modules One of the chapter leaders for Philadelphia OWASP Began my professional career as a web developer so I feel your pain...

Copyright Justin C. Klein Keane Quick poll Let's chat about security metrics...

Copyright Justin C. Klein Keane About this Presentation Security is a massive topic Highlight the most likely way(s) your Drupal site will get compromised The litany of ways it could get compromised would take all day... #1 reason your site will be a target:  Money

Copyright Justin C. Klein Keane It's not personal When hacking is illegal, only criminals will hack Hacking used to be about curiosity or notoriety Now hacking is all about money Financial motivation guides most compromises

Copyright Justin C. Klein Keane Making money from cybercrime Compromise banking or purchasing credentials Black hat SEO Sending spam Denial of service and extortion Building and renting botnets

Copyright Justin C. Klein Keane Targets of Crime Databases  Large stores of financial or credit card data  Stores of user account credentials End user machines  Contain individual financial credentials  Can be added to botnets  Provide bandwidth for denial of service attacks

Copyright Justin C. Klein Keane Where's the Drupal? How does Drupal fit into this equation?

Copyright Justin C. Klein Keane Value of your Drupal Reputation and Trust  Your Drupal site likely has a legitimate search engine ranking  Your users trust your Drupal site  Your Drupal site is a valuable platform that reaches a large number of visitors and trusted admins

Copyright Justin C. Klein Keane Economics Attackers choosing targets will seek the high return with the least risk/effort Target pool is the entire internet Two main high value targets:  Large financial data stores High risk/effort – high reward  End user machines where financial transactions take place Low risk/effort – low reward Unless...

Copyright Justin C. Klein Keane Ah Computation Computers make automation easy + The internet allows for massive scale = Attack lots of low risk/effort targets for massive rewards!

Copyright Justin C. Klein Keane Anatomy of an Attack Find a vulnerability that affects a large number of servers Exploit the vulnerability en masse to install something that will attack each client that visits a site Result: A large number of malware installations

Copyright Justin C. Klein Keane Malware  Webkit vulnerability  Flash  Java  Adobe Acrobat  XML rendering engine  Etc. Malware is the virus code that will run on end user computers Generally exploits a vulnerability in a web browser or some third party plug in Examples:

Copyright Justin C. Klein Keane Malware Design Trick the user into loading a specific page Page contains tainted content Client loads content, triggering attack Tainted content executes arbitrary code  Generally a downloader Downloader reaches out to the internet and downloads larger malware toolkit Once download complete toolkit is installed

Copyright Justin C. Klein Keane

Copyright Justin C. Klein Keane Types of Attack – SQL Injection SQL injection requires a module developer to willfully ignore the Drupal framework Allows an attacker to issue database queries though the web interface Can be used for all sorts of nefarious purposes Ensure your Drupal site isn't using the MySQL root account!

Copyright Justin C. Klein Keane Types of Attack – XSS XSS stands for cross site scripting Better known as arbitrary script injection Can be used by an attacker to produce an alert box! Actually can be used to write any HTML to a page, including but not limited to:  Javascript  Iframe tags  Object tags

Copyright Justin C. Klein Keane Types of Attack – XSS (cont.) Javascript can be used to steal cookie tokens and perform session hijacking XSS can be used to perform XSRF Can be used to include references to malicious content Can be used to redirect your users to another site

Copyright Justin C. Klein Keane Types of Attack - XSRF Cross Site Request Forgery Attack causes your browser to submit forms silently in the background Because all GET/POST requests carry appropriate cookies requests often assumed to be legit Drupal form tokens prevent this UNLESS the attacker can inject JavaScript to read them XSRF can be used to silently change settings or post content in your Drupal site

Copyright Justin C. Klein Keane Other Types of Attack Access bypass Open redirect Information disclosure Arbitrary code execution (BAD!!!)

Copyright Justin C. Klein Keane Tactics for Injecting Tainted Content Use SQL injection to arbitrarily add it to the database Use XSS to force a reference to the tainted content Upload tainted content directly or include a link to tainted content Use stolen credentials to add content through the admin interface Purchase a malicious add banner Trick the user (Fake AV) And so on...

Copyright Justin C. Klein Keane Economies of Scale Automation is the key to making this profitable Attackers will try to identify a vulnerability affecting a large number of sites Attackers will test their attack strategy then deploy it once it is automated  Attacks are over in a few seconds  Your site will be on of thousands, or millions of victims

Copyright Justin C. Klein Keane Why You Should Care You do care about your visitors don't you? Even if you don't:  Your site could get delisted by search engines  Your hosting provider could block your site  Your domain registrar could block your site  End user browsers could block your site Net result – denial of service

Copyright Justin C. Klein Keane Protect Thyself #1 thing you can do is keep your Drupal core and modules up to date  Use the latest version of core if you can Don't forget about third party libraries like TinyMCE and JQuery Make sure MySQL isn't IP accessible Keep your web server and operating system up to date Use strong FTP/SSH passwords!

Copyright Justin C. Klein Keane Avoid Admin Account Compromise Recently Drupal brute force bots have been spotted in the wild! Create a new account with all privileges Disable your uid 1 account

Copyright Justin C. Klein Keane Trust but Verify Avoid allowing untrusted users to publish content Restrict tags that users can utilize Moderate your content if possible Restrict file upload types Use an antivirus package to scan file uploads

Copyright Justin C. Klein Keane Install Security Related Modules Security Review  Spot problems proactively Login Security  Block brute force attempts Password Strength  Prevent weak passwords CAPTCHA & reCAPTCHA  Deny attackers automation

Copyright Justin C. Klein Keane Beware! Don't use alpha, beta, dev, or rc (release candidate) versions of modules  Wait, why? Even for Drupal 7? Only use the modules you need Be careful of modules that are designed to extend privilege Be sure your module developers understand and follow Drupal security guidelines Make sure your theme designers do too!

Copyright Justin C. Klein Keane How to Detect a Compromise If you're lucky you'll spot a compromise Most likely though you'll get the dreaded 3 rd party notification  from your hosting provider or other party In extreme cases your site will simply go offline

Copyright Justin C. Klein Keane Obligatory KEEP GOOD BACKUPS! (test them)

Copyright Justin C. Klein Keane What to do after a compromise Don't panic! Decide on a course of action  Seek professional help if appropriate Preserve evidence if possible Work with your hosting provider to figure out what went wrong Be sure the compromise is contained before you go back online

Copyright Justin C. Klein Keane Getting Help Come to Drupaldelphia! OWASP ( Contract for a security review Follow the Drupal security mailing list Report compromises to:  Your hosting provider  Your users

Copyright Justin C. Klein Keane File a Complaint (

Copyright Justin C. Klein Keane Thanks so much! Questions?