APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS www.mun.ca Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University.

Slides:



Advertisements
Similar presentations
PENETRATION TESTING Presenters:Chakrit Sanbuapoh Sr. Information Security MFEC.
Advertisements

Don’t get Stung (An introduction to the OWASP Top Ten Project) Barry Dorrans Microsoft Information Security Tools NEW AND IMPROVED!
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
WebGoat & WebScarab “What is computer security for $1000 Alex?”
Attacking Session Management Juliette Lessing
OWASP Xenotix XSS Exploit Framework
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
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.
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
WEB SECURITY WORKSHOP TEXSAW 2013 Presented by Joshua Hammond Prepared by Scott Hand.
Presenter Deddie Tjahjono.  Introduction  Website Application Layer  Why Web Application Security  Web Apps Security Scanner  About  Feature  How.
Website Hardening HUIT IT Security | Sep
Introduction to InfoSec – Recitation 10 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
OWASP Mobile Top 10 Why They Matter and What We Can Do
RFC6520 defines SSL Heartbeats - What are they? 1. SSL Heartbeats are used to keep a connection alive without the need to constantly renegotiate the SSL.
W3af LUCA ALEXANDRA ADELA – MISS 1. w3af  Web Application Attack and Audit Framework  Secures web applications by finding and exploiting web application.
Web Security Demystified Justin C. Klein Keane Sr. InfoSec Specialist University of Pennsylvania School of Arts and Sciences Information Security and Unix.
Introduction to Application Penetration Testing
IDENTIFYING SECURITY ISSUES IN A HIGHER INSTITUTE CMS LAB SITE Panagiotis Loumpardias Konstantinos Chimos.
Prevent Cross-Site Scripting (XSS) attack
WEB SECURITY WEEK 3 Computer Security Group University of Texas at Dallas.
A Security Review Process for Existing Software Applications
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
Web Application Security Testing Automation.. Copyright © 2008 Deloitte Touche Tohmatsu. All rights reserved.1 What types of automated testing are there?
Architecture Planning and designing a successful system Use tried and tested techniques Easy to maintain Robust and long lasting.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Mark Aslett Microsoft Introduction to Application Compatibility.
Introduction To Web Application Security in PHP. Security is Big And Often Difficult PHP doesn’t make it any easier.
Application Security Testing A practitioner’s rambling advice & musings.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
The attacks ● XSS – type 1: non-persistent – type 2: persistent – Advanced: other keywords (, prompt()) or other technologies such as Flash.
Hands-On with RailsGoat WEB APPLICATION SECURITY TESTING.
October 3, 2008IMI Security Symposium Application Security through a Hacker’s Eyes James Walden Northern Kentucky University
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Web Applications Testing By Jamie Rougvie Supported by.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
Deconstructing API Security
Unix Security Assessing vulnerabilities. Classifying vulnerability types Several models have been proposed to classify vulnerabilities in UNIX-type Oses.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 9 1COMP9321, 15s2, Week.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation This work is available under the Creative Commons SA 2.5 license The OWASP Foundation OWASP Denver February 2012.
The Front Range’s Largest AppSec Conference is BACK February 18, 2016 Details & registration at Keynote by Jeremiah Grossman.
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,
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
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.
M IND Q S YSTEMS Leaders in Training /7, 2nd Floor, Srinivasa Nagar Colony (W) Above HDFC Bank, S.R.Nagar Hyderabad
SECURE DEVELOPMENT. SEI CERT TOP 10 SECURE CODING PRACTICES Validate input Use strict compiler settings and resolve warnings Architect and design for.
Web Application Bug Hunting
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Securing Your Web Application in Azure with a WAF
Security Testing Methods
Penetration Testing following OWASP
Introduction to Application Penetration Testing
Relevance of the OWASP Top 10
Web Application Penetration Testing
Protect crypto exchange website from hackers
Risk Assessment = Risky Business
Validating Your Information Security Program (ISP 3 of 3)
CULLEN ACHESON Samuel Garcia Zachary Blum
Hacking web applications
Presentation transcript:

APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

PREVIOUS TALK CANHEIT 2012 Walked through methodology Recon, Discovery, Exploitation, Reporting Talked about common vulnerabilities XSS, SQLi This talk will Discuss how techniques have evolved What we have learned since last presentation COMPUTING AND COMMUNICATIONS

SO, WHAT HAS CHANGED? PERSPECTIVE COMPUTING AND COMMUNICATIONS

SO, WHAT HAS CHANGED? INDUSTRY Bug Bounties Reward security professionals who report vulnerabilities glory, swag, $$$$ Moving in right direction With a mature security program bug bounties are successful See Facebook, Google, BugCrowd Programs Caveats Higher Ed institutions likely not positioned well for such programs Scope and response to disclosures would be key Good way to hone personal skills COMPUTING AND COMMUNICATIONS

SO, WHAT HAS CHANGED? COMMON VULNERABILITIES SQLi Frameworks and developer/vendor awareness Cross Site Scripting Still common however efforts are usually made to prevent Broken Authentication/Access Controls DIY authentication/access control functionality Code Injection Via file uploads or external file references Misconfigurations/Using Known Vulnerable Code Vendor implementations… COMPUTING AND COMMUNICATIONS

SO, WHAT HAS CHANGED? INTERNAL DEVELOPERS Developers Receptive Internal developers have embraced security standards Use standardized and well tested frameworks/code Presentations Developer testing Continuously Changing The languages, frameworks and platforms developers are using is changing frequently making testing a challenge AngularJS, Node, new PHP frameworks, Mobile, etc COMPUTING AND COMMUNICATIONS

SO, WHAT HAS CHANGED? VENDORS Vendors are becoming more security conscious Many provide direct methods for vulnerability disclosure However still run into occasional resistance COMPUTING AND COMMUNICATIONS

VENDORS SUCCESS STORIES OpenText FirstClass OpenText had recently rebuilt the software with a new framework Found that the framework was not sanitizing input or encoding output allowing for multiple XSS vulnerabilities Vendor response was immediate Cisco Identity Service Engine (ISE) - CVE Allowed remote, unauthenticated persistent XSS attack against ISE administrators All versions were affected, patched version is available COMPUTING AND COMMUNICATIONS

PROCESS PRIORITIZING Standard Questions Name of the application(s) Whether it is internally, vendor or open source developed Programming language(s) they are written in List of other servers connected to the application such as database, application or file servers Description of data that will be stored in this application Estimate of the number of users A summary of how the application is used/functionality COMPUTING AND COMMUNICATIONS

PROCESS MINIMIZE DATA/LIMIT ACCESS Basic Concept Everyone wants to collect everything, retain it forever and have it accessible from anywhere We work with clients on new applications to reduce attack surface Bonus: Reduces extent of testing COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING Benefits Finds vulnerabilities automated tools are not designed to detect Business logic, insecure application functionality, access controls Can be as simple as fuzzing, security QA Intercept Proxy Burp Suite (Personal Favorite), Zed Attack Proxy, W3AF Use the target application Review requests and responses Manipulate COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING Checklist OWASP is a great resource with starter checklist Basic Tests Create new account Password Requirements Forgot password process Change password –Does the application ask for the current password first? etc COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING Advanced Tests Disable/Manipulate client-side code –Look for client-side authentication checks  Creative inputs –Automated tools won’t test many types of user input –File Uploads, WYSIWYG, etc Redirect requests as needed –Fuzzing inputs – Burp Intruder/Repeater COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - XSS Manual XSS Testing As basic as '';!--" =&{()} or alert("XSS") Focus on inputs that are difficult for automated scanners to test Try Burp Suite Intruder XSS payload, ZAP Fuzzer Advanced Use evasion techniques, good cheat sheet available from OWASP Creative inputs –Examples: file upload metadata, authentication requests COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - XSS COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - XSS COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - XSS COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - XSS COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - AUTH Authentication is not a DIY project Don’t reinvent the wheel Use session management available in the language or framework Testing Session Management Look at application responses for session data Look for sensitive information Is the session id sufficiently random? Burp Sequencer Attempt Decoding – Burp Decoder – Base64 Is the expiration sufficient? COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - CSRF Very few vendors or developers implement CSRF protections ASP Viewstate Tokens Difficult Execution CSRF attacks require the victim to be logged into target app then click malicious link Prime targets are “always open” applications Portals, ERP, E-Learning, Webmail, etc Hope to introduce more awareness with devs and vendors COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - MOBILE Increasing need to test mobile apps Clients want mobile and native applications Mobile Apps and related APIs are being integrated systems with sensitive data, eg Student Grades How do we test mobile applications? Proxy communications through testing computer Requires trusting SSL certificates from intercept proxy Review and map mobile APIs similar to any other application COMPUTING AND COMMUNICATIONS

TECHNIQUES AUTOMATED TESTING Follow-up to Manual Testing Finish testing with automated testing to find any low hanging fruit or vulnerabilities possibly missed. Burp/Zap Both have automated scanning functions Skipfish Automated scanning function that is great for finding hidden application components W3AF Swiss army knife of scanning tools COMPUTING AND COMMUNICATIONS

PROCESS REPORTING Summarize Details about the application and related data The scope of testing Limitations and/or concerns List vulnerabilities Descriptions should be targeted to the audience (devs vs mgmt) Detail how the vulnerability could be used Detail impact and likelihood of it being exploited Provide recommendations for remediation Provide example screen captures to developers/vendors COMPUTING AND COMMUNICATIONS

PROCESS REMEDIATION Complete/Partial Remediation Not reasonable to have every issues found to be completely remediated. Retesting Cycle Can be a lot of back and forth trying to address an issue –May have to settle for partial remediation or alternative mitigations Sign-off for remaining vulnerabilities For vulnerabilities not remediated detail the risk and obtain sign-off from those responsible for the data and application COMPUTING AND COMMUNICATIONS

PROCESS FUTURE PLANS Formalize Tracking of vulnerabilities Retain testing data Maintain data on applications, dev teams and vendors Automate testing options for developers Threadfix/Mozilla Minion Open source applications for tracking vulnerabilities Provides options to allow developers to do automated scanning COMPUTING AND COMMUNICATIONS

PROCESS FUTURE PLANS Information Sharing Reduce duplication of efforts –Higher Ed has a lot of niche applications and many institutions use the same applications Security SIG discussion mailing list? Improve vendor responses and coordination Legal concerns COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING Burp Sequencer and Decoder Demo - mutillidae COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - CSRF CSRF Attack Demo with Burp Suite - mutillidae COMPUTING AND COMMUNICATIONS

TECHNIQUES MANUAL TESTING - MOBILE Mobile Demo with Burp Suite – Ellucian GO COMPUTING AND COMMUNICATIONS

QUESTIONS Jared Perry IT Security Administrator, GSEC, GWAPT, GCWN Phone: (709) COMPUTING AND COMMUNICATIONS

RESOURCES OWASP Link References et Threadfix/Mozilla Minion Mobile App Testing COMPUTING AND COMMUNICATIONS

RESOURCES Zed Attack Proxy (ZAP) ject Kali Linux Burp Suite Bug Bounties COMPUTING AND COMMUNICATIONS