목록ChipWhisperer (20)
graf
1. 개요라즈베리파이 3B+ 볼트 글리칭지난번에 라즈베리파이를 대상으로 볼트 글리칭을 시도했었다. 이번에도 이 때와 동일한 방식으로 진행해볼 예정이다. 디커플링이 강한 보드에서도 글리치에 성공했으니 글리치를 넣는 것 자체는 문제가 되지 않을 거다. 그래도 secure boot로 넘어가기 전에 파라미터를 구체화할 필요는 있을 것 같다. 이번 목표는 esp32에서 리셋이 발생하지 않으면서 결함을 유발할 수 있는 적절한 세기의 글리치 파라미터를 찾는 것이다. 2. 글리칭 지점 확인ESP32 DOWDV3312024HGOOMBGO11 ESP32-DOWD-V3 이 칩이다. 데이터시트가 없는 경우도 있던데 이건 다행히 있다. ESP32-D0WD-V3 datasheetVDD가 여러개가 나오는데 CPU라고 ..
※ 내용이 깁니다! 목차 이용바랍니다! 1. 개요허스키를 사용해서 라즈베리파이에 글리치를 시도해볼 것이다. 구체적인 타겟 코드나 에셋이 있는 것은 아니고, Voltage (VCC) Glitching Raspberry Pi 3 model B+ with ChipWhisperer-Lite콜린 오플린의 볼트 글리칭 영상을 그대로 재현해보는 것이 목적이다. 라즈베리파이같은 고성능 mcu에 정밀한 글리치를 넣는건 힘들겠지만 단순 루프를 돌리고 오류가 발생하는지만 확인하는 수준이라 그리 어렵지는 않을 거다. 2. 글리칭 지점 확인Raspberry Pi 3 Model B+ schematic diagrams공식 사이트에서 올린 라즈베리파이3B+ 회도로다. 레귤레이터 VOUT만 가져왔다. VOUT4번인 VDD_C..
계획한 시나리오대로라면 먼저 펌웨어를 임의로 변조 후 업로드가 가능해야한다. 업로드 가능한 인터페이스가 열려있다면 좋겠지만 그렇지 않다면 플래시를 통해 접근해야한다. 플래시에서 펌웨어 추출부터 해보자. 1. 펌웨어 추출덮개를 제거한 모듈 내부 모습이다. spi flash와 QFN mcu다. 이제 SPI는 익숙하다. 좋다 인식 잘 된다. esp는 전기를 많이 안 먹으니 성공할 줄 알았다. 추출 끝났다. 2. 펌웨어 분석이제 추출한 펌웨어를 분석해야한다. 그런데 세그먼트가 인식이 안된다. 문자열을 찾는건 어렵지 않지만 세그먼트마다 체크섬이 있어서 데이터만 바꾸면 장치가 동작을 안 할거다. 2.1 세그먼트 찾기열어보니 매직키로 의심되는 데이터가 0x1000부터 나온다. 저번에도..
모듈이 전부 왔다.만원도 안하는 저렴한 것도 있길래 여분으로 여러개를 샀다. 오른쪽에 저건 핀 납땜부터 해야겠다. 1. EPS-IDF 설치https://docs.espressif.com/projects/esp-idf/en/v6.0.1/esp32s3/get-started/index.html Get Started - ESP32-S3 - — ESP-IDF Programming Guide v6.0.1 documentationIt allows you to develop, build, flash, and monitor ESP-IDF applications directly within the Visual Studio Code.docs.espressif.comespressif에서 올린 공식 가이드가 있다. ht..
드디어 시작한다. 작년에 RSW 분석을 마치고부터 계획했던 일인데 6개월만에 준비가 끝났다. 1. 목표목표는 글리칭을 통해 esp32의 secure boot를 우회하고 검증되지 않은 펌웨어를 실행시키는 것이다. 계획을 좀 더 세분화하면 1. 펌웨어 추출 및 업로드 방법 확보2. 펌웨어 검증 루틴 존재 식별3. 검증 성공/실패 전력 흐름 비교4. 트리거 잡기5. 결함이 발생하는 파라미터 구체화6. 글리칭 주입 이렇게 쪼갤 수 있을 것 같고 트리거 잡기에서 가장 오래 시간을 쓰게 되지 않을까 예상 중이다. 2. 보유 장비현재 보유 장비는 로직 분석기 (24MHz)CH341Chip Whisperer휴대용 멀티미터라즈베리파이3B+이게 전부다. 허스키를 제외하면 전부 몇 만원밖에 안 하는 싸구려 장비들..
1. 개요얼마 전에 파형 측정이나 글리칭 테스트할 때 쓰려고SMA에 바로 연결 가능한 프로브를 구매했었다. 그런데 저 검은색 바늘이 하필 불량으로 왔다. 내가 원래 재수가 좀 없다. ..라고 하려고 했는데 판매자가 제품 회수 없이 그냥 환불을 해줬다. 알아서 폐기하랜다. 저 바늘 내부가 어떻게 돼있나 까보고 싶었는데 잘됐다. 한번 열어보고 혹시 고칠 수 있다면 고쳐서 써봐야겠다. 2. 수리2.1 피복 제거피복을 전부 제거했다. 구조가 굉장히 간단하다. 여기서 가운데 금색 파이프는 내부에 용수철이 들어있어서 바늘이 유연하게 움직일 수 있도록 제작되었다. 문제가 되는건 이 부분이다. 마스킹은 없지만 저항으로 추정 중이다. 이게 원래 오실로스코프용으로 판매하는 거라 측정용 감쇠 용도로 들어..
1. 개요새 장비가 왔다. SMA에 연결 가능한 프로브다. 얼마 전에 로직 분석기로 SPI 통신을 잡아보려고 했는데 성능 문제로 실패했었다. 허스키로 클럭 속도라도 측정해보고 싶었는데 지난번엔 연결을 할 방법이 없어서 시도해보지 못했다. 이번에 저 프로브와 허스키의 파형 측정 기능으로 flash의 클럭 속도를 확인해볼 것이다. 허스키는 기본 클럭이 MHz 단위고 여기서 클럭 속도를 더 높이거나 샘플링 개수를 올리면 수백MHz 단위까지도 측정이 가능하다. 젠장 콜린 오플린 당신은 천재야 2. 트리거 연결 및 측정 테스트현재 연결 상태다. 클럭을 트리거에 바로 연결한 상태고 gnd는 공통으로 묶었다. 여기서 저 프로브를 MISO나 MOSI에 연결해볼 거다. 점퍼선으로 연결한 거라 측정이 정밀하지..
1. 개요Fault101의 마지막 내용이다. 사실 이번에도 지난번과 내용이 같다. Fault1.3와 동일한 펌웨어를 대상으로 한다. 이번엔 볼트 글리치를 활용해야한다. 지난번처럼 상황에 대한 설명을 해준다. 이번엔 이미 어떤 취약점이 존재하는지 다 알고 있으니 그냥 지난번에 찾은 파라미터를 갖다 쓰라고 한다. Fault2.2 다시 할 때는 아무것도 모른다고 가정하고 처음부터 삽질했는데 이렇게까지 말하니 그냥 이전 분석 자료를 참고해서 진행해야겠다. 절대로 다시 탐색하는게 귀찮은게 아니다. 그보다 베이스 코드가 이번에도 개똥같이 돼있다. 이제 허스키는 아예 고려하지도 않는다. 이게 한번에 멀쩡히 실행되는걸 본 적이 없다. 그냥 다 지우고 다시 만들어서 쓰는게 낫겠다. 2. 취약점 요..