Можно злоупотреблять даже «идеальными» API



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

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

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

Не все атаки API используют уязвимости
Традиционная безопасность приложений имеет дело с уязвимостями, такими как те, что перечислены в OWASP API Best 10. В этом случае уязвимости определяются как недостатки в реализации API, его развертывании или конфигурации, которые делают его потенциально уязвимым. Уязвимости можно найти и устранить. В течение жизненного цикла разработки (SDLC) уже уделяется значительное внимание сканированию кода и выполнению динамического анализа для раннего обнаружения уязвимостей API.

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

API-интерфейсы раскрывают основную бизнес-логику и конфиденциальные данные снаружи. Чтобы украсть данные или совершить мошенничество, злоумышленнику просто нужно использовать правильный API с правильными учетными данными. Причина, по которой многие успешные атаки трудно обнаружить, заключается в том, что они скрываются в авторизованном трафике. Злоумышленники или мошеннические третьи лица могут использовать эти авторизованные каналы для осуществления несанкционированных действий.

Эти атаки выходят далеко за рамки известных уязвимостей. Когда злоумышленники используют авторизованный доступ, они могут совершить «злоупотребление API». Сегодня злоупотребление API является самой рискованной атакой для целей, поскольку действительные учетные данные используются для доступа или манипулирования данными или проведения мошеннических транзакций. Поскольку учетные данные действительны, доступ и манипуляции разрешены, а ущерб нанесен. Злоупотребление API может включать:

  • Несанкционированное использование API по злонамеренным причинам. В этих случаях API-интерфейсы технически используются так, как задумано, но не тем человеком или по неправильной причине. Очистка данных является одним из примеров.
  • Эксплуатация уязвимостей в логике приложения. Эти злоупотребления относятся к конкретному бизнесу и во многих случаях не рассматриваются в рамках хорошо известной структуры OWASP.

Злоупотребление API — это полезный способ подумать о том, как субъект угрозы может атаковать API, чтобы заставить его работать таким образом, который не соответствует намерениям создавших его разработчиков и менеджеров по продуктам.

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

Даже те организации, которые активно занимаются безопасностью приложений, как правило, уделяют больше внимания защите API, созданных для веб-приложений и мобильных приложений. В этих случаях многие организации часто ошибочно предполагают, что их брандмауэры веб-приложений (WAF) будут нести большую часть нагрузки по обеспечению безопасности такого типа использования API.

Но самая большая предполагаемая брешь в защите API — даже в сложных организациях — это защита API, открытых для партнеров. Эти API созрели для злоупотреблений. Даже если они отлично написаны и не имеют уязвимостей, ими можно злоупотреблять непредвиденными способами, чтобы раскрыть основные бизнес-функции и данные организаций, которые ими делятся.

Возможно, лучшим примером этого является скандал с Cambridge Analytica (CA), потрясший Fb в 2018 году. Напомним, что CA использовала открытый API Fb для сбора обширных данных по меньшей мере о 87 миллионах пользователей. Это было достигнуто с помощью приложения викторины Fb, которое использовало разрешающую настройку, которая позволяла сторонним приложениям собирать информацию об участнике викторины, а также все интересы его друзей, данные о местоположении и многое другое.

Эта информация — и полученные на ее основе демографические и психографические профили — затем продавалась различным политическим кампаниям и движениям. Полное влияние этого, возможно, никогда не будет известно, но общепризнано, что оно оказало существенное влияние на президентские выборы в США в 2016 году и референдум о Brexit в Великобритании. Это также привело к немедленному увеличению рыночной капитализации Fb на сумму, превышающую 100 миллиардов долларов, еще на миллиарды штрафов и постоянному нахождению под прицелом государственных регуляторов спустя годы.

Ничто из этого не связано с использованием уязвимости в инфраструктуре API Fb. CA просто использовал общедоступный API Fb способами, которые не предполагались и не предполагались при его создании. Fb раскрыл основной бизнес-API, которым в конечном итоге злоупотребили.

Что это значит для бизнеса в 2022 году?
Очевидно, что пример Fb является крайним. Тем не менее широкомасштабное злоупотребление API происходит каждый день, поскольку компании все чаще делают свои цифровые драгоценности доступными для торговых партнеров — и даже общественности — через API.

Рассмотрим приложения и услуги онлайн-банкинга, составления бюджета и финансового планирования, которыми многие из нас теперь пользуются каждый день. API — это ключ к тому, чтобы эти удобства работали. Но подумайте о ценности данных, которые теперь доступны через финтех-API, и о существующих возможностях злоупотреблений. Каждый разработанный API — это окно в ваш бизнес, и поэтому им можно злоупотреблять.

Помимо очевидных опасений по поводу конфиденциальности пользователей, злоупотребление этими API может иметь разрушительные последствия для самих финансовых компаний. Например, если бы вы были недобросовестной ипотечной фирмой, не было бы интересно увидеть текущий платеж по ипотеке большого числа пользователей банка и, возможно, сопоставить его с информацией о стоимости дома, полученной из Zillow, чтобы определить лучших кандидатов на рефинансирование?

Подобные риски существуют почти во всех основных отраслях сейчас, когда большая часть наших ежедневных сделок между клиентами и между компаниями осуществляется в Интернете через API.

Систематический подход к злоупотреблению API
Очевидно, что индустрия не начинает с нуля с безопасности API. Существующие передовые методы и ресурсы, такие как OWASP API Best 10, дают специалистам по безопасности первоначальную дорожную карту. Но организациям необходимо рассматривать устранение уязвимостей инфраструктуры API как отправную точку, а не конечную цель. Настоящая битва за безопасность API будет выиграна путем разработки стратегий предотвращения злоупотреблений API. Отрасль должна развиваться по трем важным направлениям, чтобы добиться успеха в борьбе с оскорбительным поведением.

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

  • Систематические подходы к обнаружению, документированию и устранению уязвимостей (например, MITRE CVE).
  • Создание живой базы знаний об известных методах атак (например, MITRE ATT&CK).

В области безопасности API OWASP API Best 10 дает возможность начать первым. Несмотря на то, что еще предстоит проделать большую работу, чтобы разбить каждый широкий тип уязвимости в списке на отдельные подобласти, на которых следует сосредоточиться командам API, это по-прежнему отличный план для упреждающего предотвращения уязвимостей инфраструктуры API.

Но на сегодняшний день сделано очень мало, чтобы по-настоящему понять и задокументировать многочисленные способы злоупотребления API. Область должна быть проактивно обработана, прежде чем злоумышленники получат неправомерные преимущества.

2. Значительно увеличить количество данных API для анализа
Многие ранние усилия по обеспечению безопасности API были сосредоточены на мониторинге отдельных вызовов API или, в лучшем случае, краткосрочной активности сеанса. Этого недостаточно. Оценка отдельных запросов или сеансов не может дать понимания контекста нормального или оскорбительного поведения. Многие законные бизнес-процессы происходят в течение нескольких минут, часов и дней. Многие атаки делают то же самое. Таким образом, подходы к мониторингу и анализу API должны развиваться, чтобы анализировать наборы данных, охватывающие эти длительные периоды времени.

Слепые зоны — еще одна ахиллесова пята многих программ безопасности API. Мониторинг и анализ API не могут быть ограничены приложениями, в которых команда безопасности явно установила датчики. В противном случае забытые устаревшие API никогда не будут обнаружены, а вновь появляющиеся теневые API будут упущены.

Использование облака является ключом к устранению обоих этих пробелов. Он обеспечивает экономичное и масштабируемое хранилище, необходимое для сбора подробных данных из максимально широкого набора источников, включая шлюзы API, сетевые устройства, решения для оркестровки микросервисов и облачных провайдеров. Он также обеспечивает вычислительную мощность, необходимую для выполнения современной поведенческой аналитики и искусственного интеллекта (ИИ) на этих наборах данных.

3. Используйте ИИ для создания инструментов безопасности, которые думают как злоумышленники
Трудно думать как злоумышленник. Ошеломляющее количество человеческого интеллекта и автоматизации используется во всех видах угроз безопасности, включая атаки API и злоупотребления. Единственный способ добиться успеха для организаций — это привнести еще больше ресурсов и творчества в поиск API, обнаружение угроз и их устранение.

Поведенческий ИИ является ключом к этому. Специалисты по безопасности никогда не смогут предсказать будущее. Даже эксперты никогда не смогут предвидеть все творческие способы, которыми злоумышленник попытается злоупотребить API.

Но организации могут исходить из нормального уровня использования и активности API. Затем можно использовать ИИ, чтобы лучше понять объекты, использующие API, и понять, делают ли они это так, как задумано. Традиционные методы защиты приложений не рассчитаны на анализ злоупотреблений в бизнесе. Безопасность API должна думать по-новому — и быть заново изобретенной.

https://cyberxhack.org/