
ОЗИ / zaschita_veb_prilozheny
.docxЗащита веб-приложений
Активность государственных и коммерческих структур все в большей степени опирается на веб-технологии и веб-приложения, которые становятся едва ли не самой популярной мишенью для атак. Информация, критически важная для компаний, в настоящее время управляется с использованием веб-приложений.
Атаки на сайты считаются самыми опасными. 74% опрошенных считают защиту веб-приложений самым важным делом или ставят ее наравне с другими проблемами в области обеспечения безопасности, с которыми сталкиваются компании.
В последние годы отмечается два тренда: во-первых, атаки злоумышленников имеют исключительно финансовый интерес; по этой причине чаще всего им подвергаются веб-сервисы интернет-банкинга. Во-вторых, мишенью для хакеров становятся веб-приложения. По оценке Gartner, атаки на веб-приложения составляют около 75% от всего их количества.
Чаще всего атаки возникают вследствие наличия уязвимостей в веб-приложении и могут привести к получению контроля над ним и использованием его в качестве платформы для доступа к бизнес-процессам, внутренней инфраструктуре и критичным данным организации. Взлом веб-приложения, связанного с ключевыми бизнес-процессами, может нанести организации непоправимый вред, вплоть до остановки бизнеса.
Но наиболее опасными, являются атаки на веб-приложения, организованные с помощью инструментов социальной инженерии. «Для киберпреступников современные веб-приложения — это хорошая возможность реализовать свои амбициозные задачи. Связано это с тем, что приложения чаще всего предназначены для массового использования, каковым, например, является интернет-банкинг. Успешные атаки на подобные программы могут привести к краже реальных денежных средств со счетов пользователей».
Серьезные ошибки веб-приложений — это оставшиеся уязвимости в программном обеспечении. Причиной таких ошибок могут стать использование слишком больших привилегий, неправильная реализация шифрования, неудача в проверке входных и выходных данных, слабое управление сессиями, неудачное исправление ошибок и проч. Неправильная работа софта обычно происходит по причине недостаточных практик разработки, где безопасность не является неотъемлемой частью цикла разработки программного обеспечения. Хорошие практики программирования значительно снижают количество уязвимостей, порождаемых ошибками человека.
Способ, которым веб-приложение проектируется и разрабатывается, влияет на его доступность, безопасность и на неприкосновенность данных. Эксперты рекомендуют сервис-провайдерам, разработчикам и поставщикам программного обеспечения, а также компаниям и клиентам, использующим веб-приложения, относить вопросы безопасности к категории наивысшего приоритета, в том числе с точки зрения законодательных и регуляторных норм.
О безопасности веб-приложений специалисты советуют заботиться еще на стадии проектирования, разработки, интеграции — и на протяжении всего жизненного цикла приложения.
Если приложение написано бездумно, то ничто не мешает пользователю написать, например, какой-нибудь хитрый запрос на авторизацию, который всегда будет пропускать злоумышленника: ему даже не потребуется где-то украсть пароль доступа.
Чтобы гарантировать безопасность создаваемого веб-приложения следует помнить об основных принципах проектирования и реализации:
- Защита и тестирование защитных функций задаются во время разработки приложения. Наиболее важно определить потенциальные проблемы безопасности и уязвимые места, нуждающиеся в защите.
- Использование учетных записей с высокими привилегиями для запуска веб-приложений считается плохим тоном программирования.
- Система защиты складывается не только из контрмер. В нее следует еще добавить механизмы для обнаружения атак и внедрить стратегию реагирования.
- Веб-приложение является последней преградой между злоумышленниками и внутренними ресурсами компании. Следует обязательно продумать защиту внутренних систем.
- Во время работы приложение получает данные из различных источников: от пользователей, из баз данных и файлов конфигурации. Следует обеспечить гарантии того, что ввод некорректных данных не вызовет сбоя в работе приложения независимо от источника этих данных.
- Следует внимательно относиться к каждому проявлению ошибки и предоставлять информацию о ней пользователям. Сообщения об ошибках могут быть представлены пользователям в виде каких-то общих фраз, но в журнал всегда нужно записывать подробную информацию об ошибке.
- По традиции атаки DoS (Denial of Service) являются сетевыми. Но веб-приложение может невольно стать инициатором таких атак, например, в случае автоматической блокировки неудачных попыток регистрации, если не обеспечен механизм автоматического снятия блокировок.
- Позиция защиты по умолчанию будет гораздо сильнее, если пользователь, устанавливающий приложение выберет новый пароль, вместо используемого по умолчанию.
- При использовании криптографии необходимо учитывать алгоритм, как генерируются ключи, используются ли пароли с низкой энтропией, как хранятся и передаются пароли, как часто изменяются пароли.