Выбрать главу

Вы также можете видеть, что сложность увеличивается, по количеству системных вызовов. Версия 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 поставит под угрозу вашу финансовую безопасность.

вернуться

66

Дальнемагистральный самолет, модификация самого большого в мире пассажирского авиалайнера, легендарного «Боинга 747». Первый серийный «747—100» начал регулярные рейсы в 1971 году. Выпускался серийно в 1972—1988 годах. Всего было поставлено 393 самолета, последний – в 1991 году. Гордость Америки: на его основе ВВС США создали сеть воздушных командных пунктов управления и наведения; участвовал в операции «Буря в пустыне», перевезя 644 000 солдат и 220 000 тонн груза; использовался в качестве президентского самолета «Air Force One». – Примеч. ред.