Прочитал тут историю о пасхалке в электронном оборудовании отечественного истребителя и вспомнил рассказ одного своего товарища. Технические детали могу путать, все-таки я от программирования далёк, да и за достоверность не ручаюсь, но байка знатная.
Дело, по словам товарища, было году где-то в 2010, когда их компанию наняли провести модернизацию нефтеперегонного завода в Англии. Конкретно товарищ работал над перепрошивкой контроллеров ректификационной колонны. Оборудование там стояло старое, смесь техники годов 70-90-х, ПО самописное на ассемблере и чуть ли не машинных кодах, вычислительной мощности хер да нихера, а объём данных для обработки огромный - в общем, жопа. Ковырялся, говорит, в каждой строчке кода, чтоб хоть немного оптимизировать.
В один момент он обнаружил ячейку памяти, к которой не обращается никакая из имеющихся функций. Удивился. Стал смотреть, кто и что в эту ячейку данные записывает - удивился ещё больше. Внутри сложнейшей системы управления нефтеперегонными процессами, где буквально каждый байт памяти на счёту, целый блок был выделен для записи количества нажатий на кнопку вызова по внутренней заводской связи.
Ну, сперва товарищ подумал, что это часть какого-то контура телеметрии - отслеживать таким хитрым способом циклы планового обслуживания, например, или собирать аналитику отказоустойчивости, или за дисциплиной обслуживающей смены следить, но оказалось, что данные чисто технически никаким внешним системам завода недоступны.
Стал копать дальше. Нашёл, наконец, функцию, которая раз в год (!) обращается к этой ячейке памяти и охренел. Оказывается, в том случае, если за год кнопка нажималась меньше 12 тысяч раз, на телетайп, выводящий информацию по работе колонны, должны были при последующих нажатиях этой кнопки с некоторой регулярностью отправляться случайные цитаты писателя-фантаста Карела Чапека из списка в несколько десятков. Про роботов (Чапек же это слово как раз придумал), общество, деньги и болтовню, уже не помню, что именно. Где-то пару недель контроллер должен был так дурачить обслуживающий персонал, после чего со словами - вот это я запомнил - «Невероятные события события имеют свойство повторяться регулярно» замолкал бы на год.
Товарищ тогда стал расспрашивать рабочих и руководство завода - никто за последние два десятилетия с такими выкрутасами системы управления колонной не сталкивался, все тоже с круглыми глазами на его находку смотрели. Правда, причину такого неведения выяснили быстро: по какой-то причине автор этой пасхалки указал совершенно невыполнимое условие для запуска своей программы - кнопку внутренней связи нажимали регулярно, и нужное значение превышали едва ли не за месяц. Поэтому с классикой фантастики в исполнении автоматики нефтеперегонного завода никто за прошедшие годы и не встретился. Причем это все - и цитаты Чапека, и алгоритм их печати, было так глубоко запрятано в недра кода, что два десятилетия никем не замечалось, и если бы не дотошность моего товарища, так и кануло бы в Лету вместе с очередной модернизацией оборудования.
Зато примчавшиеся безопасники устроили лютый кипиш: мало того, что в ПО, обслуживающем сложное и дорогое оборудование, обнаружена неведомая закладка, так ещё и быстро выяснилось, что снятый ещё в 90-е телетайп не был полностью отсоединён от системы - аппарат убрали, когда настроили вывод данных через мониторы, а вот ведущие к нему провода остались, были брошены в какую-то кучу мусора, но при этом сохранили соединение с контроллером. То есть неожиданно посланный на отсутствующий телетайп сигнал мог привести к короткому замыканию, пожару и черт знает чему ещё. Один год без использования упомянутой кнопки связи - и привет.
Месяц, по словам товарища, стояли на ушах - искали аналогичные «приколы» в других системах завода. Отключили физически все неиспользуемые выходы, порты и разъёмы. Кучу старых проводов порезали и вывезли. Какие-то протоколы безопасности новые внедряли. Самому товарищу какую-то безумную премию выписали - шутка ли, обнаружил и обезвредил потенциальную угрозу всему производству: даже если б пожара не случилось, неизвестно, на сколько бы пришлось останавливать работу после первой же цитаты Чапека для поиска источника этой чертовщины и к каким убыткам это бы привело.
До возбуждения уголовного дела не дошло, но вроде бы руководство завода дёргало даже людей, уволившихся четверть века назад, все хотели «шутника» найти. Чем все закончилось, товарищ так и не узнал, уехал, зато на всю жизнь усвоил - в некоторых обстоятельствах самый «безобидный юмор» может до очень большой беды довести.
А так-то да. «Слава роботам, убить всех человеков» (с).