Exposing Library API Misuses via Mutation Analysis
정보
- 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
- 2019년 5월
- https://doi.org/10.1109/ICSE.2019.00093
Keywords
- Library API 오용
- Mutation 분석
배경
- Library API 오용은 소프트웨어에 crash 및 취약점을 야기할 수 있음
- 다양한 정적 분석 도구들이 Library API 오용을 탐지하는 것을 제안해 왔지만, 실제로 이를 적용하기에는 무리가 있음
목표
- 높은 정확도로 API 오용을 탐지할 수 있는 도구를 개발하고자 함
- API 오용 패턴을 발견할 수 있는가?
- MuBench에서 API 오용을 탐지할 수 있는가?
- 기존 mutation 기법과 비교해서 얼마나 더 효과적이고 효율적인지?
방법론
- API 오용 패턴에 대한 발견이 있음
- API 오용은 올바른 용법의 mutant로 표현할 수 있음
- mutant가 오용인지 아닌지는 실행하고 그 결과를 분석해 봄으로써 검증할 수 있음
- 각 mutant에 대하여 client 프로젝트의 테스트 케이스로 실행시켜 보고 killing relations(테스트 실패한 mutant 및 test case)를 수집
- 위의 발견을 기반으로 MutAPI 도구를 제안함
결과
- 16개의 프로젝트에서 73개의 유명 JAVA API를 대상으로 0.78의 오용 패턴을 발견할 수 있었음 (상위 50개의 mutant 후보에 대하여)
- MuBench에서 53개의 진짜 오용 중 26개를 탐지함
결론
- 많은 수의 API 사용 예제를 필요로 하지 않음
- "빈번한 패턴에서 벗어난 것은 오용이다"라는 가정에서 더 나아감
*궁금점
- test suite에 상당히 의존하는 구조인데, 1) 이는 신뢰할 수 있는 것이며, 2) test suite가 이를 못잡는 경우는 어떻게 해결했는지?
'0x60 Study > 0x61 Paper' 카테고리의 다른 글
CryptoLint: 안드로이드 어플리케이션에서 암호화 오용에 대한 경험적 연구 (0) | 2023.01.06 |
---|---|
Cryptoguard: 대규모 Java 프로젝트에서 높은 정확도로 암호화 취약점 탐지하기 (0) | 2023.01.06 |
CRYPTOREX: IoT 장치에서 암호화 오용에 대한 대규모 분석 (0) | 2023.01.05 |
CryptoGo: Go 암호 API 오용 자동 탐지 (0) | 2022.12.23 |