Engineering Secure Software. How Bad is Bad?  We’ve seen many vulnerabilities Many of them can do catastrophic things Danger really “depends on the situation”

Slides:



Advertisements
Similar presentations
Chapter 17: WEB COMPONENTS
Advertisements

OWASP Web Vulnerabilities and Auditing
Chapter 1  Introduction 1 Chapter 1: Introduction.
Chapter 1  Introduction 1 Chapter 1: Introduction “Begin at the beginning,” the King said, very gravely, “and go on till you come to the end: then stop.”
Engineering Secure Software. How Bad is Bad?  We’ve seen many vulnerabilities Many of them can do catastrophic things Danger really “depends on the situation”
By Hiranmayi Pai Neeraj Jain
Operational Security Risk Metrics: Definitions, Calculations, Visualizations Metricon 2.0 Alain Mayer CTO RedSeal Systems
WebGoat & WebScarab “What is computer security for $1000 Alex?”
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
System and Network Security Practices COEN 351 E-Commerce Security.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Advanced Security Center Overview Northern Illinois University.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering.
Chapter 1  Introduction 1 Chapter 1: Introduction “Begin at the beginning,” the King said, very gravely, “and go on till you come to the end: then stop.”
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Computer Security and Penetration Testing
Department Of Computer Engineering
Security Risk Management Marcus Murray, CISSP, MVP (Security) Senior Security Advisor, Truesec
OWASP Mobile Top 10 Why They Matter and What We Can Do
Microsoft October 2004 Security Bulletins Briefing for Senior IT Managers updated October 20, 2004 Marcus H. Sachs, P.E. The SANS Institute October 12,
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.
1 Security Risk Analysis of Computer Networks: Techniques and Challenges Anoop Singhal Computer Security Division National Institute of Standards and Technology.
Web Security Demystified Justin C. Klein Keane Sr. InfoSec Specialist University of Pennsylvania School of Arts and Sciences Information Security and Unix.
To receive our video stream in LiveMeeting: - Click on “Voice & Video” - Click the drop down next to the camera icon - Select “Show Main Video” Dial-in.
1 Infrastructure Hardening. 2 Objectives Why hardening infrastructure is important? Hardening Operating Systems, Network and Applications.
A Framework for Automated Web Application Security Evaluation
Ladd Van Tol Senior Software Engineer Security on the Web Part One - Vulnerabilities.
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.
CMS Security Justin Klein Keane CMS Working Group March 3, 2010.
Honeypot and Intrusion Detection System
SATAN Presented By Rick Rossano 4/10/00. OUTLINE What is SATAN? Why build it? How it works Capabilities Why use it? Dangers of SATAN Legalities Future.
Automating Enterprise IT Management by Leveraging Security Content Automation Protocol (SCAP) John M. Gilligan May, 2009.
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
APRICOT 2015 Security Day Cooperation between Security Teams and Network Operators: Actionable Intelligence on ShellShock Arnold S. Yoon Information Security.
ANTIVIRUS SOFTWARE.  Antivirus software is the most widespread mechanism for defending individual hosts against threats associated with malicious software,
1 Vulnerability Assessment of Grid Software James A. Kupsch Computer Sciences Department University of Wisconsin Condor Week 2007 May 2, 2007.
Software Security Weakness Scoring Chris Wysopal Metricon August 2007.
Chapter 1 Overview The NIST Computer Security Handbook defines the term Computer Security as:
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 1 “Overview”. © 2016 Pearson.
S Abstract (hidden slide) The Critical Patch Update is Oracle's primary mechanism for releasing security patches and informing customers about security.
Vulnerability Scanning Vulnerability scanners are automated tools that scan hosts and networks for known vulnerabilities and weaknesses Credentialed vs.
Lecture 19 Page 1 CS 236 Online Securing Your System CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Can SSL and TOR be intercepted? Secure Socket Layer.
Engineering Secure Software. Agenda  What is IoT?  Security implications of IoT  IoT Attack Surface Areas  IoT Testing Guidelines  Top IoT Vulnerabilities.
Slide 1 Security Engineering. Slide 2 Objectives l To introduce issues that must be considered in the specification and design of secure software l To.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Grid Services Security Vulnerability and.
Writing Security Alerts tbird Last modified 2/25/2016 8:55 PM.
Full Disclosure: Is It Beneficial? Project Based Information Systems Tim Schultz 12/02/02.
Version 6 Discussion Brian Russell, Leidos Member 20 Critical Controls Editorial Panel & Chair, Cloud Security Alliance (CSA) IoT WG 20 Critical Security.
Lecture 19 Page 1 CS 236 Online 6. Application Software Security Why it’s important: –Security flaws in applications are increasingly the attacker’s entry.
Securing Network Servers
Operating System Security
Manuel Brugnoli, Elisa Heymann UAB
Security+ All-In-One Edition Chapter 1 – General Security Concepts
Secure Software Confidentiality Integrity Data Security Authentication
E-commerce Application Security
Outline Introduction Characteristics of intrusion detection systems
Security Engineering.
COMPTIA CAS-003 Dumps VCE
Exploiting sandbox backdoor it with one evil Nikolay Klendar bsploit gmail.com.
AppExchange Security Certification
How to Mitigate the Consequences What are the Countermeasures?
CVE.
Common vulnerability scoring system
Common vulnerability scoring system
Cybersecurity Threat Assessment
Designing IIS Security (IIS – Internet Information Service)
6. Application Software Security
Presentation transcript:

Engineering Secure Software

How Bad is Bad?  We’ve seen many vulnerabilities Many of them can do catastrophic things Danger really “depends on the situation”  Many, many situational factors, such as: Asset exposed, and its relative importance Remotely, or locally exploitable? Expertise needed to exploit the vulnerability? Affects all deployments? Impact on CIA properties How good is the reporting as of now? © Andrew Meneely

CVSS  Common Vulnerability Scoring System Adopted by NIST Required for reporting a vulnerability in CVE Note: we are studying v3, most of the world still uses v2  An open scoring system from FIRST FIRST: Forum for Incident Response & Security Teams A group of researchers & practitioners  Three metric groups Base: no changes over time or environment Environmental: might vary in different deployments Temporal: might change over time Essentially a weighted average

Base Metric Group  Exploitability metrics characteristics of the thing that is vulnerable  Impact metrics represent the consequence to the thing that suffers the impact  Exploit(AV, Ac, PR, UI), Impact( C, I, A), S

Base: Attack Vector (AV)  Regarding networking, what are the methods of exploiting?  Metric Value: (P) Physical (L) Local only (A) Adjacent network (e.g. wi-fi, local IP subnet) (N) Network: fully remotely exploitable  Notes More than one level affected? Go with the worse one Client that opens stuff from an untrusted internet source? Go with Network (e.g. zip utility with a buffer overflow)  XSS in a webapp?  (N)  Lack of SSL encryption on Facebook?  (A)

Base: Attack Complexity (AC)  How complex would the exploit be? One step? e.g. buffer overflow Multiple steps? e.g. convince an user to download a sketchy attachment  Metric value (H) High: Specialized access conditions ○ e.g. overcoming advanced exploit mitigation techniques ○ e.g. man in the middle attack (L) Low: no specialized conditions ○ e.g. default configuration ○ e.g. requires little skill to perform  Note: Low complexity is bad

Base: Privileges Required (PR)  Level of privileges needed for exploit?  Metric value (H) privileges that provide significant control ○ (e.g. administrative) (L) privileges that provide basic user capabilities (N) No authorization needed  In an authentication system itself? Go with (N) e.g. Kerberos  e.g. path traversal in photo upload for a Twitter client?  (L)  e.g. insecure PRNG for session IDs?  (N)

Base: User Interaction (UI)  a user, other than the attacker, participates in the exploit  Metric value (N): can be exploited without interaction from any user (R): requires a user to take action ○ E.g. exploit may only be possible during the installation of an application by a system administrator.  Reflected XSS?  R – must click on a link  CSRF?  R – need victim to forge the http request & be logged in

Base: Scope (S)  The ability for a vulnerability in one software component to impact resources beyond its means, or privileges.  Metric Value (U): Unchanged ○ The vulnerable component and the impacted component are the same. (C): Changed ○ The vulnerable component and the impacted component are different.  Vulnerability in a Linux VM that compromises the host OS?  Scope changed.  Sandbox violations?  Scope changed.

Base: CIA Impact  Any impact on confidentiality, integrity, and/or availability? These are three separate metrics  Metric Value (for each metric) (N) None (L) Low ○ e.g. disclosing a few database tables ○ e.g. temporary DoS (H) High ○ e.g. reading arbitrary memory locations is High Disclosure ○ e.g. full bypass of plug-in sandbox is High Integrity ○ e.g. root-level access? High on all three metrics  e.g. hardcoded root credentials in blogging software?  C = High, I=High, A=None

Environmental Metrics :  Modified Base Metrics Loss of life, physical assets, productivity Levels: None, Low, Medium, High, Not defined  Security Requirements (CR, IR, AR) Metric Value: ○ (X): Not defined. It will not influence the score. ○ (H): A catastrophic adverse effect ○ (M): A serious adverse effect ○ (L): A limited adverse effect

Temporal: Exploitability (E)  Is there a public exploit known?  Metric Value (U) Unproven, entirely theoretical exploit (POC) Proof-of-concept exists out there, no known malicious exploits (F) Functional exploit is available (H) Functional Exploit is widely disseminated (X) Not defined (skip this part of the metric)  Notes Being temporal, this could change quickly Many white hats will write exploits to make this score go up, so that it’s fixed

Temporal: Remediation & Confidence  What is the level of remediation (RL)? How has the vendor reacted? Levels ○ (O) Official Fix is available ○ (TF) Temporary fix is available ○ (W) Workaround is available. Unofficial, non-vendor patches, Temporary change in configuration ○ (U) Nothing is released yet ○ (X) Not defined  What is the report confidence (RC)? (U) Unconfirmed by the source, or there are multiple conflicting reports (R) Significant details are published e.g. proof-of-concept (C) Confirmed by the source (ND) Not defined

Scoring Tips  Ignore interactions with other vulnerabilities, score each individually  Emphasize targets to the host, not necessarily other users E.g. XSS is a partial impact on integrity, but not full because it doesn’t affect the host  Assume the most common or default configuration of the server  Score the greatest exploitation impact, if there are many

e.g. CVE  Mozilla Firefox before […] improperly controls the ability of a web worker to create a WebSocket object, which allows remote attackers to bypass intended mixed-content restrictions via crafted JavaScript code Web workers: long-running Javascript tasks that do not interrupt the user Mixed-content restrictions: cannot use one WebSocket for multiple protocols (e.g. both HTTPS and SSH)

CVSS of CVE  Access Vector?  Network (it’s a browser, after all)  Privileges req?  None  User interaction?  None (but in some cases required)

CVSS of CVE (2)  Confidentiality?  None. (possibly low depending on the worker’s access)  Integrity?  Low. Allows access to sockets  Availability?  None  Access Complexity?  Low (you would need more details to see how this is exploited)

Base Weights

Weighting and Vectors  Weights were derived from Security experts got together (mostly industry) Analyzed a bunch of vulnerabilities in their products Agreed on all the labels for each vulnerability Agreed on an overall ranking of many previous vulnerabilities Adjusted the weights to match from there  CVSS writers recommend Using their calculator Report each level along with the weighting ○ Weights may evolve ○ Comparing two vulnerabilities can be done at a finer level than just numbers

Alternative: CWSS  Common WEAKNESS Scoring System Relatively recent (~2010) response to CVSS More detailed, but not as widely-adopted Categories: Base, Attack Surface, Environmental  Base Finding Metric Group 5 metrics in this group e.g. Acquired Privilege ○ User-level access acquired. Admin? e.g. Acquired Privilege Layer ○ Access to Network, App, entire Enterprise e.g. Internal Control Effectiveness ○ Would our internal detection measures have been effective? Would we have known this was exploited?

Alternative: CWSS (cont.)  Attack Surface Metric Group 7 metrics in this group e.g. Required Privilege AND Required Privilege Layer ○ How much authentication was needed? e.g. Level of Interaction How much social engineering is required?  Environmental Impact Group 6 metrics in this group e.g. Business Impact e.g. Likelihood of Discovery e.g. Likelihood of Exploit e.g. Remediation Effort ○ Is this a really difficult fix? Should we be worried about this coming up again or being incorrectly fixed?

Today’s Activity  Let’s assess four vulnerabilities from industry One from: PHP, Chromium, Tomcat, Linux kernel ○ Patches and reports are linked in ○ Feel free to use the internet to make your decisions (but don’t look at any CVSS scorings online!) CVSS base scores only Also: two “detection” questions ○ Domain-specific ○ New code or changed code?  In groups of 4-6 Planning Poker-like discussion First: answer all four vulnerabilities for one question Then: focus on one vulnerability at a time, for all questions