Неналежне управління запасами

Неналежне управління запасами

Стара версія API, яку ви забули, все ще відповідає.

Що таке Неналежне управління запасами?

Контроль безпеки охоплює лише ті кінцеві точки, які, як вам відомо, працюють. Старі версії API, незадокументовані кінцеві точки та забуті хости залишаються розгорнутими за межами цієї картини, досі обслуговуючи незахищений код, який вони завжди робили. Ви отримаєте 401 із поточної версії, зміните один сегмент URL-адреси з v2 на v1 і отримаєте 200 з іменем клієнта, електронною поштою та домашньою адресою, а потім перенесете ідентифікатори облікових записів у масовий список. Виправлення скасовує стару версію, тому кожен шлях під нею повертає 410 Gone. Припинення підтримки в документах не означає вихід на пенсію.

Що ви дізнаєтесь у Неналежне управління запасами

Неналежне управління запасами — Кроки навчання

  1. Стара версія, все ще в списку

    Emberline — це програма для домашнього сонячного й енергетичного використання: клієнти пов’язують свої панелі й батарею, а програма зчитує їхній обліковий запис із API Emberline. Сьогодні Боб націлений на Емберлайн. У нього немає облікового запису та токена; він просто хоче отримати список клієнтів і місце їхнього проживання, щоб далі продавати. Він почав із загальнодоступних документів для розробників Emberline, щоб вивчити API.

  2. Застаріло, не зникло

    У документах описано дві версії API. Боб читає, як кожна з них позначена, і одна етикетка привертає його увагу.

  3. Запитайте поточну версію

    Спочатку Боб називає поточну версію так, як описано в документах: він запитує один обліковий запис за його ідентифікатором, використовуючи приклад ідентифікатора з посилання. У нього немає маркера, тому це неавтентифікований випадок. Якщо шлюз виконує свою роботу, він повинен йому відмовити.

  4. Шлюз відмовляє

    Поточна версія зробила саме те, що мала.

  5. Змініть один сегмент

    Боб надсилає той самий запит, але без маркера, і змінює лише одне: версію в URL-адресі з v2 на v1 , застарілу збірку. Все інше ідентично. Якщо стара версія справді зникла, це не повинно досягти нічого.

  6. Відповідає забута версія

    Той самий запит, який шлюз щойно відхилив, повернувся з даними.

  7. Пройдіться по рахунках

    Один запис — попередження. Оскільки v1 не вимагає маркерів, ніщо не заважає Бобу передавати ідентифікатори облікових записів. Він зберігає версію на v1 і змінює ідентифікатор на наступного клієнта.

  8. Кожен клієнт, у масштабі

    Інший ідентифікатор, інший реальний клієнт.

  9. Перевірка знань

    Ви щойно спостерігали, як зловмисник без облікового запису читає записи клієнтів, змінюючи версію в URL-адресі. Зафіксуйте чому.

  10. Тривога приземляється

    Ви володієте API-шлюзом Emberline і життєвим циклом кожної версії API, що стоїть за ним. Протягом ночі моніторинг помітив тисячі неавтентифікованих читань на старій кінцевій точці облікових записів /v1 з однієї адреси, послідовно переміщаючи ідентифікатори облікових записів. Відділ безпеки надіслав вам електронний лист.

Охоплення стандартів безпеки

OWASP API Top 10

  • API9:2023 Improper Inventory Management

CWE

  • CWE-1059 Insufficient Technical Documentation

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security