Engineering Secure Software. Does Security Even Matter?  Find two other people near you Introduce yourself What is your favorite software development.

Slides:



Advertisements
Similar presentations
Chapter 1  Introduction 1 Introduction Chapter 1  Introduction 2 The Cast of Characters  Alice and Bob are the good guys  Trudy is the bad guy 
Advertisements

Vulnerability Analysis. Formal verification Formally (mathematically) prove certain characteristics Proves the absence of flaws in a program or design.
Engineering Secure Software. Does Security Even Matter?  At your table, introduce yourselves: Your name, degree, & app domain What is your favorite software.
Engineering Secure Software. Uses of Risk Thus Far  Start with the functionality Use cases  abuse/misuse cases p(exploit), p(vulnerability)  Start.
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.
Current Security Threats WMO CBS ET-CTS Toulouse, France May 2008 Allan Darling, NOAA’s National Weather Service WMO CBS ET-CTS Toulouse, France.
1 No Silver Bullet : Inherent Limitations of Computer Security Technologies Jeffrey W. Humphries Texas A&M University.
Computer Security Workshops Security Introduction, Central Principles and Concepts.
A Covenant University Presentation By Favour Femi-Oyewole, BSc, MSc (Computer Science), MSc (Information Security) Certified COBIT 5 Assessor /Certified.
11 ASSESSING THE NEED FOR SECURITY Chapter 1. Chapter 1: Assessing the Need for Security2 ASSESSING THE NEED FOR SECURITY  Security design concepts 
Some general principles in computer security Tomasz Bilski Chair of Control, Robotics and Computer Science Poznań University.
Bruce Schneier Lanette Dowell November 25, Introduction  “It is insufficient to protect ourselves with laws; we need to protect ourselves with.
Security Awareness: Applying Practical Security in Your World Chapter 6: Total Security.
Network Security Peter Behrens Seth Elschlager. Computer Security Preventing unauthorized use of your network and information within that network. Preventing.
Web server security Dr Jim Briggs WEBP security1.
Assessing the Threat How much money is lost due to cyber crimes? –Estimates range from $100 million to $100s billions –Why the discrepancy? Companies don’t.
Sanjay Goel, School of Business/Center for Information Forensics and Assurance University at Albany Proprietary Information 1 Unit Outline Information.
Network Infrastructure Security. LAN Security Local area networks facilitate the storage and retrieval of programs and data used by a group of people.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
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? =
Chapter 15: Security (Part 1). The Security Problem Security must consider external environment of the system, and protect the system resources Intruders.
MOBILE DEVICE SECURITY. WHAT IS MOBILE DEVICE SECURITY? Mobile Devices  Smartphones  Laptops  Tablets  USB Memory  Portable Media Player  Handheld.
CSCE 548 Secure Software Development Risk-Based Security Testing.
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.
Introducing Computer and Network Security. Computer Security Basics What is computer security? –Answer depends on the perspective of the person you’re.
Computer & Network Security
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin Business Plug-In B6 Information Security.
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.
What does secure mean? You have been assigned a task of finding a cloud provider who can provide a secure environment for the launch of a new web application.
Managing Information System Security: Principles GP Dhillon Associate Professor Virginia Commonwealth University.
1 Class 15 System Security. Outline Security Threats (External: malware, spoofing/phishing, sniffing, & data theft: Internal: unauthorized data access,
CSCE 522 Secure Software Development Best Practices.
APPLICATION PENETRATION TESTING Author: Herbert H. Thompson Presentation by: Nancy Cohen.
Information Security What is Information Security?
1 ITGD 2202 Supervision:- Assistant Professor Dr. Sana’a Wafa Al-Sayegh Dr. Sana’a Wafa Al-SayeghStudent: Anwaar Ahmed Abu-AlQumboz.
Understanding Computer Viruses: What They Can Do, Why People Write Them and How to Defend Against Them Computer Hardware and Software Maintenance.
CSCE 548 Building Secure Software. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 1 – Recommended: CyberInsecurity: The Cost of Monopoly,
Juan Ortega 12/15/09 NTS355. Microsoft Security Advisory (977544) Vulnerability in SMB Could Allow Denial of Service Flaw on SMBv2 supposedly opened two.
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.
Visual 1. 1 Lesson 1 Overview and and Risk Management Terminology.
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.
LESSON 5-2 Protecting Your Computer Lesson Contents Protecting Your Computer Best Practices for Securing Online and Network Transactions Measures for Securing.
Virus Assignment JESS D. How viruses affect people and businesses  What is a virus? A computer virus is a code or a program that is loaded onto your.
Matt Broman Kodiac Gamble Devin Nichol SECTION 4.2 INFORMATION SECURITY.
THE NEED FOR NETWORK SECURITY Hunar & Nawzad & Kovan & Abdulla & Aram.
By Ramesh Mannava.  Overview  Introduction  10 secure software engineering topics  Agile development with security development activities  Conclusion.
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.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Computer Security Keeping you and your computer safe in the digital world.
Engineering Secure Software. A Ubiquitous Concern  You can make a security mistake at every step of the development lifecycle  Requirements that allow.
CSCE 548 Secure Software Development Risk-Based Security Testing
Engineering Secure Software
Systems Security Keywords Protecting Systems
Network security threats
Operating system Security
Security in Networking
I have many checklists: how do I get started with cyber security?
Engineering Secure Software
Advanced Services Cyber Security 101 © ABB February, | Slide 1.
Engineering Secure Software
Engineering Secure Software
Engineering Secure Software
Engineering Secure Software
White Box testing & Inspections
Engineering Secure Software
Presentation transcript:

Engineering Secure Software

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? © 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

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 1. Denial I don’t have to think about this. Let me just code. Leave it to the experts. I could never understand this anyway. 2. Irrational fear, superstition EVERYTHING IS POSSIBLE NOW!!! EVERY MITIGATION IS NECESSARY!!! ENCRYPT EVERYTHING!!! 3. 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? 4. Reasoned, Balanced, Defensive Mindset If we do X, we mitigate Y, which is worthwhile because of Z.