bulk_extractor
는 고성능 디지털 포렌식 활용 도구입니다. 모든 종류의 입력(디스크 이미지, 파일, 파일 디렉터리 등)을 신속하게 스캔하고 파일 시스템을 구문 분석하지 않고 이메일 주소, 신용 카드 번호, JPEG 및 JSON 스니펫과 같은 구조화된 정보를 추출하는 "증거 얻기" 버튼입니다. 파일 시스템 구조. 결과는 쉽게 검사, 검색하거나 다른 포렌식 처리를 위한 입력으로 사용할 수 있는 텍스트 파일에 저장됩니다. 또한, Bulk_extractor는 Google 검색어, 이메일 주소 등 발견한 특정 유형의 기능에 대한 히스토그램을 생성합니다. 이전 연구에서 이러한 히스토그램은 수사 및 법 집행 애플리케이션에 특히 유용하다는 것이 밝혀졌습니다.
다른 디지털 포렌식 도구와 달리 bulk_extractor
데이터의 모든 바이트를 조사하여 압축을 풀거나 디코딩할 수 있는 시퀀스의 시작인지 확인합니다. 그렇다면 디코딩된 데이터를 재귀적으로 재검사합니다. 결과적으로, bulk_extractor
기존 조각 도구가 놓친 BASE64로 인코딩된 JPEG 및 압축된 JSON 개체와 같은 항목을 찾을 수 있습니다.
이것은 bulk_extractor
2.1 개발 브랜치입니다! 신뢰할 수 있지만 잘 테스트된 프로덕션 품질 릴리스를 원한다면 https://github.com/simsong/bulk_extractor/releases에서 릴리스를 다운로드하세요.
bulk_extractor
구축 소스에서 빌드하는 것이 좋습니다. 깨끗한 가상 머신을 구성하는 etc/
디렉토리에 여러 bash
스크립트를 제공합니다.
git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git
./bootstrap.sh
./configure
make
make install
패키지 설치 및 Bulk_extractor 빌드에 대한 자세한 지침은 여기 위키 페이지(https://github.com/simsong/bulk_extractor/wiki/Installing-bulk_extractor)를 참조하세요.
Bulk_extractor에 대한 자세한 내용을 보려면 https://forensics.wiki/bulk_extractor를 방문하세요.
이번 대량 추출기 릴리스에는 C++17이 필요하며 다음 플랫폼에서 컴파일되도록 테스트되었습니다.
항상 새로운 VM으로 시작하고 etc/
디렉터리에 있는 적절한 준비 스크립트를 사용하여 시스템을 준비해야 합니다.
과학 논문을 작성하고 대량 추출기를 사용하는 경우 다음과 같이 인용해 주세요.
Garfinkel, Simson, 대량 데이터 분석 및 대량 추출기를 사용한 디지털 미디어 분류. 컴퓨터와 보안 32: 56-72 (2013)
@article{10.5555/2748150.2748581,
author = {Garfinkel, Simson L.},
title = {Digital Media Triage with Bulk Data Analysis and Bulk_extractor},
year = {2013},
issue_date = {February 2013},
publisher = {Elsevier Advanced Technology Publications},
address = {GBR},
volume = {32},
number = {C},
issn = {0167-4048},
journal = {Comput. Secur.},
month = feb,
pages = {56–72},
numpages = {17},
keywords = {Digital forensics, Bulk data analysis, bulk_extractor, Stream-based forensics, Windows hibernation files, Parallelized forensic analysis, Optimistic decompression, Forensic path, Margin, EnCase}
}
bulk_extractor
의 작업을 변경하기 위해 다음 환경 변수를 설정할 수 있습니다.
변하기 쉬운 | 행동 |
---|---|
DEBUG_BENCHMARK_CPU | report.xml 파일에 CPU 벤치마크 정보 포함 |
DEBUG_NO_SCANNER_BYPASS | sbuf에 ngram이 포함되어 있거나 고유 문자 수가 많지 않은 경우 일부 스캐너를 우회하는 스캐너 우회 논리를 비활성화합니다. |
DEBUG_HISTOGRAMS | 파일 기반 히스토그램에 디버깅 정보를 인쇄합니다. |
DEBUG_HISTOGRAMS_NO_INCREMENTAL | 증분형 메모리 기반 히스토그램을 사용하지 마십시오. |
DEBUG_PRINT_STEPS | 각 sbuf에 대해 각 스캐너가 호출될 때 stdout으로 인쇄합니다. |
DEBUG_DUMP_DATA | 스캔할 각 sbuf를 16진수 덤프합니다. |
DEBUG_SCANNERS_IGNORE | 무시(로드하지 않음)할 스캐너의 쉼표로 구분된 목록입니다. 단위 테스트 디버깅에 유용합니다. |
디버깅을 위한 기타 힌트:
참고: 현재 대량 추출기 2.1은 Windows에서 빌드되지 않지만 2.0에서는 빌드됩니다.
Windows용으로 빌드하려면 Fedora 시스템에서 크로스 컴파일해야 합니다. 클린 VM으로 시작하고 다음 명령을 사용합니다.
$ git clone --recurse-submodules https://github.com/simsong/bulk_extractor.git
$ cd bulk_extractor/etc
$ bash CONFIGURE_FEDORA36_win64.bash
$ cd ..
$ make win64
jpeg_carved 기능 레코더의 이름을 jpeg로 변경하여 jpeg carve 모드를 -S jpeg_carved_carve_mode=2 대신 -S jpeg_carve_mode=2로 설정할 수 있도록 했습니다. 이는 혼란스러웠습니다.
이제 bulk_extractor
2.0(BE2)이 작동됩니다. Java 기반 뷰어에서 작동하지만 현재 Windows에서 실행되는 설치 프로그램은 없습니다.
BE2를 컴파일하려면 C++17이 필요합니다. 하위 모듈로 https://github.com/simsong/be13_api.git
필요하며, 하위 모듈로 dfxml
필요합니다.
프로젝트가 예상보다 오래 걸렸습니다. C++17로 업데이트하는 것 외에도 대규모 코드 리팩토링과 코드 품질, 테스트 가능성 및 안정성이 전반적으로 향상되는 기회로 사용되었습니다. 실험에 대한 기사는 ACM Queue의 다음 호에 게재될 예정입니다.