Какие самые опасные уязвимости сайтов существуют?

Alla Rud 10.11.2017 21 7405 на прочтение 6 минут

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

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

Простые шаги, как повысить безопасность сайта тут.

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

 

Какие типы уязвимостей сайтов стоит выделить?

injection-attack

  1. Инъекции/Injection

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

  1. Ошибки аутентификации и проверки сессий

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

  1. Уязвимость XSS

Первых два рассмотренных пункта касаются сайтов и сервера. XSS уязвимость больше предоставляет опасность для пользователя, чем для серверной машины. XSS работает в браузере пользователя и дает возможность украсть его информацию. XSS или Cross-Site Scripting работает в JavaScript по тому же принципу что и иньекции. Хакер передает специальную строку в каком-либо поле, в строке JS код, браузер решает, что этот код отправлен сайтом и запускает его. Этот код может быть любым. Чтобы не допустить такой ситуации необходимо экранировать все специальные символы с помощью функции htmlspecialchars или ее аналогичных методов.

  1. Ошибки контроля доступа

Бывают случае, когда по ошибке администраторам для обычным юзеров становится доступной информация, которая на самом деле должна быть скрыта. Наиболее часто это случается на популярных CMS. Например, из-за файлов в корне сайта: файл wp-config.php с паролями доступа к базе данных недоступен из-за расширения php. При его редактировании в Vim и неверном сохранении, создается резервная копия с расширением .swp, а ее то можно открыть в веб-браузере без проблем.

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

  1. Неправильная конфигурация

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

  1. Незащищенные конфиденциальные данные

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

  1. Плохая защита от атак

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

  1. Уязвимости CSRF

С помощью атаки CSRF или Cross-Site Request Forgery мошенник заставляет браузер жертвы отправить HTTP запрос, включая куки, файлы сеанса и тп, в уязвимое веб-приложение.

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

  1. Использование компонентов с уязвимостями

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

  1. Незащищенные API

API интерфейсы - очень важные и востребованные дополнения к каждому приложению в Сети. Они могут работать по протоколам SOAP/XML, REST/JSON, RPC, GWT. Но часто случается, что они также являются не безопасными и имеют массу ошибок, которые открывают уязвимости для сайтов.

 

Какие интернет-проекты являются наиболее уязвимыми?

Компания Positive Tehnologics провела специальное исследование и предоставила отчет о самых уязвимых сайтах. Ими оказались интернет-ресурсы, которые были написаны на PHP с использованием собственного движка. А самыми безопасными стали ресурсы с использованием технологий Java/ASP.NET и коммерческие CMS. Помните, что основная цель киберпреступника – это контроль над сайтом, а наличие уязвимостей только помогут ему достичь их. Поэтому лучше потратить средства на разработку безопасного сайта, чем потом “лечить” уязвимости и страдать от них.

 

Как найти и устранить уязвимости интернет-ресурсов?

Этим вопросом интересуются много разработчиков и владельцев сайтов. Как мы уже рассмотрели, наиболее частыми причинами угрозы безопасности сайтов могут быть: некачественный код сайта/сервера или Open-Source CMS. Поэтому очень важно следить за возникновением возможных уязвимостей на своем интернет-проекте используя для этого специальные средства. Например, для этих целей были разработаны специальные программы.

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

Как обеспечить онлайн безопасность? 7 советов для работы в Сети.

 


Close Screen
Alla Rud
Статей: 574
Оцените статью:


Спасибо за отзыв
Рейтинг: 3.5 из 5 Голосов: 13