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

Курсы

Программирование
PHP Developer. Professional Алгоритмы и структуры данных Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Scala-разработчик PHP Developer. Basic C# Developer. Professional
-23%
Архитектура и шаблоны проектирования iOS Developer. Professional MS SQL Server Developer Golang Developer. Professional Vue.js разработчик NoSQL Highload Architect Node.js Developer Web-разработчик на Python Android Developer. Professional Microservice Architecture Reverse-Engineering. Professional React.js Developer Flutter Mobile Developer Разработчик IoT Подготовка к сертификации Oracle Java Programmer (OCAJP) Java Developer. Basic Программист С Супер-интенсив "Tarantool" Специализация Java-разработчик
Инфраструктура
Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Administrator Linux. Professional
-26%
Network engineer Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
Administrator Linux. Advanced Специализация Network engineer
-5%
Cloud Solution Architecture NoSQL Инфраструктурная платформа на основе Kubernetes Базы данных Microservice Architecture Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по использованию и настройке GIT Administrator Linux.Basic Экспресс-курс «IaC Ansible» Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс "Версионирование и командная работа с помощью Git" Network engineer. Basic
Корпоративные курсы
Безопасность веб-приложений Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
Agile Project Manager Руководитель поддержки пользователей в IT
-10%
Промышленный ML на больших данных Cloud Solution Architecture NoSQL Node.js Developer Reverse-Engineering. Basic Machine Learning. Professional Супер-практикум по работе с протоколом BGP Game QA Engineer Разработчик IoT Экcпресс-курс «ELK» Enterprise Architect Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker» Вебинар CERTIPORT
Специализации Курсы в разработке Подготовительные курсы Подписка
+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 комментариев
Для комментирования необходимо авторизоваться
🔥 Выгодные предложения
Подборка курсов, которые можно приобрести по выгодной цене только до конца июля!