security

3 posts

Ваш сервис — невольный пособник: как работают атаки Confused Deputy

Атака Confused Deputy заставляет привилегированный сервис использовать свои полномочия против себя. Вот как злоумышленники эксплуатируют неявное доверие и почему capability-based security — это решение.

У вашего сервиса есть API-ключ к облачному хранилищу. Пользователь отправляет запрос. Ваш сервис добросовестно записывает файл. Файл попадает в бакет…

Ваши проверки прав вам лгут

Безопасность на основе capabilities заменяет разбросанные проверки ролей на неподделываемые токены полномочий. Вот как реализовать это в TypeScript, не делая код нечитаемым.

С задним умом любой баг с правами доступа выглядит одинаково. Какая-то функция глубоко в стеке вызовов предполагает, что вызывающая сторона уже проверила . Но…

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

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

Ваша функция имеет доступ к базе данных, платёжному шлюзу и журналу аудита только потому, что она выполняется в том же процессе. Если злоумышленник находит баг…