Веб-безопасность: Введение

Как фронтенд-разработчик, я часто уделяю слишком много внимания совершенствованию своих навыков в таких технологиях, как HTML, CSS, JS и SPA-фреймворки, и это правильно🙂, но также важно улучшить мое понимание того, как работает браузер и, что более важно, как я могу повысить безопасность приложений, которые я разрабатываю.
Я был из тех разработчиков, которые всегда изучают новый курс по React, чтобы быть более продуктивным на работе. На последнем занятии мы занялись частью аутентификации приложения, над которым я сейчас работаю, обсуждая, как с ней обращаться. Было неприятно не знать, какое решение лучше всего предложить, где хранить токен на стороне клиента и как объяснить разницу между локальным хранением, хранением сессии и что такое cookies. К счастью, я отношусь к тем людям, которые стараются как можно быстрее заполнить пробел, если он есть, поэтому я решил погрузиться в тему и углубиться в нее.
Цель этой серии статей о веб-безопасности — создать мои учебные заметки и восполнить пробел в себе и других разработчиках: понять образ мышления злоумышленника, узнать о нескольких видах атак, которые могут произойти в веб-приложении, и узнать немного больше о встроенных в браузер инструментах для смягчения атак.

Почему веб-безопасность имеет значение

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

Что в этой серии

Серия состоит из трех частей:

  1. Разведка: когда мы говорим о веб-безопасности, важно начать понимать, как может мыслить злонамеренный пользователь, злоумышленник. Фаза разведки важна, потому что это процесс получения знаний о приложении. Знания не только в перспективе, но и в функциональном плане: кто его пользователи, как приложение приносит доход, какие функциональные возможности есть в приложении и т.д.
    В конце этого процесса мы получим глубокое понимание того, как работает приложение и существует ли в нем возможная уязвимость.

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

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

Необходимые знания

Серия ориентирована на фронтенд-разработчиков, которые хотят получить больше знаний о том, как повысить безопасность веб-приложений и лучше понять свойства, которыми обмениваются клиенты и серверы.
Следовательно, достаточно иметь базовые знания JS, HTML и инструментов разработчика браузера.

Ссылки:
Безопасность веб-приложений: Эксплуатация и контрмеры для современных веб-приложений

The Web Application Hacker’s Handbook: Поиск и эксплуатация недостатков безопасности: Обнаружение и эксплуатация недостатков безопасности

Академия веб-безопасности

Веб-безопасность, курс Стэнфорда

Безопасность и надежность, Обеспечение безопасности вашего сайта и данных ваших пользователей.

Плетение паутины

Оцените статью
devanswers.ru
Добавить комментарий