Факт: ошибка в автомобильном софте может стоить жизни. Что дальше? Евгений Золотов
Факт: ошибка в автомобильном софте может стоить жизни. Что дальше?
Евгений Золотов
Опубликовано 14 февраля 2014
«Shit happens», — гласит американская поговорка. Но некоторые неприятности не просто случаются, они какое-тообязаны рано или поздно произойти просто в силу закона больших чисел. Скажем, в шести миллионах строк кода непременно скрывается количество ошибок, и дайте возможность — рано или поздно одна из них проявит себя катастрофически. Шесть миллионов строк — это длина программного обеспечения, работающего в бортовых компьютерах современного среднестатистического автомобиля. А ошибка, которую теоретики так долго и упрямо ждали, найдена и сутки назад признана компанией Toyota в системном софте знаменитого гибрида Prius.
Toyota Prius — самый востребованный представитель племени гибридных авто и вообще одна из самых популярных моделей на авторынке. Тому есть причины: машина сравнительно безопасная и недорогая, плюс экономичная и чрезвычайно надёжная, что хорошо экономию по топливу дополняет (по данным авторитетного в Штатах журнала Consumer Reports — голоса общества защиты прав потребителей — одна миля обходится в 47 центов). И вот теперь для устранения дефекта отзываются все 1,9 миллиона этих красавиц, произведённых и проданных с 2010 года: половина придётся на Японию, четверть — на Штаты и Канаду, остальное соберётся из Европы, Австралии и других стран.
На самом деле одновременно Toyota отзывает ещё 300 тысяч своих авто других моделей — и тоже из-за (менее опасной) программной ошибки.
Дефект, заставивший Toyota решиться на эту меру, описан, прямо скажем, мутно, но даже в таком виде понятно, что случай беспрецедентный. В программном обеспечении автомобиля, управляющем, в частности, двигателем и генератором, допущено несколько ошибок. Проявляются они чрезмерной нагрузкой на мощные транзисторы, что чревато выходом их из строя и последующим аварийным отключением бортовой электроники. Произойти это может в том числе и во время движения: двигатель без предупреждения глохнет, машина сбрасывает скорость с возможной потерей управления. Эксплуатировать Prius после этого возможно, но ехать он будет очень медленно. По сообщению самой Toyota, вызванных ошибками в софте инцидентов (тем более с человеческими жертвами) не зафиксировано, хотя американские СМИ говорят о «сотнях поломок».
Что ж, тема потенциальной небезопасности системного софта, управляющего критически важными узлами автомобиля, весьма популярна в последние годы. Периодически всплывают страшные истории о том, как очередная группа исследователей, вломившись в электронные мозги, отключает тормоза на полном ходу или заставляет машину выкинуть какой-то ещё финт. А Toyota лично перенесла жуткий скандал из-за дефектной педали газа (в том числе и на Prius). Вы должны его помнить: лет пять назад обнаружилось, что машины компании склонны к неожиданному неконтролируемому ускорению, за чем последовали судебные иски, многочисленные расследования на высшем уровне, собственно суды, штрафы и компенсации, отзывы миллионов авто и даже приостановка производства (см., в частности, «Обратная сторона педали»). Многие грешили на софтверный дефект, но Toyota отстаивала версию о чисто механической неисправности — и следователи в конце концов один за другим встали на её сторону.
Таким образом, до вчерашнего дня все разговоры о «смертельно опасных багах в автомобильном софте» ограничивались либо чистой наукой, либо подозрениями, доказать которые так и не удалось. А вчера была пройдена веха: ошибка, заставляющая «Приусы» глохнуть, уже не воображаемая, не подозреваемая — она самая что ни на есть настоящая и признана официально. И это позволяет и даже требует сделать минимум три вывода, которые понадобятся нам, чтобы идти дальше.
Итак, во-первых, необходимо признать, что степень зависимости автомобильных узлов и агрегатов от программного обеспечения перешла черту, за которой чисто программные ошибки способны привести к аппаратным поломкам (персональные компьютеры, например, её так и не перешагнули) и где ошибка действительно представляет опасность для человека.
Во-вторых, даже простое обновление программного обеспечения автомобиля (то есть без вмешательства в аппаратную часть, что, собственно, и собирается проделать Toyota в данном случае) может потребовать дорогостоящей — с точки зрения денег, времени и нервов — процедуры отзыва автомобиля или как минимум визита к официальному дилеру. Кроме того, хоть установка патча занимает лишь полчаса, его ещё требуется разработать и проверить, разослать дилерам и оповестить клиентов. В настоящий момент продавцы «Приусов» в США, например, всё ещё «заплатку» не получили.
В-третьих, даже активное добровольное участие вендора в исправлении обнаружившихся недостатков — а Toyota после многомиллиардных выплат в той истории с педалью стала сильно сговорчивей и теперь отзывает чаще, больше и охотней любого другого автопроизводителя — не решает самой проблемы софтверных дефектов. Отзыв — всего лишь реакция, следствие. Причина (баг) в следующий раз найдётся новая, ведь программ без ошибок не бывает.
Вот так мы и приходим к неприятному, но неизбежному вопросу: а можно ли вообще, путь даже теоретически, устранить опасность, представляемую ошибками в автомобильном софте? Ведь сложность его будет расти по мере роста сложности самих машин, сложность будет провоцировать новые ошибки, и, в отличие от персоналок, ошибки эти потенциально смертельно опасны. Как этому противостоять?
Имеющийся опыт, к сожалению, мало что даёт. Там, где цена программной ошибки слишком высока, — в космосе, например — проблему решают грубо: введением чрезмерно жестоких требований к разработке программного обеспечения. О российской практике ничего не скажу (может быть, поделятся читатели? В одной из предыдущих дискуссий уже всплыла интереснейшая ссылка на отечественный язык программирования ДРАКОН, мешающий писать с ошибками), но о том, как работает НАСА, известно хорошо. Скажем, приступая к разработке софта для «Шаттлов», заказчик и исполнители (в том числе IBM) исходили из предположения, что программное обеспечение является наиболее важным элементом всего комплекса, потому что именно оно связывает воедино всю механику и электронику на борту. Отсюда и процесс: над проверкой софта трудится почти половина команды, каждое вносимое изменение проверяется несколькими независимыми группами на разных уровнях абстракции — и всё равно пилотам пришлось иметь дело с сотнями страниц исключений и особенностей работы софта!
Не стоит даже спрашивать, применимо ли это к автомобилям: слишком дорого! Однако выход есть. Помочь способно свободное ПО. Возьмись сегодня кто-нибудь разработать ядро Linux «с нуля», это обошлось бы ему в невероятную сумму. Но, понятное дело, никто «Линукс» не изобретает: желающие просто адаптируют его к своему железу и задачам. Точно так могла бы работать и воображаемая свободная ОС для автомобилей: одна на всех, адаптируемая конкретным вендором к конкретным моделям авто. Возможно даже, эту нишу Linux и займёт — если не подсуетится никто другой.
Камнем преткновения здесь остаётся тщательно охраняемая секретность электронных блоков управления автомобилем (ECU). Если прочие запчасти давно уже тяготеют к универсализации, то есть применимы на авто различных марок (и аналитики, кстати, упоминают эту тенденцию в числе причин, из-за которых отзыв становится дороже: ведь, если дефект обнаружился в универсальной запчасти, отзывать придётся не одну модель и, может быть, не одного производителя), то ECU остаются тайной за семьюдесятью замками.
Мы ничего не знаем об их устройстве, мало что — об алгоритмах работы. Спасибо Toyota, теперь по крайней мере признано, что в них случаются ошибки — и ошибки эти могут быть опасны для «железа» и человека. Но чтобы пустить туда свободную ОС — а значит, дать энтузиастам (и конкурентам!) заглянуть внутрь, — придётся попотеть. Даже производители видеокарт всё ещё — двадцать лет спустя после начала дискуссии — не отважились на гласность и скрывают схематику своих чипов. Что говорить об автомобилях!
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
ТЕМА НОМЕРА: Корпус может стоить целой армии
ТЕМА НОМЕРА: Корпус может стоить целой армии Автор: Леонид Левкович-МаслюкВ начале апреля небольшая группа российских ученых завершила - в предварительном варианте - создание Корпуса экспертов в области физики твердого тела. Речь идет о списке исследователей, к чьим
ТВ на заказ: как Intel строила главный ТВ-сервис Америки, почему не получилось и почему может получиться у нас Евгений Золотов
ТВ на заказ: как Intel строила главный ТВ-сервис Америки, почему не получилось и почему может получиться у нас Евгений Золотов Опубликовано 29 ноября 2013 Нечасто, но случается, некоторое событие остаётся незамеченным несправедливо — потому только, что
Числогрызы ткнулись в физический предел полупроводников. Куда дальше? Евгений Золотов
Числогрызы ткнулись в физический предел полупроводников. Куда дальше? Евгений Золотов Опубликовано 27 ноября 2013 Суперкомпьютеры всегда представлялись особенным классом вычислительной техники. Поскольку строят такие машины для решения задач
Мобильник выдохся. Что дальше? Евгений Золотов
Мобильник выдохся. Что дальше? Евгений Золотов Опубликовано 10 января 2014 В физике есть понятие насыщенного раствора. Это точка, по достижении которой увеличивать концентрацию — например, сахара в кружке чая — простым добавлением реагента уже
Первый 3D-печатный огнестрел испытан. Что дальше? Евгений Золотов
Первый 3D-печатный огнестрел испытан. Что дальше? Евгений Золотов Опубликовано 06 мая 2013 3D-печать остаётся технологией переднего края, и означает это не столько замечательные возможности в настоящем, сколько невообразимую, неограниченную
По воле ветра: что человек может противопоставить торнадо? Евгений Золотов
По воле ветра: что человек может противопоставить торнадо? Евгений Золотов Опубликовано 27 мая 2013 Пять миллиардов долларов. В такую сумму оценивают эксперты ущерб от трёхдневного разгула стихии в Соединённых Штатах. Шторм, с 18 по 20 мая трепавший
Циферкой ошиблись! Как мелкий баг в софте поставил подножку всему миру Евгений Золотов
Циферкой ошиблись! Как мелкий баг в софте поставил подножку всему миру Евгений Золотов Опубликовано 15 августа 2013 Если не бояться метафизических аналогий, программное обеспечение можно представить как длинный-длинный рычаг: крохотная команда
Сезон суборбитального туризма почти открыт. Но удастся ли бизнесу шагнуть дальше? Евгений Золотов
Сезон суборбитального туризма почти открыт. Но удастся ли бизнесу шагнуть дальше? Евгений Золотов Опубликовано 12 сентября 2013 Девять лет назад мне довелось быть свидетелем и писать о полёте в космос ракетоплана SpaceShipOne — первого рукотворного
Стучит ли «Линукс» в АНБ? И куда дальше, Линус? Евгений Золотов
Стучит ли «Линукс» в АНБ? И куда дальше, Линус? Евгений Золотов Опубликовано 20 сентября 2013 Линус Торвальдс — «великодушный диктатор», по сей день возглавляющий крупнейший open source-проект на планете Земля, — редко попадает в заголовки новостей. Его
Неделя из жизни «очкариков»: авантюристы, энтузиасты, ау! Евгений Золотов
Неделя из жизни «очкариков»: авантюристы, энтузиасты, ау! Евгений Золотов Опубликовано 23 июля 2013 До попадания киберочков Google Glass на прилавки остаётся ровно полгода, и события начинают приобретать ощутимый нервозный оттенок. Google, выбравшая для
Для чего Фейсбук скопировала Vine — и почему моментальное видео может заменить сетянам YouTube? Евгений Золотов
Для чего Фейсбук скопировала Vine — и почему моментальное видео может заменить сетянам YouTube? Евгений Золотов Опубликовано 24 июня 2013 Похоже, у Марка кончились идеи. Вот так, весьма прохладно, встретила западная пресса сюрприз, преподнесённый под
Чёрный день для «Андроида»: ошибка в системе ставит под удар один миллиард устройств Евгений Золотов
Чёрный день для «Андроида»: ошибка в системе ставит под удар один миллиард устройств Евгений Золотов Опубликовано 10 июля 2013 Тема уязвимостей в программном обеспечении навязла в зубах ещё к концу «нулевых». Но даже на этом исхоженном поле, пусть и
Тише едешь — дальше будешь, или Почему не спешат 3D-принтеры? Евгений Золотов
Тише едешь — дальше будешь, или Почему не спешат 3D-принтеры? Евгений Золотов Опубликовано 13 февраля 2013 Самодельный магазин на 30 патронов — таков ответ американца Коди Уилсона на последнюю волну запретов и протестов против огнестрельного оружия. Слегка цинично Коди
Черепахи Грея Уолтера: в поисках искусственной жизни Евгений Лебеденко, Mobi.ru
Черепахи Грея Уолтера: в поисках искусственной жизни Евгений Лебеденко, Mobi.ru Опубликовано 15 марта 2012 года Прогресс технологий — вектор, нацеленный в будущее. Сумма накопленных человечеством знаний, сродни мощному движителю, устремляет
Доктор Лайтман против персоналки: как измеряют эмоции по лицу и кому это может пригодиться? Евгений Золотов
Доктор Лайтман против персоналки: как измеряют эмоции по лицу и кому это может пригодиться? Евгений Золотов Опубликовано 27 марта 2013 Честно сказать, я не поклонник сериалов. И когда супруга попыталась «подсадить» меня на доктора Лайтмана (помните «Обмани меня»?), поначалу