Developing secure software A practical approach



Similar documents
Upgrading Intel AMT 5.0 drivers to Linux kernel v2.6.31

Cyber Security Framework: Intel s Implementation Tools & Approach

Development for Mobile Devices Tools from Intel, Platform of Your Choice!

Intel Platform Controller Hub EG20T

ARM* to Intel Atom Microarchitecture - A Migration Study

PHYSICAL CORES V. ENHANCED THREADING SOFTWARE: PERFORMANCE EVALUATION WHITEPAPER

Using GStreamer for hardware accelerated video decoding on Intel Atom Processor E6xx series

Processor Reorder Buffer (ROB) Timeout

An Architecture to Deliver a Healthcare Dial-tone

Internal LVDS Dynamic Backlight Brightness Control

Xen in Embedded Systems. Ray Kinsella Senior Software Engineer Embedded and Communications Group Intel Corporation

Intel(R) IT Director User's Guide

DDR2 x16 Hardware Implementation Utilizing the Intel EP80579 Integrated Processor Product Line

What is a Managed Service Provider (MSP)? What is the best solution for an MSP?

Using Windows* 7/Windows Embedded Standard 7* with Platforms Based on the Intel Atom Processor Z670/Z650 and Intel SM35 Express Chipset

Dell Client. Take Control of Your Environment. Powered by Intel Core 2 processor with vpro technology

Intel Cyber Security Briefing: Trends, Solutions, and Opportunities. Matthew Rosenquist, Cyber Security Strategist, Intel Corp

Contents Overview and Product Contents

Embedded Controller Usage in Low Power Embedded Designs

Intel Rapid Storage Technology (Intel RST) in Linux*

Accessing the Real Time Clock Registers and the NMI Enable Bit

Intel Cyber-Security Briefing: Trends, Solutions, and Opportunities

How To Install An Intel System Studio 2015 For Windows* For Free On A Computer Or Mac Or Ipa (For Free)

Implementing Multiple Displays with IEGD Multi-GPU - Multi-Monitor Mode on Intel Atom Processor with Intel System Controller Hub US15W Chipset

Software Development: The Next Security Frontier

Enabling new usage models for Intel Embedded Platforms

CT Bus Clock Fallback for Linux Operating Systems

Inside Linux* graphics

Intel Remote Configuration Certificate Utility Frequently Asked Questions

McAfee epolicy Orchestrator * Deep Command *

Passing PCI Compliance How to Address the Application Security Mandates

White Paper David Hibler Jr Platform Solutions Engineer Intel Corporation. Considerations for designing an Embedded IA System with DDR3 ECC SO-DIMMs

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Spread-Spectrum Clocking to Reduce EMI

White Paper Amit Aneja Platform Architect Intel Corporation. Xen* Hypervisor Case Study - Designing Embedded Virtualized Intel Architecture Platforms

Microsoft SDL: Agile Development

Development Processes (Lecture outline)

Application Security Testing

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

Debugging Machine Check Exceptions on Embedded IA Platforms

Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference

The Security Development Lifecycle

Intel vpro Technology Module for Microsoft* Windows PowerShell*

Save Energy Costs Without Compromise

Managing Digital Signage Over 3G Using Intel Active Management Technology (Intel AMT)

SAST, DAST and Vulnerability Assessments, = 4

Solution Recipe: Improve PC Security and Reliability with Intel Virtualization Technology

Intel Dialogic System Software for PCI Products on Windows

Imagine What Fitness Can Look Like in the Future

Ivan Medvedev Principal Security Development Lead Microsoft Corporation

Intel Cyber-Security Briefing: Trends, Solutions, and Opportunities. John Skinner, Director, Secure Enterprise and Cloud, Intel Americas, Inc.

ANDROID SECURITY ATTACKS AND DEFENSES ABHISHEK DUBEY I ANMOL MISRA. ( r öc) CRC Press VV J Taylor & Francis Group ^ "^ Boca Raton London New York

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance

ISSECO Syllabus Public Version v1.0

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor

KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES.

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

Intel Embedded Virtualization Manager

The Top Web Application Attacks: Are you vulnerable?

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

Integrating Application Security into the Mobile Software Development Lifecycle. WhiteHat Security Paper

The Security Development Lifecycle. Steven B. Lipner, CISSP Senior Director Security Engineering Strategy Microsoft Corp.

Magento Security and Vulnerabilities. Roman Stepanov

Device Management API for Windows* and Linux* Operating Systems

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

Intel Trusted Platforms Overview

G- Cloud Specialist Cloud Services. Security and Penetration Testing. Overview

Intel System Event Log (SEL) Viewer Utility

elearning for Secure Application Development

Intel Management Engine BIOS Extension (Intel MEBX) User s Guide

Adobe ColdFusion. Secure Profile Web Application Penetration Test. July 31, Neohapsis 217 North Jefferson Street, Suite 200 Chicago, IL 60661

How to start a software security initiative within your organization: a maturity based and metrics driven approach OWASP

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

Considerations for Designing an Embedded Intel Architecture System with System Memory Down

Beyond ISO Intel's Product Security Maturity Model (PSMM)

PC Solutions That Mean Business

Intel vpro Technology. How To Purchase and Install Symantec* Certificates for Intel AMT Remote Setup and Configuration

Protecting Your Organisation from Targeted Cyber Intrusion

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

Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006

One-Stop Intel TXT Activation Guide

Choosing Between Whitelisting and Blacklisting Endpoint Security Software for Fixed Function Devices

Course: Information Security Management in e-governance. Day 1. Session 5: Securing Data and Operating systems

ETHICAL HACKING APPLICATIO WIRELESS110 00NETWORK APPLICATION MOBILE MOBILE0001

Unleashing Linux*-Based Secure Storage Performance with Intel AES New Instructions

CORE Security and the Payment Card Industry Data Security Standard (PCI DSS)

ensuring security the way how we do it

Software PBX Performance on Intel Multi- Core Platforms - a Study of Asterisk* White Paper

Intel AMT Provides Out-of-Band Remote Manageability for Digital Security Surveillance

Software Token Security & Provisioning: Innovation Galore!

CompTIA Security+ (Exam SY0-410)

Adobe Systems Incorporated

Chapter 4 Application, Data and Host Security

SAFECode Security Development Lifecycle (SDL)

UNCLASSIFIED Version 1.0 May 2012

Transcription:

Developing secure software A practical approach Juan Marcelo da Cruz Pinto Security Architect

Legal notice Intel Active Management Technology requires the computer system to have an Intel(R) AMT-enabled chipset, network hardware and software, as well as connection with a power source and a corporate network connection. Setup requires configuration by the purchaser and may require scripting with the management console or further integration into existing security frameworks to enable certain functionality. It may also require modifications of implementation of new business processes. With regard to notebooks, Intel AMT may not be available or certain capabilities may be limited over a host OS-based VPN or when connecting wirelessly, on battery power, sleeping, hibernating or powered off. BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Inside, Core Inside, i960, Intel, the Intel logo, Intel AppUp, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside, the Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel Sponsors of Tomorrow., the Intel Sponsors of Tomorrow. logo, Intel StrataFlash, Intel Viiv, Intel vpro, Intel XScale, InTru, the InTru logo, InTru soundmark, Itanium, Itanium Inside, MCS, MMX, Moblin, Pentium, Pentium Inside, skoool, the skoool logo, Sound Mark, The Journey Inside, vpro Inside, VTune, Xeon, and Xeon Inside are trademarks of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others. 2

Goals & Expectations Evangelize secure software development This is not a talk about how to use technology X to make software more secure You can apply this in every platform/system You can apply this in every programming language By the end of this talk (hopefully ), you will: Have a better understanding of the threats that we (software/firmware/hardware developers) face today Understand the processes that support secure software development in a company such as Intel Have a set of seeds (tools, guidelines, links) you can use to improve the quality of code Become an secure software development evangelizer yourselves BTW, What is Secure Software? 3

The evolution of computer threats Source: Symantec JWIS 2007* Huge explosion in the number and type of attacks 4

The evolution of computer threats (cont.) Software depends on hardware to provide protection: Rings, Intel TXT (root of trust), vpro (manageability), VT (virtualization), With hardened OS, savvy attackers move down stack Detection and patching can be difficult or impossible Intel has large, global deployment footprint Intel develops both hardware and software 5

Trust derivation The Hardware/Software stack Web Browser apps Applications & Services Intel Mash Maker (Beta) Intel AppUp Drivers OS BIOS & FW extensions Drivers for different platform features (Graphics, HECI, ) Linux / MeeGO vpro, AMT, CPU ucode, CPU & Chipset Platform stack Supporting SW 6

Hardware hacks in the news Security research community in action TPM chips used for encryption hacked (February 2010) Presented at Black Hat 2010 (http://www.blackhat.com/presentations/bh-dc- 10/Tarnovsky_Chris/BlackHat-DC-2010-Tarnovsky-DASP-slides.pdf) Using acid to remove plastic protection, removing silicon substrate and using a electron microscope to analyze circuitry and advanced protection Source: http://www.flylogic.net/blog/ GoodFET for Wireless Keyboard Sniffing (Black Hat 2011, TBP) To be presented at Black Hat 2011 (Travis Goodspeed, https://www.blackhat.com/html/bh-us-11/bh-us-11-arsenal.html#goodspeed) Sniffing wireless keyboards Source: http://travisgoodspeed.blogspot.com/ - http://goodfet.sourceforge.net 7

Intel Security Assurance Framework Prevent Detect Prevent security and privacy issues from being created Detect security & privacy issues prior to release Intel Security Center of Excellence Survive Survive security & privacy issues after release (SeCoE) 8

Design for Security (DFS) Definition: Application of security best practices by knowledgeable teams throughout the development lifecycle to continuously improve product security Best Practices Education Tools Security Development Lifecycle Concept Architecture Design Implementation Support Security Policy / Guidance Product Development Cryptography Incident handling Many others Security Training Requirements Architecture SW Coding Evaluation HW Security Security Newsletter Learn from issues Trends in security Sharing best practices Architecture Threat modeling Implementation Klocwork K7 Threat Analysis Automation Evaluation Open source attack tools Fuzzing frameworks Enable Teams to Engineer More Secure Products 9

Intel Security Development Lifecycle (SDL) Tailored version of Microsoft* SDL (http://www.microsoft.com/security/sdl/default.aspx) Adds the hardware/firmware twist to the mix What it provides? Guidelines and development process modifications for including periodic security checkpoints Guidance in all of the development stages (from requirements to release) Ensures that products meet the stated and assumed security and privacy requirements Assessment Architecture review Design review Implementation review Survivability SDL can also be agile 10

A case study: The Intel AppUp(SM) Source: http://www.appup.com/ (July 2011) Developed in ASDC 11

Architecture/Design review Requires clear security objectives What does the customer expect from the product/technology? Matching the business objectives: This is the tricky part Strong focus on threat modeling Analyze use cases, identify risks, specify requirements Methodologies: STRIDE, Attack Trees, CIA Source: Microsoft SDL Threat Modeling Tool * Outcome: List of security requirements to be built into the architecture Key: Threat modeling 12

Architecture/Design review Tools & Assets Tools Microsoft* SDL Threat Modeling Tool: http://www.microsoft.com/download/en/details.aspx?displ aylang=en&id=2955#overview Microsoft* Threat Analysis & Modeling Tool: http://www.microsoft.com/download/en/details.aspx?displ aylang=en&id=14719 SeaMonster*: http://sourceforge.net/projects/seamonster/ Guides OWASP*: https://www.owasp.org/index.php/threat_risk_modeling 13

Implementation review Requires tools for static source code analysis Integration of static analysis tools and the build environment Keeping track of vulnerabilities in the code Strong focus on static analysis and code reviews Fixing static analysis vulnerabilities is a high impact / low cost activity // source: http://www.linuxjournal.com/article/6701 void function (char *str) { char buffer[16]; strcpy (buffer, str); } int main () { char *str = "I am greater than 16 bytes"; // length of str = 27 bytes function (str); } Outcome: Static analysis reports and finding documentation Key: Static analysis, Code review & Penetration testing 14

Implementation review Tools & Assets CWE/SANS Top 25 Most Dangerous Software Errors (2011) SQL Injection OS Command Injection Buffer Overflow Cross-Site Scripting (XSS) Missing Authentication / Authorization Hard-coded credentials Missing encryption for sensitive data Lack of input validation Execution with unnecessary privileges Cross-Site Request Forgery Download of Code Without Integrity Check 15

Implementation review Tools & Assets (cont.) Source Code Analysis Klocwork* FxCop* CAT.NET* Binary Analysis Valgrind* BinScope* Fuzz Testing Peach* framework: http://peachfuzzer.com/ 16

Ship review Requires the product release criteria to include a metric for security findings Understand the impact of unaddressed vulnerabilities Strong focus on building a survivability plan What to do in case of an incident? How to report vulnerabilities? How to patch system s software once in the field? Outcome: Survivability and incident response plan Key: Survivability plan 17

Intel s PSIRT www.intel.com/security: Engage security community Standard reporting process Working with researchers Open & active engagement Address security vulnerabilities Internally identified and externally reported BKMs for impact assessment through resolution Avenue to disseminate security information Publication of Security Advisories and Notices 18

Wrapping up Prevent security and privacy issues from being created Architecture review: Threat modeling Prevent Detect security & privacy issues prior to release Impl. review: Static analysis and pen test Detect Survive Survive security & privacy issues after release Ship review: survivability plan Intel Security Center of Excellence (SeCoE) Training & continuous improvement (DFS) 19

Summary / Q&A Threats are evolving, and secure software development processes need to evolve and adapt as well Following a secure development process provides a set of milestones focused on reducing the risk of the product and identifying risks earlier in the lifecycle Team up with the security research community: they will always be one step ahead 20

21

More resources OWASP: https://www.owasp.org/ CWE/SANS: http://cwe.mitre.org/ Top 25 most dangerous software errors: http://cwe.mitre.org/top25/ Monster mitigations: http://cwe.mitre.org/top25/mitigations.html Threat modeling SeaMonster*: http://sourceforge.net/projects/seamonster/ Microsoft* SDL Threat Modeling Tool: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=2955#overview Microsoft* Threat Analysis & Modeling Tool: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14719 22