OWASP, разработка защищенных веб-приложений

Разработка защищенных веб-приложений в соответствии с принципами OWASP.
31 октября 2015312205Дмитрий Коробицын243615

Источник изображения - redspin.com

При обучении программированию преподаватели редко уделяют внимание безопасности, хотя сейчас об этом нужно говорить в первую очередь. Код веб-приложения может быть сколь угодно функционален и правилен, но все это второстепенно, если он уязвим. Как экранировать sql-запросы, сделать защиту от XSS атак, использовать безопасную аутентификацию и управление сессией — об этом вы узнаете, воспользовавшись материалами сообщества Open Web Application Security Project (OWASP) — открытого проекта обеспечения безопасности веб-приложений. Изучить все материалы будет непросто, но ликвидировать наиболее критичные уязвимости веб-приложения вполне возможно, тем более, что существует множество программ для проверки исходного кода на уязвимость, например, утилита Burp Suite, входящая в дистрибутив Kali Linux. Если нужно нагляднее понять, как работает выявление и эксплуатация уязвимостей в веб-приложениях, используйте программу bWAPP.

Зачем это нужно?

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

Как решить проблему и создать действительно безопасное веб-приложение

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

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

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

 А тем, кто определился с тем, что хочет стать программистом, рекомендуем профессию «Веб-разработчик».

безопасностьразвитиеit
Нашли ошибку в тексте? Напишите нам.

Популярные статьи

Новые комментарии