Twórca Linuksa o łatkach Intela na luki w procesorach: „To zwykłe śmieci!”

Strona główna Aktualności
image

O autorze

W niedzielę pojawić się miał finalny Linux 4.15, jednak się nie pojawił. Linus Torvalds zdecydował, że ze względu na to całe zamieszanie wokół luk Spectre i Meltdown trzeba jeszcze jednego wydania kandydackiego. Zamiast finalnego wydania, Linus napisał tymczasem maila na listę dyskusyjną deweloperów kernela, w której w końcu otwarcie napisał co myśli o działaniach Intela. Ktoś wciska nam kompletne śmieci z niejasnych powodów – napisał twórca Linuksa.

Linus Torvalds wziął udział w dyskusji z wieloletnim deweloperem linuksowego kernela i byłym inżynierem Intela (a obecnie Amazona), dotyczącej stworzenia makr sterujących działaniem mechanizmu Indirect Branch Restricted Speculation (IRBS), służącego do przewidywania rozgałęzień wykonywania kodu i w konsekwencji przyspieszenia przepływu potoku instrukcji. To właśnie nadużycie tego mechanizmu umożliwia jeden z ataków Spectre i pozyskanie informacji z innych procesów działających w systemie.

Z tego co zrozumieliśmy z dyskusji między deweloperami kernela, Intel zamierza wprowadzić do architektury swoich procesorów x86 mechanizm, poprzez który procesor będzie rozgłaszał, że może być bezpieczny. Uruchamiany na nim system operacyjny będzie mógł następnie ustawić bit kontrolny, poprzez który procesor stanie się zabezpieczony. Steruje tym wszystkim zbiór dość skomplikowanych makro. Rozwiązanie perfekcyjne – teraz to nie winą Intela, lecz deweloperów systemu operacyjnego będą marne wyniki w benchmarkach I/O, wybrali z jakiegoś powodu włączenie IRBS, a przecież wcale nie musieli.

David Woodhouse przyznał, że to brzydki hack, ale mamy trudną sytuację, cały świat płonie, a dzięki takim rozwiązaniom nie musimy wyłączać centrów danych i iść paść kozy, więc nie należy tak bardzo narzekać. Ale dla kogo to są rozwiązania? Linus Torvalds sugeruje, że to rozwiązania opracowane przez prawników, nie mające sensu z technicznego punktu widzenia, a służące nie zabezpieczeniu użytkowników, lecz ochronie Intela przed pozwem zbiorowym.

Zresztą nie ma co owijać w bawełnę. Linus wyjaśnia, że łatki powodują m.in., że rejestry kontrolne procesora zaczynają wypisywać śmieci na punkty wejścia/wyjścia kernela, generując przy tym spory narzut. Rzekomo po to, by chronić kernel, ale czy tak jest w rzeczywistości? Twórca Linuksa mówi: gdyby chodziło o oczyszczenie buforów rozgałęzień (BTB) przy aktualnych przełączeniach kontekstu między różnymi użytkownikami, to bym wam uwierzył. Ale łatki tego nie robią. W tej formie TO ZWYKŁE ŚMIECI. To szaleństwo, one robią rzeczy nie mające sensu. To czyni wszystkie twoje argumenty podejrzanymi – łatki robią rzeczy, które nie mają sensu.

Możemy się spodziewać, że słowa Linusa zostaną wykorzystane przed sądem w pozwie zbiorowym, jaki już wytoczono Intelowi. Łatki IRBS czynią bowiem całą sytuację jeszcze gorszą. Jeśli twórca Linuksa się nie myli (a kiedy ostatnio się mylił w kwestiach działania kernela?), Intel będzie mógł ogłosić, że załatał groźne luki, tymczasem praktycznie żadna dystrybucja nie będzie aktywowała mechanizmu bezpieczeństwa, ze względu na ogromny narzut na wydajność. W rezultacie w systemach pozostanie wielka luka w zabezpieczeniach, o której przeciętny menedżer IT w korporacji nic nie będzie wiedział – przecież Intel załatał luki.

Podobnie zresztą Intel rozgrywa sprawę na polu wydajności, odwracając naszą uwagę od tego, co istotne. Z przedstawionych przez dział Public Relation wynikach benchmarków po zastosowaniu łatek na Meltdown mogliśmy się na początku dowiedzieć, że właściwie to nic się nie dzieje, spadek wydajności jest na poziomie 0,01% – tylko że w obciążeniach roboczych nic nie mających wspólnego z operacjami I/O, gdzie nikt się żadnego spadku się nie spodziewał.

Myślę, że potrzebujemy czegoś lepszego niż te śmieci – kończy swój wywód twórca Linuksa.

fotografia: Linus Torvalds na konferencji LinuxCon Europe, licencja CC BY-SA 4.0, autor Krd

© dobreprogramy