Обновить
256K+

Linux *

Пишем под *nix

342
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core

Время на прочтение9 мин
Охват и читатели18K

В этой статье мы воспользуемся классификацией распространенных шаблонов атак из ресурса кибербезопасности [CAPEC™]. В первые об “Padding Oracle Attack” на Wallet.dat заговорили в далеком 2012 году (на платформе по управления уязвимостями и анализа угроз “VulDB”). Проблема самого популярного кошелька Bitcoin Core влияет на работу AES Encryption Padding в файле Wallet.dat

Технические подробности данной атаки известны:

Злоумышленник может эффективно расшифровывать данные, не зная ключа расшифровки, если целевая система сливает данные о том, произошла ли ошибка заполнения при расшифровке зашифрованного текста. Целевая система, которая передает информацию такого типа, становится заполняющим оракулом, и злоумышленник может использовать этот оракул для эффективной расшифровки данных, не зная ключа дешифрования, выдавая в среднем 128*b вызовов заполняющему оракулу (где b — это количество байт в блоке зашифрованного текста). Помимо выполнения расшифровки, злоумышленник также может создавать действительные зашифрованные тексты (т. е. выполнять шифрование) с помощью оракула заполнения, и все это без знания ключа шифрования.

Читать далее

Новые проклятия: руководство по ncurses

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели75K

HTOP, midnight commander... Как же они построили довольно красивый и удобный псевдографический интерфейс?

Все благодаря библиотеке для C/С++ под названием new curses ("новым проклятиям" дословно) или же NCURSES.

Но как ее установить и работать с ней?

Вперёд!

Разработка с помощью Yocto

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели31K

Привет Хабр! Недавно принял участие в достаточно интересном воркшопе и хотел бы поделиться приобретенными навыками.

Микроконтроллерами я занимаюсь как хобби, так что основы и даже чуть больше понимаю, да я и сам своего рода Embedded Developer.

Читать далее

Пишем файловую систему для работы с изображениями на TypeScript

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели9.2K

В этой статье мы займемся созданием файловой системы на NodeJS + TypeScript в пользовательском пространстве, которая будет управлять изображениями пользователей. Она будет преобразовывать их в различные форматы, изменяя размеры и предоставляя уникальные бинарные данные изображения при каждом чтении — ведя себя при этом как стандартная файловая система.

Если вам интересна данная тема, добро пожаловать под кат.

Читать далее

Виртуальная камера для WebRTC

Время на прочтение5 мин
Охват и читатели8.5K

Технология работы персонифицированной виртуальной вебкамеры для WebRTC: анимирование 3D модели пользователя в браузере для создания видеотрека, заменяющего камеру пользователя и синхронного с аудио от микрофона.

Читать далее

Создание своего терминала на C++ и Qt: Часть 1

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели19K

Привет, хабр! Сегодня мы создадим свой собственный терминал на языке программирования C++. Я являюсь фанатом Linux, и пользуюсь минималистичными терминальными программами - от Vim как IDE до чатов. Есть множество терминалов, у каждого из них есть плюсы и минусы. Наш терминал не будет претендовать на место серьезного проекта, но если вы хотите улучшить код, который мы сегодня напишем - то вы молодцы, можете без проблем развить наш терминал.

Это будет небольшой, минималистичный терминал для Linux. Он будет на основе фреймворка Qt 5 и библиотеки qtermwidget5.

И эта будет не одна статья, а целая серия статей!

Вперед!

Измерение скорости чтения-записи носителей с помощью утилиты dd

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели36K
Недавно, я вновь побывал в роли технического эксперта, когда занимался переводом книги «Understanding Software Dynamics» от Richard L. Sites. В ходе работы над главой — про скорость работы с жёстким диском, мне поступил вопрос от коллеги: каким образом можно просто и быстро измерить скорость чтения и записи твердотельных носителей информации, в разрабатываемых в компании устройствах? При этом стояла задача реализовать всё это наиболее простыми способами, чтобы они были переносимы между совершенно разными платформами и архитектурами. Носители же информации могут быть любыми: USB Flash, eMMC, SD, NAND и прочее, прочее. Единственное, что их объединяет — это Linux.

Задача захватила меня с головой…
Читать дальше →

Детектирование атак на контейнеры с помощью eBPF

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6K

Привет, Хабр!

Меня зовут Илья Зимин, я аналитик-исследователь угроз в компании R-Vision. Сегодня в статье я расскажу о возможностях обнаружения атак на контейнеризированные приложения с помощью такого инструмента, как eBPF, на примере приемов, связанных с побегом из Docker-контейнеров на Linux-системах.

eBPF (extended Berkeley Packet Filter) — это технология, которая предоставляет программный интерфейс в ядре Linux для обработки его событий в режиме реального времени. Он позволяет загружать и выполнять пользовательские программы в ядре без необходимости модификации самого ядра. Программы выполняются в виртуальной машине, что не позволяет ошибке в пользовательской программе повлиять на всю систему.

Используя возможности eBPF, мы можем отслеживать любое (или почти любое) взаимодействие в системе на уровне ядра, "присоединяясь" к вызовам системных функций, и получать информацию о них: контекст, аргументы, выходные значения и другие. Также на уровне пользователя можно добавить дополнительную логику для обработки этих данных.

Читать далее

Настройка распределённого выполнения параллельных программ в кластере

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели2.6K

В предыдущей публикации Фортран: пишем параллельные программы для суперкомпьютера мы рассмотрели общий подход к программированию в массивно-паралллельной архитектуре (MPP) с использованием языка Фортран-2018 и дали пример запуска массивно-параллельной программы на одной машине с многоядерным процессором. В настоящей статье мы рассмотрим запуск массивно-параллельных программ на кластере высокой производительности (HPC) или кластере высокой готовности (HA). Код в данной статье пишется на языке Фортран-2018 с использованием комассивов (coarrays) и преобразуется компилятором Фортрана в вызовы фреймворка MPI.

Читать далее

Решаем задачу асинхронного ввода-вывода с библиотекой Asio

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели14K

Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. 

На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и низкоуровневого программирования ввода-вывода. Она предлагает свою асинхронную модель. Технология отлично справилась с нашей задачей, и я хочу поделиться с вами опытом ее использования. Под катом расскажу, какие решения я рассматривал для асинхронного ввода-вывода и почему остановился на Asio.

Узнать больше →

(Ex)Cobalt апгрейднула инструментарий: как группа атаковала российские компании в 2023 году

Время на прочтение7 мин
Охват и читатели5.3K

Последние несколько лет специалисты нашего экспертного центра безопасности (PT Expert Security Center, PT ESC) регулярно фиксируют фишинговые рассылки вредоносных файлов, вложенных в архив, — их запуск приводит к загрузке модуля CobInt. Это ВПО — один из основных инструментов киберпреступной группы Cobalt. Ранее не фиксировалось использование этого модуля другими группировками. Вредоносные файлы применялись в атаках на российские компании из сфер энергетики, образования и телекоммуникаций — мы обнаружили это в ходе реагирования на инциденты ИБ в 2023 году. Предполагаем, что на территории России не менее 10 потенциальных жертв.

Мы следим за Cobalt с 2016 года. Ранее группа атаковала кредитно-финансовые организации с целью кражи денежных средств, а в последние несколько лет она сместила акцент на кибершпионаж. С 2020 года Cobalt не была замечена в громких кампаниях, но обнаруженные нами факты подтверждают, что группа или некоторые из ее участников до сих пор активны, только используют они новые инструменты.

В статье мы кратко рассмотрим две цепочки атак, а также расскажем про руткит Facefish, используемый для компрометации узлов под управлением ОС Linux

Подробнее

Разговор с одним из основателей «Базальт СПО» Алексеем Смирновым о свободном ПО и взаимодействии в комьюнити

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели3.8K

В конце сентября и начале октября 2023 года информационная служба Хабра посетила 19 конференцию разработчиков свободного ПО. Это профессиональная конференция для разработчиков, где они обмениваются мнениями. Иногда там возникают споры или оживлённые дискуссии. Обзор мероприятия будет позже, а пока — вот интервью с одним из организаторов этой конференции, председателем совета директоров «Базальт СПО», членом правления «Руссофта» и АРПП «Софт» Алексеем Смирновым.

Читать далее

Встречаем Fedora Linux 39: что появилось в новом релизе? Разбираем по пунктам

Время на прочтение4 мин
Охват и читатели13K

На днях вышел ожидаемый многими релиз дистрибутива Fedora Linux 39. В нём достаточно много изменений, так что о них стоит поговорить подробно. Если есть желание опробовать новинку, то уже подготовлены продукты Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition- и Live-сборки.

Они поставляются в форме спинок с KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway. Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64). Это если коротко. Ну а подробности — под катом.

Читать далее

Ближайшие события

Развертывание программного комплекса на Asp.net на российских ОС

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели15K

В России все больше пользователей и организаций используют российские Linux системы. Но при подготовке пакетов для комплексных решений на этих системах могут возникнуть сложности, связанные с несовместимостью ПО, необходимостью настройки пакетов и т.д. В этой статье рассмотрю основные проблемы, с которыми наша команда столкнулась при развертывании проектного решения на российских Linux системах: Astra Linux, Alt Linux, Red OS. Этот опыт будет полезен для команд разработки, которые переходят на Linux и ранее не работали с ними.

Цель этой статьи не заключается в том, чтобы создать универсальную пошаговую инструкцию (поскольку она будет различаться в зависимости от конкретного случая), но помочь понять, с какими трудностями можно столкнуться при работе с системами, которые требуют доставки приложения через пакеты. Также расскажу, насколько трудоемким может быть проект, который включает развертывание на российских ОС.

Читать далее

Как найти приватный ключ в бинарном коде от Bitcoin Lightning Wallet уязвимость в Quasar Framework

Время на прочтение7 мин
Охват и читатели9.3K

В этой статье мы заострим внимание на приложение для смартфонов iOS и Android популярный Биткоин Кошелек с поддержкой быстрых платежей через (Lightning network) BLW: Bitcoin Lightning Wallet. К большому сожалению многие автономные ноды мобильных приложении с открытым исходным кодом от LNbits Node Manager и Core Lightning подвергает ВЫСОКЕМУ РИСКУ потери всех денежных средств в различных криптовалютных монетах.

Разработчик David Shares из японской компании Bitcoin Portal опубликовал множество документов.

Разберем теоретическую основу: LNbits – это бесплатная система учетных записей для многих мобильных приложений, которые работают с различными криптовалютными кошельками. Изначально широкую популярность LNbits Node Manager получила с развитием Bitcoin Lightning Wallet (BLW) т.к. развитие некастодиальных и автономных нодов для Bitcoin SPV, предназначенный для Android и iPhone с функциональностью Node.js. Благодаря автономным нодам вы имеете полный контроль над своим средством и вам необходимо самостоятельно управлять своими платежными средствами (в отличие от других мобильных приложении с криптовалютными кошельками).

Читать далее

Простая установка ROS2 на Ubuntu 22.04: Руководство для начинающих

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели35K

Статья подробно описывает процесс установки ROS2 версии Humble на операционной системе Ubuntu 22.04 и последующую настройку нод ROS2 для получения изображений, их передачи через топики, а также получение и примеры обработки в других нодах.

Читать далее

Новый релиз Ubuntu Touch: Linux-смартфоны везде и всюду. Что обновилось в OTA-3?

Время на прочтение5 мин
Охват и читатели38K

Как мы уже писали, сейчас Ubuntu Touch продолжает развиваться. Этим занимается команда Ubports. Сейчас представлена прошивка OTA-3 Focal (over-the-air). Она представляет собой третий выпуск Ubuntu Touch, который базируется на пакетной базе Ubuntu 20.04.

Обновление формируется для относительно большого количества моделей, включая Asus Zenfone Max Pro M1, Fairphone 3/3+ и 4, F(x)tec Pro1 X, Google Pixel 3a/3a XL, Vollaphone 22, Vollaphone X23, Vollaphone X, Vollaphone, JingPad A1, Sony Xperia X, Xiaomi Poco X3 NFC/X3, Xiaomi Redmi Note 9, 9 Pro, 9 Pro Max и 9S, Xiaomi Poco M2 Pro. Готовы и бета-версии для таких устройств, как Pine64 PinePhone, PinePhone Pro, PineTab и PineTab2. Подробности — под катом.

Читать далее

Из жизни свободного ПО в России: обзор XIX Конференции разработчиков свободных программ

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.3K

В Переславле-Залесском прошла XIX Конференция разработчиков свободных программ. Организатор — компания «Базальт СПО» — традиционно собрала аудиторию профессионалов, непосредственно связанных с разработкой ПО. Поэтому доклады — исключительно о «профессиональной кухне», без маркетинговой обвязки.

Перечислим некоторые из заинтересовавших нас докладов в коротком обзоре, а полную информацию можно посмотреть на сайте конференции и видеоканале.

Читать далее

Митап по С++ в Москве и онлайн: боли нового стандарта, висячие ссылки и дискуссия о собеседованиях

Время на прочтение2 мин
Охват и читатели3.6K

Привет, Хабр! 21 ноября собираемся на митапе по C++. Обсудим новый стандарт С++ 23 с точки зрения практикующего программиста, узнаем, как избежать dangling reference, и подискутируем, как собеседовать комфортно для всех.

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

Изучить программу →

Автосборка Fsbl, U-Boot, linux kernel и установка debian для arm64 для Zynq Ultrascale zcu106

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели11K

В данной статье описывается способ создания минималистичного образа sd карты c debian arm64 на примере отладочной платы с zynq ultrascale zcu106. Данный способ можно использовать для создания загрузочных образов других устройств с соответствующими изменениями. Битстрим, ядро Linux и dts для удобства разработки размещаются отдельными файлами.

Также описан способ загрузки по сети ядра Linux, dts и корневой файловой системы debian, который позволит сократить время разработки и ресурс карты памяти.

Читать далее