ASN1☆: Provably Correct Non-malleable Parsing for ASN.1 DER

被引:2
|
作者
Ni, Haobin [1 ]
Delignat-Lavaud, Antoine [2 ]
Fournet, Cedric [2 ]
Ramananandro, Tahina [2 ]
Swamy, Nikhil [2 ]
机构
[1] Cornell Univ, Ithaca, NY USA
[2] Microsoft Res, Cambridge, England
来源
PROCEEDINGS OF THE 12TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, CPP 2023 | 2023年
关键词
Formal verification; Parsing; Domain-specific Language; ASN.1;
D O I
10.1145/3573105.3575684
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Syntax Notation One (ASN.1) is a language for structured data exchange between computers, standardized by both ITU-T and ISO/IEC since 1984. The Distinguished Encoding Rules (DER) specify its non-malleable binary format: for a given ASN.1 data type, every value has a distinct, unique binary representation. ASN.1 DER is used in many security-critical interfaces for telecommunications and networking, such as the X.509 public key infrastructure, where non-malleability is essential. However, due to the expressiveness and flexibility of the general-purpose ASN.1 language, correctly parsing ASN.1 DER data formats is still considered a serious security challenge in practice. We present ASN1(star), the first formalization of ASN.1 DER with a mechanized proof of non-malleability. Our development provides a shallow embedding of ASN.1 in the F-star proof assistant and formalizes its DER semantics within the EverParse parser generator framework. It guarantees that any ASN.1 data encoded using our DER semantics is non-malleable. It yields verified code that parses valid binary representations into values of the corresponding ASN.1 data type while rejecting invalid ones. We empirically confirm that our semantics models ASN.1 DER usage in practice by evaluating ASN1(star) parsers extracted to OCaml on both positive and negative test cases involving X.509 certificates and Certificate Revocation Lists (CRLs).
引用
收藏
页码:275 / 289
页数:15
相关论文
共 50 条
  • [1] ASN.1 application in parsing ISUP PDUs
    Hu Qiang
    Zou Xue-cheng
    Sun Shi-min
    2006 INTERNATIONAL SYMPOSIUM ON COMMUNICATIONS AND INFORMATION TECHNOLOGIES,VOLS 1-3, 2006, : 946 - +
  • [2] ASN_EZE: An analgesic for writers of ASN.1 applications
    Gardiner, CW
    SOFTWARE-PRACTICE & EXPERIENCE, 1996, 26 (10): : 1087 - 1096
  • [3] HIGH-PERFORMANCE ASN1 COMPILER
    SAMPLE, M
    NEUFELD, G
    COMPUTER COMMUNICATIONS, 1994, 17 (03) : 156 - 171
  • [4] The conversion between ASN.1 and XML
    Dong, WL
    Meng, LM
    Qiu, XS
    ICCC2004: Proceedings of the 16th International Conference on Computer Communication Vol 1and 2, 2004, : 1020 - 1024
  • [5] ASN.1的应用开发
    刘宇红
    白伟
    庞伟正
    应用科技, 2003, (11) : 28 - 30
  • [6] Implementation and evaluation of ASN.1 compiler
    Hasegawa, Toru
    Nomura, Shingo
    Kato, Toshihiko
    Journal of information processing, 1992, 15 (02) : 158 - 167
  • [7] Mapping between ASN.1 and XML
    Imamura, T
    Maruyama, H
    2001 SYMPOSIUM ON APPLICATIONS AND THE INTERNET, PROCEEDINGS, 2001, : 57 - 64
  • [8] AN ARCHITECTURE FOR AN ASN.1 ENCODER DECODER
    CANESCHI, F
    MERELLI, E
    COMPUTER NETWORKS AND ISDN SYSTEMS, 1987, 14 (2-5): : 297 - 303
  • [9] Mapping between ASN.1 and XML
    Imamura, T.
    Maruyama, H.
    Proceedings - 2001 Symposium on Applications and the Internet, SAINT 2001, 2001, : 57 - 64
  • [10] EASN: Integrating ASN.1 and model checking
    Shanbhag, VK
    Gopinath, K
    Turunen, M
    Ahtiainen, A
    Luukkainen, M
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2001, 2102 : 382 - 386