Эпиграф.
Апокалипсический сценарий. Недалёкое будущее. Birus-эпидемия.
Вы вбиваете в поисковике "тур на двоих Анталия", попадаете на какой-то сайт, кликаете страничку с ценами, небольшая заминка и появляется прайс. Через минуту, подбирая нужный вариант отдыха, вы ещё не знаете, что в одной из глобальных бирус-ботнетов добавился ещё один компьютер. Что включив утром ноутбук больше никогда не сможете избавиться от этой гадости. И что в случае даже минимальных требований к безопасности, единственным выходом является лишь вариант полностью отключить его от Интернета, оставив в качестве печатной машинки, несетевых игр и пасьянсов.
Через совсем непродолжительное время незаражёнными остаётся уже меньшая часть всех компьютеров, в основном это древние рабочие лошадки типа Pentium 3 и старше. Смысл понятия "работа в Интернет" да и просто "Интернет" - катастрофически меняется. Занавес.
Что такое birus?
Birus – сокращение от
BIOS-v
irus (согласно
голосования это слово было выбрано для термина "Вирус в BIOS-е" или "BIOS-ный вирус") - вирус, который располагается в микросхеме
Flash/EEPROM. Т.е. принципиальным отличием его есть тот факт, что он находится в постоянной памяти компьютера и удалить его без перешивки (обновления прошивки BIOS) нельзя. В дополнение ещё и то, что и обнаружить его тоже крайне сложно вплоть до вообще невозможно. В остальном (зловредные действия) бирусы ни чем не отличаются от различных вирусных программ типа троянов сотоварищи.
Как работает birus?
Получив управление, бирус внедряется в BIOS (например, считав текущую прошивку и добавив в неё свой код) и перезагружает компьютер (либо пассивно ждёт, пока сам пользователь её осуществит). После очередной загрузки зловредный код становится совершенно невидим для любой работающей в операционной системе программы. Кроме того его код получает возможность одинаково работать в любой операционной системе – Windows, Linux, MAC OS и т.д.
Что может бирус?
- Он может заразить (получить управление и/или выполнить другие зловредные действия) любое приложение для любой операционной системы.
- Он может быть совершенно невидим - запретив возможность своего обнаружения.
- Он может быть совершенно неудаляем – запретив возможность обновления BIOS.
- Он может осуществлять зловредные действия в любое время и абсолютно прозрачно (т.е. его процесс активности нельзя заметить и остановить) в процессе работы компьютера.
- Он имеет доступ ко всем устройствам компьютера, обладая всеми возможностями ОС и даже больше.
Можно ли защититься от заражения бирусом?
Можно. Но сначала перечислим, что ему не помешает:
- Установки любых паролей в BIOS никак не защитит от бируса.
- Прошивка нового BIOS «на самом компьютере» - может не помочь избавиться от бируса. Это верно для перешивки как под DOS, так и под Windows (или другой OS).
Реально защититься от бируса можно лишь на старых компьютерах, у которых есть перемычка для защиты BIOS от перешивки. Обычно это компьютеры Pentium II и старше.
Где доказательства, что бирусы вообще есть?
Доказательства известны и работают ещё с 2002-года, они доступны для скачивания на главной странице
www.ROM.by. Называется этот бирус – BIOS Patcher. Характерный классический полуавтоматический представитель - это когда процесс прошивки происходит самим пользователем. Плюс, конечно, вместо зловредных он обладает исключительно полезными свойствами. Однако это не отменяет его природу. И тот факт, что вот уже столько лет он благополучно работает даже на самых ультрасовременных системах, которых близко не было при его разработке – ещё один показательный пример потенциала бирусов.
Лирическое отступление 1.
В 2004-м году, на излёте разработки
BIOS Patcher-а мною были успешно закончены тестовые испытания одной из его возможностей – прошивки BIOS его же (BIOS-а) средствами. Сложно сходу осознать результаты этого опыта, однако после него я прекратил все разработки в этом отношении, лишь саркастически отрапортовав на форуме
www.ROM.by банальным "Что бы ни делал человек – всё равно получается оружие."
Лирическое отступление 2.
В 2006-м году началась активная фаза других моих экспериментов - с SMM. И через год была успешно протестирована другая возможность патчера – универсально перехватывать управление под любой ОС (Windows, Linux, MAC и т.д.) Ситуация ещё раз доказала всё ту же истину - «Что бы ни делал человек…»
Молчание – золото.
Не сложно догадаться, что могут дать такие технологии, потому тогда было решено просто замять этот процесс и не создавать никакой особой огласки, даже намёками, о том, как такое может работать. Понятно, раз мне удалось до этого дойти, значит и другие смогут это повторить и усовершенствовать впоследствии. И действительно, уже через год стали всплывать заявления в стиле "Обнаружен супер-пупер руткит, использующий уязвимость таких-то процессоров сотоварищи". Ещё через год их стало много больше. Хотя в реальности абсолютное большинство новостей из данной области были (и остаются) чисто пиарными, лишь умно рассказывающими о том, в чём никто абсолютно не разбирается. И не раз хотелось вставить свои пять копеек... Не важно, в общем, недавнее сканирование по этому вопросу Интернета показало, что данную тему уже точно не замнут, потому нужно выходить из текущего пассивного состояния "созерцания происходящего" в активное - чтобы максимально приготовиться к надвигающейся эре бирусов. Нужно писать
BIOS Patcher 8.0 – первый
антибирус.
Следовало бы посоветовать производителям материнских плат на новых моделях ставить перемычки, запрещающие перепрошивку BIOS'а. Только кто нас услышит в Китае и Тайване?!
Практика - критерий истины.
Интересно, каким образом бирус сможет перехватить управление в ОС?
Типа залез к нему, переключился на Backup, выключил комп, включил - зашил Backup в Main?
Ну, возможно, пока этот момент не будет отслеживаться бирусописателем. Да и это предполагает все же подозрение на бирус...
Да и зависит от реализации как бируса, так и Дуалбиоса. Вот если бы Дуалбиос был "джамперным", тогда вроде как нормально. А так, как я понимаю - бутблок выполняется Main-BIOSа в любом случае. Или только в автоматном?
А кому счас легко...
В свете достижений "великих виртуализаторов" бирус вообще может запустить ОС из себя в "песочнице", к примеру.
А кому счас легко...
+1
Даже QuadBIOS никак не изменит ситуацию.
Проблемы с перехватом нет, т.к. "права на железо" у запущенного ещё в BIOS бируса "выше", чем у любого приложения ОС. Т.е. он не перехватывает управление, а "временно" его отдаёт для работы ОС.
И потому у него проблема больше в том, чтобы найти "где перехватить". Это значит, что бирусу нужно, условно говоря, найти "точку входа". Для этого он сканирует память блоками, постепенно находя по своим паттернам нужные для его (зловредной) работы функции ОС.
Очень интересная статья!!! Автору спасибо!
точно
...Практика развивает...
Эта тема затрагивалась министерством обороны США, когда появились подозрения, что вражеские режимы (в т.ч. Китай) добавляют сторонний код в БИОС производимых на их территории плат. Некое подобие троянов, которые дают возможность не только получать информацию с зараженного компьютера, но и управлять им. Пиндосы вроде решили отказаться от китайских плат, даже не знаю чем это закончилось.
у меня есть чисто китайский ноутбук-"Tsinghua-tongfang k431" 2006 г.в. с биосом
пшоёнахPHOENIXдля интересующихся выкладываю для исследований. Если шпион таки найдётся- то непримините
обсудить его здесь, любезнейше прошу...
(PhoenixBiosEditor его открывает, за исключением 4-х неизвестных модулей)
Это отдельная тема. Будет затронута в последующих частях. Ради шутки я уже поднимал эту тему. Мало кто вспомнил присказку о том, что в каждой шутке есть доля шутки...
небольшое отступление от темы: закралось сомнение по поводу маршрутизаторов Cisco Systems. механизмы криптографии сертифицируются учреждениями под контролем США, на долю Cisco приходится примерно 80% аппаратной маршрутизации в глобальной сети. было бы глупо не взять их под контроль, внедрив некий мастер-ключ. это дает возможность получать и анализировать бизнес/правительственную информацию.
Можно ставить однократно прошиваемые флеш И там хоть вирус, хоть birus...
Можно. Только потом менять по гарантии зае...шься, и тот, кто это сделает - проиграет конкурентам (сейчас - так точно)... Да и найдите мне однократку на SPI или FWH. Есть, может быть, но я как минимум не вкурсе. На это в современных реалиях никто не пойдет. Уж лучше "возродить джампер". Да и возрождать джампер никто не будет, пока петух реально не клюнет.
В общем - , т.е. нереально.
А кому счас легко...
Спс автору, что обращает наше внимание на такие вещи. Просто любой юзверь скорее назовет это параноей, чем признает, что его супер пупер антивирус - ничто против Бируса.
Я спрашивал об этом в умных людей еще, когда только знакомился с ПЗУ, Ассемблером и ВІОS - те крутили пальцем у виска.
А ведь от правды никуда не денешься. Так что лучше пока не забывать наших стареньких друзей (я о девайсах у которых есть эта заветная перемычка от записи). И недаром во многих старых носителях (дискетах, SD флешках и др.) делали физические средства защиты от записи.
Ведь ето дело темное. Кто реально, а не теоретически может сказать, что у него записано в BIOS? И не надо для этого ставить Бирус прямо на заводе. Любой умный чел может изменить (“обновить”) ваш BIOS прям из OS. Что еще можно сказать.
Так что респект автору за работу. С нетерпением жду продолжения, готов предоставить помощь (например, в виде тестирования на разнообразных (в плане BIOS) машинах).
Ну так давайте на SPI-ках отпаивать вывод Write Enable или как он там называется.И ставить перемычку. Или просто бумажку подложить - а как захотел прошить, то вынул бумажку, подогнул вывод к плате и вперед!
ЗЫ: Для отпайки, кроме паяльника, понадобится кусок бритвенного лезвия. С нитками и бумажками не получится (способ только для SPI)
Третью с четвертой ногой спаял - и спи(spi) спокойно
:)
apple_rom
Интресно, а на какой размер свободной памяти в BIOS flash, может рассчитывать желающий там поселиться бирус?
И примерно какой размер в килобайтах будет иметь тело бируса?
Не знаю можно ли отнести к бирусам вирус "Чернобыль"... Ему недавно 10 лет исполнилось. xakep.ru/post/48003/default.asp
Даже если убрать электричество, компьютеры остануться... Вы что-нибудь слышали о счётах или арифмометрах?
Во времена, "когда BIOS-ы ещё были маленькими" (1-2Мбита) - было места не шибко много. Это было проблемой патчера, в частности. Но даже в "тех" условиях на бирус обычно можно было с большой долей вероятности выделить несколько (~2-5) десятков килобайт непожатого кода. Начиная с 4-х мегабит проблема почти исчезла, речь уже шла о сотнях килобайт. Ну, а с 8Мбит и выше говорить о "нехватке места" стало просто смешно, туда реально можно часто запихнуть целую BirusOS.
как в свете выше (печального) изложенного смотрятся навороты последнего времени , а именно SPI в дискрипторном режиме и UEFI ?
они(их применение) как то влияют (положительно/отрицательно) на печальный образ будущего, или ни как?
или их влияние только в том что технологии (достаточно)новые и "пока" не сильно освоенные "злыми силами" ?
... иди туда, незнаю куда, возьми то, не знаю что ... (C) Русские народные сказки
apple_rom
А как так получилось, что производители материнских плат стали устанавливать flash большей ёмкости?
Неужели это не было вызвано увеличением объёма самого BIOS?
И на какой объём памяти бирус может рассчитывать на современных материнских платах?
В случае перехода к 4Мбитным - да (и то не всегда). Выше - уже больше как дань общему экстенсивному пути прогресса. В популярных нонче 16Мбитных микросхемах часто занято меньше половины. Итого в грубом приближении - это мегабайт пожатого кода. В непожатом, соответственно - 2-5Мбайт для кода. В 32Мбитных и ширше... помолчим. Да и что: мегабайта - не хватит?
apple_rom
Мегабайт и больше свободного места это уже интересно.
А можно ли написать бирус используя Microsoft Visual C++ и при помощи каких функций WinAPI можно записать тело бируса в BIOS flash?
И ещё сможет ли школьник написать бирус?
Это отдельная (тоже печальная) история. Если вкратце/утрированно, то можно выделить две вещи: 1. Исходники EFI доступны (в данном случае - это минус). 2. Защита прошивки в EFI ориентируется на SMM.
Можно. Особенно если он будет ориентировать на упомянутые системы с EFI на борту - оный ведь на С (с возможностью использования С++).
Win32_BiosFlash Class?
А Вы из какого класса?)))
Закончил 10-й.
Как писали в 2006 на ixbt:
"Пока не сообщается о времени, когда пользователи настольных ПК смогут вместо привычных Award, AMI, Phoenix и других BIOS увидеть нечто вроде Intel EFI. Мы, как обычно, будем держать вас в курсе."
ixbt.com/news/all/index.shtml?05/74/75
Сейчас 2009, но пока мы видим привычные Award, AMI и т.д.
К сожалению, я не нашёл в MSDN Win32_BiosFlash Class.
Там есть Win32_Bios Class, однако функции этого класса могут только читать данные BIOS, но не записывать.
msdn.microsoft.com/en-us/library/aa394077(VS.85).aspx
Так какой всё-таки функцией API можно записывать данные в BIOS?
А по реальности использования EFI - Intel'овские платы от 945 чипсета и далее - самый простой пример.
Несколько настольных плат попадалось и у других производителей (можно поискать на форуме тему, в которой собирали BIOS'ы от плат с EFI). В ноутбуках тоже что-то должно быть.
Поступайте в профильный ВУЗ и учитесь, учитесь и т.п. Набирайте базовые знания. Надеюсь, будете писать АНТИбирусы.
Ну, и так, типа азы - с 3-го ринга невозможно перешить биос.
А кому счас легко...
"типа Pentium 3 и старше" - вероятно, младше?
Отправить комментарий