Брюс Шнайер - Секреты и ложь. Безопасность данных в цифровом мире
Операционная система (Год) – Количество строк кода
Windows 3.1 (1992) – 3 млн
Windows NT (1992) – 4 млн
Windows 95 (1995) – 15 млн
Windows NT 4.0 (1996) – 16,5 млн
Windows 98 (1998) – 18 млн
Windows 2000 (2000) – 35-60 млн (приблизительно)
Windows 2000 ошеломляет своим размером, и будет иметь больше изъянов защиты, чем Windows NT 4.0 и Windows 98 вместе взятые. В свое оправдание Microsoft утверждала, что нужно потратить 500 человеко-лет, чтобы сделать Windows 2000 безопасной. Я привел эти цифры только для того, чтобы продемонстрировать, насколько неадекватна эта оценка[65].
Вы также можете видеть, что сложность увеличивается, по количеству системных вызовов. Версия UNIX 1971 года имела 33 вызова. В начале 1990-х их количество в операционных системах достигало уже 150. Windows NT 4.0 SP3 имеет 3433. Количество системных вызовов для различных операционных систем представлено в табл. 23.2.
Вначале брандмауэры имели дело только с FTP (протоколом передачи файлов), протоколами Telnet, SMTP, NNTP и службой DNS. И это все. Современные брандмауэры должны взаимодействовать с сотнями протоколов и с запутанным набором правил доступа к сети. Некоторые новые протоколы разработаны подобно HTTP, чтобы они могли «работать с брандмауэром» (то есть обходить его). И пользователи, устанавливающие автоматическую связь, могут не беспокоиться о брандмауэре; теперь для этой цели существуют широкополосные аппаратно-программные средства с DSL и кабельными модемами. Хуже того, существует доступное программное обеспечение, позволяющее пользователям домашних компьютеров представлять себя в качестве веб-серверов. Больше особенностей, больше сложности, меньше надежности.
Таблица 23.2.Тенденция к сложности в операционных системахОперационная система(Год) – Количество системных вызовов
UNIX 1ed (1971) – 33
UNIX 2ed (1979) – 47
SunOS 4.1 (1989) – 171
4.3 BSD Net 2 (1991) – 136
SunOS 4.5 (1992) – 219
HP UX 9.05 (1994) – 163
Line 1.2 (1996) – 211
SunOS 5.6 (1997) – 190
Linux 2.0 (1998) – 229
Windows NT 4.0 SP3 (1999) – 3 433
Сертифицированный открытый ключ в Х.509 версии 1 был определен на 20 строках ASN.1. Сертификат Х.509 версии 3 занимает приблизительно 600 строк. Сертификат SET – 3000 строк.
Полный стандарт SET занимает 254 страницы. И это только формальная спецификация протокола; есть еще руководство для программиста на 619 страницах и бизнес-описание на 72 страницах. По различным причинам SET никогда не будет широко использоваться, но в любом случае я полагаю, что никто не способен пробраться через все эти лабиринты, не наделав ошибок. Ошибки в работе программного обеспечения обнаруживаются главным образом во время бета-тестирования, но при этом недостатки защиты, скорее всего, не будут найдены. Тем не менее они там будут. Если их найдет порядочный человек, то он опубликует свои исследования в печати. Если их обнаружит мошенник, то он воспользуется ими для внедрения в систему кредитных карт: возможно, для получения крупной суммы денег или для создания поддельного счета на кредитной карте, возможно, затем, чтобы повлиять на обработку данных кредитных карточек и подчинить себе всю систему.
Сложность пробирается во все. В 2000 году вычислительные возможности «Мерседес 500» были больше, чем 747—200[66]. Мой старый термостат имел один наборный диск, и было легко установить температуру. Мой новый термостат имеет цифровой интерфейс и руководство по программированию. Я гарантирую, что большинство людей понятия не имеют, как его заставить работать. Термостаты, основанные на системе Home Gateway от Sun Microsystems, могут быть подключены к Интернету, так что вы можете заключить договор с какой-нибудь компанией, занимающейся контролем окружающей среды, для управления вашим хитроумным устройством. Sun рисует в своем воображении связь с Интернетом для всех ваших приборов и дверных замков. Вы думаете, кто-нибудь проверит программное обеспечение рефрижератора на наличие изъянов защиты? Я уже рассказывал о современном злонамеренном коде и о взаимодействии сценариев Java, HTML, CGI и веб-браузеров. Есть кто-нибудь, кто беспокоится, что новые сотовые телефоны, работающие с Wireless Access Protocol, будут способны пересылать апплеты Java? И только вопрос времени, когда появится вирус, поражающий сотовые телефоны.
Компьютерные игры имели обыкновение быть простыми. Теперь можно играть, используя сеть. Любой в состоянии зайти на веб-сайт и принять участие в игре с несколькими игроками. Сейчас кто-нибудь еще может войти в систему компьютера игрока через Интернет. Престо, теперь он «сервер»! Мама и папа могут держать в компьютере некую конфиденциальную информацию (рабочие секреты, финансовые данные) а их отрок предоставляет всем возможность проникнуть внутрь. Кто-нибудь проверяет безопасность этих игр? Уязвимость в функции автоматического обновления игры Quake3 Arena позволяет нападающему модернизировать любой файл на компьютере пользователя. Napster также делает доступным ваш компьютер, после чего вы, скорее всего, найдете ошибки переполнения в программном обеспечении.
Положение ухудшается. Нынешнее поколение игровых приставок (Sega Dreamcast, Sony PlayStation 2) выпускается с такими свойствами, как 56-килобайтовые модемы, IP-стеки и веб-браузеры. Миллионы из них уже проданы. Возможно, браузеры и операционные системы будут безопасны; если – да, то такое случится впервые. Хорошая шутка: вы играете с кем-нибудь в Sonic через модем, и вдруг этот игрок проникает в ваш компьютер и побеждает! Если это только игровой пульт, то круто! Это не повод для волнения. Но не забывайте, что игровые компании требуют, чтобы вы делали все электронные покупки с помощью игрового пульта. Там будут и номера кредитной карточки, и электронный бумажник, и много чего еще. Добро пожаловать в мир, в котором ошибка переполнения буфера в Tekken 3 поставит под угрозу вашу финансовую безопасность.
Эта проблема становится всеобщей: сегодняшние игрушки будут завтра применены для опасных целей. Программное обеспечение для массового потребителя становится лучше при добавлении разных свойств и функциональных возможностей, но при этом проигрывает в надежности. Несмотря на сказанное и на факт, что программы и сети не были разработаны для опасных применений, но так или иначе, они используются для этого. Мы стали зависимы от систем, неизвестных в своей надежности. Скоропалительные решения вида «отправить, наконец, эту проклятую штуку» стали частью нашей критической инфраструктуры. Интернет и операционные системы – одни из самых наглядных примеров этого.
Конечно, ошибки безопасности обнаруживаются и исправляются, но это сизифов труд. Изделие «программное обеспечение» уже выпущено. Через какое-то время ошибки безопасности найдены и устранены, и безопасность улучшается. Затем выходит версия 2.0 с новым кодом, с добавленными особенностями и увеличенной сложностью – и мы опять там же, откуда и начинали. Бывает и хуже.
У военных это называется «среда, насыщенная целями»[67].
В будущем системы с сетевой структурой будут сложными, а значит, менее стойкими. Индустрия технологий гонится за спросом на особенности, на возможности выбора, на скорость. Нет никаких стандартов по качеству или безопасности и нет никакой ответственности за опасное программное обеспечение. Следовательно, нет экономического стимула поддерживать высокое качество. Вместо этого есть экономическая подоплека для создания продукции самого низкого уровня, какой только выдержит рынок. И пока клиенты не потребуют «лучшее качество и безопасность», ситуация не изменится.
Я вижу две альтернативы. Первый вариант – это «притормозить», упростить и попытаться добавить безопасности. Клиенты не потребуют этого (такие проблемы слишком сложны для их понимания), поэтому это должна потребовать группа защиты прав потребителей. Я могу легко представить организацию для Интернета, подобную Управлению по контролю за продуктами и лекарствами (FDA), но в окружающей нас среде, где на утверждение рецепта нового лекарства требуется десятилетие, это решение экономически не выгодно.
Другой путь – признать, что цифровой мир будет «номером один» со сверхрасширяющимися особенностями и возможностями, со сверхбыстрым выпуском изделий, со сверхувеличивающейся сложностью и сверхскоротечно падающей безопасностью. Если мы признаем эту реальность, то сможем попытаться заняться делом вместо того, чтобы прятать голову в песок и отрицать проблему.
Я повторюсь: сложность – самый ярый враг безопасности. Безопасные системы должны быть «обрезаны до кости» и сделаны настолько простыми, насколько это возможно. И нет никакой замены этой простоте. К сожалению, простота противоречит основным тенденциям развития цифровых технологий.
Новые технологииУже появились новые технологии, которые могут полностью изменить средства безопасности и в лучшую, и в худшую сторону. Так как эта книга не по предсказанию будущего, упомяну только несколько наиболее интересных достижений.
Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Брюс Шнайер - Секреты и ложь. Безопасность данных в цифровом мире, относящееся к жанру Прочая околокомпьютерная литература. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.


