Cargando…

The HACMS program: using formal methods to eliminate exploitable bugs

For decades, formal methods have offered the promise of verified software that does not have exploitable bugs. Until recently, however, it has not been possible to verify software of sufficient complexity to be useful. Recently, that situation has changed. SeL4 is an open-source operating system mic...

Descripción completa

Detalles Bibliográficos
Autores principales: Fisher, Kathleen, Launchbury, John, Richards, Raymond
Formato: Online Artículo Texto
Lenguaje:English
Publicado: The Royal Society Publishing 2017
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5597724/
https://www.ncbi.nlm.nih.gov/pubmed/28871050
http://dx.doi.org/10.1098/rsta.2015.0401
_version_ 1783263762221891584
author Fisher, Kathleen
Launchbury, John
Richards, Raymond
author_facet Fisher, Kathleen
Launchbury, John
Richards, Raymond
author_sort Fisher, Kathleen
collection PubMed
description For decades, formal methods have offered the promise of verified software that does not have exploitable bugs. Until recently, however, it has not been possible to verify software of sufficient complexity to be useful. Recently, that situation has changed. SeL4 is an open-source operating system microkernel efficient enough to be used in a wide range of practical applications. Its designers proved it to be fully functionally correct, ensuring the absence of buffer overflows, null pointer exceptions, use-after-free errors, etc., and guaranteeing integrity and confidentiality. The CompCert Verifying C Compiler maps source C programs to provably equivalent assembly language, ensuring the absence of exploitable bugs in the compiler. A number of factors have enabled this revolution, including faster processors, increased automation, more extensive infrastructure, specialized logics and the decision to co-develop code and correctness proofs rather than verify existing artefacts. In this paper, we explore the promise and limitations of current formal-methods techniques. We discuss these issues in the context of DARPA’s HACMS program, which had as its goal the creation of high-assurance software for vehicles, including quadcopters, helicopters and automobiles. This article is part of the themed issue ‘Verified trustworthy software systems’.
format Online
Article
Text
id pubmed-5597724
institution National Center for Biotechnology Information
language English
publishDate 2017
publisher The Royal Society Publishing
record_format MEDLINE/PubMed
spelling pubmed-55977242017-09-14 The HACMS program: using formal methods to eliminate exploitable bugs Fisher, Kathleen Launchbury, John Richards, Raymond Philos Trans A Math Phys Eng Sci Articles For decades, formal methods have offered the promise of verified software that does not have exploitable bugs. Until recently, however, it has not been possible to verify software of sufficient complexity to be useful. Recently, that situation has changed. SeL4 is an open-source operating system microkernel efficient enough to be used in a wide range of practical applications. Its designers proved it to be fully functionally correct, ensuring the absence of buffer overflows, null pointer exceptions, use-after-free errors, etc., and guaranteeing integrity and confidentiality. The CompCert Verifying C Compiler maps source C programs to provably equivalent assembly language, ensuring the absence of exploitable bugs in the compiler. A number of factors have enabled this revolution, including faster processors, increased automation, more extensive infrastructure, specialized logics and the decision to co-develop code and correctness proofs rather than verify existing artefacts. In this paper, we explore the promise and limitations of current formal-methods techniques. We discuss these issues in the context of DARPA’s HACMS program, which had as its goal the creation of high-assurance software for vehicles, including quadcopters, helicopters and automobiles. This article is part of the themed issue ‘Verified trustworthy software systems’. The Royal Society Publishing 2017-10-13 2017-09-04 /pmc/articles/PMC5597724/ /pubmed/28871050 http://dx.doi.org/10.1098/rsta.2015.0401 Text en © 2017 The Authors. http://creativecommons.org/licenses/by/4.0/ Published by the Royal Society under the terms of the Creative Commons Attribution License http://creativecommons.org/licenses/by/4.0/, which permits unrestricted use, provided the original author and source are credited.
spellingShingle Articles
Fisher, Kathleen
Launchbury, John
Richards, Raymond
The HACMS program: using formal methods to eliminate exploitable bugs
title The HACMS program: using formal methods to eliminate exploitable bugs
title_full The HACMS program: using formal methods to eliminate exploitable bugs
title_fullStr The HACMS program: using formal methods to eliminate exploitable bugs
title_full_unstemmed The HACMS program: using formal methods to eliminate exploitable bugs
title_short The HACMS program: using formal methods to eliminate exploitable bugs
title_sort hacms program: using formal methods to eliminate exploitable bugs
topic Articles
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5597724/
https://www.ncbi.nlm.nih.gov/pubmed/28871050
http://dx.doi.org/10.1098/rsta.2015.0401
work_keys_str_mv AT fisherkathleen thehacmsprogramusingformalmethodstoeliminateexploitablebugs
AT launchburyjohn thehacmsprogramusingformalmethodstoeliminateexploitablebugs
AT richardsraymond thehacmsprogramusingformalmethodstoeliminateexploitablebugs
AT fisherkathleen hacmsprogramusingformalmethodstoeliminateexploitablebugs
AT launchburyjohn hacmsprogramusingformalmethodstoeliminateexploitablebugs
AT richardsraymond hacmsprogramusingformalmethodstoeliminateexploitablebugs