Циферкой ошиблись! Как мелкий баг в софте поставил подножку всему миру Евгений Золотов
Циферкой ошиблись! Как мелкий баг в софте поставил подножку всему миру
Евгений Золотов
Опубликовано 15 августа 2013
Если не бояться метафизических аналогий, программное обеспечение можно представить как длинный-длинный рычаг: крохотная команда способна свернуть горы. К сожалению, ровно с той же холодной эффективностью рычаг работает и против своего создателя. Как это бывает, хорошо иллюстрирует совсем свежая история, произошедшая с немцем Дэвидом Криселем. Уцепившись за случайную и вроде бы ерундовую ошибку в софте (да не ошибку даже, а так, недосмотр!), он вышел на потенциальные последствия, на фоне которых меркнет и пресловутый Stuxnet. И хоть производитель пообещал патч, точку ставить рано.
А началось всё 24 июля, когда Крисель — никому не известный докторант, увлечённый самоорганизующимися компьютерными системами, а на жизнь зарабатывающий в американском консалтинговом и проектном гиганте WorleyParsons, — столкнулся со странным поведением многофункциональных устройств Xerox. Изучая копию квартирного плана, сделанную на МФУ серии WorkCentre, Дэвид (или кто-то из его коллег) обнаружил, что жилая площадь указана неверно. Поскольку на оригинале стояла правильная цифра, было очевидно, что ошибка закралась в документ во время копирования. Чтобы убедиться, что им не померещилось, они изучили другие ранее откопированные документы, а также провели опыты на нескольких ксероксовских МФУ различных модификаций — с тем же результатом: цифры как будто кто-то подменял. Вот для примера отрывок из произвольной бухгалтерской ведомости, где хорошо заметно, как это происходило.
После первых опытов появилась возможность утверждать две вещи. Прежде всего речь не идёт о случайном шуме, возникшем вследствие некачественного сканирования: знаете, как если бы пятёрка, снятая при плохом освещении, начала казаться шестёркой. Символы именно подменялись: обратите внимание, как характерно проработана нижняя часть восьмёрки в фотографии выше — это явно восьмёрка, а не шестёрка с дорисованной дужкой! Во-вторых, это была не ошибка OCR-движка. Иначе говоря, подмена случилась не в процессе распознавания текста — потому что Крисель отключил распознавание для чистоты эксперимента!
Тут ребята впервые схватились за голову. Не нужно быть дотошным немцем, чтобы понять, почему: последствия такой «мелочи» могут оказаться катастрофическими! Xerox WorkCentre — очень популярная марка: это офисные трудяги ценой под тысячу долларов, работающие по всему миру. Мне не удалось отыскать статистики, но, думаю, не будет преувеличением предположить, что проданы миллионы таких устройств. Через них проходят счета, строительные планы, рецепты на лекарства, проектная документация на всевозможное оборудование — короче, документы, ошибки в которых могут стоить компаниям существования, а пользователям — жизни. И Дэвид (ох уж эти логичные немцы!), кажется, до сих пор не оправился от удивления: как же так Xerox, уже какое-то время знавшая о существовании ошибки, не пошевелила и пальцем, чтобы её устранить?
Сделав своё открытие, Крисель первым делом поставил в известность производителя. Неделю спустя, когда стало ясно, что техподдержка Xerox, как говорится, ни сном ни духом, и решением даже не пахнет, он — подталкиваемый страхом, что для кого-то ошибка может аукнуться большими проблемами, — подробно изложил всё на личном сайте. К этому моменту Дэвид уже провёл настоящее исследование и выяснил кое-какие новые детали. Так, стало ясно, что ошибке подвержены как самые старые модели WorkCentre, так и новейшие. И самое важное: удалось максимально сузить круг «подозреваемых». В ходе дискуссии с подключившимися к обсуждению энтузиастами Крисель пришёл к выводу, что винить следует алгоритм компрессии графики JBIG2, применённый в ксероксовских машинах.
JBIG2 — простая и удивительно эффективная штука. Умеющий сжимать графические файлы как с потерями, так и без, он особенно хорош (да и предназначен) для сканирования текстовых документов. Приступая к сжатию очередного файла, JBIG2 создаёт своего рода картотеку наиболее часто встречающихся графических образов, то есть, скажем, запоминает, как выглядит буква «A», буква «Б» и так далее. И каждый раз, встретив что-то похожее на «A», просто подставляет готовый образ из словаря. Такой подход не только позволяет сжимать сырые графические файлы в десятки раз, но и даёт поразительный эффект: с повышением качества исходного документа размер сжатого файла уменьшается! К сожалению, как выяснилось теперь, это может выйти боком.
Скажем, шестёрка на скане среднего качества похожа на восьмёрку — и если видимая разница между ними не слишком велика, то JBIG2 может её восьмёркой и заменить. А удастся, так и двойку поменяет на семёрку, и даже единичку — на тройку.
Xerox упиралась до последнего. Первым делом, когда Крисель таки достучался до руководства компании, его попытались убедить, что он имеет дело не с багом, а с «фичей» (поистине канонический ответ, так что простите за картинку, не удержался). Лишь после двух недель препирательств компания выпустила первый пресс-релиз, в котором предупредила пользователей об опасности и предложила обходной путь (выставить в свойствах компрессии «higher» вместо «normal», а также сканировать документы с качеством выше 200 DPI). Увы, Крисель немедленно воспроизвёл ошибку и при таких параметрах — и лишь 12 августа отпраздновал полную победу: Xerox признала баг и пообещала патч в ближайшем будущем.
Что ж, осталось всего ничего: достучаться до всех покупателей WorkCentre (а также WorkCentrePro, ColorQube, BookMark) и заставить их инсталлировать апдейт. Учитывая, что, по некоторым данным, треть компьютерного мира всё ещё работает под Windows XP, реально ли это?
Но аппараты Xerox — это даже не полбеды. JBIG2, стандартизованный тринадцать лет назад, запатентован (IBM, Mitsubishi), но условия лицензирования легки, так что алгоритм распространён чрезвычайно широко. Фактически он используется сегодня в тысячах программ и аппаратных продуктов по всему миру и всем платформам, от MS Windows до Linux. Простой поиск по термину «JBIG2» в «Гугле» даёт сотни тысяч упоминаний, по большей части в связи со спецификациями или девелоперскими аспектами, ибо конечного пользователя такие подробности не интересуют, да и не должны интересовать. При этом один из читателей Криселя уже сообщил о воспроизведении ошибки с подменой цифр на МФУ фирмы Brother (популярная в России марка). А кто проверит продукты Adobe, а нашей ABBYY (и там и там JBIG2 применяется)?
Если даже Xerox столь безответственна, что, зная о проблеме явно не первый год, лишь мельком помянула её в мануалах, но так и не потрудилась исправить, можно ли рассчитывать на понимание других производителей и разработчиков?
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Почему Skype широко известен по всему миру
Почему Skype широко известен по всему миру Skype появился очень давно по сравнению с другими программами голосового общения и долгое время вообще не знал себе конкурентов. Благодаря обильной рекламе, в которую была вложена кругленькая сумма денег, о Skype быстро узнали и
4K? Всё ещё слишком рано! Евгений Золотов
4K? Всё ещё слишком рано! Евгений Золотов Опубликовано 06 декабря 2013 Если только вы не обретаетесь на забытом богом острове в Тихом океане (как там «Инмарсат», не тормозит?), то готов ручаться, уже задумывались над тем, как защитить близких от страшной
Магазины Zune Marketplace появятся по всему миру Михаил Карпов
Магазины Zune Marketplace появятся по всему миру Михаил Карпов ОпубликованоМихаил Карпов Компания Microsoft объявила о том, что сервис Zune, с помощью которого фирма продаёт музыку и видео, откроется и в Европе, а также в некоторых других странах. До недавнего
Забудьте о Microsoft, она проиграла! Евгений Золотов
Забудьте о Microsoft, она проиграла! Евгений Золотов Опубликовано 21 января 2014 Когда сравниваешь тёплое с мягким, всегда можно отыскать плоскость, в которой такое сравнение окажется полезным. Вот вчера речь шла о совершенно разных категориях цифрового
BlackBerry всё Евгений Золотов
BlackBerry всё Евгений Золотов Опубликовано 24 сентября 2013 «Когда умирают тираны, в первый момент наступает замешательство: возможно ли это, неужто и они состоят из смертных молекул?»Это сказано про человека, не про компанию. Но именно эти слова
Apple и её «чудеса» Евгений Золотов
Apple и её «чудеса» Евгений Золотов Опубликовано 25 марта 2014 После возвращения Стива Джобса в Apple, у этой компании появилось странное свойство «особого качества». Попросту говоря, её продукции приписывали (и продолжают по сей день) чудесные свойства,
XP: обратный отсчёт Евгений Золотов
XP: обратный отсчёт Евгений Золотов Опубликовано 24 марта 2014 Две недели остаётся до «официальной отставки» Windows XP — и по мере того, как утекают последние часы и сутки, ситуация обретает ощутимый драматический оттенок. 8 апреля 2014 года Microsoft
Факт: ошибка в автомобильном софте может стоить жизни. Что дальше? Евгений Золотов
Факт: ошибка в автомобильном софте может стоить жизни. Что дальше? Евгений Золотов Опубликовано 14 февраля 2014 «Shit happens», — гласит американская поговорка. Но некоторые неприятности не просто случаются, они какое-тообязаны рано или поздно произойти
Ода красивому коду Евгений Золотов
Ода красивому коду Евгений Золотов Опубликовано 04 апреля 2014 0 Какой красивый код!10 Пусть тот, кто устал от этой фразы, первым бросит в меня камень. Это редкая и наверное самая ценная похвала, какой только может удостоиться программист. Деньги?
До свидания, BlackBerry, и — прощай? Евгений Золотов
До свидания, BlackBerry, и — прощай? Евгений Золотов Опубликовано 19 августа 2013 Вот уже неделя как канадский мобильный гигант BlackBerry выставлен на продажу. Теперь это не слухи и не домыслы досужих аналитиков: внутри компании организован комитет по «поиску
Смартфон за $20: а что хорошего? Евгений Золотов
Смартфон за $20: а что хорошего? Евгений Золотов Опубликовано 08 мая 2014 Смартфон шагает по планете. Пусть из каждых шести землян, пользующихся мобильной связью, пока лишь двое (по самым смелым оценкам — больше трёх) делают это с помощью смартфонов — с
Аркаим: искусство вспоминать Евгений Золотов
Аркаим: искусство вспоминать Евгений Золотов Опубликовано 06 мая 2014 Эти праздники мы с друзьями (девчатами из «Яндекса»: да, я везунчик) провели в поездке по Южному Уралу — и большую часть времени потратили на Аркаим. По загадочности, количеству
Тоска по аналОгу Евгений Золотов
Тоска по аналОгу Евгений Золотов Опубликовано 11 апреля 2014 Признаться, до этой весны я не думал, что однажды снова возьму в руки «винил». Последние грампластинки домашней коллекции отправились на помойку где-то во второй половине 90-х, но прошло
Читалки: перевёрнутая страница Евгений Золотов
Читалки: перевёрнутая страница Евгений Золотов Опубликовано 11 января 2013 года В новогоднем сумасшествии с десятками миллионов подаренных планшеток и смартфонов (см. "Новая жизнь старого железа" и "Загадочный дефект Galaxy S III") есть ещё один момент,
Антивирус мёртв. Что делать? Евгений Золотов
Антивирус мёртв. Что делать? Евгений Золотов Опубликовано 12 мая 2014 Борьба с компьютерными вирусами и цифровой заразой вообще — тема особая. Это непрекращающееся состязание меча и щита в его наивысшей технологической форме. Для широкой публики
Балмер всё Евгений Золотов
Балмер всё Евгений Золотов Опубликовано 26 августа 2013 Стив Балмер уходит из Microsoft. Честно, думали ли вы дожить до этого дня? Стив оставит пост CEO и компанию в течение следующих двенадцати месяцев, как только для него будет подобран достойный