Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Секреты и ложь. Безопасность данных в цифровом мире - Шнайер Брюс - Страница 107
В течение последних нескольких лет мы наблюдаем этот процесс. Микропроцессоры стали более сложными. Операционные системы и программы тоже усложнились. Иногда без достаточно веской причины: существует целое моделирование виртуального полета, скрытое в каждой копии Microsoft Excel 97[61]. Компьютеры и сети стали более сложными. Появились сложные сетевые службы, загружаемые в память модули, программные агенты и распределенная обработка данных. Отдельные сети объединились, что привело к дальнейшему возрастанию сложности. Интернет, вероятно, – наиболее сложная система, когда-либо созданная человечеством. И она не станет более простой в ближайшее время.
Глобальная финансовая система стала более сложной. Цифровые системы в вашем автомобиле, посудомоечной машине и тостере стали сложными. Усложнились смарт-карты, а также сети, которые их обслуживают. Дверной замок вашего гостиничного номера, сигнализация, сотовые телефоны, система контроля состояния окружающей среды – все стало более сложным. Букингемский Фонтан в Чикаго управляется удаленным компьютером, находящимся в Атланте.
С точки зрения потребителя, это замечательно. Появилось больше возможностей выбора. С точки зрения профессионала в области безопасности, это ужасающее. Сложность – главный враг безопасности. Эта истина известна с момента появления компьютера и, вероятно, будет верна и в дальнейшем. И поскольку киберпространство продолжает усложняться, безопасность будет становиться все более хрупкой. Тому имеется несколько причин.
Первая причина – количество изъянов систем защиты. В главе 13 я рассказывал о надежности программного обеспечения и о ее связи с безопасностью. По мере усложнения системы возрастает и количество ошибок при выполнении программ, и число уязвимых мест защиты. Это происходит всегда. При усложнении программного обеспечения возрастает и количество ошибок. И процент этих ошибок будет влиять на безопасность, хотя это не всегда очевидно.
Вторая причина – модульная структура сложных систем. В главе 10 говорилось о модульном коде и связанных с ним проблемах безопасности. Сложные системы обязательно модульные; нет никакого другого способа управиться со сложностью системы, кроме как разбить ее на части, поддающиеся управлению. Мы никогда не смогли бы сделать Интернет таким сложным и интересным, каким он является, не прибегая к модульности. Но разрастание модульной структуры грозит ослаблением безопасности, поскольку взаимодействие модулей создает дополнительные возможности для взлома защиты.
Третья причина – это взаимосвязь сложных систем. Распределенные и объединенные в сети системы опасны по своей природе. Усложнение систем может привести к тому, что незначительные проблемы становятся неразрешимыми, – повлечь за собой эффект «бабочки»[62]. Мы уже наблюдали примеры того, как все становится доступным благодаря Интернету. В течение нескольких лет мы считали, что такие интернет-приложения, как почтовые программы, безопасны, но недавняя эпидемия макровирусов показала, что и Microsoft Word и Excel нуждаются в укреплении средств защиты. Апплеты Java должны не только быть безопасными в использовании, но также не допускать возможности применения их для нападения. При написании программного кода для веб-страниц используются тонкие взаимодействия между сценариями CGI, HTML, фреймами, программным обеспечением веб-сервера и cookies. В 2000 году баг Internet Explorer 5.0 блокировал правильную работу Windows 2000 при установке 128-битового шифрования. Фотокопировальные устройства, порты маршрутизаторов, RAID-массивы – ко всему этому можно получить доступ через Интернет, со всеми вытекающими отсюда угрозами для безопасности. Мошеннические драйверы принтера могут скомпрометировать Windows NT; файлы PostScript могут содержать вирусы. Вредоносный код, вложенный в сообщение электронной почты, может проникнуть через брандмауэр. Помните, я говорил о версии Windows NT, которая имела оценку безопасности С2, но только в том случае, если компьютер не подключен к сети и не имеет накопителя на гибких магнитных дисках? Помните WebTV-вирус?[63] Сколько пройдет времени, прежде чем кто-нибудь придумает вирус, поражающий сотовые телефоны?[64]
Четвертая причина в том, что чем сложнее система, тем она труднее для понимания. В главе 17 я рассказывал о манипуляциях людьми и о негативном влиянии человеческого фактора на безопасность. Эти проблемы обостряются из-за сложности систем. Люди, управляющие реальной системой, как правило, не обладают полным пониманием ее устройства, в том числе и проблем, связанных с безопасностью безопасности. А если кто-то плохо разбирается в вопросе, он, скорее всего, воспользуется помощью знающего человека. Сложность не только делает фактически невозможным создание безопасной системы, но и приводит к чрезвычайным трудностям в управлении ею.
Пятая причина – трудность анализа. В 18-21 главах я обрисовал процедуру проектирования и анализа систем безопасности: моделирование возможных угроз, определение механизмов защиты и проектирование системы безопасности. Чем сложнее система, тем тяжелее выполнить такой анализ. Все становится очень запутанным: спецификации, проект, создание и использование системы. Дерево атак для любой сложной системы становится гигантским. И, как мы уже неоднократно убедились, все это релевантно анализу безопасности.
Последняя, шестая причина – повышенные требования к испытаниям сложных систем. В главе 22 говорилось об испытаниях безопасности. Я доказывал, что единственно разумный способ исследования безопасности системы состоит в проведении тестирования непосредственно на ней. Однако чем сложнее система, тем труднее сделать такие оценки. Чем сложнее система, тем больше будет возникать ошибок, имеющих отношение к безопасности, и в спецификации, и в процессе разработки, и при вводе в действие. И, к сожалению, количество ошибок и трудности их распознавания растут не пропорционально возрастанию сложности, а намного быстрее.
Предельно упрощая, допустим, что система имеет 10 различных настроек, по 2 возможных варианта. Тогда 45 различных комбинаторных сочетаний могут взаимодействовать самым неожиданным образом, и в целом наберется 1024 различные конфигурации. Каждое взаимодействие способно привести к недостаткам безопасности и должно быть особо проверено. Теперь предположите, что система имеет 20 различных настроек. Это означает 190 различных сочетаний (по 2 из 20) и примерно 1 миллион конфигураций (2^20). 30 различных настроек определяют 435 различных пар и миллиард конфигураций. Даже небольшие увеличения в сложности системы означают стремительный рост количества различных конфигураций.
Увеличение числа возможных взаимодействий приводит к возрастанию объема работы во время оценки безопасности. Для системы с умеренным количеством параметров проверка всех двухпараметрических взаимодействий – тоже немалая работа. Проверка каждой возможной конфигурации – сложнейшая задача. Таким образом, трудность проведения оценки безопасности растет по мере увеличения сложности. Появление дополнительных потенциальных изъянов и усложнение анализа безопасности неизбежно приводит к уменьшению надежности систем.
В современных системах ситуация не столь сложна; часто параметры ортогональны, то есть независимы. Конечно, раз системы усложняются, то число связей увеличивается. Это происходит, например, если параметры находятся на разных уровнях в системе, и эти уровни разделены строго определенным интерфейсом. Такое разделение системы на относительно независимые модули с четко определенными интерфейсами – признак удачной разработки. Правильное разделение на модули может значительно уменьшить эффективную сложность системы, при этом все важные функции будут сохранены. Конечно, параметры в пределах одного модуля могут взаимодействовать, и эти взаимодействия должны быть проанализированы, поэтому количество параметров должно быть сведено к минимуму. Разбиение на модули работает хорошо при использовании должным образом, но многие реальные системы все же имеют взаимозависимости, которые позволяют параметрам в различных модулях влиять друг на друга.
61
Неудачный пример. «Пасхальные яйца» – неотъемлемая принадлежность большинства программных систем. Тот же симулятор полета в Excel 97 занимает ничтожную часть суммарного кода Office и скрыт от лишних глаз (переходим в ячейку X97:L97, нажав F5. Нажимаем Enter, Tab, Ctrl+Shift вместе со значком «Мастер диаграмм»). А до него – в Excel 95 – мы наблюдали встроенный Doom. В Excel 2000 мы можем поучаствовать в полноценных автогонках со стрельбой (предварительных операций нужно проделать еще больше). Списки разработчиков и даже фотографии есть почти в каждом программном продукте. Такие шалости появились одновременно с первыми программами и не могут служить аргументом в разговоре об усложнении программных продуктов. – Примеч. ред.
62
«Суть идеи прекрасно сформулирована в рассказе Рея Брэдбери "И грянул гром"… Начальные отклонения с течением времени нарастают, малые причины приводят к большим следствиям… взмах крыльев бабочки в неустойчивой системе может со временем вызвать бурю, изменить погоду в огромном регионе.» – С. П. Капица, С. П. Курдюмов, Г. Г. Малинецкий, «Синергетика и прогнозы будущего». – Примеч. ред.
63
WebTV – телеприставка от Microsoft с выходом в Интернет, предоставляет дополнительные услуги – электронная почта, просмотр веб-страниц др., считается безопасной в отношении вирусов. В начале 2000 года в форумах и телеконференциях WebTV распространился Flood Virus, первый в мире для такого рода устройств, с механизмом размножения по принципу «Мелиссы» – путем изменения подписи под размещаемыми пользователями сообщениями. Засорение форумов и досок объявлений лавиной сгенерированных сообщений выводит их из строя. Microsoft, как всегда, все опровергала («Это не вирус. На WebTV не может быть вирусов»), кивая на злонамеренный программный код. Но в 2002 году был зарегистрирован новый представитель телевирусов – WebTV 911. Пользователи (ныне MSNTV), открывшие вложение в сообщение электронной почты, не предполагали, что тем самым позволяют вирусу перезагрузить модем для входа в командный режим, после чего вирус при помощи стандартной команды hayes-модемов (+++ATH0) набирал номер 911, а полиция не заставляла себя ждать. – Примеч. ред.
64
В то время, когда печаталась эта книга, вирус SMS-Flooder уже поражал германские телекоммуникационные сети, круглосуточно затапливая их SMS-ссобщениями, пользуясь функцией саморассылки почтового клиента Microsoft; в Испании I-Worm.Timofonica рассылал SMS случайным пользователям сети MoviStar. Всего за несколько месяцев появился ряд вирусов, воздействующих на сети сотовой связи. В Норвегии некоторые такие SMS вызывали блокировку кнопок мобильных телефонов Nokia (вплоть до необходимости разрядки аккумулятора и замены SIM-карты). Это – самая малость того, что может сделать вирус, имеющий доступ к коммуникационным интерфейсам Windows (MAPI – почтовый и TAPI – телефонный), нещадно эксплуатируемым вирусами и закладками (запись переговоров, снятие денег со счета и т. д.). В интерфейс современных моделей телефонов («щелкни & звони») на радость хакерам уже заложена возможность самораспространения вирусов по принципу «Мелиссы». – Примеч. ред.
- Предыдущая
- 107/120
- Следующая
