home.social

#static_analysis — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #static_analysis, aggregated by home.social.

  1. Реверс — это сканворд. Как я впервые нормально понял Ghidra

    Привет, Хабр. У меня бывают неожиданные заказы, из неожиданных сфер на фрилансе. Недавно писал про то как прилетел большой проект по классификатору фоток. А теперь пришел запрос на реверс! Не могу вдаваться в подробности проекта - много конфиденциального - но я расскажу про конкретный разбор одного .dll файла. Открыл Ghidra, кликнул на функцию, включил декомпилятор - и передо мной встала стена. Не метафорическая стена. Прям реально стена! И вот пока я эту функцию ковырял, переименовывал переменные, ходил по ссылкам, открывал соседние функции, смотрел строки, в какой-то момент меня щёлкнуло. Это же сканворд.

    habr.com/ru/articles/1029296/

    #reverse_engineering #ghidra #реверсинжиниринг #binary_analysis #dll #decompilation #xrefs #static_analysis #reverse #binary_parsing

  2. Разработка нового статического анализатора: PVS-Studio JavaScript

    Вот уже 18 лет статический анализатор кода PVS-Studio находится на рынке. За это время он обзавёлся поддержкой языков C, C++, C# и Java. Разумеется, останавливаться на этих языках мы не планируем, и в этой статье расскажем про разработку нового JavaScript/TypeScript анализатора, который выйдет уже совсем скоро.

    habr.com/ru/companies/pvs-stud

    #pvsstudio #opensource #javascript #typescript #java #gRPC #static_analysis #статический_анализ #AST #семантический_анализ

  3. Taint-анализ в C и C++ анализаторе PVS-Studio

    Ваш код принимает данные извне? Поздравляем, вы вступили на минное поле! Любой непроверенный ввод от пользователя может привести к уязвимости, и найти все "растяжки" вручную в большом проекте почти невозможно. Но есть "сапёр" — статический анализатор. Инструмент нашего "сапёра" — taint-анализ (aka анализ помеченных данных). Он позволяет обнаружить "грязные" данные, дошедшие до опасных мест без проверки. Сегодня мы расскажем о том, как он работает.

    habr.com/ru/companies/pvs-stud

    #taint_analysis #taint #static_analysis #pvsstudio #pvs #c++ #dataflow #dataflow_analysis #security #software_security

  4. Как мы Best Practices в Java анализатор внедряли

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

    habr.com/ru/companies/pvs-stud

    #java #dependency_injection #guice #software_architecture #clean_code #static_analysis #inversion_of_control

  5. Статический Анализ С-кода

    Существует бесплатные статические анализаторы. Среди низ splint и cppcheck. Статический анализатор это такая консольная программа, которая проверяет исходные коды до компиляции. Своего рода автоматическая инспекция программ. В этом тексте я представил готовый makefile для запуска статического анализа.

    habr.com/ru/articles/770506/

    #splint #lint #make #mcu #firmware #C #си #static_analysis #Сppcheck #Сppcheck

  6. Поиск потенциальных уязвимостей в коде, часть 2: практика

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

    habr.com/ru/companies/pvs-stud

    #sast #taint #taint_analysis #cfg #defuse #call_graph #inheritance_graph #security #dataflow #static_analysis

  7. Поиск потенциальных уязвимостей в коде, часть 1: теория

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

    habr.com/ru/companies/pvs-stud

    #sast #taint #taint_analysis #cfg #defuse #ssa #call_graph #security #dataflow #static_analysis