Брюс Шнайер - Секреты и ложь. Безопасность данных в цифровом мире

Тут можно читать онлайн Брюс Шнайер - Секреты и ложь. Безопасность данных в цифровом мире - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая околокомпьтерная литература, издательство Питер, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Брюс Шнайер - Секреты и ложь. Безопасность данных в цифровом мире краткое содержание

Секреты и ложь. Безопасность данных в цифровом мире - описание и краткое содержание, автор Брюс Шнайер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Секреты и ложь. Безопасность данных в цифровом мире - читать онлайн бесплатно полную версию (весь текст целиком)

Секреты и ложь. Безопасность данных в цифровом мире - читать книгу онлайн бесплатно, автор Брюс Шнайер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Трудно обнаружить ошибки в программном обеспечении, влияющие на правильное выполнение задачи; обнаружить ошибки в системе безопасности еще труднее.

Надежность означает, что компьютер, в первую очередь программное обеспечение, но также и любые специализированные технические средства должны работать даже при появлении случайных ошибок. Они могут возникать при проектировании (использование одинакового программного обеспечения в основной и резервной системах), при вводе в действие (отсутствие проверки наличия ошибок при преобразовании данных), это могут быть ошибки программирования (вспомните математическую ошибку в чипе Intel Pentium [39]) или ошибки пользователя. Время от времени такие ошибки появляются. Это похоже на компьютер Мерфи: сбои происходят… редко, но постоянно. Если компьютер ошибается время от времени, пусть даже редко, это заметно любому пользователю.

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

Компьютерная защита более всего похожа на программирование для компьютера Сатаны. (Росс Андерсон ответствен за этот красивый оборот.) Чтобы быть безопасным, программное обеспечение должно работать, несмотря на появление неуловимых и опасных ошибок, которые могут быть преднамеренно внедрены способным нападающим с целью нанести поражение системе. Надежное программное обеспечение должно пережить и случайные ошибки, которыми может воспользоваться сообразительный хакер. (Представьте себе, что это некий хакер вызвал ошибку переполнения в программном обеспечении «Ариан 5» в самое неподходящее время.) Ошибки происходят случайно, и большинство из них редко встречается при обычном использовании. Но нападающие разыщут потенциальные ошибки и непременно воспользуются ими для достижения своих целей.

Широко применяемая стратегия для обнаружения случайных ошибок – предварительное тестирование: предоставить программное обеспечение большой группе пользователей (бета-тестирование). Люди будут пользоваться программами во всевозможных конфигурациях, на различных типах персональных компьютеров и с различными целями (о некоторых из них проектировщики даже не думали). Если они не смогут сломать систему, возможно, в ней нет ошибок. Сложно проводить предварительное тестирование программного обеспечения ракетной техники, но любое крупное коммерческое программное приложение, которое покупает пользователь, прошло тысячи часов предварительного тестирования для нахождения и исправления ошибок программирования.

Возможно, только что приведенные рассуждения позволили вам расслабиться. Тем не менее, зная, что большинство коммерческих программ содержат большое количество ошибок, трудно доверять подобным испытаниям. Испытания происходят, но сложности остаются. Основную роль играет необходимость быстрого продвижения программных продуктов на рынке. Некоторые компании в связи с этим выпускают в широкую продажу плохо проверенные программы. (Большая часть программного обеспечения Интернета выпущена в предварительных версиях; некоторые даже доказывают, что сам Интернет все еще находится в предварительной версии.) Кроме того, такой натиск на рынок означает, что некоторые компании выпускают программное обеспечение в продажу раньше, чем будут исправлены все ошибки, которые уже установлены. (И если ошибки, найденные в бета-версии, были исправлены, часто не производится повторный цикл предварительных тестов для проверки исправленного кода.)

Нападения на дефектный код

Большинство проблем, связанных с компьютерной безопасностью, которые нам приходится наблюдать, являются результатом дефектов в программном коде. Вот некоторые примеры:

• В 1988 году червь Морриса использовал ошибку в UNIX для получения полного доступа к компьютерам, выполняющим программы. Это привело к переполнению буфера, о чем будет рассказано в следующем подразделе.

• В 1999 году некто обнаружил ошибку в сценарии Hotmail CGI, позволяющую пользователю получить доступ к записям электронной почты другого пользователя. Дефекты такого рода обсуждались в главе 10.

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Брюс Шнайер читать все книги автора по порядку

Брюс Шнайер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Секреты и ложь. Безопасность данных в цифровом мире отзывы


Отзывы читателей о книге Секреты и ложь. Безопасность данных в цифровом мире, автор: Брюс Шнайер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x