AnnaDavydova
Green Team
- 06.08.2016
- 113
- 755
В наши дни безопасность и надежность веб-приложений становится более актуальной, поскольку все больше и больше данных хранятся в них. Таким образом, тестирование веб-приложений определяет, что доступ к конфиденциальным данным остаётся ограниченным, а пользователи выполняют только те задачи, которые им разрешено выполнять.
Тестирование веб безопасности является широкомасштабным процессом, который включает в себя большое количество различного рода процессов, которые реализуют тестирование безопасности и надежности веб-приложения. Это методический процесс, который начинается с определения и идентификации приложения в целом и далее контролируется путем планирования и реализации многочисленных тестов.
Обычно это тестирование выполняется после разработки веб-приложения. Общий процесс тестирования безопасности как правило контролируется составлением официального отчета, в котором указываются все риски и уязвимости. В этой статье мы рассмотрим основные ключевые аспекты, которые помогут преодолеть все эти недостатки безопасности.
Некоторые из основных аспектов тестирования веб безопасности перечислены ниже следующим образом:
Тестирование безопасности и надежности веб-приложений
Тестирование функциональности
Тестирование функциональности проверяет каждую функцию веб-приложений, которая работает в соответствии с требуемой спецификацией. Данное тестирование оценивает все ссылки на веб-страницах, подключения к базе данных и формы, которые используются для получения или отправки информации от пользователя на веб-страницы.
Проверка удобства использования
Проверка удобства использования включает в себя следующие аспекты:
- Веб сайты должны быть просты в использовании;
- Инструкции должны быть понятными, конкретными и четкими;
- Каждая страница должна быть озаглавлена согласно её содержимому;
- Содержание должно быть достаточно последовательным.
Интерфейсы сервера веб-приложений и самих приложений, а также интерфейс сервер баз данных являются основными интерфейсами.
Тестировщики оценивают все взаимодействия между этими серверами, такими образом, чтобы данные взаимодействия выполнялись и обрабатывались надлежащим образом. Если веб-сервер базы данных возвращает сообщение об ошибке на запрос от сервера приложений, сервер приложений перехватит и соответствующим образом отобразит эти сообщения об ошибках конечным пользователям.
Тестирование на совместимость
Совместимость веб-сайта является очень важной концепцией тестирования, как, например, в этом типе тестирования; тестировщики оценивают, какой из тестов совместимости должен быть выполнен, например, совместимость с операционной системой, параметрами печати, совместимость с браузером и т.д.
Тестирование производительности
Тестировщик должен хорошо разбираться в протоколе HTTP при выполнении тестирования безопасности веб-приложений. Он или она должен иметь полное представление о том, как сервер и клиент взаимодействуют с HTTP. Не смотря на то, что недостатки, связанные с безопасностью и надежностью веб-приложений являются сравнительно низкими, тестировщик, тем не менее, должен отметить, что каждый дефект должен быть обнаружен и описан подробно.
Во время проведения тестирования производительности, тестировщик должен проверять следующие уязвимости:
SQL инъекция
Последствия SQL инъекции довольно серьезны, так как это приводит к утечке конфиденциальной информации из базы данных сервера. Этот тип атаки выполняется, когда есть лазейки во время выполнения программного обеспечения или приложений, и это может быть предотвращено путем тщательного изучения различных полей ввода, таких как комментарии, текстовые поля и т. д.
Взлом пароля
Для того чтобы заполучить конфиденциальную информацию, злоумышленники используют инструменты для взлома паролей, с целью получить пароли или имя пользователя. Чаще всего используемое имя пользователя или пароли, как правило, доступны в Интернете, посредством инструментов для взлома паролей с открытым исходным кодом. Таким образом, тестирование производительности является очень важным для взлома паролей.
URL манипуляция
Это процесс, когда хакеры вносят необходимые изменения в строку запроса URL для получения доступа к информации. Из-за недостаточного уровня безопасности доступ к некоторым конфиденциальным данным может быть получен третьей стороной. Веб-приложения становятся уязвимыми для URL манипуляции, когда он использует метод HTTP GET для передачи информации от клиента на сервер. Таким образом, тестировщик должен изменять параметры для анализа, в зависимости от того принимает их сервер или нет.
Межсайтовый скриптинг (Cross Site Scripting)
Как правило, межсайтовый скриптинг происходит тогда, когда хакер отправляет вредоносные ссылки или коды конечному пользователю, обычно в виде скрипта со стороны браузера. XSS позволяет злоумышленникам вставлять клиентский сценарий на веб-страницы, которые просматриваются другими пользователями. После того, как пользователь кликает по URL-адресу, коды меняются, и это дает необходимый доступ злоумышленнику для того, чтобы украсть персональные данные и другую важную информацию.
Тестирование безопасности
В процессе тестирования безопасности тестировщик выполняет указанные ниже шаги:
• Понимать и идентифицировать потребности приложения в безопасности;
• Соберите всю информацию об установках, которые используются для разработки веб-приложения и сети, таких как технология, оборудование и т. д;
• Определить возможные риски и уязвимости, а также составить их список;
• Создать базу угроз на основании составленного вами списка;
• Подготовить план тестирования в соответствии с выявленными возможными рисками и уязвимостями;
• Подготовить таблицу с данными об обнаружении для каждого риска и уязвимости;
• Держите документ со всеми указанными случаями проверки безопасности наготове;
• Проведите выполнение теста на безопасность;
• Когда все выявленные вами дефекты были исправлены, повторите проверку;
• Выполните регрессионные тесты.
• Создайте подробный отчет о проведенных вами тестах безопасности, о выявленных рисках и уязвимостях, а также о тех и рисках, которые все еще сохраняются.
Источник: Web Applications Security Importance Tactics & Methodology