на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить



Тенденция к сложности в операционных системах

Операционная система(Год) – Количество системных вызовов

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), но в окружающей нас среде, где на утверждение рецепта нового лекарства требуется десятилетие, это решение экономически не выгодно.

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

Я повторюсь: сложность – самый ярый враг безопасности. Безопасные системы должны быть «обрезаны до кости» и сделаны настолько простыми, насколько это возможно. И нет никакой замены этой простоте. К сожалению, простота противоречит основным тенденциям развития цифровых технологий.


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