Может ли какое-либо программное обеспечение физически повредить оборудование?


91

Я знаю, что вопрос, подобный этому, задавался ранее, однако речь шла об установке 32-битной ОС на 64-битный ноутбук. Мой вопрос больше о повреждении оборудования.

Мне было интересно, существует ли способ сопряжения с оборудованием из уровня ОС или терминала, чтобы повредить его без возможности восстановления (реальный физический ущерб, а не только неисправное оборудование).

  • Можете ли вы обойти меры безопасности и запустить процессор так сильно, что керамика действительно сломается?
  • Не могли бы вы написать или взаимодействовать с жестким диском таким образом, чтобы это привело к физическому повреждению пластин?
  • Не могли бы вы возиться с памятью и жарить ОЗУ?
  • Можете ли вы взорвать NIC?

Мне интересно знать предел, до которого может дойти программное обеспечение, глядя на систему в целом.


23
Я бы сказал да всем этим вещам, хотя это не было бы тривиально. Вы читали о Stuxnet - arstechnica.com/tech-policy/news/2011/07/...
Nate


1
Черная команда IBM: penzba.co.uk/GreybeardStories/TheBlackTeam.html
jftuga

4
У моего друга был ЭЛТ-монитор Magnavox, который при значении 1280 x 1024 умирал бы в пучке дыма. Он случайно сделал это с парой мониторов, к счастью, все еще было на гарантии.
Джек Би Нимбл

2
@dmckee Я считаю , что это не является точной копией , потому что это несколько более общем - не о плавлении процессора конкретно, но только о том , как программное обеспечение может вызвать какие - либо физические повреждения.
nhinkle

Ответы:


61

При фактическом запуске программ нагрузка на процессор может вызвать повышение температуры ядра. Хотя новые технологии имеют некоторый эффект (динамическое масштабирование частоты и напряжения), это все же главным образом потому, что некоторые инструкции используют разные электрические пути в микропроцессоре (в отличие от того, когда процессор просто находится в режиме ожидания или в состоянии низкого энергопотребления). В прошлом было написано несколько вирусов , которые использовали этот факт для многократного выполнения определенного машинного кода, который потребляет больше энергии и, следовательно, производит больше тепла (подробнее см. Вопрос « Может ли вирус расплавить процессор?» ).


Хотя вы также можете распространить эту идею на другое оборудование в системе (о котором я расскажу ниже), еще один интересный - это устройства хранения. Вы также можете написать вирус для постоянного чтения и записи файлов на диск, который изнашивает его намного быстрее (как механические, так и твердотельные накопители). Вы увеличите вероятность механического отказа жесткого диска и уменьшите срок службы накопителя SSD. Если пользователь не знает об этих постоянных циклах чтения-записи, вы, скорее всего, повредите его диски в течение недели или около того, если вы правильно это реализовали.

Кроме того, некоторые ноутбуки Apple имеют встроенный в аккумулятор микроконтроллер. Ничего особенного, но в прошлом они выпустили патч, который обновляет прошивку - и, в свою очередь, теперь сами батареи подвержены взлому прошивок .


Теперь вернемся к тепловому урону. Некоторые новые материнские платы включают возможность изменять настройки BIOS под Windows. Вы можете теоретически написать вирус, который увеличит напряжение в системе до искусственно высоких пределов, потенциально повреждая компоненты (ОЗУ, ЦП, север / юг). Повышение напряжения и / или разгон шины PCIe также может повредить некоторые из этих компонентов.

В частности, один из компонентов шины PCIe / AGP, к которому я хотел бы обратиться, - это видеокарта. Это связано с тем, что большинство производителей предоставляют инструменты для разгона, чтобы повысить скорость и напряжение ядра. Сделав этот шаг еще дальше, вы также можете написать вирус, чтобы использовать эти инструменты, чтобы поднять обе эти вещи до опасного уровня, чтобы вы могли либо сжечь его, либо перенапрячь его, пока он не ухудшится, либо и то и другое!

Обратите внимание, что большая часть компьютерного оборудования имеет защиту от перегрева и достигнет «теплового отключения», прежде чем произойдет какое-либо повреждение. Что касается защиты от перенапряжения, это возможно, но гораздо реже.


Дело в том, что можно писать вирусы, использующие любую компьютерную систему. Однако если целевая система не имеет доступа к внешнему (или даже собственному) оборудованию, вы можете нанести не слишком большой ущерб. Лучшая аналогия здесь - это попытка взломать кого-то, кто выдернул свой Ethernet-кабель из стены - у вас буквально нет доступа к этой системе.

При этом, большинство устройств в наших современных компьютерных систем действительно имеют доступ к модификации физических параметров аппаратных средств , а именно - напряжение и частоту ядра. Так как эти вещи могут быть изменены, это возможно для вирусов воспользоваться и , возможно , нарушить или уничтожить их работу в целом.


19
-1 Я не согласен с жесткими дисками. Серверные жесткие диски работают постоянно и не изнашиваются в течение недели. static.googleusercontent.com/external_content/untrusted_dlcp/…
Байрон Уитлок

6
Несмотря на проблему с процессором, любая современная плата будет иметь тепловые отключения, которые должны отключать питание задолго до того, как процессор будет подвергнут опасности физического повреждения.
Фоши

5
@Bryon Whitlock Я бы сказал, что это зависит от модели использования. Большинство серверов кэшируют информацию, которую они получают, и выполняют обратную запись последовательно. Вы можете создать вирус, который будет очень быстро записывать информацию на самом краю и на самых внутренних краях диска назад и на четвертом, вызывая чрезмерный износ намного быстрее. Наконец, если бы вы могли постоянно писать в выбранную группу секторов, вы могли бы вызывать несколько плохих гораздо быстрее, чем обычно.
Прорыв

1
@ Прорыв: хм ... нет. Постоянная запись в одни и те же сектора абсолютно ничего не сделает для этих секторов. Магнитные пластины не "изнашиваются от чрезмерного изгиба". Я немного озадачен тем, почему вы думаете, что это может вызвать проблемы. Если у вашего диска возникают проблемы с поиском между краями диска, у вас плохой диск ... еще раз, что интерфейс электромагнитный, а не механический. Чтобы иметь проблему там, вы должны были бы буквально изнашивать герметичный подшипник, который удерживает рычаг в сборе.
user11934

5
Жесткие диски МОГУТ быть повреждены вирусами, но не от какой-либо глупости, связанной с рукой. Наиболее уязвимой точкой является двигатель главного шпинделя. Запустите накопитель, выключите его, запустите, выключите и т. Д. И т. Д. И т. Д. И т. Д. Это (относительно) сложно для компонентов. Это главная причина (кроме физического шока), что диски для ноутбуков не работают так долго, как настольные диски, требования к питанию позволяют максимально ускорить процесс. Таким образом, вирус может теоретически сократить срок службы настольных накопителей, чтобы он больше походил на накопитель на ноутбуке.
user11934

15

Всегда было предупреждение о том, что некоторые старые ЭЛТ-мониторы, если дать видеосигнал сверх частот, с которыми они могут работать, могут получить повреждения. Я не знаю, какие из них, но это был общий отказ от ответственности, когда вы настраивали частоту обновления или настройки разрешения вручную.

По сути, если в системе отсутствует надлежащее охлаждение или не установлен надлежащий источник питания, вы не сможете сломать процессор, работая слишком усердно. Охлаждение и мощность, с которой он установлен, должны поддерживать его на 100%.

Однако все современные процессоры все обновления микрокода. Intel всегда требовала, чтобы их микрокод был зашифрован, а AMD - нет (не знаю, изменилось ли это). Может быть возможно загрузить микрокод в процессор, который делает что-то неприятное.

Флэш-память может быть изношена с повторными записями. Вероятно, таким способом можно «сжечь» микросхему BIOS.

Я уверен, что производители жестких дисков проектируют свои устройства с аппаратными блокировками и не имеют возможности регулировать скорость двигателя, так как на самом деле двигатель жесткого диска просто вращается с постоянной скоростью. Тем не менее, раскручивание и вращение жесткого диска вызывает его стресс и преждевременный износ, что может быть сделано программным обеспечением. Кроме того, вероятно, можно «сжечь» прошивку жесткого диска / EEPROM с помощью повторяющихся поддельных обновлений или взломанной прошивки, которая многократно записывает данные на внутреннюю доступную флэш-память или EEPROM. Аналогично для приводов CD-ROM.

Можно отключить вентиляторы программным обеспечением, но многие современные процессоры автоматически отключатся при достижении слишком высокой температуры. Старые процессоры не имели такой защиты, но такие материнские платы также не имели управления вентиляторами.


2
О ЭЛТ: я думаю, что это было возможно с более старыми. У меня уже были некоторые из моих уровней, на которых был чистый беспорядок. Я всегда выключал экран, потому что боялся его сломать. Более новые только показали ошибку "вне диапазона".
sinni800

2
Несколько лет назад Донки написал низкоуровневый код, управляющий электронной пушкой (моно) монитора. Я был обеспокоен тем, что, если я ошибаюсь, сканирование луча будет ограничено крошечным пятном в середине экрана, которое может перегреться относительно остального стекла и разбиться. Этого никогда не было, но я немного вспотел!
FumbleFingers

5
На старом цвете gameboy и gameboy, если вы обнулите бит 7 FF40(LCD Enable) в любой период, кроме vblank, это навсегда сломает ЖК-экран gameboy.
Каллум Роджерс

Это было проблемой в середине / конце 90-х годов при настройке X на Linux-машине с определенными комбинациями видеокарт и мониторов и выводом определенных разрешений / глубины цвета / частоты обновления.
Иваниван

10

Ваш источник питания, если он взорвется, не нанесет такого же урона, как в Die Hard. Извините, что разочаровал.

Интересная статья, освещающая вариант программного обеспечения, вызывает повреждение оборудования, недавно появившееся в Wired относительно вируса Stuxnet . Программное обеспечение, вызывающее физическое повреждение командных и управляющих программ ядерных центрифуг. Это просто потрясающе.


2
Хотя это очень интересный вирус, и его последствия были очень велики, я бы сказал, что Stuxnet - это не то, что искал @MaxMackie. В этом случае программное обеспечение контролировало физическое устройство, способное причинить вред . Я думаю, что он говорит только о базовой компьютерной системе, наносящей вред самому себе , а не о любых устройствах, над которыми она имеет прямой контроль. Это сказанное, вирус Stuxnet был чертовски удивителен в том, что он сделал - +1.
Прорыв

1
Я продолжал смеяться и качать головой, читая эту статью. Я знаю, что это не то, о чем он спрашивал, но, видимо, я был не единственным человеком, который думал, что, по крайней мере, имел теоретические отношения с этой темой.
music2myear

8

Исторически сложилось так, что было несколько случаев, когда недостатки конструкции оборудования позволяли непосредственно и сразу повредить машину. В одном случае однострочная инструкция может вызвать короткое замыкание компьютера и загореться, IIRC. Но случаи, о которых я слышал, были на старых 8-битных микросхемах.

По-видимому, термин «Killer Poke», но я только что нашел это в быстром Google.

Я не удивлюсь, если такие вещи могут произойти во встроенных системах с ошибочными драйверами для оборудования, но это должно быть трудно достичь на самых распространенных аппаратных платформах - во-первых, потому что прямой доступ к оборудованию контролируется, и во-вторых, потому что эти проблемы должны быть необычно и очень специфично для конкретных аппаратных платформ в любом случае. Например, удар по вашей видеокарте, вероятно, будет работать только для конкретной видеокарты.

Смотрите - http://en.wikipedia.org/wiki/Killer_poke

РЕДАКТИРОВАТЬ - Я не смог найти никаких ссылок на 8-битные микросхемы, замыкающие накоротко и загорающиеся от убийственного удара - возможно, это был просто городской миф, который я где-то подхватил по пути. Но замечания по поводу инструкций процессора HCG (Halt и Catch Fire) ( http://en.wikipedia.org/wiki/Halt_and_Catch_Fire ) забавны ... Процессор Motorola 6809 использовался в Dragon 32, IIRC, так что, возможно, именно это Я смутно помню.


AFAIK "Killer Poke" в качестве защиты от копирования на Commodore 64 (8 бит) был реальным.
Питер Кофлер

@Peter - Если бы был способ нанести непоправимый ущерб оборудованию C64 с помощью кода, это, вероятно, было бы упомянуто в книге «Подробное руководство» от Raeto West - я ничего не помню, но это мало что значит. Я бы делать ставки , которые там были способы сделать необратимые повреждения дисковода гибких дисков, но я никогда не владел один из них.
Steve314

8

Помимо перегрузки оборудования , существуют вирусы встроенного программного обеспечения , которые могут повредить оборудование не физически, а просто сделать его неработоспособным (что также может быть «физическим», поскольку оборудование больше нельзя использовать ни в одной системе) .


6

Я однажды повредил дисковод, запрограммировав ассемблерный код, чтобы вывести головку из обычных пределов. Диск перестал работать, и я мог сделать это с двумя другими дисками.

Но в то время многие сомневались в этом, и я никогда больше не уделял внимания этому вопросу.

Существует некоторая дискуссия о том, является ли перезапись BIOS (как это делал старый вирус) физическим ущербом, но многие люди (включая меня) снимают это с упомянутых вами проблем.


5

запустить процессор так сильно, что керамика на самом деле ломается

Нет, в программном обеспечении невозможно что-либо сделать с процессором, чтобы вызвать «керамическое разрушение». Хотя на некоторых процессорах возможно изменить частоту или режимы управления мощностью, чтобы матрица перегревалась , или изменить выходные сигналы, чтобы транзисторы поглощали или источали слишком большой ток (который зависит от того, как внешние компоненты соединены); любой из них повредит кремний или прокладки. Керамика не пострадает.

Также возможно на ЦП, который имеет регистры конфигурации EEPROM (иногда называемые «плавкими предохранителями»), чтобы кирпичить ЦП. Например, встроенные процессоры ( не класс x86, как в исходном вопросе ) с внутренней флэш-памятью, которые предоставляют параметры защиты кода или другие параметры (например, Microchip PIC), которые, если установлены неправильно, могут привести к сбою кода (если включена защита кода). и программное обеспечение пытается прочитать память программы, оно возвращает все нули вместо фактических значений). Это может «замуровать» систему и перепрограммирование с использованием внешнего чип-программатора (возможно, даже удаление с печатной платы для достижения этой цели).


3

Большинство из нас просто пишут код для простых маленьких компьютеров, и вряд ли это может произойти. Когда вы взаимодействуете с механическими машинами, это становится более вероятным.

Недавно был создан червь Stuxnet для атаки на программное обеспечение Siemens, управляющее газовыми центрифугами, которое используется в процессе обогащения урана. Это заставит центрифуги вращаться со скоростью, рассчитанной на их повреждение.


3

Много лет назад у меня был диск DAT (цифровая аудиокассета), настроенный как резервный компьютерный диск. Вы можете писать только косвенно, через Retrospect (программное обеспечение для резервного копирования). Затем я нашел программное обеспечение, которое позволяет вам на самом деле смонтировать диск - использовать его как жесткий диск. Это работало ... в течение нескольких недель ... и затем сгорел магнитофон. Ленточные головки просто не были предназначены для произвольного доступа, как жесткий диск, и все это грохотало взад-вперед, разрушая их.

Так что да, программное обеспечение может повредить (или даже уничтожить) оборудование.


3

Когда вы уходите от обычных настольных компьютеров, даже ошибки, не связанные с вредоносным программным обеспечением, могут вызвать впечатляющие сбои оборудования:

  • Mars Climate Orbiter - более $ 500 млн потрачен на Misson, уничтоженные погрешностями преобразования метрики к имперскому.

  • Ariane 5 Flight 501 - уничтожен целочисленной ошибкой переполнения, в результате чего потеря ракеты и бортового корабля обошлась более чем в 370 миллионов долларов США.

  • Два крушения самолета F-22 Raptor за 150 миллионов долларов - из- за различных ошибок .

  • Ошибки в программном обеспечении FADEC вертолета Chinook были, по крайней мере, частично виноваты в крушении ZD576 и гибели 29 человек.


Один из ранних снимков Луны сбился с пути из-за ошибки кодирования в навигационном программном обеспечении. Пропавший без вести *, IIRC.
Даниэль Р Хикс

Давайте не будем упоминать самолет, который летел с ног на голову, как только они пересекали одно полушарие с другим.
Майкл Джонсон


2

Это частично зависит от ограничений, наложенных на оборудование, когда оно было разработано. Если к компьютеру прикреплена бомба, для которой он был спроектирован, вы, вероятно, сможете довольно эффективно уничтожить аппаратное обеспечение с помощью программного обеспечения. Однако не допускайте прямого доступа к детонатору, а оборудование безопасно.

Чтобы повредить аппаратное обеспечение, с программным обеспечением вам потребуется:

  • аппаратное обеспечение, способное повредить себя
  • способ для программного обеспечения контролировать эту возможность (например: пользовательский интерфейс, API, низкоуровневый доступ или ошибки в ограничениях доступа)
  • способ изменить / манипулировать / установить / выполнить программное обеспечение

2

Да, по крайней мере, для плохо разработанного оборудования. Тем не менее, современное оборудование должно соответствовать различным правилам безопасности, что ограничивает их способность к самовосстановлению. Современный процессор отключится при перегреве, современный жесткий диск / CD / DVD / Bluray имеет предустановленную скорость и т. Д .; производители аппаратного обеспечения внедрили все виды механизмов безопасности для предотвращения повреждения аппаратного обеспечения неисправным программным обеспечением (включая неисправные драйверы и встроенное ПО).

Хотя эти механизмы безопасности ни в коем случае не являются надежными, очень сложно повредить хорошо спроектированное оборудование одним программным обеспечением. Максимум, что может сделать программное обеспечение, - это использовать оборудование таким образом, чтобы оптимально увеличить его износ.


2

Самый простой способ повредить оборудование - это встроенные системы, где вы можете получить доступ к отдельным выводам микроконтроллера. Вы можете просто установить вход в качестве выхода или наоборот, и вызвать короткое замыкание. Единственный способ, которым я могу представить, что это полезно для повреждения ПК, - это если у вас есть доступ и вы можете изменить прошивку некоторых аппаратных компонентов.


2

Конечно, это может привести к повреждению во многих системах, если вы можете получить доступ к элементам управления BIOS. Простое выключение вентилятора, а затем запуск программы с интенсивными вычислениями может привести к повреждению многих систем (хотя некоторые содержат жесткие ограничители температуры). В некоторых системах вы можете регулировать напряжения с помощью программы и т. Д., А в некоторых вы можете регулировать рабочие циклы процессора и тому подобное. (Это особенно актуально для ноутбуков, где часто используется обширная логика управления питанием.)

И, конечно же, на старых мониторах были способы повредить их, предоставив неправильную частоту обновления или даже просто полностью отключив видео. (Большинство современных мониторов содержат логику самозащиты.) И, как кто-то упоминал, на некоторых флоппи-дисководах вы можете нанести ущерб, повернув голову за ее пределы. (Я столкнулся с этой проблемой.)

У меня был телефон Nokia n97mini, у которого его дисплей был поврежден из-за перегрева, когда процессор застрял и перегрелся. Жара заставила слои дисплея отделиться. Я предполагаю, что другие телефоны имеют аналогичные опасности.


1

Только если оборудование плохо спроектировано. Например, программное обеспечение контролирует скорость электродвигателя путем изменения напряжения, однако двигатель сконструирован таким образом, что он будет сгорать, если наибольшее напряжение используется в течение 1 минуты. Вы можете представить, что программное обеспечение может легко превысить этот предел. Однако, если двигатель имеет определенный ток отключения цепи, если его температура достигает определенного предела, то двигатель выживет независимо от того, что пытается сделать программное обеспечение.

Возвращаясь к моему другому посту, где я обвинил Windows 7 + Dell BIOS в том, что он может поджаривать жесткий диск.


1

Несколько лет назад я прочитал книгу о компьютерных вирусах, и больше всего я привлек к себе внимание - « Вирус Турции», способный уничтожить оборудование.

Один из вариантов вируса может сфокусировать луч в мониторе ЭЛТ, чтобы он сгорел. Под сжиганием я имею в виду не только выгорание люминофора, хотя это было побочным эффектом, но электронная пушка сломалась бы, оставив монитор полностью мертвым.

Другой вариант вируса будет выполнять математические вычисления таким образом, чтобы он перегружал сопроцессор и вызывал его сгорание.

Конечно, это было некоторое время назад во времена устаревшего оборудования, которое было подвержено такого рода атакам. К счастью, современное оборудование, как правило, предназначено для предотвращения этого, но это, вероятно, не остановит того, кто достаточно решителен.


Кроме того, вирусу было бы относительно легко убить BIOS. Есть причина, по которой прошивальщики BIOS всегда предупреждают вас не выключать или не перезагружать систему во время перепрошивки; это потому, что неполная запись приведет к повреждению BIOS, а так как BIOS является базовой системой ввода-вывода компьютера, ее повреждение приведет к неработоспособности системы. Когда-то BIOS можно было прошивать только из режима чистого DOS, но Windows-прошивальщики существовали в течение некоторого времени. Ничто не мешает вирусу записать некоторые плохие вещи в BIOS и, таким образом, убить систему. CIH / Чернобыль сделал именно это в 1999 году.

К счастью, некоторые материнские платы поставляются с двумя BIOS, так что резервная копия может быть использована в случае повреждения основного, а другие позволяют сбросить или повторно прошить поврежденный BIOS, но не все это делают или могут.


0

Обычно ответом является то, что программное обеспечение не может повредить оборудование. Однако есть исключения ... Кто-нибудь помнит, когда программное обеспечение на оригинальном IBM-PC могло повредить монохромную плату адаптера или монитор? Это было определенно откровением.

Программное обеспечение во многих случаях теперь имеет аппаратное управление подключенными к нему устройствами, поэтому неисправное программное обеспечение может привести к повреждению физического оборудования.


0

Термин, относящийся к этому, - это «убийственная игра», которая описывает внесение значения в регистр («инструкция»), которую аппаратное обеспечение не может допустить. На странице Википедии для "киллера тыка" перечислено несколько примеров.

Ранние жесткие диски могли пострадать от всех видов повреждений. Головки чтения / записи иногда могут быть перемещены так далеко за пределы диска, что они попадают на ось шпинделя или корпус. Это может привести к повреждению головок чтения / записи или к их неправильному расположению.

Современные чернильные принтеры и сканеры часто имеют ограничительный переключатель только на одной стороне дорожки их печатающей головки или ПЗС-матрицы. Только прошивка защищает их от выхода за пределы предполагаемого диапазона (и попадания в вещи). Теоретически может быть разработано обновление прошивки, которое не только блокирует такое устройство, но и наносит физический ущерб.

Есть и мягкие «убийственные удары». Срок службы жесткого диска может быть значительно сокращен за счет максимального напряжения и нагрева. Кстати, Windows поставляется с такой «функцией» - если вы создаете более одного программного раздела RAID на жестком диске, когда необходимо синхронизировать RAID (например, после неожиданного перезапуска), все разделы будут синхронизироваться одновременно, перемещение головок привода вперед и назад между крайними положениями на максимальной скорости, вероятно, в течение нескольких дней, поскольку пропускная способность в этом состоянии минимальна. С другой стороны, твердотельные накопители нуждаются в постоянном максимальном количестве операций записи, чтобы на раннем этапе дать сбой.


0

Более старый микрокомпьютер BBC был оснащен реле, которое использовалось для запуска и остановки стримера. Как правило, вы должны включить реле с помощью команды перед загрузкой программы, а затем отключить реле.

При включении или отключении реле внутри корпуса будет слышен громкий щелчок, и быстрое переключение состояния реле вызовет шум. Разная частота включения и выключения будет генерировать разные тоны жужжания. Затем вы можете использовать это, чтобы играть мелодию.

Однако реле не было рассчитано на такое большое количество циклов питания, и это могло бы и в конечном итоге повредить реле без возможности ремонта, заставив владельца компьютера выйти и купить новый, который должен быть физически припаян на материнскую плату вместо замены. Старый.

Я узнал об этом на личном опыте, однако никогда не заменял сломанное реле, так как у меня была дисковая система, и переключение реле было исключительно для развлечения.

Насколько я помню, в справочном руководстве программиста, которое поставлялось с BBC Micro, были даже предупреждения об этом ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.