2016-12-20 3 views
2

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

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

Я знаю, что Referrer Header может использоваться для проверки происхождения запроса, но Referrer Header можно легко подделать подкованным пользователем.

Я не знаю, есть ли какие-либо меры, принимаемые службами. Похоже на очень серьезную проблему.

Заранее спасибо.

ответ

0

Это риск, но это не так плохо, как может показаться, если поставщик API подготовлен.

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

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

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

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

+0

Я понимаю, что некоторые службы могут фильтровать трафик с определенного IP-адреса. Что происходит, когда моя целевая аудитория - это школа, где большая часть запросов исходит от одного и того же IP-адреса, а злоумышленник также находится на IP-адресе, используя квоту. – itssiva