詳細
はい、NSAとポジティブなテクノロジーのおかげで、Intel Meを無効にすることが可能になりました。 NSAのリクエストに応じて、Intelはさまざまなセキュリティの問題を引き起こす可能性があるため、安全に無効にするためのキルスイッチを提供しました。ありがたいことに、Nicola Cornaは、BIOSファームウェアの変更と変更の作業を容易にするためのスクリプトME_CLEANERを開発しました。
続きを読む
現在、無効にするには3つの方法があります。
続きを読む
このガイドでは、Dell Inspiron 15 5577ゲームラップトップやその他の同様のラップトップに変更されたOEMファームウェアを使用して、外部フラッシュを通じて私を無効にした方法を説明します。
警告
関係するプロセスは、システムのBIOS-CHIPファームウェアイメージを再フラッシュする必要があり、ほぼ確実にシステムの保証を無効にします。その結果、マシンが「レンガ」になる可能性があります。一部の(多くの)PCでは、MEは特定のシステム周辺機器の初期化または管理やシリコンの回避策を提供するために使用されます。ターゲットマシンの場合の場合、それを無効にすることで機能を失う可能性があります。最も信頼できる方法は、外部フラッシュではPCのケースを開く必要がありますが、それ自体が非デスクトップシステムの保証を無効にする可能性が高いアクションです。露出したシステムボードを操作するときは、常に適切なESD保護対策を観察し、すべての外部電源とバッテリーが削除されていることを確認してください。先に進む前に重要なファイルをバックアップします。すべての指示を慎重に読んで、快適である場合にのみ、自分の責任で続行してください。あなた自身の責任で完全にそれをしてください、私はいかなる種類の保証も提供せず、私は損害や損失についても責任を負いません。
さらに進む前に、プロセスを理解するために従ったこれらのページを読むことをお勧めします。
それで、私たちは実際に何をするつもりですか?ステップは何ですか?要するに、マザーボードのBIOSフラッシュICからファイルにBIOSファームウェアを読み取り、ファイルに読み取られたファームウェアを確認します。次に、ME_CLEANERを使用してファームウェアでIntel MEのステータスを確認し、2つの最後のメソッドのいずれかを使用して無効にし(無効化する方法を参照)、修正されたファームウェアをファイルに書き込みます。そして、修正されたファームウェアをバイオスICに戻した場合、修正されたファームウェアをフラッシュ(書き込み)します。
したがって、プロセス全体を次の手順に分けることができます。
より詳細な手順であるため、 Gentoo Wikiを通過することをお勧めします。これは、このプロセスをうまく実行するためのあらゆる予防策と安全性とともに私を導いたからです。 *


iomem=relaxed 。 (カーネルパラメーターを追加するには:画面にブートオプションのリストが表示されたら、「ライブ」オプションを強調表示して「e」を押して、「Linux」から始まるラインの端でパラメーターiomem=relaxed 、F10を押して起動します)apt update && apt-get install libpci-dev zlib1g-dev 、残りの必要なパッケージをKaliにインストールします。iomem=relaxed (上記のKaliをすでに使用していた人向けではない)git 、 gcc 、 make and development files(header files)for pciutils and Zlibのインストール(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ボードのArch Linux Armをインストールする手順に従ってください(つまり、ブーツとルートのパーティションを外す直前に停止します):Raspberry Pi 2 Raspberry Pi 3 Raspberry Pi 4
device_tree_param=spi=onをファイルboot/config.txtに追加します。 echo ' device_tree_param=spi=on ' >> boot/config.txtファイルroot/etc/wpa_supplicant/wpa_supplicant-wlan0.confを以下に作成するには、 ssidをホットスポットのSSIDに置き換え、パスワードをWiFiパスワードに置き換えます。
wpa_passphrase " SSID " " PASSWORD " > root/etc/wpa_supplicant/wpa_supplicant-wlan0.conf次に、Raspberry PIをWiFiホットスポットに接続する自動をブーツに接続するための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に電力を供給します。不十分な電源を使用すると、ランダムで不可解なエラーとファイルシステムの腐敗が発生します。
WiFiネットワーク上でRaspberry PiのIPアドレスを探していることは、退屈な仕事になる可能性があります。 WiFiルーターを使用する場合は、ブラウザを介してルーター設定ページに簡単に移動してログインして接続されたクライアントを表示し、ホスト名AlarmPiのIPアドレスを確認できます。
ただし、他の方法(スマートフォンのWiFiホットスポットなど)を使用した場合は、LinuxディストリビューションにNMAPをインストールして、WiFiホットスポットに接続されたクライアントのIPアドレスを見つけることができます(KaliユーザーはすでにNMAPをインストールしています)。まず、WiFiで自分のIPアドレスを実行して、実行して、
ip addrこれにより、すべてのネットワークインターフェイスが一覧表示されます。WLANまたはWLP名から始まるインターフェイス名はWiFiインターフェイスであり、IPアドレスはWord INETが探しているものです(例: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のみをWiFiネットワークに接続する場合、NMAPの出力にあるラップトップのIPアドレス以外のIPアドレスは、Raspberry PiのIPアドレスです。ネットワークに多くのデバイスが接続されている場合は、 nmapを使用してPIとプローブの電源をオフにしてから、NMAPを使用して電源を入れ、NMAPの出力の変更を比較してPIのIPアドレスを見つけることができます。
これで、SSHを介してRaspberry Piにログインできます。 (SSHクライアントがインストールされていない場合はOPENSSHをインストールします)たとえば、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がLine 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のそれぞれのPIN番号のSOIC-8フラッシュチップテストクリップをマークして、クリップを取り付ける方法とどの側がICの上部を接続するかをラズベリーPIで配線した後に混乱しないようにします。

警告:RPI4のGPIOヘッダーのピン2または4をICクリップの任意のピンに接続しないように非常に注意してください - これらは5V(3.3Vではなく)であり、誤って使用する場合はフラッシュチップを破壊する可能性があります(適切な入力電圧について知るためにデータシートを参照してください)。
| SOIC-8フラッシュICピン | ピン | Raspberry Pi Gpio Pin | ピン |
|---|---|---|---|
| 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をヘッドレスで実行している場合は、SSHを介してRaspberry Piのシェルにアクセスできます。別のPCまたはMacの場合は、同じWiFiに接続し、オペレーティングシステムに適切なSSHクライアントを使用してRaspberry Piに接続できます。
別のPCを持っていないが、Androidスマートフォンまたはタブレットがある場合でも、SSHを介してRaspberry Piにアクセスできます。電話/タブレットを同じWiFiネットワークに接続します(WiFiホットスポットが同じ電話/タブレットからのものである場合、すでに同じネットワークにあります)。F-DroidからTermuxアプリをインストールし、TermuxにOpenSSHとNMAPパッケージをインストールし、SSHを使用してRaspberry PIに接続します。 Packages OpenSSHとNMAPをTermuxにインストールするには、
pkg install openssh nmap2番目のステップを参照してRaspberry 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場合は、CLIPの接続とICとのアライメントを再確認してください。 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 *警告:3つすべてのチェックサムのハッシュは同一である必要があります。それらのいずれかが異なる場合は、画像ファイルが同一になるまで何度もファームウェアを読み取ります。 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がエラーを報告する場合、またはこの画像でFlash記述子が見つからないことを示している場合、停止します。同一のコピーとこの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ファイルのバックアップを保持してください。変更されたファームウェアが何らかの問題を引き起こす場合は、後で必要になる場合があります。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のクリップを再発行してみてください。
すべてがエラーなしで機能する場合は、ラップトップを再組み立てします。 Dellサービスマニュアルの「システムボードの交換」の手順に従ってください。ラップトップの電源。正常に起動した場合は、30分間待って、自動シャットダウンのかどうかを確認してください。自動シャットダウンがなく、すべてが正常に機能する場合は、私を無効にしてくれておめでとうございます。ログ、システム情報を報告し、直面した問題について伝えて、他の誰かがそれが役立つと思うようにします。
ステップ1に従って、私のステータスをもう一度確認してください。無効にする必要があります。
警告:予期せず起動またはシャットダウンに失敗した場合は、元のファームウェアをBIOSフラッシュチップに戻す必要があります。すべての安全上の注意事項を取り、ファイルを作成してbios original.romチップに戻すラップトップを再度分解します
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に感謝しています。