Кто виноват и как с этим бороться: о безопасности веб-приложений | OTUS
⚡ Открываем подписку на курсы!
Проходите параллельно 3 онлайн-курса в месяц по цене одного.
Подробнее

Курсы

Программирование
Flutter Mobile Developer Подготовка к сертификации Oracle Java Programmer (OCAJP)
-8%
Супер-интенсив «СУБД в высоконагруженных системах»
-18%
Алгоритмы и структуры данных
-12%
Web-разработчик на Python
-11%
Архитектура и шаблоны проектирования
-14%
Team Lead
-15%
iOS-разработчик. Базовый курс
-23%
Разработчик на Spring Framework Python Developer. Basic
-16%
C# ASP.NET Core разработчик
-18%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Android-разработчик. Базовый курс
-10%
C++ Developer. Professional Разработчик C# AWS для разработчиков Software Architect Unity Game Developer. Basic Разработчик голосовых ассистентов и чат-ботов Backend-разработка на Kotlin React.js Developer Разработчик Node.js Нереляционные базы данных Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Advanced Fullstack JavaScript developer
Инфраструктура
Супер-интенсив «СУБД в высоконагруженных системах»
-18%
PostgreSQL
-10%
IoT-разработчик
-12%
Administrator Linux. Professional
-11%
Базы данных
-19%
Administrator Linux.Basic
-18%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Сетевой инженер AWS для разработчиков Software Architect Reverse-Engineering. Professional CI/CD VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Кто виноват и как с этим бороться: о безопасности веб-приложений

PHP_Deep_LAST_10.07_2_Site.png

Все слышали о SQL-инъекциях, XSS, DoS, DDoS. Кто-то уходил дальше и рассказывал о других методах код-инклудинга, сниффинга, брутфорсинга. И только один из десяти кандидатов на собеседовании может полностью описать последствия удачно осуществлённой SQL-инъекции. Но самое неприятное, что практически все абсолютно уверены, что фильтрация всех получаемых от пользователя данных гарантирует отсутствие уязвимостей в коде.

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

А как насчёт реализованной таким «кустарём» биллинговой системы, в которой в качестве ID-транзакций используется простой инкремент? Такая ошибка, как минимум, позволяет выяснить реальный месячный оборот компании.

Вам кажется, это не так серьезно?

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

Или ещё пример, когда одна известная компания потеряла около 200 000$ из-за небрежности, допущенной ведущим программистом при инициализации переменных. При этом ни автоматизированные тесты, ни ручные тесты не смогли отловить эту ошибку.

А ещё никакая фильтрация данных не спасёт вас, если перед сезонными распродажами (black friday, etc) конкуренты просто сольют ваш бюджет, выделенный на SMS-подтверждения при регистрации пользователей.

Ну и напоследок

Большинство сайтов, написанных начинающими программистами, легко «положить»: просто всем офисом дружно зажмите «F5» на странице с чувствительной к изменениям информацией типа добавления товара в корзину или checkout-корзины.

Вывод

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

Есть вопрос? Напишите в комментариях!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться