Читать книгу Пузыри. Айти для детей и их родителей - Иван Бевуч - Страница 14

Пузырь безопасности

Оглавление

– Борис Николаевич, к вашему Антону претензий нет. Даты – это очень и очень важно. Но обозначенную «Проблему-2000» вы так и не раскрыли в ходе лекции.

– Михаил Сергеевич, извиняюсь, память старая… Запамятовал. В следующий вторник обязательно расскажу.

– Что кроме нее?

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

– Специалиста по ИБ?

– Специалиста по общению с ИБ.

– Если бы я был японцем, я бы сказал:

Каждый диалог

С вами сердце скорбью

Наполняет мне.


Лекция от 29.10.2019


– Всем ку! Мы в прошлый раз разглагольствовали целую лекцию про даты, а «Проблема-2000» опять мимо. Давайте быстренько. На дворе рубеж третьего десятилетия двадцать первого века. Те, кто писал программы в начале девяностых прошлого века, особо не думали о проблемах календарей. Сотрудники передовых многомиллиардных корпораций не думали о том, что их детища проживут пять-десять лет и перешагнут рубеж тысячелетия. Что уж говорить о сотрудниках более мелких продуктовых компаний. Хотя официально рубеж вроде бы перешагнулся с 00 на 01, а не с 99 на 00, но именно смена с 99 на 00 грозила всему миру. Из-за этого отвратительного мученичества с датами, а также еще и из-за крайне невысокой производительности компьютеров того времени считать биты было необходимостью. На один символ два бита. Еще два бита на каждый разделитель. А выкидывание двух лишних символов из каждой даты («19») позволяло сэкономить четыре бита и чуть-чуть сократить трудоемкость операций над ними. Сделали и забыли, другие тоже сделали и забыли, третьи… Четвертые поставили ПО и решили больше не обновляться, пятые поставили, но больше обновлений не прилетало от шестых, потому что они закрылись и разбежались. И вот в какой-то момент времени оказывается, что компьютеров на планете десятки миллионов, на каждом десятки программ, компьютеры замешаны уже практически во всех сегментах человеческого бизнеса… И большая часть экземпляров используемого ПО, то есть сотни миллионов инсталляций, считает, что после 1999 года идет 1900-й. Точнее, после 99 идет 100, что могло запросто считаться и как 19100.


– Возникала натуральная квантовая неопределенность. Каждая программа могла умереть или жить дальше при начале 2000 года. И только позиция наблюдателя, который посмотрит в программный код, могла внести ясность в эту неопределенность. Это, конечно, шутка, квантовой неопределенностью тут и не пахнет. Обычная такая, неквантовая… Человечество спохватилось своевременно, что-то обновили разработчики, что-то поменяли пользователи: подкрутили в исходниках, где это было возможно, либо перешли на новые системы, где нет. Также некоторым системам было индифферентно, какой на дворе год, хоть 1601-й, хоть 2038-й. Калькулятор и пасьянс «Косынка» будут служить вам верой и правдой вне зависимости от года. Человечество преодолело проблему малой кровью.


Мерзкое солнце вышло из-за тучи и внезапно ударило по глазам. Прямо хоть опять аудиторию меняй. Но все остальные были меньшего размеры. Поэтому приходилось терпеть все пытки, назначаемые светилом.


– При этом не стоит забывать, что «Проблема-2000» была не только в 2000. Она случалась каждый год, но в сильно меньших масштабах. Вот представьте, разработчик ПО добавляет выбор года из списка на экран. Неважно, на какой, просто выбор года из списка. В техническом задании сказано – «год должен быть этот и предыдущий». Разработчик доблестно выполняет требование, прописывая ручками номер «этого» и номер «предыдущего». На этапе тестирования это проходит незамеченным… Как минимум потому, что с таким разработчиком наверняка там будет огромный перечень других, более наглядных ошибок. Заказчик получает свое ПО, начинает пользоваться, все довольны (чаще нет). И вот Рождество (у бездуховных), Новый год (у православных), шампанское, мандарины, каникулы. Все возвращаются в рабочий ритм в начале января, идут в систему, чтобы ввести первый заказ в новом году, а система говорит: «Ничего не знаю, такого года не существует, он не похож ни на тот, который был этот, ни уж точно на предыдущий».


Слова «этот» и «предыдущий» Борис Николаевич выделил в монологе и интонацией, и жестикуляцией.


– Где-то год не использовался в явном виде, а хранился в неявном. Там особо одаренные также могли зацементировать «1997» или «2018», а дальше осталось только дождаться нового года. У которого будет тот же номер, если верить системе. Честно признаюсь, лично я раза два-три встречал Новый год, переживая… Когда в 00:15—00:30 страх брал верх и я лез проверять, работает ли та или иная система. Не начудили ли мои архаровцы. Обычно это связано было с проверкой систем, которые в эксплуатацию запускались в декабре. Один раз точно я был не уверен в себе, в том, что сам не забыл все сделать по-человечески. Но в моих случаях, к счастью, все работало. Зато примеров, в которых январь оборачивался колоссальным факапом, я слышал несколько, а в целом по планетке их была не одна тысяча явно.


Солнце вновь поддалось собственной орбите и перестало мешать лекции. Борис Николаевич с облегчением продолжил:


– По моим ощущениям любой, кто имел опыт, связанный с разработкой ПО… Я говорю про ПО, которое потом будут использовать несколько других человек. Ваши лабы в институте, к сожалению, не в счет. Так вот, любой может вспомнить одну или несколько подобных историй, связанных с датами и временем29. Поэтому про даты речь и шла на прошлой лекции – даты как хороший пример проблем, возникающих из-за неявности требований, недальновидности разработчиков и невнимательности проверяющих за ними. Да, с годами технологии меняются, некоторые вещи становятся проще, но в целом глобальная проблема никуда не денется. Любая система может сломаться тогда, когда этого никто не ожидает – именно по этим причинам. Запомните, это важно.


Аудитория активно запоминала.


– Один мой хороший знакомый поведал мне как-то историю на близкую тему… На самом деле это был я много лет назад, но я подписывал соглашение о неразглашении, поэтому буду все отрицать, и вы ничего не докажете. В одной крупной-крупной межгалактической корпорации… шел проект по разработке и внедрению небольшого мобильного клиента для руководства небольшой, по меркам корпорации, организации. Мобильный клиент должен был аккумулировать данные из нескольких систем и выводить их в виде понятных и простых отчетов с графиками и анимацией. Было две проблемы – сотрудники местной службы информационной безопасности были настоящими небожителями и по власти своей уступали разве что некоторым богам Олимпа. Зевсу уступали, Гере возможно, Дионису – точно не уступали, но речь не об этом. Вторая проблема была в том, что данные, которые нужны были для отрисовки нескольких страниц с отчетами были очень и Очень Конфиденциальными. Даже гриф был такой – «ОК». А перед входом в заводоуправление был расположен целый нефтепровод с надписью: «В БЕЗОПАСНОСТИ НЕТ МЕЛОЧЕЙ», что, несомненно, ненавязчиво намекало на то, что требования безопасности придется выполнить. Все. Целиком. Полностью.


– Дашборд выглядел примерно так, как на схеме. История с проектом длилась достаточно долго. Более чем достаточно долго. От момента, когда технологии реализации были утверждены, до момента, когда пользователям принесли планшет, на котором были искомые графики, прошло около двух с половиной лет. Сама система была разработана за три-четыре месяца ближе к концу этого срока. А все остальное время было потрачено на написание, согласование, правку, согласование, правку, согласование, сожжение, написание с нуля, согласование, самоубийство аналитика, поиск нового, написание, согласование, правки, согласование, сожжение, написание, согласование, правки, согласование, самосожжение второго аналитика. И еще на пару лекций можно было бы расписывать хронологию. Вкратце суть всех этих итераций была в том, чтобы ни одна живая душа в мире не подумала, что ИБэшники работают недостаточно качественно. Поэтому легкий, простой и понятный интерфейс пользователя превратился в нечто монстровое, тяжелое, громоздкое. И главное – совсем никому не нужное. Для каждого входа в приложение пользователям приходилось лично ходить к ИБэшникам и просить одноразовый пароль. Мобильное приложение, которое должно было позволять получать доступ к данным в любой точке мира, могло работать, только если в этой точке мира был отдел информационной безопасности того самого завода. Это требования ИБ, к их большому сожалению, так реализовано и не было, но все остальные были. В итоге вместо велосипеда пользователи получили велосипед, даже два, на которые была надета танковая броня, с башней и пулеметами. Безопасники довольны, но едет агрегат не очень быстро.


– Еще был важный момент – информационные технологии вообще развиваются с огромной скоростью. Вы же помните, что мы тут про историю ИТ говорим. А сравнительно новое направление мобильных технологий кричит им с горизонта: «С ручника-то снимитесь». Даже операционные системы мобильных устройств: год с момента выхода – актуальная, еще год – как-то работает, но ты бы обновился. После двух лет – это окаменелый, кхм, след динозавра, в который наступил мамонт, перед тем как оставить свой собственный. Оставить след на головах тех, кто потребовал зафиксировать конкретные версии операционных систем и разных фреймворков за два с половиной года до начала эксплуатации… Столько лет прошло, а я все еще чувствую скопление негативной энергии «Ять» возле основания позвоночника…


Профессор Соснин задумчиво глядел в окно. Потом подошел к ноутбуку и что-то вбил в поисковую строку браузера.


– Я погуглил, что является основанием позвоночника, но так и не разобрался и на всякий случай уточню – я имел в виду нижнюю часть оного.


Борис Николаевич специально для визуалов продемонстрировал на себе, что же он имел в виду.


– Кульминация этой истории произошла несколько позже. Счастливые пользователи, у которых появился такой удобный танк на педальной тяге, несколько обалдели. И от безопасного удобства, и от удобной безопасности. А еще они обалдели, потому что за 30 месяцев все уже поменялись по пять раз. Но как-то с горем пополам начали пользоваться. И вроде бы уже привыкли даже. Тем более что сами понимали – в безопасности нет мелочей, и если ИБ сказали, значит, так надо. У нас даже для Приемо-Сдаточных Испытаний по Информационной Безопасности термин тогда появился: «ПэСэИ по_ИБэ»… Золотые были деньки…


Борис Николаевич погрузился в сладкие воспоминания, пока аудитория хихикала над очередной шуткой «категории b».


– Но в один прекрасный день тетенька (предположительно) из бухгалтерии (предположительно) этой (предположительно) организации открыла в фишинговом (предположительно) письме ссылку (предположительно) и запустила файл (а вот это сто пудов). После чего в течение нескольких часов лопнул пузырь безопасности, а тысячи компьютеров превратились в железно-алюминиево-медно-кремниевые ящики. И суперзащищенная система, и все ее данные, и данные систем, откуда данные брались, и сами системы, и вообще все, и даже небо, и даже божества на Олимпе – превратились в прах. Даже не в прах, а просто исчезли без следа.


Зал ожидал окончания истории.


– Нет, в течение недели худо-бедно как-то большую часть со скрипом восстановили. Систему нашу тоже подняли из ада и заставили функционировать в привычном для нее сверхбезопасном велосипедно-танковом режиме. При этом, если бы кое-кто не пытался надеть пятидесятитонную броню поверх велосипеда, велосипед можно было сделать быстрым и классным. И успеть развить. И ничего бы страшного ни с ним не случилось, ни с велосипедистом. Достаточно было надеть на него шлем, налокотники и наколенники. А броня – это лишнее. Потому что перед лицом Апокалипсиса все равны. Но даже тут некоторые равнее.


– Закончилась эта история тем, что еще через какое-то время новые операционные системы перестали поддерживать танковую броню третьего поколения. И было варианта два: год переезжать на броню четвертого поколения или выкинуть все в мусорное ведро. Сначала внедрение системы, а потом ведрение. Ну вы сами догадались уже, что в итоге сделали.

29

Если нет, то мне стыдно за тебя, товарищ.

Пузыри. Айти для детей и их родителей

Подняться наверх