Предмет: Информационная безопасность
Необходимо написать правила, которые находят описанные уязвимости на СodeQL (Linux Ubuntu 22.04.4, Visual Studio Code). Эти правила должны быть сами по себе универсальными (то есть, не должно быть так, что они ищут по названию переменных, например, сами уязвимости. Необходимо использовать taintedflow анализ и dataflow анализ). Используется расширение в VSCode для codeql. В правилах должно быть как можно меньше false-positive или их вообще не должно быть. Примеры поиска уязвимостей, а также репозиторий с файлами для написания правил представлены ниже. Ссылка на стандартные правила: GitHub - github/vscode-codeql-starter: Starter workspace to use with the CodeQL extension for Visual Studio Code.
Вот сами репозитроии с кодами, для которых надо найти уязвимости:
https://github.com/GSACTech/contest/tree/main/resources/test_suites/testcases/use_after_free
Соответственно, там где файл *_fix.с, программа не должна находить уязвимость. В остальных, должна.
Документация по CodeQL: https://docs.github.com/ru/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code
CodeQL CLI: https://github.com/github/codeql-cli-binaries/releases
Обязательно в Visual Studio Code это всё необходимо сделать. Вот характеристики:
CodeQL extension version: 1.17.1
CodeQL CLI version: 2.20.0
Platform: linux x64
Также, как я писал выше, недавно в CodeQL было произведено изменение API. По этой ссылке можно поподробнее ознакомиться с изменениями в Taintedflow, Dataflow анализах итд.
https://github.blog/changelog/2023-08-14-new-dataflow-api-for-writing-custom-codeql-queries/
Есть также видео, по которому лично я устанавливал codeql:
Гарантия на работу | 1 год |
Средний балл | 4.58 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |