ВЫЯВЛЕНИЕ ФАКТОРОВ УЯЗВИМОСТИ БЕЗОПАСНОСТИ В ПРОГРАММНЫХ ИНТЕРФЕЙСАХ ПРИЛОЖЕНИЯ

1. Способ, предусматривающий:
получение документации для API сторонней системы;
генерирование спецификации API на основании полученной документации, причем в спецификации API описывается одна или несколько конечных точек API;
для каждой из одной или нескольких конечных точек:
выполнение задания на аудит для конечной точки для каждой из одной или нескольких потенциальных факторов уязвимости безопасности API;
запись результатов выполненного одного или нескольких заданий на аудит;
генерирование отчета о сканировании для API на основании записанных результатов; и
отправку отчета о сканировании сторонней системе.
2. Способ по п. 1, в котором выполнение задания на аудит для конечной точки для каждого одного или нескольких потенциальных факторов уязвимости безопасности предусматривает:
генерирование тестовой полезной нагрузки для эксплуатации потенциальной уязвимости безопасности для конечной точки;
выявление ожидаемых выходных данных конечной точки для тестовой полезной нагрузки;
применение тестовой полезной нагрузки к конечной точке;
сравнение выходных данных конечной точки в ответ на применение тестовой полезной нагрузки к ожидаемым выходным данным; и
определение результата задания на аудит на основании данных сравнения.
3. Способ по п. 2, в котором результат представляет собой указание на наличие уязвимости, если выходные данные конечной точки не совпадают с ожидаемыми выходными данными.
4. Способ по п. 2, в котором ожидаемые выходные данные представляют собой ошибку.
5. Способ по п. 1, дополнительно предусматривающий:
получение одного или нескольких потоков проверки подлинности для API;
где задание на аудит выполняется для каждой комбинации одной или нескольких конечных точек, одного или нескольких факторов уязвимости и одного или нескольких потоков проверки подлинности.
6. Способ по п. 5, в котором получение одного или нескольких потоков проверки подлинности предусматривает:
получение выборки из одного или нескольких блоков проверки подлинности, которые могут быть объединены для создания каждого одного или нескольких потоков проверки подлинности.
7. Способ по п. 6, в котором по меньшей мере один или несколько потоков проверки подлинности расположены по порядку.
8. Способ по п. 6, в котором по меньшей мере один или несколько блоков проверки подлинности выполняют одно или несколько из перечисленного далее: добавление параметров запроса, добавление заголовков, выполнение подтверждения OAuth2, получение токена многофакторной проверки подлинности, построение подписи запроса, проксирование запроса через прокси и выполнение базовой проверки подлинности.
9. Способ по п. 1, в котором по меньшей мере один или несколько потенциальных факторов уязвимости безопасности представляет собой уязвимость обхода проверки подлинности.
10. Способ по п. 1, в котором по меньшей мере один или несколько потенциальных факторов уязвимости безопасности представляет собой уязвимость утечки параметров проверки подлинности.
11. Энергонезависимый машиночитаемый носитель данных, содержащий команды, которые при выполнении процессором приводят к выполнению таких стадий:
получение документации для API сторонней системы;
генерирование спецификации API на основании полученной документации, причем в спецификации API описывается одна или несколько конечных точек API;
для каждой из одной или нескольких конечных точек:
выполнение задания на аудит для конечной точки для каждого одного или нескольких потенциальных факторов уязвимости безопасности API;
запись результатов выполненного одного или нескольких заданий на аудит;
генерирование отчета о сканировании для API на основании записанных результатов; и
отправку отчета о сканировании сторонней системе.
12. Энергонезависимый машиночитаемый носитель данных по п. 11, в котором выполнение задания на аудит для конечной точки для каждого одного или нескольких потенциальных факторов уязвимости безопасности предусматривает:
генерирование тестовой полезной нагрузки для эксплуатации потенциальной уязвимости безопасности для конечной точки;
выявление ожидаемых выходных данных конечной точки для тестовой полезной нагрузки;
применение тестовой полезной нагрузки к конечной точке;
сравнение выходных данных конечной точки в ответ на применение тестовой полезной нагрузки к ожидаемым выходным данным; и
определение результата задания на аудит на основании данных сравнения.
13. Энергонезависимый машиночитаемый носитель данных по п. 12, в котором результат представляет собой указание на наличие уязвимости, если выходные данные конечной точки не совпадают с ожидаемыми выходными данными.
14. Энергонезависимый машиночитаемый носитель данных по п. 12, в котором ожидаемые выходные данные представляют собой ошибку.
15. Энергонезависимый машиночитаемый носитель данных по п. 11, в котором стадии дополнительно предусматривают:
получение одного или нескольких потоков проверки подлинности для API;
где задание на аудит выполняется для каждой комбинации одной или нескольких конечных точек, одного или нескольких факторов уязвимости и одного или нескольких потоков проверки подлинности.
16. Энергонезависимый машиночитаемый носитель данных по п. 15, в котором получение одного или нескольких потоков проверки подлинности предусматривает:
получение выборки из одного или нескольких блоков проверки подлинности, которые могут быть объединены для создания каждого одного или нескольких потоков проверки подлинности.
17. Энергонезависимый машиночитаемый носитель данных по п. 16, в котором по меньшей мере один или несколько потоков проверки подлинности расположены по порядку.
18. Энергонезависимый машиночитаемый носитель данных по п. 16, в котором по меньшей мере один или несколько блоков проверки подлинности выполняют одно или несколько из перечисленного далее: добавление параметров запроса, добавление заголовков, выполнение подтверждения OAuth2, получение токена многофакторной проверки подлинности, построение подписи запроса, проксирование запроса через прокси и выполнение базовой проверки подлинности.
19. Энергонезависимый машиночитаемый носитель данных по п. 11, в котором по меньшей мере один или несколько потенциальных факторов уязвимости безопасности представляет собой уязвимость обхода проверки подлинности.
20. Энергонезависимый машиночитаемый носитель данных по п. 11, в котором по меньшей мере один или несколько потенциальных факторов уязвимости безопасности представляет собой уязвимость утечки параметров проверки подлинности.