ОБСУДИТЬ ПРОЕКТ
Расскажите о своих бизнес-целях и наш опыт поможет их достичь!
Фиксируем стоимость
до старта работ
Гарантируем результат
закрепляя его в договоре
Команда под каждый проект
во главе с опытным проект-менеджером
Содержание:
1. Внедрение
2. Некорректная аутентификация
3. Утечка конфиденциальных данных
4. Внешние XML-сущности (XXE)
5. Нарушение контроля доступа
6. Неправильная настройка безопасности
7. Межсайтовый скриптинг (XSS)
8. Небезопасная десериализация
9. Использование компонентов с известными уязвимостями
10. Недостаточный мониторинг и ведение логов
Общие правила защиты веб-приложений
Чек-лист мер обеспечения защиты веб-приложений
По данным Positive Technologies, 26% всех кибератак приходится на сайты. Еще 49% – направлены на инфраструктуру предприятий, которая также часто основана на интернет-технологиях.
Недостаточная защищенность веб-приложений чревата для собственников экономическими, репутационными и другими видами рисков. Взломанные сайты используются для распространения вирусов, кражи данных, публикации конфиденциальной информации и проникновения во внутренние сети предприятий.
Далее рассмотрим популярные виды угроз и как от них защититься.
Хакеры часто используют поля ввода, чтобы внедрять грамматически допустимые конструкции, нарушающие логику приложения. Так можно ввести вредоносный код в приложения, основанные на SQL, noSQL или LDAP.
SQL-инъекция – один самых распространенных видов атак на веб-приложения.
Особенно часто внедрения происходят, когда на сайте нет ограничений того, что пользователь вводит в полях и формах. Вредоносный код, попавший в приложение таким способом, может предоставить хакеру доступ к конфиденциальной информации или правам администратора.
Как обезопаситься:
Получение личных данных или авторизация в чужие аккаунты все еще остается распространенной проблемой.
На многих сайтах не соблюдаются требования к сложности пароля. Например, когда количество попыток ввода не ограничено. Хакер может взломать аккаунт через обычную брут-атаку – методом полного перебора паролей.
Как обезопаситься:
Использование небезопасных протоколов и некачественная криптография идут на руку взломщикам. Используя косвенные индикаторы и побочные каналы, злоумышленники могут определить ключи или методы шифрования.
В атаках на основе синхронизации скорость, с которой приложение обрабатывает и отвечает на определенные запросы, указывает на ценность информации для злоумышленника.
Как обезопаситься:
Ориентируясь на синтаксический XML-анализатор, хакер может внедрить в документ внешние сущности, которые приводят к чтению локальных файлов, а иногда даже к выполнению произвольного кода.
Такая атака возможна, если приложение использует XML для передачи данных между сервером и браузером пользователя. Спецификация XML потенциально опасна и может использоваться для доступа к любым файлам сервера, которые доступны для самого приложения.
Как обезопаситься:
Когда контроль доступа нарушен, злоумышленник, имеющий доступ к учетной записи, может использовать права, которые учетная запись не должна иметь. Обычная учетная запись иногда может читать и копировать файлы, которые должны быть доступны только администратору.
Как это происходит? Права на администрирование и управление приложением могут быть неправильно настроены или не настроены вообще. Это позволяет злоумышленникам подделать сеанс администратора или получить админ права.
Как обезопаситься:
Фреймворки, серверы, серверы баз данных, сами приложения – любые из этих компонентов могут быть уязвимыми и небезопасными.
Исследователи ежедневно находят уязвимости в системах и компонентах. Особенно сложно обезопаситься от уязвимостей нулевого дня – вирусов и уязвимостей, защита от которых еще не разработана.
Использование небезопасных компонентов приводит к краже информации и широкомасштабным атакам.
Когда приложение использует небезопасные компоненты, злоумышленники могут узнать все, что им нужно знать о компонентах, серверах и многом другом.
Как обезопаситься:
Эти атаки обычно происходят в формате внедрения. При этом на клиенте (браузере) запускается произвольный скрипт в контексте атакованного сайта. Это обходит правило ограничения домена, которое обычно управляет источниками скриптов.
Злоумышленники вводят скрипт на страницу сайта жертвы. Этот скрипт запускается при каждом посещении сайта. Один из самых простых примеров – когда пользователь переходит по небезопасной ссылке, вводит свои учетные данные от социальной сети и они попадают в руки злоумышленников. Большинство современных браузеров анализируют скрипты сайта и предупреждают о возможных угрозах.
Как обезопаситься:
Десериализация – это когда поток битовых данных преобразуется в объекты. Вредоносные или подделанные объекты могут вызвать серьезные проблемы безопасности. Злоумышленники могут использовать это для удаленного выполнения кода и запуска программ.
Как обезопаситься:
Выпускать код без ошибок недостаточно. Злоумышленники могут также нацеливаться на программное обеспечение от внешних издателей, которое вы используете.
Уязвимости могут быть в сторонних библиотеках и фреймворках. Хакеры знают об известных уязвимостях в популярных библиотеках. А иногда уязвимости или бэкдоры сознательно вставляются во внешние компоненты.
Как обезопаситься:
Незначительный инцидент может быть частью большой атаки. Неспособность получать и хранить полную информацию препятствует определению потенциальных рисков и угроз. Поэтому нужно расследовать даже те инциденты, которые изначально кажутся пустяковыми.
Как обезопаситься:
Гарантировать защищенность веб-приложений на 100% невозможно. Но зато можно минимизировать риски.Одним из важных шагов является внедрение безопасного цикла разработки (SDL).
Чтобы внедрить SDL, следует применять следующие меры на каждой стадии разработки:
Как видите, это сложный и длительный процесс. Полное внедрение SDL требует значительных инвестиций как в приобретение дополнительного программного обеспечения, так и в найм квалифицированных секьюрити-специалистов.
Если вам мучает вопрос как провести тестирование безопасности web приложений и как устранить все всевозможные типы уязвимостей web приложений, то наша команда с радостью поможет это сделать. Мы проконсультируем вас и найдем решение, которое будет направлено именно под ваши желания и задачи. Свяжитесь с нами или оставьте свои контакты и мы перезвоним в удобное для вас время.
Автор: Ilya Smyrnov
Должность: CEO, Business analyst
Биография: Более 8 лет занимаюсь анализом бизнесов клиентов и повышаю их эффективность с помощью внедрения IT-решений.
Веб приложение. Разница между сайтом, веб-приложением, SPA и PWA
Какие существуют виды сайтов ?
Как составить техническое задание и сэкономить 20% на стоимости проекта
Расскажите о своих бизнес-целях и наш опыт поможет их достичь!
Фиксируем стоимость
до старта работ
Гарантируем результат
закрепляя его в договоре
Команда под каждый проект
во главе с опытным проект-менеджером
Мы всегда на связи
Расскажите о своих задачах и мы обсудим их решение в удобное вам время.
Спасибо за ваш интерес!
Мы с вами свяжемся в ближайшее время