Czy wirus może zniszczyć BIOS nowoczesnego komputera?

Pod koniec lat 90. niektóre komputery zaczęły infekować wirus komputerowy znany jako CIH. Jego ładunek, po uruchomieniu, nadpisuje informacje systemowe i niszczy BIOS komputera, zasadniczo blokując każdy komputer, który zainfekował. Czy wirus atakujący nowoczesne systemy operacyjne (takie jak Windows 10) może zniszczyć BIOS nowoczesnego komputera i zasadniczo go zepsuć czy teraz wirus nie może uzyskać dostępu do systemu BIOS nowoczesnego komputera?

Komentarze

  • tak, ale z perspektywy atakującego to marnotrawstwo lub zasoby … Więcej informacji o rootkicie dla UEFI jako przykład w poniższym artykule … welivesecurity.com/wp-content/uploads/2018/ 09 / ESET-LoJax.pdf
  • Komentarze nie służą do rozszerzonej dyskusji; ta rozmowa została przeniesiona do czatu .
  • Niektóre (lub większość?) płyt głównych do komputerów stacjonarnych mają pamięć ROM używaną do odzyskiwania systemu BIOS z jakiejś formy mediów (dawniej dyskietki, dziś pendrivey, może cd-rom). ROM nie może być ' modyfikowany, jednak odzyskiwanie zwykle wymaga otwarcia obudowy i przesunięcia zworki w celu uruchomienia w trybie przywracania BIOS. Nie ' nie wiem, jak sobie z tym radzą laptopy.
  • Powiązane: security.stackexchange.com/q / 13105/165253

Odpowiedź

Nowoczesne komputery nie mają BIOSu, mają a UEFI . Aktualizacja oprogramowania układowego UEFI z poziomu uruchomionego systemu operacyjnego jest procedurą standardową, więc każde złośliwe oprogramowanie, któremu uda się uruchomić w systemie operacyjnym z odpowiednimi uprawnieniami, może próbować aby zrobić to samo. Jednak większość UEFI nie akceptuje aktualizacji, które nie są podpisane cyfrowo przez producenta. Oznacza to, że nie powinno być możliwości nadpisania go dowolnym kodem.

Jednak zakłada się, że:

  1. producentom płyt głównych udaje się utrzymać swoje klucze prywatne w tajemnicy
  2. UEFI nie ma niezamierzonych luk w zabezpieczeniach, które pozwalają na nadpisanie go dowolnym kodem lub w inny sposób mogą zostać wykorzystane do spowodowania szkód.

A te dwa założenia niekoniecznie są zgodne .

Odnośnie kluczy, które wyciekły: jeśli klucz podpisujący UEFI stałby się znany opinii publicznej, można założyć, że będzie się działo sporo doniesień w mediach i histerycznych łatek. Wiadomości z branży IT, prawdopodobnie zobaczysz wiele alarmujących nagłówków „Jeśli masz płytę główną [marki] ZAKTUALIZUJ SWOJE UEFI TERAZ !!! 1111oneone” . Inną możliwością jest podpisywanie kluczy, które potajemnie wyciekły do państwowych aktorów. Więc jeśli twoja praca może być interesująca dla szpiegostwa przemysłowego, może to być również dla ciebie wiarygodne zagrożenie.

Jeśli chodzi o błędy: zyskują UEFI coraz większa funkcjonalność, która ma coraz większe możliwości dla ukrytych błędów. Brakuje im również większości wewnętrznych funkcji bezpieczeństwa, które masz po uruchomieniu „prawdziwego” systemu operacyjnego.

Komentarze

Odpowiedź

Tak, na pewno jest to możliwe.

W dzisiejszych czasach, gdy UEFI staje się coraz bardziej rozpowszechniona, jest to jeszcze większe zmartwienie: UEFI ma znacznie większą powierzchnię ataku niż tradycyjny BIOS, a (potencjalna) wada UEFI może być wykorzystana do uzyskania dostępu do maszyny bez konieczności jakikolwiek fizyczny dostęp ( jak pokazali mieszkańcy Eclypsium w czarnym kapeluszu w zeszłym roku ).

Odpowiedź

W praktyce wirus to oprogramowanie, więc może zrobić wszystko, co każde inne oprogramowanie może zrobić.

Prosty sposób odpowiedź na to pytanie i wszystkie inne z klasy „Czy wirusy mogą X?” to pytanie „Czy oprogramowanie obecnie obsługuje X?”

Takie pytania mogą obejmować „czy wirus może chodzić po moim psie?” (nie bez robota wyprowadzającego psy); „Czy wirus może dać mi pizzę?” (tak: niestety nie jest to głównym celem większości autorów wirusów).

Czy BIOSy (UEFI) są obecnie aktualizowane za pomocą oprogramowania? Odpowiedź brzmi: tak, są. Mój zaktualizowany zeszłej nocy, kiedy uruchomiłem ponownie.

A więc odpowiedź brzmi: tak.

Zgodnie z tą samą logiką, wirusy mogą również powodować (i dawniej powodowały) fizyczne uszkodzenia procesora, dysków twardych i drukarek.

Systemy automatyki domowej i pojazdy bez kierowcy są również możliwymi celami uszkodzeń fizycznych, ale nie znam żadnych wirusów, które to spowodowały.

Komentarze

  • Nie ' nie miałbym nic przeciwko, gdyby twórcy złośliwego oprogramowania wykorzystali moje dane osobowe do zamówienia bezpłatnej pizzy i nic więcej. (+1 za przydatne uzasadnienie)
  • @Marc.2377, nie miałbym nic przeciwko, gdyby Twoje dane osobowe zostały użyte do zamówienia mnie darmowej pizzy… 🙂
  • Nowoczesne wirusy będą miały bardzo trudne czas powodujący fizyczne uszkodzenie. Co najwyżej mogą nieco zużywać sprzęt, uruchamiając procesor w naprawdę wysokiej temperaturze, co skraca żywotność, ale ' nie jest powszechne, aby mógł spowodować uszkodzenie . W przeszłości nie było to jednak ' tak. Zobacz ” poke śmierci „.
  • @forest Aren ' t wentylatory i systemy chłodzenia sterowane w dzisiejszych czasach? Nie jestem pewien ', ale założę się, że możesz w jakiś sposób uszkodzić wentylator procesora lub karty graficznej przez oprogramowanie. Rosja zdalnie zniszczyła generatory, włączając je i wyłączając na częstotliwości rezonansowej – założę się, że istnieją podobne sztuczki, które mogą dość szybko zabić twój monitor. Dyski twarde Platter można z pewnością zniszczyć, wielokrotnie obracając je w górę iw dół, dyski półprzewodnikowe są narażone na powtarzające się cykle odczytu / zapisu. Założę się, że zmotywowany haker może wiele zrobić.
  • Myślę, że ' d musimy zdefiniować zakres ” powoduje fizyczne uszkodzenia „, zanim zdecydowaliśmy, czy jest to możliwe / prawdopodobne. Jeśli ograniczysz definicję do dosłownego uszkodzenia komputera, na którym działa kod, to ' jest dość wąskie i myślę, że @forest ma rację. Jeśli uwzględnisz fizyczne uszkodzenia w bardziej ogólnym sensie, ' znacznie łatwiej wyobrazić sobie scenariusze, w których zainfekowany komputer ' kontroluje coś w przeciwnym razie (elektrownia, sygnalizacja świetlna, system transportu zbiorowego, stacja uzdatniania wody itp.) mogą łatwo spowodować poważne szkody fizyczne.

Odpowiedź

Tak, jest to zdecydowanie możliwe.

Oto przykład aktualizacji systemu operacyjnego zawierającej złośliwe oprogramowanie, która została fałszywie podpisana za pomocą klucza prywatnego producenta: https://www.theregister.co.uk/2019/03/25/asus_software_update_utility_backdoor/

Według Kaspersky Labs około miliona laptopów Asus zostało zainfekowanych przez Shadowhammer, z aktualizacją, która wydaje się być poprawnie podpisana. Nie jest jasne, czy spowodowało to zmianę oprogramowania sprzętowego, ale z pewnością mogło to zrobić.

Odpowiedź

Twoje pytanie wskazuje na głębszy temat, jakim są pierścienie i uprawnienia kodu w systemie operacyjnym. W systemie MS DOS kod może robić, co chce. Gdyby kod chciał zapisać wszystkie 0x00 na dysku twardym, mógłby, gdyby chciał wysłać dziwne dane wyjściowe do jakiegoś sprzętu, mógłby również nic nie zatrzymać kodu użytkownika. W nowoczesnym systemie operacyjnym istnieje koncepcja pierścieni (jest to wymuszane przez procesor). Jądro działa na pierścieniu zero i może robić co tylko zechce. Z drugiej strony, kod użytkownika nie może. Działa na czymś, co nazywa się pierścieniem 3 i otrzymuje swój własny mały fragment pamięci i wewnątrz tej pamięci może robić, co chce, ale nie może bezpośrednio komunikować się ze sprzętem . Jeśli kod użytkownika próbuje komunikować się ze sprzętem, jądro natychmiast zabija program. Oznacza to, że jest bardzo mało prawdopodobne, aby zwykły wirus mógł zabić sprzęt, ponieważ nie może z nim bezpośrednio rozmawiać.

Jeśli jądro jest zhakowane, a gra jest w zasadzie skończona. Jądro może robić, co chce i może zdarzyć się cała masa złych rzeczy, takich jak podkręcanie procesora do punktu, w którym sprzęt jest niestabilny, czyszczenie dysków twardych (wypełnianie zer zerami na przykład) lub prawie każdy inny prawdopodobny atak.

Komentarze

  • ” Jeśli kod użytkownika ' próbuje komunikować się ze sprzętem, jądro natychmiast zabija program ” – Naprawdę? Czy możesz podać na to cytat? Myślałem, że chroniona instrukcja po prostu się nie powiedzie i to ' zależy od programu, aby sobie z tym poradzić lub zawiesić się.
  • @Marc .2377 To jest poprawne, jeśli użytkownik ' próbuje wykonać instrukcję w CPL3, która wymaga uprawnień CPL0, wyrzuci #GP(0) (ogólny błąd ochrony lub GPF). Powoduje to, że kod przeskakuje do jądra, aby zobaczyć, jaki program obsługi sygnału został skonfigurowany dla tego zdarzenia. Domyślnie jądro zabije proces, chociaż ' jest technicznie możliwe, aby proces skonfigurował procedurę obsługi sygnału dla SIGSEGV, w którym to przypadku jądro wznawia wykonywanie procesu o lokalizacja obsługi sygnału. To ' generalnie nie jest dobrym pomysłem, ponieważ proces jest uważany za …
  • … niezdefiniowany zgodnie z POSIX po wznowieniu wykonywania po podniesieniu SIGSEGV, który nie ' t pochodzi z raise(). Wznawia wykonywanie po nieudanej instrukcji, która po prostu zostanie uruchomiona ponownie i spowoduje zablokowanie procesu, jeśli sygnał zostanie zignorowany.Dlatego może zająć się nim program, jeśli konfiguruje moduł obsługi sygnału dla SIGSEGV, ale ' prawie nigdy nie ma sytuacji, w których można by to zrobić (chociaż myślę, że emulator Dolphin wyłapuje segfaulty w celu jakiejś hakerskiej optymalizacji, więc nie ' nie musi naśladować dziwnego zachowania i może polegać na MMU).
  • Zobacz to , aby zobaczyć (rzadki) przykład, kiedy jest do programu. Lub po prostu przeczytaj PoC || GTFO 6: 3.

Odpowiedz

Potencjalnie. Byłoby to jednak trudne, ponieważ najprawdopodobniej musiałoby udawać legalną aktualizację BIOS-u gdzieś w przyszłości. Sposób, w jaki można to zrobić, zmieni się w zależności od Twojego mobo, ale jest prawdopodobne, że musiałby to obejmować wyciek kluczy prywatnych lub sprzętowych lub innych sekretów.

Odpowiedź

Tak. Jest to specyficzne dla sprzętu, ale tutaj jest jeden przypadek, w którym użytkownik przypadkowo złamał oprogramowanie układowe płyty głównej z poziomu systemu operacyjnego https://github.com/systemd/systemd/issues/2402

Błąd w oprogramowaniu układowym laptopa MSI oznaczał, że wyczyszczenie zmiennych efi spowodowało, że laptop był bezużyteczny. Ponieważ zmienne te były widoczne w systemie operacyjnym i montowane jako plik, usuwanie każdego pliku z poziomu systemu operacyjnego spowodował problem, który mógł zostać wykorzystany przez wirusa, aby skierować się do tych zmiennych.

Odpowiedź

Jest wiele sposobów, a niektóre z nich są niepokojące. Na przykład Computrace wydaje się być trwałym backdoorem , który może ominąć nie tylko system operacyjny, ale nawet BIOS. Mówiąc bardziej ogólnie, Intel Management Engine ma pełną kontrolę nad komputerem i można go prawdopodobnie wykorzystać. Mogą modyfikować BIOS, ale nawet nie muszą. Dopiero w 2017 r. badacze bezpieczeństwa zorientowali się, że ut jak wykorzystać IME Intel przez USB do uruchomienia niepodpisanego kodu .

Chodzi o to, że nawet jeśli masz całkowicie bezpieczny system operacyjny i nigdy nie pobierasz żadnego niezabezpieczonego lub złośliwego oprogramowania, nadal istnieje niezauważalna możliwość, że możesz zostać dotknięty złośliwym oprogramowaniem, które omija to wszystko, wykorzystując lukę w zabezpieczeniach twojego sprzętu (nawet gdy twój komputer jest rzekomo wyłączony).

Odpowiedź

Coś, czego tu nie widziałem:

Jeśli atakujący uzyska wystarczające uprawnienia do zainstalowania nawet oficjalnego Oprogramowanie układowe UEFI, poprawnie podpisane przez producenta systemu, może nadal potencjalnie pozostawić komputer w stanie niemożliwym do uruchomienia przez wymuszone wyłączenie komputera w odpowiednim momencie podczas procesu.

Kod aktualizacji w nowoczesnych oprogramowaniach sprzętowych zazwyczaj stara się zminimalizować ilość czasu, jaki komputer spędza w stanie, w którym awaria zasilania spowoduje uszkodzenie oprogramowania układowego i s Niektóre oprogramowanie sprzętowe ma nawet tryb przywracania, który zostanie aktywowany w takim przypadku.

Jednak wiele z tych systemów nie jest całkowicie zabezpieczonych. Chociaż zapewniają dobrą ochronę przed przypadkowymi awariami zasilania, wyłączenie w odpowiednim czasie może spowodować jego śmierć, jeśli oprogramowanie sprzętowe nie ma solidnej funkcji automatycznego przywracania.

Ponadto nie można nawet atakować główne oprogramowanie systemowe. Prawie każde urządzenie w nowoczesnym komputerze ma jakieś oprogramowanie, a wiele z nich można aktualizować za pomocą oprogramowania. Urządzenia te są często mniej bezpieczne. Mogą całkowicie akceptować niepodpisane oprogramowanie układowe lub przynajmniej być mniej odporne przed złośliwymi wyłączeniami podczas procesu aktualizacji.

Jeśli zniszczysz oprogramowanie układowe kontrolera zasilania, kontrolera pamięci masowej, urządzenia pamięci masowej, urządzenia wideo lub kontrolera wejściowego, system może stać się tak samo bezużyteczny, jak gdybyś zaatakował UEFI.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *