Linus Torvalds oferuje pedał gitarowy pośród kontrowersji wokół jądra
W niespodziewanym, ale zachwycającym obrocie wydarzeń Linus Torvalds podzielił się swoim świątecznym nastrojem wcześniej dziś, wyrażając chęć stworzenia spersonalizowanego pedału gitarowego dla szczęśliwego programisty Linuksa. Ten gest pojawia się w czasie, gdy społeczność programistów świętuje postęp wersji jądra Linuksa 6.13, pośród ogólnie pozytywnego sezonu świątecznego.
Zmiana jądra budzi kontrowersje
Jednak radosne usposobienie Torvaldsa napotkało przeszkodę z powodu niedawno zaproponowanej zmiany Microsoftu, która groziła zahamowaniem postępu. Na szczęście szybkie interwencje Intela i AMD zdołały złagodzić problem w samą porę.
Szczegóły kontrowersyjnej zmiany
Problematyczna zmiana dotyczyła konfiguracji jądra znanej jako ARCH_HAS_EXECMEM_ROX
. To ustawienie miało na celu zwiększenie wydajności poprzez włączenie buforowania pamięci wykonywalnej (EXECMEM) z uprawnieniami do wykonywania tylko do odczytu (ROX), szczególnie dla architektur x86_64 i AMD64 — zasadniczo ukierunkowanych na 64-bitowe procesory AMD i Intel.
Pojawiają się obawy techniczne
Niestety, ta zmiana została przesłana bez odpowiedniego potwierdzenia od opiekuna jądra x86, co doprowadziło do poważnych problemów z integralnością przepływu sterowania (CFI) na dotkniętych procesorach. Peter Zijlstra z Intela wydał dziś pilną prośbę o cofnięcie zmian związanych z obsługą EXECMEM_ROX, powołując się na fakt, że implementacja pozostaje niedokończona i problematyczna.
x86: Wyłącz obsługę EXECMEM_ROX
Cały ten nonsens z module_writable_address() narobił niezłego bałaganu w alternative.c, nie wspominając o tym, że nadal zawiera błędy — niektóre warianty CFI ulegają awarii i przestają działać.
Mike pracował nad poprawkami, które mają to wszystko uporządkować, ale biorąc pod uwagę obecny stan rzeczy, te rzeczy po prostu nie są gotowe.
Wyłącz na razie, spróbujemy ponownie w następnym cyklu.
Reakcje przemysłu
Borislav Petkov z AMD również wyraził swoje niezadowolenie, zwracając uwagę na niedopatrzenie w procesie:
Uwielbiam to, jak to poszło bez ani jednego opiekuna x86 Ack, zepsuło to mnóstwo rzeczy, a potem nadal tam jest, zamiast zostać przywróconym. Nie róbmy tego więcej, proszę.
— Pozdrawiam/Grus, Borys.
Zrozumienie technologii wymuszania przepływu sterowania (CET)
Dla tych, którzy mogą nie być świadomi, Control-flow Enforcement Technology (CET) stanowi kluczowe ulepszenie bezpieczeństwa w nowoczesnym przetwarzaniu. Zawiera dwa główne komponenty: Shadow Stack i Indirect Branch Targeting (IBT). Shadow Stack działa jako obrona przed atakami Return Oriented Programming (ROP), podczas gdy IBT chroni systemy przed zagrożeniami Call or Jump Oriented Programming (COP/JOP).
CET osiąga to bezpieczeństwo poprzez porównanie tradycyjnego stosu programów z kopią zapasową przechowywaną na sprzęcie, znaną jako Shadow Stack, zapewniając w ten sposób dokładność adresów zwrotnych. W istocie Shadow Stack odgrywa kluczową rolę w zapobieganiu przejęciu przez złośliwe oprogramowanie przepływu wykonywania legalnego oprogramowania, skutecznie oznaczając wszelkie potencjalnie zagrożone programy.
Więcej informacji i szczegółową analizę znajdziesz tutaj .
Dodaj komentarz