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

Примеры, которые я приводил до сих пор, были довольно простыми: за системой стоит некий человек или организация, и они же отвечают за ее безопасность. Например, руководство Microsoft решает, является ли конкретный хак Windows проблемой и как эту проблему решить. Как правило, все решается установкой патча. Если поставить патч оказывается сложно, система живет с уязвимостью какое-то время, как это было в случае с функцией автозапуска. У нас есть примеры, когда уязвимости после взлома быстро исправлялись, и есть другие, когда хаки оставляли нетронутыми, потому что защита от них оказывалась слишком дорогим удовольствием. Если потери от мошенничества меньше, чем затраты на исправление системы, то компании, обслуживающие кредитные карты, позволят мошенничеству продолжаться. Магазины часто позволяют шоплифтерам[14] уходить с украденными товарами, потому что сотрудники, пытаясь остановить их, могут пострадать физически, а ложное обвинение людей в краже – привести к дорогостоящим судебным разбирательствам.

Поскольку мы пытаемся построить социальные и политические системы, способные защищать себя от хакеров, необходимо подумать о балансе между написанием законов законодателями и их исполнением регуляторами. С одной стороны, регулирующие органы не несут прямой ответственности перед людьми в той же мере, что и законодатели. С другой стороны, мы не хотим, чтобы законодатели увязали в деталях реализации законов до их принятия. Чем больше законодательные органы могут делегировать реализацию законов регуляторам, тем более гибкой и устойчивой к взломам будет созданная система.

Защита социальных систем от хакинга – это не только проблема разработчиков данных систем. Это проблема, стоящая перед всем обществом, перед каждым, кто желает социальных изменений и прогресса в целом.

Часть III

Хакинг финансовых систем

16

Хакинг райских кущ

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

Уязвимость этой схемы, однако, заключалась в том, что индульгенции – товар безграничный. Духовенство начало использовать его в качестве валюты, и это стало эксплойтом. Система в целом регулировалась слабо, а значит, никто не был в состоянии эффективно ограничить способ продажи индульгенций. Церковь печатала их столько, сколько могла продать, и скоро состоятельные люди осознали, что могут купить столько отпущения, сколько им нужно. Появились посредники, которые платили коррумпированным епископам за право перепродавать индульгенции. То, что задумывалось как система искупления{65}, превратилось в систему наживы и власти. В 1517 г. практика продажи индульгенций привела к тому, что Мартин Лютер вывесил свои знаменитые «Девяносто пять тезисов» – диспут о покаянии и индульгенциях – на дверях Замковой церкви в немецком Виттенберге, положив начало протестантской Реформации и вызвав более чем столетнюю религиозную войну.

Везде, где можно заработать, есть хакеры. А те, кто умеет распознавать выгодные лазейки, могут получить много денег. Это делает финансовые системы уникально подходящими (то есть выгодными) для взлома. Иоганн Тецель, доминиканский монах начала XVI в.{66}

, изобрел два инновационных продукта для системы индульгенций. Во-первых, он выдвинул и продвигал идею о том, что можно покупать индульгенции для умерших друзей и близких{67}, тем самым повышая их статус в загробной жизни с чистилища до рая. Во-вторых, он продавал индульгенции, которые якобы давали отпущение не только прошлых, но и будущих грехов. Что-то вроде пожизненной гарантии на посмертное избежание ада{68}.

Несмотря на серьезные протесты со стороны католических богословов и реформаторов, таких как Мартин Лютер, Ватикан не смог пресечь эту практику. Церковь стала зависеть от огромных прибылей, получаемых c продажи и перепродажи индульгенций, и это парализовало любые ответные меры. К примеру, продажа индульгенций Тецелем стала основным источником финансирования строительства собора Святого Петра.

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

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

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

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

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

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

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

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

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