🌐 Безопасность GraphQL |

🌐 Безопасность GraphQL

Обзоры

Для тех, кто не знает, GraphQL – это язык запросов и среда выполнения для API, разработанный компанией Facebook с открытым исходным кодом.

Как и любое другое программное обеспечение, GraphQL тоже имеет свои плюсы и минусы.

Вы можете игнорировать минусы, связанные с возможностями или функциональностью.

Но что если мы скажем вам, что в GraphQL есть список уязвимостей?

Не волнуйтесь.

Существуют различные инструменты, которые помогут вам найти и устранить уязвимости в безопасности GraphQL.

Но прежде чем мы познакомим вас с этими инструментами, давайте рассмотрим, что такое GraphQL и каковы его уязвимости.

Что такое GraphQL?

Чтобы объяснить, что такое GraphQL, представьте себе такой сценарий: вы сидите в ресторане и заказываете обед.

Но, возможно, вы хотите получить не совсем то блюдо, которое указано в меню.

Иногда вы можете захотеть включить или исключить некоторые ингредиенты.

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

Представьте себе GraphQL в виде официанта, который подстраивается под ваши пожелания и приносит вам именно то, что вы просили, но GraphQL работает с данными, полученными от серверов.

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

Уязвимости GraphQL

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

  • Over-fetching и under-fetching: данная уязвимость может привести к перерасходу ресурсов сервера. Если инструкции по получению данных из GraphQL некорректны, это может привести к избыточной (получение большего количества данных, чем запрашивается) или недостаточной (получение меньшего количества данных, чем запрашивается, что заставляет пользователя запрашивать данные несколько раз) выборке.
  • Чрезмерное раскрытие данных: при неправильной настройке контроля доступа происходит раскрытие критически важных данных. И если сервер разрешает несанкционированный доступ, то любой хакер, обладающий достаточной квалификацией, может легко проникнуть в эти данные.
  • Проблема вложенных запросов: По умолчанию в сервере нет ограничений по сложности, что позволяет отправлять сложные запросы. А теперь представьте себе несколько вложенных друг в друга сложных запросов, которые будут забирать все системные ресурсы, что приведет к замедлению отклика и даже к возможной атаке DOS (Denial Of Service).
  • Инъекции: GraphQL – это не что иное, как язык запросов с пользовательским вводом, что означает, что если ваш API не защищен, то в него может быть внедрен вредоносный код, и атаке могут подвергнуться ваша база данных, файловая система и даже сеть и ОС.
  • GraphQL-бомбы: Они были обнаружены в августе 2022 года и затрагивают API, реализующие загрузку файлов на языке GraphQL. Это DOS-атака (Denial Of Service – отказ в обслуживании), которая заключается в отправке множества HTTP-запросов к конечной точке GraphQL.
  • Неправильно сконфигурированные HTTP-заголовки: Хотя это кажется пустяком, поверьте, это может нанести гораздо больший ущерб, чем вы думаете. Неправильная настройка заголовков может открыть ворота для таких атак, как CSRF (Cross-Site Request Forgery), MIME sniffing, Man in the Middle и др.

см. также:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий