{"id":734818,"date":"2021-05-03T10:09:05","date_gmt":"2021-05-03T17:09:05","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?p=734818"},"modified":"2022-05-19T11:28:32","modified_gmt":"2022-05-19T18:28:32","slug":"everparse-hardening-critical-attack-surfaces-with-formally-proven-message-parsers","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/everparse-hardening-critical-attack-surfaces-with-formally-proven-message-parsers\/","title":{"rendered":"EverParse: Hardening critical attack surfaces with formally proven message parsers"},"content":{"rendered":"\n
\"An serialize (parse msg) = msg\u200b.\u201d The F* logo appears with the description that F* is a type theory\u2013based programming language and proof assistant that can prove theorems about programs\u200b. From the \u201cF* code\u201d rectangle, arrows point from the \u201clow-level implementation\u201d rectangle and a rectangle labeled \u201cverified libraries for combinators\u201d to a rectangle labeled \u201cSafe high-performanc\"\/><\/figure>\n\n\n\n

EverParse<\/em><\/a> is a framework for generating provably secure parsers and formatters used to improve the security of critical code bases at Microsoft. EverParse is developed as part of <\/em>Project Everest<\/em><\/a>, a collaboration between Microsoft Research labs in <\/em>Redmond, Washington<\/em><\/a>; <\/em>India<\/em><\/a>; and <\/em>Cambridge, United Kingdom<\/em><\/a>; <\/em>the Microsoft Research-Inria Joint Centre<\/em><\/a>; <\/em>Inria<\/em><\/a>; <\/em>Carnegie Mellon University<\/em><\/a>; and several other open-source contributors. The Everest team has produced several formally proven software components, including the <\/em>EverCrypt<\/em><\/a> cryptographic provider and verified implementations of the <\/em>TLS 1.3<\/em><\/a> record layer, the <\/em>QUIC<\/em><\/a> record layer, the <\/em>Signal<\/em><\/a> messaging protocol, and the <\/em>DICE<\/em><\/a> measured boot protocol. This is the fourth blog post in a series about Project Everest.<\/em><\/p>\n\n\n\n\n\n