Cerberus: Query-driven Scalable Vulnerability Detection in OAuth Service Provider Implementations
arXiv:2110.01005 · doi:10.1145/3548606.3559381
Abstract
OAuth protocols have been widely adopted to simplify user authentication and service authorization for third-party applications. However, little effort has been devoted to automatically checking the security of the libraries that service providers widely use. In this paper, we formalize the OAuth specifications and security best practices, and design Cerberus, an automated static analyzer, to find logical flaws and identify vulnerabilities in the implementation of OAuth service provider libraries. To efficiently detect security violations in a large codebase of service provider implementation, Cerberus employs a query-driven algorithm for answering queries about OAuth specifications. We demonstrate the effectiveness of Cerberus by evaluating it on datasets of popular OAuth libraries with millions of downloads. Among these high-profile libraries, Cerberus has identified 47 vulnerabilities from ten classes of logical flaws, 24 of which were previously unknown. We got acknowledged by the developers of eight libraries and had three accepted CVEs.
arXiv commentAppeared in ACM Conference on Computer and Communications Security (CCS 2022). Please cite the conference version
References in corpus (5)
- I know what leaked in your pocket: uncovering privacy leaks on Android Apps with Static Taint Analysis
- CryptoGuard: High Precision Detection of Cryptographic Vulnerabilities in Massive-sized Java Projects
- WPSE: Fortifying Web Protocols via Browser-Side Security Monitoring
- Automated Detection of GDPR Disclosure Requirements in Privacy Policies using Deep Active Learning
- Bulwark: Holistic and Verified Security Monitoring of Web Protocols