Testing Graph Database Systems via Graph-Aware Metamorphic Relations
Authors: Zeyang Zhuang, Penghui Li, Pingchuan Ma, Wei Meng, Shuai Wang
Пример бага (RedisGraph#2929) из статьи:
Статья: https://www.vldb.org/pvldb/vol17/p836-zhuang.pdf
Код: https://github.com/cuhk-seclab/Gamera
Authors: Zeyang Zhuang, Penghui Li, Pingchuan Ma, Wei Meng, Shuai Wang
Пример бага (RedisGraph#2929) из статьи:
MATCH path =(a) -[*]-(b) WHERE ID(a)=0 AND ID(b)=1
RETURN COUNT(path) // -> 0
MATCH path =(a) -[*]-(b) WHERE ID(a)=1 AND ID(b)=2
RETURN COUNT(path) // -> 4
MATCH path =(a) -[*]-(b) -[*]-(c) WHERE ID(a)=0 AND ID(b)=1 AND ID(c)=2
RETURN COUNT(path) // -> Error 4 != 0*4
Статья: https://www.vldb.org/pvldb/vol17/p836-zhuang.pdf
Код: https://github.com/cuhk-seclab/Gamera
Компания Trail of Bits публикует главы своей книги-руководства по тестированию:
> Руководство по тестированию — это ресурс, который помогает разработчикам и специалистам по безопасности в настройке, оптимизации и автоматизации многих инструментов статического и динамического анализа, которые мы используем в Trail of Bits.
Сейчас там есть советы по стат анализу с помощью CodeQL и фаззингу.
Если The Fuzzing Book больше ориентирована на теорию, то эта книга чисто практическая. Один из советов: какой использовать промпт для LLM, чтобы сгенерировать словарь для фаззинга.
https://appsec.guide/
> Руководство по тестированию — это ресурс, который помогает разработчикам и специалистам по безопасности в настройке, оптимизации и автоматизации многих инструментов статического и динамического анализа, которые мы используем в Trail of Bits.
Сейчас там есть советы по стат анализу с помощью CodeQL и фаззингу.
Если The Fuzzing Book больше ориентирована на теорию, то эта книга чисто практическая. Один из советов: какой использовать промпт для LLM, чтобы сгенерировать словарь для фаззинга.
https://appsec.guide/
Telegram
Протестировал
(Несколько раз собирался написать этот пост и каждый раз забывал. Меня даже уже подписчики стали спрашивать почему я не писал про это (@oleg_log, спасибо!).)
Проф. Андреас Зеллер с коллегами сделал отличный проект для популяризации генеративного тестирования…
Проф. Андреас Зеллер с коллегами сделал отличный проект для популяризации генеративного тестирования…
VerifyThis это серия соревнования по верификации программ, которые проходят ежегодно с 2011 года. Сейчас проходит отбор задач для соревнования этого года, которое пройдет в рамках конференции ETAPS 6 и 7 апреля в Люксембурге. Как я понял нет никакого ограничения по инструментам для верификации и команда сама выбирает наиболее удобный, за прошлые года на сайте указаны инструменты, которые использовали победившие команды: Why3, mCRL2, Dafny, VeriFast. На скриншоте типичная задача с соревнования.
https://www.pm.inf.ethz.ch/research/verifythis.html
https://www.pm.inf.ethz.ch/research/verifythis.html
Выложили слайды и видеозапись докладов с конференции ТБ Форум 2024.
Из докладов, которые мне больше всего "зашли":
Основные направления совершенствования сертификации средств защиты информации, Дмитрий Шевцов, начальник управления ФСТЭК России
Этот доклад перевернул в моей голове представление о людях, которые пишут стандарты для нашей индустрии разработки ПО. Я представлял себе этот доклад самым скучным из сетки докладов, а вышло совершенно наоборот. Из интересного: во ФСТЭК собрали статистику, чтобы профилировать процесс сертификации ПО на разных стадиях перед получением сертификата ФСТЭК. Выяснилось, что больше всего времени уходит на проведение испытаний (38% времени), а на втором месте стадия предоставления заявителем образцов СЗИ в испытательную лабораторию (25% времени). Как следствие, ФСТЭК сократил сроки рассмотрения документов и проведения отдельных видов работ (суммарно на 105 календарных дней). Этой весной вступают в силу приказы о введении "Требования по безопасности информации к системам управления базами данных", по данным ФСТЭК в настоящее время в системе сертификации ФСТЭК России сертифицировано 15 СУБД, из них Требованиям соответствуют 4 СУБД.
Центр исследования безопасности системного программного обеспечения, Алексей Хорошилов, ведущий научный сотрудник, ФГБУН "ИСП РАН"
Традиционный отчет о работе "Центра исследования безопасности ядра", который объединяет усилия отечественных компаний-разработчиков ПО в Linux в стат. анализе и фаззинге Linux-ядра.
Для самых интересных слайдов сделал скриншоты.
Унифицированная среда безопасной разработки программного обеспечения, Вартан Падарян, ведущий научный сотрудник ФГБУН "ИСП РАН"
ИСП РАН продолжает работать над средствами для безопасной разработки и их автоматизацией. На слайдах приведен план работ и отмечено, что планируют портирование технологий анализа кода на отечественные процессоры (Байкал, Эльбрус, что-то на RISC-V) и запустить облако, чтобы предоставлять инструменты для безопасной разработки как сервис. На одном из слайдов приводится сравнение статистики срабатываний в Svace и cppcheck, ожидаемо Svace показал лучшие результаты. Вот бы кто сравнил PVS Studio и Svace, результаты были бы любопытными.
Postgres Professional: путь от SDL к сертификации РБПО, Шаплов Николай Николаевич
В PostgresPro есть отдельная команда, которая целенаправленно занимается фаззингом PostgreSQL. На слайдах явно не указано, но насколько помню устно ребята говорили, что исправления для найденных проблем они возвращают в апстрим. Ребята тестируют сетевой протокол (libpq), функции-обработчики типов данных (28 типов: jsonb, int, line, varchar etc), функции для выполнения операций над данными (128 операций, используется структурированный фаззинг). Для libpq используют FUTAG для автоматической генерации целей. Отдельно докладчик отметил проблему с исправлением найденных проблем:
> Найденный баг должен быть праздником для фаззингиста. Если приходится биться за то, чтобы найденный баг взяли в работу, если багу никто не рад, фаззингист не захочет ничего находить.
Хех, игнорирование найденных проблем демотивирует не только фаззингистов. :-/
https://www.tbforum.ru/2024/program/information-security
Из докладов, которые мне больше всего "зашли":
Основные направления совершенствования сертификации средств защиты информации, Дмитрий Шевцов, начальник управления ФСТЭК России
Этот доклад перевернул в моей голове представление о людях, которые пишут стандарты для нашей индустрии разработки ПО. Я представлял себе этот доклад самым скучным из сетки докладов, а вышло совершенно наоборот. Из интересного: во ФСТЭК собрали статистику, чтобы профилировать процесс сертификации ПО на разных стадиях перед получением сертификата ФСТЭК. Выяснилось, что больше всего времени уходит на проведение испытаний (38% времени), а на втором месте стадия предоставления заявителем образцов СЗИ в испытательную лабораторию (25% времени). Как следствие, ФСТЭК сократил сроки рассмотрения документов и проведения отдельных видов работ (суммарно на 105 календарных дней). Этой весной вступают в силу приказы о введении "Требования по безопасности информации к системам управления базами данных", по данным ФСТЭК в настоящее время в системе сертификации ФСТЭК России сертифицировано 15 СУБД, из них Требованиям соответствуют 4 СУБД.
Центр исследования безопасности системного программного обеспечения, Алексей Хорошилов, ведущий научный сотрудник, ФГБУН "ИСП РАН"
Традиционный отчет о работе "Центра исследования безопасности ядра", который объединяет усилия отечественных компаний-разработчиков ПО в Linux в стат. анализе и фаззинге Linux-ядра.
Для самых интересных слайдов сделал скриншоты.
Унифицированная среда безопасной разработки программного обеспечения, Вартан Падарян, ведущий научный сотрудник ФГБУН "ИСП РАН"
ИСП РАН продолжает работать над средствами для безопасной разработки и их автоматизацией. На слайдах приведен план работ и отмечено, что планируют портирование технологий анализа кода на отечественные процессоры (Байкал, Эльбрус, что-то на RISC-V) и запустить облако, чтобы предоставлять инструменты для безопасной разработки как сервис. На одном из слайдов приводится сравнение статистики срабатываний в Svace и cppcheck, ожидаемо Svace показал лучшие результаты. Вот бы кто сравнил PVS Studio и Svace, результаты были бы любопытными.
Postgres Professional: путь от SDL к сертификации РБПО, Шаплов Николай Николаевич
В PostgresPro есть отдельная команда, которая целенаправленно занимается фаззингом PostgreSQL. На слайдах явно не указано, но насколько помню устно ребята говорили, что исправления для найденных проблем они возвращают в апстрим. Ребята тестируют сетевой протокол (libpq), функции-обработчики типов данных (28 типов: jsonb, int, line, varchar etc), функции для выполнения операций над данными (128 операций, используется структурированный фаззинг). Для libpq используют FUTAG для автоматической генерации целей. Отдельно докладчик отметил проблему с исправлением найденных проблем:
> Найденный баг должен быть праздником для фаззингиста. Если приходится биться за то, чтобы найденный баг взяли в работу, если багу никто не рад, фаззингист не захочет ничего находить.
Хех, игнорирование найденных проблем демотивирует не только фаззингистов. :-/
https://www.tbforum.ru/2024/program/information-security
www.tbforum.ru
Актуальные вопросы защиты информации
Вопросы технической защиты информации и создания средств защиты информации, безопасной разработки программного обеспечения и порядка сертификации. Комментарии и рекомендации ФСТЭК России.
Этот год високосный - в нем есть 29 февраля. И хотя каждый четвертый год високосный это не мешает разработчикам ошибаться вновь и вновь.
Внушительный список проблем, возникших из-за дополнительного дня в 2024 году https://codeofmatt.com/list-of-2024-leap-day-bugs/
Внушительный список проблем, возникших из-за дополнительного дня в 2024 году https://codeofmatt.com/list-of-2024-leap-day-bugs/
Code of Matt
List of 2024 Leap Day Bugs
Well, it's 2024 and leap day has come once again. As I've done in prior leap years, I've captured as many bug reports and outages as I can, along with links to the source where possible. For those have been following along, you'll notice these have been organized…
Гугл окончательно одолела полувековая проблема небезопасных ЯП, поэтому они постепенно будут отказываться от C++ в пользу Perl, Java, Go, Rust.
Secure by Design: Google’s Perspective on Memory Safety
https://security.googleblog.com/2024/03/secure-by-design-googles-perspective-on.html
Secure by Design: Google’s Perspective on Memory Safety
https://security.googleblog.com/2024/03/secure-by-design-googles-perspective-on.html
Google Online Security Blog
Secure by Design: Google’s Perspective on Memory Safety
Alex Rebert, Software Engineer, Christoph Kern, Principal Engineer, Security Foundations Google’s Project Zero reports that memory safety v...
19 марта в Питере пройдёт митап по функциональному программированию и один из докладов посвящен практике совместного использования завтипов с тестированием с помощью свойств (property-based).
Регистрация по ссылке.
Регистрация по ссылке.
Расширение для визуализации тестирования кода на Python с помощью Hypothesis в VScode.
https://marketplace.visualstudio.com/items?itemName=HarrisonGoldstein.tyche
https://marketplace.visualstudio.com/items?itemName=HarrisonGoldstein.tyche
Из интересного в результатах ежегодного опроса среди разработчиков от JetBrains за 2023 год:
8% респондентов используют мутационное тестирование как одну из техник тест-дизайна,
а техникой "угадывание ошибок" пользуются 16%.
Больше половины опрашиваемых так или иначе использовали искусственный интеллект для генерирования тестов.
Более 80% хотели бы использовать AI для написания тестов, а 18% хотели бы продолжить это самостоятельно.
via Developer Ecosystem и Developer Ecosystem (Testing)
См. результаты опросов за прошлые года: 2019, 2020, 2021.
8% респондентов используют мутационное тестирование как одну из техник тест-дизайна,
а техникой "угадывание ошибок" пользуются 16%.
Больше половины опрашиваемых так или иначе использовали искусственный интеллект для генерирования тестов.
Более 80% хотели бы использовать AI для написания тестов, а 18% хотели бы продолжить это самостоятельно.
via Developer Ecosystem и Developer Ecosystem (Testing)
См. результаты опросов за прошлые года: 2019, 2020, 2021.
ChatGPT использует материалы из моей вики про тестирование.
Видео доклада How Badly Do We Want Correct Compilers? (NDC TechTown 2023)
Доклад известного исследователя Джона Регира (John Regehr). Докладчик, насколько можно заметить, ни разу не произносит слово "CompCert" и сомневается в успешности проектов формально верифицированных компиляторов для популярных ЯП, что, конечно, интригует. Рассматриваются инструменты, в разработке которых принял участие автор доклада: YARPGen, Souper и другие проекты.
via
Доклад известного исследователя Джона Регира (John Regehr). Докладчик, насколько можно заметить, ни разу не произносит слово "CompCert" и сомневается в успешности проектов формально верифицированных компиляторов для популярных ЯП, что, конечно, интригует. Рассматриваются инструменты, в разработке которых принял участие автор доклада: YARPGen, Souper и другие проекты.
via
YouTube
Locknote: How Badly Do We Want Correct Compilers? - John Regehr - NDC TechTown 2023
This talk was recorded at NDC Techtown in Kongsberg, Norway. #ndctechtown #ndcconferences #cplusplus #bugs #softwaredeveloper
Attend the next NDC conference near you:
https://ndcconferences.com
https://ndctechtown.com/
Subscribe to our YouTube channel…
Attend the next NDC conference near you:
https://ndcconferences.com
https://ndctechtown.com/
Subscribe to our YouTube channel…