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

ОглавлениеДобавить в закладки К обложке

Глава 23Будущее программных продуктов

Напрашивается закономерный вопрос: «Какие технологии помогут созданию продуктов, обеспечивающих безопасность, в будущем?» Конечно, криптография постоянно улучшается. Несомненно, мы все лучше и лучше проектируем брандмауэры. Будет ли это помогать? Ответ: и да, и нет. «Да» – потому что отдельные технологии непрерывно совершенствуются. «Нет» – потому что фундаментальные проблемы остаются.

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

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

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

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

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

Сложность программного обеспечения и безопасность

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

В течение последних нескольких лет мы наблюдаем этот процесс. Микропроцессоры стали более сложными. Операционные системы и программы тоже усложнились. Иногда без достаточно веской причины: существует целое моделирование виртуального полета, скрытое в каждой копии Microsoft Excel 97[61]. Компьютеры и сети стали более сложными. Появились сложные сетевые службы, загружаемые в память модули, программные агенты и распределенная обработка данных. Отдельные сети объединились, что привело к дальнейшему возрастанию сложности. Интернет, вероятно, – наиболее сложная система, когда-либо созданная человечеством. И она не станет более простой в ближайшее время.

Глобальная финансовая система стала более сложной. Цифровые системы в вашем автомобиле, посудомоечной машине и тостере стали сложными. Усложнились смарт-карты, а также сети, которые их обслуживают. Дверной замок вашего гостиничного номера, сигнализация, сотовые телефоны, система контроля состояния окружающей среды – все стало более сложным. Букингемский Фонтан в Чикаго управляется удаленным компьютером, находящимся в Атланте.

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

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

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


Логин
Пароль
Запомнить меня