SlideShare uma empresa Scribd logo
1 de 26
Современные веб-технологии
Безопасность в Веб-разработке

1. Безопасность в Интернете

1.1. Информационная безопасность

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

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

Приведем несколько определений:

Безопасность информации (данных) – состояние защищенности информации (данных), при
котором обеспечены ее (их) конфиденциальность, доступность и целостность.

Информационная безопасность – защита конфиденциальности, целостности и доступности
информации. В качестве стандартной модели безопасности часто приводят модель из трех
категорий:

      конфиденциальность (confidentiality) – состояние информации, при котором доступ к ней
      осуществляют только субъекты, имеющие на него право;
      целостность (integrity) – избежание несанкционированной модификации информации;
      доступность (availability) – избежание временного или постоянного сокрытия
      информации от пользователей, получивших права доступа.

Выделяют и другие не всегда обязательные категории модели безопасности:

      неотказуемость или апеллируемость (non-repudiation) – невозможность отказа от
      авторства;
      подотчетность (accountability) – обеспечение идентификации субъекта доступа и
      регистрации его действий;
      достоверность (reliability) – свойство соответствия предусмотренному поведению или
      результату;
      аутентичность или подлинность (authenticity) – свойство, гарантирующее, что субъект
      или ресурс идентичны заявленным.

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

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

   1. законодательная, нормативно-правовая и научная база;
   2. структура и задачи органов (подразделений), обеспечивающих безопасность ИТ;
   3. организационно-технические и режимные меры и методы (Политика информационной
      безопасности);
   4. программно-технические способы и средства обеспечения информационной
      безопасности.

Законодательная, нормативно-правовая и научная база

В Российской Федерации к нормативно-правовым актам в области информационной
безопасности относятся:

      Акты федерального законодательства:
         o Международные договоры РФ;
         o Конституция РФ;
         o Законы федерального уровня (включая федеральные конституционные законы,
            кодексы);
         o Указы Президента РФ;
         o Постановления правительства РФ;
         o Нормативные правовые акты федеральных министерств и ведомств;
         o Нормативные правовые акты субъектов РФ, органов местного самоуправления и
            т. д.

К нормативно-методическим документам можно отнести

      Методические документы государственных органов России:
         o Доктрина информационной безопасности РФ;
         o Руководящие документы ФСТЭК (Гостехкомиссии России);
         o Приказы ФСБ;
      Стандарты информационной безопасности, из которых выделяют:
         o Международные стандарты;
         o Государственные (национальные) стандарты РФ;
         o Рекомендации по стандартизации;
o   Методические указания.

Организационно-технические и режимные меры и методы

Для описания технологии защиты информации конкретной информационной системы обычно
строится так называемая "Политика информационной безопасности" или "Политика
безопасности рассматриваемой информационной системы".

Приведем несколько определений:

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

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

Для построения Политики информационной безопасности рекомендуется              отдельно
рассматривать следующие направления защиты информационной системы:

      защита объектов информационной системы;
      защита процессов, процедур и программ обработки информации;
      защита каналов связи;
      подавление побочных электромагнитных излучений;
      управление системой защиты.

При этом по каждому из перечисленных выше направлений "Политика информационной
безопасности" должна описывать следующие этапы создания средств защиты информации:

   1. определение информационных и технических ресурсов, подлежащих защите;
   2. выявление полного множества потенциально возможных угроз и каналов утечки
      информации;
   3. проведение оценки уязвимости и рисков информации при имеющемся множестве угроз и
      каналов утечки;
   4. определение требований к системе защиты;
   5. осуществление выбора средств защиты информации и их характеристик;
   6. внедрение и организация использования выбранных мер, способов и средств защиты;
   7. осуществление контроля целостности и управление системой защиты.

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

Документы верхнего уровня "Политики информационной безопасности" отражают позицию
организации к деятельности в области защиты информации, ее стремление соответствовать
государственным, международным требованиям и стандартам в этой области. Подобные
документы могут называться "Концепция ИБ", "Регламент управления ИБ", "Политика ИБ",
"Технический стандарт ИБ" и т. п. Область распространения документов верхнего уровня
обычно не ограничивается, однако данные документы могут выпускаться и в двух редакциях –
для внешнего и внутреннего использования.
Согласно ГОСТ Р ИСО/МЭК 17799—2005, на верхнем уровне "Политики информационной
безопасности" должны быть оформлены следующие документы: "Концепция обеспечения ИБ",
"Правила допустимого использования ресурсов информационной системы", "План обеспечения
непрерывности бизнеса".

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

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

Программно-технические способы и средства обеспечения информационной безопасности

В литературе предлагается следующая классификация средств защиты информации:

      Средства защиты от несанкционированного доступа (НСД):
         o средства авторизации;
         o мандатное управление доступом;
         o избирательное управление доступом;
         o управление доступом на основе ролей;
         o журналирование (так же называется Аудит);
      Системы анализа и моделирования информационных потоков (CASE-системы);
      Системы мониторинга сетей:
         o системы обнаружения и предотвращения вторжений (IDS/IPS);
         o системы предотвращения утечек конфиденциальной информации (DLP-системы);
      Анализаторы протоколов;
      Антивирусные средства;
      Межсетевые экраны;
      Криптографические средства:
         o шифрование;
         o цифровая подпись;
      Системы резервного копирования;
      Системы бесперебойного питания:
         o источники бесперебойного питания;
         o резервирование нагрузки;
         o генераторы напряжения;
      Системы аутентификации:
         o пароль;
         o сертификат;
         o биометрия;
      Средства предотвращения взлома корпусов и краж оборудования;
      Средства контроля доступа в помещения;
      Инструментальные средства анализа систем защиты:
         o мониторинговый программный продукт.

1.2. Виды угроз и способы борьбы с ними
Сетевые атаки столь же разнообразны, как и системы, против которых они направлены.
Некоторые атаки отличаются большой сложностью. Другие может осуществить обычный
оператор, даже не предполагающий, какие последствия может иметь его деятельность. Для
оценки типов атак необходимо знать некоторые ограничения, изначально присущие протоколу
TPC/IP. Сеть Интернет создавалась для связи между государственными учреждениями и
университетами в помощь учебному процессу и научным исследованиям. Создатели этой сети
не подозревали, насколько широко она распространится. В результате, в спецификациях ранних
версий интернет-протокола (IP) отсутствовали требования безопасности. Именно поэтому
многие реализации IP являются изначально уязвимыми. Через много лет, получив множество
рекламаций (RFC – Request for Comments), наконец, стали внедряться средства безопасности
для IP. Однако ввиду того, что изначально средства защиты для протокола IP не
разрабатывались, все его реализации стали дополняться разнообразными сетевыми
процедурами, услугами и продуктами, снижающими риски, присущие этому протоколу.

Далее кратко обсудим классификацию типов атак, которые обычно применяются в Интернете, и
перечислим способы борьбы с ними.

1.2.1. Аутентификация (Authentication)

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

1.2.1.1. Подбор (Brute Force)

Описание

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

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

Решение

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

1.2.1.2. Недостаточная аутентификация (Insufficient Authentication)

Описание

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

Пример

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

Решение

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

1.2.1.3. Небезопасное восстановление паролей (Weak Password Recovery Validation).

Описание

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

Пример

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

Решение

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

1.2.2. Авторизация (Authorization)

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

1.2.2.1. Предсказуемое значение идентификатора сессии (Credential/Session Prediction)

Описание

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

Пример

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

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

1.2.2.2. Недостаточная авторизация (Insufficient Authorization)

Описание

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

Пример

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

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

Решение

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

1.2.2.3. Отсутствие таймаута сессии (Insufficient Session Expiration)

Описание

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

Пример

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

Решение

Метод борьбы – ограничение таймаута сессии.

1.2.2.4. Фиксация сессии (Session Fixation)

Описание

Используя   данный    класс   атак,   злоумышленник    присваивает      идентификатору сессии
пользователя заданное значение.

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

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

1.2.3. Атаки на клиентов (Client-side Attacks)

Этот раздел описывает атаки на пользователей со стороны Веб-сервера.

1.2.3.1. Подмена содержимого (Content Spoofing)

Описание

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

Решение

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

1.2.3.2. Межсайтовое выполнение сценариев (Cross-site Scripting, XSS)

Описание

Наличие уязвимости Cross-site Scripting позволяет атакующему передать серверу исполняемый
код, который будет перенаправлен браузеру пользователя. Этот код обычно создается на языках
HTML/JavaScript, но могут быть использованы VBScript, ActiveX, Java, Flash, или другие
поддерживаемые браузером технологии.

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

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

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

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

1.2.3.3. Расщепление HTTP-запроса (HTTP Response Splitting)

Описание

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

В результате успешной реализации этой атаки злоумышленник может выполнить следующие
действия:

      Межсайтовое выполнение сценариев.
      Модификация данных кэша сервера-посредника.
      Межпользовательская атака (один пользователь, одна страница, временная подмена
      страницы).
      Перехват страниц, содержащих пользовательские данные.

1.2.4. Выполнение кода (Command Execution)

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

1.2.4.1. Переполнение буфера (Buffer Overflow)

Описание

Эксплуатация переполнения буфера позволяет злоумышленнику изменить путь исполнения
программы путем перезаписи данных в памяти системы.

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

Решение

Тщательно проверять входные параметры CGI скриптов написанных на С++ или С, а также
позаботится для защиты от атак подобного типа, это своевременное обновление программ
серверов, будь-то Веб-Сервер или СУБД.

1.2.4.2. Атака на функции форматирования строк (Format String Attack)
Описание

При использовании этих атак путь исполнения программы модифицируется методом
перезаписи областей памяти с помощью функций форматирования символьных переменных.
Уязвимость возникает, когда пользовательские данные применяются в качестве аргументов
функций форматирования строк, таких как fprintf, printf, sprintf, setproctitle, syslog и т.д.

Решение

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

1.2.4.3. Внедрение операторов LDAP (LDAP Injection)

Описание

Атаки этого типа направлены на Веб-серверы, создающие запросы к службе LDAP на основе
данных, вводимых пользователем. Упрощенный протокол доступа к службе каталога
(Lightweight Directory Access Protocol, LDAP) – открытый протокол для создания запросов и
управления службами каталога совместимыми со стандартом X.500. Протокол LDAP работает
поверх транспортных протоколов Internet (TCP/UDP). Веб-приложение может использовать
данные, предоставленные пользователем для создания запросов по протоколу LDAP при
генерации динамических Веб-страниц. Если информация, полученная от клиента, должным
образом не верифицируется, атакующий получает возможность модифицировать LDAP-запрос.

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

1.2.4.4. Выполнение команд ОС (OS Commanding)

Описание

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

Решение

Решение данной проблемы – правильно настроенный сервер.

1.2.4.5. Внедрение операторов SQL (SQL Injection)

Описание

Эти атаки направлены на Веб-серверы, создающие SQL запросы к серверам СУБД на основе
данных, вводимых пользователем.

Если информация, полученная от клиента, должным образом не верифицируется, атакующий
получает возможность модифицировать запрос к SQL-серверу, отправляемый приложением.
Запрос будет выполняться с тем же уровнем привилегий, с каким работает компонент
приложения, выполняющий запрос (сервер СУБД, Веб-сервер и т.д). В результате
злоумышленник может получить полный контроль на сервере СУБД и даже его операционной
системой. С точки зрения эксплуатации SQL Injection очень походит на LDAP Injection.

Решение

Еще один из наиболее эксплуатируемых видов атак, средства борьбы – грамотная фильтрация
получаемых данных.

1.2.4.6. Внедрение серверных расширений (SSI Injection)

Описание

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

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

Решение

Противодействие такое же, как и при SQL инъекции.

1.2.4.7. Внедрение операторов XPath (XPath Injection)

Описание

Эти атаки направлены на Веб-серверы, создающие запросы на языке XPath на основе данных,
вводимых пользователем.

Язык XPath 1.0 разработан для предоставления возможности обращения к частям документа на
языке XML. Он может быть использован непосредственно либо в качестве составной части
XSLT-преобразования XML-документов или выполнения запросов XQuery.

Решение

Противодействие такое же, как и при SQL инъекции.

1.2.5. Разглашение информации (Information Disclosure)

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

1.2.5.1. Индексирование директорий (Directory Indexing)
Описание

Предоставление списка файлов в директории представляет собой нормальное поведение Веб-
сервера, если страница, отображаемая по умолчанию (index.html/home.html/default.htm)
отсутствует.

В этой ситуации злоумышленник может получить доступ к данным, не предназначенным для
свободного доступа. Довольно часто администраторы полагаются на "безопасность через
сокрытие", предполагая, что раз гиперссылка на документ отсутствует, то он недоступен.
Современные сканеры уязвимостей, такие как Nikto, могут динамически добавлять файлы и
папки к списку сканируемых в зависимости от результатов запросов. Используя содержимое
/robots.txt или полученного списка директорий сканер может найти спрятанное содержимое или
другие файлы.

Таким образом, внешне безопасное индексирование директорий может привести к утечке
важной информации, которая в дальнейшем будет использована для проведения атак на
систему.

Решение

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

1.2.5.2. Идентификация приложений (Web Server/Application Fingerprinting)

Описание

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

Для определения версий клиентских приложений обычно используется анализ HTTP-запросов
(порядок следования заголовков, значение User-agent и т.д.). Однако для этих целей могут
применяться и другие техники. Так, например, анализ заголовков почтовых сообщений,
созданных с помощью клиента Microsoft Outlook, позволяет определить версию установленного
на компьютере браузера Internet Explorer.

Решение

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

1.2.5.3. Утечка информации (Information Leakage)

Описание

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

1.2.5.4. Обратный путь в директориях (Path Traversal)
Описание

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

Решение

Средством противодействия является тщательная настройка Веб-сервера.

1.2.5.5. Предсказуемое расположение ресурсов (Predictable Resource Location)

Описание

Предсказуемое расположение ресурсов позволяет злоумышленнику получить доступ к скрытым
данным или функциональным возможностям. Путем подбора злоумышленник может получить
доступ к содержимому, не предназначенному для публичного просмотра. На эту атаку часто
ссылаются как на перечисление файлов и директорий (Forced Browsing, File Enumeration,
Directory Enumeration).

1.2.6. Логические атаки (Logical Attacks)

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

1.2.6.1. Злоупотребление функциональными возможностями (Abuse of Functionality)

Описание

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

Пример

Примеры злоупотребления функциональными возможностями включают в себя:

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

1.2.6.2. Отказ в обслуживании (Denial of Service)
Описание

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

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

Атаки могут быть направлены на любой из компонентов Веб-приложения, например, такие как
сервер СУБД, сервер аутентификации и т.д.

Решение

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

1.2.6.3. Недостаточное противодействие автоматизации (Insufficient Anti-automation)

Описание

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

Решение

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

Стандартным средство борьбы с роботами сейчас является CAPTCHA (Completely Automated
Public Turing test to tell Computers and Humans Apart).

1.2.6.4. Недостаточная проверка процесса (Insufficient Process Validation)

Описание

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

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

Решение

Для обеспечения корректной работы подобных функций Веб-приложение должно четко
отслеживать состояние сессии пользователя и отслеживать ее соответствие текущим операциям.
В большинстве случаев это осуществляется путем сохранения состояния сессии в cookie или
скрытом поле формы HTML. Но поскольку эти значения могут быть модифицированы
пользователем, обязательно должна проводиться проверка этих значений на сервере. Если этого
не происходит, злоумышленник получает возможность обойти последовательность действий, и
как следствие – логику приложения.

1.2.7. Вирусы и приложения типа "троянский конь"

Описание

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

Решение

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

1.3. Ключевые термины

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

2. XSS Filter
2.1. Общее описание

XSS (Сross Site Sсriрting – "межсайтовый скриптинг") – тип уязвимости интерактивных
информационных систем в Интернете. XSS возникает, когда в генерируемые сервером
страницы по какой-то причине попадают пользовательские скрипты. Специфика подобных атак
заключается в том, что вместо непосредственной атаки сервера они используют уязвимый
сервер в качестве средства атаки на клиента.

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

Так в новой версии Internet Explorer 8 появился XSS-фильтр, который делает реализацию XSS-
атаки в нем намного более сложной задачей для злоумышленника.

Архитектура XSS Filter в Internet Explorer 8 показана на рис.




                                                Рис. Архитектура XSS Filter в Internet Explorer 8

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

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

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

2.2. Исследование эффективности XSS Filter

Большинство исследователей выделяет три типа уязвимостей и атак, связанных с XSS:
постоянные (сохраненные, persistent, stored, Type-2), непостоянные (отраженные, non-persistent,
reflected, Type-1) и DOM-based XSS (Type-3). Основным отличием между ними заключается в
том, что в отраженном варианте передача кода серверу и возврат его клиенту осуществляется в
рамках одного HTTP-запроса, а в сохраненном – может происходить и в разных запросах.
Осуществление непостоянной атаки требует, чтобы пользователь перешел по ссылке,
сформированной злоумышленником (ссылка может быть передана по email, ICQ и т.д.). В
процессе загрузки сайта код, внедренный в URL или в заголовки запроса, будет передан
клиенту и выполнен в его браузере. Сохраненная разновидность уязвимости возникает, когда
код передается серверу и сохраняется на нем на некоторый промежуток времени. Наиболее п
опулярными целями атак в этом случае являются форумы, почта с Веб-интерфейсом и чаты.
Для атаки пользователю не обязательно переходить по ссылке, достаточно посетить уязвимый
сайт. Третий тип XSS (DOM-based) может присутствовать как в сохраненном, так и в
отраженном варианте, но выделяется тем, что внедрение кода осуществляется с использованием
AJAX-технологий (например, JavaScript document.write и т.д.).

2.2.1. Сохраненный вариант

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

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

2.2.2. DOM-based XSS

DOM-based XSS уязвимость данного типа возникает, когда внедрение кода динамически
осуществляется с использованием Javascript и AJAX-технологий. Эксперименты показали, что
фильтр XSS в Intenet Explorer 8 реализует защиту от большинства сценариев данного типа атак,
но в некоторых случаях логику фильтра можно обойти. Примерами являются операторы
выполнения скриптов напрямую (eval), изменение URL документа (document.location) и т.д.

В других распространенных случаях, когда Javascript используется для записи в код HTML-
страницы или изменения DOM-объектов напрямую, атака блокируется фильтром.

2.2.3. Отраженный вариант

Можно выделить четыре основных ситуации, в которых возможен отраженный вариант атаки
Межсайтовое выполнение сценариев:

       внедрение кода в Javascript;
       внедрение кода в тег;
       внедрение кода в параметр тега;
       внедрение кода в HTML.

2.2.4. Заключение

Исследование механизма противодействия атакам "Межсайтовое выполнение сценариев",
встроенного в браузер Internet Explorer 8, показало, что подход защиты от Cross-Site Scripting на
стороне клиента может быть достаточно эффективным в борьбе с отраженным вариантом XSS.
К сожалению, решить проблему с сохраненным типом атаки лишь на стороне клиента в
настоящее время не представляется возможным (отключение Javascript и прочих активных
объектов – это не решение проблемы), поэтому это тема лежит за рамками поддерживаемого
функционала XSS-фильтра в IE8. Кроме того, не поддерживается фильтрация некоторых DOM-
based атак, которые весьма актуальны в современном мире AJAX и Веб 2.0. Неплохим
расширением функций фильтра была бы фильтрация атак типа HTTP Response Splitting, что
позволило бы избежать некоторых методов обхода фильтра.

Учитывая, что отраженный вариант XSS является самым распространенным типом уязвимостей
этого типа, возможности Internet Explorer позволяют значительно снизить количество успешных
атак с использованием данного вектора.

2.3. Ключевые термины

XSS, Сross Site Sсriрting, XSS Filter.

3. SmartScreen Filter

3.1. Общие сведения

Фишинг (phishing, от fishing – рыбная ловля, выуживание) – вид интернет-мошенничества,
целью которого является получение доступа к конфиденциальным данным пользователей –
логинам и паролям. Это достигается путѐм проведения массовых рассылок электронных писем
от имени популярных брендов, а также личных сообщений внутри различных сервисов,
например, от имени банков (Ситибанк, Альфа-банк), сервисов (Rambler, Mail.ru) или внутри
социальных сетей (Facebook, Вконтакте). В письме часто содержится прямая ссылка на сайт,
внешне неотличимый от настоящего, либо на сайт с редиректом. Оказавшись на таком сайте,
пользователь может сообщить мошенникам ценную информацию, позволяющую получить
доступ к аккаунтам и банковским счетам.

Фишинг – одна из разновидностей социальной инженерии, основанная на незнании
пользователями основ сетевой безопасности: в частности, многие не знают простого факта:
сервисы не рассылают писем с просьбами сообщить свои учѐтные данные, пароль и прочее.

В Internet Explorer 7 компания Microsoft представили фильтр фишинга, который
предупреждает пользователя при попытке посетить сайт, находящийся в так называемом
"черном списке".

На основе успеха фильтра, который блокирует миллион фишинговых атак еженедельно, для
Internet Explorer 8 Microsoft разработали фильтр SmartScreen, который впитал в себя сам
фишинг-фильтр, а также ряд новых особенностей:

       Улучшенный пользовательский интерфейс.

       По умолчанию страница имеет всего одну ссылку – "Вместо этого перейти на
       домашнюю страницу". Данное решение облегчает принятие очевидного решения, не
       предоставляя пользователю выбора из нескольких вариантов. Заинтересованные могут
       щелкнуть по ссылке дополнительной информации.

       Также пользователь может проигнорировать предупреждение фильтра SmartScreen и
       щелкнуть по ссылке "Отказаться и продолжить".

       Администраторы домена также могут использовать групповые политики, чтобы убрать
       ссылку "Отказаться и продолжить" и в принудительном порядке запретить
пользователям переход на сайты, заблокированные фильтром SmartScreen.

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

Улучшенная производительность.

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

Новые эвристики и усиленная телеметрия.

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

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

Поддержка анти-Malware.

SmartScreen-фильтр помогает блокировать сайты, которые распространяют вредоносные
программы и другое опасное ПО, которое пытается атаковать компьютер пользователя и
украсть личную информацию. Существуют множество видов вредоносного ПО, при этом
большинство из подобных программ могут значительно влиять на пользовательскую
конфиденциальность и безопасность. SmartScreen анти-malware основано на URL-
репутации – это означает, что он оценивает серверы, ответственные за загрузки и
определяет, числятся ли они в списках распространителей небезопасного содержимого.
Основанный на репутации, SmartScreen-анализ действует слажено с другими анти-
malware технологиями как Malicious Software Removal Tool, Windows Defender и
Windows Live OneCare, для предоставления исчерпывающей защиты от вредоносного
ПО.

Если попал на сайт с вредоносным ПО, SmartScreen заблокирует страницу и
проинформирует пользователя о небезопасном ПО. С другой стороны, если пользователь
пройдет по прямой ссылке для загрузки, расположенной на уже известном системе
опасном сайте, диалог загрузки Internet Explorer прервет закачку для предупреждения
пользователя.

Улучшенная поддержка групповой политики.

Групповая политика может быть использована для включения или отключения
SmartScreen-фильтра для пользователей Internet Explorer в контроллере домена
Windows. Возможность групповой политики позволяет администраторам домена
запрещать пользователям отвергать предупреждения SmartScreen-фильтра. Когда
ограничения групповой политики включены, пункт отказа от предупреждения
SmartScreen-фильтра отсутствует на странице блокировки и в окне загрузки.

Атаки вредоносного ПО в браузере.

На сегодняшний день существует два способа, которые могут использовать вредоносные
сайты для заражения компьютера. Первый способ – использование уязвимостей браузера
для автоматической установки вредоносной программы без участия пользователя, также
       известный как drive-by download. А второй – привлечь или обмануть пользователя,
       заставив скачать и установить программу, которая является вредоносной, как было уже
       приведено в примере выше. Для полной безопасности мы должны защищать
       пользователя от обоих типов атак.

       Несколько дополнительных функций IE8 и Windows Vista (Windows 7) помогают
       защититься от drive-by download атак, которые пытаются запуститься без согласия или
       уведомления пользователя. В этот список входит защита памяти DEP/NX, улучшения
       в безопасности ActiveX, а также User Account Control в сочетании с Protected Mode в
       IE. Но ни один из этих механизмов не может защитить пользователя от программы,
       которую он самостоятельно загрузил и запустил. И здесь важное место занимает фильтр
       SmartScreen.

3.2. Ключевые термины

Фишинг, SmartScreen Filter.

4. Data Execution Prevention

4.1. Общие сведения

Data Execution Prevention (DEP) (Предотвращение выполнения данных) – функция
безопасности, встроенная в семейство операционных систем Windows, которая не позволяет
приложению исполнять код из области памяти, помеченной как "только для данных". Она
позволит предотвратить некоторые атаки, которые, например, сохраняют код в такой области с
помощью переполнения буфера. DEP работает в двух режимах: аппаратном, для процессоров,
которые могут помечать страницы как "не для исполнения кода", и программном, для
остальных процессоров. Эта функция впервые появилась во втором пакете обновлений для
Windows XP.

DEP помогает избежать атак путем предотвращения запуска кода, размещенного в участке
памяти, помеченном как неисполняемый. DEP в комбинации с другими технологиями, как
ASLR, делает процесс использования взломщиками разнообразных уязвимостей, связанных с
памятью (например, переполнение буфера) намного более сложным. Лучше всего данная
технология работает для Internet Explorer и для загружаемых аддонов. Для обеспечения всех
этих функций безопасности от пользователя не требуется никаких дополнительных действий и
никаких запросов ему показано не будет.

Увидеть, какие именно процессы в Windows Vista защищены DEP, можно увидеть во вкладке
диспетчера задач. Для более ранних версий Windows можно использовать Process Explorer. В
обоих случаях необходимо отметить опцию Data Execution Prevention в выборе отображаемых
колонок.

4.2. Ключевые термины

Data Execution Prevention.

5. HTTPS

5.1. SSL

SSL (Secure Sockets Layer, уровень защищенных сокетов) – криптографический протокол,
который обеспечивает установление безопасного соединения между клиентом и сервером.

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

Протокол SSL состоит из двух под-протоколов: протокол SSL записи и рукопожатия. Протокол
SSL записи определяет формат, используемый для передачи данных. Протокол SSL включает
рукопожатие с использованием протокола SSL записи для обмена сериями сообщений между
сервером и клиентом, во время установления первого соединения. Для работы SSL требуется,
чтобы на сервере имелся SSL-сертификат.

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

      Аутентификация. Сервер всегда аутентифицируется, в то время как клиент
      аутентифицируется в зависимости от алгоритма.
      Надежность. Обмен сообщениями включает в себя проверку целостности.
      Частность канала. Шифрование используется после установления соединения и
      используется для всех последующих сообщений.

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

Изначально виртуальные частные сети (VPN) на основе SSL разрабатывались как
дополнительная и альтернативная технология удаленного доступа на основе IPsec VPN. Но в
виду ряда факторов: достаточная надежность и недороговизна – сделали эту технологию
привлекательной для организации VPN. Также SSL получил широкое применение в
электронной почте.

Основными целями протокола SSL являются (в порядке приоритетности):

   1. Криптографическая безопасность: SSL устанавливает безопасное соединение между
      двумя сторонами.
   2. Совместимость: Программисты, независимо друг от друга могут создавать приложения,
      использующие SSL, которые впоследствии будут способны успешно обмениваться
      криптографическими параметрами без всякого знания кода чужих программ.
   3. Расширяемость: SSL стремится обеспечить рабочее пространство, в котором новые
      открытые ключи и трудоемкие методы шифрования могут быть включены по мере
      необходимости.
   4. Относительная эффективность: работа протокола на основе SSL требует больших
      скоростей от CPU, в частности для работы с открытыми ключами. По этой причине SSL
      протокол был включен в необязательную сессию схемы кэширования для уменьшения
      числа соединений, которые необходимо устанавливать с нуля. Кроме того, большое
      внимание уделяется тому, чтобы уменьшить сетевую активность.

SSL поддерживает три типа аутентификации: аутентификация обеих сторон (клиент – сервер),
аутентификация сервера с неаутентифицированным клиентом и полная анонимность. Всякий
раз, когда сервер аутентифицируется, канал безопасен против атаки человек посредине, но
полностью анонимная сессия по своей сути уязвима к такой атаке. Анонимный сервер не может
аутентифицировать клиента. Если сервер аутентифицирован, то его сообщение сертификации
должно обеспечить верную сертификационную цепочку, ведущую к приемлемому центру
сертификации. Проще говоря, аутентифицированный клиент должен предоставить допустимый
сертификат серверу. Каждая сторона отвечает за проверку того, что сертификат другой стороны
еще не истек и не был отменен. Главная цель процесса обмена ключами – это создание секрета
клиента (pre_master_secret), известного только клиенту и серверу. Секрет (pre_master_secret)
используется для создания общего секрета (master_secret). Общий секрет необходим для того
чтобы создать сообщение для проверки сертификата, ключей шифрования, секрета MAC
(message authentication code) и сообщения "finished". При посылке верного сообщения "finished",
тем самым стороны докажут что они знают верный секрет (pre_master_secret).

В несколько упрощенном варианте диалог SSL представлен на рис.




                                                                              Рис. Диалог SSL

В SSL используются следующие алгоритмы:

      Для обмена ключами и проверки их подлинности применяются: RSA, Diffie-Hellman,
      ECDH, SRP, PSK.
      Для аутентификации: RSA, DSA, ECDSA.
      Для симметричного шифрования: RC2, RC4, IDEA, DES, Triple DES или AES, Camellia.
      Для хеш-функций: SHA, MD5, MD4 и MD2.

Опишем ряд атак, которые могут быть предприняты против протокола SSL. Однако, SSL
устойчив к этим атакам:

      Раскрытие шифров

      SSL зависит от различных криптографических параметров. Шифрование с открытым
      ключом RSA необходимо для пересылки ключей и аутентификации сервера/клиента.
      Однако в качестве шифра используются различные криптографические алгоритмы.
      Таким образом, если осуществить успешную атаку на эти алгоритмы, то SSL не может
      уже считаться безопасным. Атака на определенные коммуникационные сессии
Безопасность в Интернете
Безопасность в Интернете
Безопасность в Интернете
Безопасность в Интернете

Mais conteúdo relacionado

Mais procurados

презентация на тему «защита информации»
презентация на тему «защита информации»презентация на тему «защита информации»
презентация на тему «защита информации»
Yanatr
 
Требования в области информационной безопасности и соответствующие им решения...
Требования в области информационной безопасности и соответствующие им решения...Требования в области информационной безопасности и соответствующие им решения...
Требования в области информационной безопасности и соответствующие им решения...
Cisco Russia
 
Dokument microsoft office_word_2
Dokument microsoft office_word_2Dokument microsoft office_word_2
Dokument microsoft office_word_2
mkyf
 

Mais procurados (17)

защита информации
защита информациизащита информации
защита информации
 
3 курс
3 курс3 курс
3 курс
 
презентация на тему «защита информации»
презентация на тему «защита информации»презентация на тему «защита информации»
презентация на тему «защита информации»
 
Требования в области информационной безопасности и соответствующие им решения...
Требования в области информационной безопасности и соответствующие им решения...Требования в области информационной безопасности и соответствующие им решения...
Требования в области информационной безопасности и соответствующие им решения...
 
Безопасность и защита информации.
Безопасность и защита информации.Безопасность и защита информации.
Безопасность и защита информации.
 
Настройка автоответчика в яндекс почте
Настройка автоответчика в яндекс почтеНастройка автоответчика в яндекс почте
Настройка автоответчика в яндекс почте
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
Журнал
ЖурналЖурнал
Журнал
 
иб
ибиб
иб
 
Требования в области информационной безопасности и соответствующие им решения...
Требования в области информационной безопасности и соответствующие им решения...Требования в области информационной безопасности и соответствующие им решения...
Требования в области информационной безопасности и соответствующие им решения...
 
Способы хищения информации в банках и методы борьбы с этим явлением
Способы хищения информации в банках и методы борьбы с этим явлениемСпособы хищения информации в банках и методы борьбы с этим явлением
Способы хищения информации в банках и методы борьбы с этим явлением
 
Виртуальная сфера - Безопасность - Хакеры и Терроризм
Виртуальная сфера - Безопасность -  Хакеры и ТерроризмВиртуальная сфера - Безопасность -  Хакеры и Терроризм
Виртуальная сфера - Безопасность - Хакеры и Терроризм
 
Защита ГИС
Защита ГИСЗащита ГИС
Защита ГИС
 
Dokument microsoft office_word_2
Dokument microsoft office_word_2Dokument microsoft office_word_2
Dokument microsoft office_word_2
 
СОСТАВ И СОДЕРЖАНИЕ ОРГАНИЗАЦИОННЫХ И ТЕХНИЧЕСКИХ МЕР ПО ОБЕСПЕЧЕНИЮ БЕЗОПАСН...
СОСТАВ И СОДЕРЖАНИЕ ОРГАНИЗАЦИОННЫХ И ТЕХНИЧЕСКИХ МЕР ПО ОБЕСПЕЧЕНИЮ БЕЗОПАСН...СОСТАВ И СОДЕРЖАНИЕ ОРГАНИЗАЦИОННЫХ И ТЕХНИЧЕСКИХ МЕР ПО ОБЕСПЕЧЕНИЮ БЕЗОПАСН...
СОСТАВ И СОДЕРЖАНИЕ ОРГАНИЗАЦИОННЫХ И ТЕХНИЧЕСКИХ МЕР ПО ОБЕСПЕЧЕНИЮ БЕЗОПАСН...
 
Построение модели угроз и модели нарушителя
Построение модели угроз и модели нарушителяПостроение модели угроз и модели нарушителя
Построение модели угроз и модели нарушителя
 
Информационная безопасность. Лекция 2.
Информационная безопасность. Лекция 2.Информационная безопасность. Лекция 2.
Информационная безопасность. Лекция 2.
 

Destaque

NAACP Region IV Crati Environmental and Climate Justice Presentation
NAACP Region IV Crati Environmental and Climate Justice Presentation NAACP Region IV Crati Environmental and Climate Justice Presentation
NAACP Region IV Crati Environmental and Climate Justice Presentation
cgrantnaacp
 
Silica - Magnetite presentation (Singer%2c Charlie R)
Silica - Magnetite presentation (Singer%2c Charlie R)Silica - Magnetite presentation (Singer%2c Charlie R)
Silica - Magnetite presentation (Singer%2c Charlie R)
Charlie Singer
 
Beauty of-mathematics.pps
Beauty of-mathematics.ppsBeauty of-mathematics.pps
Beauty of-mathematics.pps
mathisi
 
McDowell.assistive.technology
McDowell.assistive.technologyMcDowell.assistive.technology
McDowell.assistive.technology
jessimc02
 
Shock Cardiogenico Prxt
Shock Cardiogenico PrxtShock Cardiogenico Prxt
Shock Cardiogenico Prxt
Paul Sanchez
 

Destaque (20)

Linking examples
Linking  examplesLinking  examples
Linking examples
 
Wp meetup torino 30 01 2016
Wp meetup torino 30 01 2016Wp meetup torino 30 01 2016
Wp meetup torino 30 01 2016
 
carreteras nom-012-sct-2-2014
carreteras nom-012-sct-2-2014carreteras nom-012-sct-2-2014
carreteras nom-012-sct-2-2014
 
Darian Resume New
Darian Resume NewDarian Resume New
Darian Resume New
 
Formato planartistica2dogrado
Formato planartistica2dogradoFormato planartistica2dogrado
Formato planartistica2dogrado
 
NAACP Region IV Crati Environmental and Climate Justice Presentation
NAACP Region IV Crati Environmental and Climate Justice Presentation NAACP Region IV Crati Environmental and Climate Justice Presentation
NAACP Region IV Crati Environmental and Climate Justice Presentation
 
Silica - Magnetite presentation (Singer%2c Charlie R)
Silica - Magnetite presentation (Singer%2c Charlie R)Silica - Magnetite presentation (Singer%2c Charlie R)
Silica - Magnetite presentation (Singer%2c Charlie R)
 
Elektronsko poslovanje i budućnost poštanskih usluga
Elektronsko poslovanje i budućnost poštanskih uslugaElektronsko poslovanje i budućnost poštanskih usluga
Elektronsko poslovanje i budućnost poštanskih usluga
 
Linking words
Linking wordsLinking words
Linking words
 
Beauty of-mathematics.pps
Beauty of-mathematics.ppsBeauty of-mathematics.pps
Beauty of-mathematics.pps
 
McDowell.assistive.technology
McDowell.assistive.technologyMcDowell.assistive.technology
McDowell.assistive.technology
 
Penzioni sistem Japana
Penzioni sistem JapanaPenzioni sistem Japana
Penzioni sistem Japana
 
BA's thesis
BA's thesisBA's thesis
BA's thesis
 
Lidija gligorić elektronsko poslovanje i budućnost poštanskih usluga palić 2016
Lidija gligorić elektronsko poslovanje i budućnost poštanskih usluga palić 2016Lidija gligorić elektronsko poslovanje i budućnost poštanskih usluga palić 2016
Lidija gligorić elektronsko poslovanje i budućnost poštanskih usluga palić 2016
 
Italy and the F-35: Secretary Wynne Visits the FACO
Italy and the F-35: Secretary Wynne Visits the FACOItaly and the F-35: Secretary Wynne Visits the FACO
Italy and the F-35: Secretary Wynne Visits the FACO
 
Perspective of Airbus Defence and Space on Services Market, June 2016
Perspective of Airbus Defence and Space on Services Market, June 2016Perspective of Airbus Defence and Space on Services Market, June 2016
Perspective of Airbus Defence and Space on Services Market, June 2016
 
O Egito Antigo - 3500aC - 2005dC
O Egito Antigo - 3500aC - 2005dCO Egito Antigo - 3500aC - 2005dC
O Egito Antigo - 3500aC - 2005dC
 
Patología Ginecológica
Patología GinecológicaPatología Ginecológica
Patología Ginecológica
 
Infecciones de transmision sexual
Infecciones de transmision sexualInfecciones de transmision sexual
Infecciones de transmision sexual
 
Shock Cardiogenico Prxt
Shock Cardiogenico PrxtShock Cardiogenico Prxt
Shock Cardiogenico Prxt
 

Semelhante a Безопасность в Интернете

Решения Cisco для защиты персональных данных
Решения Cisco для защиты персональных данныхРешения Cisco для защиты персональных данных
Решения Cisco для защиты персональных данных
Cisco Russia
 
Решения Cisco для защиты государственных информационных систем
Решения Cisco для защиты государственных информационных системРешения Cisco для защиты государственных информационных систем
Решения Cisco для защиты государственных информационных систем
Cisco Russia
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
tanya197517
 
Проблемы при подключении к сетям общего пользования
Проблемы при подключении к сетям общего пользованияПроблемы при подключении к сетям общего пользования
Проблемы при подключении к сетям общего пользования
Alexander Dorofeev
 
Решения Cisco по защите автоматизированных систем управления технологическими...
Решения Cisco по защите автоматизированных систем управления технологическими...Решения Cisco по защите автоматизированных систем управления технологическими...
Решения Cisco по защите автоматизированных систем управления технологическими...
Cisco Russia
 
Политика информационной безопасности: как сделать правильно и полезно
Политика информационной безопасности: как сделать правильно и полезноПолитика информационной безопасности: как сделать правильно и полезно
Политика информационной безопасности: как сделать правильно и полезно
Алексей Волков
 
Информационная безопасность
Информационная безопасностьИнформационная безопасность
Информационная безопасность
Datamodel
 
презентация на тему «защита информации»
презентация на тему «защита информации»презентация на тему «защита информации»
презентация на тему «защита информации»
Yanatr
 
Астерит: ИБ это не продукт, а процесс
Астерит: ИБ это не продукт, а процессАстерит: ИБ это не продукт, а процесс
Астерит: ИБ это не продукт, а процесс
Expolink
 

Semelhante a Безопасность в Интернете (20)

Решения Cisco для защиты персональных данных
Решения Cisco для защиты персональных данныхРешения Cisco для защиты персональных данных
Решения Cisco для защиты персональных данных
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
Оценка защищенности информационных систем, использующих средства криптографич...
Оценка защищенности информационных систем, использующих средства криптографич...Оценка защищенности информационных систем, использующих средства криптографич...
Оценка защищенности информационных систем, использующих средства криптографич...
 
Современные средства обеспечения кибербезопасности АСУ ТП
Современные средства обеспечения кибербезопасности АСУ ТПСовременные средства обеспечения кибербезопасности АСУ ТП
Современные средства обеспечения кибербезопасности АСУ ТП
 
Информационная безопасность. Лекция 1. Основы ИБ и принципы построения СОИБ.
Информационная безопасность. Лекция 1. Основы ИБ и принципы построения СОИБ.Информационная безопасность. Лекция 1. Основы ИБ и принципы построения СОИБ.
Информационная безопасность. Лекция 1. Основы ИБ и принципы построения СОИБ.
 
InfoWatch
InfoWatchInfoWatch
InfoWatch
 
Решения Cisco для защиты государственных информационных систем
Решения Cisco для защиты государственных информационных системРешения Cisco для защиты государственных информационных систем
Решения Cisco для защиты государственных информационных систем
 
дипломная презентация по инфорационной безопасности
дипломная презентация по инфорационной безопасностидипломная презентация по инфорационной безопасности
дипломная презентация по инфорационной безопасности
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
Проблемы при подключении к сетям общего пользования
Проблемы при подключении к сетям общего пользованияПроблемы при подключении к сетям общего пользования
Проблемы при подключении к сетям общего пользования
 
Cовременные угрозы ИБ в корпоративной инфраструктуре и технологии противодейс...
Cовременные угрозы ИБ в корпоративной инфраструктуре и технологии противодейс...Cовременные угрозы ИБ в корпоративной инфраструктуре и технологии противодейс...
Cовременные угрозы ИБ в корпоративной инфраструктуре и технологии противодейс...
 
Решения Cisco по защите автоматизированных систем управления технологическими...
Решения Cisco по защите автоматизированных систем управления технологическими...Решения Cisco по защите автоматизированных систем управления технологическими...
Решения Cisco по защите автоматизированных систем управления технологическими...
 
КВО ТЭК - Обоснованные требования регулятора
КВО ТЭК - Обоснованные требования регулятораКВО ТЭК - Обоснованные требования регулятора
КВО ТЭК - Обоснованные требования регулятора
 
Решения Cisco для обеспечения соответствия требования регуляторов по безопасн...
Решения Cisco для обеспечения соответствия требования регуляторов по безопасн...Решения Cisco для обеспечения соответствия требования регуляторов по безопасн...
Решения Cisco для обеспечения соответствия требования регуляторов по безопасн...
 
Политика информационной безопасности: как сделать правильно и полезно
Политика информационной безопасности: как сделать правильно и полезноПолитика информационной безопасности: как сделать правильно и полезно
Политика информационной безопасности: как сделать правильно и полезно
 
Информационная безопасность
Информационная безопасностьИнформационная безопасность
Информационная безопасность
 
презентация на тему «защита информации»
презентация на тему «защита информации»презентация на тему «защита информации»
презентация на тему «защита информации»
 
Inforomation security Basic presentation .pptx
Inforomation security Basic presentation .pptxInforomation security Basic presentation .pptx
Inforomation security Basic presentation .pptx
 
Астерит: ИБ это не продукт, а процесс
Астерит: ИБ это не продукт, а процессАстерит: ИБ это не продукт, а процесс
Астерит: ИБ это не продукт, а процесс
 

Mais de Matevosyan Artur

Mais de Matevosyan Artur (13)

ресурсы для бесплатного образования
ресурсы для бесплатного образованияресурсы для бесплатного образования
ресурсы для бесплатного образования
 
бесценный+список+ссылок+электронных+библиотек+в+интернете
бесценный+список+ссылок+электронных+библиотек+в+интернетебесценный+список+ссылок+электронных+библиотек+в+интернете
бесценный+список+ссылок+электронных+библиотек+в+интернете
 
21 priem povisheniya produktivnosti
21 priem povisheniya produktivnosti21 priem povisheniya produktivnosti
21 priem povisheniya produktivnosti
 
Шпаргалка по новым технологиям в образовании
Шпаргалка по новым технологиям в образованииШпаргалка по новым технологиям в образовании
Шпаргалка по новым технологиям в образовании
 
Бесплатное ПО
Бесплатное ПОБесплатное ПО
Бесплатное ПО
 
Внутренняя сеть БГПУ
Внутренняя сеть БГПУВнутренняя сеть БГПУ
Внутренняя сеть БГПУ
 
Чаты, форумы, блоги
Чаты, форумы, блогиЧаты, форумы, блоги
Чаты, форумы, блоги
 
Методы подключения к глобальной сети интернет
Методы подключения к глобальной сети интернетМетоды подключения к глобальной сети интернет
Методы подключения к глобальной сети интернет
 
Сервисы и технологии Интернет WEB 2.0
Сервисы и технологии Интернет WEB 2.0Сервисы и технологии Интернет WEB 2.0
Сервисы и технологии Интернет WEB 2.0
 
Возможности использования технологий Web 2.0 в образовательном учреждении
Возможности использования технологий Web 2.0 в образовательном учрежденииВозможности использования технологий Web 2.0 в образовательном учреждении
Возможности использования технологий Web 2.0 в образовательном учреждении
 
Web browser 2015
Web browser 2015Web browser 2015
Web browser 2015
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Instant Messengers
Instant MessengersInstant Messengers
Instant Messengers
 

Безопасность в Интернете

  • 1. Современные веб-технологии Безопасность в Веб-разработке 1. Безопасность в Интернете 1.1. Информационная безопасность Интернет теперь доступен едва ли не каждому. Многие хранят свою личную информацию в Сети, пользуются системами Интернет-банкинга, оплачивают услуги сотовой связи, зарабатывают деньги в Интернете. Однако вместе с колоссальным ростом популярности Интернета возникает беспрецедентная угроза разглашения персональных данных, критически важных корпоративных ресурсов, государственных тайн и т.д. Каждый день хакеры подвергают угрозе эти ресурсы, пытаясь получить к ним доступ с помощью специальных атак. Эти атаки становятся все более изощренными и простыми в исполнении. Этому способствуют два основных фактора. Во- первых, это повсеместное проникновение интернета. Во-вторых, это всеобщее распространение простых в использовании операционных систем и сред разработки. Приведем несколько определений: Безопасность информации (данных) – состояние защищенности информации (данных), при котором обеспечены ее (их) конфиденциальность, доступность и целостность. Информационная безопасность – защита конфиденциальности, целостности и доступности информации. В качестве стандартной модели безопасности часто приводят модель из трех категорий: конфиденциальность (confidentiality) – состояние информации, при котором доступ к ней осуществляют только субъекты, имеющие на него право; целостность (integrity) – избежание несанкционированной модификации информации; доступность (availability) – избежание временного или постоянного сокрытия информации от пользователей, получивших права доступа. Выделяют и другие не всегда обязательные категории модели безопасности: неотказуемость или апеллируемость (non-repudiation) – невозможность отказа от авторства; подотчетность (accountability) – обеспечение идентификации субъекта доступа и регистрации его действий; достоверность (reliability) – свойство соответствия предусмотренному поведению или результату; аутентичность или подлинность (authenticity) – свойство, гарантирующее, что субъект или ресурс идентичны заявленным. Точками приложения процесса защиты информации к информационной системе являются аппаратное обеспечение, программное обеспечение и обеспечение связи (коммуникации) (рис.). Сами процедуры (механизмы) защиты разделяются на защиту физического уровня, защиту персонала и организационный уровень.
  • 2. Рис. Точки приложения процесса защиты информации к информационной системе Системный подход к описанию информационной безопасности предлагает выделить следующие составляющие информационной безопасности: 1. законодательная, нормативно-правовая и научная база; 2. структура и задачи органов (подразделений), обеспечивающих безопасность ИТ; 3. организационно-технические и режимные меры и методы (Политика информационной безопасности); 4. программно-технические способы и средства обеспечения информационной безопасности. Законодательная, нормативно-правовая и научная база В Российской Федерации к нормативно-правовым актам в области информационной безопасности относятся: Акты федерального законодательства: o Международные договоры РФ; o Конституция РФ; o Законы федерального уровня (включая федеральные конституционные законы, кодексы); o Указы Президента РФ; o Постановления правительства РФ; o Нормативные правовые акты федеральных министерств и ведомств; o Нормативные правовые акты субъектов РФ, органов местного самоуправления и т. д. К нормативно-методическим документам можно отнести Методические документы государственных органов России: o Доктрина информационной безопасности РФ; o Руководящие документы ФСТЭК (Гостехкомиссии России); o Приказы ФСБ; Стандарты информационной безопасности, из которых выделяют: o Международные стандарты; o Государственные (национальные) стандарты РФ; o Рекомендации по стандартизации;
  • 3. o Методические указания. Организационно-технические и режимные меры и методы Для описания технологии защиты информации конкретной информационной системы обычно строится так называемая "Политика информационной безопасности" или "Политика безопасности рассматриваемой информационной системы". Приведем несколько определений: Политика безопасности (информации в организации) (Organizational security policy) – совокупность документированных правил, процедур, практических приемов или руководящих принципов в области безопасности информации, которыми руководствуется организация в своей деятельности. Политика безопасности информационно-телекоммуникационных технологий (ІСТ security policy) – правила, директивы, сложившаяся практика, которые определяют, как в пределах организации и ее информационно-телекоммуникационных технологий управлять, защищать и распределять активы, в том числе критичную информацию. Для построения Политики информационной безопасности рекомендуется отдельно рассматривать следующие направления защиты информационной системы: защита объектов информационной системы; защита процессов, процедур и программ обработки информации; защита каналов связи; подавление побочных электромагнитных излучений; управление системой защиты. При этом по каждому из перечисленных выше направлений "Политика информационной безопасности" должна описывать следующие этапы создания средств защиты информации: 1. определение информационных и технических ресурсов, подлежащих защите; 2. выявление полного множества потенциально возможных угроз и каналов утечки информации; 3. проведение оценки уязвимости и рисков информации при имеющемся множестве угроз и каналов утечки; 4. определение требований к системе защиты; 5. осуществление выбора средств защиты информации и их характеристик; 6. внедрение и организация использования выбранных мер, способов и средств защиты; 7. осуществление контроля целостности и управление системой защиты. Политика информационной безопасности оформляется в виде документированных требований на информационную систему. Документы обычно разделяют по уровням описания (детализации) процесса защиты. Документы верхнего уровня "Политики информационной безопасности" отражают позицию организации к деятельности в области защиты информации, ее стремление соответствовать государственным, международным требованиям и стандартам в этой области. Подобные документы могут называться "Концепция ИБ", "Регламент управления ИБ", "Политика ИБ", "Технический стандарт ИБ" и т. п. Область распространения документов верхнего уровня обычно не ограничивается, однако данные документы могут выпускаться и в двух редакциях – для внешнего и внутреннего использования.
  • 4. Согласно ГОСТ Р ИСО/МЭК 17799—2005, на верхнем уровне "Политики информационной безопасности" должны быть оформлены следующие документы: "Концепция обеспечения ИБ", "Правила допустимого использования ресурсов информационной системы", "План обеспечения непрерывности бизнеса". К среднему уровню относят документы, касающиеся отдельных аспектов информационной безопасности. Это требования на создание и эксплуатацию средств защиты информации, организацию информационных и бизнес-процессов организации по конкретному направлению защиты информации. Например: Безопасности данных, Безопасности коммуникаций, Использования средств криптографической защиты, Контентная фильтрация и т. п. Подобные документы обычно издаются в виде внутренних технических и организационных политик (стандартов) организации. Все документы среднего уровня политики информационной безопасности конфиденциальны. В политику информационной безопасности нижнего уровня входят регламенты работ, руководства по администрированию, инструкции по эксплуатации отдельных сервисов информационной безопасности. Программно-технические способы и средства обеспечения информационной безопасности В литературе предлагается следующая классификация средств защиты информации: Средства защиты от несанкционированного доступа (НСД): o средства авторизации; o мандатное управление доступом; o избирательное управление доступом; o управление доступом на основе ролей; o журналирование (так же называется Аудит); Системы анализа и моделирования информационных потоков (CASE-системы); Системы мониторинга сетей: o системы обнаружения и предотвращения вторжений (IDS/IPS); o системы предотвращения утечек конфиденциальной информации (DLP-системы); Анализаторы протоколов; Антивирусные средства; Межсетевые экраны; Криптографические средства: o шифрование; o цифровая подпись; Системы резервного копирования; Системы бесперебойного питания: o источники бесперебойного питания; o резервирование нагрузки; o генераторы напряжения; Системы аутентификации: o пароль; o сертификат; o биометрия; Средства предотвращения взлома корпусов и краж оборудования; Средства контроля доступа в помещения; Инструментальные средства анализа систем защиты: o мониторинговый программный продукт. 1.2. Виды угроз и способы борьбы с ними
  • 5. Сетевые атаки столь же разнообразны, как и системы, против которых они направлены. Некоторые атаки отличаются большой сложностью. Другие может осуществить обычный оператор, даже не предполагающий, какие последствия может иметь его деятельность. Для оценки типов атак необходимо знать некоторые ограничения, изначально присущие протоколу TPC/IP. Сеть Интернет создавалась для связи между государственными учреждениями и университетами в помощь учебному процессу и научным исследованиям. Создатели этой сети не подозревали, насколько широко она распространится. В результате, в спецификациях ранних версий интернет-протокола (IP) отсутствовали требования безопасности. Именно поэтому многие реализации IP являются изначально уязвимыми. Через много лет, получив множество рекламаций (RFC – Request for Comments), наконец, стали внедряться средства безопасности для IP. Однако ввиду того, что изначально средства защиты для протокола IP не разрабатывались, все его реализации стали дополняться разнообразными сетевыми процедурами, услугами и продуктами, снижающими риски, присущие этому протоколу. Далее кратко обсудим классификацию типов атак, которые обычно применяются в Интернете, и перечислим способы борьбы с ними. 1.2.1. Аутентификация (Authentication) Раздел, посвященный аутентификации описывает атаки, направленные на используемые Веб- приложением методы проверки идентификатора пользователя, службы или приложения. 1.2.1.1. Подбор (Brute Force) Описание Подбор – автоматизированный процесс проб и ошибок, использующийся для того, чтобы угадать имя пользователя, пароль, номер кредитной карточки, ключ шифрования и т.д. Существует два вида подбора: прямой и обратный. При прямом подборе используются различные варианты пароля для одного имени пользователя. При обратном перебираются различные имена пользователей, а пароль остается неизменным. Решение Традиционным методом борьбы с подбором пароля является, ограничение на количество ошибочных вводов пароля. Существует множество вариантов реализаций этой идеи, от самых простых – статическое ограничение, например не более трех ошибок, до сложно реализованных динамических, с увеличивающимся промежутком времени запрета между запросами. 1.2.1.2. Недостаточная аутентификация (Insufficient Authentication) Описание Эта уязвимость возникает, когда Веб-сервер позволяет атакующему получать доступ к важной информации или функциям сервера без должной аутентификации. Интерфейсы администрирования через Веб – яркий пример критичных систем. В зависимости от специфики приложения, подобные компоненты не должны быть доступны без должной аутентификации. Пример Многие Веб-приложения по умолчанию используют для административного доступа ссылку в корневой директории сервера (/admin/). Обычно ссылка на эту страницу не фигурирует в содержимом сервера, однако страница доступна с помощью стандартного браузера. Поскольку
  • 6. пользователь или разработчик предполагает, что никто не воспользуется этой страницей, так как ссылки на нее отсутствует, зачастую реализацией аутентификации пренебрегают. И для получения контроля над сервером злоумышленнику достаточно зайти на эту страницу. Решение Решение достаточно просто – при входе в администраторскую часть сайта, пользователь обязан провести дополнительную аутентификацию, не смотря на общую на сайте. 1.2.1.3. Небезопасное восстановление паролей (Weak Password Recovery Validation). Описание Эта уязвимость возникает, когда Веб-сервер позволяет атакующему несанкционированно получать, модифицировать или восстанавливать пароли других пользователей. Пример Многие серверы требуют от пользователя указать его email в комбинации с домашним адресом и номером телефона. Эта информация может быть легко получена из сетевых справочников. В результате, данные, используемые для проверки, не являются большим секретом. Кроме того, эта информация может быть получена злоумышленником с использованием других методов, таких как межсайтовое выполнение сценариев или фишинг (phishing). Решение Наиболее эффективным является следующее решение: пользователь нажимает кнопку "Восстановить пароль" и попадает на страницу, где у него спрашивают его логин в системе и почтовый ящик, указанный при регистрации. Далее на почтовый ящик высылается уведомление о запросе восстановления пароля и уникальная псевдослучайно сгенерированная ссылка на страницу смены пароля. В таком случае пароль изменить может действительно только владелец почтового ящика, на который зарегистрирован аккаунт. 1.2.2. Авторизация (Authorization) Данный раздел посвящен атакам, направленным на методы, которые используются Веб- сервером для определения того, имеет ли пользователь, служба или приложение необходимые для совершения действия разрешения. 1.2.2.1. Предсказуемое значение идентификатора сессии (Credential/Session Prediction) Описание Предсказуемое значение идентификатора сессии позволяет перехватывать сессии других пользователей. Подобные атаки выполняются путем предсказания или угадывания уникального идентификатора сессии пользователя. Пример Многие серверы генерируют идентификаторы сессии, используя алгоритмы собственной разработки. Подобные алгоритмы могут просто увеличивать значение идентификатора для каждого запроса пользователя. Другой распространенный вариант – использование функции от текущего времени или других специфичных для компьютера данных.
  • 7. Решение Средствами борьбы являются правильное конфигурирование Веб-сервера, и более надежный способ – создание собственного механизма сессий. 1.2.2.2. Недостаточная авторизация (Insufficient Authorization) Описание Возникает, когда Веб-сервер позволяет атакующему получать доступ к важной информации или функциям, доступ к которым должен быть ограничен. То, что пользователь прошел аутентификацию не означает, что он должен получить доступ ко всем функциям и содержимому сервера. Пример В прошлом многие Веб-серверы сохраняли важные ресурсы в "скрытых" директориях, таких как "/admin" или "/log". Если атакующий запрашивал эти ресурсы напрямую, он получал к ним доступ и мог перенастроить сервер, получить доступ к важной информации либо полностью скомпрометировать систему. Некоторые серверы, после аутентификации, сохраняют в cookie или скрытых полях идентификатор "роли" пользователя в рамках Веб-приложения. Если разграничение доступа основывается на проверке данного параметра без верификации принадлежности к роли при каждом запросе, злоумышленник может повысить свои привилегии, просто модифицировав значение cookie. Решение Методы борьбы – четкое разграничение прав пользователей и их возможностей. 1.2.2.3. Отсутствие таймаута сессии (Insufficient Session Expiration) Описание В случае если для идентификатора сессии или учетных данных не предусмотрен таймаут или его значение слишком велико, злоумышленник может воспользоваться старыми данными для авторизации. Пример При использовании публичного компьютера, когда несколько пользователей имеют неограниченный физический доступ к машине, отсутствие таймаута сессии позволяет злоумышленнику просматривать страницы, посещенные другим пользователем. Решение Метод борьбы – ограничение таймаута сессии. 1.2.2.4. Фиксация сессии (Session Fixation) Описание Используя данный класс атак, злоумышленник присваивает идентификатору сессии
  • 8. пользователя заданное значение. К сожалению, системы, использующие cookie, являются наиболее уязвимыми. Большинство известных на настоящий момент вариантов фиксации сессии направлены именно на значение cookie. В отличие от кражи идентификатора, фиксация сессии предоставляет злоумышленнику гораздо больший простор для творчества. Это связанно с тем, что активная фаза атаки происходит до входа пользователя в систему. 1.2.3. Атаки на клиентов (Client-side Attacks) Этот раздел описывает атаки на пользователей со стороны Веб-сервера. 1.2.3.1. Подмена содержимого (Content Spoofing) Описание Используя эту технику, злоумышленник заставляет пользователя поверить, что страницы сгенерированы Веб-сервером, а не переданы из внешнего источника. Решение Для защиты от данного вида атак нужно лишь отказать от использования фреймов и самое главное никогда не передавать в параметрах абсолютные или локальные пути, к каким бы то ни было файлам. 1.2.3.2. Межсайтовое выполнение сценариев (Cross-site Scripting, XSS) Описание Наличие уязвимости Cross-site Scripting позволяет атакующему передать серверу исполняемый код, который будет перенаправлен браузеру пользователя. Этот код обычно создается на языках HTML/JavaScript, но могут быть использованы VBScript, ActiveX, Java, Flash, или другие поддерживаемые браузером технологии. Переданный код исполняется в контексте безопасности (или зоне безопасности) уязвимого сервера. Используя эти привилегии, код получает возможность читать, модифицировать или передавать важные данные, доступные с помощью браузера. Существует два типа атак, приводящих к межсайтовому выполнению сценариев: постоянные (сохраненные) и непостоянные (отраженные). Основным отличием между ними является то, что в отраженном варианте передача кода серверу и возврат его клиенту осуществляется в рамках одного HTTP-запроса, а в хранимом – в разных. Осуществление непостоянной атаки требует, чтобы пользователь перешел по ссылке, сформированной злоумышленником (ссылка может быть передана по email, ICQ и т.д.). В процессе загрузки сайта код, внедренный в URL или заголовки запроса, будет передан клиенту и выполнен в его браузере. Сохраненная разновидность уязвимости возникает, когда код передается серверу и сохраняется на нем на некоторый промежуток времени. Наиболее популярными целями атак в этом случае являются форумы, почта с Веб-интерфейсом и чаты. Для атаки пользователю не обязательно переходить по ссылке, достаточно посетить уязвимый сайт.
  • 9. Решение На данный момент самый распространенный вид атаки, в связи с ростом популярности Веб 2.0 интернет наполнился различными формами обратной связи, к сожалению многие из них не фильтруются должным образом, особую сложность представляют формы, в которых разрешены некоторые теги или какие-либо конструкции форматирования, защитится же от XSS можно только путем тщательного анализа и фильтрации пришедших в запросах данных. 1.2.3.3. Расщепление HTTP-запроса (HTTP Response Splitting) Описание При использовании данной уязвимости злоумышленник посылает серверу специальным образом сформированный запрос, ответ на который интерпретируется целью атаки как два разных ответа. Второй ответ полностью контролируется злоумышленником, что дает ему возможность подделать ответ сервера. В результате успешной реализации этой атаки злоумышленник может выполнить следующие действия: Межсайтовое выполнение сценариев. Модификация данных кэша сервера-посредника. Межпользовательская атака (один пользователь, одна страница, временная подмена страницы). Перехват страниц, содержащих пользовательские данные. 1.2.4. Выполнение кода (Command Execution) Эта секция описывает атаки, направленные на выполнение кода на Веб-сервере. Все серверы используют данные, преданные пользователем при обработке запросов. Часто эти данные используются при составлении команд, применяемых для генерации динамического содержимого. Если при разработке не учитываются требования безопасности, злоумышленник получает возможность модифицировать исполняемые команды. 1.2.4.1. Переполнение буфера (Buffer Overflow) Описание Эксплуатация переполнения буфера позволяет злоумышленнику изменить путь исполнения программы путем перезаписи данных в памяти системы. Переполнение буфера может вызывать отказы в обслуживании, приводя к повреждению памяти и вызывая ошибки в программах. Более серьезные ситуации позволяют изменить путь исполнения программы и выполнить в ее контексте различные действия. Это может происходить в нескольких случаях. Решение Тщательно проверять входные параметры CGI скриптов написанных на С++ или С, а также позаботится для защиты от атак подобного типа, это своевременное обновление программ серверов, будь-то Веб-Сервер или СУБД. 1.2.4.2. Атака на функции форматирования строк (Format String Attack)
  • 10. Описание При использовании этих атак путь исполнения программы модифицируется методом перезаписи областей памяти с помощью функций форматирования символьных переменных. Уязвимость возникает, когда пользовательские данные применяются в качестве аргументов функций форматирования строк, таких как fprintf, printf, sprintf, setproctitle, syslog и т.д. Решение Не применять передаваемые данные в качестве параметров данных функций, а лучше вообще отказаться от использования этих функций в связи с их потенциальной опасностью. 1.2.4.3. Внедрение операторов LDAP (LDAP Injection) Описание Атаки этого типа направлены на Веб-серверы, создающие запросы к службе LDAP на основе данных, вводимых пользователем. Упрощенный протокол доступа к службе каталога (Lightweight Directory Access Protocol, LDAP) – открытый протокол для создания запросов и управления службами каталога совместимыми со стандартом X.500. Протокол LDAP работает поверх транспортных протоколов Internet (TCP/UDP). Веб-приложение может использовать данные, предоставленные пользователем для создания запросов по протоколу LDAP при генерации динамических Веб-страниц. Если информация, полученная от клиента, должным образом не верифицируется, атакующий получает возможность модифицировать LDAP-запрос. Запрос будет выполняться с тем же уровнем привилегий, с каким работает компонент приложения, выполняющий запрос (сервер СУБД, Веб-сервер и т.д). Если данный компонент имеет права на чтение или модификацию данных в структуре каталога, злоумышленник получает те же возможности. 1.2.4.4. Выполнение команд ОС (OS Commanding) Описание Атаки этого класса направлены на выполнение команд операционной системы на Веб-сервере путем манипуляции входными данными. Если информация, полученная от клиента, должным образом не верифицируется, атакующий получает возможность выполнить команды ОС. Они будут выполняться с тем же уровнем привилегий, с каким работает компонент приложения, выполняющий запрос (сервер СУБД, Веб-сервер и т.д). Решение Решение данной проблемы – правильно настроенный сервер. 1.2.4.5. Внедрение операторов SQL (SQL Injection) Описание Эти атаки направлены на Веб-серверы, создающие SQL запросы к серверам СУБД на основе данных, вводимых пользователем. Если информация, полученная от клиента, должным образом не верифицируется, атакующий получает возможность модифицировать запрос к SQL-серверу, отправляемый приложением. Запрос будет выполняться с тем же уровнем привилегий, с каким работает компонент
  • 11. приложения, выполняющий запрос (сервер СУБД, Веб-сервер и т.д). В результате злоумышленник может получить полный контроль на сервере СУБД и даже его операционной системой. С точки зрения эксплуатации SQL Injection очень походит на LDAP Injection. Решение Еще один из наиболее эксплуатируемых видов атак, средства борьбы – грамотная фильтрация получаемых данных. 1.2.4.6. Внедрение серверных расширений (SSI Injection) Описание Атаки данного класса позволяют злоумышленнику передать исполняемый код, который в дальнейшем будет выполнен на Веб-сервере. Уязвимости, приводящие к возможности осуществления данных атак, обычно заключаются в отсутствии проверки данных, предоставленных пользователем, перед сохранением их в интерпретируемом сервером файле. Перед генерацией HTML страницы сервер может выполнять сценарии, например Server-site Includes (SSI). В некоторых ситуациях исходный код страниц генерируется на основе данных, предоставленных пользователем. Если атакующий передает серверу операторы SSI, он может получить возможность выполнения команд операционной системы или включить в нее запрещенное содержимое при следующем отображении. Решение Противодействие такое же, как и при SQL инъекции. 1.2.4.7. Внедрение операторов XPath (XPath Injection) Описание Эти атаки направлены на Веб-серверы, создающие запросы на языке XPath на основе данных, вводимых пользователем. Язык XPath 1.0 разработан для предоставления возможности обращения к частям документа на языке XML. Он может быть использован непосредственно либо в качестве составной части XSLT-преобразования XML-документов или выполнения запросов XQuery. Решение Противодействие такое же, как и при SQL инъекции. 1.2.5. Разглашение информации (Information Disclosure) Атаки данного класса направлены на получение дополнительной информации о Веб- приложении. Используя эти уязвимости, злоумышленник может определить используемые дистрибутивы ПО, номера версий клиента и сервера и установленные обновления. В других случаях, в утекающей информации может содержаться расположение временных файлов или резервных копий. 1.2.5.1. Индексирование директорий (Directory Indexing)
  • 12. Описание Предоставление списка файлов в директории представляет собой нормальное поведение Веб- сервера, если страница, отображаемая по умолчанию (index.html/home.html/default.htm) отсутствует. В этой ситуации злоумышленник может получить доступ к данным, не предназначенным для свободного доступа. Довольно часто администраторы полагаются на "безопасность через сокрытие", предполагая, что раз гиперссылка на документ отсутствует, то он недоступен. Современные сканеры уязвимостей, такие как Nikto, могут динамически добавлять файлы и папки к списку сканируемых в зависимости от результатов запросов. Используя содержимое /robots.txt или полученного списка директорий сканер может найти спрятанное содержимое или другие файлы. Таким образом, внешне безопасное индексирование директорий может привести к утечке важной информации, которая в дальнейшем будет использована для проведения атак на систему. Решение Решение достаточно просто – все директории должны содержать файл страницы по умолчанию, хотя бы в виде заглушки, либо для директории должны быть установлены надлежащие права доступа. 1.2.5.2. Идентификация приложений (Web Server/Application Fingerprinting) Описание Определение версий приложений используется злоумышленником для получения информации об используемых сервером и клиентом операционных системах, Веб-серверах и браузерах. Также эта атака может быть направлена на другие компоненты Веб-приложения, например, службу каталога или сервер баз данных или используемые технологии программирования. Для определения версий клиентских приложений обычно используется анализ HTTP-запросов (порядок следования заголовков, значение User-agent и т.д.). Однако для этих целей могут применяться и другие техники. Так, например, анализ заголовков почтовых сообщений, созданных с помощью клиента Microsoft Outlook, позволяет определить версию установленного на компьютере браузера Internet Explorer. Решение Что бы защитится от данной ошибки – необходимо минимизировать, а лучше полностью исключить системную информацию выдаваемую пользователю. 1.2.5.3. Утечка информации (Information Leakage) Описание Эти уязвимости возникают в ситуациях, когда сервер публикует важную информацию, например, комментарии разработчиков или сообщения об ошибках, которая может быть использована для компрометации системы. 1.2.5.4. Обратный путь в директориях (Path Traversal)
  • 13. Описание Данная техника атак направлена на получения доступа к файлам, директориям и командам, находящимся вне основной директории Веб-сервера. Злоумышленник может манипулировать параметрами URL с целью получить доступ к файлам или выполнить команды, располагаемые в файловой системе Веб-сервера. Решение Средством противодействия является тщательная настройка Веб-сервера. 1.2.5.5. Предсказуемое расположение ресурсов (Predictable Resource Location) Описание Предсказуемое расположение ресурсов позволяет злоумышленнику получить доступ к скрытым данным или функциональным возможностям. Путем подбора злоумышленник может получить доступ к содержимому, не предназначенному для публичного просмотра. На эту атаку часто ссылаются как на перечисление файлов и директорий (Forced Browsing, File Enumeration, Directory Enumeration). 1.2.6. Логические атаки (Logical Attacks) Атаки данного класса направлены на эксплуатацию функций приложения или логики его функционирования. В качестве примеров можно привести восстановление пролей, регистрацию учетных записей, аукционные торги, транзакции в системах электронной коммерции. Приложение может требовать от пользователя корректного выполнения нескольких последовательных действий для выполнения определенной задачи. Злоумышленник может обойти или использовать эти механизмы в своих целях. 1.2.6.1. Злоупотребление функциональными возможностями (Abuse of Functionality) Описание Данные атаки направлены на использование функций Веб-приложения с целью обхода механизмов разграничение доступа. Некоторые механизмы Веб-приложения, включая функции обеспечения безопасности, могут быть использованы для этих целей. Наличие уязвимости в одном из, возможно, второстепенных компонентов приложения может привести к компрометации всего приложения. Уровень риска и потенциальные возможности злоумышленника в случае проведения атаки очень сильно зависят от конкретного приложения. Пример Примеры злоупотребления функциональными возможностями включают в себя: использования функций поиска для получения доступа к файлам за пределами корневой директории Веб-сервера; использование функции загрузки файлов на сервер для перезаписи файлов конфигурации или внедрения серверных сценариев; реализация отказа в обслуживании путем использования функции блокировки учетной записи при многократном вводе неправильного пароля. 1.2.6.2. Отказ в обслуживании (Denial of Service)
  • 14. Описание Данный класс атак направлен на нарушение доступности Веб-сервера. Обычно атаки, направленные на отказ в обслуживании реализуются на сетевом уровне, однако они могут быть направлены и на прикладной уровень. Используя функции Веб-приложения, злоумышленник может исчерпать критичные ресурсы системы, или воспользоваться уязвимостью, приводящий к прекращению функционирования системы. Обычно DoS атаки направлены на исчерпание критичных системных ресурсов, таких как вычислительные мощности, оперативная память, дисковое пространство или пропускная способность каналов связи. Если какой-то из ресурсов достигнет максимальной загрузки, приложение целиком будет недоступно. Атаки могут быть направлены на любой из компонентов Веб-приложения, например, такие как сервер СУБД, сервер аутентификации и т.д. Решение Очень распространенный вид атак, средствами защиты является, оптимизация кода, и, что более действенно при наличии у злоумышленника неких мощностей, ввод ограничений на количество посылаемых данных в единицу времени. 1.2.6.3. Недостаточное противодействие автоматизации (Insufficient Anti-automation) Описание Недостаточное противодействие автоматизации возникает, когда сервер позволяет автоматически выполнять операции, которые должны проводиться вручную. Автоматизированные программы могут варьироваться от безобидных роботов поисковых систем до систем автоматизированного поиска уязвимостей и регистрации учетных записей. Подобные роботы генерируют тысячи запросов в минуту, что может привести к падению производительности всего приложения. Решение Противодействие автоматизации заключается в ограничении возможностей подобных утилит. Например, файл "robots" может предотвращать индексирование некоторых частей сервера, а дополнительные средства идентификации предотвращать автоматическую регистрацию сотен учетных записей системы электронной почты. Стандартным средство борьбы с роботами сейчас является CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart). 1.2.6.4. Недостаточная проверка процесса (Insufficient Process Validation) Описание Уязвимости этого класса возникают, когда сервер не достаточно проверяет последовательность выполнения операций приложения. Если состояние сессии пользователя и приложения должным образом не контролируется, приложение может быть уязвимо для мошеннических действий. Пример
  • 15. Система электронной торговли может предлагать скидку на продукт B, в случае покупки продукта A. Пользователь, не желающий покупать продукт A, может попытаться приобрести продукт B со скидкой. Заполнив заказ на покупку обоих продуктов, пользователь получат скидку. Затем пользователь возвращается к форме подтверждения заказа и удаляет продукт A из покупаемых, путем модификации значений в форме. Если сервер повторно не проверит возможность покупки продукта B по указанной цене без продукта A, будет осуществлена закупка по низкой цене. Решение Для обеспечения корректной работы подобных функций Веб-приложение должно четко отслеживать состояние сессии пользователя и отслеживать ее соответствие текущим операциям. В большинстве случаев это осуществляется путем сохранения состояния сессии в cookie или скрытом поле формы HTML. Но поскольку эти значения могут быть модифицированы пользователем, обязательно должна проводиться проверка этих значений на сервере. Если этого не происходит, злоумышленник получает возможность обойти последовательность действий, и как следствие – логику приложения. 1.2.7. Вирусы и приложения типа "троянский конь" Описание Рабочие станции конечных пользователей очень уязвимы для вирусов и троянских коней. Вирусами называются вредоносные программы, которые внедряются в другие программы для выполнения определенной нежелательной функции на рабочей станции конечного пользователя. В качестве примера можно привести вирус, который прописывается в файле command.com (главном интерпретаторе систем Windows) и стирает другие файлы, а также заражает все другие найденные им версии command.com. "Троянский конь" – это не программная вставка, а настоящая программа, которая выглядит как полезное приложение, а на деле выполняет вредную роль. Примером типичного "троянского коня" является программа, которая выглядит, как простая игра для рабочей станции пользователя. Однако пока пользователь играет в игру, программа отправляет свою копию по электронной почте каждому абоненту, занесенному в адресную книгу этого пользователя. Все абоненты получают по почте игру, вызывая ее дальнейшее распространение. Решение Борьба с вирусами и "троянскими конями" ведется с помощью эффективного антивирусного программного обеспечения, работающего на пользовательском уровне и, возможно, на уровне сети. Антивирусные средства обнаруживают большинство вирусов и "троянских коней" и пресекают их распространение. Получение самой свежей информации о вирусах поможет эффективнее бороться с ними. По мере появления новых вирусов и "троянских коней" предприятие должно устанавливать новые версии антивирусных средств и приложений. 1.3. Ключевые термины Безопасность информации, Информационная безопасность, Политика безопасности, Политика безопасности информационно-телекоммуникационных технологий, Средства защиты от несанкционированного доступа, Системы мониторинга сетей, Анализаторы протоколов, Антивирусные средства, Межсетевые экраны, Криптографические средства, Системы аутентификации, Сетевые атаки. 2. XSS Filter
  • 16. 2.1. Общее описание XSS (Сross Site Sсriрting – "межсайтовый скриптинг") – тип уязвимости интерактивных информационных систем в Интернете. XSS возникает, когда в генерируемые сервером страницы по какой-то причине попадают пользовательские скрипты. Специфика подобных атак заключается в том, что вместо непосредственной атаки сервера они используют уязвимый сервер в качестве средства атаки на клиента. Поскольку XSS относятся к классу атак, направленных на клиента (т.е. на браузер пользователя), логичным является решение сконцентрировать защитные механизмы, противодействующие атаке, также на стороне клиента. Так в новой версии Internet Explorer 8 появился XSS-фильтр, который делает реализацию XSS- атаки в нем намного более сложной задачей для злоумышленника. Архитектура XSS Filter в Internet Explorer 8 показана на рис. Рис. Архитектура XSS Filter в Internet Explorer 8 XSS-фильтр работает как компонент IE8, который просматривает все запросы и ответы, проходящие через браузер. Когда фильтр обнаруживает XSS в межсайтовом запросе, он нейтрализует атаку, если она зависит от ответа сервера. Как можно понять, есть множество сценариев, которые фильтр должен обрабатывать правильно. Вот некоторые из них: фильтр должен быть эффективен, даже если атака направлена на артефакт часто используемых рабочих сред веб-приложений; при фильтрации наш код не должен предоставить новый сценарий для атаки, которая бы отличалась от существующей; фильтр должен эффективно бороться со всеми векторами XSS-атак, которые еще не были закрыты другими способами сокращения поверхности для XSS-атаки. 2.2. Исследование эффективности XSS Filter Большинство исследователей выделяет три типа уязвимостей и атак, связанных с XSS:
  • 17. постоянные (сохраненные, persistent, stored, Type-2), непостоянные (отраженные, non-persistent, reflected, Type-1) и DOM-based XSS (Type-3). Основным отличием между ними заключается в том, что в отраженном варианте передача кода серверу и возврат его клиенту осуществляется в рамках одного HTTP-запроса, а в сохраненном – может происходить и в разных запросах. Осуществление непостоянной атаки требует, чтобы пользователь перешел по ссылке, сформированной злоумышленником (ссылка может быть передана по email, ICQ и т.д.). В процессе загрузки сайта код, внедренный в URL или в заголовки запроса, будет передан клиенту и выполнен в его браузере. Сохраненная разновидность уязвимости возникает, когда код передается серверу и сохраняется на нем на некоторый промежуток времени. Наиболее п опулярными целями атак в этом случае являются форумы, почта с Веб-интерфейсом и чаты. Для атаки пользователю не обязательно переходить по ссылке, достаточно посетить уязвимый сайт. Третий тип XSS (DOM-based) может присутствовать как в сохраненном, так и в отраженном варианте, но выделяется тем, что внедрение кода осуществляется с использованием AJAX-технологий (например, JavaScript document.write и т.д.). 2.2.1. Сохраненный вариант Согласно логике работы, клиентский фильтр Internet Explorer не может противостоять сохраненному варианту атаки. Это связанно с тем, что фильтр работает на основе сравнения данных, переданных в запросе, и возвращенной страницы. Поскольку эксплуатация сохраненного варианта может происходить в разных сессиях запрос-ответ, пользователи остаются уязвимы для данного типа атак. Эксперименты показали, что даже в случае сохраненного варианта атаки, фильтр Internet Explorer может заблокировать выполнения атаки в первой паре запрос-ответ (например, при создании сообщения в форуме). Однако все последующие запросы (например, просмотр форума), а, соответственно, и атаки проходят успешно. 2.2.2. DOM-based XSS DOM-based XSS уязвимость данного типа возникает, когда внедрение кода динамически осуществляется с использованием Javascript и AJAX-технологий. Эксперименты показали, что фильтр XSS в Intenet Explorer 8 реализует защиту от большинства сценариев данного типа атак, но в некоторых случаях логику фильтра можно обойти. Примерами являются операторы выполнения скриптов напрямую (eval), изменение URL документа (document.location) и т.д. В других распространенных случаях, когда Javascript используется для записи в код HTML- страницы или изменения DOM-объектов напрямую, атака блокируется фильтром. 2.2.3. Отраженный вариант Можно выделить четыре основных ситуации, в которых возможен отраженный вариант атаки Межсайтовое выполнение сценариев: внедрение кода в Javascript; внедрение кода в тег; внедрение кода в параметр тега; внедрение кода в HTML. 2.2.4. Заключение Исследование механизма противодействия атакам "Межсайтовое выполнение сценариев", встроенного в браузер Internet Explorer 8, показало, что подход защиты от Cross-Site Scripting на стороне клиента может быть достаточно эффективным в борьбе с отраженным вариантом XSS.
  • 18. К сожалению, решить проблему с сохраненным типом атаки лишь на стороне клиента в настоящее время не представляется возможным (отключение Javascript и прочих активных объектов – это не решение проблемы), поэтому это тема лежит за рамками поддерживаемого функционала XSS-фильтра в IE8. Кроме того, не поддерживается фильтрация некоторых DOM- based атак, которые весьма актуальны в современном мире AJAX и Веб 2.0. Неплохим расширением функций фильтра была бы фильтрация атак типа HTTP Response Splitting, что позволило бы избежать некоторых методов обхода фильтра. Учитывая, что отраженный вариант XSS является самым распространенным типом уязвимостей этого типа, возможности Internet Explorer позволяют значительно снизить количество успешных атак с использованием данного вектора. 2.3. Ключевые термины XSS, Сross Site Sсriрting, XSS Filter. 3. SmartScreen Filter 3.1. Общие сведения Фишинг (phishing, от fishing – рыбная ловля, выуживание) – вид интернет-мошенничества, целью которого является получение доступа к конфиденциальным данным пользователей – логинам и паролям. Это достигается путѐм проведения массовых рассылок электронных писем от имени популярных брендов, а также личных сообщений внутри различных сервисов, например, от имени банков (Ситибанк, Альфа-банк), сервисов (Rambler, Mail.ru) или внутри социальных сетей (Facebook, Вконтакте). В письме часто содержится прямая ссылка на сайт, внешне неотличимый от настоящего, либо на сайт с редиректом. Оказавшись на таком сайте, пользователь может сообщить мошенникам ценную информацию, позволяющую получить доступ к аккаунтам и банковским счетам. Фишинг – одна из разновидностей социальной инженерии, основанная на незнании пользователями основ сетевой безопасности: в частности, многие не знают простого факта: сервисы не рассылают писем с просьбами сообщить свои учѐтные данные, пароль и прочее. В Internet Explorer 7 компания Microsoft представили фильтр фишинга, который предупреждает пользователя при попытке посетить сайт, находящийся в так называемом "черном списке". На основе успеха фильтра, который блокирует миллион фишинговых атак еженедельно, для Internet Explorer 8 Microsoft разработали фильтр SmartScreen, который впитал в себя сам фишинг-фильтр, а также ряд новых особенностей: Улучшенный пользовательский интерфейс. По умолчанию страница имеет всего одну ссылку – "Вместо этого перейти на домашнюю страницу". Данное решение облегчает принятие очевидного решения, не предоставляя пользователю выбора из нескольких вариантов. Заинтересованные могут щелкнуть по ссылке дополнительной информации. Также пользователь может проигнорировать предупреждение фильтра SmartScreen и щелкнуть по ссылке "Отказаться и продолжить". Администраторы домена также могут использовать групповые политики, чтобы убрать ссылку "Отказаться и продолжить" и в принудительном порядке запретить
  • 19. пользователям переход на сайты, заблокированные фильтром SmartScreen. Если пользователь обнаружил новый фишинг-сайт, он может добавить его для анализа через функцию "Сообщить о небезопасном веб-сайте" в меню Сервис. Улучшенная производительность. Обнаружение небезопасных сайтов происходит параллельно с перемещением, следовательно, пользователь может конфиденциально ходить по сайтам, не ища компромисса между производительностью и безопасностью. Новые эвристики и усиленная телеметрия. Новые эвристики способны оценить больше аспектов каждой веб-страницы и с большей долей вероятности обнаружить подозрительное поведение. Эти новые эвристики в сочетании с улучшенной телеметрией позволяют сервису URL-репутаций идентифицировать и блокировать фишинговые сайты быстрее, чем раньше. В редких случаях SmartScreen запросит обратную связь на сайте с сомнительной репутацией. Поддержка анти-Malware. SmartScreen-фильтр помогает блокировать сайты, которые распространяют вредоносные программы и другое опасное ПО, которое пытается атаковать компьютер пользователя и украсть личную информацию. Существуют множество видов вредоносного ПО, при этом большинство из подобных программ могут значительно влиять на пользовательскую конфиденциальность и безопасность. SmartScreen анти-malware основано на URL- репутации – это означает, что он оценивает серверы, ответственные за загрузки и определяет, числятся ли они в списках распространителей небезопасного содержимого. Основанный на репутации, SmartScreen-анализ действует слажено с другими анти- malware технологиями как Malicious Software Removal Tool, Windows Defender и Windows Live OneCare, для предоставления исчерпывающей защиты от вредоносного ПО. Если попал на сайт с вредоносным ПО, SmartScreen заблокирует страницу и проинформирует пользователя о небезопасном ПО. С другой стороны, если пользователь пройдет по прямой ссылке для загрузки, расположенной на уже известном системе опасном сайте, диалог загрузки Internet Explorer прервет закачку для предупреждения пользователя. Улучшенная поддержка групповой политики. Групповая политика может быть использована для включения или отключения SmartScreen-фильтра для пользователей Internet Explorer в контроллере домена Windows. Возможность групповой политики позволяет администраторам домена запрещать пользователям отвергать предупреждения SmartScreen-фильтра. Когда ограничения групповой политики включены, пункт отказа от предупреждения SmartScreen-фильтра отсутствует на странице блокировки и в окне загрузки. Атаки вредоносного ПО в браузере. На сегодняшний день существует два способа, которые могут использовать вредоносные сайты для заражения компьютера. Первый способ – использование уязвимостей браузера
  • 20. для автоматической установки вредоносной программы без участия пользователя, также известный как drive-by download. А второй – привлечь или обмануть пользователя, заставив скачать и установить программу, которая является вредоносной, как было уже приведено в примере выше. Для полной безопасности мы должны защищать пользователя от обоих типов атак. Несколько дополнительных функций IE8 и Windows Vista (Windows 7) помогают защититься от drive-by download атак, которые пытаются запуститься без согласия или уведомления пользователя. В этот список входит защита памяти DEP/NX, улучшения в безопасности ActiveX, а также User Account Control в сочетании с Protected Mode в IE. Но ни один из этих механизмов не может защитить пользователя от программы, которую он самостоятельно загрузил и запустил. И здесь важное место занимает фильтр SmartScreen. 3.2. Ключевые термины Фишинг, SmartScreen Filter. 4. Data Execution Prevention 4.1. Общие сведения Data Execution Prevention (DEP) (Предотвращение выполнения данных) – функция безопасности, встроенная в семейство операционных систем Windows, которая не позволяет приложению исполнять код из области памяти, помеченной как "только для данных". Она позволит предотвратить некоторые атаки, которые, например, сохраняют код в такой области с помощью переполнения буфера. DEP работает в двух режимах: аппаратном, для процессоров, которые могут помечать страницы как "не для исполнения кода", и программном, для остальных процессоров. Эта функция впервые появилась во втором пакете обновлений для Windows XP. DEP помогает избежать атак путем предотвращения запуска кода, размещенного в участке памяти, помеченном как неисполняемый. DEP в комбинации с другими технологиями, как ASLR, делает процесс использования взломщиками разнообразных уязвимостей, связанных с памятью (например, переполнение буфера) намного более сложным. Лучше всего данная технология работает для Internet Explorer и для загружаемых аддонов. Для обеспечения всех этих функций безопасности от пользователя не требуется никаких дополнительных действий и никаких запросов ему показано не будет. Увидеть, какие именно процессы в Windows Vista защищены DEP, можно увидеть во вкладке диспетчера задач. Для более ранних версий Windows можно использовать Process Explorer. В обоих случаях необходимо отметить опцию Data Execution Prevention в выборе отображаемых колонок. 4.2. Ключевые термины Data Execution Prevention. 5. HTTPS 5.1. SSL SSL (Secure Sockets Layer, уровень защищенных сокетов) – криптографический протокол,
  • 21. который обеспечивает установление безопасного соединения между клиентом и сервером. Протокол обеспечивает конфиденциальность обмена данными между клиентом и сервером, использующими TCP/IP, причем для шифрования используется асимметричный алгоритм с открытым ключом. При шифровании с открытым ключом используется два ключа, причем любой из них может использоваться для шифрования сообщения. Тем самым, если мы используем один ключ для шифрования, то соответственно для расшифровки нужно использовать другой ключ. В такой ситуации мы можем получать защищенные сообщения, публикуя открытый ключ, и храня в тайне секретный ключ. Протокол SSL состоит из двух под-протоколов: протокол SSL записи и рукопожатия. Протокол SSL записи определяет формат, используемый для передачи данных. Протокол SSL включает рукопожатие с использованием протокола SSL записи для обмена сериями сообщений между сервером и клиентом, во время установления первого соединения. Для работы SSL требуется, чтобы на сервере имелся SSL-сертификат. SSL предоставляет канал, имеющий 3 основные свойства: Аутентификация. Сервер всегда аутентифицируется, в то время как клиент аутентифицируется в зависимости от алгоритма. Надежность. Обмен сообщениями включает в себя проверку целостности. Частность канала. Шифрование используется после установления соединения и используется для всех последующих сообщений. В протоколе SSL все данные передаются в виде записей, объектов, состоящих из заголовка и передаваемых данных. Передача начинается с заголовка. Заголовок содержит либо два, либо три байта кода длины. Причем, если старший бит в первом байте кода равен единице, то запись не имеет заполнителя и полная длина заголовка равна двум байтам, иначе запись содержит заполнитель и полная длина заголовка равна трем байтам. Код длины записи не включает в себя число байт заголовка. Изначально виртуальные частные сети (VPN) на основе SSL разрабатывались как дополнительная и альтернативная технология удаленного доступа на основе IPsec VPN. Но в виду ряда факторов: достаточная надежность и недороговизна – сделали эту технологию привлекательной для организации VPN. Также SSL получил широкое применение в электронной почте. Основными целями протокола SSL являются (в порядке приоритетности): 1. Криптографическая безопасность: SSL устанавливает безопасное соединение между двумя сторонами. 2. Совместимость: Программисты, независимо друг от друга могут создавать приложения, использующие SSL, которые впоследствии будут способны успешно обмениваться криптографическими параметрами без всякого знания кода чужих программ. 3. Расширяемость: SSL стремится обеспечить рабочее пространство, в котором новые открытые ключи и трудоемкие методы шифрования могут быть включены по мере необходимости. 4. Относительная эффективность: работа протокола на основе SSL требует больших скоростей от CPU, в частности для работы с открытыми ключами. По этой причине SSL протокол был включен в необязательную сессию схемы кэширования для уменьшения числа соединений, которые необходимо устанавливать с нуля. Кроме того, большое внимание уделяется тому, чтобы уменьшить сетевую активность. SSL поддерживает три типа аутентификации: аутентификация обеих сторон (клиент – сервер),
  • 22. аутентификация сервера с неаутентифицированным клиентом и полная анонимность. Всякий раз, когда сервер аутентифицируется, канал безопасен против атаки человек посредине, но полностью анонимная сессия по своей сути уязвима к такой атаке. Анонимный сервер не может аутентифицировать клиента. Если сервер аутентифицирован, то его сообщение сертификации должно обеспечить верную сертификационную цепочку, ведущую к приемлемому центру сертификации. Проще говоря, аутентифицированный клиент должен предоставить допустимый сертификат серверу. Каждая сторона отвечает за проверку того, что сертификат другой стороны еще не истек и не был отменен. Главная цель процесса обмена ключами – это создание секрета клиента (pre_master_secret), известного только клиенту и серверу. Секрет (pre_master_secret) используется для создания общего секрета (master_secret). Общий секрет необходим для того чтобы создать сообщение для проверки сертификата, ключей шифрования, секрета MAC (message authentication code) и сообщения "finished". При посылке верного сообщения "finished", тем самым стороны докажут что они знают верный секрет (pre_master_secret). В несколько упрощенном варианте диалог SSL представлен на рис. Рис. Диалог SSL В SSL используются следующие алгоритмы: Для обмена ключами и проверки их подлинности применяются: RSA, Diffie-Hellman, ECDH, SRP, PSK. Для аутентификации: RSA, DSA, ECDSA. Для симметричного шифрования: RC2, RC4, IDEA, DES, Triple DES или AES, Camellia. Для хеш-функций: SHA, MD5, MD4 и MD2. Опишем ряд атак, которые могут быть предприняты против протокола SSL. Однако, SSL устойчив к этим атакам: Раскрытие шифров SSL зависит от различных криптографических параметров. Шифрование с открытым ключом RSA необходимо для пересылки ключей и аутентификации сервера/клиента. Однако в качестве шифра используются различные криптографические алгоритмы. Таким образом, если осуществить успешную атаку на эти алгоритмы, то SSL не может уже считаться безопасным. Атака на определенные коммуникационные сессии