7 советов по повышению
безопасности приложений
Огромный рост числа киберпреступлений заставляет компании тщательнее подходить к вопросам безопасности и разрабатывать новые техники, повышающие защищенность приложений.
23.03.2016

Подобное происходит потому, что традиционные методы, например, ручное тестирование или WAF’ы (Web Application Firewall; межсетевой экран для веб-приложений) часто не спасают от становящихся все более изощренными хакерских атак.

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

1. Спланируйте жизненный цикл разработки программного обеспечения
Наиболее эффективный способ повысить безопасность разработок – внедрить так называемый жизненный цикл разработки программного обеспечения (Software Development Life Cycle; SDLC). Сей процесс разделяет цикл разработки на отдельные стадии, в каждой из которых предусмотрен аудит безопасности. Автоматизация тестирования, в конечном счете, позволит обнаружить уязвимости на более ранних стадиях.

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

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

4. Не забывайте о входных данных со стороны пользователей. Используйте WAF
В большинстве современных веб- и мобильных приложениях происходит взаимодействие с пользователями, которые обычно вводят какие-либо сведения в своих браузерах. Это дает хакерам большие возможности для обхода защиты приложений. Наиболее популярные методы атак, используемых злоумышленниками: SQL- и LDAP- инъекции и межсайтовы скриптинг (XSS).

5. Убедитесь в том, что приложение совместимо с современными стандартами безопасности
Существует два стандарта безопасности, признанных всеми компаниями вне зависимости от сферы деятельности, с которыми, по возможности, должно быть совместимо программное обеспечение. OWASP Top-10 и SANS 25 – исчерпывающие списки уязвимостей, создаваемые некоммерческими организациями. Свежая информация добавляется ведущими экспертами по безопасности со всего мира.

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

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

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

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