Пример, как в PVS-Studio появляются новые диагностики

Пользователи иногда спрашивают, как появляются новые диагностики в статическом анализаторе PVS-Studio. Мы отвечаем, что черпаем вдохновение из разнообразнейших источников: книг, стандартов кодирования, собственных ошибок, писем наших пользователей и так далее. Сегодня мы придумали новую интересную...

Все блоги / Про интернет

С++: безопасность для новичков

В статье на примерах будет рассмотрено, почему приложения на языке программирования С++ стоит разрабатывать с особым вниманием. Сегодня язык программирования С++ существует в нескольких параллельных реальностях: C++98, C++11, C++14, C++17, C++20. Существует как минимум один источник, где можно...

Все блоги / Про интернет

PVS-Studio, Blender: цикл заметок о пользе регулярного использования статического анализа

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

Все блоги / Про интернет

Обработка дат притягивает ошибки или 77 дефектов в Qt 6

Относительно недавно состоялся релиз фреймворка Qt 6, и это стало поводом вновь проверить его с помощью PVS-Studio. В статье будут рассмотрены различные интересные ошибки, например, связанные с обработкой дат. Обнаружение всех этих ошибок хорошо демонстрирует пользу, которую может получить проект...

Все блоги / Про интернет

Espressif IoT Development Framework: 71 выстрел в ногу

Один из наших читателей обратил наше внимание на Espressif IoT Development Framework. Он нашёл ошибку в коде проекта и поинтересовался, смог бы её найти статический анализатор PVS-Studio. Именно эту ошибку анализатор пока найти не может, зато нашёл множество других. По мотивам этой истории и...

Все блоги / Про интернет

Проверка Clang 11 с помощью PVS-Studio

Время от времени нам приходится писать статьи о проверке очередной версии какого-то компилятора. Это неинтересно. Однако, как показывает практика, если этого долго не делать, люди начинают сомневаться, достоин ли анализатор PVS-Studio звания хорошего ловца багов и потенциальных уязвимостей....

Все блоги / Про интернет

[Перевод] C++: Коварство и Любовь, или Да что вообще может пойти не так?

“C позволяет легко выстрелить себе в ногу. На C++ это сделать сложнее, но ногу оторвёт целиком” — Бьёрн Страуструп, создатель C++. В этой статье мы покажем, как писать стабильный, безопасный и надежный код и насколько легко на самом деле его совершенно непреднамеренно поломать. Для этого мы...

Все блоги / Про интернет

Почему обзоры кода — это хорошо, но недостаточно

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

Все блоги / Про интернет

[Перевод] Краткий обзор Memory Tagging Extension (Armv8.5-A)

В этой публикации представлен перевод вступительной части документа (whitepaper) о новом расширении Armv8.5-A: Memory Tagging Extension (MTE) от компании ARM. MTE стремится повысить безопасность кода, написанного на небезопасных языках, не требуя изменения исходного кода, а в некоторых случаях, и...

Все блоги / Про интернет

Hack The Box — прохождение Bitlab. Слабая JS обфускация, GIT и реверс Windows приложения

Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с легенькой JavaScript обфускацией, загрузим бэкдор через репозиторий Git, и отладим 32- приложение....

Все блоги / Про интернет

C, C++ и DotNet decompile — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 1

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

Все блоги / Про интернет

C, C++ и DotNet decompile — основы реверса. Решение задач на реверсинг с Root-Me. Часть 1

В данной статье 5 первых заданий с сайта Root-Me, узнаем основы дизассемблирования, решим задачи начального уровня реверса, а также декомпилируем dotNet приложение. Организационная информация Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и...

Все блоги / Про интернет

Wireshark 3.x: анализ кода под macOS и обзор ошибок

Wireshark Foundation выпустила финальную stable-версию популярного сетевого анализатора трафика — Wireshark 3.0.0. В новом релизе устранено несколько багов, реализована возможность анализа новых протоколов и заменен драйвер WinPcap на Npcap. Здесь заканчивается цитирование анонса и начинается наша...

Все блоги / Про интернет

Работа с командами APDU на примере EToken

"… Путь не так уж сложен для понимания. Силы природы, естественные наклонности, схемы событий… Примитивное миропонимание замечает только четыре стихии и дальше этого не идёт. Словно вселенная сводится к четырём доступным созерцанию понятным явлениям." Стивен Эриксон. «Полночный прилив». Привет,...

Все блоги / Про интернет

Решение проблемы «Man-in-the-middle» в ММО компоненте Tornado

О самой проблеме: ru.wikipedia.org/wiki/MITM Решение: 1. Сначала как обычно происходит передача ключа RSA public-key. Клиент отсылает серверу открытым пакетом публичный ключ RSA. 2. Сервер получает публичный ключ RSA и шифрует им ключ AES, посылаемый клиенту. Клиент получает ключ AES и после чего...

Все блоги / Про интернет

Качество кода Open Source впервые превзошло качество кода проприетарных проектов на C/C++

Вчера организация The Linux Foundation объявила о запуске проекта Core Infrastructure Initiative (CII) для финансовой поддержки бедствующих Open Source проектов вроде OpenSSL, который в последние годы жил на пожертвования $2000 в год. В официальном пресс-релизе The Linux Foundation подчёркивает,...

Все блоги / Про интернет

Далее