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

При подготовке использовались материалы: «9 security tips to protect your website from hackers» , «10 Tips to Improve Your Website Security» и «Web Application Security Testing Cheat Sheet»

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

Если задаться целью, уязвимость в приложении найдётся. В отчете о хакерских атаках на сайты за 2016 год эксперты Google сообщили о том, что количество взломанных ресурсов увеличилось на 32% по сравнению с 2015 годом, и это не предел. Помните об этом и отбросьте заблуждения о неприступности своих веб-ресурсов, когда планируете работы по информационной безопасности.

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

Используйте инструменты для анализа защищенности

Прежде чем искать уязвимости вручную проверьте приложение автоматизированными средствами. Они выполняют тесты на проникновение, пытаются его взломать, например, при помощи SQL-инъекции.

Ниже приведена подборка бесплатных инструментов.

Приложения и фреймворки

  • OpenVAS сканирует узлы сети на наличие уязвимостей и позволяет управлять уязвимостями.
  • OWASP Xenotix XSS Exploit Framework сканирует ресурс на возможность эксплуатации XSS-уязвимостей.
  • Approof от Positive Technologies проверяет конфигурацию веб-приложения, сканирует на наличие уязвимых компонентов, незащищенных чувствительных данных и вредоносного кода.

Предотвратите SQL-инъекции

Проверяйте и шифруйте пароли

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

Что касается валидации, установите ограничение на минимальную длину пароля, а также делайте проверку на совпадение с логином, e-mail и адресом сайта.

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

Контролируйте процесс загрузки файлов

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

Даже если установлено ограничение на тип (например, только изображения), относитесь к загружаемым пользователями файлам с подозрением. Расширение или MIME-тип легко подделать, чтение заголовка или использование функций проверки размера изображения не дают 100% гарантии, в большинство форматов изображений возможно внедрить код PHP, который будет выполнен на сервере.

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

Способы ограничения доступа:

  • переименовывать или изменять расширения файлов при загрузке;
  • изменять разрешения, например, на chmod 0666 ;
  • создать файл.htaccess (см. пример ниже), который откроет доступ только к указанным типам файлов.
deny from all order deny,allow allow from all

Более безопасный способ –– запретить прямой доступ к загружаемым файлам, разместив их, например, вне папки корня сайта. Однако в этом случае потребуется создать скрипт (или обработчик HTTP в.NET), чтобы извлекать файлы из закрытой части и выдавать пользователю.

Меры защиты веб-приложений для владельцев собственных серверов:

  1. Настройте межсетевой экран, в том числе на блокировку неиспользуемых портов.
  2. При наличии доступа к серверу из локальной сети создайте демилитаризованную зону (DMZ), открыв доступ из внешнего мира только к портам 80 и 443.
  3. При отсутствии доступа к серверу из локальной сети используйте защищённые методы (SFTP, SSH и др.) для передачи файлов и управления сервером извне.
  4. Если возможно, выделите отдельный сервер для баз данных, который не будет напрямую доступен из внешнего мира.
  5. Отграничьте физический доступ к серверу.

Следите за сообщениями об ошибках

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

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

Проверяйте входящие данные

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

Распределяйте права доступа к файлам

Разрешения файла (file permissions) определяют КТО и ЧТО может с ним делать.

В *nix системах у файлов 3 варианта доступа, которые представляются в виде цифр:

  • «Read» (4) - чтение содержимого файла;
  • «Write» (2) - изменение содержимого файла;
  • «Execute» (1) - выполнение программы или скрипта.

Чтобы установить множественные разрешения, достаточно сложить их числовые значения:

  • «Чтение» (4) + «запись» (2) = 6;
  • «Чтение» (4) + «запись» (2) + «выполнение» (1) = 7.

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

  • «Owner» (владелец) - создатель файла (изменяем, но может быть только один);
  • «Group» (группа) - группа пользователей, которые получают разрешения;
  • «Others» (прочие) - остальные пользователи.

Установка владельцу прав доступа на чтение и запись, группе - на чтение, прочим - запрет доступа выглядит так:

Итоговое представление: 640 .

Для каталогов аналогично, но флаг «выполнить» значит сделать рабочей директорией.

.

Большинство проверенных веб-ресурсов на сегодняшний момент имеют ряд серьезных уязвимостей и не отвечает современным требованиям к безопасности. Примерно половина всех обнаруженных уязвимостей была связана с так называемыми SQL инъекциями, еще 42% уязвимостей связаны с кросс- скриптинговыми уязвимостями (XSS, Cross Site Scripting), называемые также межсайтовым скриптингом, 7% уязвимостей связаны с раскрытием исходного кода серверного веб-приложения, которое непосредственно обращается к данным.

Безопасность онлайновых приложений становится одной из основных проблем для обеспечения не только безопасности веб-сайтов, но и множества корпоративных приложений, работающих через Интернет.

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

Основные работы, которые осуществляются при проведении аудита на защищенность веб-ресурсов:
- обнаружение уязвимостей, позволяющих несанкционировано получить доступ к закрытым областям веб-приложений;
- попытки модифицирования информации веб-сервисов;
- тестирование возможности внедрения и выполнения произвольного вредоносного программного кода;
- проверку на устойчивость к атакам SQL инъекциям, Cross Site Scripting, XSS и др.;
- анализ кода скриптов;
- обнаружение и выявление уязвимостей на операционных системах, на которых функционируют веб-сервера и веб-сервисы;
- предоставление отчета по найденным уязвимостям и рискам, а также рекомендаций по их устранению;
- проверка устойчивости к Dos/DDos атакам.

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

Процесс выполнения тестирования на проникновения

Стандарты
При проведении анализа защищенности используются персональные разработки наших специалистов, а также общепризнанные стандарты, и руководства по обеспечению информационной безопасности, Web Application Security Consortium (WASC) Threat Classification и Open Web Application Security Project (OWASP) Testing Guide.
При работе используются передовые инструментальные средства анализа защищенности, как свободно распространяемые, так и коммерческие.

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

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

Лучших веб-сервисов, с помощью которых можно исследовать сайты на уязвимости. По оценке HP , 80% всех уязвимостей вызвано неправильными настройками веб-сервера, использованием устаревшего ПО либо другими проблемами, которых можно было легко избежать.

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

WebSAINT

SAINT - известный сканер уязвимостей, на основе которого сделаны веб-сервисы WebSAINT и WebSAINT Pro . Как Approved Scanning Vendor, сервис осуществляет ASV-сканирование сайтов организаций, для которых это необходимо по условиями сертификации PCI DSS. Может работать по расписанию и проводить периодические проверки, составляет различные отчеты по результатам сканирования. WebSAINT сканирует порты TCP и UDP на указанных адресах в сети пользователя. В «профессиональной» версии добавлены пентесты и сканирование веб-приложений и настраиваемые отчеты.

ImmuniWeb

Сервис ImmuniWeb от компании High-Tech Bridge использует немного другой подход к сканированию: кроме автоматического сканирования, здесь предлагают еще пентесты вручную. Процедура начинается в указанное клиентом время и занимает до 12 часов. Отчет просматривают сотрудники компании перед тем, как отправить клиенту. В нем указывают как минимум три способа устранения каждой выявленной уязвимости, в том числе варианты изменения исходного кода веб-приложения, изменение правил файрвола, установка патча.

За человеческий труд приходится платить больше, чем за автоматическую проверку. Полное сканирование с пентестами ImmuniWeb стоит $639.

BeyondSaaS

BeyondSaaS от BeyondTrust обойдется еще дороже. Клиентам предлагают оформить подписку за $3500, после чего они могут проводить неограниченное количество проверок в течение года. Однократный скан стоит $700. Сайты проверяются на SQL-инъекции, XSS, CSRF и уязвимости операционной системы. Разработчики заявляют вероятность ложных срабатываний не более 1%, а в отчетах тоже указывают варианты исправления проблем.

Компания BeyondTrust предлагает и другие инструменты для сканирования на уязвимости, в том числе бесплатный Retina Network Community, который ограничен 256 IP-адресами.

Dell Secure Works

Dell Secure Works , возможно, самый продвинутый из веб-сканеров, представленных в обзоре. Он работает на технологии QualysGuard Vulnerability Management и проверяет веб-серверы, сетевые устройства, серверы приложений и СУБД как внутри корпоративной сети, так и на облачном хостинге. Веб-сервис соответствует требованиям PCI, HIPAA, GLBA и NERC CIP.

1. Цель и задачи

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

Исходя из поставленной цели, в работе решаются следующие задачи:

1. Выполнить анализ основных угроз информационной безопасности в образовательных сетях.

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

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

4. Разработать алгоритм идентификации нежелательных информационных ресурсов на сайтах.

2. Актуальность темы

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

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

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

Существующие системы ограничения доступа к сетевым ресурсам имеют возможность проверять на соответствие заданным ограничениям не только отдельные пакеты, но и их содержимое - контент, передаваемый через сеть. В настоящее время в системах контентной фильтрации применяются следующие методы фильтрации web-контента: по имени DNS или конкретному IP-адресу, по ключевым словам внутри web-контента и по типу файла. Чтобы блокировать доступ к определенному web-узлу или группе узлов, необходимо задать множество URL, контент которых является нежелательным. URL-фильтрация обеспечивает тщательный контроль безопасности сети. Однако нельзя предугадать заранее все возможные неприемлемые URL-адреса. Кроме того, некоторые web-узлы с сомнительным информационным наполнением работают не с URL, а исключительно с IP-адресами.

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

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

3. Предполагаемая научная новизна

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

4. Планируемые практические результаты

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

5. Обзор исследований и разработок

5.1 Обзор исследований и разработок по теме на глобальном уровне

Проблемам обеспечения информационной безопасности посвящены работы таких известных ученых как: H.H. Безруков, П.Д. Зегжда, A.M. Ивашко, А.И. Костогрызов, В.И. Курбатов К. Лендвер, Д. Маклин, A.A. Молдовян, H.A. Молдовян, А.А.Малюк, Е.А.Дербин, Р. Сандху, Дж. М. Кэррол, и других. Вместе с тем, несмотря на подавляющий объем текстовых источников в корпоративных и открытых сетях, в области разработки методов и систем защиты информации в настоящее время недостаточно представлены исследования, направленные на анализ угроз безопасности и исследование ограничения доступа к нежелательным ресурсам при компьютерном обучении с возможностями доступа к Web.

В Украине ведущим исследователем в данной сфере является Домарев В.В. . Его диссертационные исследования посвящены проблемам создания комплексных систем защиты информации. Автор книг: «Безопасность информационных технологий. Методология создания систем защиты», «Безопасность информационных технологий. Системный подход» и др., автор более 40 научных статей и публикаций.

5.2 Обзор исследований и разработок по теме на национальном уровне

В Донецком национальном техническом университете разработкой моделей и методов для создания системы информационной безопасности корпоративной сети предприятия с учетом различных критериев занималась Химка С.С. . Защитой информации в обучающих системах Заняла Ю.С. .

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

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

1. независимость контента от инфраструктуры доступа;

2. непрерывное качественное и количественное изменение контента;

3. появление новых интерактивных информационных ресурсов («живые журналы», социальные сети, свободные энциклопедии и др.), в которых пользователи непосредственно участвуют в создании сетевого контента.

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

Возможные варианты процесса получения веб-ресурса представлены на рис.1

Рисунок 1 - Процесс получения веб-ресурса по протоколу HTTP

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

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

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

Рисунок 2 - Базовые принципы фильтрации нецелевых ресурсов на proxy-серверах

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

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

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

При фильтрации по контенту необходима обработка больших объёмов информации при получении каждого ресурса, сложность обработки ресурсов подготовленных с использованием таких средств как Java, Flash.

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

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

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

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

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

Рисунок 3 -Иерархия средств управления доступом к ресурсам Интернет

(анимация, 24 кадра, 25 Кб)

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

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

Алгоритм ограничения доступа. Ограничения доступа к нежелательным ресурсам Интернет-сайтов основывается на следующем определении понятия риска доступа к нежелательному ИР в ИОС. Риском доступа к нежелательному i-му ИР, отнесенному к к-му классу ИР, будем называть величину, пропорциональную экспертной оценке ущерба, наносимого нежелательным ИР данного вида ИОС или личности пользователя и числу обращений к данному ресурсу за заданный отрезок времени:

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

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

Рисунок 4 -Алгоритм ограничения доступа к нежелательным ресурсам

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

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

Известны различные подходы к построению классификаторов веб-страниц. Наиболее часто используемыми являются : байесовский классификатор; нейронные сети; линейные классификаторы; метод опорных векторов (SVM). Все вышеназванные методы требуют обучения на обучающей коллекции и проверки на тестирующей коллекции. Для бинарной классификации можно выбрать наивное байесовское решение, предполагающее независимость друг от друга характеристик в векторном пространстве. Будем считать, что все ресурсы необходимо классифицировать как желательные и нежелательные. Тогда вся коллекция образцов текстов веб-страниц разделяется на два класса: C={C1, C2} причем априорная вероятность каждого класса P(Ci), i=1,2. При достаточно большой коллекции образцов можно считать, что P(Ci) равняется отношению количества образцов класса Ci к общему количеству образцов. Для некоторого подлежащего классификации образца D из условной вероятности P(D/Ci), согласно теореме Байеса, может быть получена величина P(Ci /D):

с учетом постоянства P(D) получаем:

Предполагая независимость друг от друга термов в векторном пространстве, можно получить следующее соотношение:

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

Если kn=k; если kn меньше k, kn.=1/|k|. Здесь M - частота всех термов в базе данных образцов, L - количество всех образцов.

9. Направления совершенствования алгоритмов

В дальнейшем предполагается разработать алгоритм анализа ссылок с целью выявления внедрения вредоносного кода в код web-страницы и сравнить байесовский классификатор с методом опорных векторов.

10. Выводы

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

Список источников

  1. Зима В. М. Безопасность глобальных сетевых технологий / В. Зима, А. Молдовян, Н. Молдовян. - 2-е изд. - СПб.: БХВ-Петербург, 2003. - 362 c.
  2. Воротницкий Ю. И. Защита от доступа к нежелательным внешним информационным ресурсам в научно-образовательных компьютерных сетях / Ю. И. Воротницкий, Се Цзиньбао // Мат. XIV Межд. конф. «Комплексная защита информации». - Могилев, 2009. - С. 70-71.

показано, что более 70% отсканированных веб-сайтов были заражены одной или несколькими уязвимостями.

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

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

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

Существует два типа сканера.

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

Acunetix
Detectify
Qualys

Open Source / Бесплатные — вы можете загружать и выполнять проверку безопасности по требованию.

Не все из них смогут охватить широкий спектр уязвимостей, таких как коммерческий.

Давайте посмотрим на следующие сканеры уязвимостей с открытым исходным кодом.

1. Arachni

Arachni — высокопроизводительный сканер безопасности, построенный на основе Ruby для современных веб-приложений.

Он доступен в двоичном формате для Mac, Windows и Linux.

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

Он выполняет активные и пассивные проверки.

Windows, Solaris, Linux, BSD, Unix
Nginx, Apache, Tomcat, IIS, Jetty
Java, Ruby, Python, ASP, PHP
Django, Rails, CherryPy, CakePHP, ASP.NET MVC, Symfony

Некоторые из обнаруженных уязвимостей:

NoSQL / Blind / SQL / Code / LDAP / Command / XPath injection
Подделка запросов межсайтовый скриптинг
Обход пути
Включение локального / удаленного файла
Разделение ответа
Межсайтовый скриптинг
Неопределенные перенаправления DOM
Раскрытие исходного кода

2. XssPy

Сканер уязвимостей XSS (межсайтовый скриптинг) на основе python используется многими организациями, включая Microsoft, Stanford, Motorola, Informatica и т.д.

XssPy by Faizan Ahmad — умный инструмент. Вместо того, чтобы просто проверять домашнюю страницу или страницу, она проверяет всю ссылку на веб-сайтах.

XssPy также проверяет субдомен.

3. w3af

w3af, проект с открытым исходным кодом, начатый еще в конце 2006 года, основан на Python и доступен для Linux и ОС Windows. w3af способен обнаруживать более 200 уязвимостей, включая OWASP top 10.

Он поддерживает различные методы ведения журнала для отчетности. Пример:

CSV
HTML
Консоль
Текст
XML
Эл. адрес

Он построен на архитектуре плагина, и вы можете проверить все доступные плагины.

4. Nikto

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

5. Wfuzz

Wfuzz (Web Fuzzer) — это инструмент оценки приложений для тестирования на проникновение.

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

Wfuzz требует наличия Python на компьютере, на котором вы хотите запустить сканирование.

6. OWASP ZAP

ZAP (Zet Attack Proxy) — один из известных инструментов тестирования на проникновение, который активно обновляется сотнями добровольцев во всем мире.

Это кросс-платформенный Java-инструмент, который может работать даже на Raspberry Pi.

ZIP находится между браузером и веб-приложением для перехвата и проверки сообщений.

Некоторым из следующих функций ZAP, которые следует упомянуть.

Fuzzer
Автоматический и пассивный сканер
Поддержка нескольких языков сценариев
Принудительный просмотр

7. Wapiti

Wapiti просматривает веб-страницы заданной цели и ищет сценарии и форму для ввода данных, чтобы узнать, является ли оно уязвимым.

Это не проверка безопасности исходного кода, а скорее проверка блэк боксов.

Он поддерживает методы GET и POST HTTP, прокси HTTP и HTTPS, несколько аутентификаций и т. д.

8. Vega

Vega разработан Subgraph, многоплатформенное программное обеспечение, написанное на Java, для поиска XSS, SQLi, RFI и многих других уязвимостей.

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

Если вы разработчик, вы можете использовать vega API для создания новых модулей атаки.

9. SQLmap

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

Он работает с Python 2.6 или 2.7 на любой ОС. Если вы хотите , то sqlmap будет полезен как никогда.

10. Grabber

Это небольшой инструмент, основанный на Python, делает несколько вещей достаточно хорошо.

Некоторые из функций Grabber:

Анализатор исходного кода JavaScript
Межсайтовый скриптинг, SQL-инъекция, слепое внедрение SQL
Тестирование PHP-приложений с использованием PHP-SAT

11. Golismero

Фреймворк для управления и запуска некоторых популярных инструментов безопасности, таких как Wfuzz, DNS recon, sqlmap, OpenVas, анализатор роботов и т. д.).

Golismero может консолидировать отзывы от других инструментов и показать один результат.

12. OWASP Xenotix XSS

Xenotix XSS OWASP — это расширенная инфраструктура для поиска и использования межсайтовых скриптов.

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

13. Metascan

Сканер по поиску уязвимостей веб-приложений от отечественных разработчиков