«Все компьютеры, по сути, беззащитны»

18 Мар 2015

Роман Севко – программист из Минска, автор утилиты BIOS Patcher и основателем интернет-проекта vPro

Отношения между Белоруссией и Украиной – дружественные, тёплые. Можно сказать – по-настоящему братские. Київ завжди гостинно вітає гостей із Менска. Вдвойне приятно видеть в столице Украины нашего сябра Романа Севко – талантливого программиста, профессионального IT-шника. Пользуясь случаем, мы смогли задать несколько вопросов Роману, посетившему наш город. В разговоре были затронуты темы уже давно ставшие историей. Тем ценнее интервью для тех, кого интересует ретроспектива низкоуровневого программирования. Итак – Роман Севко, автор утилиты BIOS Patcher, основатель интернет-проекта vPro.

 

Диалоги

Все, кто интересуются компьютерным тьюнингом, с конца 90-х пользовались, отдавая должное, Вашим BIOS Patcher-ом. Как родилась идея улучшить Award BIOS, ведь именно с него все началось?

 

Все началось 27 апреля 1999 года… Мне нужен был новый компьютер, который я решил собрать сам. Свой выбор остановил на материнской плате ASUS TXP4. Такую плату удалось купить на рынке – почти новую, в блестящей антистатической упаковке, полностью комплектную, со всеми шнурками – подозрительно дешево. Дома оказалось, что она не работает: поврежден BIOS. Доступ к интернету уже был, и я узнал, что накануне компьютерный вирус «Чернобыль» (CIH) вывел из строя во всем мире тысячи компьютеров. На одном из зарубежных ресурсов нашел инструкцию, как «на горячую» перепрограммировать чип BIOS. Получилось не сразу, но в итоге все заработало.

Услуга по восстановлению BIOS оказалась востребованной: появилась работа и дополнительный заработок. Захотелось достичь наивысшей производительности, установив на плату недорогой по тем временам процессор AMD K6-2 (тогда еще без 3DNow!). С помощью архиватора LHarc  и редактора бинарных файлов Hiew удалось найти то место в BIOS, которое отвечает за инициализацию процессора и внести свои правки. И снова все заработало!

Заказов прибавилось: всем хотелось улучшить производительность компьютера без особых финансовых затрат. Даже с оплатой моих услуг это имело смысл. Альтернатива на платформе VIA с процессором Intel Pentium-II стоила существенно дороже. К тому же, переделкам подвергались в общем-то качественные платформы, в то время, когда самые доступные альтернативные решения были представлены брендами типа Lucky Star.

К лету 2000 года у меня на столе лежали стопками платы, BIOS которых я правил вручную. Работа была утомительной, и скоро мне стало ясно, что ее нужно автоматизировать. К этому моменту я уже понимал, как устроен Award BIOS: я ведь начал с самой сложной его реализации в исполнении ASUS.

Огромным подспорьем стала утилита CbROM от Award Software – понятно, что если есть официальный продукт, то редактирование BIOS можно вести почти легальным способом. В голову пришла мысль не править сам код, а использовать свободные сегменты памяти для размещения своих улучшений – «заплаток». Заплатки паковались в образ BIOS и срабатывали по умолчанию, но пользователь, нажав клавишу «минус», мог запретить улучшения. Это оказалось очень удобной технологией: допустив ошибку, существовала возможность откатиться к рабочей версии BIOS и стартовать платформу для дальнейших экспериментов.

Интервью с белорусским программистом Романом Севко, автором утилиты BIOS Patcher и основателем интернет-проекта vPro
Интервью с белорусским программистом Романом Севко (справа), автором утилиты BIOS Patcher

Технология отката родилась для упрощения отладки кода или изначально планировалась, как опция для пользователей?

Только для отладки! Дело в том, что переход к автоматизации улучшений BIOS – фактически, первые шаги по созданию BIOS Patcher – начался с одной досадной описки. В коде программы по недосмотру оказался неправильно установлен всего один бит – это был мой самый больной бит за всю жизнь. В то время мне еще не приходило в голову, что в отсутствие вывода на монитор, отладку можно вести с использованием POST-карты, поэтому процесс поиска ошибки занял больше месяца. Но нет худа без добра: за это время я стал просто гуру Award BIOS и, кроме того, проект оброс дополнительными и очень полезными функциями, в том числе и откатом.

Огромное влияние на меня оказал главный редактор издания «Компьютерные вести», по его рекомендации я начал выкладывать свои работы на бесплатный хостинг по адресу http://k6-2.narod.ru. К счастью, этот сайт существует до сих пор.

Потом был патчер для American Megatrends, который только частично оказался совместимым с доступными версиями. Почему не получилось продолжения с Phoenix BIOS?

В то время подавляющее большинство платформ, к которым я имел доступ, оснащалось Award BIOS. Продукты от American Megatrends, модные в начале 90-х, стали большой редкостью. Они применялись только на серверных платах, которые меня никто не просил улучшить. Неожиданно, AMIBIOS появился на материнских платах Zida… Хотя у них и были проблемы с качеством – с этим спорить бессмысленно – ко мне обращались их владельцы с просьбой доработать код для поддержки AMD K6-2. К тому моменту функциональность BIOS Patcher была расширена за счет поддержки жестких дисков большого объема и установки коэффициента умножения частоты процессора. Пришлось взяться за AMIBIOS для имплементации своих наработок и в этот продукт.

Знакомство с AMIBIOS показало, что его структура чрезвычайно запутана и сложна для понимания. Для продолжения работ пришлось познакомиться с дизассемблером IDA. Но работы двигались трудно: в отличие от Award BIOS, в исследуемом BIOS возникла проблема свободного места. Лучше всего получалось управляться с опциями типа «Enable/Disable». Если что-то AMIBIOS запрещал, то проще было отменить запрет, а добавление своего кода оказалось под большим вопросом. В результате часть файлов AMIBIOS улучшить было просто невозможно…

…и это все без доступа к исходному коду?

Я даже не предполагал, что таковой возможен! [смеется]

Параллельно продолжались работы и над Insyde, и с Phoenix. Казалось, что это малораспространенные BIOS, но в процессе работы пришло понимание, что «зажигание» у львиной доли компьютерных систем выполнено именно этими разработчиками. Я их объединяю вместе потому, что они произошли от одного корня – Chips & Technologies…

Вы думали о том, чтобы монетизировать интерес к своему, в общем-то, бесплатному продукту?

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

Я зарегистрировался в системе WebMoney и купил сертификат продавца. В попытке развивать интернет-продажи, мне очень помогали мои новые друзья, с которыми я познакомился в интернете. Но оказалось, что собственными силами сдвинуть с мертвой точки мой проект невозможно, и в отсутствие инвестора идея угасла, потеряв актуальность. Это, в частности, и ответ на предыдущий вопрос о Phoenix BIOS. К тому моменту стало ясно, что продолжение работ бесперспективно.

Должен добавить, что за время работы над BIOS Patcher мой предпринимательский бизнес постоянно страдал от форс-мажоров: в разное время разные люди приходили и забирали всё. Абсолютно всё.

Были слухи, что Вы планируете открыть доступ к исходному коду. Почему open source не состоялся?

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

О зловредных программах, которые способны поражать BIOS: насколько все серьезно? О чернобыльском вирусе CIH, по иронии судьбы ставшего первопричиной, говорить не станем – он ведь изначально был бесплодным и не умел себя реплицировать.

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

Роман Севко

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

Я не очень хорошо знаком с Apple, но когда пришлось изучать EFI (он тогда еще не был универсальным), выбор был небольшой: либо платформы Intel, либо – Apple. Капсулы на платформах Intel были подписаны, что затрудняло исследование. Маковские капсулы оказались без цифровых подписей. Я запустил свой алгоритм, который заработал и на Apple EFI. Тогда же я познакомился с первой версией АМТ-технологии, а затем реализовал софт, работающий в SMM-режиме.

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

 

 

Теги: