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...
Autores principales: | , , |
---|---|
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 |