Watching Software Run Brian ChessNov 18, 2009. Success is foreseeing failure. – Henry Petroski.

Slides:



Advertisements
Similar presentations
The Case for Tripwire® Nick Chodorow Sarah Kronk Jim Moriarty Chris Tartaglia.
Advertisements

Engineering Secure Software. Does Security Even Matter?  At your table, introduce yourselves: Your name, degree, & app domain What is your favorite software.
1 No Silver Bullet : Inherent Limitations of Computer Security Technologies Jeffrey W. Humphries Texas A&M University.
Preventing Good People From Doing Bad Things Best Practices for Cloud Security Brian Anderson Chief Marketing Officer & Author of “Preventing Good People.
Finding Security Errors in Java Applications Using Lightweight Static Analysis Benjamin Livshits Computer Science Lab Stanford University.
Barracuda Web Application Firewall
Unified Logs and Reporting for Hybrid Centralized Management
ReferencesReferences DiscussionDiscussion Vulnerability Example: SQL injection Auditing Tool for Eclipse LAPSE: a Security Auditing Tool for Eclipse IntroductionIntroductionResultsResults.
Vijay krishnan Avinesh Dupat  Collection of tools (programs) that enable administrator-level access to a computer or computer network.  The main purpose.
Using Set Operations on Code Coverage Data to Discover Program Properties by Nick Rutar.
1 Security and Software Engineering Steven M. Bellovin AT&T Labs – Research
Department Of Computer Engineering
Buffer Overflow Attacks. Memory plays a key part in many computer system functions. It’s a critical component to many internal operations. From mother.
Security Risk Management Marcus Murray, CISSP, MVP (Security) Senior Security Advisor, Truesec
Website Hardening HUIT IT Security | Sep
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
SEC835 Database and Web application security Information Security Architecture.
Secure Software Development SW Penetration Testing Chapter 6 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
Approaches to Application Security – DSM
 Prototype for Course on Web Security ETEC 550.  Huge topic covering both system/network architecture and programming techniques.  Identified lack.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service.
IST 210 Web Application Security. IST 210 Introduction Security is a process of authenticating users and controlling what a user can see or do.
Honeypot and Intrusion Detection System
Security Professional Services. Security Assessments Vulnerability Assessment IT Security Assessment Firewall Migration Custom Professional Security Services.
Environment for Information Security n Distributed computing n Decentralization of IS function n Outsourcing.
BLENDED ATTACKS EXPLOITS, VULNERABILITIES AND BUFFER-OVERFLOW TECHNIQUES IN COMPUTER VIRUSES By: Eric Chien and Peter Szor Presented by: Jesus Morales.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
Buffer Overflows Lesson 14. Example of poor programming/errors Buffer Overflows result of poor programming practice use of functions such as gets and.
1 CISCO SAFE: VALIDATED SECURITY REFERENCE ARCHITECTURE What It Is Business Transformation Top Questions To Ask To Initiate The Sale Where It Fits KEY.
 Two types of malware propagating through social networks, Cross Site Scripting (XSS) and Koobface worm.  How these two types of malware are propagated.
Web Security for Network and System Administrators1 Chapter 2 Security Processes.
OCTAVE-S on TradeSolution Inc.. Introduction Phase 1: Critical Assets and threats Phase 2: Critical IT Components Phase 3: Changes Required in current.
Drawing blood from a Stone.. haroon meer | marco slaviero SensePost.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
Information Security What is Information Security?
Securing Your Enterprise with Enterprise Manager 10g Amir Najmi Principal Member of Technical Staff System Management Products Oracle Corporation Session.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
ISA SERVER 2004 Group members : Sagar Bhakta – [intro] Orit Ahmed – [installation] Michael Wijaya [advantages] Rene Salazar - [features]
IT Security Policy: Case Study March 2008 Copyright , All Rights Reserved.
Security Vulnerabilities in A Virtual Environment
Cryptography and Network Security Sixth Edition by William Stallings.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
The Digital Crime Scene: A Software Perspective Written By: David Aucsmith Presented By: Maria Baron.
Bring Your Own Security (BYOS™): Deploy Applications in a Manageable Java Container with Waratek Locker on Microsoft Azure MICROSOFT AZURE ISV PROFILE:
Windows Azure poDRw_Xi3Aw.
DenyAll Delivering Next-Generation Application Security to the Microsoft Azure Platform to Secure Cloud-Based and Hybrid Application Deployments MICROSOFT.
Education – Partnership – Solutions Information Security Office of Budget and Finance Christopher Giles Governance Risk Compliance Specialist The Internet.
DreamFactory for Microsoft Azure Is an Open Source REST API Platform That Enables Mobilization of Data in Minutes across Frameworks and Storage Methods.
HIPS. Host-Based Intrusion Prevention Systems  One of the major benefits to HIPS technology is the ability to identify and stop known and unknown attacks,
Content Coverity Static Analysis Use cases of Coverity Examples
Application Communities
Chapter 7. Identifying Assets and Activities to Be Protected
Web Application Protection Against Hackers and Vulnerabilities
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Securing Your Web Application in Azure with a WAF
Chapter 7: Identifying Advanced Attacks
Software Security Testing
Secure Programming Dr. X
Leverage What’s Out There
Outline Introduction Characteristics of intrusion detection systems
Secure Software Development: Theory and Practice
COMPTIA CAS-003 Dumps VCE
IS4680 Security Auditing for Compliance
Software Security Lesson Introduction
Protect Microsoft Azure Apps from the Risks of Defacement, Data Leakage and Identity Theft “Microsoft Azure is the obvious platform to deploy your cloud.
Serverless Architecture in the Cloud
Introduction to Static Analyzer
PLANNING A SECURE BASELINE INSTALLATION
6. Application Software Security
Presentation transcript:

Watching Software Run Brian ChessNov 18, 2009

Success is foreseeing failure. – Henry Petroski

Static Analysis

Misconceptions Prevail High priority int main(int argc, char** argv) { char buffer[10]; strcpy(buffer, argv[1]); } Low priority int main(int argc, char** argv) { char buffer[10]; strcpy(buffer, “test”); }

Trace potentially tainted data through the program Report locations where an attacker could take advantage of a vulnerable function or construct Many other approaches, no one right answer Taint propagation = getInputFroNetwork(); copyBuffer(, ); exec( ); buff newBuff (command injection)

A never-ending battle against bad code Format String attacks: known for 10+ years printf(input); SQL Injection attacks: known for ? years statement.execute(input);

The Stereotypes Static analysis – Good: thorough – Bad: too many results Testing – Good: concrete results – Bad: misses too many things

Security in the Development Lifecycle

A Lesson from Cryptography Security is hard to measure – Enemy has unknown capabilities – Small mistakes can have big consequences So how many of those static analysis results do we have to fix? 9

Risk Management vs. Compliance Risk Management Probabilistic framework for allocating resources Compliance Fulfill somebody else's requirements 10

Compliance wins Why isn't everyone a risk manager? Risks not widely understood People manage their own risk, not risk to the public

Compliance wins What to comply with?

Building Security In Maturity Model Real data from real initiatives McGraw, Chess, & Migues Breaking new ground

The nine Two more unnamed financial services firms

Four domains Twelve practices An “archeology grid” A Software Security Framework

Ten things everybody does Activities that ALL do – evangelist role – policy – awareness training – history in training – security features – SSG does ARA – code review tools – black box tools – external pen testing – good network security

Terminator

Success is foreseeing failure. – Henry Petroski

Reactive Revisited A good idea: build security in Problem: software will still be vulnerable Solution: must compensate at runtime

20 Risk in a new endeavor Time Risk Market Risk Security Risk

Reactive Technology Today Protecting hosts and networks – Firewalls – Anti-virus – Intrusion detection Protecting software – Patching – Web Application Firewall – Language Level: Java Security Model

Patching Reaction time matters DON’T BREAK STUFF Microsoft has patched on Patch Tuesday for 30 months straight Patch flood means no one is ever fully patched

Web Application Firewalls (WAF) Sits on network, watches web requests Context problem – What will the program do with this input? Good for collecting attacks Scaling problem – Does go easily into the cloud

Java Security Model General access control mechanism – Domains / domain change – Privileges / privilege enforcement Built to – Protect good Java from bad Java – Protect a good computer from bad Java Nobody uses it

Return of the Reference Monitor Inline reference monitors (IRM) Aspect-oriented programming Watch interfaces between major components – Report important events – Enforce policy

Interface monitor architecture Monitor Event Event Handlers Action Program Point Target Program VM SyslogLog VM sees extensions as a profiler or a debugger

Federation Fortify 360 Server VM Controller VM

Static Analysis vs. Interface Monitors Static Analysis Part of construction Must anticipate all problems Locality important Performance not important Interface Monitors Part of deployment Must anticipate all symptoms Locality not important Performance critically important

DEMO

Better protection: SQL Injection Target Program Source of mal input Database WAF protects here We'll protect here

Patching a privilege escalation vulnerability Target Program Source of mal input Unauthorized request User Role We'll make the connection

Watching Software Run Brian ChessNov 18, 2009