Digital system robustness via design constraints: The lesson of formal methods

J. Mayo, R. Armstrong, G. Hulette
{"title":"Digital system robustness via design constraints: The lesson of formal methods","authors":"J. Mayo, R. Armstrong, G. Hulette","doi":"10.1109/SYSCON.2015.7116737","DOIUrl":null,"url":null,"abstract":"Current programming languages and programming models make it easy to create software and hardware systems that fulfill an intended function but also leave such systems open to unintended function and vulnerabilities. Software engineering and code hygiene may make systems incrementally safer, but do not produce the wholesale change necessary for secure systems from the outset. Yet there exists an approach with impressive results: We cite recent examples showing that formal methods, coupled with formally informed digital design, have produced objectively more robust code even beyond the properties directly proven. Though discovery of zero-day vulnerabilities is almost always a surprise and powerful tools like semantic fuzzers can cover a larger search space of vulnerabilities than a developer can conceive of, formal models seem to produce robustness of a higher qualitative order than traditionally developed digital systems. Because the claim is necessarily a qualitative one, we illustrate similar results with an idealized programming language in the form of Boolean networks where we have control of parameters related to stability and adaptability. We argue that verifiability with formal methods is an instance of broader design constraints that promote robustness. We draw analogies to real-world programming models and languages that can be mathematically reasoned about in contrast to ones that are essentially undecidable.","PeriodicalId":251318,"journal":{"name":"2015 Annual IEEE Systems Conference (SysCon) Proceedings","volume":"59 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 Annual IEEE Systems Conference (SysCon) Proceedings","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SYSCON.2015.7116737","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

Abstract

Current programming languages and programming models make it easy to create software and hardware systems that fulfill an intended function but also leave such systems open to unintended function and vulnerabilities. Software engineering and code hygiene may make systems incrementally safer, but do not produce the wholesale change necessary for secure systems from the outset. Yet there exists an approach with impressive results: We cite recent examples showing that formal methods, coupled with formally informed digital design, have produced objectively more robust code even beyond the properties directly proven. Though discovery of zero-day vulnerabilities is almost always a surprise and powerful tools like semantic fuzzers can cover a larger search space of vulnerabilities than a developer can conceive of, formal models seem to produce robustness of a higher qualitative order than traditionally developed digital systems. Because the claim is necessarily a qualitative one, we illustrate similar results with an idealized programming language in the form of Boolean networks where we have control of parameters related to stability and adaptability. We argue that verifiability with formal methods is an instance of broader design constraints that promote robustness. We draw analogies to real-world programming models and languages that can be mathematically reasoned about in contrast to ones that are essentially undecidable.
通过设计约束的数字系统健壮性:形式化方法的教训
当前的编程语言和编程模型可以很容易地创建实现预期功能的软件和硬件系统,但也使这些系统容易出现意想不到的功能和漏洞。软件工程和代码卫生可能会使系统逐渐变得更安全,但不会从一开始就产生安全系统所必需的大规模更改。然而,存在一种具有令人印象深刻的结果的方法:我们引用了最近的例子,表明形式化方法与形式化通知的数字设计相结合,客观上产生了更健壮的代码,甚至超出了直接证明的属性。尽管零日漏洞的发现几乎总是出乎意料,而且像语义模糊器这样的强大工具可以覆盖比开发人员想象的更大的漏洞搜索空间,但与传统开发的数字系统相比,正式模型似乎产生了更高质量秩序的鲁棒性。因为这种说法必然是定性的,我们用布尔网络形式的理想化编程语言来说明类似的结果,我们可以控制与稳定性和适应性相关的参数。我们认为,形式化方法的可验证性是促进鲁棒性的更广泛的设计约束的一个实例。我们将其与现实世界的编程模型和语言进行类比,这些模型和语言可以用数学方法进行推理,而不是那些本质上不可确定的模型和语言。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信