더 많은 정보
예, 이제 NSA와 긍정적 인 기술 덕분에 Intel ME를 비활성화 할 수 있습니다. NSA의 요청에 따라 인텔은 다양한 보안 문제를 일으킬 수 있기 때문에 나를 안전하게 비활성화 할 수있는 킬 스위치를 제공했으며, 이는 긍정적 인 기술의 보안 연구원들이 탐구했으며 이제는 저를 비활성화 할 수 있습니다. 고맙게도 Nicola Corna는 BIOS 펌웨어를 수정하고 변경하는 작업을 완화하기 위해 스크립트 ME_CLEANER를 개발했습니다.
더 읽으십시오
현재 비활성화하는 세 가지 방법이 있습니다.
더 읽으십시오
이 안내서는 Dell Inspiron 15 5577 게임 노트북 및 기타 유사한 노트북의 수정 된 OEM 펌웨어로 외부 플래시를 통해 어떻게 비활성화했는지 알려줍니다.
경고
관련된 프로세스는 시스템의 바이오 칩 펌웨어 이미지를 다시 플래시해야하며 시스템 보증을 거의 확실하게 무효화합니다. 기계가 '벽돌'될 수 있습니다. 일부 (많지는 않지만) PC에서는 ME가 특정 시스템 주변 장치를 초기화하거나 관리하거나 실리콘 해결 방법을 제공하는 데 사용됩니다.이 경우 대상 머신의 경우에는 비활성화하여 기능을 잃을 수 있습니다. 가장 신뢰할 수있는 방법이지만 외부 플래싱은 PC 사례를 열어야합니다. 그 자체로는 비 데 스크 탑 시스템에 대한 보증을 무효화 할 수있는 조치입니다. 노출 된 시스템 보드로 작업 할 때는 항상 적절한 ESD 보호 조치를 관찰하고 모든 외부 전원과 배터리가 제거되었는지 확인하십시오. 진행하기 전에 중요한 파일을 백업하십시오. 모든 지침을주의 깊게 읽고 편안하고 자신의 위험에 처한 경우에만 진행하십시오. 당신 자신의 위험에 대해 완전히하십시오. 나는 어떤 종류의 보증을 제공하지 않으며, 피해 나 손실에 대해 책임을지지 않습니다.
추가로 진행하기 전에 프로세스를 이해하기 위해 내가 따르는이 페이지를 읽는 것이 좋습니다.
그래서 우리가 실제로 무엇을 할 것인가? 단계는 무엇입니까? 요컨대, 우리는 마더 보드의 BIOS 플래시 IC의 BIOS 펌웨어를 파일로 읽은 다음 파일에 펌웨어를 읽는지 확인합니다. 그런 다음 ME_CLEANER을 사용하여 펌웨어에서 Intel ME의 상태를 확인하고 두 가지 마지막 방법 중 하나를 사용하여 비활성화하고 수정 된 펌웨어를 파일에 작성합니다. 그런 다음 수정 된 펌웨어를 비활성화 한 펌웨어를 BIOS IC로 다시 플래시 (쓰기)합니다.
따라서 전체 프로세스는 다음 단계로 나눌 수 있습니다.
더 자세한 절차이기 때문에 Gentoo Wiki를 통과하는 것이 좋습니다 . *


iomem=relaxed 추가하십시오. (커널 매개 변수 추가 : 화면에 부팅 옵션 목록이 표시되면 'Live'옵션을 강조 표시하고 'E'를 누른 다음 'Linux'로 시작하는 줄 끝에서 iomem=relaxed 미터를 추가하고 F10을 눌러 부팅).apt update && apt-get install libpci-dev zlib1g-dev KALI에 나머지 필수 패키지를 설치하십시오.iomem=relaxed (위의 칼리를 이미 사용한 사람들을위한 아님)git , gcc , make and DEVELOPENT 파일 (헤더 파일)을 설치하십시오 (Kali 사용자는 이것을 건너 뛰십시오).git clone --depth=1 https://review.coreboot.org/coreboot
cd coreboot/util/intelmetool
make
sudo modprobe msr
sudo ./intelmetool -mb 마지막 명령은 Intel Boot Guard와 함께 Intel Me의 상태를 보여줍니다. 라인 Current Working State: Normal '정상'을 보여 주면 Intel ME가 존재하고 활성화됩니다. 상태 실행을 저장하려면 :
sudo ./intelmetool -mb > mestatus-1.log( 출력 참조 )
Line ME Capability: BootGuard: ON Intel Boot Guard가 켜져 있고 모듈을 제거하고 파괴 할 수는 없지만 HAP 비트를 설정하여 나를 비활성화 할 수 있습니다. Intel Boot Guard가 켜져 있으면 펌웨어의 다른 것을 변경하면 시스템을 되돌릴 수없는 시스템이 없습니다.
mestatus-1.log 파일을이 PC 이외의 장치에 안전하게 저장하십시오.설정에 Raspberry Pi 4B를 사용했지만 Raspberry Pi (2 | 3 | 4)를 사용할 수 있습니다. SPI 장치를 활성화 한 Linux 운영 체제를 설치하면됩니다. 여기, 우리는 우리의 목적을 위해 Arch Linux Arm을 설치하고 있습니다.
sudo bash그리고 6 단계까지 라즈베리 파이 보드의 아치 리눅스 암을 설치하는 단계를 따라 (즉, 부츠와 루트 파티션을 마치기 직전에 정지) : Raspberry Pi 2 Raspberry Pi 3 Raspberry Pi 4
device_tree_param=spi=on 파일 boot/config.txt 에 on을 추가하면 Raspberry Pi의 장치에 대한 SPI 인터페이스가 가능합니다. echo ' device_tree_param=spi=on ' >> boot/config.txt 파일 root/etc/wpa_supplicant/wpa_supplicant-wlan0.conf 다음을 통해 SSID를 핫스팟의 SSID로 바꾸고 Wi-Fi 비밀번호로 비밀번호를 바꾸십시오 .
wpa_passphrase " SSID " " PASSWORD " > root/etc/wpa_supplicant/wpa_supplicant-wlan0.conf그런 다음 부츠를 부팅 할 때 Raspberry Pi를 Wi -Fi 핫스팟에 자동 연결하는 SystemD 서비스를 활성화하십시오.
ln -svf /usr/lib/systemd/system/[email protected] root/etc/systemd/system/multi-user.target.wants/[email protected]
ln -svf /usr/lib/systemd/system/[email protected] root/etc/systemd/system/multi-user.target.wants/[email protected]이 문제를 해결하기 위해 NTP 서버의 몇 가지 정적 IP 주소를 추가하겠습니다. 정적 IP 주소 대신 NTP 서버의 호스트 이름을 추가하면 시스템 시간이 이미 DNS 서버에 요청하기 위해 잘못 구성되어 있으므로 NTP 서버의 주어진 호스트 이름의 DNS 해상도에 문제가 발생합니다. 그렇기 때문에 정적 IP 주소 만 추가하는 것이 중요합니다. 여기에서는 Google의 NTP 서버이며 다른 서버를 사용할 수 있습니다.
echo " FallbackNTP=216.239.35.0 216.239.35.4 216.239.35.8 216.239.35.12 " >> root/etc/systemd/timesyncd.conf참고 : 공식 Raspberry Pi 어댑터를 사용하여 PI에 전원을 공급하십시오. 불충분 한 전원 공급 장치를 사용하면 무작위, 설명 할 수없는 오류 및 파일 시스템 손상이 발생합니다.
Wi -Fi 네트워크를 통해 Raspberry Pi의 IP 주소를 찾는 것은 지루한 작업이 될 수 있습니다. Wi -Fi 라우터를 사용하는 경우 브라우저를 통해 라우터 설정 페이지로 이동하여 로그인하여 연결된 클라이언트를보고 호스트 이름 알람 피의 IP 주소를 찾을 수 있습니다.
그러나 스마트 폰의 Wi -Fi 핫스팟과 같은 다른 방법을 사용한 경우 Linux 배포판에 NMAP를 설치하여 WiFi 핫스팟에 연결된 클라이언트의 IP 주소를 찾을 수 있습니다 (Kali 사용자는 이미 NMAP가 설치되어 있음). 먼저 실행하여 Wi -Fi에서 자신의 IP 주소를 알고 있습니다.
ip addr여기에는 모든 네트워크 인터페이스, WLAN 또는 WLP 이름으로 시작하는 인터페이스 이름은 Wi -Fi 인터페이스이고 단어 INET 이후의 IP 주소는 우리가 찾고있는 것입니다 (예 : 192.168.0.142/24). 이제이 IP 주소를 사용하여 네트워크에 연결된 다른 장치를 조사합니다. 주소의 마지막 바이트를 0 (예 : 192.168.0.142/24 ~ 192.168.0.0/24)으로 교체하면 NMAP를 사용하는 프로브가 연결된 장치 목록을 가져옵니다.
nmap -sn 192.168.0.0/24 이제 랩톱과 Raspberry Pi 만 Wi -Fi 네트워크에 연결하면 NMAP 출력에있는 랩톱의 IP 주소 이외의 IP 주소는 Raspberry Pi의 IP 주소입니다. 네트워크에 많은 장치가 연결된 경우 nmap 사용하여 PI 및 프로브를 끄고 NMAP를 사용하여 전원을 켜고 다시 프로브를 켜고 NMAP의 출력 변경을 비교하여 PI의 IP 주소를 찾을 수 있습니다.
이제 SSH를 통해 Raspberry Pi에 로그인 할 수 있습니다. ( OpenSsh 설치 SSH 클라이언트가 설치되지 않은 경우) 예를 들어 Raspberry Pi의 IP 주소가 192.168.0.184 로 사용되면 실행을 통해 SSH에 로그인 할 수 있습니다.
su --login rootpacman-key --init
pacman-key --populate archlinuxarm
pacman -Syu
pacman -S python python-setuptools python-pip flashrom wget git base-devel
pip install RPi.GPIO
exit Raspberry가 SPI 장치가 ls /dev/spidev* 실행하는지 확인하려면 Out에 해당 파일이나 디렉토리가 표시되지 않으면 SPI 장치가 아직 활성화되지 않은 경우 /boot/config.txt device_tree_param=spi=on 줄을 포함하는지 확인하십시오. 그렇지 않으면, 모든 것이 설정되고 준비되어 있으며, 당신은 가기에 좋습니다.
exit 실행하고 SSH 쉘에서 나갈 수 있습니다.랩톱을 열기 전에 모든 중요한 파일을 적절히 백업하십시오. 외부 전원 케이블을 분리하고 제거하십시오 (서비스 매뉴얼에서 랩톱 케이스를 열린 후 배터리를 제거해야 함) 및 랩톱에 연결된 다른 모든 장치.
Dell의 공식 서비스 매뉴얼 가이드를 찾아 Dell 노트북에 대한 모든 전제 조건에 따라 "시스템 보드 제거"까지 조심스럽게 단계를 따르십시오. Inspiron 15 5577 용 서비스 설명서를 여기에서 다운로드 할 수도 있습니다. 서비스 매뉴얼을 찾을 수없는 경우 YouTube에서 모델에 대한 분해 비디오를 볼 수 있으며 지침을 따라야 할 위험이 있습니다. 분해를 수행하는 동안 마더 보드에서 배터리와 CMOS 셀을 분리하십시오.
중요한 팁


| 핀 | 핀 이름 | 설명 |
|---|---|---|
| 1 | /cs | 칩 선택; 장치 작동을 활성화하려면 낮게 운전하십시오 |
| 2 | DO (IO1) | 데이터 출력 (데이터 입력 출력 1); 표준 SPI의 장치에서 데이터 출력 |
| 3 | IO2 | 데이터 입력 출력 2 |
| 4 | Gnd | 지면 |
| 5 | DI (IO0) | 데이터 입력 (데이터 입력 출력 0); 표준 SPI 용 장치에 데이터 입력 |
| 6 | clk | 직렬 클록 입력 |
| 7 | IO3 | 데이터 입력 출력 3 |
| 8 | VCC | 전원 공급 장치 |
연결할 IC의 각각의 핀 번호에 대한 SOIC-8 플래시 칩 테스트 클립을 표시하여 클립을 부착 할 수있는 Raspberry Pi로 클립을 배선 한 후 혼란스러워하지 않도록합니다.

경고 : RPI4의 GPIO 헤더의 핀을 IC 클립의 모든 핀에 연결하지 않도록 매우주의하십시오.이 클립은 5V (3.3V 이후)이며 우연히 사용하면 플래시 칩을 파괴 할 가능성이 높습니다 (적절한 입력 전압에 대해 알 수 있도록 데이터 시트를 참조하십시오).
| SOIC-8 플래시 IC 핀 | 핀 | 라즈베리 파이 gpio 핀 | 핀 |
|---|---|---|---|
| VCC | 8 | 3.3v | 17 |
| Gnd | 4 | 지면 | 25 |
| /cs | 1 | SPI0_CE0_N | 24 |
| clk | 6 | SPI_CLK | 23 |
| ~하다 | 2 | spi_miso | 21 |
| DI | 5 | spi_mosi | 19 |
| /WP (IO2) | 3 | gpio_gen4 | 16 |
| /hold (io3) | 7 | gpio_gen5 | 18 |
참고 : Raspberry Pi가 켜져 있고 PIN 모드가 아직 설정되지 않았기 때문에 클립을 IC에 첨부하지 마십시오.
그러나 모니터가없고 Raspberry Pi Headless를 실행하는 경우 SSH를 통해 Raspberry Pi의 쉘에 액세스 할 수 있습니다. 다른 PC 또는 Mac 인 경우 동일한 WiFi에 연결하여 운영 체제에 적절한 SSH 클라이언트를 사용하여 Raspberry Pi에 연결할 수 있습니다.
다른 PC가 없지만 Android 스마트 폰 또는 태블릿이있는 경우 SSH를 통해 Raspberry Pi에 액세스 할 수 있습니다. 전화/태블릿을 동일한 WiFi 네트워크에 연결하십시오 (Wi-Fi 핫스팟이 동일한 전화/태블릿에서 온 경우 이미 동일한 네트워크에있는 경우) F-Droid에서 Termux 앱을 설치하고 Termux에 OpenSsh 및 NMAP 패키지를 설치하고 SSH를 사용하여 Raspberry Pi에 연결하십시오. termux에서 패키지 OpenSsh 및 NMAP를 설치하려면
pkg install openssh nmapRaspberry Pi의 IP 주소를 조사하려면 두 번째 단계를 참조하고 SSH를 사용하여 연결하십시오.
su --login root
ping -c 1 archlinux.orgwget https://raw.githubusercontent.com/darajnish/dell5577medisable/master/scripts/setup_gpio.py
python setup_gpio.py핀 23과 24에서 읽은 현재 값을 1 로 설정해야합니다. 그렇지 않으면 무언가 잘못되며 다른 방법으로 핀을 풀고 당겨진 다음 계속 확인해야합니다.


flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8000출력은
flashrom v1.1 on Linux 4.19.67-1-ARCH (armv7l)
flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Winbond flash chip "W25Q32.V" (4096 kB, SPI) on linux_spi.
No operations were specified.
( 출력 참조 )
그러나 No EEPROM/flash device found 클립의 연결 및 정렬을 다시 확인하십시오. IC 클립을 IC를 통해 제거하고 다시 재구성하고 위의 명령이 감지 될 때까지 반복하십시오.
경고 : FlashRom이 예상했던 것과 일치하지 않는 브랜드 나 칩을 찾았다 고보고하면 중지하십시오. 온라인으로 검색하고 모호성이 없다고 확신하는 경우에만 진행하십시오.
flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8000 -r original.rom
flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8000 -r original2.rom
flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8000 -r original3.rom출력은
flashrom v1.1 on Linux 4.19.67-1-ARCH (armv7l)
flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Winbond flash chip "W25Q32.V" (4096 kB, SPI) on linux_spi.
Reading flash... done.
( 출력 참조 )
md5sum 사용하여 읽기 파일의 무결성을 확인하여 그렇게 할 수 있습니다. md5sum original *경고 : 세 가지의 체크섬의 해시는 동일해야합니다. 그중 하나가 다르면 이미지 파일이 동일 할 때까지 펌웨어를 반복해서 읽으십시오. IC 클립이 제대로 부착되어 있는지 확인하십시오. 'spispeed ='매개 변수 값을 BIOS IC의 데이터 시트에 각각 제공하는 것으로 줄 (조정) 할 수 있습니다. 그러나 여전히 동일한 펌웨어 데이터를 읽을 수 없다면 그렇게 할 수있을 때까지 더 이상 진행하지 마십시오! 이러한 더러운 펌웨어 이미지를 사용하여 6 번째 및 7 단계를 수행하면 노트북이 부팅 할 수없는 벽돌 시스템이 발생할 수 있으며 노트북의 BIOS 용 펌웨어 이미지를 찾아 다시 올바르게 플래시 할 때까지 치료법이 없습니다.
git clone --depth=1 https://review.coreboot.org/coreboot
cd coreboot/util/ifdtool
make
cd ../../..
./coreboot/util/ifdtool/ifdtool -d original.rom이와 같은 출력을 가져와야합니다.
경고 : IFDTOOL -D가 오류를보고 하거나이 이미지에서 플래시 디스크립터가 발견되지 않았다고 말하면 중지하십시오. 동일한 사본 과이 ifdtool -D 확인이있을 때까지 읽기 프로세스를 반복하십시오. 펌웨어를 올바르게 읽을 수있을 때까지 더 계속 진행하지 마십시오!
me_cleaner 도구 가이 이미지를 이해하는지 확인하십시오.
git clone https://github.com/corna/me_cleaner
python me_cleaner/me_cleaner.py --check original.rom출력을 참조하십시오.
python me_cleaner/me_cleaner.py --soft-disable original.rom --output modified.rompython me_cleaner/me_cleaner.py --soft-disable-only original.rom --output modified.rom출력 참조 (소프트 사용 가능 전용)
python me_cleaner/me_cleaner.py --check modified.rom The HAP bit is SET 을 보여줍니다.
original.rom 파일의 백업을 BIOS의 원본 펌웨어 이미지이므로 유지하십시오. 수정 된 펌웨어가 일부 문제를 일으키는 경우 나중에 필요할 수 있습니다.flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8000 -w modified.romFlashRom은 출력을 보여 주어야합니다.
flashrom v1.1 on Linux 4.19.67-1-ARCH (armv7l)
flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Winbond flash chip "W25Q32.V" (4096 kB, SPI) on linux_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
( 출력 참조 )
경고 : FlashRom이 여기에 오류를보고하거나 출력 Verifying flash... VERIFIED 확인. 당신은 거의 확실하게 손상된 플래시를 가지고 있습니다. 느린 'spispeed ='매개 변수를 사용하여 쓰기를 다시 시도하고 실패한 경우 IC에서 IC 클립을 다시 좌우하십시오.
모든 것이 오류없이 작동하면 노트북을 다시 조립하십시오. Dell Service 매뉴얼의 "시스템 보드 교체"절차를 따르십시오. 노트북의 전원. 성공적으로 부팅되면 30 분 동안 자동 종료 여부를 확인하십시오. 그것이 자동 종료되지 않고 모든 것이 잘 작동한다면, 당신은 Intel Me를 비활성화 한 것을 축하합니다. 로그, 시스템 정보를보고하고 직면 한 문제에 대해 알리면 다른 사람이 유용 할 수 있습니다.
1 단계를 따르고 내 상태를 다시 확인하십시오. 비활성화되어야합니다.
경고 : 예기치 않게 부팅하거나 종료되지 않으면 원래 펌웨어를 BIOS 플래시 칩으로 되돌려 야합니다. 노트북을 다시 분해하여 모든 안전 예방 조치를 취하고 original.rom 을 BIOS 플래시 칩에 다시 작성하십시오.
python setup_gpio.py
flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8000 -w original.rom이 기사가 Intel Me에 대한 정보를 찾고있는 사람과 그것을 비활성화하기위한 단계를 찾는 데 도움이되기를 바랍니다. 어떤 단계에 대한 질문이나 의심에 관한 문제를 자유롭게 만들 수 있으며,이 기사의 개선에 대한 제안에 감사드립니다. 나는 Me_cleaner와 Basic Wiki의 Nicola Corna와 전체 프로세스를 안내하는 Gentoo Wiki*의 Sakaki에게 감사합니다.