Из чего состоит резидентная защита. Антивирус Avast!: бесплатный и эффективный. Механизм работы современных антивирусов

Из чего состоит резидентная защита. Антивирус Avast!: бесплатный и эффективный. Механизм работы современных антивирусов

06.04.2019

С 1 августа 2016 года в силу вступили поправки к законам «Об информации, информационных технологиях и о защите информации», «О связи», а также к Кодексу об административных правонарушениях. Не стоит в подробностях описывать все нюансы этих поправок, внесённых по инициативе госпожи Яровой и сенатора Озёрова.

Постараемся описать нововведения одним предложением:

«Все интернет-компании обязаны хранить всю информацию о своих пользователях и сдавать их по первому требованию Роскомнадзора».

И всё под флагом борьбы с терроризмом – “ЕГИЛ трепещет”… И почему раньше никому в голову не пришла такая светлая идея? Терроризм – это крайне «удобное» явление для многих государств.

С чего начать? Пожалуй, начнём с интересного коммента, найденного на одном из многочисленных форумов:

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

Ведь и правда: можно поставить производство оружия на поток, организовать трафик наркоты и дармовой нефти в разорённых странах, держать своих граждан в страхе, чтобы ещё плотней жались к дяде Президенту, а главное, найти совершенно законный повод отслеживать подавляющее количество действий людей. Такой повод ищут уже так тщательно, что попутно создали с десяток коммерческих отраслей. Надо же, чтобы кто-то ставил камеры, микрофоны, сидел в будках, смотрел в мониторы, ходил с дубинками, ловил террористов, шпионов, засланцев, запроданцев, предателей и прочих нехороших людей. Работы, на первый взгляд, в государстве – хоть отбавляй. Хошь – скрывайся от закона, хошь – лови тех, кто скрывается. Свобода выбора!

Реакцию на нововведение Яровой, этой с древа тёсаной барыни, можно отследить по заголовкам в новостных изданиях:

  • Кто может заработать на законе Яровой?
  • Глава Минкомсвязи признал, что из-за «пакета Яровой» связь может подорожать на 300%
  • Петицию против «закона Яровой» за четыре дня подписали 500 000 человек
  • В российских городах прошли акции против антитеррористического «пакета Яровой»

Мнение граждан крайне негативное – их можно понять. Сегодня кто-то читает мои сообщения, а завтра мне засунут в голову видеокамеру, чтобы знать, что я ем на завтрак, обед и ужин.

Многие видят выход в том, чтобы уйти в ещё более глубокое подполье, например, скрыться за серверами VPN (Virtual Private Network). Но насколько им можно доверять? С одной стороны – да кому я нужен? Но если подумать, то пользователь, который готов платить за анонимность – должен хоть сколько-то привлекать внимание, к тому же – кто знает, кем он станет в будущем, может быть – мэром?

Про VPN

VPN – это соединение между компьютером и удалённым сервером. Что примечательно – информация шифруется ещё на устройстве юзера и отправляется в Сеть в зашифрованном виде. Полученная информация также шифруется на серверах. Поэтому, по идее, даже провайдер не может знать, что Вы отправляете и на какие сайты заходите. Также, подобный сервер может организовать выход из любой точки мира.

Удобно, но есть определённые недостатки. Стоит рассмотреть их внимательно. Для начала – всем известно, что компания может вести логи (записи), того где вы были и что делали. Здесь следует отметить соглашения, на основании законов ACTA и TRIPS, осуществлённые несколько лет назад европейскими и не только странами в якобы отношении «охраны авторских прав».

Если кратко – данное положение обязывает провайдеров и прочие интернет-компании вести логи и организовать систему безусловной идентификации пользователей. Особенно это касается юзеров, активно использующих сети, наподобие, Битторрент и на них похожие. Законы активно обсуждались ещё в 2012 году, когда Биткойн ещё не привлёк столько внимания властей, а так и без его упоминания не обошлось бы.

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

Бред – бредом, но отсюда ясно, что европейские VPN -компании просто не имеют право обещать своим пользователям анонимность. В противном случае, они автоматически становятся вне закона. Но есть и такие – полулегальные, вот на них и стоит обратить внимание.

Помните, что даже честность самого VPN -сервиса не гарантирует защиты от перехвата данных. Все VPN давно на заметке у спецслужб, и они располагают некоторыми диапазоном IP -адресов, которые использует данный сервис. Далее, с помощью специального оборудования СОРМ, Solera и E-Detective – все переданные и полученные пакеты перехватываются. Вычислить и предъявить обвинения пользователю на основании этих данных остаётся лишь делом техники. Можно использовать VPN в сочетании с Тоr, чтобы увеличить анонимность, но и это не даёт 100% гарантий.

Выгоды, безусловно, есть:

  • Увеличивается пропускная способность вашего канала, намного реже “вылетают” торренты в общественных сетях, при удачном подключении скорость космическая даже на медленных тарифных планах вашего ISP;
  • VPN провайдер на своих серверах кэширует для вас кучу сайтов;
  • Вы можете использовать одну учётную запись на нескольких устройствах;
  • Маловероятно, что школяр станет платить 40$ (или более) в год за услуги VPN (не любят люди как-то вообще за сервис платить). Это значит, что вы пользуетесь услугой для взрослых дядечек и тут всё по-настоящему. VPN-конторы проходят аудит, их офисы – открыты для прессы и инвесторов;
  • Условная анонимность (до поры до времени) и сокрытие от ISP провайдеров содержимого вашего трафика;
  • Функция Kill Switch – если нет VPN соединения, обычное Интернет соединение блокируется;
  • Быть непослушным — посещать сайты, которые заблокировало ваше правительство, религия, родители;
  • Сокрытие от рекламодателей и рекламных ботов вашего реального местонахождения.

Ну что же – предисловие было более чем предостаточным. Теперь о главном: какой VPN выбрать?

Для всех

Возможна ли анонимность в сети в принципе? Кому можно доверять? Недавно стало известно, что более сотни узлов в Тоr — самом анонимном браузере в мире, – отслеживали пользователей.

Могу ли я после этого верить, что VPN -провайдеры скроют меня от всемогущего Ока? И для чего мне скрываться? Чтобы перестать быть рабом? Скрыть о себе всё что можно, чтобы мной не манипулировали как марионеткой?

Скрыться можно, но от себя не убежишь

Главные аргументы продаж VPN – безопасность и приватность, однако приватность по-разному интерпретируется среди провайдеров VPN. Просто спросите бывшего участника lulzsec Коди Кретсингера (ака recursion), насколько приватным был его VPN.

Кретсингер использовал популярный VPN под названием HideMyAss и был вовлечён в некоторые действия, которые связали его, и его онлайн личность “recursion”, с несколькими высокопрофильными взломами, включая неавторизованный дотуп к серверам, находившимся под контролем Sony Pictures. Как оказалось, HMA записывали логи IP адресов пользователей, а также время входа/выхода из аккаунта. Был выпущен ордер суда в Великобритании, согласно которому HMA должны выдать логи, связанные с обвиняемым аккаунтом, которые затем были использованы для идентификации и ареста Кретсингера.

Провайдеры VPN могут вести лог активности сети, но чаще всего они записывают IP адреса пользователей, использование канала, а также время вода/выхода. Ведение логов позволяет провайдерам идентифицировать людей, жалующихся на сервис за мошенничество или спам, однако таким образом они получают информацию, которая может использоваться для идентификации отдельных пользователей.

Вы можете быть совершенно уверены, что если VPN-провайдер будет подвергнут давлению со стороны властей, и у них будет информация, которая позволит идентифицировать вас как преступника, то вы будете по уши в дерьме и быстро окажетесь в хорошей компании. За вас никто не пойдёт в тюрьму.

Вот почему некоторые VPN сервисы идут другим путём и не записывают информацию о пользователях, которая могла бы их идентифицировать. Они не могут предоставить инкриминирующую информацию, которой у них нет.

Дьявол кроется в деталях

Это полный ужас, но во время выбора VPN-сервиса крайне необходимо прочитать «Условия использования» и «Политику конфеденциальности» компании. И эти документы должны быть на понятном английском, не на юридическом. VPN-провайдер, который честно беспокоится о приватности пользователя, выложит информацию чёрным по белому, ведётся ли запись и как долго.

Хорошие VPN-провайдеры говорят, что они хранят “персональную информацию”, необходимую, чтобы создать аккаунт и провести платёж (например: e-mail, данные платежа, адрес для чеков), однако утверждают, что они не записывают IP адреса пользователей, время входа/выхода, или объем использования канала.

Отличные провайдеры VPN идут на шаг дальше для минимизации “персональной информации”, принимая биткойны или другие криптовалюты, исключая необходимость в адресе для чеков. Это затрудняет установление личности, так как для того, чтобы завести аккаунт, необходимо иметь только e-mail.

Особое упоминание следует подарить MULLVAD – провайдеру, который не требует даже e-mail. Посетители сайта жмут на кнопку “Получить аккаунт” и им выдаётся номер аккаунта, который они могут использовать безо всякой “необходимой информации”.

Некоторые VPN сервисы, так или иначе, ведут логи активности пользвателей. Вот, какие VPN-cервисы вам сто ит избегать:


Избегайте этих VPN

А вот провайдеры, которые предоставляют действительно сто ящий сервис:


Этим VPN доверять можно (относительно)

Вы можете заметить в данном списке компании из США. Есть широко распространённое заблуждение, что расположенные в США компании, по закону обязаны вести логи активности пользователей в сетях. Это попросту неправда, однако, они всё-таки обязаны сотрудничать с правоохранительными органами США, в то время как другие страны не требуют подобного. Необходимость сотрудничества – частично является причиной, по которой они действительно не ведут логи активности на своих серверах. Данные компании не могут нести ответственность за получение данных, которых у них не имеется. Выбор VPN-сервиса, а также его страны происхождения, полностью лежит на вас, но мы не хотим отпугивать людей от поддержки малого бизнеса в США из-за слухов.

  • Не записывает в логи любую информацию, которая может идентифицировать пользователя;
  • Требует минимальной персональной информации для того, чтобы получить аккаунт;
  • Принимает к оплате криптовалюты.

И ещё, не рассчитывайте, что это полностью скроет вас от полиции. Лучше не делать ничего такого, за что полиция может захотеть вас преследовать. Если же вы собрались делать или уже сделали нечто, за что мама по голове не погладит, то советуем вам воспользоваться для проворачивания дел, а также использовать связку Tor+VPN.

Для технически подкованных пользователей и желающих стать таковыми существует возможность развернуть собственную виртуальную приватную сеть (VPN), .

Установка мобильной версии программы Steganos осуществляется через соответствующий Магазин приложений. В iOS система после установки еще уточнит, можно ли добавить VPN-соединение. Впоследствии вся передача данных будет защищена автоматически, даже при переключении с мобильного Интернета на Wi-Fi.

Обычно для создания VPN-соединения требуется сложная настройка. Однако с помощью программы Steganos Online Shield VPN процесс пойдет гораздо быстрее. Все, что вам нужно знать, находится в блоках внизу этой страницы. Установка для мобильных систем также проста. Для iOS и Android вы получите соответствующие приложения в Магазинах. Эта утилита позволяет заходить в Сеть под IP, отличном от того, что вам выдал ваш провайдер.

Преимущество использования VPN, кроме того, состоит в том, что ваш компьютер виртуально можно переместить в любую страну, в которой VPN-сервис предлагает сервер. Благодаря этому можно обойти территориальные запреты веб-сайтов. Существует, однако, и проблема: многие почтовые ящики отказываются работать, если IP-адрес исходит из сети VPN. Впрочем, при использовании нашей полной версии программы вы с ней не столкнетесь. Для таких сервисов парой кликов настраивается исключение, после чего почтовый трафик будет снова идти через обычный IP-адрес. Для этого в настольной версии Steganos Online Shield нажмите на шестеренку рядом со строчкой «Protect connection VPN». В следующем окне создайте соответствующее исключение.


Работа в анонимной сети


После установки Tor вы можете протестировать его работу

Разработчики VPN-решений пересылают весь трафик данных через свой сервер. Большинство компаний уверяют, что он не будет перехвачен или изменен. Если подобных заверений вам мало, с небольшими усилиями вы все равно сможете оставаться анонимными в Сети - через Tor. Анонимность обеспечивается перенаправлением трафика через различные сервера (см. инфографику выше). Единственная загвоздка: сеть Tor функционирует только в Tor Browser.


В Tor Browser необходимо перевести установленный внизу ползунок безопасности наверх

Внимание: данные других программ, например, вашего почтового клиента, будут и дальше передаваться через обычный, не анонимный IP-адрес. После установки необходимо проверить конфигурацию нажатием на запись «Проверить настройки сети Tor». Затем в настройках безопасности переведите ползунок в положение «Умеренно высокий».

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

Первое, что приходит в голову при упоминании VPN, - это анонимность и защищенность передаваемых данных. Так ли это на самом деле? Давай разберемся.

Когда необходимо получить доступ к корпоративной сети, безопасно передать важную информацию по открытым каналам связи, скрыть свой трафик от бдительного взора провайдера, скрыть свое реальное местоположение при проведении каких-либо не совсем законных (или совсем не законных) действий, обычно прибегают к использованию VPN. Но стоит ли слепо полагаться на VPN, ставя на кон безопасность своих данных и собственную безопасность? Однозначно - нет. Почему? Давай разбираться.

WARNING

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

VPN нам нужен!

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

Утечка VPN-трафика

Первая проблема, связанная с виртуальными частными сетями, - это утечка трафика. То есть тот трафик, который должен быть передан через VPN-соединение в зашифрованном виде, попадает в сеть в открытом виде. Данный сценарий не является следствием ошибки в VPN-сервере или клиенте. Здесь все гораздо интереснее. Самый простой вариант - внезапный разрыв VPN-соединения. Ты решил просканировать хост или подсеть с помощью Nmap, запустил сканер, отошел на несколько минут от монитора, и тут VPN-соединение внезапно отвалилось. Но сканер при этом продолжает работать. И сканирование идет уже с твоего адреса. Вот такая неприятная ситуация. Но есть сценарии и интересней. Например, утечка VPN-трафика широко распространена в сетях (на хостах), поддерживающих обе версии протокола IP (так называемые dual-stacked сети/хосты).

Корень зла

Сосуществование двух протоколов - IPv4 и IPv6 - имеет множество интересных и тонких аспектов, которые могут приводить к неожиданным последствиям. Несмотря на то что шестая версия протокола IP не имеет обратной совместимости с четвертой версией, обе эти версии как бы «склеены» вместе системой доменных имен (DNS). Чтобы было понятней, о чем идет речь, давай рассмотрим простенький пример. Например, возьмем сайт (скажем, www.example.com), который имеет поддержку IPv4 и IPv6. Соответствующее ему доменное имя (www.example.com в нашем случае) будет содержать DNS-записи обоих типов: А и АААА. Каждая А-запись содержит один IPv4-адрес, а каждая АААА-запись содержит один IPv6-адрес. Причем для одного доменного имени может быть по несколько записей обоих типов. Таким образом, когда приложение, поддерживающее оба протокола, захочет взаимодействовать с сайтом, оно может запросить любой из доступных адресов. Предпочитаемое семейство адресов (IPv4 или IPv6) и конечный адрес, который будет использоваться приложением (учитывая, что их существует несколько для четвертой и шестой версий), будет отличаться от одной реализации протокола к другой.

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

VPN и двойной стек протоколов

Многие реализации VPN не поддерживают или, что еще хуже, полностью игнорируют протокол IPv6. При установке соединения программное обеспечение VPN берет на себя заботу по транспортировке IPv4-трафика - добавляет дефолтный маршрут для IPv4-пакетов, обеспечивая тем самым, чтобы весь IPv4-трафик отправлялся через VPN-соединение (вместо того чтобы он отправлялся в открытом виде через локальный роутер). Однако, если IPv6 не поддерживается (или полностью игнорируется), каждый пакет, в заголовке которого указан IPv6-адрес получателя, будет отправлен в открытом виде через локальный IPv6-роутер.

Основная причина проблемы кроется в том, что, хотя IPv4 и IPv6 - два разных протокола, несовместимых друг с другом, они тесно используются в системе доменных имен. Таким образом, для системы, поддерживающей оба стека протоколов, невозможно обеспечить безопасность соединения с другой системой, не обеспечив безопасность обоих протоколов (IPv6 и IPv4).

Легитимный сценарий утечки VPN-трафика

Рассмотрим хост, который поддерживает оба стека протоколов, использует VPN-клиент (работающий только с IPv4-трафиком) для подключения к VPN-серверу и подключен к dual-stacked сети. Если какому-то приложению на хосте нужно взаимодействовать с dual-stacked узлом, клиент обычно запрашивает и А-, и АААА-DNS-записи. Так как хост поддерживает оба протокола, а удаленный узел будет иметь оба типа DNS-записей (А и АААА), то одним из вероятных вариантов развития событий будет использование для связи между ними IPv6-протокола. А так как VPN-клиент не поддерживает шестую версию протокола, то IPv6-трафик не будет отправляться через VPN-соединение, а будет отправляться в открытом виде через локальную сеть.

Такой вариант развития событий подвергает угрозе передаваемые в открытом виде ценные данные, в то время как мы думаем, что они безопасно передаются через VPN-соединение. В данном конкретном случае утечка VPN-трафика является побочным эффектом использования ПО, не поддерживающего IPv6, в сети (и на хосте), поддерживающей(ем) оба протокола.

Преднамеренно вызываем утечку VPN-трафика

Атакующий может преднамеренно вызвать подключение по протоколу IPv6 на компьютере жертвы, посылая поддельные ICMPv6 Router Advertisement сообщения. Подобные пакеты можно рассылать при помощи таких утилит, как rtadvd , SI6 Networks’ IPv6 Toolkit или THC-IPv6 . Как только соединение по протоколу IPv6 установлено, «общение» с системой, поддерживающей оба стека протоколов, может вылиться, как рассмотрено выше, в утечку VPN-трафика.

И хотя данная атака может быть достаточно плодотворной (из-за растущего числа сайтов, поддерживающих IPv6), она приведет к утечке трафика, только когда получатель поддерживает обе версии протокола IP. Однако для злоумышленника не составит труда вызвать утечки трафика и для любого получателя (dual-stacked или нет). Рассылая поддельные Router Advertisement сообщения, содержащие соответствующую RDNSS-опцию, атакующий может прикинуться локальным рекурсивным DNS-сервером, затем провести DNS-спуфинг, чтобы осуществить атаку man-in-the-middle и перехватить соответствующий трафик. Как и в предыдущем случае, такие инструменты, как SI6-Toolkit и THC-IPv6, могут легко провернуть такой трюк.

Совсем не дело, если трафик, не предназначенный для чужих глаз, попадет в открытом виде в сеть. Как же обезопаситься в таких ситуациях? Вот несколько полезных рецептов:

  1. Если VPN-клиент сконфигурирован таким образом, чтобы отправлять весь IPv4-трафик через VPN-соединение, то:
  • если IPv6 VPN-клиентом не поддерживается - отключить поддержку шестой версии протокола IP на всех сетевых интерфейсах. Таким образом, у приложений, запущенных на компьютере, не будет другого выбора, как использовать IPv4;
  • если IPv6 поддерживается - убедиться, что весь IPv6-трафик также отправляется через VPN.
  1. Чтобы избежать утечки трафика, в случае если VPN-соединение внезапно отвалится и все пакеты будут отправляться через default gateway, можно:
  2. принудительно заставить весь трафик идти через VPN route delete 0.0.0.0 192.168.1.1 // удаляем default gateway route add 83.170.76.128 mask 255.255.255.255 192.168.1.1 metric 1
  • воспользоваться утилитой VPNetMon , которая отслеживает состояние VPN-соединения и, как только оно пропадает, мгновенно завершает указанные пользователем приложения (например, торрент-клиенты, веб-браузеры, сканеры);
  • или утилитой VPNCheck , которая в зависимости от выбора пользователя может либо полностью отключить сетевую карту, либо просто завершить указанные приложения.
  1. Проверить, уязвима ли твоя машина к утечке DNS-трафика, можно на сайте , после чего применить советы, как пофиксить утечку, описанные .

Расшифровка VPN-трафика

Даже если ты все настроил правильно и твой VPN-трафик не утекает в сеть в открытом виде - это еще не повод расслабляться. Все дело в том, что если кто-то перехватит зашифрованные данные, передаваемые через VPN-соединение, то он сможет их расшифровать. Причем на это никак не влияет, сложный у тебя пароль или простой. Если ты используешь VPN-соединение на базе протокола PPTP, то со стопроцентной уверенностью можно сказать, что весь перехваченный зашифрованный трафик можно расшифровать.

Ахиллесова пята

При VPN-соединениях на базе протокола PPTP (Point-to-Point Tunneling Protocol) аутентификация пользователей проводится по протоколу MS-CHAPv2, разработанному компанией Microsoft. Несмотря на то что MS-CHAPv2 устарел и очень часто становится предметом критики, его продолжают активно использовать. Чтобы окончательно отправить его на свалку истории, за дело взялся известный исследователь Мокси Марлинспайк, который на двадцатой конференции DEF CON отчитался, что поставленная цель достигнута - протокол взломан. Надо сказать, что безопасностью этого протокола озадачивались и ранее, но столь долгое использование MS-CHAPv2, возможно, связано с тем, что многие исследователи концентрировались только на его уязвимости к атакам по словарю. Ограниченность исследований и широкое число поддерживаемых клиентов, встроенная поддержка операционными системами - все это обеспечило протоколу MS-CHAPv2 широкое распространение. Для нас же проблема кроется в том, что MS-CHAPv2 применяется в протоколе PPTP, который используется многими VPN-сервисами (например, такими крупными, как анонимный VPN-сервис IPredator и The Pirate Bay’s VPN).

Если обратиться к истории, то уже в 1999 году в своем исследовании протокола PPTP Брюс Шнайер указал, что «Microsoft улучшил PPTP, исправив основные изъяны безопасности. Однако фундаментальная слабость аутентификации и шифрования протокола в том, что он безопасен настолько, насколько безопасен выбранный пользователем пароль». Это почему-то заставило провайдеров поверить, что ничего страшного в PPTP нет и если требовать от пользователя придумывать сложные пароли, то передаваемые данные будут в безопасности. Сервис Riseup.net настолько проникся этой идеей, что решил самостоятельно генерировать для пользователей пароли длиной в 21 символ, не давая им возможности установить свои. Но даже такая жесткая мера не спасает от расшифровки трафика. Чтобы понять почему, давай поближе познакомимся с протоколом MS-CHAPv2 и посмотрим, как же Мокси Марлинспайк сумел его взломать.

Протокол MS-CHAPv2

Как уже было сказано, MSCHAPv2 применяется для аутентификации пользователей. Происходит она в несколько этапов:

  • клиент посылает запрос на аутентификацию серверу, открыто передавая свой login;
  • сервер возвращает клиенту 16-байтовый случайный отклик (Authenticator Challenge);
  • клиент генерирует 16-байтовый PAC (Peer Authenticator Challenge - равный отклик аутентификации);
  • клиент объединяет PAC, отклик сервера и свое user name в одну строку;
  • с полученной строки снимается 8-байтовый хеш по алгоритму SHA-1 и посылается серверу;
  • сервер извлекает из своей базы хеш данного клиента и расшифровывает его ответ;
  • если результат расшифровки совпадет с исходным откликом, все ОK, и наоборот;
  • впоследствии сервер берет PAC клиента и на основе хеша генерирует 20-байтовый AR (Authenticator Response - аутентификационный ответ), передавая его клиенту;
  • клиент проделывает ту же самую операцию и сравнивает полученный AR с ответом сервера;
  • если все совпадает, клиент аутентифицируется сервером. На рисунке представлена наглядная схема работы протокола.

На первый взгляд протокол кажется излишне сложным - куча хешей, шифрование, случайные challenge. На самом деле все не так уж и сложно. Если присмотреться внимательней, то можно заметить, что во всем протоколе остается неизвестной только одна вещь - MD4-хеш пароля пользователя, на основании которого строятся три DES-ключа. Остальные же параметры либо передаются в открытом виде, либо могут быть получены из того, что передается в открытом виде.


Так как почти все параметры известны, то мы можем их не рассматривать, а остановить свое пристальное внимание на том, что неизвестно, и выяснить, что это нам дает.


Итак, что мы имеем: неизвестный пароль, неизвестный MD4-хеш этого пароля, известный открытый текст и известный шифртекст. При более детальном рассмотрении можно заметить, что пароль пользователя нам не важен, а важен его хеш, так как на сервере проверяется именно он. Таким образом, для успешной аутентификации от имени пользователя, а также для расшифровки его трафика нам необходимо знать всего лишь хеш его пароля.

Имея на руках перехваченный трафик, можно попробовать его расшифровать. Есть несколько инструментов (например, asleap), которые позволяют подобрать пароль пользователя через атаку по словарю. Недостаток этих инструментов в том, что они не дают стопроцентной гарантии результата, а успех напрямую зависит от выбранного словаря. Подбирать же пароль простым брутфорсом тоже не очень эффективно - например, в случае с PPTP VPN сервисом riseup.net, который принудительно устанавливает пароли длиной в 21 символ, придется перебирать 96 вариантов символа для каждого из 21 символов. Это в результате дает 96^21 вариантов, что чуть больше, чем 2^138. Иными словами, надо подобрать 138-битный ключ. В ситуации же, когда длина пароля неизвестна, имеет смысл подбирать MD4-хеш пароля. Учитывая, что его длина равна 128 бит, получаем 2^128 вариантов - на данный момент это просто нереально вычислить.

Разделяй и властвуй

MD4-хеш пароля используется в качестве входных данных для трех DES-операций. DES-ключи имеют длину 7 байт, так что каждая DES-операция использует 7-байтовый фрагмент MD4-хеша. Все это оставляет возможность для классической атаки divide and conquer. Вместо того чтобы полностью брутить MD4-хеш (а это, как ты помнишь, 2^128 вариантов), мы можем подбирать его по частям в 7 байт. Так как используются три DES-операции и каждая DES-операция абсолютно независима от других, это дает общую сложность подбора, равную 2^56 + 2^56 + 2^56, или 2^57.59. Это уже значительно лучше, чем 2^138 и 2^128, но все еще слишком большое число вариантов. Хотя, как ты мог заметить, в эти вычисления закралась ошибка. В алгоритме используются три DES-ключа, каждый размером в 7 байт, то есть всего 21 байт. Эти ключи берутся из MD4-хеша пароля, длина которого всего 16 байт.

То есть не хватает 5 байт для построения третьего DES-ключа. В Microsoft решили эту задачу просто, тупо заполнив недостающие байты нулями и фактически сведя эффективность третьего ключа к двум байтам.

Так как третий ключ имеет эффективную длину всего лишь два байта, то есть 2^16 вариантов, его подбор занимает считаные секунды, доказывая эффективность атаки divide and conquer. Итак, можно считать, что последние два байта хеша известны, остается подобрать оставшиеся 14. Также разделив их на две части по 7 байт, имеем общее число вариантов для перебора, равное 2^56 + 2^56 = 2^57. Все еще слишком много, но уже значительно лучше. Обрати внимание, что оставшиеся DES-операции шифруют один и тот же текст, только при помощи разных ключей. Можно записать алгоритм перебора следующим образом:

Но так как текст шифруется один и тот же, то правильнее сделать вот так:

То есть получается 2^56 вариантов ключей для перебора. А это значит, что безопасность MS-CHAPv2 может быть сведена к стойкости одного DES-шифрования.

Взлом DES

Теперь, когда диапазон подбора ключа известен, для успешного завершения атаки дело остается только за вычислительными мощностями. В 1998 году Electronic Frontier Foundation построила машину Deep Crack, которая стоила 250 тысяч долларов и позволяла взламывать DES-ключ в среднем за четыре с половиной дня. В настоящее время Pico Computing, специализирующаяся на построении FPGA-оборудования для криптографических приложений, построила FPGA-устройство (DES cracking box), которое реализует DES как конвейер с одной DES-операцией на каждый тактовый цикл. Обладая 40 ядрами по 450 МГц, оно позволяет перебирать 18 миллиардов ключей в секунду. Обладая такой скоростью перебора, DES cracking box в худшем случае взламывает ключ DES за 23 часа, а в среднем за полдня. Данная чудо-машина доступна через коммерческий веб-сервис loudcracker.com . Так что теперь можно взломать любой MS-CHAPv2 handshake меньше, чем за день. А имея на руках хеш пароля, можно аутентифицироваться от имени этого пользователя на VPN-сервисе или просто расшифровывать его трафик.

Для автоматизации работы с сервисом и обработки перехваченного трафика Мокси выложил в открытый доступ утилиту chapcrack. Она парсит перехваченный сетевой трафик, ища MS-CHAPv2 handshake’и. Для каждого найденного «рукопожатия» она выводит имя пользователя, известный открытый текст, два известных шифртекста и взламывает третий DES-ключ. Кроме этого, она генерирует токен для CloudCracker, в котором закодированы три параметра, необходимые, чтобы сервис взломал оставшиеся ключи.

CloudCracker & Chapcrack

На случай, если тебе понадобится взломать DES-ключи из перехваченного пользовательского трафика, приведу небольшую пошаговую инструкцию.

  1. Скачиваем библиотеку Passlib , реализующую более 30 различных алгоритмов хеширования для языка Python, распаковываем и устанавливаем: python setup.py install
  2. Устанавливаем python-m2crypto - обертку OpenSSL для Python: sudo apt-get install python-m2crypto
  3. Скачиваем саму утилиту chapcrack , распаковываем и устанавливаем: python setup.py install
  4. Chapcrack установлена, можно приступать к парсингу перехваченного трафика. Утилита принимает на вход cap-файл, ищет в нем MS-CHAPv2 handshake’и, из которых извлекает необходимую для взлома информацию. chapcrack parse -i tests/pptp
  5. Из выводимых утилитой chapcrack данных копируем значение строки CloudCracker Submission и сохраняем в файл (например, output.txt)
  6. Идем на cloudcracker.com, на панели «Start Cracking» выбираем File Type, равный «MS-CHAPv2 (PPTP/WPA-E)», выбираем предварительно подготовленный на предыдущем шаге файл output.txt, нажимаем Next -> Next и указываем свой e-mail, на который придет сообщение по окончании взлома.

К небольшому сожалению, сервис CloudCracker платный. К счастью, за взлом ключиков придется отдать не так уж много - всего 20 баксов.

Что делать?

Хоть Microsoft и пишет на своем сайте, что на данный момент не располагает сведениями об активных атаках с использованием chapcrack, а также о последствиях таких атак для пользовательских систем, но это еще не значит, что все в порядке. Мокси рекомендует всем пользователям и провайдерам PPTP VPN решений начинать миграцию на другой VPN-протокол. А PPTP-трафик считать незашифрованным. Как видишь, налицо еще одна ситуация, когда VPN может нас серьезно подвести.


Заключение

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

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

Схема антивируса

Как видно из схемы, антивирус состоит из следующих частей:

1. Модуль резидентной защиты

2. Модуль карантина

3. Модуль "протектора" антивируса

4. Коннектор к антивирусу-серверу

5. Модуль обновления

6. Модуль сканера компьютера

Модуль резидентной защиты является основным компонентом антивируса, находящийся в оперативной памяти компьютера и сканирующий в режиме реального времени все файлы, с которыми осуществляется взаимодействие пользователя, операционной системы или других программ. Слово "резидентный" означает "невидимый", "фоновый". Резидентная защита проявляет себя только при нахождении вируса. Именно на резидентной защите основывается главный принцип антивирусного ПО -- предотвратить заражение компьютера. В ее состав входят такие компоненты, как активная защита (сравнение антивирусных сигнатур со сканируемым файлом и выявление известного вируса) и проактивная защита (совокупность технологий и методов, используемых в антивирусном программном обеспечении, основной целью которых является предотвращение заражения системы пользователя, а не поиск уже известного вредоносного программного обеспечения в системе).

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

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

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

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


Схема соединения к серверу

компьютерный вирус защита

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

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

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

Подлинность при этом может проверяться различными методами - от проверок контрольной суммы файла с базами до поиска внутри файла с базами специальной метки, которая говорит о том, что этот файл является подлинным. Подобные действия стали вводиться после того, как участились случаи подмены антивирусных баз со стороны злоумышленников.

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

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

Аннотация: В лекции приведены знания, касающиеся антивирусных программ: история антивирусных программ, сведения о надежности и механизмах работы современных антивирусных программ, а также основные моменты использования современных антивирусных программ.

Цель лекции : предоставить читателю знания об антивирусных программах.

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

История возникновения антивирусных программ

Самый первый вирус , действовавший уже точно на поражение, появился в конце 60-ых. Ему пожертвовали тот же компьютер , на котором его и создали (впервые, с целью развлечения). Но все эти развлечения, может, так и остались бы только игрушками программистов, если бы не рождение Интернета. Еще в 1975 году через сеть Telenet разошелся и самый первый сетевой вирус "The Creeper", и впервые была создана программа - антивирус "Reeper". Но уже в следующем десятилетии Ф. Коэн делал эксперименты с программами, которые смогут размножаться и иметь возможность распространиться, его "детище" создавало свои копии и находило выходы для них в большую компьютерную сеть . Так по этому принципу вирусы распространились и в наше время через глобальную сеть . А тогда, в 1984 г., Коэн выступил на седьмой конференции по безопасности информации в Соединенных Штатах, высказывая свои мысли по поводу новой угрозы в этой сфере деятельности. Также два брата Амджад в Пакистане в 86 г открыли неизвестный доселе вирус . Братья торговали программным обеспечением и вдруг нечаянно увидели, что кто-то его несанкционированно копирует и множит, лишая их честно заработанных денег. Чтобы как-нибудь остановить любителей "халявы", они написали программку "THE BRAIN" и внедрили ее в свои работы. Она стала активной при попытке копирования. Именно это было началом и прообразом всех будущих вирусов. THE BRAIN резко перешел границу Пакистана и поверг в шок неготовый к этому необычному явлению мир. А уже в 1987 году появилась первая литература о вирусах и борьбе с ними. С этого момента стало абсолютно очевидно, что для борьбы с вирусами необходимо создавать специальные программы "антивирусы", которые могли бы бороться с вирусами, тем самым "леча" зараженную машину. Первые антивирусы были далеки от современных антивирусных программ. Фактически, они были одноразовыми программами, которые предназначались для лечения определенного вируса. Само же распространение такого антивируса было достаточно дорогим и долгим занятием, так как антивирусы записывались на дискеты и высылались своим подписчикам в разные уголки мира. Естественно, такая доставка была достаточно долгой, и было весьма сложно своевременно получить нужную копию антивируса . Часто бывало и так, что жители особо удаленных мест от места отсылки дискеты с антивирусом к моменту получения антивируса были заражены парой еще других вирусов. Все это создавало плохую репутацию для антивирусов, но с развитием сети Интернет антивирусы стали высылать сначала на почтовые ящики пользователей, а потом и появилась возможность динамически обновлять специальные антивирусные базы. Сама же схема работы первых антивирусов была далека от идеала: они не умели постоянно работать на зараженной машине, а были, по сути дела, лишь сканером, который искал определенный вирус и далее пытался с ним справиться. Создатели вирусов нашли достаточно простой способ для борьбы с такими антивирусами: они стали создавать вирусы, которые уничтожали антивирус до того, как им мог воспользоваться пользователь (то есть они просто стирали антивирус с дискеты, которая приходила пользователю). Создатели же антивирусов в свою очередь стали оснащать свои антивирусы специальными "протекторами", которые не позволяли удалить антивирусную программу. Тогда стали появляться вирусы, которые маскировались под системные файлы или папки, а потом начали появляться вирусы, которые даже могли изменять свой собственный код (чтобы антивирус не мог их обнаружить). Но антивирусные программы также совершенствовались (работало правило "на каждый меч найдется свой щит"), и стала очевидна борьба создателей антивирусов с создателями вирусов. В свою очередь пресса стала распространять слухи, что антивирусные компании сами пишут различные вирусы, с целью поддержания интереса к антивирусным программам (в какой-то мере это может быть вполне логичным заключением), но подобные слухи до сих пор не могут найти своего подтверждения. Интересно и то, что создатели антивирусов составляют конкуренцию друг другу в борьбе за покупателей, и поэтому вполне логичным является вывод , что держать несколько антивирусов на компьютере нецелесообразно, так как они будут конфликтовать друг с другом, что будет играть на руку самим вирусам.

Механизм работы современных антивирусов

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


Рис. 3.1.

Как видно из схемы, антивирус состоит из следующих частей:

  1. Модуль резидентной защиты
  2. Модуль карантина
  3. Модуль "протектора" антивируса
  4. Коннектор к антивирусу -серверу
  5. Модуль обновления
  6. Модуль сканера компьютера

Модуль резидентной защиты является основным компонентом антивируса , находящийся в оперативной памяти компьютера и сканирующий в режиме реального времени все файлы, с которыми осуществляется взаимодействие пользователя, операционной системы или других программ. Слово "резидентный" означает "невидимый", "фоновый". Резидентная защита проявляет себя только при нахождении вируса. Именно на резидентной защите основывается главный принцип антивирусного ПО - предотвратить заражение компьютера. В ее состав входят такие компоненты, как активная защита (сравнение антивирусных сигнатур со сканируемым файлом и выявление известного вируса) и проактивная защита (совокупность технологий и методов, используемых в антивирусном программном обеспечении, основной целью которых является предотвращение заражения системы пользователя, а не поиск уже известного вредоносного программного обеспечения в системе).

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

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

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


Рис. 3.2.

Как видно из рисунка, коннектор позволяет соединять множество антивирусов пользователей с единым антивирусом-сервером, с которого антивирусы пользователя могут скачивать обновления, а также если на стороне антивируса пользователя возникли какие-либо неразрешимые проблемы, то



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows