СВЕЖИЕ НОВОСТИ ИНТЕРНЕТА

WM.копилка - Копилка для Вашего сайта.

Поиск по этому блогу

суббота, 12 февраля 2011 г.

МОЖНО ЛИ ДОВЕРЯТЬ ЛОГАМ ВЕБ-СЕРВЕРА?

      Какие данные в логах веб сервера возможно фальсифицировать, не имея доступа к самому веб серверу?
      Только поля HTTP запроса. Этот запрос полностью формируется на стороне клиента, поэтому при желании злоумышленник может подставить в него любые поля с любыми значениями.
     Зафиксированному в логе IP адресу можно доверять. Конечно, при этом следует помнить, что это может оказаться IP прокси сервера или сокс сервера или иного посредника.
      Прочие поля – это внутренние данные веб сервера (код ответа, размер страницы и т.п.), которым также можно доверять.
      Для проверки достоверности данных логов веб сервера применяется сопоставление записей между собой, а также с иными логами.
      Приведем пример из практики, иллюстрирующий полезность сопоставления различных логов. Сотрудник службы информационной безопасности интернет казино, анализируя логи веб сервера, заметил, что браузер одного из игроков, согласно полям его HTTP запросов, поддерживает русский язык. При этом IP адрес числился за Кореей. Указания же на корейский язык не было. Это возбудило подозрения. Сотрудник проверил, с каких еще адресов обращался пользователь под этим аккаунтом. Оказалось, что с единственного IP. Тогда он проверил, какие еще пользователи обращались с этого же IP. Оказалось, что больше никто этот корейский IP адрес не использовал. Но сотрудник службы безопасности не успокоился и проверил, какие еще были обращения от браузера с таким же набором настроек (язык, версия браузера, версия ОС, разрешение экрана, принимаемые типы данных). Оказалось, что с такого же браузера было зарегистрировано больше 10 аккаунтов. Все эти пользователи приходили с IP адресов разных стран, причем страна соответствовала имени пользователя, то есть, например, Джон Смит с IP адресом США, Ву Пак с IP адресом Кореи, Ганс Мюллер с IP адресом Германии и так далее. Но идентичный набор настроек браузера всех этих пользователей (включая поддержку русского языка) вызывал большие подозрения. Когда же сотрудник сопоставил периоды активности всех подозрительных пользователей, он увидел, что они не пересекаются и более того – примыкают один к другому. Он понял, что имеет дело с кардером, который регистрирует аккаунты по краденым карточкам, пользуясь сокс-серверами в разных странах. Дальнейшая проверка это подтвердила.



СОДЕРЖАНИЕ ЛОГОВ ВЕБ-СЕРВЕРА

      Логи веб сервера, как понятно из их значения, являются далеко не единственным источником информации о действиях пользователя. Называть этот источник главным нельзя. Один из основных – вот так правильно.
Какие же данные можно найти в логах веб сервера? Набор таких данных различается в зависимости от типа веб сервера и его настроек. Чаще всего в логах присутствуют следующие данные:
● IP адрес клиента;
● время запроса, включая часовой пояс;
● поля HTTP запроса клиента:
❍ идентификатор (логин) пользователя, если присутствует аутентификация,
❍ метод,
 ❍ URL запрашиваемой веб-страницы и отдельные его элементы (домен, путь, параметры),
❍ версия протокола,
❍ истинный IP (при доступе через неанонимный прокси сервер),
❍ идентификационная строка браузера клиента (включая язык и ОС),
❍ реферер (referrer), то есть адрес веб страницы, с которой был осуществлен переход на данную страницу,
❍ тип контента ответа веб сервера (MIME type),
❍ любые другие поля;
 ● код ответа веб сервера (status code);
 ● размер ответа веб сервера (без учета HTTP-заголовка);
● ошибки, происшедшие при доступе к веб страницам;
● ошибки при запуске CGI программ.



ЗНАЧЕНИЕ ЛОГОВ ВЕБ-СЕРВЕРА

      Автор подметил интересную особенность. Выражения «лог файлы» или просто «логи» легко употребляются оперативниками, следователями всеми участниками процесса, однако мало кто из них четко представляет себе, что это такое. Чиновники Минсвязи норовят заставить операторов «хранить логи в течение трех лет», однако затрудняются сказать, какие именно логи и вообще, что это такое. Государственный обвинитель во время процесса лихо ссылается на «логи провайдера», однако когда ему эти логи показывают, в упор их не узнает, удивляясь, что это за невразумительная цифирь.
      Технические же специалисты, которые с лог файлами сталкиваются ежедневно, для которых это неотъемлемая составляющая каждодневной работы, приходят в недоумение от такого вопроса следователя: «Какая информация записывается в лог файл?» Да любая! Какую вы пожелаете, такая и записывается.
      Поэтому необходимо рассмотреть, что же такое логфайл или лог.
     Лог – это журнал автоматической регистрации событий, которые фиксируются в рамках какой либо программы. Обычно каждому событию соответствует одна запись в логе. Обычно запись вносится сразу же после события (его начала или окончания). Записи эти складываются в назначенный файл самóй программой либо пересылаются ею другой, специализированной программе, предназначенной для ведения и хранения логов.
    Как понятно из определения, в логах могут регистрироваться абсолютно любые события – от прихода единичного ethernet фрейма до результатов голосования на выборах президента. Форма записи о событии также целиком остается на усмотрение автора программы. Формат лога может быть машинно ориентированным, а может быть приспособлен для чтения человеком.
     Иногда логи ориентированы на цели безопасности и расследования инцидентов. В таких случаях стараются по возможности изолировать логи от системы, события в которой они фиксируют. Если злоумышленник преодолеет средства защиты и получит доступ в систему, он, возможно, не сможет одновременно получить доступ к логам, чтобы скрыть свои следы.
   Почти каждое действие, производимое человеком при взаимодействии с информационной системой, может отражаться в логе прямо или косвенно, иногда даже в нескольких логах одновременно. И логи эти могут быть разбросаны по различным местам, о которых неспециалист даже не догадается.
     Чтобы узнать о действиях злоумышленника, получить какие либо данные о нем при помощи логов, необходимо:
● узнать, какие компьютеры и их программы вовлечены во взаимодействие;
● установить, какие события логируются в каждой из вовлеченных программ;
● получить все указанные логи за соответствующие промежутки времени;
● исследовать записи этих логов, сопоставить их друг с другом.
      Вот, например, такое обыденное действие, как просмотр одним пользователем одной веб страницы. Перечислим вовлеченные в это действие системы, которые в принципе могут вести логи событий:
● браузер пользователя;
● персональный межсетевой экран на компьютере пользователя;
● антивирусная программа на компьютере пользователя;
● операционная система пользователя;
● DNS-сервер (резолвер), к которому обращался браузер пользователя перед запросом веб страницы, а также DNS сервера (держатели зон), к которым рекурсивно обращался этот резолвер;
● все маршрутизаторы по пути от компьютера пользователя до веб сервера и до DNS серверов, а также билинговые системы, на которые эти маршрутизаторы пересылают свою статистику;
● средства защиты (межсетевой экран, система обнаружения атак, антивирус), стоящие перед веб сервером и вовлеченными DNS серверами;
● веб сервер;
● CGI скрипты, запускаемые веб сервером;
● веб сервера всех счетчиков и рекламных баннеров, расположенных на просматриваемой пользователем веб странице (как правило, они поддерживаются независимыми провайдерами);
● веб сервер, на который пользователь уходит по гиперссылке с просматриваемой страницы;
● прокси сервер (если используется);
● АТС пользователя (при коммутируемом соединении с Интернетом – по телефонной линии) или иное оборудование последней мили (xDSL, Wi Fi, GPRS и т.д.);
● оборудование СОРМ со стороны пользователя и со стороны веб сервера.
    Итого может набраться два три десятка мест, где откладываются взаимно скоррелированные записи, относящиеся к одному единственному действию пользователя – просмотру веб страницы.
      При более сложных видах взаимодействия появляется еще больше мест, в которых могут остаться следы действий пользователя. Определить все эти места и указать, к кому именно следует обращаться за соответствующими логами, – это задача для ИТ специалиста. Даже самый продвинутый следователь не в состоянии его заменить. Поэтому привлечение специалиста в таких случаях обязательно.



ИЗБИРАТЕЛЬНЫЙ ПЕРЕХВАТ ТРАФИКА

      Перехват по сигнатурам используется для защиты информации в таком техническом средстве, как система обнаружения атак (IDS). Она ищет в передаваемых пакетах заранее предопределенные последовательности байтов, соответствующие попыткам несанкционированного доступа, активности вредоносных программ, иным неразрешенным или подозрительным действиям.
     Аналогично можно построить и анализ трафика подозреваемого предопределить характерные последовательности (сигнатуры), соответствующие подозрительным действиям. И ловить только сессии, в которых встречаются эти сигнатуры. Например, подозреваемый пользуется услугами провайдера коммутируемого доступа и, следовательно, соединяется с Интернетом с использованием динамического IP адреса. Наряду с ним IP адреса из той же сети используют еще несколько сотен пользователей. Требуется проконтролировать переписку подозреваемого по электронной почте. Для этого достаточно записывать все SMTP сессии, исходящие из сети, где расположен компьютер подозреваемого, в которых встречается последовательность символов «From: <info@e38.biz>», чтобы выделить письма, направленные от подозреваемого любым адресатам через любые промежуточные узлы.
       Для такого избирательного перехвата можно использовать почти любую IDS. Многие из них поддерживают довольно сложные сигнатуры сомногими условиями.


 

АНАЛИЗ ЗАГОЛОВКОВ ПАКЕТОВ

      Сведения о сетевых соединениях или о заголовках пакетов – это то ли урезанный перехват трафика (без сохранения сведений о содержимом пакетов, но лишь об их заголовках), то ли развернутый вариант статистики (когда записывается не агрегированная по времени информация о переданных пакетах).
     Например, что можно сказать о компьютере 10.0.4.224, получив следующую информацию о переданных пакетах? Перехват заголовков осуществлялся той же программой «tcpdump», что и в примере для главы «Перехват и исследование трафика», но без опций «-v -xX». Использованный в этот раз фильтр «tcp and (net 64.12.0.0/16 or net 205.188.0.0/16)» выделяет из общего потока те пакеты, которые относятся к сетям 64.12.0.0/16 и 205.188.0.0/16 – это сети, где стоят сервера, обслуживающие ICQ.

 
       Можно сказать, что на компьютере с адресом 10.0.4.224 установлена программа ICQ, которая достаточно активно используется. Причем установлена бесплатная версия этой программы, поскольку наряду с приемом и отправкой сообщений (порт 5190) наблюдается прием рекламных баннеров (порт 80). Содержание передаваемых сообщений из перехваченных заголовков пакетов не видно.