EC Hacking: Dizüstü Bilgisayarınızda Bir Mikrodenetleyici Var

[ad_1]

Geçenlerde denk geldim serin bir yazı [DHowett], Framework dizüstü bilgisayarın Gömülü Denetleyicisini (EC) yeniden programlama hakkında. Bize Caps Lock LED’inin nasıl yeniden kullanılacağını gösteriyor, bunun yerine “Fn kilidi” olarak da bilinen F1-F12 tuş katmanı durumunu göstermesini sağlıyor, “F1 anahtarınız şu anda F1 olarak mı çalışıyor yoksa sesi mi düzenliyor”. Dizüstü bilgisayarınızın EC donanım yazılımına özel kod ekleme konusunda bize yol gösteriyor ve bunu EC’nin çalıştırdığı çeşitli rutinlere düzgün şekilde entegre ediyor.

Çerçevenin kullandığı EC, Microchip’ten bir MEC1521 yongasıdır ve bu yılın başlarında, bellenimi açık kaynaklı onun için. Şimdi, bir mikrodenetleyici kodu deposu Kendiniz derleyebileceğiniz ve Framework dizüstü bilgisayarınızın anakartını flaş edebileceğiniz. HackerNews’in bir yorum bölümünde, bir Çerçeve temsilcisi, Çerçeve anakartına GPIO’lar ekleyin EC bellenim korsanlığı yoluyla.

Bekle… Mikrodenetleyici kodu? GPIO’lar? Bu bizi şu soruya getiriyor: EC gerçekten nedir? Başlangıç ​​olarak, bu sadece bir mikrodenetleyici. Dizüstü bilgisayarlar da dahil olmak üzere her x86 bilgisayarda, bilgisayarınızın güç yönetimi, klavye, dokunmatik yüzey, pil ve bir dizi başka şey gibi alt düzey işlevlerini yöneten bir EC bulabilirsiniz. Apple topraklarında onları SMC olarak biliyor olabilirsiniz, ancak işlevleri aynıdır.

Neden bunca zamandır EC’lerimizi yeniden programlamıyoruz? Bu da garantili bir soru ve size her şeyi anlatacağım.

EC’nin İşi Nedir?

EC, dizüstü bilgisayarınızdaki bir sürü cihazı kontrol eder. USB, LVDS/eDP veya PCIe’ye bağlı cihazlar değil, çünkü bunlar yonga setinin kapsamına girer. Bunun yerine, bunlar güç anahtarları, şarj cihazı yongası ve çeşitli akım monitörleri gibi cihazlardır, çünkü bunların yonga seti ve CPU kapatıldığında bile doğru şekilde çalışması gerekir. Ama elbette, mesele sadece güç yönetimi değil – bir dizüstü bilgisayarda GPIO’lara ihtiyaç duyacağınız pek çok şey var.

EEE PC 701 şemasından, EC bağlantılarını ve hatta ekstra düğme bağlantıları gibi bazı kullanılmayan işlevleri gösteren bölüm
EEE PC 701’in EC’si. Bu, donanımda atlanmış medya düğmeleri için bazı ekstra sinyallere bile sahip!

Genel olarak, bir ile kontrol edeceğiniz herhangi bir şey digitalWrite veya bir kullanarak izleyin digitalRead, bir ADC aracılığıyla ölçün veya I2C kullanarak konuşun – bunlar EC tarafından ele alınan şeylerdir. Böylece EC, akü durumunu ve şarj cihazı voltajlarını okur, fanları PWM ile çalıştırır ve çeşitli sensörlerden sıcaklık ölçümleri alır. Dizüstü bilgisayar klavyesi bir tuş matrisidir ve EC, matrisi tarar ve tuşa basışları işler, önemli olayları işletim sisteminizin daha sonra okuduğu yonga setine iletir. Dokunmatik yüzeyiniz ister PS/2 ister I2C olsun, EC bunu yönetir ve işletim sistemine de sunar.

Dizüstü bilgisayarınızın güç düğmesi doğrudan EC’ye bağlıdır. Sonuç olarak, ilk çalıştırılacak şey EC’nizdir; ve bozuk bir dizüstü bilgisayarınız güç düğmesine tepki vermiyorsa, bu, EC’nin herhangi bir nedenle güç yönetimi işini yapamadığı anlamına gelir. Aslında, Framework dizüstü bilgisayarın yakın zamanda yayınlanan azaltılmış şemalar, EC’nin doğrudan aküden gelen kendi ayrı güç rayına sahip olduğunu göreceksiniz.

Chipset ile nasıl konuşuyor? Yaklaşık yirmi yıldır, EC’ler, yüzeysel olarak qSPI’ye benzeyen dört bit genişliğinde bir veri yolu olan LPC veri yolunu kullanıyor. EC’ler dışında, yalnızca son zamanlarda TPM’ler tarafından gerçekten kullanılıyor. LPC, 25MHz ila 100MHz arasındaki frekansları kullanır. Bu nedenle, LPC sinyallerinize bir mantık analizörü koymak ve bazı paketleri yakalamak istiyorsanız, tipik ucuz 25Msps LA’nız işe yaramaz, ancak bir kullanıma hazır FPGA kartı ya da daha hızlı bir şekilde LA harikalar yaratacak ve bir oldukça havalı kağıt TPM’lerden anahtarları çıkarmak için LPC manipülasyonu ve bir FPGA kullanma.

LPC yaklaşık yirmi yaşındadır ve ISA veri yolunun doğrudan halefidir – aslında, 2003’teki bazı dizüstü bilgisayar şemalarında bunun yerine ISA üzerinden bağlı EC’yi bulacaksınız, ancak bunların tümü LPC’nin ötesindedir. Ancak, son EC’ler bunun yerine eSPI’dan bahsediyor, LPC’nin yerini alması amaçlanan qSPI benzeri bir arayüz, ve Çerçeve AB de eSPI’dan bahsediyor.

Tabii ki, İlgili Firmware Var

Her EC’nin bellenimi vardır ve her dizüstü bilgisayarın (ve masaüstünün ve sunucunun!) bir EC’si vardır. EC bellenimi neredeyse her zaman kapalı kaynaklıdır. Bu nedenle, EC bellenimi, bilgisayarlarımızdaki tescilli parçalardan bahsederken kaçırmaya meyilli olduğumuz ikili bloblardan biridir. Çoğu zaman, EC bellenimi BIOS ile aynı SPI flash yongasında depolanır – diğer zamanlarda, ayrı bir harici veya on-chip flash vardır, bu durumda, genellikle EC’nizi yeniden başlatabileceğiniz bir UART önyükleyiciniz olur. Bunların tümü, sahip olduğunuz EC’nin hangi spesifik üreticisine ve modeline bağlıdır.

Çoğu zaman, EC’niz ARM veya 8051 mimarisi gibi bir şey üzerine kuruludur, diğer zamanlarda CompactRISC gibi daha belirsiz bir şeydir. Ortak olan şey, EC’nizin bellenimi söz konusu olduğunda en fazla ikili bir blob elde etmenizdir. Bir noktada, Google dizüstü bilgisayar işine girdiğinde, bir grup mühendis muhtemelen “yeterli” dedi ve EC kodlarını açık kaynaklı – kendi EC bellenimleri söz konusu olduğunda Framework’ün üzerine inşa ettiği şey budur. Geçen yıl, System76, EC kodunu açtı, fazla. Ne yazık ki, diğer dizüstü bilgisayar üreticileri için durum vahim.

EC’niz arka kapıya geçebilir mi? Pek olası değil – EC bellenimini değiştirmek ve güncellemek, BIOS görüntüleriyle aynı şeyi yapmaktan daha zor olma eğilimindedir. Şimdi, EC’nizin davranışını kendiniz değiştirebilir misiniz? En azından teknik olarak mümkün ve bunu her zaman yapabilmeniz gerektiğini iddia ediyorum.

Peki, Hacking Ne Kadar?

Elbette, bir dizüstü bilgisayarın her alt sistemiyle birlikte, zaten derinlere inmiş ve onu eğlenceli ve faydalı şeyler çıkarmak için kullanan bir Thinkpad meraklısı alt grubu bulacaksınız. AT böyle bir yöndür ve onlar kesinlikle teklif edecek bir şeyin var – esas olarak klavye düzenlerini yeniden programlamak ve pil kilitlerini kaldırmak. Klavye düzenleriyle, eski (ve görünüşe göre daha üstün) klavyelerin daha yeni dizüstü bilgisayarlarla çalışmasını sağlamayı başardılar. öğretici belirli pimleri ne kadar özel olarak yalıtmanız gerektiğinden ve değişiklikleri flaş etmenin süper uygun yolu.

Bununla birlikte, pil kısmı daha hayatidir – sözde başka türlü yıldız ThinkPad’lerde bile, bir alt klavye ile yaşamaktan daha sık yaşayabilirsiniz. Sorun, EC’deki “orijinal” pil kontrolüdür, bu da pili şarj etmenize (hatta pilden çalışmanıza) izin vermezse, pili geçmez. Bu yalnızca üçüncü taraf pil seçenekleriyle sınırlı değildir, kulağa böyle geliyorsa – bu tür kontroller, yalnızca farklı türde bir Thinkpad için tasarlanmış Lenovo pillerinin kullanılmasını da yasaklar, ancak bunun dışında mekanik, elektrik ve elektronik olarak mükemmel şekilde uygundur.

üzerinde bir video var ThinkPad EC korsanlığı nasıl ortaya çıktı?, ve ne olduğunu görmek için bunu kontrol etmenizi öneririm. Artık Lenovo, insanların klavyeleri değiştirmesinden ve Lenovo’nun artık ‘orijinal’ benzerlerini satmayı bıraktığı üçüncü taraf pillerin kullanımına izin vermesinden hoşlanmıyor gibiydi. Yani, bir noktada, karar verdiler en rahat yollardan birini kapatın EC bellenim güncellemesi için ve “güvenlik iyileştirmelerinden” bahseden bir BIOS güncellemesi yayınlayın. İlgili CVE şunu söylüyor:

Eski ThinkPad sistemlerinin çeşitli BIOS sürümlerinde, yönetici ayrıcalıklarına veya fiziksel erişime sahip bir kullanıcının Katıştırılmış Denetleyiciyi imzasız bellenimle güncelleme yeteneğine izin verebilecek bir güvenlik açığı bildirildi.

Bana sorarsanız, bu açıklama bonker. Bu cümle esasen “dizüstü bilgisayarın sahibi Lenovo tarafından onaylanmayan EC bellenimini flash edebilir” anlamına gelir. Buna neyin yol açtığını ve olası gerekçenin ne olabileceğini merak ediyorum, ama sonunda, nedeni ne olursa olsun, inandığım şeyden bir dikkati dağıtıyor. Yani, EC aygıt yazılımını kişinin kendi dizüstü bilgisayarında güncellemek mümkün olmalıdır ve Lenovo tam da bunu yapmak için kullanıcı dostu bir yol açmıştır.

Ayrıca, şüphesiz, konu EC’ler olduğunda tüm üreticiler onarım hakkınıza saygı göstermez. Örnek olarak, neredeyse on yıldır Dell, dizüstü bilgisayarlarını, EC içinde birleştirilmiş anahtarlar ve şifrelenmiş ürün yazılımına sahip EC’lerle birlikte gönderiyor. EC’nin arada sırada ölmesi nedeniyle bu, Dell dizüstü bilgisayar onarımı için özel bir sorun olmuştur. Boş bir EC satın alıp Dell’in ölü olanı yerine yeniden akıtabilirsiniz, ancak Dell’in fabrikada EC’ye verdiği şifre çözme anahtarlarına sahip olmayacak ve bu nedenle Dell’in şifreli bellenimini çalıştırmaz. Değişiklikler burada masanın dışındadır – dizüstü bilgisayarınız bozulduğunda, çiplerin kendileri bol olsa bile, EC için uygun bir yedek bulmak bile mümkün değildir.

Şimdi Ne Yapabilirsin?

Artık EC’ler için açık kaynaklı bellenime sahip üç üretici var – Google, System76 ve Framework. Yine de bu bellenim ile ne yapabilirsiniz? Yeterince kullanılmayan herhangi bir bilgisayar korsanlığı alanında olduğu gibi, tam potansiyelini gerçekleştirmek zaman alacaktır. Anahtarları yeniden eşlemek tek şey değildir – dizüstü bilgisayarınızın üreticisi size bir pil sağlamadıysa, pil ömrünü uzatmak için %80’lik bir pil şarj limiti uygulayabilir, herhangi bir işletim sistemi desteğine ihtiyaç duymadan dizüstü bilgisayarınızın klavyesine ekstra katmanlar ekleyebilir, belki de fanınızda ince ayar yapabilirsiniz. eğriler. Veya gerçekten de, kalbinizin arzu ettiği sensörler veya düğmeler için dizüstü bilgisayarınızın içine bazı GPIO’lar ekleyebilirsiniz.

Ayrıca, EC’lerde ara sıra ortaya çıkan ve uğraşması oldukça can sıkıcı olabilen hataları da düzeltebilirsiniz – hayal edin klavye tuşları sıkışıyor ara sıra, görünüşte rastgele ve bir EC hatanız olduğunda tam olarak olan budur. Hata düzeltmeleri veya iyileştirmeler, şu anda bize kapalı olan herhangi bir bellenimde olduğu gibi, yarından itibaren bir dizi harika hack görmeyeceğiz, ancak EC korsanlığı söz konusu olduğunda ufukta kesinlikle harika şeyler var.

[ad_2]
Kaynak : https://hackaday.com/2022/06/07/ec-hacking-your-laptop-has-a-microcontroller/

Yorum yapın

SMM Panel PDF Kitap indir