Verified Hardware/Software Co-Assurance: Enhancing Safety and Security for Critical Systems

Experienced developers of safety-critical and security-critical systems have long emphasized the importance of applying the highest degree of scrutiny to a system's I/O boundaries. From a safety perspective, input validation is a traditional "best practice." For security-critical arch...

Full description

Saved in:
Bibliographic Details
Published inAnnual IEEE Systems Conference pp. 1 - 6
Main Author Hardin, David S.
Format Conference Proceeding
LanguageEnglish
Published IEEE 24.08.2020
Subjects
Online AccessGet full text

Cover

Loading…
Abstract Experienced developers of safety-critical and security-critical systems have long emphasized the importance of applying the highest degree of scrutiny to a system's I/O boundaries. From a safety perspective, input validation is a traditional "best practice." For security-critical architecture and design, identification of the attack surface has emerged as a primary analysis technique. One of our current research focus areas concerns the identification of and mitigation against attacks along that surface, using mathematically-based tools. We are motivated in these efforts by emerging application areas, such as assured autonomy, that feature a high degree of network connectivity, require sophisticated algorithms and data structures, are subject to stringent accreditation/certification, and encourage hardware/software co-design approaches. We have conducted several experiments employing a state-of-the-art toolchain, due to Russinoff and O'Leary, and originally designed for use in floating-point hardware verification, to determine its suitability for the creation of safety-critical/security-critical input filters. We focus first on software implementation, but extending to hardware as well as hardware/software co-designs. We have implemented a high-assurance filter for JSON-formatted data used in an Unmanned Aerial Vehicle (UAV) application. Our JSON filter is built using a table-driven lexer/parser, supported by mathematically-proven lexer and parser table generation technology, as well as verified data structures. Filter behavior is expressed in a subset of Algorithmic C, which defines a set of C++ header files providing support for hardware design, including the peculiar bit widths utilized in that discipline, and enables compilation to both hardware and software platforms. The Russinoff-O'Leary Restricted Algorithmic C (RAC) toolchain translates Algorithmic C source to the Common Lisp subset supported by the ACL2 theorem prover; once in ACL2, filter behavior can be mathematically verified. We describe how we utilize RAC to translate our JSON filter to ACL2, present proofs of correctness for its associated data types, and describe validation and performance results obtained through the use of concrete test vectors.
AbstractList Experienced developers of safety-critical and security-critical systems have long emphasized the importance of applying the highest degree of scrutiny to a system's I/O boundaries. From a safety perspective, input validation is a traditional "best practice." For security-critical architecture and design, identification of the attack surface has emerged as a primary analysis technique. One of our current research focus areas concerns the identification of and mitigation against attacks along that surface, using mathematically-based tools. We are motivated in these efforts by emerging application areas, such as assured autonomy, that feature a high degree of network connectivity, require sophisticated algorithms and data structures, are subject to stringent accreditation/certification, and encourage hardware/software co-design approaches. We have conducted several experiments employing a state-of-the-art toolchain, due to Russinoff and O'Leary, and originally designed for use in floating-point hardware verification, to determine its suitability for the creation of safety-critical/security-critical input filters. We focus first on software implementation, but extending to hardware as well as hardware/software co-designs. We have implemented a high-assurance filter for JSON-formatted data used in an Unmanned Aerial Vehicle (UAV) application. Our JSON filter is built using a table-driven lexer/parser, supported by mathematically-proven lexer and parser table generation technology, as well as verified data structures. Filter behavior is expressed in a subset of Algorithmic C, which defines a set of C++ header files providing support for hardware design, including the peculiar bit widths utilized in that discipline, and enables compilation to both hardware and software platforms. The Russinoff-O'Leary Restricted Algorithmic C (RAC) toolchain translates Algorithmic C source to the Common Lisp subset supported by the ACL2 theorem prover; once in ACL2, filter behavior can be mathematically verified. We describe how we utilize RAC to translate our JSON filter to ACL2, present proofs of correctness for its associated data types, and describe validation and performance results obtained through the use of concrete test vectors.
Author Hardin, David S.
Author_xml – sequence: 1
  givenname: David S.
  surname: Hardin
  fullname: Hardin, David S.
  email: david.hardin@collins.com
  organization: Collins Aerospace,Trusted Systems Group
BookMark eNotkMFOwzAQRA0CCSj9Ai7-gbRrO7FjblVUKFIlDgEuHKqtswaj1kF2KtS_J4ie5s3laTQ37CL2kRjjAmZCgJ23x9z0sTTa2JkECTOralErccam1tTCyFpUSldwzq5laWRhdWmu2DTnLwAQWmhlxTV7f6MUfKCOrzB1P5ho3vZ--APe9MUi50PC6OieL-PnCCF-8BY9DUeOseMtuUMKY_F94s1IweGOj9MG2udbdulxl2l6ygl7fVi-NKti_fz41CzWRZCghqKr0KqqrgFcCa5zlUdjLXZGGK9rASWRqEwnSzRb5xCqLYL1mqj0xgn0asLu_r2BiDbfKewxHTenO9Qv7tJYkg
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/SysCon47679.2020.9381831
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
EISBN 9781728153650
1728153654
EISSN 2472-9647
EndPage 6
ExternalDocumentID 9381831
Genre orig-research
GrantInformation_xml – fundername: Advanced Research Projects Agency
  funderid: 10.13039/100009224
GroupedDBID 6IE
6IF
6IK
6IL
6IN
AAJGR
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
OCL
RIE
RIL
RNS
ID FETCH-LOGICAL-i203t-d5a9358800c40cdc5fa799ad717f68104ee157d24a7bcca05ba09f6ee4f7c1af3
IEDL.DBID RIE
IngestDate Wed Aug 27 02:45:38 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i203t-d5a9358800c40cdc5fa799ad717f68104ee157d24a7bcca05ba09f6ee4f7c1af3
PageCount 6
ParticipantIDs ieee_primary_9381831
PublicationCentury 2000
PublicationDate 2020-Aug.-24
PublicationDateYYYYMMDD 2020-08-24
PublicationDate_xml – month: 08
  year: 2020
  text: 2020-Aug.-24
  day: 24
PublicationDecade 2020
PublicationTitle Annual IEEE Systems Conference
PublicationTitleAbbrev SysCon
PublicationYear 2020
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0001616391
Score 1.781727
Snippet Experienced developers of safety-critical and security-critical systems have long emphasized the importance of applying the highest degree of scrutiny to a...
SourceID ieee
SourceType Publisher
StartPage 1
SubjectTerms Data structures
Filtering algorithms
Hardware
Safety
Software
Software algorithms
Unmanned aerial vehicles
Title Verified Hardware/Software Co-Assurance: Enhancing Safety and Security for Critical Systems
URI https://ieeexplore.ieee.org/document/9381831
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3NS8MwFA9zJ734sYnf5ODRbmmTtovXsTGEiVAnAw8jaV5UhFZmi8y_3peu21Q8eHsEAuE9yPv8_R4hlwxCDQrTEsENJijoZD0VSUxWekxby5Xk4ADO49toNBE303DaIFdrLAwAVMNn0HFi1cs3eVq6UllXOvfiQNNbmLgtsVqbekqEkYX0V8M6THaTxXs_z0QcxQ6QErBOff3HHpXKjQx3yXj1gOX0yGunLHQn_fzFzfjfF-6R9gawR-_WrmifNCA7IDvfuAZb5PEBBYsBJ3XN-g81h26CX7ATaD_30Eyl27EB13SQPTsSjuyJJspCsaAqMzSp99xRDHLpaj8CrfnO22QyHNz3R169WcF7CRgvPBMq1__EYDEVLDVpaFUspTKY21lHUCYA_DA2gVCxRhOzUCsmbQQgbJz6yvJD0szyDI5Q25FQOvW55RpQ10L7PA1MGGpjA9lj5pi0nJpmb0vyjFmtoZO_j0_JtjOVK9oG4ow0i3kJ5-j1C31RmfsLYUWuUg
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LTwIxEG4IHtSLDzC-7cGjC93ddpd6JRBUICaAIfFA2u1UjclicInBX-8UFlDjwdukh6aZSTrP7xtCLhkIDQrTEh4aTFDQyXoqkpis1Ji2NlQyBAdw7nSj1oDfDsWwQK5WWBgAmA-fQcWJ816-GSdTVyqrSudeHGh6A_2-8BdorXVFJcLYQvrLcR0mq73Ze32c8jiKHSQlYJX8gh-bVOaOpLlDOssnLOZHXivTTFeSz1_sjP994y4pryF79H7ljPZIAdJ9sv2NbbBEHh9QsBhyUteu_1ATqPbwE3YCrY89NNTUbdmAa9pInx0NR_pEe8pCNqMqNbSXb7qjGObS5YYEmjOel8mg2ejXW16-W8F7CViYeUYo1wHFcDHhLDGJsCqWUhnM7qyjKOMAvohNwFWs0chMaMWkjQC4jRNf2fCAFNNxCoeo7YgrnfihDTWgrrn2wyQwQmhjA1lj5oiUnJpGbwv6jFGuoeO_jy_IZqvfaY_aN927E7LlzOZKuAE_JcVsMoUzjAEyfT43_RemabGb
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Annual+IEEE+Systems+Conference&rft.atitle=Verified+Hardware%2FSoftware+Co-Assurance%3A+Enhancing+Safety+and+Security+for+Critical+Systems&rft.au=Hardin%2C+David+S.&rft.date=2020-08-24&rft.pub=IEEE&rft.eissn=2472-9647&rft.spage=1&rft.epage=6&rft_id=info:doi/10.1109%2FSysCon47679.2020.9381831&rft.externalDocID=9381831