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

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

Прошивка хранится в устройствах энергонезависимой памяти, таких как ROM , EPROM , EEPROM и Flash-память . В прошлом смена прошивки устройства редко или никогда не производилась в течение всего срока ее службы, но в настоящее время это обычная процедура; некоторые устройства памяти микропрограмм устанавливаются постоянно и не могут быть изменены после изготовления. Общие причины обновления прошивки включают исправление ошибок или добавление функций на устройство. Это требует физической замены интегральных схем ПЗУ или перепрограммирования СППЗУ или флэш-памяти с помощью специальной процедуры. [2] Прошивка, такая как BIOSперсонального компьютера может содержать только элементарные базовые функции устройства и может предоставлять услуги только программному обеспечению более высокого уровня. Прошивка, такая как программа встроенной системы, может быть единственной программой, которая будет работать в системе и обеспечивать все ее функции.

До включения интегральных схем в другие микропрограммные устройства входила дискретная полупроводниковая диодная матрица . Руководство компьютера Apollo был прошивкой , состоящий из специально изготовленной основной памяти плоскости под названием « основная веревка память », в котором каждый сердечник был обработан в качестве трансформатора сердечника в матрице дискретных проводов: каждый отдельный провод хранится один данные бит , с проводами , проходящими через ядро, хранящее «1», и те, что в обход ядра, хранящие «0». [3]

История [ править ]

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

Приложения [ править ]

Персональные компьютеры [ править ]

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

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

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

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

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

Потребительские товары [ править ]

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

Автомобили [ править ]

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

Примеры [ править ]

Примеры прошивки включают:

  • В потребительских товарах:
    • Системы хронометража и контроля для стиральных машин
    • Управление атрибутами звука и видео, а также списком каналов в современных телевизорах
  • В компьютерах:
    • BIOS в старых IBM-совместимых ПК
    • (U) EFI -совместимый прошивки используется на Itanium системах Intel на базе компьютеров Mac , и многие новые ПК
    • Прошивка жесткого диска или твердотельного накопителя
    • Video BIOS из видеокарты
    • Открытая прошивка , используемая в компьютерах на базе SPARC от Sun Microsystems и Oracle Corporation , компьютерах на базе PowerPC от Apple и компьютерах от Genesi
    • ARCS , используемый в компьютерах от Silicon Graphics
    • Kickstart , используемый в линейке компьютеров Amiga ( POST , hardware init + Plug and Play автоконфигурация периферийных устройств, ядра и т. Д.)
    • RTAS (службы абстракции времени выполнения), используемые в компьютерах IBM
    • Среда Common Firmware (CFE)
  • В маршрутизаторах , коммутаторах и межсетевых экранах :
    • LibreCMC  - 100% в свободное программное обеспечение распределения маршрутизатор на основе Linux-Libre ядро
    • IPFire  - дистрибутив межсетевого экрана / маршрутизатора с открытым исходным кодом на основе ядра Linux
    • fli4l  - дистрибутив межсетевого экрана / маршрутизатора с открытым исходным кодом, основанный на ядре Linux
    • OpenWrt  - дистрибутив межсетевого экрана / маршрутизатора с открытым исходным кодом на основе ядра Linux.
    • m0n0wall  - встроенный брандмауэр FreeBSD
    • Фирменная прошивка
  • В системах NAS :
    • NAS4Free  - операционная система NAS с открытым исходным кодом на базе FreeBSD
    • Openfiler  - операционная система NAS с открытым исходным кодом, основанная на ядре Linux.
    • Фирменная прошивка

Мигает [ редактировать ]

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

Взлом прошивки [ править ]

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

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

Большинство прошивок - это бесплатное программное обеспечение .

Взлом прошивки HDD [ править ]

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

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

Угрозы безопасности [ править ]

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

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

См. Также [ править ]

  • Загрузчик
  • Компьютерное железо
  • Компьютерная программа
  • Coreboot
  • Кастомная прошивка
  • Микрокод
  • Проприетарный драйвер устройства
  • Образ ROM
  • Программного обеспечения

Примечания [ править ]

  1. ^ Иногда его обозначают аббревиатурой «FW», которая образуется после «HW» и «SW», обозначающих «аппаратное обеспечение» и «программное обеспечение» соответственно. [1]

Ссылки [ править ]

  1. ^ "Ciena - Руководство по сокращению" . ciena.com . Архивировано 10 января 2016 года . Проверено 6 февраля +2016 .
  2. ^ "Что такое прошивка?" . 23 января 2013 г.
  3. Даг Спайсер (12 августа 2000 г.). "One Giant Leap: Компьютер наведения Аполлона" . Доктор Доббс . Проверено 24 августа 2012 года .
  4. ^ Opler, Ашер (январь 1967). «Программное обеспечение четвертого поколения». Датамация . 13 (1): 22–24.
  5. ^ Корбет, Джонатан; Рубини, Алессандро; Кроа-Хартман, Грег (2005). Драйверы устройств Linux . O'Reilly Media . п. 405. ISBN 0596005903.
  6. ^ a b «Прошивка прошивки» . Tech-Faq.com. Архивировано 27 сентября 2011 года . Проверено 8 июля 2011 года .
  7. ^ «Центр разработчиков HTC» . HTC . Архивировано из оригинального 26 апреля 2011 года . Проверено 8 июля 2011 года .
  8. ^ "Equation Group: корона создатель кибершпионажа" . Лаборатория Касперского . 16 февраля 2015 года. Архивировано 2 декабря 2015 года.
  9. ^ Дэн Гудин (февраль 2015 г.). «Как« всемогущие »хакеры, связанные с АНБ, прятались 14 лет - и наконец были найдены» . Ars Technica . Архивировано 24 апреля 2016 года.
  10. ^ «Взлом: Касперский разоблачает всемирный взлом через бэкдор практически всех прошивок жестких дисков» . Daily Kos . 17 февраля 2015 года. Архивировано 25 февраля 2015 года.
  11. ^ Linux Magazine, выпуск 162, май 2014 г., стр.9
  12. Шаттлворт, Марк (17 марта 2014 г.). «ACPI, прошивка и ваша безопасность» . Архивировано 15 марта 2015 года.
  13. ^ "Мы скоро вернемся!" . Malcon.org. Архивировано из оригинала на 2013-05-26 . Проверено 14 июня 2013 .
  14. ^ "Хакер закладывает черный ход в прошивку Symbian" . H-online.com. 2010-12-08. Архивировано из оригинального 21 мая 2013 года . Проверено 14 июня 2013 .
  15. ^ «Почему безопасность USB фундаментально нарушена» . Wired.com . 2014-07-31. Архивировано 3 августа 2014 года . Проверено 4 августа 2014 .
  16. ^ «BadUSB - Об аксессуарах, которые превращают зло» . BlackHat.com. Архивировано 8 августа 2014 года . Проверено 6 августа 2014 .
  17. ^ Карстен Ноль; Саша Крисслер; Якоб Лелл (07.08.2014). «BadUSB - Об аксессуарах, порождающих зло» (PDF) . srlabs.de . Архивировано (PDF) из оригинала 19.10.2016 . Проверено 23 августа 2014 .
  18. ^ «Выпущено вредоносное ПО BadUSB - заразить миллионы USB-накопителей» . The Hacking Post . Архивировано 6 октября 2014 года . Проверено 7 октября 2014 года .CS1 maint: неподходящий URL ( ссылка )
  19. ^ "Непоправимая вредоносная программа, которая заражает USB-накопители, теперь на свободе" . ПРОВОДНОЙ . Архивировано 7 октября 2014 года . Проверено 7 октября 2014 года .

Внешние ссылки [ править ]

  • Linux Vendor Firmware Service , безопасный портал, который позволяет поставщикам оборудования загружать обновления прошивки
  • BadUSB - Об аксессуарах, которые портят зло на YouTube , Карстен Ноль и Якоб Лелл
  • Phison 2251-03 (2303) Пользовательская прошивка и существующие исправления прошивки (BadUSB)