capability-based-security

6 статей

Назад ко всем статьям

Ваши зависимости могут читать переменные окружения. JavaScript им позволяет.

Ambient Authority означает, что любой код в вашем процессе Node.js может взаимодействовать с файловой системой, сетью и окружением. Вот как убрать это с помощью lockdown, compartments и явной передачи capabilities.

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

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

Ваши зависимости могут читать любые файлы на диске. cap-std заставляет их запрашивать разрешение.

Стандартная библиотека Rust предоставляет окружающее файловое полномочие каждой зависимости. cap-std заменяет его API на основе полномочий, которые заставляют код доказывать, что у него есть право доступа к пути, прежде чем он откроет его.

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

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

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

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