Тестирование уязвимостей безопасности в веб-приложениях: лучшие практики? Программа для проверки уязвимости сайта


Запах пропасти: программы поиска уязвимостей на сайтах

Содержание статьи

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

Откуда берутся ошибки? Можно выделить две основные проблемы: плохое образование и человеческий фактор. Тотальная нехватка программистов лет пять назад стала превращать в кодеров всех подряд. Ладно, человек стал программистом без специального образования, но надо же учиться, совершенствоваться, а не «просиживать» рабочее место за большую зарплату! Сейчас в Европе и США с кодингом попроще: стали использовать оффшор и открыли кучу представительств в странах, где программистов хватает, но качество кода, создаваемого в оффшоре и представительствах, все же оставляет желать лучшего.

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

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

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

 

CyD NET Utils

Сайт: http://www.cydsoft.comЛицензия: SharewareЦена: для России 300 руб

CyD NET Utils — набор сетевых утилит для облегчения собственной жизни

Недавно в программе появился новый модуль — Security Test, который позволяет протестировать сервер на наиболее популярные уязвимости. На данный момент web-сайты тестируются на SQL-Injection, XSS, PHP-инклудинг и тому подобные упущения в коде. Алгоритм поиска пока не идеален, но постоянно совершенствуется, — обновления выкладываются практически каждый месяц.

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

Для теста программы проверим сайт www.apahelpcenter.org. Запусти программу и выбирай в меню «File-> Security test». В появившемся окне нажимаешь кнопку «Test web server», она первая на панели инструментов окна «Security test». Перед тобой появится окно, где нужно указать URL сайта, который необходимо протестировать, и настройки соединения (прямой коннект или через прокси-сервер). В качестве URL указываем www.apahelpcenter.org и нажимаем OK. Понеслась. Хотя алгоритм не сильно напрягает трафик, хорошая скорость желательна.

Результат тестирования сайта www.apahelpcenter.org

Терпения и желания у нас хватило на тестирование пяти сценариев и в трех из них найдены уязвимости SQL-Injection. Авторы, наверное, вообще не задумывались о безопасности. По завершении сканирования программа предлагает небольшой отчет о проделанной работе и ссылки в Сети с описанием найденных ошибок с вариантами их исправления (если у тебя нет проблем с английским, то это описание может пригодиться).

На данный момент программа ищет ошибки в сценариях на PHP и ASP. В ближайшее время будет добавлен Macromedia Cold Fusion. Ошибки в сценариях Perl пока добавлять не планируется, — с точки зрения web-кодинга этот язык постепенно вымирает. По крайней мере, количество сайтов, написанных на нем, сокращается, а новые практически не появляются.

 

Acunetix Web Vulnerability Scanner

Сайт: http://www.acunetix.comЛицензия: SharewareЦена: $349

Разработчиком программы является раскрученная Acunetix (в недавнем времени — малоизвестная). Рекламу этой программы довольно часто можно встретить в Google ads. В триальной версии дозволено тестировать только сайты testphp.acunetix.com, testasp.acunetix.com и testaspnet.acunetix.com. Они созданы компанией специально для тестирования программы, но не факт, что на других серверах данный сканер безопасности покажет такие же результаты сканирования и найдет хотя бы половину ошибок. Алгоритм поиска нам не известен, а разработчик его не афиширует. Так что реально проверить качество тестирования невозможно: будем отталкиваться от того, что известно и доступно.

Acunetix Web Vulnerability Scanner

Vulnerability Scanner позволяет искать ошибки в сценариях на языках PHP, ASP и ASP.NET. Помимо этого, программа может проверять на ошибки JavaScript-сценарии, что смело относим к преимуществам. Можно тестировать не только напрямую, но и через HTTP или SOCKS прокси-сервер — для обеспечения анонимности.

Итак, что имеем на выходе:

  • Богатые, но не подтвержденные боевыми тестами возможности;
  • Красивый и удобный интерфейс;
  • Поиск уязвимостей xss, sql-injection, php-инклудинг, поиск хакерских запросов по базе google, обход каталога, crlf-injection, общедоступные резервные копии сценариев;
  • Хорошая служба поддержки, которая всегда отвечает, но не всегда вовремя (на наши вопросы разработчики ответили через три дня, правда, два из них были выходными).

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

 

SQL Injection Tools

xakep.ru

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



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

Ключевые слова: сканер веб-сайта, веб-приложение, анализ уязвимости веб-сайтов, CSS.

Information security is becoming more and more important, especially in the current period. Finding vulnerabilities and fixing them is an important task for programmers and webmasters. In this article, we propose some algorithms that support scan vulnerabilities such as XSS, CSRF, SQL Injection, used for building automated scanning programs, reducing the risks and unsafety for the website.

Keywords: Website Scanner, Web based application, Website Vulnerability Analysis, CSS.

Введение

Безопасность — важная часть ваших веб-приложений. Веб-приложения по определению позволяют пользователям получать доступ к центральному ресурсу — веб-серверу — и через него — к другим, таким как серверы баз данных. Понимая и применяя надлежащие меры безопасности, вы охраняете свои собственные ресурсы, а также предоставляете безопасную среду, в которой ваши пользователи удобны в работе с вашим приложением [1, 2, 9].

Безопасность веб-приложений — это подразделение «Информационная безопасность», которое специально занимается безопасностью веб-сайтов, веб-приложений и веб-сервисов [7, 9].

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

Определение проблемы иподход

Уязвимость — это недостаток или слабость приложения, которое может быть недостатком дизайна или ошибкой реализации, что позволяет злоумышленнику наносить вред заинтересованным сторонам приложения [13]. Заинтересованные стороны включают владельца приложения, пользователей приложений и другие объекты [3, 4].

Эта технологическая структура была выбрана из-за ее популярности и широкого использования. Каждый сканер уязвимостей веб-приложений протестирован против веб-приложения по предписанному подходу, который включает в себя набор процедур инициализации, выполнения, классификации и анализа. Используя безопасную и небезопасную версию настраиваемого веб-приложения, ложноположительные и ложноотрицательные результаты могут быть связаны с методами, используемыми сканерами для обнаружения уязвимостей. Эта связь между используемыми методами и ложноположительными или ложными негативами может быть использована, чтобы предложить улучшения для методов сканирования веб-приложений [7, 9, 11].

Шаг 1. Введите URL-адрес.

Шаг 2. Выберите тип уязвимости, которую вы хотите отсканировать.

Шаг 3. Запустите сканирование.

Шаг 4: Проверьте данные условия в соответствии с выбранным сканированием уязвимостей.

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

На основе общего алгоритма мы привели конкретные алгоритмы для обнаружения определенных уязвимостей, таких как SQL Инъекция, XSS, CSRF, Clickjacking...

Алгоритм для инъекций SQL (Рис. 1)

1. Инициализировать SQL-символы в массиве

Рис. 1. Блок-схема алгоритма инъекций SQL

2. Создайте два списка для хранения сообщений об ошибках SQL.

(i) Один для хранения сообщений об ошибках конкретной базы данных, таких как сообщения об ошибках SQL и т. д.

(ii) Другое для хранения общих сообщений об ошибках базы данных

3. Инициализировать значения ошибок в картах/списке, указанных выше.

4. Инициализировать метод сканера — сканер принимает сообщение http в качестве ввода от искателя. HTTP-сообщение содержит сведения о каждом запросе или URL-адресе с списком параметров.

5. Для каждого параметра в сообщении HTTP

(i) Введите SQL-символы из массива SQL-символов

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

(iii) Если происходит совпадение -Flag as SQL-уязвимость

(iv) Else — Повторите шаг до тех пор, пока не будет достигнут конец списка параметров

6. Конец

Алгоритм для XSS (Рис. 2)

Рис. 2. Блок-схема алгоритма XSS

1. Начало

2. Для каждого URL-адреса в списке посещаемых URL-адресов

(i). Определить все параметры

(ii). Ввод параметров в список параметров

(iii). Для каждого параметра в очереди параметров

(iv). Поставьте сценарий или тестовый пример XSS в качестве входного параметра и передайте запрос

(v). Проверьте ответ, чтобы определить предоставленный сценарий или тестовый случай, отраженный назад

3. Сообщите об этой уязвимости, если в ответе есть скрипт

4. Конец

Создание программы

Чтобы создать сканер уязвимостей веб-сайта, мы использовали Python 3 (интегрированный с пакетом Anaconda), среда программирования — Pycharm; веб-сервер Apache, SQL-сервер MySQL (все компоненты включены в установочный пакет XAMPP).

Интерактивная модель (Рис. 3)

Рис. 3. Схема процесса проверки

‒ Пользователь: используйте клиентскую программу (написанную на Python), чтобы проверить наличие уязвимостей на веб-сайте, связав сайт с тестовым сайтом.

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

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

Операционная модель программы (Рис. 4)

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

Рис. 4. Модель взаимодействия программы

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

На стороне сервера используемое веб-приложение (которое подробно описано ниже) содержит некоторые уязвимости в сети, которые могут быть уязвимыми в базе данных или связанными с ними уязвимостями. для проверки входных данных и т. д. Если сканер может найти и выдавать предупреждение, программист должен проверить безопасность для этого сайта.

Архитектура программы (Рис. 5)

Программа встроена в разные модули, выполняя конкретные задачи.

‒ Нижняя часть — это модули языка программирования Python с соответствующими библиотеками;

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

‒ Модуль содержит атаки для выполнения проверок на сайте, включая XSS, CSRF, Breach, Clickjack.

Рис. 5. Архитектура программы уязвимости веб-сайта

Построение тестовых компонентов

В модуле Attacks мы приступили к созданию некоторых компонентов атаки для проверки уязвимостей для веб-сайта:

‒ уязвимость XSS: тестирование уязвимости XSS;

‒ Уязвимость CSRF: проверка уязвимости CSRF;

‒ Уязвимость Clickjacking: уязвимость Clickjacking;

‒ Уязвимость сканирования файлов cookie: проверка уязвимости Проверка файлов cookie;

‒ CRLF-уязвимость: проверка уязвимости CRLF.

Результаты иобсуждения

Мы использовали Веб-сайт «Примеры Вею-уязвимостей», который содержит несколько уязвимостей для тестирования. Это приложение написанное на python, работает на порту 8666 и содержит ряд уязвимостей для использования:

‒ Проверка авторизации на стороне клиента;

‒ Расширение длины MAC;

‒ Подделка запросов на межсайтовые запросы;

‒ Отраженный межсайтовый скриптинг;

‒ Сохраненные межсайтовые скрипты;

‒ SQL Injection;

‒ Обход траектории.

Рис. 6. Интерфейс веб-сайта уязвимостей

Сканировать все уязвимости

Команда: python webscan.py http://localhost:8666/

Результаты сканирования

It might be XSS vulnerability: http://localhost:8666/reflected_xss/?username= %3Cscript %3Ealert %28 %22XSS_STRING %22 %29 %3B %3C %2Fscript %3E XSS with parameter “username”

It might be vulnerability CSRF: http://localhost:8666/csrf/send Lo hong CSRF

Summary report

Warning: http://localhost:8666/stored_xss/send HTML Error Encountered , expected

moluch.ru

security - Тестирование уязвимостей безопасности в веб-приложениях: лучшие практики?

SQL Injection и XSS являются наиболее распространенными ошибками, которые делают программисты. Хорошей новостью является то, что их легче всего проверять автоматически, если у вас есть правильное программное обеспечение. Когда я нахожусь на пентете, я использую Sitewatch или Wapiti для поиска уязвимостей веб-приложений. Acunetix по цене.

Но вы не можете просто запустить какой-нибудь автоматизированный инструмент и ожидать, что все будет работать. Существует ряд предосторожностей, которые вы должны предпринять с помощью ЛЮБОГО сканера уязвимостей, который вы выбираете.

1) убедитесь, что display_errors = On в ваших тестах на инъекции php.ini Sql полагаются на возможность видеть сообщения об ошибках mysql на страницах ответов! Нет ошибки, обнаружена уязвимость!

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

ПОСЛЕ, вы протестировали свое приложение, а затем проверьте свой сервер на неправильную конфигурацию. Чтобы протестировать ваш сервер, вам нужно запустить OpenVAS, который является новой бесплатной версией Nessus, которая теперь является коммерческим продуктом. Затем вы должны следить за этим с помощью PhpSecInfo. Эти тесты будут уведомлять вас о проблемах с вашей конфигурацией или если вы используете старое уязвимое программное обеспечение.

Ничто никогда не будет на 100% безопаснее, КОГДА. Независимо от того, что вы делаете, есть уязвимости, которые будут скользить по трещинам. На всех платформах разработки есть уязвимости, которые приводят к компромиссам, который не может проверить ни один инструмент. Также есть ошибки в инструментах тестирования, которые вы используете. Есть ложные сообщения и ложные негативы и некоторые тесты, которые просто не работают, хорошим примером я никогда не видел автоматизированный инструмент CSRF, который на самом деле находит законные уязвимости. Тест Acunetix CSRF - полная трата времени.

Существует также руководство по тестированию OWASP, которое идет более подробно. Это не следует путать с OWASP Top 10, который также является отличным ресурсом. Руководство по безопасности PHP также является отличным ресурсом для программистов php.

qaru.site

Wapiti — сканер уязвимостей веб-приложений

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

Wapiti работает со следующими типами уязвимостей:

  • File disclosure (Local and remote include/require, fopen, readfile…)
  • Database Injection (PHP/JSP/ASP SQL Injections and XPath Injections)
  • XSS (Cross Site Scripting) injection (reflected and permanent)
  • Command Execution detection (eval(), system(), passtru()…)
  • CRLF Injection (HTTP Response Splitting, session fixation…)
  • XXE (XmleXternal Entity) injection
  • Use of know potentially dangerous files
  • Weak .htaccess configurations that can be bypassed
  • Presence of backup files giving sensitive information (source code disclosure)

Wapiti входит в состав утилит дистрибутива Kali Linux,. Можно скачать исходники с SourceForge и использовать на любом дистрибутиве основанном на ядре Linux. Wapiti поддерживает GET и POST HTTP методы запросов.

Утилита написана на Python, поэтому команда старта будет выглядеть таким образом:

python wapiti.py http://server.com/base/url/ [options]

python wapiti.py http://server.com/base/url/ [options]

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

Пример:

wapiti http://example.com/about -u -b page -v 2 -o /home/pentest/outfile.html

wapiti http://example.com/about -u -b page -v 2 -o /home/pentest/outfile.html

Подробнее о опциях запуска в данном примере:

-u — цветовая подсветка

-b page — анализ только страницы полученной в URL

-v 2 — вывод всех аттак

-o — создание отчета по адресу /home/pentest/outfile.html

Wapiti построен на модулях, которые подключаются при сканирование — backup, blindsql, crlf, exec, file, htaccess, nikto, permanentxss, sql, xss, buster, shellshock.

Вы можете исключить определенные модули при сканирование при помощи флага -m, а также выключить все модули при помощи -m “-all”.  Для сканирования только sql и blindsql уязвимостей вы можете использовать следующие параметры:

wapiti http://example.com/about -u -n 5 -b domain -m "-all,sql,blindsql" -v 2 -o /tmp/outfile.html

wapiti http://example.com/about -u -n 5 -b domain -m "-all,sql,blindsql" -v 2 -o /tmp/outfile.html

Таким образом вы сначала выключите все модули, а затем включите sql и blindsql модули.

Также можно выбрать формат вывода отчета сканирования — json, html, openvas, txt, vulneranet, xml. На мой взгляд наиболее удобно читать отчет в формате html, пример вы сможете увидеть в конце статьи.

Большинство web-приложений использует CSRF токены и cookies. Вы можете пропустить cookies аутентификации в Wapiti при помощи флага -c, —cookies.

Наиболее интересная функция Wapiti является возможно импорта результата сканирования в базу данных Metasploit. Для этого нужно сохранить отчет в формате XML при помощи флага -f xml, затем импортировать этот xml в metasploit. Внутри msfconsole нужно выполнить следующую команду db_import /tmp/outfile.xml.

В результате отчет со всеми уязвимостями будет импортирован в Metasploit.

От небольшого теоретического введения перейдем к практике:

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

wapiti http://locks.su/test/test_full_search.asp -u -n 5 -b page -v 2

wapiti http://locks.su/test/test_full_search.asp -u -n 5 -b page -v 2

image03

Происходит распознавание GET и POST методов, а затем загрузка модулей. Дальше Wapiti по очереди использует каждый из модулей для поиска уязвимостей.

image02

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

image00

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

image01

Подробный отчет о каждой из уязвимостей выглядит таким образом:

image04

Таким образом, Wapiti имеет огромное количество плюсов в своей копилке:

  • Широкий спектр знаний уязвимостей
  • Обход Cookies и CSRF токенов
  • Полная справка с множеством флагов
  • Возможность работы вместе с Metaslpoit
  • Использование базы данных Nikto для поиска потенциально опасных файлов
  • Высокая скорость работы
  • Подробные отчеты

 

defcon.ru

зачем это нужно и как защитить свой ПК (2018)

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

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

Не стоит пренебрегать таким сканированием и администраторам небольших сетей – тем более что в 2017-м году серьёзным атакам со стороны запущенных хакерами масштабных вирусов-шифровальщиков подверглись сотни тысяч компьютеров.

Содержание:

Применение сканеров уязвимости

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

Такие программы называются сканерами уязвимости.

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

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

  • поиск попавшего на компьютер вредоносного кода;
  • инвентаризация ПО и других ресурсов системы;
  • создание отчётов, содержащих информацию об уязвимостях и способах их устранения.
Рис. 2. Объекты сети, подлежащие проверке на уязвимости.

Рис. 2. Объекты сети, подлежащие проверке на уязвимости.

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

вернуться к меню ↑

Механизмы сканирования

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

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

Эту методику называют «логическим выводом», а её принципы заключаются в выполнении следующих шагов: 

1 Идентификация портов, открытых на каждом из устройств в сети; 

2 Сбор заголовков, связанных с портами и найденных в процессе сканирования; 

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

4 Получение выводов о наличии или отсутствии в сети проблем с безопасностью. 

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

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

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

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

Проверка заголовков

Механизм, название которого на английском языке звучит как «banner check», состоит из целого ряда сканирований и даёт возможность получить определённые выводы на основе данных, передаваемых программе-сканеру в ответ на его запрос.

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

Методика считается самой простой и быстрой, но имеет целый ряд недостатков:

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

 Между тем, несмотря на определённые минусы и отсутствие гарантии обнаружения «дыр» в системе, процесс проверки заголовков можно назвать не только первым, но и одним из главных этапов сканирования. Тем более что его использование не нарушает работу ни сервисов, ни узлов сети. 

Активные зондирующие проверки

Методика, известная ещё и как «active probing check», основана не на проверках версий ПО в заголовках, а на анализе и сравнении цифровых «слепков» программ с информацией об уже известных уязвимостях.

Принцип её работы немного похож на алгоритм антивирусных приложений, которые предполагает сравнение отсканированных фрагментов с вирусными базами.

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

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

 Эта информация иногда применяется и системами анализа защищённости, и программным обеспечением, в задачи которого входит обнаружение атак. В целом, методика активных зондирующих проверок, применяемая такими крупными компаниями как ISS и Cisco, работает значительно быстрее других способов – хотя реализовать её труднее, чем проверку заголовков.  Рис. 3. Быть готовым к атаке через уязвимости в сети – одна из основных задач администратора.

Рис. 3. Быть готовым к атаке через уязвимости в сети – одна из основных задач администратора.

Имитация атак

Ещё один метод на английском языке называется «exploit check», что можно перевести на русский как «имитация атак».

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

Методика имеет такие особенности:

  • некоторые «дыры» в безопасности нельзя обнаружить до тех пор, пока не сымитировать настоящую атаку против подозрительных сервисов и узлов;
  • программы-сканеры проверяют заголовки программного обеспечения во время фальшивой атаки;
  • при сканировании данных уязвимости обнаруживаются значительно быстрее, чем в обычных условиях;
  • имитируя атаки, можно найти больше уязвимостей (если они были изначально), чем при помощи двух предыдущих методик – при этом скорость обнаружения достаточно высокая, однако пользоваться таким способом не всегда целесообразно;
  • ситуации, которые не позволяют запускать «имитацию атак», делятся на две группы – угроза появления проблем с обслуживанием проверяемого программного обеспечения или принципиальная невозможность атаковать систему.
Рис. 4. Имитация атаки – один из самых эффективных способов найти «дыру».

Рис. 4. Имитация атаки – один из самых эффективных способов найти «дыру».

Нежелательно пользоваться методикой, если объектами проверки являются защищённые сервера с ценной информацией.

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

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

 Между тем, в списке уязвимостей есть и такие, которые не получится обнаружить без попыток сымитировать атаки – к ним относят, например, подверженность атакам типа «Packet Storm». 

По умолчанию, такие методы проверки отключены в системе.

Пользователю придётся включать их самостоятельно.

 К программам-сканерам, которые используют третий метод сканирования на уязвимости, относят системы типа Internet Scanner и CyberCop Scanner. В первом приложении проверки выделяются в отдельную категорию «Denial of service». При использовании любой функции из списка программа сообщает об опасности выхода из строя или перезагрузки сканируемого узла, предупреждая о том, что ответственность за запуск сканирования лежит на пользователе. 

вернуться к меню ↑

Основные этапы проверки уязвимостей

Большинство программ, выполняющих сканирование на уязвимости, работает следующим образом:

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

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

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

4 Генерирует отчёты на базе собранных при сканировании сведений, описывая уязвимости.

Рис. 5. Отчёт одного из сканеров уязвимостей.

Рис. 5. Отчёт одного из сканеров уязвимостей.

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

Отличия в работе разных программ

Некоторые сканеры разделяют уязвимости по уровню угрозы.

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

Internet Scanner разделяет угрозы на три степени – низкую, высокую и среднюю.

Эти же два сканера имеют ещё несколько отличий.

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

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

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

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

Иногда в тексте отчётов содержатся ссылки на web- или ftp-сервера, которые содержат дополнения и патчи, позволяющие избавиться от угроз.

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

Действия администратора по обнаружению уязвимостей

Для поиска «дыр» в безопасности администратор может руководствоваться тремя алгоритмами.

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

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

 Способ №3 предполагает использование всех трёх механизмов (причём, с правами и администратора, и пользователя) и попытку устранить уязвимости на отдельных компьютерах. Из-за низкой скорости и риска вывести из строя программное обеспечение применяют этот метод реже всего – в основном, при наличии серьёзных доказательств наличия «дыр». 

вернуться к меню ↑

Возможности современных сканеров

Основными требованиями к программе-сканеру, обеспечивающей проверку системы и её отдельных узлов на уязвимости, являются:

  • Кроссплатформенность или поддержка нескольких операционных систем. При наличии такой особенности можно выполнять проверку сети, состоящей из компьютеров с разными платформами. Например, с несколькими версиями Windows или даже с системами типа UNIX.
  • Возможность сканировать одновременно несколько портов – такая функция заметно уменьшает время на проверку.
  • Сканирование всех видов ПО, которые обычно подвержены атакам со стороны хакеров. К такому программному обеспечению относят продукцию компании Adobe и Microsoft (например, пакет офисных приложений MS Office).
  • Проверку сети в целом и отдельных её элементов без необходимости запускать сканирование для каждого узла системы.

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

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

После получения отчётов сканер позволяет администратору запускать исправление угроз.

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

вернуться к меню ↑

Сканеры уязвимостей сети

Ассортимент программ-сканеров на современном рынке ПО достаточно большой.

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

Для оценки возможностей таких приложений стоит рассмотреть характеристики и особенности пяти самых популярных вариантов.

GFI LanGuard

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

Одним из таких приложений, обеспечивающих безопасность сети и отдельных компьютеров, является GFI LanGuard, к особенностям которого относят:

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

Рис. 6. Приложение для поиска угроз GFI LanGuard.

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

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

При этом стоимость использования сканера сравнительно небольшая и доступна даже небольшим компаниям.

Nessus

Программу Nessus впервые выпустили 20 лет назад, но только с 2003-го года она становится платной.

Монетизация проекта не сделала его менее популярным – благодаря эффективности и скорости работы каждый шестой администратор в мире применяет именно этот сканер.

К преимуществам выбора Nessus относят:

  • постоянно обновляемую базу уязвимостей;
  • простую установку и удобный интерфейс;
  • эффективное обнаружение проблем с безопасностью;
  • использование плагинов, каждый из которых выполняет свою задачу – например, обеспечивает сканирование ОС Linux или запускает проверку только заголовков.
Рис. 7. Программа Nessus.

Рис. 7. Программа Nessus.

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

Symantec Security Check

Программа Security Check является бесплатным сканером компании Symantec.

Среди её функций стоит отметить поиск не только уязвимостей, но и вирусов – включая макровирусы, трояны и интернет-черви. Фактически, приложение состоит из 2 частей – сканера Security Scan, обеспечивающего безопасность сети, и антивируса Virus Detection.

Рис. 8. Работа приложения Security Check прямо из браузера.

Рис. 8. Работа приложения Security Check прямо из браузера.

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

XSpider

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

К особенностям приложения относят:

  • эффективное обнаружение «дыр» в системе;
  • возможность удалённой работы без установки дополнительного программного обеспечения;
  • создание подробных отчётов с советами по устранению проблем;
  • обновление базы уязвимостей и программных модулей;
  • одновременное сканирование большого количества узлов и рабочих станций;
  • сохранение истории проверок для дальнейшего анализа проблем.
Рис. 9. Демо-версия сканера XSpider.

Рис. 9. Демо-версия сканера XSpider.

Также стоит отметить, что стоимость использования сканера более доступна по сравнению с программой Nessus. Хотя и выше, чем у GFI LanGuard.

QualysGuard

Сканер считается многофункциональным и позволяет получить подробный отчёт с оценкой уровня уязвимости, времени на их устранение и уровень воздействия «угрозы» на бизнес.

Разработчик продукта, фирма Qualys, Inc., поставляет программу сотням тысяч потребителей, в том числе и половине крупнейших компаний мира.

Рис. 10. Приложение QualysGuard.

Рис. 10. Приложение QualysGuard.

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

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

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

вернуться к меню ↑

Выводы

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

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

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

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

Проголосовать

geek-nose.com

Проверка сайта при помощи «сканера кода» / Dimox.name

На просторах Интернета можно найти большое количество, как «сетевых сканеров», так и «сканеров кода». Последних, правда, несравнимо меньше, возможно, потому, что их создание сложнее. Думаю, вопрос: «Какой из этих типов лучше?», не уместен. Так как это два разных подхода к решению, зачастую, разных задач. И то, что могут одни, совершенно не могут другие. Но обсудить плюсы и минусы каждого вида имеет смысл.

Ниже речь пойдет о «сканерах PHP кода» таких как «find-xss.net», «Pixy», «Yasca». «find-xss.net» работает как онлайн сервис, и до недавнего времени веб-мастеров и программистов смущал тот факт, что в него нужно загружать исходники. Но с выходом клиентской части «find-compromise», этот вопрос остался в прошлом. И теперь он сравним с такими сканерами как «Pixy», «Yasca» и другими. «Сканеры кода», в отличии от «сетевых сканеров», подбирающих параметры в адресной строке, или в формах, удобны для устранения уязвимостей, но мало подходят для взлома сайтов.

Спросите почему? Во-первых потому, что для проверки первыми нужно иметь код проекта, а, раз вы его имеете, то, скорее всего, это ваш проект, и взламывать как бы ничего и не требуется. Кроме того, например, если вы просканировали CMS и нашли уязвимость, то, чтобы взломать чужой сайт на этой CMS, вам нужно еще хорошо потрудиться, чтобы найти XSS-вектор для найденной уязвимости.

А вот устранение уязвимостей, найденных при помощи «сканеров кода», сводится к очень простым действиям. Так как, они выдают не XSS-вектор, как другие. А файл, в котором есть уязвимость, строку кода и не безопасный параметр. «find-xss.net» еще и автоматически исправляет большинство найденных уязвимостей. И вам остается только внести изменения в нужном месте файла, для их устранения. Для тех же, кто все-таки не уверен в своих силах, или просто хочет довериться профессионалам, служба поддержки «find-xss.net» предлагает свои услуги за небольшую плату.

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

«Сканер кода» найдет такую уязвимость за секунды, а вот тот, что подбирает параметры в адресной строке, найти эту дыру не сможет в принципе. Так как не знает, что в скрипте используется $_GET['shell']. Ведь $_GET['имя индекса может быть любым']. Кроме того, подбор параметров ограничен теми страницами, которые доступны на сайте в данный момент, а все то, что может появиться на сайте в дальнейшем, проверить такие сканеры не могут.

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

Все сканеры, в том числе и «сканеры кода» ошибаются, причем последние ошибаются чаще. Исключение «find-xss.net», он выгодно отличается от других, как раз тем, что ошибается сравнительно редко.

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

Желаю вам по меньше проблем с безопасностью ваших проектов!

Виталий, разработчик.

dimox.name

Онлайн проверка сайта на вирусы и уязвимости с WebsiteDefender

Онлайн проверка сайта на вирусы и уязвимости, которые могут быть использованы для взлома, доступна на сервисе WebsiteDefender.Онлайн проверка сайта на вирусы в настоящее время легко осуществима с помощью ряда интернет- ресурсов . А  качественная проверка сайта на уязвимости, используемые для взлома, встречается далеко не часто. Такая проверка с выдачей рекомендаций по устранению реализуется сервисом WebsiteDefender компании Acunetix.

Acunetix — известная компания, специализирующаяся на безопасности веб-приложений. О качестве предоставляемых услуг можно судить по списку компаний, сотрудничающих с Acunetix в плане обеспечения безопасности своих сайтов. Клиентами Acunetix являются Cisco, Detsche Bank, Raiffeisen Bank, Department of the Air Force (USA), NASA, Sony и др. (полный список  на сайте Acunetix).

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

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

Сервис предоставляет услуги по двум программам: FREE (бесплатная) и PRO (коммерческая).

Услуги и функции бесплатной программы FREE.
  • Частота сканирования:1 раз в месяц
  • Онлайн проверка сайта на вирусы с использованием технологий и баз BitDefender: проводится только 1 раз после регистрации
  • Общие проверки безопасности сайта (проверка изменения содержимого, неработающие ссылки, обнаружение небезопасных PHP конфигураций, проблем конфигурации сервера, например, проблем в .htaccess файлах и т.п.)
  •  Проверка безопасности WordPress
Услуги и функции коммерческой программы PRO.
  • Частота сканирования: ежедневно
  • Онлайн проверка сайта на вирусы: ежедневно 
  • Общие проверки безопасности сайта
  • Проверка безопасности WordPress
  • Резервное копирование и восстановление
  • Отслеживание активности злоумышленников
  • Проверка файлов
  • Стоимость: $19.95 в месяц и $99.95 в год

Более подробную информацию о программах можно найти на странице сервиса

Регистрация в бесплатной программе.

Для участия в бесплатной программе необходимо на главной странице сервиса WebsiteDefender кликнуть по кнопке:

Далее заполнить поля регистрации (латинским шрифтом):

Появится уведомление о посылке Вам письма с информацией о подтверждении регистрации:

На Вашу электронную почту придет письмо:

В нем нужно пройти по красной ссылке:

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

На втором шаге нужно загрузить этот файл в корневую папку (public_html) Вашего сайта с помощью FTP клиента или менеджера файлов в панели управления хостинга.

На третьем шаге — проверить успешность установки Websitedefender Agent

В случае удачной установки появится сообщение:

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

 

bezopasnostpc.ru