Engineering Secure Software

Slides:



Advertisements
Similar presentations
Security Presented by: Mark Davis & Shahein Moussavi.
Advertisements

Engineering Secure Software. Does Security Even Matter?  At your table, introduce yourselves: Your name, degree, & app domain What is your favorite software.
Is There a Security Problem in Computing? Network Security / G. Steffen1.
Engineering Secure Software. The Power of Source Code  White box testing Testers have intimate knowledge of the specifications, design, Often done by.
1 No Silver Bullet : Inherent Limitations of Computer Security Technologies Jeffrey W. Humphries Texas A&M University.
A Covenant University Presentation By Favour Femi-Oyewole, BSc, MSc (Computer Science), MSc (Information Security) Certified COBIT 5 Assessor /Certified.
Some general principles in computer security Tomasz Bilski Chair of Control, Robotics and Computer Science Poznań University.
1 Telstra in Confidence Managing Security for our Mobile Technology.
Information Networking Security and Assurance Lab National Chung Cheng University Introduction to Software Security Jared 2004/03/17.
Web server security Dr Jim Briggs WEBP security1.
Security. If I get 7.5% interest on $5,349.44, how much do I get in a month? (.075/12) = * 5, = $ What happens to the.004? =
MOBILE DEVICE SECURITY. WHAT IS MOBILE DEVICE SECURITY? Mobile Devices  Smartphones  Laptops  Tablets  USB Memory  Portable Media Player  Handheld.
Firewalls Paper By: Vandana Bhardwaj. What this paper covers? Why you need a firewall? What is firewall? How does a network firewall interact with OSI.
1.2 Security. Computer security is a branch of technology known as information security, it is applied to computers and networks. It is used to protect.
Engineering Secure Software. A Ubiquitous Concern  You can make a security mistake at every step of the development lifecycle  Requirements that allow.
CSCE 522 Secure Software Development Best Practices.
Information Security What is Information Security?
CSCE 548 Building Secure Software. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 1 – Recommended: CyberInsecurity: The Cost of Monopoly,
IT Security. What is Information Security? Information security describes efforts to protect computer and non computer equipment, facilities, data, and.
Definition s a set of actions taken to prevent or minimize adverse consequences to assets an entity of importance a weakness in the security system to.
CSCE 201 Secure Software Development Best Practices.
Computer Security By Duncan Hall.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
THE NEED FOR NETWORK SECURITY Hunar & Nawzad & Kovan & Abdulla & Aram.
Engineering Secure Software. Does Security Even Matter?  Find two other people near you Introduce yourself What is your favorite software development.
Exploitation Development and Implementation PRESENTER: BRADLEY GREEN.
Definition s a set of actions taken to prevent or minimize adverse consequences to assets an entity of importance a weakness in the security system to.
Engineering Secure Software. A Ubiquitous Concern  You can make a security mistake at every step of the development lifecycle  Requirements that allow.
The Fallacy Behind “There’s Nothing to Hide” Why End-to-End Encryption Is a Must in Today’s World.
Latest Issues Related To The AVG Antivirus 2017
What is System Design? In System design, we use the requirements we developed in system analysis to create a blueprint of the future system Successful.
Chapter 40 Internet Security.
Seminar On Ethical Hacking Submitted To: Submitted By:
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
CSCE 548 Secure Software Development Risk-Based Security Testing
ISSeG Integrated Site Security for Grids WP2 - Methodology
Common Methods Used to Commit Computer Crimes
Engineering Secure Software
Unit 4 IT Security.
Software Security Testing
Managing Secure Network Systems
Systems Security Keywords Protecting Systems
Software Security ITGD 2202 Supervision:- Assistant Professor
What is System Design? In System design, we use the requirements we developed in system analysis to create a blueprint of the future system Successful.
Network security threats
How to build a good reputation online
Operating system Security
INFORMATION SECURITY The protection of information from accidental or intentional misuse of a persons inside or outside an organization Comp 212 – Computer.
CSCE 548 Secure Software Development Test 1 Review
Answer the questions to reveal the blocks and guess the picture.
Tool Server Workstation Router Universal
Teaching Computing to GCSE
Security in Networking
Call AVG Antivirus Support | Fix Your PC
Unit 1.6 Systems security Lesson 3
I have many checklists: how do I get started with cyber security?
Risk of the Internet At Home
Engineering Secure Software
Internet of Things Vulnerabilities
Advanced Services Cyber Security 101 © ABB February, | Slide 1.
Unit 1.6 Systems security Lesson 4
Chapter 27 Security Engineering
Network Security Ola Flygt Växjö University
Topic 5: Communication and the Internet
Engineering Secure Software
Engineering Secure Software
Engineering Secure Software
White Box testing & Inspections
Engineering Secure Software
6. Application Software Security
Presentation transcript:

Engineering Secure Software What is secure?

Does Security Even Matter? Find two other people near you Introduce yourself What is your favorite software development technology? (language, tool, library, etc.) Have you ever written software where security mattered? Did you do anything about it then?

Discussion Increased airport security measures Think: TSA agents, full-body scanners, taking off your shoes, etc. Are we safer because of these measures? If so, is it worthwhile? © 2011-2012 Andrew Meneely

Discussion Takeaways Security is not black-and-white Security “Theater” Feeling safer vs. Being safer People act on their perception of reality, not necessarily on reality Protection can be costly E.g. personal liberty and privacy Eliminating a Threat vs. Protection Vulnerability vs. Exploit vs. Threat

An Engineer’s Concern In SE we teach you how to build software …but not as much breaking software How do you know that you have built a system that cannot be broken into? What evidence do you look for? How do you know you’re done?

Vulnerability Informally, a bug with security consequences A design flaw or poor coding that may allow an attacker to exploit software for a malicious purpose Non-software equivalent to “lack of shoe-examining at the airport” E.g. allowing easily-guessed passwords (poor coding) E.g. complete lack of passwords when needed (design flaw) McGraw: 50% are coding mistakes, 50% are design flaws Alternative definition: “an instance of a fault that violates an [implicit or explicit] security policy”

Exploit and Threat Exploit: a piece of software, a chunk of data, or a sequence of commands that takes advantage of a vulnerability in an effort to cause unintended or unanticipated behavior i.e. maliciously using a vulnerability Can manual or automated Viruses are merely automated exploits Many different ways to exploit just one vulnerability Threat – two usages of the word (a) An actor or agent that is a source of danger, capable of violating confidentiality, availability, or integrity of information assets and security policy e.g. black-hat hackers (b) A class of exploits e.g. spoofing

[Exploit|Threat|Vulnerability] Protection Protect against exploits? Anti-virus, intrusion detection, firewalls, etc. Protect against threats? Use forensics to find & eliminate Mitigate by punishment, if possible Protect against vulnerabilities? Engineer secure software!

Software Security is… NOT a myth but a reality Insecure software causes immeasurable harm Sony, NSA, Android, Browsers… just read the news

The number of vulnerabilities is… Increasing, decreasing, or stabilizing? Source: https://www.cvedetails.com/browse-by-date.php

Why is there a growing trend? Connectivity Cloud computing, Internet of Things Extensibility Mobile code, dynamically loadable drivers and devices, plugin architectures, Complexity

Code Complexity Source: https://www.linuxcounter.net/statistics/kernel

Code complexity, vulnerabilities, and security incidents Source: Gary McGraw (After Dan Geer)

Software Security is… NOT an arcane black art Much of it seems arcane Finding a severe vulnerability w/o source code Crafting the exploit Endless clever ways to break software But, you have much more knowledge than the attackers do Don’t just leave it to the experts, take responsibility for knowing security

Software Security is… NOT a dire apocalyptic future Fear-mongering will not be tolerated here Risk management dictates that we deal in the probable more than the possible

Software Security is… NOT a set of features Secure software > Security software Although tools and experts are helpful, You can’t just deploy a magical tool and expect all vulnerabilities to disappear You can’t outsource all of your security knowledge Even if you are using a security library, know how to use it properly

Software Security is… NOT a problem for just mathematicians Cryptography Is important and needed Cannot solve all of your security problems Pick-proof lock vs. open window Proofs, access control rules, and verification are helpful, but inherently incomplete

Software Security is… NOT a problem for just networking and operating systems Software had security problems long before we had the internet If you left a window open in your house, would you try to fix the roads?

Software Security is… A reality that everyone must face Not just developers, all stakeholders A learnable mindset for software engineers The ability to prevent unintended functionality At all layers of the stack In all parts of your system

Student Security Maturity Denial I don’t have to think about this. Let me just code. Leave it to the experts. I could never understand this anyway. Irrational fear, superstition EVERYTHING IS POSSIBLE NOW!!! EVERY MITIGATION IS NECESSARY!!! ENCRYPT EVERYTHING!!! Bag of Tricks Let’s just try these tricks that worked in the past We’ve done these 10 things. That’s a lot. Close enough, right? Reasoned, Balanced, Defensive Mindset If we do X, we mitigate Y, which is worthwhile because of Z.