Читаем Взломать всё. Как сильные мира сего используют уязвимости систем в своих интересах полностью

Пока что я не сказал ничего нового. Большую часть этой темы я уже освещал в своей книге 2000 г. «Секреты и ложь»{63}. Другие авторы писали об этом и до меня, и после. Но понимание подходов безопасного проектирования имеет решающее значение для ограничения эффективности взлома. Чем больше фундаментальных принципов безопасности вы сможете включить в дизайн вашей системы, тем надежнее она будет защищена от хакеров.

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

14

Экономика безопасности

В 1971 г. некто, купивший билет на имя Дэна Купера, хакнул Boeing 727, использовав кормовой трап весьма нетривиальным способом: после успешного захвата самолета и получения выкупа в размере $200 000 наличными он выпустил пассажиров, заставил пилотов взлететь и выпрыгнул с парашютом, чтобы навсегда исчезнуть для правоохранителей, которые так и не смогли установить его личность. За Купером последовало множество подражателей, и в итоге компания Boeing изменила конструкцию этой модели, убрав кормовой трап и тем самым устранив возможность выпрыгнуть в полете. Это было эффективное, но дорогостоящее исправление уязвимости. Однако почему она вообще существовала? Вероятно, компания считала эту угрозу или нереальной, или слишком отдаленной, чтобы от нее защищаться.

Моделирование угроз – это термин из области системного проектирования, означающий последовательное перечисление всех возможных угроз для системы{64}

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

Экономические соображения необходимы для понимания того, как строить защиту от хакинга. Определите размер убытков в случае взлома системы. Определите стоимость и эффективность конкретных методов безопасности. Проведите анализ затрат и выгод, чтобы понять, стоит ли каждый метод потраченных на него средств. В некоторых случаях нет смысла внедрять защиту. Например, существует множество потенциальных мер безопасности, которые могут снизить количество взломов банкоматов, но они не применяются, поскольку раздражают законных клиентов. Такие методы, как сканирование отпечатков пальцев или система распознавания лиц, многие клиенты сочтут нарушающими конфиденциальность. Если эти меры ощутимо снизят частоту использования банкоматов, то сделают их менее прибыльными, несмотря на то что повысят уровень безопасности.

Еще одно понятие из области экономики, которое важно для понимания хакинга и защиты от него, – это экстерналии. Экстерналией называется внешний эффект от экономической деятельности, который сказывается на людях, непосредственно не вовлеченных в эту деятельность. Помните владельца фабрики, решившего загрязнить реку? Люди, живущие ниже по течению, в результате могут заболеть, но владелец живет в другом месте, и ему все равно.

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

Хакинг вызывает внешние эффекты. У этих эффектов есть цена, которую платит общество. Это похоже на воровство в магазинах: все должны покупать по более высоким ценам, чтобы компенсировать потери или оплатить меры, предпринимаемые магазином для борьбы с воришками.

Перейти на страницу:

Похожие книги

Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT
Фундаментальные алгоритмы и структуры данных в Delphi
Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет СЃРѕР±РѕР№ уникальное учебное и справочное РїРѕСЃРѕР±ие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий DelphiВ».Р' книге РїРѕРґСЂРѕР±но рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием. Р

Джулиан М. Бакнелл

Программирование, программы, базы данных