Wiem, że pytanie podobne do tego zostało zadane wcześniej, ale dotyczyło instalacji 32-bitowego systemu operacyjnego na 64-bitowym laptopie. Moje pytanie dotyczy bardziej uszkodzenia sprzętu.
Zastanawiałem się, czy istnieje sposób na połączenie ze sprzętem z systemu operacyjnego lub warstwy terminala w sposób, który mógłby go uszkodzić bez naprawy (faktyczne fizyczne uszkodzenie, a nie tylko wadliwy sprzęt).
- Czy możesz ominąć środki bezpieczeństwa i uruchomić procesor tak mocno, że ceramika faktycznie pęka?
- Czy możesz napisać lub połączyć się z dyskiem twardym w sposób, który spowodowałby fizyczne uszkodzenie talerzy?
- Czy możesz zadzierać z pamięcią i smażyć pamięć RAM?
- Czy możesz zdmuchnąć kartę sieciową?
Interesuje mnie znajomość limitu, do którego oprogramowanie może dotrzeć, patrząc na system jako całość.
Odpowiedzi:
Podczas faktycznego uruchamiania programów obciążenie procesora może powodować wzrost temperatury rdzenia. Podczas gdy nowsze technologie mają pewien wpływ (dynamiczne skalowanie częstotliwości i napięcia), nadal dzieje się tak głównie dlatego, że niektóre instrukcje wykorzystują różne ścieżki elektryczne w mikroprocesorze (w przeciwieństwie do sytuacji, gdy procesor jest po prostu w stanie bezczynności lub niskiej mocy). W przeszłości pisano różne wirusy mocy , które wykorzystują ten fakt do wielokrotnego wykonywania określonego kodu maszynowego, który pobiera najwięcej mocy, a tym samym wytwarza najwięcej ciepła (szczegółowe informacje można znaleźć w pytaniu Czy wirus może stopić procesor? ).
Chociaż możesz również rozszerzyć ten pomysł na inny sprzęt w systemie (który omówię poniżej), innym interesującym jest urządzenie pamięci masowej. Można również napisać wirusa stale odczytu plików na dysku, które będą nosić go na dużo szybsze (zarówno mechaniczne dyski twarde i napędy SSD). Zwiększysz prawdopodobieństwo awarii mechanicznej dysku twardego i zmniejszysz żywotność dysku SSD. Jeśli użytkownik nie zdaje sobie sprawy z ciągłych cykli odczytu i zapisu, najprawdopodobniej możesz uszkodzić jego dyski w ciągu około tygodnia, jeśli prawidłowo to zaimplementujesz.
Ponadto niektóre laptopy Apple mają mikrokontroler wbudowany w baterię. Nic specjalnego, ale w przeszłości wydali łatkę, która aktualizuje oprogramowanie wewnętrzne - a z kolei teraz same baterie są podatne na włamania oprogramowania .
Wróćmy teraz do obrażeń od ciepła. Niektóre nowe płyty główne zawierają opcję modyfikacji ustawień systemu BIOS w systemie Windows. Można teoretycznie napisać wirusa, który zwiększy napięcie w systemie do sztucznie wysokich limitów, potencjalnie uszkadzając komponenty (RAM, procesor, północne / południowe moduły). Podniesienie napięcia i / lub przetaktowanie magistrali PCIe może również uszkodzić niektóre z tych elementów.
Jednym ze składników, w szczególności magistrali PCIe / AGP, do którego chciałbym się zwrócić, jest karta graficzna. Wynika to z faktu, że większość producentów zapewnia narzędzia do przetaktowywania w celu zwiększenia prędkości i napięcia rdzenia. Idąc jeszcze o krok dalej, możesz również napisać wirusa, aby użyć tych narzędzi do podniesienia obu tych rzeczy do niebezpiecznych poziomów, abyś mógł je spalić, przepalić, aż ulegnie degradacji, lub jedno i drugie!
Należy pamiętać, że większość sprzętu komputerowego ma ochronę przed przegrzaniem i osiągnie „wyłączenie termiczne” przed wystąpieniem jakichkolwiek uszkodzeń. Jeśli chodzi o ochronę przeciwprzepięciową, jest to możliwe, ale znacznie mniej powszechne.
Chodzi o to : możliwe jest pisanie wirusów korzystających z dowolnego systemu komputerowego. Jeśli jednak system docelowy nie ma dostępu do zewnętrznego (lub nawet własnego) sprzętu, nie można za bardzo uszkodzić. Najlepszą analogią tutaj byłoby próba włamania się do kogoś, kto wyciągnął kabel Ethernet ze ściany - dosłownie nie masz dostępu do tego systemu.
Mimo to, większość urządzeń w naszych nowoczesnych systemów komputerowych nie mają dostępu do modyfikowania fizycznych parametrów sprzętowych - mianowicie, napięcie i taktowanie rdzenia. Ponieważ te rzeczy mogą być modyfikowane, to jest możliwe dla wirusów wykorzystać i być może zakłócić lub zniszczyć ich działanie całkowicie.
źródło
Zawsze było to ostrzeżenie, że niektóre starsze monitory CRT, jeśli otrzymają sygnał wideo przekraczający częstotliwości, które mogłyby obsługiwać, mogą zostać uszkodzone. Nie wiem, które z nich, ale było to częste zrzeczenie się odpowiedzialności przy dostosowywaniu częstotliwości odświeżania lub ręcznych ustawień rozdzielczości.
Zasadniczo, chyba że system nie ma odpowiedniego chłodzenia lub zainstalowanego odpowiedniego zasilacza, nie można zepsuć procesora, pracując zbyt ciężko. Chłodzenie i moc, z jaką jest zainstalowany, powinny utrzymać go przy 100% zużyciu.
Jednak wszystkie nowoczesne procesory wszystkie aktualizacje mikrokodu. Intel zawsze wymagał szyfrowania mikrokodu, ale AMD tego nie zrobiło (nie wiem, czy to się zmieniło). Może być możliwe przesłanie mikrokodu do procesora, który robi coś paskudnego.
Pamięć flash może być zużyta przy wielokrotnym zapisie. Za pomocą tej metody możliwe jest „wypalenie” pamięci flash BIOS.
Jestem pewien, że producenci dysków twardych projektują swoje urządzenia z blokadami sprzętowymi i bez możliwości regulacji prędkości silnika, ponieważ tak naprawdę silnik HDD obraca się ze stałą prędkością. Jednak wirowanie dysku twardego powoduje jego naprężenie i przedwczesne zużycie, co można zrobić w oprogramowaniu. Możliwe jest również „wypalenie” pamięci flash / pamięci EEPROM dysku twardego za pomocą powtarzających się fałszywych aktualizacji lub włamanego oprogramowania, które wielokrotnie zapisuje w wewnętrznie dostępnej pamięci flash lub pamięci EEPROM. Podobnie w przypadku napędów CD-ROM.
Możliwe jest wyłączenie wentylatorów za pomocą oprogramowania, ale wiele nowoczesnych procesorów wyłączy się automatycznie, gdy zostanie osiągnięta zbyt wysoka temperatura. Starsze procesory nie miały tej ochrony, ale takie płyty główne również nie miały kontroli wentylatora.
źródło
FF40
(LCD Enable) w dowolnym okresie, z wyjątkiem vblank, na stałe spowodowałoby to uszkodzenie ekranu lcd gameboya.Twój zasilacz, jeśli eksploduje, nie wyrządzi takich samych obrażeń jak ten w Die Hard. Przepraszam za rozczarowanie.
Wciągający artykuł podkreślający wariant oprogramowania powoduje niedawno uszkodzenie sprzętu w Wired w związku z wirusem Stuxnet . Oprogramowanie powodujące fizyczne uszkodzenie oprogramowania wirówek jądrowych. To po prostu niesamowite.
źródło
Historycznie było kilka przypadków, w których wady konstrukcyjne sprzętu umożliwiły bezpośrednie i natychmiastowe uszkodzenie maszyny. W jednym przypadku instrukcja jednowierszowa może spowodować zwarcie komputera i zapalenie się, IIRC. Ale przypadki, o których słyszałem, były na starych 8-bitowych mikrach.
Najwyraźniej termin ten to „Killer Poke”, ale właśnie znalazłem to w krótkim Google.
Nie zdziwiłbym się, gdyby takie rzeczy mogły się zdarzyć w systemach wbudowanych z wadliwymi sterownikami sprzętu, ale powinno być trudno je osiągnąć na najpopularniejszych platformach sprzętowych - po pierwsze dlatego, że kontrolowany jest bezpośredni dostęp do sprzętu, a po drugie dlatego, że problemy te powinny być zresztą niezwykłe i bardzo specyficzne dla konkretnych platform sprzętowych. Na przykład pokémon wysadzenia karty graficznej prawdopodobnie będzie działał tylko w przypadku konkretnej karty graficznej.
Zobacz - http://en.wikipedia.org/wiki/Killer_poke
EDYCJA - Nie udało mi się znaleźć żadnych odniesień do zwarcia 8-bitowego mikroprocesora i zapalania się od zabójczego szturchnięcia - być może był to po prostu mit miejski, który gdzieś po sobie podjąłem. Ale uwagi na temat instrukcji procesora HCG (Halt and Catch Fire) ( http://en.wikipedia.org/wiki/Halt_and_Catch_Fire ) są fajne ... Procesor Motorola 6809 był używany w Dragon 32, IIRC, więc może to jest to Słabo pamiętam.
źródło
Oprócz przeciążenia sprzętu istnieją wirusy oprogramowania układowego , które mogłyby zniszczyć sprzęt nie poprzez jego fizyczne uszkodzenie, ale po prostu uniemożliwiając jego działanie (co może być również „fizyczne”, ponieważ sprzętu nie można już używać w żadnym systemie) .
źródło
Uszkodziłem dyskietkę raz, programując kod asemblera, aby przesunąć głowę poza zwykłe limity. Dysk przestał działać i mogłem to zrobić z 2 innymi dyskami.
Ale wiele osób w tym czasie wątpi i nigdy więcej nie zwróciłem uwagi na ten temat.
Trwa dyskusja, czy przepisanie BIOS-u (tak jak zrobił to stary wirus) jest uszkodzeniem fizycznym, ale wiele osób (w tym ja) nie bierze tego pod uwagę.
źródło
Nie, nie można nic zrobić z procesorem w oprogramowaniu, aby spowodować „pęknięcie ceramiki”. Chociaż w niektórych procesorach możliwa jest zmiana trybów sterowania częstotliwością lub mocą, tak aby matryca się przegrzewała , lub zmiana wyjść tak, że tranzystory opadają lub wytwarzają zbyt duży prąd (co zależy od sposobu połączenia komponentów zewnętrznych); którykolwiek z nich uszkodzi krzem lub podkładki. Ceramika pozostanie nienaruszona.
Jest to również możliwe w przypadku procesora, który ma rejestry konfiguracyjne EEPROM (czasami nazywane „bezpiecznikami”), aby zamurować procesor. Na przykład wbudowane procesory ( nie klasa x86, jak w pierwotnym pytaniu ) z wewnętrzną pamięcią flash, które zapewniają opcje ochrony kodu lub inne opcje (na przykład Microchip PIC), które, jeśli zostaną ustawione nieprawidłowo, mogą spowodować uszkodzenie kodu (jeśli ochrona kodu jest włączona , a oprogramowanie próbuje odczytać pamięć programu, zwróci wszystkie zera zamiast rzeczywistych wartości). Spowodowałoby to „cegłę” systemu i przeprogramowanie za pomocą zewnętrznego programatora układów scalonych może być konieczne (być może nawet usunięcie z płytki drukowanej, aby to osiągnąć).
źródło
Większość z nas po prostu pisze kod dla prostych małych komputerów i jest mało prawdopodobne, aby tak się stało. Kiedy łączysz się z maszynami mechanicznymi, staje się to bardziej prawdopodobne.
Niedawno stworzono robaka Stuxnet, który atakuje oprogramowanie Siemensa, które kontroluje wirówki gazowe wykorzystywane w procesie wzbogacania uranu. Spowodowałoby to wirowanie wirówek z prędkościami mającymi na celu ich uszkodzenie.
źródło
Wiele lat temu miałem napęd DAT (cyfrowa taśma audio) skonfigurowany jako napęd kopii zapasowej komputera. Możesz pisać tylko pośrednio, poprzez Retrospect (oprogramowanie do tworzenia kopii zapasowych). Potem znalazłem oprogramowanie, które pozwala ci zamontować dysk - używaj go jak dysku twardego. Działało ... przez kilka tygodni ... a potem napęd taśm się wypalił. Głowice taśm po prostu nie zostały zaprojektowane do swobodnego dostępu jak dysk twardy, a całe to trzaskanie w przód iw tył zniszczyło je.
Tak, oprogramowanie może uszkodzić (a nawet zniszczyć) sprzęt.
źródło
Po odejściu od zwykłych komputerów stacjonarnych nawet nie-złośliwe błędy oprogramowania mogą powodować spektakularne awarie sprzętu:
Mars Climate Orbiter - ponad $ 500 mln przeznaczono na Missona, zniszczone przez błąd konwersji metrycznej do cesarskiej.
Ariane 5 Flight 501 - zniszczony przez błąd przepełnienia liczb całkowitych, powodujący utratę rakiety i pokładowego statku kosmicznego o wartości ponad 370 mln USD.
Dwie awarie samolotu F-22 Raptor o wartości 150 milionów dolarów - różne błędy .
Błędy w oprogramowaniu FADEC helikoptera Chinook były przynajmniej częściowo winne katastrofy ZD576 i śmierci 29 osób.
źródło
*
, IIRC.Mandrake Linux miał błąd z LG CDROM wiele lat temu http://www.linux.com/archive/feed/32318 . Błąd był w tej chwili sławny.
źródło
Zależy to częściowo od ograniczeń nałożonych na sprzęt podczas jego projektowania. Jeśli do komputera dołączona jest bomba, którą zaprojektowano, może prawdopodobnie skutecznie zniszczyć sprzęt za pomocą oprogramowania. Zapobiegaj jednak bezpośredniemu dostępowi do detonatora, a sprzęt jest bezpieczny.
Aby uszkodzić sprzęt, przy pomocy oprogramowania potrzebujesz:
źródło
Tak, przynajmniej w przypadku źle zaprojektowanego sprzętu. Jednak współczesne oprogramowanie sprzętowe musi być zgodne z różnymi przepisami bezpieczeństwa, co ogranicza ich zdolność do samookaleczeń. Nowoczesny procesor wyłączy się po przegrzaniu, nowoczesny dysk twardy / dysk CD / DVD / Bluray ma wstępnie zdefiniowaną prędkość itp .; istnieją wszelkiego rodzaju mechanizmy bezpieczeństwa stosowane przez producentów sprzętu, aby zapobiec uszkodzeniu sprzętu przez wadliwe oprogramowanie (w tym wadliwe sterowniki i oprogramowanie układowe).
Chociaż te mechanizmy bezpieczeństwa nie są w żaden sposób niezawodne, bardzo trudno jest uszkodzić dobrze zaprojektowany sprzęt za pomocą samego oprogramowania. Jedyne, co oprogramowanie może zrobić, to korzystać ze sprzętu w sposób, który optymalnie zwiększy jego zużycie.
źródło
Najprostszym sposobem na uszkodzenie sprzętu jest w przypadku systemów osadzonych, w których można uzyskać dostęp do poszczególnych pinów mikrokontrolera. Możesz po prostu ustawić wejście jako wyjście lub odwrotnie i spowodować zwarcie. Jedyny sposób, w jaki mogę sobie wyobrazić, że jest to przydatne do uszkodzenia komputera, to posiadanie dostępu i możliwość modyfikacji oprogramowania układowego niektórych komponentów sprzętowych.
źródło
Z pewnością możliwe jest spowodowanie uszkodzenia w wielu systemach, jeśli można dostać się do kontroli poziomu BIOS. Wyłączenie wentylatora, a następnie uruchomienie programu wymagającego intensywnych obliczeń spowoduje uszkodzenie wielu systemów (chociaż niektóre zawierają wbudowane ograniczniki termiczne). W niektórych systemach można regulować napięcia za pomocą programu itp., Aw kilku można regulować cykle robocze procesora i tym podobne. (Dotyczy to szczególnie laptopów, w których często występuje rozbudowana logika sterowania zasilaniem).
Oczywiście w przypadku starszych monitorów istniały sposoby na ich uszkodzenie przez zapewnienie niewłaściwej częstotliwości odświeżania lub nawet całkowite wyłączenie wideo. (Większość współczesnych monitorów ma logikę samoobrony.) I, jak ktoś wspomniał, na niektórych dyskietkach możesz spowodować uszkodzenie, prowadząc głowę poza jej granice. (Napotkałem ten problem.)
Miałem telefon Nokia n97mini, który miał uszkodzony wyświetlacz z powodu przegrzania, gdy procesor został złapany w ciasną pętlę i przegrzany. Ciepło spowodowało rozdzielenie się warstw wyświetlacza. Sądzę, że inne telefony mają podobne zagrożenia.
źródło
Tylko jeśli sprzęt jest źle zaprojektowany. Na przykład oprogramowanie kontroluje prędkość silnika elektrycznego poprzez zmianę napięcia, jednak silnik jest zaprojektowany w taki sposób, że zostanie spalony, jeśli najwyższe napięcie zostanie użyte w ciągu 1 minuty. Możesz sobie wyobrazić, że oprogramowanie może łatwo przekroczyć ten limit. Jeśli jednak silnik ma określony prąd cięcia w obwodzie, jeśli jego temperatura osiągnie określoną wartość graniczną, silnik przetrwa cokolwiek, co próbuje zrobić oprogramowanie.
Wracając do mojego innego postu, w którym obwiniłem Windows 7 + Dell BIOS zdolny do opiekania dysku twardego.
źródło
Wiele lat temu czytałem książkę o wirusach komputerowych, a tym, który najbardziej przykuł moją uwagę, był wirus indyka, który mógł zabić sprzęt.
Jeden wariant wirusa skupiałby wiązkę na monitorze CRT w taki sposób, aby ją wypalił. Przez spalenie nie mam na myśli tylko wypalenia luminoforu, chociaż był to efekt uboczny, ale działo elektronowe zawiodło, pozostawiając monitor całkowicie martwy.
Inny wariant wirusa przeprowadzałby obliczenia matematyczne w taki sposób, że przeciążałby koprocesor i powodował jego wypalenie.
Oczywiście było to dawno temu w czasach starszego sprzętu, który był podatny na tego rodzaju ataki. Na szczęście nowoczesny sprzęt jest ogólnie zaprojektowany, aby temu zapobiec, ale prawdopodobnie nie powstrzyma to kogoś, kto jest wystarczająco zdeterminowany.
Ponadto wirusowi zabicie systemu BIOS byłoby stosunkowo łatwe. Jest powód, dla którego flashery BIOS zawsze ostrzegają przed wyłączeniem lub zresetowaniem systemu podczas flashowania; dzieje się tak dlatego, że niekompletny zapis spowodowałby uszkodzenie systemu BIOS, a ponieważ system BIOS jest podstawowym systemem wyjściowym komputera, jego uszkodzenie uniemożliwiłoby działanie systemu. Dawno, dawno temu BIOS mógł być flashowany tylko z trybu czystego DOS, ale flashery Windows istnieją już od jakiegoś czasu. Nic nie stoi na przeszkodzie, aby wirus zapisał jakieś złe rzeczy do BIOS-u, a tym samym zabił system. CIH / Czarnobyl zrobił to dokładnie w 1999 r.
Na szczęście niektóre płyty główne są wyposażone w podwójny BIOS, dzięki czemu kopia zapasowa może być używana w przypadku uszkodzenia podstawowego, a inne umożliwiają resetowanie lub ponowne flashowanie uszkodzonego BIOS-u, ale nie wszystkie robią lub mogą.
źródło
Ogólnie rzecz biorąc, odpowiedź brzmi: oprogramowanie nie może uszkodzić sprzętu. Są jednak wyjątki… Czy ktoś pamięta, kiedy oprogramowanie na oryginalnym komputerze IBM-PC mogło uszkodzić kartę adaptera monochromatycznego lub monitor? To był zdecydowanie otwieracz do oczu.
Oprogramowanie w wielu przypadkach ma teraz kontrolę sprzętową podłączonych do niego urządzeń, dlatego wadliwe oprogramowanie może spowodować uszkodzenie fizycznego sprzętu.
źródło
Terminem związanym z tym jest „zabójcza gra”, która opisuje umieszczenie wartości w rejestrze (instrukcja „gra”), której sprzęt nie może tolerować. Strona Wikipedii dla „killer poke” wymienia kilka przykładów.
Wczesne dyski twarde mogą doznać wszelkiego rodzaju uszkodzeń. Głowice do odczytu / zapisu mogły czasami być przesunięte tak daleko poza talerz, że uderzyły w oś wrzeciona lub obudowę. Może to uszkodzić głowice odczytu / zapisu lub spowodować, że wypadną one z osiowania.
Nowoczesne drukarki atramentowe i skanery często mają przełącznik ograniczający tylko po jednej stronie ścieżki głowicy drukującej lub paska CCD. Tylko oprogramowanie wewnętrzne chroni je przed wyjściem poza zamierzony zasięg (i wjechaniem w coś). Teoretycznie można zaprojektować aktualizację oprogramowania układowego, która nie tylko zepsuje takie urządzenie, ale także spowoduje uszkodzenie fizyczne.
Są też miękkie „zabójcze szturchnięcia”. Żywotność dysku twardego można znacznie skrócić, maksymalizując stres i ciepło. Nawiasem mówiąc, system Windows jest dostarczany z taką „funkcją” - jeśli utworzysz więcej niż jedną programową partycję RAID na dysku twardym, gdy RAID wymaga synchronizacji (na przykład po nieoczekiwanym ponownym uruchomieniu), wszystkie partycje zostaną zsynchronizowane w tym samym czasie, przesuwanie głowic do przodu i do tyłu między skrajnymi pozycjami z maksymalną prędkością, prawdopodobnie przez wiele dni, ponieważ przepustowość w tym stanie jest minimalna. Z drugiej strony dyski SSD będą wymagały trwałej maksymalnej liczby zapisów, aby szybko zakończyć się niepowodzeniem.
źródło
Starszy mikrokomputer BBC był wyposażony w przekaźnik, który służył do uruchamiania i zatrzymywania napędu taśmowego. Zasadniczo należy włączyć przekaźnik za pomocą polecenia przed załadowaniem programu, a następnie wyłączyć przekaźnik.
Podczas włączania lub wyłączania przekaźnika z wnętrza obudowy rozlega się głośne kliknięcie, a szybkie przełączanie stanu przekaźnika generuje brzęczenie. Różne częstotliwości włączania i wyłączania generowałyby różne tony brzęczenia. Możesz użyć tego do odtworzenia melodii.
Przekaźnik nie został jednak zaprojektowany na tak wiele cykli zasilania, a jego wykonanie mogłoby i ostatecznie doprowadziłoby do uszkodzenia przekaźnika nie do naprawienia, powodując, że właściciel komputera wyszedł i kupił nowy, który musiałby być fizycznie przylutowany do płyty głównej w zamian ten stary.
Nauczyłem się tego dzięki osobistemu doświadczeniu, jednak nigdy nie zastąpiłem zepsutego przekaźnika, ponieważ miałem system oparty na dysku, a przełączanie przekaźnika służyło wyłącznie rozrywce.
O ile pamiętam, w podręczniku programisty dostarczonym z BBC Micro pojawiły się nawet ostrzeżenia.
źródło