Секреты и ложь. Безопасность данных в цифровом мире
Шрифт:
Частная виртуальная сеть (VPN) является просто безопасным соединением через открытую сеть. В прежние времена, если Алиса и Боб хотели связаться, они должны были потратиться на частную линию и организовать свою собственную частную сеть. Сегодня Алисе и Бобу выгоднее использовать общедоступную сеть. Но Интернет не обеспечивает безопасность связи, Алисе и Бобу следует защитить это соединение. Им нужно создать виртуальную частную сеть на основе физической открытой сети. Это и есть VPN.
У виртуальных частных сетей есть два главных применения. Первое – соединить два удаленных отрезка одной и той же сети. У корпорации может
Второе применение состоит в том, чтобы соединить мобильных пользователей – работающих из дома и из номеров отелей. Старый путь для введения этих пользователей в большую открытую сеть заключался в том, чтобы подсоединить их непосредственно к сети компании, часто при этом приходилось производить очень удаленное сетевое подключение. Это дорого и вынуждает компанию обслуживать огромный банк модемов. Современный путь – в том, чтобы пользователи дозванивались до местного интернет-провайдера и затем с его помощью через Интернет подключались к компании. Для защиты этого соединения организуется VPN.
Различные VPN обеспечивают защиту, используя различные протоколы шифрования. Наиболее распространен протокол IPsec, хотя вам будут попадаться и другие протоколы, в частности РРТР и L2TP. В некоторых VPN вообще не используется шифрование.
Можно считать, что виртуальная частная сеть образует брешь в брандмауэре. Кто-нибудь, обладающий доступом к VPN, имеет возможность проникнуть через брандмауэр в сеть. И многие взломщики пользуются данной уязвимостью. По этой причине большинство систем безопасности, прежде чем разрешить соединение с VPN, проверяют, с кем имеют дело.
Системы обнаружения вторжений (IDS) – это сетевые контролеры. Они пристально наблюдают за вашей сетью, выискивая нечто подозрительное. Их можно сравнить с детективами, рыскающими по городу в поисках преступника: они знают, что должно вызывать подозрение – это может быть исследование возможности доступа к системе или попытки обнаружить и использовать ошибки, и они внимательно следят за этим. Они знают, как выглядит нападение. Они знают, как выглядит преступление. Маркус Ранум сравнивал брандмауэр со шлемом и бронежилетом, который вы носите в сражении, а систему обнаружения вторжений – с санитаром, который смотрит на ваше кровоточащее тело и говорит: «Видимо, это проникающее ранение грудной клетки. Это нужно проверить». IDS не являются заменой действенной защиты.
Что же делают системы обнаружения вторжений? Они информируют вас о свершившемся нападении или, возможно, даже о его развитии. Системы, которые работают хорошо, точны: они не воют волком и не заявляют о нападении там, где его нет, в то же время они не пропустят момент, когда оно случится. Хорошие системы реагируют своевременно: они предупреждают вас о нападении в то время, когда оно еще происходит. Они ставят диагноз: на что направлена атака, откуда она исходит, и предлагают лечебное средство.
Современные системы обнаружения вторжений имеют много недостатков, но они постоянно совершенствуются. Самая сложная проблема – ложная тревога. Для объяснения этого момента понадобится напомнить статистику и показать, как вычисляется вероятность ошибки.
Предположим, у врача есть тест определения болезни с точностью 99%. Таким образом, если кто-то болен, то есть вероятность в 99%, что тест определит это, а если кто-то здоров, то есть вероятность в 99%, что тест подтвердит это. Предположим, что
Нет. Если врач применяет тестирование к одному взятому наугад человеку и его тест положителен, то есть только однопроцентный шанс, что он на самом деле болен. Из-за того что здоровых людей намного больше, чем больных, тест дает ненадежные результаты, и поэтому бесполезен. (Это не столь просто понять, проще повторно протестировать человека. Но предположите, что ошибочный результат исследования повторится последовательно для этого человека.) Вывод кажется удивительным и противоречит интуиции, но он верен. Это означает, что если вы предположите, что сетевые нападения сравнительно редки, большая вероятность ошибки означает то, что ваши испытания должны быть действительно хороши, чтобы не заметить всех ложных тревог. Системы обнаружения вторжений, которые обычно сигнализируют вам в 3:00 утра о проблеме, которая в действительности не является проблемой, о ночной игре в Quake или о новом интернет-приложении, довольно быстро добьются того, что прекратят свое существование.
Есть и другие проблемы. Первая из них – это своевременное предупреждение. Я упомянул медленное нападение в предыдущем подразделе. Когда система обнаружения вторжений решит, что было произведено нападение, и уведомит вас об этом? Что, если она подумает, что это лишь отчасти выглядит как нападение? Уведомит ли она вас об этом? Когда? Опять-таки, вспомните о проблеме ложного срабатывания. Если система ошибается слишком часто, вы перестанете прислушиваться к ней.
И что вы будете делать, когда получите сигнал тревоги? Поучительные сообщения общего вида «вы подвергаетесь нападению» бесполезны, если у вас нет какого-нибудь способа защиты или даже нет времени, чтобы с этим разобраться. В 1999 году в eBay отключили электричество на 22 часа, и в течение всего этого времени система обнаружения вторжений постоянно подавала сигнал тревоги, но все были слишком заняты, чтобы ответить. В этом величайшая проблема IDS: разумно реагировать на их выводы.
Системы обнаружения вторжений еще находятся на ранней стадии своего развития, и авторы различных идей наперебой заявляют об их превосходстве. Я собираюсь только коснуться некоторых из них, в детали углубляются многие другие книги.
Для создания IDS есть два основных пути. Самый легкий – это обнаружение «неправильного» кода. IDS знают, на что похоже нападение, и ищут его. Подумайте о детекторе вирусов для сетевых пакетов. Как детекторы вирусов просматривают каждый файл, ища строки битов, указывающие на вирус, так и IDS просматривают каждый пакет, ища строки битов, которые свидетельствуют о несомненном нападении. Их легко привести в исполнение и использовать, у них низкая вероятность ложной тревоги, и они могут быть относительно быстры (принимая во внимание то, что они должны просмотреть каждый пакет).
С другой стороны, у них больше промахов. Как детекторы вирусов не в силах обнаружить вирусы, которых они никогда не видели прежде, так и подобная IDS не может обнаружить нападение, на нахождение которого она не запрограммирована. Ее легко обмануть. Иногда это можно сделать, изменив порядок следования команд в коде, предназначенном для проведения атаки. Иногда проще организовать нападение таким образом, чтобы взламывать пакеты выборочно. Так же как антивирусным компьютерным программам нужно постоянное обновление и пополнение новыми образцами кода, этому типу системы обнаружения вторжений необходимо постоянное обновление базы данных образцов нападения. Не ясно, сможет ли когда-нибудь такая база данных не отстать в соревновании с инструментом хакера.