В нашумевшей давеча истории с кривым апдейтом Crowdstrike есть два особо впечатливших меня аспекта.
Если вы вчера прилетели с Проксимы Центавра и не слышали об инциденте, то дело обстояло так. Компания Crowdstrike выпускает продукты, предназначенные для защиты компьютеров от кибератак. Такие программы отслеживают поведение системы на низком уровне и пресекают подозрительную активность. 19-го июля Crowdstrike выпустила кривое обновление для одного из своих продуктов, Falcon Sensor, который в результате полез в непредназначенную для него область памяти. Такие поползновения пресекает уже сама система, причём делает она это по-самурайски: самоубиваясь. Поскольку в этом случае сэппуку происходило на этапе загрузки системы, компьютеры даже не могли получить исправленное обновление: они валились раньше, чем у них появлялась возможность выйти в сеть. Починить это можно было только вручную, перезагружая систему в специальном режиме и удаляя пакостные файлы. От глючного апдейта пострадали авиакомпании (5’078 отменённых рейсов), банки, правительственные учреждения, больницы, телеканалы, промышленные предприятия — кто только не пострадал. История получилась оглушительно громкой.
А меня в этом сюжете впечатлило вот что.
Во-первых, глюк этот можно было довольно легко выявить во время тестирования, достаточно было накатить апдейт на пару десятков компьютеров с разной конфигурацией — но Crowdstrike, по всему судя, вообще не тестирует свои апдейты. Отказ от ручного тестирования в пользу автоматического — тенденция во всей индустрии. Живые тестеры очень дорогое удовольствие, поэтому тесты автоматизируют. Автоматический тест запускается нажатием кнопки и может работать без перерывов и не требуя прибавки к зарплате, но он работает в симуляции, а не в настоящей среде. Это близко к реальности, но это не реальность. Так что частота инцидентов навроде вышеописанного будет только нарастать.
А во-вторых — и этот аспект восхищает меня гораздо больше — никто не читает лицензионное соглашение, все просто кликают «согласен». А там сокрыто интересное. В «Условиях эксплуатации» Crowdstrike есть пункт 8.6, где написано следующее:
Нет никакой гарантии, что продукты Crowdstrike будут свободны от ошибок, будут работать без перебоев, или будут соответствовать каким-либо целям или потребностям клиента. Продукты Crowdstrike не являются отказоустойчивыми, они не предназначены для использования в опасных средах, требующих безотказной работы. Продукты Crowdstrike не предназначены для использования в авиационной навигации, ядерных установках, системах связи, системах вооружений, системах жизнеобеспечения, системах управления воздушным движением, а также в любых системах, отказ которых может привести к смерти, серьёзным травмам или повреждению имущества.
Т.е. применение этого софта в авиации, например, является нарушением лицензионного соглашения. Так что теперь не авиаторы должны подавать на Crowdstrike в суд, а Crowdstrike должен их засудить. И наверняка засудит, американцы это любят и умеют.
Мы вверяем свою жизнь огромному количеству программ, многие из которых критичны для нашего выживания, при этом любая (подчёркиваю: любая) программа предлагает лицензионное соглашение, снимающее с неё и её создателей всякую ответственность за причинённый нам ущерб. Представьте себя лордом со штатом слуг, каждый из которых может в любой момент вас покалечить или вовсе убить — и ему за это ничего не будет, потому что отказ от ответственности прямо прописан в его (подписанном вами!) контракте.
А вы искинов боитесь. Да вы, друзья мои, своей стиральной машине собственноручно разрешили вас убить. Согласие на условия лицензионных соглашений программ, установленных в «гаджетах», обычно встроено в процесс их включения. Включил гаджет — принял условия.
Чувствуете на затылке взгляд? Это микроволновка выжидает момента, чтобы реализовать данное ей право расквитаться с кожаным мешком, который много о себе возомнил. Если быстро оглянетесь, заметите, как она отвела взгляд.