Opportunities and Obstacles to Using Static Analysis for the Development of Safety-Critical Software

Similar documents
Software Security and CISQ. Dr. Bill Curtis Executive Director

IBM Rational Rhapsody

SAMATE (Software Assurance Metrics And Tool Evaluation) Project Overview. Tim Boland NIST May 29,

Certification of Model Transformations

Certification Authorities Software Team (CAST) Position Paper CAST-25

Production Code Generation and Verification for Industry Standards Sang-Ho Yoon Senior Application Engineer

Evaluating Bug Finders

Isaca EXAM - CISM. Certified Information Security Manager. Buy Full Product.

Request for Proposal To develop and teach a Training Course on RTCA Airworthiness Security Documents (DO-326A, DO-355, and DO-356A)

Synology Security Whitepaper

Certification Requirements for High Assurance Systems

Introduction of the Identity Assurance Framework. Defining the framework and its goals

CIP Cyber Security Personnel & Training

정형기법을활용한 AUTOSAR SWC 의구현확인및정적분석

Exam4Tests. Latest exam questions & answers help you to pass IT exam test easily

No Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages

Presented by Greg Pollari (Rockwell Collins) and Nigel Shaw (Eurostep)

Process for the Evaluation and Acceptance of Building Products in the USA

CIP Cyber Security Configuration Change Management and Vulnerability Assessments

Black Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing

CIS 890: Safety-Critical Systems

New York Department of Financial Services Cybersecurity Regulation Compliance and Certification Deadlines

HEALTH AND SAFETY PROGRAM 207 Permit Writer Certification Procedure

ISACA Cincinnati Chapter March Meeting

This Document is licensed to

IBM Rational Rhapsody

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

VectorCAST SP3 and Beyond

Tiger Scheme QST/CTM Standard

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

NERC CIP VERSION 6 BACKGROUND COMPLIANCE HIGHLIGHTS

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd

Incremental Functional Certification (IFC) on Integrated Modular Avionics (IMA)

CIP Cyber Security Personnel & Training

Meeting PCI DSS 3.2 Compliance with RiskSense Solutions

ACCELERATING DO-254 VERIFICATION

Certificate Software Asset Management Essentials Syllabus. Version 2.0

SOFTWARE QUALITY OBJECTIVES FOR SOURCE CODE

CIP Cyber Security Configuration Change Management and Vulnerability Assessments

Standardkonforme Absicherung mit Model-Based Design

Database Integrity Policy for Aeronautical Data

Subj: CONDITIONS OF EMPLOYMENT FOR OFFICE OF NAVAL INTELLIGENCE ONI) POLICE OFFICERS. a) Title 5 CFR 339, Medical Qualification Determinations

The SGIP TCC Interoperability. How do we know if a standard s certification programs will work?

DRAFT Validation Cross Reference Index. for the

AUDIT OF ICT STRATEGY IMPLEMENTATION

SafeRiver SME. Added Value Solutions for Embedded Systems. Tools for FuSa and Software Security. Packaged Services. CIR agreed

Large Scale Generation of Complex and Faulty PHP Test Cases

FedEx Express ASAP FAQs

Identity Assurance Framework: Realizing The Identity Opportunity With Consistency And Definition

HITRUST CSF Assurance Program HITRUST, Frisco, TX. All Rights Reserved.

FAA Order Simple And Complex Electronic Hardware Approval Guidance. Federal Aviation Administration

Using Model-Based Design in conformance with safety standards

CIP Cyber Security Configuration Change Management and Vulnerability Assessments

Incentives for IoT Security. White Paper. May Author: Dr. Cédric LEVY-BENCHETON, CEO

ALABAMA FIRE COLLEGE SKILLS EVALUATOR TRAINING

PRODUCT UNDER TEST TEST EVENT RESULT. Quality Manual ISO Test Lab Test Report

External Supplier Control Obligations. Cyber Security

Qualification Specification for the Knowledge Modules that form part of the BCS Level 4 Software Developer Apprenticeship

Training, standards and capacity building in South East Asia GIZ Proklima projects. Philipp Munzinger Project Manager, GIZ Proklima

Considerations in automotive embedded development Global Automotive Director Kiyo Uemura

CompTIA Cybersecurity Analyst+

Bradford J. Willke. 19 September 2007

Software security, secure programming

Swedish Scheme Update Dag Ströman, Head of CSEC

Development Guidance and Certification Considerations

This regulation outlines the policy and procedures for the implementation of wireless networking for the University Campus.

Wireless Network Policy and Procedures Version 1.5 Dated November 27, 2002

WHITE PAPER. 10 Reasons to Use Static Analysis for Embedded Software Development

Alternative Compliance with Required Navigation Performance Authorization Required (RNP AR) Database Validation Requirements

Introduction to GlobalPlatform Compliance Secretariat

NATIONAL INSTITUTE OF FORENSIC SCIENCE

Measuring and Evaluating Cyber Risk in ICS Components, Products and Systems

2 nd Cybersecurity Workshop Test and Evaluation to Meet the Advanced Persistent Threat

Test Procedure for (s) Integrity

Standard CIP Cyber Security Systems Security Management

EDUCATOR. Certified. to know to become a. What you need. in Florida. General Certification. Requirements for. Individuals Applying

Standard Development Timeline

The Role of the American National Standards Institute (ANSI) Irwin Silverstein, Ph.D. IPEA

Qualification Specification. Level 2 Award in Cyber Security Awareness For Business

Integrated Modular Avionics Development Guidance and Certification Considerations

Building Secure Systems

Practical Use of FPGAs and IP in DO-254 Compliant Systems

Achieving Java Application Security With Parasoft Jtest

Finding an Independent Third Party Battery Test Lab

Non-SOPEEC Practical Experience Assessment Certification and Examination Guide

Static Analysis of Embedded Systems

Verification and Validation

A Model-Based Reference Workflow for the Development of Safety-Related Software

Texas Reliability Entity, Inc. Strategic Plan for 2017 TEXAS RE STRATEGIC PLAN FOR 2017 PAGE 1 OF 13

Inference of Memory Bounds

System Architecture Virtual Integration (SAVI) Presentation to PDT Europe 2016

Model-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc.

Part 5. Verification and Validation

New Zealand Certificate in Regulatory Compliance (Operational Practice) Level 4

Checking Program Properties with ESC/Java

Qualification Specification. Level 2 Award in Cyber Security Awareness For Business

New Zealand Certificate in Regulatory Compliance (Core Knowledge) (Level 3)

Best Practices Process & Technology. Sachin Dhiman, Senior Technical Consultant, LDRA

FanChain Contract Audit

TERMS OF REFERENCE Special Committee (SC) 214 Standards for Air Traffic Data Communication Services Revision 10

Transcription:

Copyright 2006 Rockwell Collins, Inc. All right reserved. Opportunities and Obstacles to Using Static Analysis for the Development of Safety-Critical Software

Safety-Critical Business Case FAA: use of RTCA DO-178B is an acceptable means of compliance with airborne software requirements Advisory Circular 20-115B Problem: regulatory constraints make software development better, but more expensive and slower Especially verification review/analysis, test Goal: Faster, cheaper software verification without making it worse Solution: use automation tools 2

Verification Tools Test case/vector generators & qualified test coverage tools significantly automate test Code review/analysis: enforce coding standard; early elimination of errors Buffer/stack overflow, uninitialized/unused variables, etc. At least one additional engineer examines every line of code Follow-up reviews to verify corrections Manual reviews are effective, but time consuming & expensive Also, tedious & susceptible to human error Desire: automate source code reviews 3

Qualification Required for Automation FAA/DER: Provide confidence at least equivalent to the process being automated Demonstrate determinism: same output for same input operating in same environment Demonstrate compliance with operational requirements What are static analyzer operational requirements? Error detection accuracy? Detection of what kinds of errors? What tests verify requirements? Who runs the tests & who guarantees independence? Task: determine effectiveness of static analyzers & their readiness for qualification 4

Evaluation of Static Analyzers Evaluated 20 static analyzers open source & COTS Detection accuracy (true positive, true negative, false positive, false negative) Remediation advice (error description; elimination advice) False positive suppression Rule extension User interface IDE integration Error classes based on MITRE s Common Weakness Enumeration Over/underflow/range, type/cast, arithmetic, resource management, pointer, looping errors, etc. Analysis accuracy tests based on NIST s SAMATE Reference Dataset 5

Results None addressed all tested error classes Few had high detection accuracy All had high false negative rate against 1 or more classes unsigned int i = 10; while (i >= 0) { i = i-1; } Many had high false positive rate (high usage cost) Few had clear remediation advice Few scaled well from components to large systems Some were difficult to use, difficult to integrate 6

Conclusions Accuracy, ease of integration & use make some cost effective Detect some errors faster & better than manual reviews Some reduce downstream costs far beyond usage cost (e.g., false positive analysis) None can completely replace manual review Manual review still finds errors static analyzers currently do not Tool qualification is an unresolved obstacle Testable requirements & criteria are emerging Business case for vendor provided qual is unclear e.g., market size, frequency of re-qual 7

Conclusions Without mitigating action, static analysis could degrade the current verification process Developers get false confidence aware of tool strengths, unaware of weaknesses Defer to tool output & put little effort into manual review Increased errors found in downstream activities Some static analyzers might replace manual review within specific error classes Define error classes & operational requirements Set detection accuracy thresholds Define qualification methods & tests against error class 8

Industry Actions Source Code Security Analysis Tool Functional Specification NIST-led government, academe, industry group s functional spec for static analyzers Common Weakness Enumeration (CWE) MITRE standard definitions of ~300 software error classes SAMATE Reference Dataset (SRD) NIST/MITRE standard set of ~2000 test cases for static analyzers C, C++, Java; false negative, false positive NIST plan for certifying independent labs for software product qualification testing Similar to hardware product certification since 70 s 9

Next Steps Support NIST plan Approval of source code analysis spec Additional errors & tests for CWE & SRD inclusion Detailed CWE to SRD mapping Additional capability from tool industry Domain-specific CWE & SRD profiles (e.g., avionics) to avoid irrelevant testing Resolve qualification issues with vendors & FAA/DER Detailed operational requirements Detection accuracy criteria Requirements-based qual tests & results analysis Qual package approval 10