Published September 7, 2023 | Version v1

Securing Your Crypto-API Usage Through Tool Support - A Usability Study

  • 1. Independent
  • 2. Technische Universität Darmstadt
  • 3. University of Alberta
  • 4. University of Paderborn
  • 5. CISPA Helmholtz-Center for Information Security

Description

Developing secure software is essential for protecting passwords and other sensitive data. Despite the abundance of cryptographic libraries available to developers, prior work has shown that developers often unknowingly misuse the provided Application Programming Interfaces (APIs), resulting in serious security vulnerabilities. Eclipse CogniCrypt is an IDE plugin that aims at helping developers use cryptographic APIs more easily and securely by providing three main functionalities: (1) it provides a use-case oriented view of cryptographic APIs and guides the developer through their configuration, (2) it generates the code needed to accomplish the chosen use case based on the selected choices, and (3) it continuously analyzes the developer’s code to ensure that no API misuses are introduced later. However, so far the effectiveness of CogniCrypt was never empirically evaluated. In this work, we fill this gap through a controlled experiment with 24 Java developers. We evaluate the tool’s effectiveness in reducing API misuses and saving developer time. The results show that CogniCrypt significantly improves code security and also speeds up development for cryptograph-related tasks. The feedback received during the study suggests that developers particularly appreciate CogniCrypt’s code generation. Its static-analysis is valued for keeping the code up-to-date. Yet, the further integration of generated code into a developer’s project still presents a major challenge. Nonetheless, our results show that CogniCrypt effectively helps application developers produce more secure code.

Files

Stub_ENC.zip

Files (264.8 kB)

Name Size Download all
md5:c390a79889539c7b066b729e7f99519d
15.7 kB Download
md5:f6719ef79aa1bc135c9985e58717b59c
17.7 kB Download
md5:f69ef59810145f2135a82cbe4ab4488c
20.8 kB Download
md5:730d10aedb8af4e7e7df3b1f37cb1ce3
12.5 kB Download
md5:0d8691e3c25611a03b637954be8c87c1
13.0 kB Download
md5:2dc0d3a7c148cb04e0bf945ea7ed5ba0
4.4 kB Preview Download
md5:926675a14b2049f21b40a855030b75d7
5.2 kB Preview Download
md5:b1440b6857577267e738b01e16cbe93e
678 Bytes Preview Download
md5:d75e70fcd32cd3f3d615b21070f10e72
742 Bytes Preview Download
md5:13d20628e00b49a8efc918ec4a19bb87
12.6 kB Download
md5:42e9abde89b29765dc9041a3d2a32446
161.6 kB Preview Download