Секреты и ложь. Безопасность данных в цифровом мире [Брюс Шнайер] (fb2) читать постранично, страница - 4


 [Настройки текста]  [Cбросить фильтры]

Korea; Phase Device Ltd.; National Postal Mail Handlers Union; Metrics; Massachusetts Higher Education Network; The London Institute; Fort Campbell School System; and MaxiDATA Tecnologia e Informatica Ltda.

И наконец, атаки на домашний компьютер, принадлежащий одному моему другу и подсоединяющийся к Интернету через модем:

• двадцать шесть просмотров с целью обнаружить слабые точки;

• четыре обнаруженные попытки взлома компьютера во время поиска слабых точек;

• множество других хакерских трюков.

Фиксируя подобные события только в течение первой недели марта 2000 года, я воистину устал от этого занятия.

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

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

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

Машины только недавно стали системами. Подъемный блок – это машина; но лифт – это комплексная система, включающая много различных механизмов. Системы взаимодействуют: лифт взаимодействует с электрической системой здания, с его системой пожарной безопасности и, возможно, даже с его системой защиты окружающей среды. Компьютеры, взаимодействуя, образуют сети; сети, взаимодействуя, образуют более крупные сети… в общем, вы уловили идею.

Адмирал Грейс Хоппер говорил: «Жизнь была проще перед Второй мировой войной. После этого у нас появились системы». Это – очень проницательный взгляд на вещи.

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

Интернет, возможно, наиболее сложная система, которая когда-либо разрабатывалась. Она включает в себя миллионы компьютеров, объединенных в непредсказуемо сложные физические сети. На каждом компьютере работают сотни программ, некоторые из них взаимодействуют с программами, установленными на том же компьютере, другие – через сеть с программами, установленными на удаленных компьютерах. Система принимает сигналы от миллионов пользователей, часто одновременно.

Один человек сказал: «Сэр, это зрелище подобно собаке, стоящей на задних лапах. Удивительно не то, что она делает это недостаточно хорошо, а то, что она вообще способна это делать».

Системы имеют несколько интересных свойств, которые уместно здесь обсудить.

Во-первых, они сложны. Механизмы просты: молоток, дверные петли, нож для бифштексов. Системы же намного сложнее: они имеют компоненты, петли обратной связи, среднее время отклика, инфраструктуру. Цифровые системы весьма затейливы: даже простая компьютерная программа состоит из тысяч строчек кода, описывающего всевозможные разновидности различных операций. Сложная программа имеет тысячи компонентов, которые могут работать как по отдельности, так и во взаимодействии друг с другом. Именно для сложных цифровых систем было разработано объектно-ориентированное программирование.

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