Award Abstract # 1657124
CRII: SaTC: A Principled Approach Aiding the Development of a Compliant Internet PKI

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: THE UNIVERSITY OF IOWA
Initial Amendment Date: January 25, 2017
Latest Amendment Date: January 25, 2017
Award Number: 1657124
Award Instrument: Standard Grant
Program Manager: Phillip Regalia
pregalia@nsf.gov
 (703)292-2981
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: June 1, 2017
End Date: August 31, 2020 (Estimated)
Total Intended Award Amount: $174,958.00
Total Awarded Amount to Date: $174,958.00
Funds Obligated to Date: FY 2017 = $174,958.00
History of Investigator:
  • Omar Haider Chowdhury (Principal Investigator)
    omar@cs.stonybrook.edu
Recipient Sponsored Research Office: University of Iowa
105 JESSUP HALL
IOWA CITY
IA  US  52242-1316
(319)335-2123
Sponsor Congressional District: 01
Primary Place of Performance: University of Iowa
14 MacLean Hall
Iowa city
IA  US  52242-1419
Primary Place of Performance
Congressional District:
01
Unique Entity Identifier (UEI): Z1H9VJS8NG16
Parent UEI:
NSF Program(s): CRII CISE Research Initiation
Primary Program Source: 01001718DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 025Z, 8228
Program Element Code(s): 026Y00
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Transport layer security (TLS) and secure socket layer (SSL) protocols aim to establish a secure channel with confidentiality and integrity guarantees over an insecure network. SSL/TLS is currently being used to protect a large number of servers and websites including banks, file servers, and social networks. In fact, 37% of North America's network traffic is now protected by SSL/TLS. To avoid impersonation attacks in SSL/TLS, users initiating an SSL/TLS communication are recommended to authenticate their communication peer to ensure they are interacting with the intended party and not an impostor. The X.509 public-key infrastructure (PKI) compensates for the Internet's inherent lack of trust by providing a cryptography-backed authentication framework in which entities are organized hierarchically based on trust, and each entity can obtain a certificate confirming its identity. While there is open-source software that implements the X.509 prescribed authentication checks, bugs in this software can leave users vulnerable to impersonation attacks. The X.509 open-source standard implementations, unlike SSL/TLS, have escaped rigorous security evaluations despite the fact that the security of SSL/TLS critically hinges on a correct X.509 implementation. This project seeks to reduce the attack surface of SSL/TLS and other applications that use X.509 as the authentication provider by developing an automatic technique for detecting logical bugs in X.509 implementations.

This project will take advantage of the insight that a given X.509 implementation partitions the certificate input universe into accepting (certificates considered valid by the implementation) and rejecting (certificates considered invalid) universes. One can use symbolic execution to automatically extract an approximation of the two universes from a given X.509 implementation and represent them with logical formulas. The project then aims to precisely capture the X.509 standard specification in some formal logic and also develop a reference implementation of the X.509 standard. To prove the compliance of the reference implementation against the formal specification, the research will leverage a combination of model checking and deductive verification techniques. With the provably correct reference implementation, say R, at hand, it will be possible to detect logical bugs and inconsistencies in a given X.509 implementation, T, by checking whether T deviates from R. Deviations will be efficiently calculated by comparing the certificate universes of R and T. In addition to its research impact, the techniques and research findings of this project will have a positive impact on the training of the future generation of computer security professionals.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Chau, Sze Yiu and Wang, Bincheng and Wang, Jianxiong and Chowdhury, Omar and Kate, Aniket and Li, Ninghui "Why Johnny Can't Make Money With His Contents: Pitfalls of Designing and Implementing Content Delivery Apps" 2018 Annual Computer Security Applications Conference (ACSAC ?18) , 2018 10.1145/3274694.3274752 Citation Details
Chau, Sze Yiu and Yahyazadeh, Moosa and Chowdhury, Omar and Kate, Aniket and Li, Ninghui "Analyzing Semantic Correctness with Symbolic Execution: A Case Study on PKCS#1 v1.5 Signature Verification" Network and Distributed Systems Security (NDSS) Symposium 2019 , 2019 10.14722/ndss.2019.23430 Citation Details
Debnath, Joyanta and Chau, Sze Yiu and Chowdhury, Omar "When TLS Meets Proxy on Mobile" Lecture notes in computer science , v.12147 , 2020 https://doi.org/https://doi.org/10.1007/978-3-030-57808-4 Citation Details
Hussain, S and Chowdhury, O and Mehnaz, S and Bertino, E. "LTEInspector: A Systematic Approach for Adversarial Testing of 4G LTE" Network and Distributed Systems Security (NDSS) Symposium 2018 , 2018 Citation Details
Hussain, Syed Rafiul and Echeverria, Mitziu and Chowdhury, Omar and Li, Ninghui and Bertino, Elisa "Privacy Attacks to the 4G and 5G Cellular Paging Protocols Using Side Channel Information" Network and Distributed Systems Security (NDSS) Symposium2019 , 2019 10.14722/ndss.2019.23442 Citation Details
Hussain, Syed Rafiul and Echeverria, Mitziu and Karim, Imtiaz and Chowdhury, Omar and Bertino, Elisa "5GReasoner: A Property-Directed Security and Privacy Analysis Framework for 5G Cellular Network Protocol" ACM SIGSAC Conference on Computer and Communications Security , 2019 10.1145/3319535.3354263 Citation Details
Hussain, Syed Rafiul and Echeverria, Mitziu and Singla, Ankush and Chowdhury, Omar and Bertino, Elisa "Insecure connection bootstrapping in cellular networks: the root of all evil" 12th ACMConference on Security and Privacy in Wireless and MobileNetworks(WiSec?19) , 2019 10.1145/3317549.3323402 Citation Details
Yahyazadeh, Moosa and Podder, Proyash and Hoque, Endadul and Chowdhury, Omar "Expat: Expectation-based Policy Analysis and Enforcement for Appified Smart-Home Platforms" ACM Symposium on Access Control Models and Technologies , 2019 10.1145/3322431.3325107 Citation Details

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

This project focused on developing an automatic testing approach for checking compliance of an X.509 Public Key Infrastructure (PKI)  implementation with RFC 5280. The tools and foundational techniques developed in this project can identify noncompliances during the early development stage of implementation. This way, it is possible to avoid the security repercussions of non-compliance during deployment. The testing approach comprises of two logical components: (a) a testing approach that can find behavioral deviations of two different X.509 implementations using symbolic execution; (b) a reference implementation that faithfully follows the requirements of RFC 5280. For testing the compliance of a given implementation s, one would use component (a) to test the deviations between s and the reference implementation developed in (b).  

In this project, as part of component (a) mentioned above, we developed an open-source tool to generate a custom certificate chain containing concrete and symbolic values, called SymCert. The next component of (a) then uses such SymCerts for symbolically executing an implementation under test for approximating the logic. The final component of (a) uses a satisfiability modulo theory (SMT) solver to compare the extracted logic of two different implementations. Our evaluation demonstrates that this approach can recognize differences between implementations that are hard for fuzzing based techniques to discover. Additionally, for testing the PKCS#1 v1.5 signature verification checks, performed as part of certificate chain validation, we developed an automatic, custom tool that uses a two-stage search combining brute-force and symbolic execution. This tool includes a constraint provenance tracker (CPT) that keeps track of the source code fragment that contributed to a particular constraint during symbolic execution. The evaluation of these tools with real open-source cryptographic libraries have discovered real vulnerabilities and noncompliances that have been fixed by the stakeholders.  

For component (b), dubbed CERES, the project takes a different approach than a typical workflow used for developing a formally verified implementation. In CERES, we use the novel notion of executable specification, which allows a custom interpreter to execute the specification directly and consequently giving us a reference implementation with little to no cost. We observed that it is possible to develop such an executable specification for X.509 standard. Such a specification is feasible due to the partitioning of the specification into syntactic and semantic rules. For capturing the syntactic requirements of an X.509 certificate according to RFC 5280, we use a restricted fragment of the attribute grammar. This identified fragment of attribute grammar induces efficient parsers that do not require backtracking. For capturing semantic restrictions, we observed that a quantifier-free first-order logic (QF-FOL) fragment is sufficient. An SMT solver can thus check semantic requirements expressed in this QF-FOL fragment. Using an SMT solver for checking semantic requirements has the following benefits: (I) it is possible to check the absence of conflicting requirements; (II) the SMT solver can provide the causes and proof of non-compliance; (III) one can easily extend the semantic requirements to add newer requirements with little cost. An empirical evaluation comparing CERES and other open-source cryptographic libraries show that CERES is more restrictive while generating rich diagnostic information of non-compliance.

Along with the aforementioned technical innovations and open-source tools, the project has enabled and inspired the PI to pursue the relevant area of the practical deployment challenges of a PKI. In the context of SSL/TLS, we developed testing platforms that can check whether a mobile app or data-saving-web-browser faithfully establishes an SSL/TLS connection in the presence of a proxy. Our testing platforms revealed severe weaknesses of the mobile data-saving-web-browsers that can jeopardize user's security and privacy. Also, this project has supported the development of cellular network protocol testers like LTEInspector and 5GReasoner. These two tools have helped us discover real vulnerabilities in the cellular network protocols and have induced changes to the protocol standard.   

This project has helped the PI train three different students in the early stages of their Ph.D. careers, among which one of them is under-represented. The tools and techniques developed in this project have contributed materials to the curriculum of an advanced topic on security and privacy course taught by the PI. The results of this project have been disseminated in research manuscripts published in top-tier security venues. All the software artifacts will be available with open-source licenses from the PI's institutional webpage: https://homepage.divms.uiowa.edu/~comarhaider/NSFPKI/index.html


Last Modified: 12/30/2020
Modified by: Omar Haider Chowdhury

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page