What Every (Software) Engineer Needs To Know About Security. -- and -- Where To Learn It



Similar documents
FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

What is Web Security? Motivation

Where every interaction matters.

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair

The Top Web Application Attacks: Are you vulnerable?

05.0 Application Development

Passing PCI Compliance How to Address the Application Security Mandates

Promoting Application Security within Federal Government. AppSec DC November 13, The OWASP Foundation

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH January 17, Mega Conference

Web application security

Web Application Penetration Testing

Java Web Application Security

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

Promoting Application Security within Federal Government. AppSec DC November 13, The OWASP Foundation

External Supplier Control Requirements

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Table of Contents. Page 2/13

North Dakota 2013 IT Security Audit Vulnerability Assessment & Penetration Test Project Briefing

Attack Vector Detail Report Atlassian

Magento Security and Vulnerabilities. Roman Stepanov

MatriXay WEB Application Vulnerability Scanner V Overview. (DAS- WEBScan ) The best WEB application assessment tool

IJMIE Volume 2, Issue 9 ISSN:

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

BBM 461: SECURE PROGRAMMING INTRODUCTION. Ahmet Burak Can

Professional Penetration Testing Techniques and Vulnerability Assessment ...

ASL IT SECURITY BEGINNERS WEB HACKING AND EXPLOITATION

Adobe Systems Incorporated

Web Engineering Web Application Security Issues

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

Web Application Vulnerability Testing with Nessus

Columbia University Web Security Standards and Practices. Objective and Scope

Agenda. SQL Injection Impact in the Real World Attack Scenario (1) CHAPTER 8 SQL Injection

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Last update: February 23, 2004

National Information Security Group The Top Web Application Hack Attacks. Danny Allan Director, Security Research

Thick Client Application Security

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Web Application Report

Don t Get Burned! Are you Leaving your Critical Applications Defenseless?

(WAPT) Web Application Penetration Testing

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

WEB SITE SECURITY. Jeff Aliber Verizon Digital Media Services

MANAGED SECURITY TESTING

Rational AppScan & Ounce Products

Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group

Overview of the Penetration Test Implementation and Service. Peter Kanters

Programming Flaws and How to Fix Them

Web application testing

Strategic Information Security. Attacking and Defending Web Services

CYBERTRON NETWORK SOLUTIONS

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

Nuclear Regulatory Commission Computer Security Office Computer Security Standard

SQuAD: Application Security Testing

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities

Web Application Attacks And WAF Evasion

Application Security Best Practices. Wally LEE Principal Consultant

SAST, DAST and Vulnerability Assessments, = 4

Application Code Development Standards

WEB APPLICATION SECURITY

Excellence Doesn t Need a Certificate. Be an. Believe in You AMIGOSEC Consulting Private Limited

Introduction. Two levels of security vulnerabilities:

Essential IT Security Testing

ETHICAL HACKING APPLICATIO WIRELESS110 00NETWORK APPLICATION MOBILE MOBILE0001

OWASP Top Ten Tools and Tactics

LINUX / INFORMATION SECURITY

How to achieve PCI DSS Compliance with Checkmarx Source Code Analysis

90% of data breaches are caused by software vulnerabilities.

Development. Resilient Software. Secure and. Mark S. Merkow Lakshmikanth Raghavan. CRC Press. Taylor& Francis Croup. Taylor St Francis Group,

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Detecting and Defending Against Security Vulnerabilities for Web 2.0 Applications

KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES.

If you know the enemy and know yourself, you need not fear the result of a hundred battles.

Information Security. Training

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

Six Essential Elements of Web Application Security. Cost Effective Strategies for Defending Your Business

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

How to Build a Trusted Application. John Dickson, CISSP

College Training Program

Web Application Security Considerations

Hack Proof Your Webapps

State of Web Application Security. Ralph Durkee Durkee Consulting, Inc. Rochester ISSA & OWASP Chapters rd@rd1.net

Guidelines for Website Security and Security Counter Measures for e-e Governance Project

Development Processes (Lecture outline)

Transcription:

What Every (Software) Engineer Needs To Know About Security -- and -- Where To Learn It Neil Daswani http://www.neildaswani.com http://www.learnsecurity.com

Is the sky falling? (yet?) TJX (March 2007) owns TJ Maxx, Marshalls, and other dept stores attacks exploited WEP used at branches over 47 million credit card (CC) #s dating back to 2002 CardSystems (June 2005) credit card payment processing company: out of business 263,000 CC #s stolen from database via SQL Injection 43 million CC #s stored unencrypted / compromised Enter sql injection on news.google.com for more... Additional Data Theft: www.privacyrights.org/ar/chrondatabreaches.htm (153M compromised records; over 300 incidents in 2006 alone)

SQL Injection: Example Web Browser (Client) Enter Username & Password Web Server SELECT passwd FROM USERS WHERE uname IS smith DB Normal Query

SQL Injection: Example Attacker Provides This Input

SQL Injection: Example Malicious Query Web Browser (Client) Enter Username & Password Web Server SELECT passwd FROM USERS WHERE uname IS ; DROP TABLE USERS; -- ' DB Eliminates all user accounts

SQL Injection Trends Number of reports 300 275 250 225 200 175 150 125 100 75 50 25 0 1st-half 2004 1st-half 2005 1st-half 2006 1st-half 2007 Year SQL Injection Source: securityfocus vulnerability database

Threats Due to Unvalidated Input SQL Injection is a type of command injection attack possible due to unvalidated input Others common vulnerabilities are: Cross-Site-Scripting (XSS) Buffer Overflows

Vulnerabilities Stats Disclaimer on Categorization Input Validation 1st-half 2007 1304 1st-half 2006 1294 Design Errors Boundary Conditions 1st-half 2007 417 1st-half 2006 204 Exception Handling 1st-half 2007 206 1st-half 2006 110 Access Validation 1st-half 2007 295 1st-half 2006 213 1st-half 2007 87 1st-half 2006 97 source: securityfocus vulnerability database

Recent Vulnerability Trends 1st-half 2006 1st-half 2007 500 450 400 Number of Reports 350 300 250 200 150 100 50 0 SQL Injection Cross-Site Scripting Denial of Service Vulnerability Type Buffer Overflows source: securityfocus vulnerability database

Vulnerability Trends (OS Vendors/MITRE) 220 200 180 160 140 120 100 80 Buffer Overflow Symbolic Link DoS XSS Integer Overflow 60 40 20 0 2001 2006

Vulernability Trends (Overall/MITRE) 1300 1200 1100 1000 900 800 XSS Buffer Overflow SQL Injection PHP Include DoS 700 600 500 400 300 200 100 0 2001 2006

Overall Trends Detected vulnerabilities are increasing Big four are about the same (regardless of vuln database): Cross-Site-Scripting (XSS, XSRF, XSSI) Injection (SQL, PHP-includes) Memory Corruption (buffer overflows, integer overflows, format strings, etc) Denial-of-Service

What Every Engineer Needs To Know About Security Secure Design: least privilege, fail-safe stance, weakest link, etc. Technical Flaws: Attacks: XSS / XSRF / XSSI Injection / Remote Code Execution Directory Traversal Race Conditions (e.g., TOCTOU) Memory Corruption Data Theft Authentication / Authorization Bypass Denial-of-Service Privilege Escalation Information Leakage So, where you go to learn this stuff?

Security in Top CS Programs From http://grad-schools.usnews.rankingsandreviews.com/usnews/edu/grad/rankings/phdsci/brief/com_brief.php

Security in Top CS Programs: CMU Carnegie-Mellon University (CMU): B.S. in Computer Science (CS) Required: 15-100 Introductory/Intermediate Programming and 15-111 Intermediate/Advanced Programming (students with no prior programming experience take 15-123 Effective Programming in C and UNIX 15-128 Freshman Immigration Course 15-211 Fundamental Data Structures and Algorithms 15-212 Principles of Programming 15-213 Introduction to Computer Systems 15-251 Great Theoretical Ideas in Computer Science 15-451 Algorithm Design and Analysis Security not listed as an elective. From http://www.csd.cs.cmu.edu/education/bscs/index.html

Security in Top CS Programs: MIT Undergraduate Objectives and Learning Outcomes The educational objectives of the undergraduate programs of the MIT Department of Electrical Engineering and Computer Science are:... 2. Students will develop a professional understanding of electrical engineering and computer science so that they are prepared for immediate employment.... 4. Students will develop an understanding of the importance of the social, business, technical, and human context in which a process or product being designed will work. From http://www.eecs.mit.edu/ug/objectives.html

Security in Top CS Programs: MIT Computer Science Concentrations * Artificial Intelligence and Applications. Header: 6.034. Electives:... * Computer Systems and Architecture Engineering. Header: 6.033. Electives:... * Theoretical Computer Science: Header: 6.046J. Electives:... 6.033: Computer Systems Engineering (M. F. Kaashoek, H. Balakrishnan) Security (last two weeks of course) 16. Jonathan Pincus and Brandon Baker. Beyond stack smashing: recent advances in exploiting buffer overruns. IEEE Security and privacy, August 2004. 17. Ross J. Anderson. Why cryptosystems fail. Proceedings of the 1993 ACM Conference in Computer and Communications Security, (1993) pages 32-40. 18. A. Kumar, V. Paxson and N. Weaver. Exploiting Underlying Structure for Detailed Reconstruction of an Internet Scale Event. Proc. ACM IMC, October 2005. 19. Ken Thompson. Reflections on Trusting Trust. Communications of the ACM 27, 8 (August 1984) pages 761-763.

What's the point? It has been too long that security has not been part of the required coursework for bachelor degree computer science candidates, and we are seeing some of the effects: software security vulnerabilities plague electronic commerce, resulting in data, identity, and monetary theft as evidenced regularly in the press. -- Dr. Zvi Galil, Dean of the School of Engineering and Applied Science, Columbia University

Where to learn more? Courses Certification Programs Books Websites / Organizations (not comprehensive)

Security Courses Cryptography Upper Division Courses (at almost every major university) Some systems security courses (e.g., CS155 @ Stanford, CS161 @ UC Berkeley) More crypto and security courses listed at: http://avirubin.com/courses.html Google security courses: some offered today and more to come... Contact Mike Wiacek

Stanford Advanced Security Certificate Online (anytime) or On-Campus (one week) Next on-campus offering: July 23-27 required: 3 core courses; 3 electives Hands-on labs conducting attacks & constructing defenses Security Foundations Certificate also available Contact: Stephanie Chiang at in engedu to sign up!

Stanford Advanced Security Certificate CORE COURSES Using Cryptography Correctly Writing Secure Code Security Protocols ELECTIVES Computer Security Management Recent Threats, Trends & the Law Designing/Building Secure Networks Emerging Threats and Defenses Securing Web Applications Systems Security SPECIAL ELECTIVE Computer Security Foundations Certificate

Security Certification Programs: CISSP CISSP (offered by ISC 2 ) prepares for administration / gov't jobs in security multiple-choice test 10 domains: Access Control, Application Security, Business Continuity and Disaster Recovery Planning, Cryptography, Information Security and Risk Management, Legal, Regulations, Compliance and Investigations, Operations Security, Physical (Environmental) Security, Security Architecture and Design, Telecommunications and Network Security

Security Certification Programs: GSSP GIAC (Global Information Assurance Certification) Secure Software Programmer offered by SANS secure programming assessment multiple choice (questions in development) new offering: first exam Aug 14, 2007

Books Security Engineering Building Secure Software Foundations of Security Hacking Exposed: Web 2.0 Secure Programming Cookbook

Security Books Security Engineering Ross Anderson Available online (for free) http://www.cl.cam.ac.uk/~rja14/book.html

Security Books Building Secure Software Viega / McGraw Classic Text Other books by McGraw & Co: - Exploiting Software - Software Security

Security Books Foundations of Security: What Every Programmer Needs To Know Daswani / Kern / Kesavan Get your copy from B46-Anare or B46-284 Topics: Secure design principles Web application attacks & defenses Intro. to Cryptography Free slides @ www.learnsecurity.com

Security Books Hacking Exposed: Web 2.0 Dwivedi / Stamos / Lackey / Cannings Focuses on attack patterns. Available for pre-order.

Security Books Secure Programming Cookbook for C and C++ Viega / Messier Lots of code examples on how to use crypto correctly

Websites / Organizations OWASP / Top Ten www.owasp.org (chapters in almost every major city) Security Focus / Bugtraq www.securityfocus.com code.google.com/edu

OWASP Top 10 2004 A1 Unvalidated Input A2 Broken Access Control A3 Broken Authentication / Session Mg A4 Cross Site Scripting A5 Buffer Overflow A6 Injection Flaws A7 Improper Error Handling A8 Insecure Storage A9 Application Denial of Service A10 Insecure Configuration Management 2007 A1 Cross Site Scripting (XSS) A2 Injection Flaws (e.g., SQL injection) A3 Malicious File Execution (i.e., PHP) A4 Insecure Direct Object Reference A5 Cross Site Request Forgery (CSRF) A6 Information Leakage and Improper Error Handling A7 Broken Authentication / Session Mg A8 Insecure Cryptographic Storage A9 Insecure Communications A10 Failure to Restrict URL Access

Security Focus www.securityfocus.com / Home of Bugtraq Articles / Mailing Lists / Vuln. Reports Focus areas: Foundations Microsoft / Unix IDS Incident Response Viruses / Malware Penetration Testing Firewalls

code.google.com/edu: Web Security Free & available for external use Ex. DoS against web server We're looking for additional contributors!

Learn About Security! Every engineer should be a software security practitioner Links / Pointers: http://www.learnsecurity.com Click on Resources Neil Daswani daswani@learnsecurity.com http://www.neildaswani.com