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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 72 73 74 75 76 77 78 79 80 ... 117

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

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

Это то, что я называю автоматизмом действий пользователя (human-computer transference). Алиса знает, чего она хочет, – подписать документ. Она должна иметь определенные гарантии того, что компьютер сделает именно то, что ей нужно. Однако обеспечить безопасность не так просто.

Предположим, мы хотим заставить Алису подписать нечто, что ей подписывать не хочется. Это легко сделать, если она поверит в то, что подписывает именно тот документ, который видит на экране. Нам нужно заставить компьютер обмануть Алису.

Мы напишем троянского коня, который будет размещаться в программе, создающей цифровую подпись. Этот троянский конь будет содержать документ, который мы хотим подсунуть Алисе, – несомненно, или что-нибудь постыдное, или сулящее выгоду, – и код для его подписания. Единственное, чего не хватает троянскому коню, – это ключа Алисы. Когда она вводит свой пароль, чтобы подписать какое-нибудь сообщение для нас, троянский конь подсовывает вместо него компрометирующий документ. Программа, создающая цифровую подпись, возвращает ее основному приложению, которое присоединяет подпись к документу, который Алиса действительно собиралась заверить. Если она попытается проверить подпись, троянский конь снова подсунет подделку, и программа, создавшая подпись, подтвердит, что она правильная. Таким образом, троянский конь может заставить компьютер солгать Алисе. Затем она отправляет нам свое сообщение с ошибочной подписью – составленной для совершенно другого документа. Мы присоединяем эту подпись к копии нашей подделки и звоним в Washington Post. Тем временем троянский конь самоуничтожается, и все возвращается в исходное состояние.

Это легко реализовать в среде Windows: можно создать макрос, который будет попросту наблюдать за «открытым файлом» диалога PGP, копировать свой собственный файл под именем того, который как раз собирается подписать Алиса, и впоследствии возвращать старый файл на место. Язык макрокоманд программы Word позволяет сделать это, поэтому совсем не трудно создать такой макровирус.

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

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

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

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

Вот если бы у Алисы был маленький компьютер с единственным назначением – создавать цифровые подписи, – тогда было бы на что надеяться. Я в состоянии представить карманное устройство с миниатюрной клавиатурой и экраном, в которое можно перенести документ с компьютера общего назначения. Алиса сможет просмотреть документ на экране – так как нет никакой гарантии, что «большой» компьютер загрузит именно то, о чем его попросят, – и ввести пароль с клавиатуры. Устройство создаст подпись под документом и передаст ее назад компьютеру общего назначения. Нам остается молиться о том, чтобы такая система была безопасной. Можно сконструировать ее так, чтобы устройство использовало только заводское программное обеспечение, а независимая проверяющая компания будет выдавать свидетельство о том, что программа работает правильно.

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

Внутренние враги

В главе 4 я уже рассказал о внутренних врагах. Стоит вспомнить о тех проблемах, которые с ними связаны. Основная проблема заключается в том, что они пользуются безоговорочным доверием. Для них не проблема стащить деньги из кассового аппарата, внести путаницу в отчетность и замести следы, скопировать и переправить китайцам военные секреты, похитить набор бланков кредитных карточек, набить карманы фишками в казино, найти другой путь, чтобы грабители могли безопасно вывезти на грузовике краденое добро, и многое другое. Часто никакие средства компьютерной безопасности не в состоянии предотвратить нападения такого рода (хотя тщательная проверка имеет шансы впоследствии выявить виновных).

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

Вот только один пример. В Чикаго для оплаты проезда в метрополитене используются как жетоны, так и проездные билеты. Пассажиры должны либо отдать контролеру жетон, либо предъявить проездной, после чего их пропускают на платформу. Многие годы контролеры принимали от пассажиров жетоны, а отмечали их как владельцев проездных билетов. В конце концов, в 1991 году руководство узнало об этом, и контролеры были арестованы. По самым скромным оценкам, ущерб составил сотни тысяч долларов. Когда начали работать более честные контролеры, дневная выручка на некоторых станциях удвоилась. На решение этой проблемы ушло несколько лет.

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

1 ... 72 73 74 75 76 77 78 79 80 ... 117
На этой странице вы можете бесплатно читать книгу Секреты и ложь. Безопасность данных в цифровом мире - Брюс Шнайер бесплатно.
Похожие на Секреты и ложь. Безопасность данных в цифровом мире - Брюс Шнайер книги

Оставить комментарий