Защита от хакеров корпоративных сетей - страница 10
Для полного понимания тонких моментов этого вопроса требуются дополнительные разъяснения. Вы не сможете разработать механизм безопасности клиентской части, который пользователи не смогли бы, если они этого захотят, преодолеть. В лучшем случае вы сможете усложнить им эту задачу. Проблема состоит в том, что поскольку большинство программного обеспечения и аппаратных средств ЭВМ – результат массового производства, то один профессионал, разгадавший, как обойти механизм безопасности, может, вообще говоря, рассказать кому-либо об этом или часто пользоваться результатами своего решения. Посмотрите на пакет программ, в котором предусмотрено ограничение его использования тем или иным способом. Какие инструменты нападающий имеет в его или ее распоряжении? Он или она могут использовать отладчики, дизассемблеры, редакторы шестнадцатеричного кода, модификацию операционной системы и системы мониторинга, не говоря уже о неограниченных копиях программного обеспечения.
А если программное обеспечение обнаружит, что оно было модифицировано? Тогда удалите часть кода, которая обнаруживает модификацию. Что, если программное обеспечение скрывает информацию где-нибудь в компьютере? Контролирующие механизмы немедленно найдут это изменение. Имеется ли защита аппаратных средств ЭВМ от преступного использования? Нет. Если нарушитель может потратить неограниченное время и ресурсы, атакуя аппаратные средства вашего компьютера, то любое средство защиты в конечном счете признает себя побежденным. Это особенно справедливо для аппаратуры массового производства. Поэтому в общем случае следует полагать, что безопасность клиентской части невозможно обеспечить.
Примечание
Этот закон используется в главах 5 и 14.
Закон 2. Нельзя организовать надежный обмен ключами шифрования без совместно используемой порции информации
Для человека, знакомого с криптографией, этот закон может показаться очевидным. Тем не менее закон является уникальным вызовом защите данных и процедур обмена информацией. Основная проблема обмена зашифрованными данными заключается в надежности ключей сеансов обмена. Обмен ключами между клиентом и сервером обязателен и происходит до обмена данными (для дополнительной информации см. главу 6).
Для иллюстрации этого давайте рассмотрим процесс установления зашифрованной связи через Интернет. Пусть как на вашем компьютере, как и на компьютере, с которым вы, как предполагается, соединяетесь, установлена ныне модная программа CryptoX. Вы вводите известный вам IP-адрес другого компьютера и ударяете на клавишу Connect (установить соединение). Программное обеспечение сообщает вам об установке соединения и обмене ключами. Теперь вам доступна надежная связь с 1024-битным шифрованием. Следует ли вам верить этому? Да, следует. Ведь за простым интерфейсом работы этой программы скрывается сложная криптоинфраструктура, обеспечивающая описанный процесс соединения (позднее в этой главе будет объяснено, что это означает). К сожалению, похитить IP-связь не только не невозможно, но даже не слишком трудно (см. главу 11).
Проблема состоит в том, как узнать, с каким компьютером вы обменялись ключами. Вы могли установить соединение именно с тем компьютером, с которым вы и хотели осуществить обмен, так и со злоумышленником, ожидающим ваших действий по установке соединения, для того чтобы попытаться подменить IP-адрес компьютера, с которым вы соединяетесь, на свой. Единственный способ удостовериться в факте соединения с требуемым компьютером состоит в наличии на обоих компьютерах порции информации, которая позволила бы удостовериться в идентичности друг друга. Как это осуществить? Сразу приходит на ум пара методов. Во-первых, можно воспользоваться открытыми ключами, распространяемыми сертификационными центрами в Интернете. Во-вторых, можно использовать разделяемый секретный ключ или средства аутентификации протокола защищенных сокетов SSL, гарантирующего безопасную передачу данных по сети в результате комбинирования криптографической системы с открытым ключом и блочного шифрования данных. Конечно, все перечисленное является разделяемыми порциями информации, необходимой для проверки отправителя информации.