Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Karta — IDA Python 플러그인으로, 바이너리에서 오픈소스 라이브러리 심볼을 빠르고 위치 기반으로 매칭하여 대규모 펌웨어 및 악성코드의 효율적인 리버스 엔지니어링과 취약점 분석을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/checkpointsw/karta
Static AnalysisVulnerability AnalysisReverse EngineeringBinary Analysis
GitHubcheckpointsw/karta

Karta

IDA Python 플러그인으로, 바이너리에서 오픈소스 라이브러리 심볼을 빠르고 위치 기반으로 매칭하여 대규모 펌웨어 및 악성코드의 효율적인 리버스 엔지니어링과 취약점 분석을 가능하게 합니다.

저장소 보기
9081064년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Build Status Docs Status

root@kitploit:~
 /$$   /$$                       /$$              
| $$  /$$/                      | $$              
| $$ /$$/   /$$$$$$   /$$$$$$  /$$$$$$    /$$$$$$ 
| $$$$$/   |____  $$ /$$__  $$|_  $$_/   |____  $$
| $$  $$    /$$$$$$$| $$  \__/  | $$      /$$$$$$$
| $$\  $$  /$$__  $$| $$        | $$ /$$ /$$__  $$
| $$ \  $$|  $$$$$$$| $$        |  $$$$/|  $$$$$$$
|__/  \__/ \_______/|__/         \___/   \_______/

목적

"Karta"(러시아어로 "지도")는 주어진 바이너리에서 오픈소스 라이브러리를 식별하고 매칭하는 IDA Python 플러그인입니다. 이 플러그인은 매우 큰 바이너리(>200,000개 함수)를 지원하면서도 전체 성능에 거의 영향을 주지 않는 독특한 기술을 사용합니다.

매칭 알고리즘은 위치 기반입니다. 즉, 서로 다른 컴파일된 파일을 찾고, 각 파일의 함수를 파일 내 원래 순서에 따라 매칭하는 데 중점을 둡니다. 이렇게 하면 매칭이 N(바이너리 크기) 대신 K(오픈소스 내 함수 수)에 의존하게 되어, 일반적으로 N >> K이므로 상당한 성능 향상을 얻을 수 있습니다.

이 IDA 플러그인에는 세 가지 주요 사용 사례가 있다고 생각합니다.

  1. 유용한 1-Day를 검색할 때 사용된 오픈소스(및 해당 버전) 목록 식별
  2. 지원되는 오픈소스의 심볼을 매칭하여 악성코드 리버스 엔지니어링 지원
  3. 지원되는 오픈소스의 심볼을 매칭하여 독점 코드에서 0-Day를 검색할 때 바이너리/펌웨어 리버스 엔지니어링 지원

Read The Docs

https://karta.readthedocs.io/

설치 (Python 3 & IDA >= 7.4)

최신 버전(Python 3 사용)의 경우, 저장소를 git clone하고 setup.py install 스크립트를 실행하기만 하면 됩니다. Python 3는 v2.0.0 이상에서 지원됩니다.

설치 (Python 2 & IDA < 7.4)

IDA 7.4 출시 이후, Karta는 IDA 7.4 이상 및 Python 3용으로만 활발히 개발되고 있습니다. Python 2 및 이전 IDA 버전은 v1.2.0 릴리스 버전을 사용하여 계속 지원되며, Python 2.X의 수명 종료로 인해 이 버전이 마지막 지원 버전이 될 가능성이 높습니다.

식별자

Karta의 식별자는 더 작은 플러그인으로, 바이너리 내에 존재하는(지원되는) 오픈소스 라이브러리의 존재를 식별하고 버전을 지문(fingerprint)으로 확인합니다. 동일한 오픈소스 라이브러리를 반복해서 리버스 엔지니어링할 필요 없이, 식별자 플러그인을 실행하기만 하면 사용된 오픈소스의 상세 목록을 얻을 수 있습니다. Karta는 현재 10개 이상의 오픈소스 라이브러리를 지원합니다:

  • OpenSSL
  • Libpng
  • Libjpeg
  • NetSNMP
  • zlib
  • 기타 등

매처

사용된 오픈소스를 식별한 후, 특정 라이브러리(예: libpng 버전 1.2.29)에 대한 .JSON 설정 파일을 컴파일할 수 있습니다. 컴파일이 완료되면 Karta는 로드된 바이너리에서 오픈소스의 함수(심볼)를 자동으로 매칭하려고 시도합니다. 또한, 오픈소스가 외부 함수(memcpy, fread, 또는 zlib_inflate)를 사용하는 경우 Karta는 이러한 외부 함수도 매칭하려고 시도합니다.

폴더 구조

  • src: 플러그인 소스 디렉토리
  • configs: 미리 제공된 *.JSON 설정 파일 (커뮤니티의 추가 기여를 기대합니다)
  • compilations: 설정 파일 생성을 위한 컴파일 팁 및 과거 오픈소스에서 얻은 교훈
  • docs: sphinx 문서 디렉토리

추가 자료

  • https://research.checkpoint.com/karta-matching-open-sources-in-binaries/
  • https://research.checkpoint.com/thumbs-up-using-machine-learning-to-improve-idas-analysis

크레딧

이 프로젝트는 Check Point의 연구 그룹(Check Point Research)의 도움과 지원을 받아 저(아래 연락처 참조)가 개발했습니다.

연락처 (업데이트됨)

이 저장소는 제가 Check Point Research에서 근무하는 동안 저( Eyal Itkin)가 개발하고 유지 관리했습니다. 안타깝게도 연구 그룹을 떠나면서 이 저장소를 더 이상 유지 관리할 수 없게 되었습니다. 주된 이유는 모든 회귀 테스트를 실행하기 위한 많은 요구 사항과 관련된 IDA Pro 버전 때문입니다.

진심으로 사과드립니다.

@EyalItkin

도구 다운로드