Cryptoguard: High precision detection of cryptographic vulnerabilities in massive-sized Java projects
정보
Keywords
- Cryptographic API misuses
- 오탐/미탐
- 정적 분석
- Java
배경
- 암호화 API 오용은 소프트웨어 보안을 위혐함
- 또한 자동으로 대규모의 프로그램들에서 암호화 API 오용을 탐지하고 있음
- 하지만 분석 성능과 타협하지 않으면서 오탐을 줄이는 것은 어려움
목표
- 암호화 및 SSL/TLS API 오용을 탐지하는 분석 알고리즘들을 설계하고 구현함
- 다양한 Apache 프로젝트 및 안드로이드 어플리케이션에서 탐지 성능을 확인해 봄
- 테스트 해 볼 수 있는 성능확인용 테스트 케이스를 만듦
방법론
- CryptoGuard: 언어별로 상관 없는 요소들을 탐지하는 알고리즘들을 활용하는 도구
- 정적 def-use 분석과 순방향 및 역방향으로 program slicings를 적용함
- 각 program slice에서 취약점을 탐지함
- 취약점마다 slicing 방법이 다름(Table 1)
결과
- 46개의 중요한 Apache 프로젝트와 6181개의 안드로이드 앱에서 많은 보안 insight를 생성함
- 1295개의 Apache 경고를 수동으로 분석하여 1277개(98.61%)가 정탐임을 확인함