Projects per year
We introduce an approach for uncovering cryptographic misuse in iOS applications. We present a way to decompile 64-bit ARM binaries to their LLVM intermediate representation (IR). Based on the reverse-engineered code, static program slicing is applied to determine the data flow in relevant code segments. For this analysis to be most accurate, we propose an adapted version of Andersen's pointer analysis, capable of handling decompiled LLVM IR code with type information recovered from the binary. To finally highlight the improper usage of cryptographic APIs, a set of predefined security rules is checked against the extracted execution paths. As a result, we are not only able to confirm the existence of problematic statements in iOS applications but can also pinpoint their origin.
To evaluate the applicability of our solution and to disclose possible weaknesses, we conducted a manual and automated inspection on a set of iOS applications that include cryptographic functionality. We found that 343 out of 417 applications (82%) are subject to at least one security misconception. Among the most common flaws are the usage of non-random initialization vectors and constant encryption keys as input to cryptographic primitives.
|Title of host publication||Proceedings of the 11th ACM Conference on Security & Privacy in Wireless and Mobile Networks|
|Place of Publication||New York|
|Publisher||Association of Computing Machinery|
|Number of pages||12|
|Publication status||Published - 2018|
|Event||ACM Conference on Security and Privacy in Wireless and Mobile Networks - Stockholm, Sweden|
Duration: 18 Jun 2018 → 20 Jun 2018
|Conference||ACM Conference on Security and Privacy in Wireless and Mobile Networks|
|Period||18/06/18 → 20/06/18|
- Reverse Engineering
- Program Analysis
- Cryptographic Misuse
FingerprintDive into the research topics of 'Automated Binary Analysis on iOS - A Case Study on Cryptographic Misuse in iOS Applications'. Together they form a unique fingerprint.
- 1 Active
Stranacher, K., Dominikus, S., Leitold, H., Marsalek, A., Teufl, P., Bauer, W., Aigner, M. J., Rössler, T., Neuherz, E., Dietrich, K., Zefferer, T., Mangard, S., Payer, U., Orthacker, C., Lipp, P., Reiter, A., Knall, T., Bratko, H., Bonato, M., Suzic, B., Zwattendorfer, B., Kreuzhuber, S., Oswald, M. E., Tauber, A., Posch, R., Bratko, D., Feichtner, J., Ivkovic, M., Reimair, F., Wolkerstorfer, J. & Scheibelhofer, K.
21/05/99 → 6/08/20
Project: Research area