Bytecodedl
CodeQL과 같은 JVM Bytecode 기반 Datalog에 대한 선언적 정적 분석 도구
왜 Bytecodedl
Bytecodedl이라는 이름은 codeql에서 진화했습니다. 바이트 코드는 코드에 해당하고 DL은 QL에 해당합니다. CodeQL이 바이트 코드를 직접 분석 할 수 없다는 후회를 보완하는 선언적 정적 분석 도구입니다.
이 프로젝트에는 두 가지 주요 목적이 있습니다.
- 교육 목적은 정적 분석을 시작하는 데 도움이됩니다. 이 프로젝트는 Datalog를 통해 일부 정적 분석 알고리즘을 구현하는 방법을 보여줍니다. 명령 적 정적 분석과 비교할 때이 방법은 훨씬 간단합니다. 기본 원칙을 배운 후에는 규칙을 직접 DIY 할 수도 있습니다.
- 파기의 효율성을 향상시키기 위해 보안 연구원은 일반적으로 소스 코드를 얻을 수 없습니다. 대부분의 경우 JAR 패키지 만 분석 한 다음 아이디어를 통해 소환 된 코드를 볼 수 있습니다. 효율은 비교적 낮습니다. BytecodEdl이 제공하는 검색 기능, 전화 그래프 분석 기능 및 얼룩 분석 기능이 보안 연구원을위한 파기 효율을 향상시킬 수 있기를 바랍니다.
설치하다
- Soot-Fact-Generator.jar를 다운로드하거나 빌드하십시오
- 수플레를 설치하십시오
- Neo4J를 설치하십시오
도커
Docker-Compose.yml처럼 만든 Docker를 사용할 수 있습니다
특징
용법
문서 폴더를 참조하십시오
지원하다
사용 중에 발생하는 문제는 수행 할 수 있습니다
우리를 피드백하는 세 가지 방법
플러그인
- 아이디어
- Bytecodedl 도우미 bdlh
- Datalog Language Plugin Intellij-Datalog
승인
- Nanyang University의 두 교사 Li Yue와 Tan Tian 덕분에 그들이 제공 한 프로그램 분석 과정을 통해 정적 분석 분야를 소개했습니다.
- DOOP 덕분에 Soot-Fact-Generator.jar가 제공됩니다.