
Karonte는 임베디드 펌웨어에서 다중 바이너리 취약점을 탐지하는 정적 분석 도구입니다.
Karonte는 임베디드 펌웨어에서 멀티 바이너리 취약점을 탐지하는 정적 분석 도구입니다.
master 브랜치는 Karonte의 최신 버전으로, Python 3로 포팅되었습니다. 원래 구현 및 논문에 제시된 실험을 보려면 IEEE-SP-20 브랜치를 확인하고 도커 컨테이너를 참조하십시오.
본 저희는 접근 방식과 이 작업의 결과를 다음 연구 논문에서 제시합니다:
KARONTE: Detecting Insecure Multi-binary Interactions in Embedded Firmware [PDF] Nilo Redini, Aravind Machiry, Ruoyu Wang, Chad Spensky, Andrea Continella, Yan Shoshitaishvili, Christopher Kruegel, Giovanni Vigna. In Proceedings of the IEEE Symposium on Security & Privacy (S&P), May 2020
과학 출판물에 Karonte를 사용하는 경우, 다음 Bibtex 항목을 인용해 주시면 감사하겠습니다:
@inproceedings{redini_karonte_20,
author = {Nilo Redini and Aravind Machiry and Ruoyu Wang and Chad Spensky and Andrea Continella and Yan Shoshitaishvili and Christopher Kruegel and Giovanni Vigna},
booktitle = {In Proceedings of the IEEE Symposium on Security & Privacy (S&P)},
month = {May},
title = {KARONTE: Detecting Insecure Multi-binary Interactions in Embedded Firmware},
year = {2020}
}
네 개의 주요 디렉토리가 있습니다:
Karonte를 실행하려면, 루트 디렉토리에서 다음을 실행하십시오:
SYNOPSIS python tool/karonte.py JSON_CONFIG_FILE [LOG_NAME]
DESCRIPTION JSON_CONFIG_FILE로 표시되는 펌웨어 샘플에서 Karonte를 실행하고 결과를 LOG_NAME에 저장합니다.
EXAMPLE python tool/karonte.py config/NETGEAR/r_7800.json R7800 NETGEAR 펌웨어에서 Karonte를 실행합니다.
기본적으로 결과는 **/tmp/**에 접미사 Karonte.txt로 저장됩니다.
생성된 알림을 확인하려면 다음을 실행하십시오:
python tool/pretty_print.py LOG_NAME
Karonte를 평가하는 데 사용한 데이터셋은 이 링크에서 얻을 수 있습니다.