Opensource'owa paranoja: czy bać się „tajemniczego” układu w procesorach Intela?

Strona głównaOpensource'owa paranoja: czy bać się „tajemniczego” układu w procesorach Intela?
19.06.2016 16:52
Opensource'owa paranoja: czy bać się „tajemniczego” układu w procesorach Intela?

Kilka dni temu serwis BoingBoing zelektryzował internautówniepokojącą wieścią: otóż w nowych procesorach Intela kryje się„tajemniczy, potężny mechanizm kontrolny, działający naoddzielnym czipie, którego nikt nie może sprawdzić ni zbadać”.Gdy już nieuchronnie dojdzie do jego przejęcia, to wszystkiewyposażone w niego systemy staną się narażone na niemożliwe dopokonania, niewykrywalne rootkity. Dramatyczne ostrzeżenie DamienaZammita, który za swoją misję obrał otwarcie tego potężnegomechanizmu i zastąpienie go wolną, otwartą alternatywą, wywołałospore zainteresowanie w Sieci – newsy temu poświęcone pojawiły się wserwisach internetowych w wielu językach, sprawę szerokokomentowano na stronach social news. I po raz kolejny przekonaliśmysię, jak przekonująca może być bzdura, o ile przyprawi się jąodpowiednio paranoicznym sosem.

W artykulena BoingBoing, serwisie znanym przecież i lubianym, brakowało mitylko informacji o psychotronicznej kontroli nad użytkownikiem,sprawowanej przez mechanizm Intela – na tle innych pomysłówautora wcale nie byłoby to najbardziej odjechanym pomysłem. O czymjednak mówimy?

Potomek SuperNintendo w twoim Intelu

Ten tajemniczy i potężny mechanizm kontrolny pojawił się jużw 2006 roku, wraz z premierą procesorów Intel Core 2 Duo, i trudnogo uznać za nowość, przecież dziesięcioletnie procesory nie sąchyba takie nowe? Intel nadał mu nazwę Management Engine.Stanowi fizyczną podstawę rozwiązania o nazwie ActiveManagement Technology (AMT),służącego do zdalnego monitorowania komputerów osobistych izarządzania nimi, poprzez niezależny, pozasystemowy kanałkomunikacyjny. Pozwala na wiele – od kontroli zasilania, przezzdalne modyfikowanie ustawień BIOS-u, po monitorowanie ruchusieciowego i udostępnianie pulpitu przez wbudowany serwer VNC.

Architektura Active Management Technology (źródło: Intel)
Architektura Active Management Technology (źródło: Intel)

Pod względem architektury jestto całkowicie niezależny koprocesor, nie mający nic wspólnego zintelową architekturą x86. Po prawdzie, ma on więcej wspólnego zprocesorem konsoli Super Nintendo! Jest to bowiem wywodzący się zjej procesora SuperFX rdzeń ARC (Argonaut RISC Core), dziś masowowykorzystywany w przeróżnych urządzeniach wbudowanych.Wykorzystuje dziś mieszaną 16- i 32-bitową listę rozkazów, maswój własny interfejs sieciowy z bezpośrednim dostępem dokontrolera Ethernetu, oraz bezpośredni dostęp do szyny PCI. Madostęp do własnej pamięci flash, w której może przechowywaćswój stan po wyłączeniu komputera.

Nie jest jednak, wbrew temu copisze autor artykułu w BoingBoing, żadnym oddzielnym czipem, dziśten rdzeń osadzony jest w Platform Controller Hubie, układzie,który przejął niektóre funkcje mostka północnego warchitekturze Intela.

Management Engine: komunikacja z siecią poza systemem operacyjnym (źródło: Intel)
Management Engine: komunikacja z siecią poza systemem operacyjnym (źródło: Intel)

Od strony software’owej wiadomojeszcze mniej – Intel faktycznie nie bardzo chce mówić oManagement Engine. Z ustaleń niezależnych badaczy wynika, żedziałać ma na tym rdzeniu ThreadX, system operacyjny czasurzeczywistego (RTOS) firmy Express Logic, znalazło się tam teżmiejsce dla wirtualnej maszyny Javy.

To straszne zamknięte oprogramowanie

Autor o dziwo wcale nie sugeruje, że Intel stworzył sobienajwiększy na świecie botnet. Zagrożenie tkwi w czymś innym –jeśli Management Engine zostałoby przejęte przez złośliweoprogramowanie, to napastnik uzyskałby niewykrywalny dostęp domaszyny. Jako że zaś układu tego nie ma jak zbadać, nie możnabyłoby takiego rootkitu w żaden sposób usunąć.

By jednak przejąć Management Engine, należałoby złamaćzabezpieczenia. Intel stosuje tu szyfrowanie RSA, z wykorzystaniemklucza RSA-2048. Wiele czasu jeszcze minie, zanim komuś uda się gozłamać, rozkładając ją na czynniki pierwsze (chyba, że naglepojawią się magiczne komputery kwantowe). Jak do tej porynajwiększym kluczem RSA, jakim udało się złamać, był klucz768-bitowy. I sam autor przyznaje, że nawet z największymisuperkomputerami nic tu się dziś nie zdziała.

Sytuacja bowiem wygląda tak, że to sam Zammit chciałbyprzełamać zabezpieczenia Intela – i nie może. Jego celem jestbowiem stworzenie alternatywnego wolnego firmware dla ManagementEngine, z którego mogliby korzystać zainteresowani użytkownicy.Jak jednak pisze:* niestety, jako że firmware jest chronione przezRSA 2048, nie mamy możliwości uruchomienia naszego kodu naManagement Engine, ponieważ nie przechodzi on walidacji. Nie możemyzrobić kroku naprzód, nawet jeśli byśmy chcieli*. Co więcIntel miałby zrobić? Ano oddać klucz do Management Enginespołeczności Open Source, która opracuje sobie bezpieczniejszefirmware.

Zrekapitulujmy to, co zostało do tej pory powiedziane:

  1. W procesorach Intela znajduje się zamknięty, własnościowymechanizm do zdalnego zarządzania komputerem.
  1. Mechanizm ten po przejęciu przez cyberprzestępców pozwoliłbyna tworzenie nieusuwalnych rootkitów.
  1. Mechanizm ten jest zabezpieczony potężnymi zabezpieczeniamikryptograficznymi, uniemożliwiającymi uruchomienie na nim obcegokodu.
  1. Abyśmy wszyscy byli bezpieczniejsi, Intel powinien zrezygnowaćz tych zabezpieczeń, aby na Management Engine dało się wgraćotwarte i wolne firmware.
  1. Otwarte i wolne firmware bez zabezpieczeń kryptograficznychbędzie bezpieczniejsze niż własnościowe, zamknięte firmware,chronione przez RSA-2048.

Naprawdę?

Czy otwarte znaczy bezpieczne?

Co do bezpieczeństwa otwartego oprogramowania, to ostatnie latapokazały nam, że pod wieloma względami jest z nim równie źle,jak z oprogramowaniem własnościowym. Jasne, w zamkniętym kodziestraszą luki mające po wiele lat, w Windowsie dziś odkrywa sięjeszcze potworki z poprzedniego stulecia. Wystarczy jednakprzypomnieć sobie odkrytą w zeszłym roku lukęGHOST w blibliotece standardowej C Linuksa (glibc) – na widokubyła 14 lat, a jakoś te tysiące gałek ocznych dostrzec jej takdługo nie mogły.

Można więc powiedzieć, że otwarcie Management Engine naotwarty kod to dopiero będzie otwarcie drogi do nieusuwalnychrootkitów. W końcu cyberprzestępcy nie będą musieli złamaćniemożliwego do złamania dziś kryptosystemu, a jedyniewyeksploitować jakiś system operacyjny – coś, co przecież robiąw każdy wtorek.

Prywatność nie jest tym samym co bezpieczeństwo

O ile jednak przypomnienie ludziom kontrowersji wokół ManagementEngine w kontekście cyberataków mogę uznać jedynie za kolejnąkrucjatę kolejnego opensource’owego fanatyka, to jest pewnakwestia, nad którą powinniśmy się zastanowić. Wierzę, żezabezpieczenia Management Engine Intela są na najwyższym poziomie,i że zespoły specjalistów tej firmy lepiej zajmą się łataniemswojego firmware, niż niezależni deweloperzy Open Source.

Niekoniecznie jednak wierzę w to, że jedynie Intel ma dostęp dokluczy do podpisywania kodu dla Management Engine. Trudno uwierzyćmi w to, że pewna federalna agencja, znana z podsłuchiwaniawszystkiego i wszystkich w imię Narodowego Bezpieczeństwa, w jakiśsposób dostępu do kluczy sobie nie zapewniła. Oczywiście nieszafuje tym na lewo i na prawo, to nie jest tak, że w ten sposóbsprawdza się, czy Jan Kowalski czasem nie romansuje z kochankąprzez komunikator, albo nie kupuje uncji marihuany w darknecie. Toraczej kwestia przemysłowego, politycznego i wojskowego szpiegostwa,rozgrywek na najwyższym szczeblu, zastosowania narzędzi, którychwykorzystanie wymaga każdorazowej autoryzacji szefa NSA.

To jednak zarazem oznacza, że starania krajów rywalizujących zUSA, mające na celu budowę własnych procesorów i własnejinfrastruktury informatycznej, są ze wszech miar uzasadnione. Jużdzisiaj w centralnych urzędach Federacji Rosyjskiej zaczęło siękorzystać z komputerówElbrus, wykorzystujących jednostki centralne na bazie otwartejarchitektury SPARC. Choć ustępują one wydajnością konstrukcjomIntela (i to sporo), w zastosowaniach kluczowych dla bezpieczeństwapaństwa są nieodzowne.

Zwykłym internautom, którzy obawiają się, że Intel zdalniezajrzy do tego, co robią, pozostaje jedynie polecić dobrze znane irozpoznane komputerki RaspberryPi 3, z czysto opensource’owym systemem. To prawda, w środkuARM-owy czip, a ARM-om daleko do bycia Open Hardware. Jeśli więcnosicie kapelusz z folii aluminiowej i szukacie naprawdę całkowicieotwartego komputerka, to trzeba by było rozejrzeć się za którąśz płytek deweloperskich MIPS albo SPARC. Ich dostępność jestjednak znacznie niższa.

Programy

Aktualizacje
Aktualizacje
Nowości
Udostępnij:
Wybrane dla Ciebie
Komentarze (135)