apisan
1.0.0
Apisan은 수동 노력없이 소스 코드에서 API 사용을 자동으로 유추하는 도구입니다. Apisan의 주요 아이디어는 의미 론적 제약을 고려하여 네 가지 측면 (예 : 인과 관계 및 인수의 의미 적 관계)에서 올바른 사용 패턴을 추출하는 것입니다. Apisan은 보안에 영향을 미치는 다양한 속성을 확인하도록 조정되었습니다. 우리는 Linux 커널을 포함하여 Apisan을 9,200 만 줄의 코드에 적용했으며 OpenSSL은 이전에 알려지지 않은 버그 76 개를 발견했으며 모든 버그에 대한 패치를 제공했습니다.
이 저장소에는 분석 도구 및 LLVM이 있습니다. LLVM 관련 파일은 자체 라이센스 (License.LLVM)를 따르고 MIT 라이센스의 조건에 따라 분석 도구가 제공됩니다.
$ ./setup.sh $ apisan build [cmds] $ apisan build ./configure
$ apisan build make $ apisan check --db=[db] --checker=[checker] $ cd test/return-value
$ ../../apisan build make
$ ../../apisan check --checker=rvchk @inproceedings{yun:apisan,
title = {{APISan: Sanitizing API Usages through Semantic Cross-checking}},
author = {Insu Yun and Changwoo Min and Xujie Si and Yeongjin Jang and Taesoo Kim and Mayur Naik},
booktitle = {Proceedings of the 25th USENIX Security Symposium (Security)},
month = aug,
year = 2016,
address = {Austin, TX},
}