stringtranslate.com

Прошивка

Прошивка обычно хранится в EEPROM , который использует протокол ввода-вывода, такой как SPI .

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

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

Прошивка хранится в энергонезависимой памяти – либо в постоянном запоминающем устройстве (ПЗУ), либо в программируемой памяти, такой как EPROM , EEPROM или флэш -памяти . Изменение прошивки устройства, хранящейся в ПЗУ, требует физической замены микросхемы памяти, хотя некоторые микросхемы не предназначены для удаления после изготовления. Программируемую память прошивки можно перепрограммировать с помощью процедуры, которую иногда называют перепрошивкой. [1]

Распространенными причинами смены прошивки являются исправление ошибок и добавление функций .

История и этимология

Ашер Оплер использовал термин «прошивка» в статье Datamation 1967 года как промежуточный термин между «аппаратным обеспечением» и «программным обеспечением». Оплер предполагал, что компьютерные системы четвертого поколения будут иметь перезаписываемое хранилище управления (небольшую специализированную высокоскоростную память), в которое будет загружаться микропрограммное обеспечение. Многие функции программного обеспечения будут перенесены в микрокод, а наборы инструкций можно будет настраивать, загружая разные прошивки для разных наборов инструкций. [2]

По мере того как компьютеры стали усложняться, стало ясно, что различные программы необходимо сначала запускать и запускать, чтобы обеспечить согласованную среду, необходимую для запуска более сложных программ по усмотрению пользователя. Для этого требовалось запрограммировать компьютер для автоматического запуска этих программ. Более того, поскольку компании, университеты и маркетологи хотели продавать компьютеры непрофессионалам с небольшими техническими знаниями, возникла необходимость в большей автоматизации, чтобы позволить непрофессионалам легко запускать программы для практических целей. Это привело к появлению такого рода программного обеспечения, которое пользователь не стал бы запускать сознательно, и это привело к появлению программного обеспечения, о котором непрофессионал даже не знал бы. [3]

Первоначально встроенное ПО отличалось от аппаратного обеспечения (сам ЦП) и программного обеспечения (обычные инструкции, выполняемые на ЦП). Он состоял не из машинных инструкций ЦП, а из микрокода более низкого уровня, участвующего в реализации машинных инструкций. Он существовал на границе между аппаратным и программным обеспечением; отсюда и название прошивки . Со временем слово «прошивка» стало широко использоваться для обозначения любой компьютерной программы, которая тесно связана с аппаратным обеспечением, включая BIOS на ПК, загрузочную прошивку на смартфонах, компьютерную периферию или системы управления на простых бытовых электронных устройствах, таких как микроволновые печи , пульты дистанционного управления. .

Приложения

Компьютеры

Прошивка ROM BIOS на материнской плате Baby AT

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

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

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

Примеры встроенного программного обеспечения компьютера включают в себя:

Обновление прошивки камеры Fuji Instax

Товары для дома и личного пользования

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

Автомобили

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

Другие примеры

Другие приложения прошивки включают в себя:

Мигает

Перепрошивка [5] предполагает перезапись существующей прошивки или данных, содержащихся в EEPROM или модуле флэш-памяти электронного устройства, новыми данными. [5] Это можно сделать для обновления устройства [6] или для смены поставщика услуги, связанной с функцией устройства, например, при смене одного поставщика услуг мобильной связи на другого или установке новой операционной системы. Если прошивку можно обновить, это часто делается с помощью программы от поставщика и часто позволяет сохранить старую прошивку перед обновлением, чтобы можно было вернуться к ней в случае сбоя процесса или если более новая версия работает хуже. Разработаны бесплатные программные замены вендорным инструментам для прошивки, например Flashrom .

Взлом прошивки

Иногда третьи стороны разрабатывают неофициальную новую или модифицированную («послепродажную») версию прошивки, чтобы предоставить новые функции или разблокировать скрытые функции; это называется кастомной прошивкой . Примером может служить Rockbox как замена прошивки портативных медиаплееров . Существует множество самодельных проектов для различных устройств, которые часто открывают функциональные возможности вычислений общего назначения в ранее ограниченных устройствах (например, запуск Doom на iPod ).

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

Большинство хаков прошивки являются бесплатным программным обеспечением .

Хаки прошивки жесткого диска

Московская «Лаборатория Касперского» обнаружила, что группа разработчиков, которую она называет « Equation Group », разработала модификации прошивки жесткого диска для различных моделей накопителей, содержащие троянского коня , который позволяет хранить данные на диске в местах, которые будут не будут удалены, даже если диск был отформатирован или очищен. [7] Хотя в отчете «Лаборатории Касперского» прямо не утверждается, что эта группа является частью Агентства национальной безопасности США (АНБ), данные, полученные из кода различного программного обеспечения Equation Group, позволяют предположить, что они являются частью АНБ. [8] [9]

Исследователи «Лаборатории Касперского» назвали действия Equation Group самой продвинутой хакерской операцией из когда-либо обнаруженных, а также зафиксировали около 500 заражений, вызванных Equation Group, по меньшей мере в 42 странах.

Риски безопасности

Марк Шаттлворт , основатель компании Canonical , создавшей дистрибутив Ubuntu Linux , охарактеризовал проприетарную прошивку как угрозу безопасности, заявив, что «прошивка на вашем устройстве — лучший друг АНБ » и назвав прошивку «троянским конем монументальных технологий». пропорции». Он утверждает, что некачественная прошивка с закрытым исходным кодом представляет собой серьезную угрозу безопасности системы: [10] «Ваша самая большая ошибка — предполагать, что АНБ — единственное учреждение, злоупотребляющее своим положением доверия — на самом деле, разумно предположить, что все прошивки - это помойка небезопасности, благодаря некомпетентности высшей степени со стороны производителей, и компетентности высшей степени со стороны очень широкого круга таких агентств". В качестве потенциального решения этой проблемы он предложил использовать декларативную прошивку, которая бы описывала «связь оборудования и зависимости» и «не должна включать исполняемый код ». [11] Прошивка должна быть с открытым исходным кодом , чтобы код можно было проверить и проверить.

Взломы пользовательских прошивок также направлены на внедрение вредоносного ПО в такие устройства, как смартфоны или USB-устройства . Одна такая инъекция смартфона была продемонстрирована в ОС Symbian на MalCon , [12] [13] хакерском съезде . На конференции Black Hat USA 2014 был представлен хак прошивки USB-устройства под названием BadUSB , [14] демонстрирующий, как можно перепрограммировать микроконтроллер USB-накопителя для подделки различных типов устройств с целью получения контроля над компьютером, кражи данных или шпионажа за компьютером. пользователь. [15] [16] Другие исследователи безопасности продолжили работу над тем, как использовать принципы, лежащие в основе BadUSB, [17] одновременно выпустив исходный код хакерских инструментов, которые можно использовать для изменения поведения различных USB-устройств. [18]

Смотрите также

Рекомендации

  1. ^ «Что такое прошивка?». 23 января 2013 г.
  2. ^ Оплер, Ашер (январь 1967 г.). «Программное обеспечение четвертого поколения». Датаматизация . 13 (1): 22–24.
  3. ^ «Введение в компьютерные приложения и концепции. Модуль 3: Системное программное обеспечение». Люмен.
  4. ^ Милевчик, Майкл (2000). «Обновление прошивки. Больше скорости и безопасности». ПК Праксис (на немецком языке). 1/2000: 68.
  5. ^ ab «Прошивка». Tech-Faq.com. Архивировано из оригинала 27 сентября 2011 года . Проверено 8 июля 2011 г.
  6. ^ «Центр разработчиков HTC». ХТК . Архивировано из оригинала 26 апреля 2011 года . Проверено 8 июля 2011 г.
  7. ^ «Группа уравнений: главный создатель кибершпионажа». Лаборатория Касперского . 16 февраля 2015 г. Архивировано из оригинала 2 декабря 2015 г.
  8. ^ Дэн Гудин (февраль 2015 г.). «Как «всемогущие» хакеры, связанные с АНБ, прятались 14 лет — и наконец были найдены». Арс Техника . Архивировано из оригинала 24 апреля 2016 г.
  9. ^ «Срочное: Касперский разоблачает АНБ по всему миру, бэкдор-взлом практически всех прошивок жестких дисков» . Ежедневный Кос . 17 февраля 2015 г. Архивировано из оригинала 25 февраля 2015 г.
  10. ^ «Шаттлворт призывает к декларативной прошивке» . Журнал Линукс . № 162. Май 2014. с. 9.
  11. Шаттлворт, Марк (17 марта 2014 г.). «ACPI, прошивка и ваша безопасность». Архивировано из оригинала 15 марта 2015 года.
  12. ^ "Технические брифинги MalCon 2010" . Малкон.орг . Архивировано из оригинала 4 июля 2011 г.
  13. ^ «Хакер устанавливает лазейку в прошивке Symbian» . H-online.com . 08.12.2010. Архивировано из оригинала 21 мая 2013 года . Проверено 14 июня 2013 г.
  14. ^ «Почему безопасность USB принципиально нарушена» . Wired.com . 31 июля 2014 г. Архивировано из оригинала 3 августа 2014 г. Проверено 4 августа 2014 г.
  15. ^ «BadUSB - Об аксессуарах, которые превращают зло» . BlackHat.com . Архивировано из оригинала 8 августа 2014 г. Проверено 6 августа 2014 г.
  16. ^ Карстен Ноль; Саша Крисслер; Якоб Лелль (07 августа 2014 г.). «BadUSB – Об аксессуарах, которые превращают зло» (PDF) . srlabs.de . Архивировано (PDF) из оригинала 19 октября 2016 г. Проверено 23 августа 2014 г.
  17. ^ «Выпущено вредоносное ПО BadUSB — заразите миллионы USB-накопителей» . Хакерский пост . Архивировано из оригинала 6 октября 2014 года . Проверено 7 октября 2014 г.{{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  18. ^ Гринберг, Энди. «Необновляемое вредоносное ПО, заражающее USB-накопители, теперь находится на свободе». ПРОВОДНОЙ . Архивировано из оригинала 7 октября 2014 года . Проверено 7 октября 2014 г.