Зачем и как защищать конечные точки API?

Зачем и как защищать конечные точки API?
Зачем и как защищать конечные точки API?

Как вы защищаете свой API? В эпоху взрыва цифровой экономики через API передаются огромные объемы данных. Бизнес, игры, образование, погода, наука, искусство… да что угодно – все работает на API. Для мира, столь сильно зависящего от API, удивительно мало внимания уделяется безопасности.

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

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

Зачем защищать конечные точки API?

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

Потеря бизнеса

Это очевидно. Если кому-то удастся взломать конечные точки API, это приведет к остановке всего бизнеса. Кроме того, на восстановление после нарушения безопасности может потребоваться много времени, что с точки зрения бизнеса равносильно самоубийству. Правда, для большинства компаний час-другой простоя не будет иметь никакого значения, но для некоторых это недопустимо. Представьте себе, что валютная биржа не работает в течение нескольких минут!

Проблемы с соблюдением нормативных требований

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

Потеря репутации

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

Раздутые счета за инфраструктуру

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

На платформах, где включено автоматическое масштабирование ресурсов (например, AWS), результаты могут быть шокирующими (не по теме, но если вы попали в подобный суп на AWS, они с пониманием отнеслись к ситуации и оперативно отказались от завышенного счета – по крайней мере, на момент написания статьи).

Моральный дух команды

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

Достижения конкурентов

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

Лучшие практики защиты конечных точек API

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

HTTPS всегда

Если ваши конечные точки API позволяют потребителям API общаться по протоколу http или другим небезопасным протоколам, вы подвергаете их большому риску. Пароли, секретные ключи и информация о кредитных картах могут быть легко украдены, поскольку любая атака “человек посередине” или инструмент для анализа пакетов может прочитать их как обычный текст. Поэтому всегда делайте https единственной доступной опцией. Какой бы тривиальной ни казалась конечная точка, подключение по протоколу http не должно быть даже возможным. Сертификат TLS стоит не так уж много: в магазине SSL его можно приобрести всего за 20 долларов.

Одностороннее хеширование паролей

Пароли никогда не следует хранить в виде открытого текста, так как в случае нарушения безопасности все учетные записи пользователей будут скомпрометированы. В то же время следует избегать симметричного шифрования, поскольку любой достаточно изобретательный и настойчивый злоумышленник сможет его взломать. Единственный вариант, который можно предложить, – это асимметричные (или “односторонние”) алгоритмы шифрования для хранения паролей. В этом случае ни злоумышленник, ни разработчик или системный администратор компании не смогут прочитать пароли клиентов.

Надежная аутентификация

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

Применяйте ограничение скорости

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

Валидация вводимых данных

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

Обеспечьте фильтрацию IP-адресов, если это применимо

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

Инструменты для повышения уровня защиты API

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

AppTrana

Специальные функции AppTrana по защите API предлагают комплексное решение, основанное на оценке рисков, для защиты от широкого спектра угроз, связанных с API, включая OWASP API top 10, атаки DDoS и ботов на основе API, встроенные угрозы, утечку данных и т.д. Благодаря неограниченному автоматическому сканированию API, подкрепленному ручным pen-testing, решение постоянно отслеживает уровень риска и укрепляет защиту. Защита API в AppTrana обеспечивает наиболее комплексное решение благодаря сочетанию функций обнаружения рисков, обнаружения угроз API, политик позитивной безопасности API, политик DDoS на основе API, модулей ботов на основе API и функций обнаружения API.

Функция обнаружения API обеспечивает полную видимость вызовов API, включая недокументированные и теневые API, для понимания поверхности атаки на API. Специальная защита API собирает информацию о пользователях, поведении при использовании API, активности угроз, карты вызовов API и т.д., чтобы продемонстрировать состояние защиты с помощью аналитики в режиме реального времени. Используя Indusface AppTrana, вы можете генерировать специальные политики для блокирования злоупотреблений, связанных с API, в режиме реального времени.

Cloudflare

Передовой межсетевой экран веб-приложений (WAF) Cloudflare имеет решающее значение для обеспечения безопасности и эффективности работы приложений и API. Он защищает от DDoS-атак, блокирует несанкционированный доступ ботов, обнаруживает вредоносные данные и сканирует цепочки атак на браузеры.

Разветвленная всемирная сеть Cloudflare обеспечивает передачу огромных объемов трафика через API-шлюз. Для обеспечения безопасности своих API Cloudflare использует комплексную систему, включающую обнаружение API, интегрированное управление и аналитику API, а также многоуровневую защиту API.

Шлюз API обеспечивает безопасное и эффективное управление API, включая обнаружение, защиту 7-го уровня, взаимный TLS, позитивную защиту API, обнаружение злоупотреблений и конфиденциальных данных. Он облегчает идентификацию и мониторинг конечных точек, защищает от атак, реализует аутентификацию, проверяет схемы OpenAPI и предотвращает утечку данных. Cloudflare API Gateway защищает от рисков OWASP API.

Invicti

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

В списке их клиентов такие компании, как Sony, Religare, Coca-Cola, Huawei и т.д., что позволяет быть уверенным в том, что эти люди делают что-то правильное.

Okta

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

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

42crunch

42Crunch – это платформа безопасности API для разработчиков, позволяющая легко интегрировать меры безопасности в конвейер разработки API, обеспечивая проактивное тестирование, исправление и защиту от разработки до исполнения. Платформе доверяют такие ведущие бренды, как Verizon, Ford, Bridgestone, Allianz и др.

Компания утверждает, что является единственной платформой, обеспечивающей управление безопасностью и соответствие требованиям от разработки до выполнения. Для этого используется API Audit, который выполняет 300 проверок безопасности; API Scan, который обнаруживает уязвимости в процессе тестирования и выполнения; и API Protect, который обеспечивает соблюдение политик безопасности API во время выполнения с помощью небольшого контейнерного брандмауэра микроAPI.

Инструменты тестирования безопасности API от 42Crunch помогают обнаружить слабые места в безопасности API, а защита API обеспечивает безопасность во время выполнения программы с помощью проверки содержимого, обнаружения угроз, контроля трафика и микро-брандмауэра API. Более 800 тыс. разработчиков используют API-инструменты 42Crunch.

Probely

Probely – это сканер уязвимостей, используемый SaaS-компаниями, разработчиками, службами безопасности, DevOps и специалистами по соблюдению нормативных требований. Он сканирует веб-приложения и API, находит уязвимости и предлагает подробные отчеты о том, как их устранить. Этой платформе доверяют такие ведущие компании, как Olx, Trend Micro и Entertainment Partners, которые поддерживают различные веб-приложения и API, включая микросервисы и отдельные API, соответствующие спецификации OpenAPI (Swagger) или коллекции Postman.

Probely предоставляет документированный API и адаптирует степень серьезности уязвимости в зависимости от контекста. Он интегрируется с конвейерами CI/CD, автоматизирует тестирование безопасности веб-приложений и API и синхронизируется с платформами отслеживания проблем. Обеспечивается соответствие таким стандартам, как PCI-DSS, OWASP TOP 10, ISO27001, HIPAA и GDPR. Попробуйте бесплатно в течение 14 дней.

APIsec

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

APIsec позволяет избавиться от повторяющегося ручного тестирования сторонних систем, автоматизируя тестирование безопасности API. APIsec легко интегрируется с CI/CD, тикет-платформами и коммуникационными платформами, обеспечивая бесперебойный рабочий процесс. Согласование тестов на проникновение в API с оценкой рисков позволяет выявлять проблемы безопасности на ранних стадиях, сокращая технический долг при разработке приложений.

Платформа предлагает бесплатный сканер неаутентифицированных API, позволяющий выявить неправильную конфигурацию и другие базовые недостатки безопасности. Также предлагаются бесплатные курсы, такие как “Основы безопасности API” и “Экспертное тестирование API”; при желании можно посетить APIsec University.

Cequence

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

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

Среди ведущих компаний, использующих эту платформу, – RBS, American Express, Ulta Beauty, PoshMark, T-mobile, Telstra и др. Среди основных возможностей платформы – обнаружение и оценка рисков API, устранение последствий воздействия чувствительных данных, предотвращение захвата учетной записи и оценка рисков API. Платформа предлагает бесплатную оценку безопасности API.

Заключение

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

clickfraud, ООО “ИНТЕРНЕТ ЗАЩИТА”, ИНН 7806602123, ОГРН 1227800111769, info@clickfraud.ru
Просмотров: 0