Вирусы, трояны, почтовые черви, снифферы

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

30) Переполнение буфера (Buffer Overflow) — явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера.

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

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

Переполнение буфера может вызывать аварийное завершение или зависание программы, ведущее к отказу обслуживания (denial of service, DoS). Отдельные виды переполнений, например переполнение в стековом кадре, позволяют злоумышленнику загрузить и выполнить произвольный машинный код от имени программы и с правами учетной записи, от которой она выполняется.

Известны примеры, когда переполнение буфера намеренно используется системными программами для обхода ограничений в существующих программных или программно-аппаратных средствах. Например, операционная система iS-DOS (для компьютеров ZX Spectrum) использовала возможность переполнения буфера встроенной TR-DOS для запуска своего загрузчика в машинных кодах (что штатными средствами в TR-DOS сделать невозможно).

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

Сетевая разведка проводится в форме запросов DNS, эхо-тестирования (ping sweep) и сканирования портов. Запросы DNS помогают понять, кто владеет тем или иным доменом и какие адреса этому домену присвоены. Эхо-тестирование адресов, раскрытых с помощью DNS, позволяет увидеть, какие хосты реально работают в данной среде. Получив список хостов, хакер использует средства сканирования портов, чтобы составить полный список услуг, поддерживаемых этими хостами. И, наконец, хакер анализирует характеристики приложений, работающих на хостах. В результате добывается информация, которую можно использовать для взлома.

Современная сетевая разведка в зависимости от целей деятельности, масштаба, и характера, поставленных для выполнения задач делится на:

стратегическую.

тактическую (оперативную);

Тактическая разведка обеспечивает действия атакующих. К ним относятся как злоумышленники, так и специалисты, проводящие тестирование информационной системы. Тактическая разведка выявляет данные о:

технической оснастке,

программном оснащении,

уязвимости почтовых серверов,

сервисах и почтовых клиентах,

границах сегментов сети,

используемых каналах связи (тип, пропускная способность),

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

Эти сведения добываются перехватом информации, передаваемой радиоэлектронными средствами.

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

Проблема сниффинга в Интернете решается очень просто. Нужно передавать приватные данные в зашифрованном виде (протоколы SSH и SSL). Для понимания поцесса посмотрим на сниффинг в локальной сети.

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

Если пакет не предназначен для него, он будет отброшен. Но если перевести сетевой плату в специальный режим (promiscuous mode), то она будет принимать все полученные пакеты, независимо от того, кому они предназначались.

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

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

Сниффер можно не устанавливать на каждой машине сети. Достаточно установить его на одной взломаной машине или на своей машине - если машина находится в локальной сети.

33. DNS-spoofing — атака, базирующаяся на заражении кэша DNS-сервера жертвы ложной записью о соответствии DNS-имени хоста, которому жертва доверяет, и IP-адреса атакующего. Относится к числу spoofing-атак.

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

33.IP-спуфинг – это подмена адреса отправителя, одного из полей IP-заголовка, методом записи другого значения. Сложность заключается в том, что машина, получив заголовок с таким адресом, отправит ответ на этот адрес, а не на адрес крэкера. В случае с TCP-соединением необходимо получить ответ от адресата для установки соединения с ним. При установке TCP-соединения важен так называемый ISN (Initial Sequence Number) - начальный порядковый номер. Во время установки соединения между машинами передается порядковый номер клиента, обозначаемый как ISNc, a также передается ISN сервера, как ISNs. Рассмотрим установку соединения:

клиент отправляет TCP-пакет с установленным флагом SYN, также он выбирает ISNc.

сервер увеличивает на единицу ISNc и отправляет его обратно вместе со своим ISNs.

клиент отвечает пакетом ACK, содержащим ISNs, увеличенный на единицу.

Когда крэкер пытается установить TCP-соединение с подделанным IP-адресом, сервер отправляет компьютеру А пакет SYN-ACK, содержащий его ISN. Так как компьютер А не отправлял серверу пакет SYN, он ответит пакетом RST для прерывания неизвестного соединения. Взломщику остается дождаться когда компьютер А будет выключен или перезагружен. Крэкер не сможет увидеть ISN, отправленный одной машиной к другой. Этот ISN ему нужен на третьем шаге, когда он должен будет увеличить его на 1 и отправить. Атакующий должен угадать ISN. В старых операционных системах (ОС) было очень легко угадать ISN - он увеличивался на единицу с каждым соединением. Современные ОС используют механизм, который предотвращает угадывание ISN. Современные сервисы используют для аутентификации имя пользователя и пароль и передают данные в зашифрованном виде, поэтому в наше время отпала всякая необходимость в IP-спуфинге.

Инъекции

Атака, связанная с различного рода инъекциями, подразумевает внедрение сторонних команд или данных в работающую систему с целью изменения хода работы системы, а в результате – получение доступа к закрытым функциям и информации, либо дестабилизации работы системы в целом. Наиболее популярна такая атака в сети Интернет, но также могут быть и другие. Наиболее распространенными уязвимостями в веб-приложениях являются внедрение SQL-запросов, PHP-инъекция и другие. SQL-инъекция: Один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода. Это происходит только тогда, когда запросы составлены с использованием внешних данных, которые принимаются от пользователя. Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере. Причина SQL-инъекции: отсутствие фильтрации, уязвимости в базе данных сервера, условные ошибки и т.д. Данная уязвимость представляет высокую опасность для сайта и авторам PHP-скриптов. Последствия PHP-инъекции: выполнить PHP-код на стороне сервера, обойти механизм аутентификации, читать содержимое файлов, записывать данные в файл и т.д. Чтобы защититься от инъекций необходимо разрабатывать фильтры, которые будут удалять лишние коды или символы от данных, которые вводит пользователь на сайт, например при вводе комметария или добавление статей.

Наши рекомендации