Зачем нужен отчёт MISRA Compliance и как его получить в PVS-Studio?

Если вы не понаслышке знаете о MISRA и хотели бы понимать, соответствует ли ваш проект какому-то из стандартов ассоциации MISRA, то есть решение. Имя ему - MISRA Compliance. С недавних пор PVS-Studio научился генерировать отчёт соответствия по этому стандарту, и хочется поделиться тем, как это...

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

Et tu, Brute? Что хотят от нас брутфорсеры?

Каждый владелец сервера с «белым» IP-адресом наблюдал в логах бесчисленные попытки подключиться к серверу по SSH с разных точек мира. Администраторы ставят средства противодействия, такие как fail2ban, переносят SSH на другие порты и всячески пытаются защититься от брутфорсеров. Но чего же хотят...

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

Инфраструктура открытых ключей на базе российской криптографии: GnuTLS как альтернатива OpenSSL

Инфраструктура открытых ключей (PKI/ИОК) включает в себя множество различных объектов и механизмов работы с ними, а также протоколы взаимодействия объектов друг с другом (например, протоколы TLS, OCSP). В число объектов ИОК входят запросы на сертификаты (PKCS#10) и сами сертификаты x509, ключевые...

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

Теперь PVS-Studio ещё лучше знает, что за зверь такой – strlen

Как-то так несправедливо сложилось, что мы почти не уделяем в наших заметках внимание усовершенствованию внутренних механизмов анализатора, в отличие от новых диагностик. Поэтому давайте для разнообразия познакомимся с новым полезным усовершенствованием, коснувшимся анализа потока данных. Читать...

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

[Перевод] Серьёзная безопасность: всплывшие спустя 15 лет баги в ядре Linux

Исследователи кибербезопасности GRIMM 12 марта опубликовали три интересных бага в ядре Linux. В коде, который игнорировали около 15 лет. К счастью, кажется, всё это время никто не присматривался к коду; по крайней мере, не так усердно, чтобы заметить ошибки. Соответствующие CVE уже исправлены. Что...

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

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

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

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

Поддержка токенов PKCS#11 с ГОСТ-криптографией в Python. Часть II — Объекты класса Token

В предыдущей статье был представлен модуль pyp11, написанный на языке Си и обеспечивающий поддержку токенов PKCS#11 с российской криптографией. В этой статье будет рассмотрен класс Token, который позволит упростить использование функционала модуля pyp11 в скриптах, написанных на Python-е. Отметим,...

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

Переполнение кучи в Linux для начинающих

Данный туториал для начинающих, но подразумевается, что читатель уже знаком с основами работы функции malloc библиотеки glibc. Подробно рассмотрим как эксплуатировать переполнение кучи в Linux на примере 32-разрядного Raspberry PI/ARM1176. Так же разберем некоторые нюансы эксплуатации и в x86-x64...

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

[Перевод] Голосовое управление Roomba с помощью Alexa и эмулятора Belkin-Wemo

Роботом-пылесосом iRobot Roomba можно управлять голосовыми командами, запуская уборку или отправляя пылесос в док-станцию. Я уже рассказывал о том, как «общаться» с Roomba через сервер ioBroker. Сегодня речь пойдёт о системе голосового управления, для которой не нужен подобный сервер. Тут, для...

Все блоги / Нетбуки и Планшеты

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

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

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

PKCS#11 для самых маленьких

В этой статье мы познакомимся со стандартом PKCS#11, предназначенным для работы с различными криптографическими устройствами. Для демонстрации мы будем использовать токены и смарт-карты Рутокен ЭЦП 2.0. Читать далее...

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

Поддержка токенов PKCS#11 с ГОСТ-криптографией в Python. Часть I

Поддержка криптографических токенов PKCS#11 с российской криптографией в скриптовых языках (Python, Tcl) давно находится в моём поле зрения. Это, прежде всего, пакет TclPKCS11 и реализованная на его базе кроссплатформенная утилита cryptoarmpkcs. Утилита cryptoarmpkcs написана на tcl/tk и...

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

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

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

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

Шифрование TEA, XTEA, XXTEA

В данной статье рассматриваются блочные симметричные алгоритмы шифрования, которые используют сеть Фейстеля в качестве основы, как и большинство современных блочных шифров. А точнее, описываются алгоритмы шифрования TEA, XTEA, XXTEA и их криптоанализ Читать далее...

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

[Перевод] bdshemu: эмулятор шелл-кода в Bitdefender

Совсем скоро, 19 ноября, у нас стартует курс «Этичный хакер», а специально к этому событию мы подготовили этот перевод о bdshemu — написанном на языке C эмуляторе с открытым исходным кодом в Bitdefender для обнаружения эксплойтов на 32- и 64-битной архитектуре. Эмулятор очень прост, а благодаря...

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

Hack The Box. Прохождение Fuse. RPC, принтеры и опасная привилегия SeLoadDriverPrivilege

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

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

[Перевод] Как мы решаем проблему неинициализированной стековой памяти в Windows

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

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

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

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

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