제퍼넷 로고

ThinkPad X1 Carbon은 끊임없는 노력을 통해 USB 장치를 전환했습니다.

시간

최근 기억에 남는 노트북 리버스 엔지니어링 게시물 중 가장 인상적인 게시물 중 하나는 [Andrey Konovalov]가 우리에게 제공한 것입니다. 엄청나게 상세한 이야기 그가 USB를 발견하고 성공적으로 활성화한 방법에 대해 장치 1세대 Intel CPU가 장착된 ThinkPad X6 Carbon의 컨트롤러입니다.

다소 현대적인 Intel CPU 기반 시스템의 더러운 비밀을 엿보고 싶었다면 이 글은 Linux 드라이버 및 NVRAM 수정에서 사용자 정의 USB 케이블 구축 및 수정에 이르기까지 수십 개의 추상화 계층에 걸쳐 세부 사항을 아끼지 않을 것입니다. BIOS 칩이 깜박이며 디저트를 위해 문서화되지 않은 PCH 레지스터를 깊이 파고듭니다.

[Andrey]가 원했던 것은 추가 Raspberry Pi를 만지작거리는 것을 피하는 것뿐이었습니다. PCIe 연결 장치 컨트롤러를 사용하는 동안 그는 다음에 대한 참조를 발견했습니다. intel_xhci_usb_sw-role-switch 리눅스에서 sysfs, 그리고 토끼굴에 뛰어들었고, 그곳에서 그는 노트북의 USB 포트에 사용되는 IP 코어에 활성화할 수 있는 '장치' 모드가 있다는 것을 발견했습니다. ACPI 테이블을 조사한 결과 이 ​​사실이 확인되었지만 BIOS에서 장치가 비활성화되어 있다는 점도 강조되었습니다. 게다가 숨겨진 메뉴 뒤에 잠겨 있는 것으로 밝혀졌습니다. 특히 부팅 전에 BIOS 이미지 서명을 확인하는 메커니즘인 Intel Boot Guard를 우회하는 경우 해당 메뉴 잠금을 해제하는 실험이 이어졌습니다.

SPI 소켓 [Andrey]이 Adafruit에 BIOS 패치를 쉽게 적용하여 숨겨진 메뉴 잠금 해제

[Andrey]는 BootGuard 익스플로잇 사용부터 NVRAM EFI 변수 매핑 리버스 엔지니어링, Intel PCH의 레지스터를 직접 찌르는 긴 섹션까지 재미를 위해 컨트롤러를 활성화하려고 시도한 몇 가지 다른 방법을 보여줍니다. [Maxim Goryachy]의 도움을 받아 사용자 공간에서 USB 장치 주변 장치를 활성화합니다. 인텔 리버스 엔지니어링으로 유명합니다. 결국 NVRAM 패치 방법은 일반 사용자에게 가장 실행 가능한 방법으로 판명되었으며, 블로그 게시물에는 이 방법을 사용하려는 진취적인 해커를 위한 충분한 세부 정보가 포함되어 있습니다.

승리의 댄스로서, 귀하의 장치가 USB 장치 모드를 지원할 경우 수행할 수 있는 모든 놀라운 작업에 대한 섹션을 제공합니다. 명백한 USB 저장소 예가 있지만 [Alexey]는 기억해야 할 몇 가지 멋진 도구를 보여줍니다. 즉, 꿈꿀 수 있는 모든 종류의 USB 장치를 구축하기 위한 Raw Gadget Linux 커널 프레임워크, syzkaller USB 스택 fuzzer 및 페이스댄서, USB 장치 에뮬레이션을 위한 프레임워크입니다.

이 모든 내용이 너무 많다고 생각된다면 블로그 게시물에 포함된 멋진 내용 중 절반만 설명했다는 점을 염두에 두십시오. 가서 확인해 보세요. 그리고 차 한 잔을 만들어 보세요. 배울 만한 멋진 것들이 너무 많기 때문입니다.

실제로 이 블로그 게시물은 해커의 헌신에 대한 증거이자 계속해서 파고들면 얼마나 멀리 도달할 수 있는지 보여주는 빛나는 예입니다. 당신의 노트북은요? 몇 가지 비밀을 숨기세요 아무도 존재하지 않았다는 걸요? 알아낼 수 있는 방법은 한 가지뿐이라는 것을 기억하세요.

spot_img

최신 인텔리전스

spot_img