Взломать всё. Как сильные мира сего используют уязвимости систем в своих интересах - Брюс Шнайер
Эта концепция легко применима и в социальных системах. Она находит отражение, например, в идее, что государственные регуляторы не должны иметь финансовых интересов в отраслях, которые они регулируют. (Впрочем, этот принцип регулярно нарушается в США, благодаря так называемому эффекту вращающихся дверей, когда происходит взаимная ротация кадров между правительством и отраслями.) Или в том, что избирательные округа не должны создаваться выборными должностными лицами, которые могут извлечь выгоду из джерримендеринга[11].
Механизмы защиты от сбоев. Все системы дают сбой, будь то в результате несчастного случая, ошибки или атаки. Мы хотим, чтобы они выходили из строя максимально безопасно. Есть простые решения, например выключатель мертвеца в поезде: если машинист теряет дееспособность, поезд перестает ускоряться и в конце концов останавливается. Есть решения намного сложнее, как в случае с пусковыми установками ядерных ракет, которые имеют всевозможные надежные механизмы, гарантирующие, что боеголовки никогда не будут запущены случайно.
Социальные системы также могут иметь механизмы защиты от сбоев. Многие наши законы содержат нечто подобное. Убийство незаконно, независимо от используемых средств, даже если вы придумаете хитрый способ взломать систему для его совершения. Альтернативный минимальный налог (АМТ) в США должен был служить в качестве предохранительной меры, чтобы граждане платили минимальный налог независимо от того, сколько и какого рода лазеек они обнаружили. (То, что АМТ не сработал так, как это задумывалось, демонстрирует сложность поставленной задачи.)
* * *
Все перечисленные контрмеры также снижают эффективность хакинга.
Пока что я не сказал ничего нового. Большую часть этой темы я уже освещал в своей книге 2000 г. «Секреты и ложь»{63}. Другие авторы писали об этом и до меня, и после. Но понимание подходов безопасного проектирования имеет решающее значение для ограничения эффективности взлома. Чем больше фундаментальных принципов безопасности вы сможете включить в дизайн вашей системы, тем надежнее она будет защищена от хакеров.
Используют компании эти методы или нет, зависит от конкретной отрасли. Можно предположить, что такие гиганты, как Apple и Microsoft, тратят гораздо больше денег на обеспечение безопасности своих программных продуктов, чем разработчики игр для мобильных телефонов. Точно так же можно ожидать, что компания, создающая программное обеспечение для самолетов, автомобилей и медицинских приборов, потратит значительно больше средств и усилий на обеспечение безопасности, чем компания, выпускающая программируемые игрушки. И хотя всегда есть исключения, в основном такая картина верна.
14
Экономика безопасности
В 1971 г. некто, купивший билет на имя Дэна Купера, хакнул Boeing 727, использовав кормовой трап весьма нетривиальным способом: после успешного захвата самолета и получения выкупа в размере $200 000 наличными он выпустил пассажиров, заставил пилотов взлететь и выпрыгнул с парашютом, чтобы навсегда исчезнуть для правоохранителей, которые так и не смогли установить его личность. За Купером последовало множество подражателей, и в итоге компания Boeing изменила конструкцию этой модели, убрав кормовой трап и тем самым устранив возможность выпрыгнуть в полете. Это было эффективное, но дорогостоящее исправление уязвимости. Однако почему она вообще существовала? Вероятно, компания считала эту угрозу или нереальной, или слишком отдаленной, чтобы от нее защищаться.
Моделирование угроз – это термин из области системного проектирования, означающий последовательное перечисление всех возможных угроз для системы{64}. Если в качестве системы вы рассмотрите свой дом, то для начала стоит перечислить, что в нем наиболее ценное: жильцы, семейные реликвии, оригинал Пикассо, дорогая электроника. Затем нужно перечислить все способы, которыми посторонний может проникнуть в дом: незапертая дверь, открытое окно, закрытое окно и т. д. После этого вы рассмотрите разные типы людей, которые могут захотеть проникнуть в дом: профессиональный взломщик, соседский ребенок, преследователь, серийный убийца. Не стоит забывать об угрозах от людей, которым не нужно взламывать дверь, например о возможном насилии со стороны интимного партнера. И, наконец, вы используете всю эту информацию для построения модели, подробно описывающей то, о каких угрозах стоит побеспокоиться, а какие можно проигнорировать, сколько усилий нужно потратить на смягчение конкретных угроз и т. д. Ваша домашняя безопасность будет иметь свою специфику, если вы владеете оригиналом Пикассо, являетесь президентом страны или живете в зоне боевых действий.
Экономические соображения необходимы для понимания того, как строить защиту от хакинга. Определите размер убытков в случае взлома системы. Определите стоимость и эффективность конкретных методов безопасности. Проведите анализ затрат и выгод, чтобы понять, стоит ли каждый метод потраченных на него средств. В некоторых случаях нет смысла внедрять защиту. Например, существует множество потенциальных мер безопасности, которые могут снизить количество взломов банкоматов, но они не применяются, поскольку раздражают законных клиентов. Такие методы, как сканирование отпечатков пальцев или система распознавания лиц, многие клиенты сочтут нарушающими конфиденциальность. Если эти меры ощутимо снизят частоту использования банкоматов, то сделают их менее прибыльными, несмотря на то что повысят уровень безопасности.
Еще одно понятие из области экономики, которое важно для понимания хакинга и защиты от него, – это экстерналии. Экстерналией называется внешний эффект от экономической деятельности, который сказывается на людях, непосредственно не вовлеченных в эту деятельность. Помните владельца фабрики, решившего загрязнить реку? Люди, живущие ниже по течению, в результате могут заболеть, но владелец живет в другом месте, и ему все равно.
Конечно, все не так однозначно. Ниже по течению могут жить работники фабрики и ее клиенты. Экологические активисты могут разоблачить факт загрязнения, пресса – опубликовать критические статьи, а общественное мнение – обернуться против владельца. Тем не менее в нашем системном мышлении загрязнение реки является экстерналией.
Хакинг вызывает внешние эффекты. У этих эффектов есть цена, которую платит общество. Это похоже на воровство в магазинах: все должны покупать по более высоким ценам, чтобы компенсировать потери или оплатить меры, предпринимаемые магазином для борьбы с воришками.
Мы знаем, как решить проблемы, вызванные внешними эффектами: нужно преобразовать их в проблемы, которые затрагивают человека, владеющего системой и принимающего решения. Для этого мы налагаем на систему правила извне, чтобы перенести затраты внутрь самой системы.
В идеальном мире такой подход работает блестяще. В реальности его эффективность зависит от правоприменения и наказаний, от юристов и результатов судебных разбирательств. Она зависит от действий регулирующих органов, на которые влияют представители власти, лоббисты, стремящиеся смягчить нормы, а также доноры избирательных кампаний со своими программами. Она зависит от результатов исследований, финансируемых промышленностью и научными кругами, которые могут искажаться в интересах политических сил. Она зависит от граждан, которые должны не только понимать, что подобные затраты существуют, но и то, как и кого именно заставить понести их.
Технические системы становятся небезопасными при изменении модели угроз. По сути, любая система проектируется в соответствии с реалиями своего времени. Затем в какой-то момент ее использования что-то меняется. Какова бы ни была причина изменений, старые предположения, положенные в основу безопасности, больше не верны, и система становится незащищенной. Уязвимости, которые когда-то были неважными, превращаются в критические. Критические уязвимости, напротив, перестают быть актуальными. Хаки становятся то проще, то сложнее, то более прибыльными, то менее, то распространенными, то единичными.
Возможно, самым наглядным примером этого служит сам интернет. Как бы смешно это ни звучало сегодня, но интернет создавался без учета требований безопасности. Еще в конце 1970-х – начале 1980-х гг. он не использовался для каких-то важных дел, а чтобы получить к нему доступ, нужно было быть сотрудником исследовательского учреждения. Многопользовательские мейнфреймы, подключенные к интернету, имели свои собственные системы безопасности. По этим причинам первые разработчики интернета намеренно игнорировали соображения безопасности в пользу более простого протокола и оставляли их на усмотрение многопользовательских конечных