Тег

ядро Linux

18 материалов · RSS

Ядерный фаззинг. Настраиваем Syzkaller для поиска багов в ядре Linux

В этой статье мы попрактикуемся в фаззинге ядра. Но сначала немного поговорим об истории и теории фаззинга, а также обсудим принцип работы нашей цели. Настроим и скомпилируем ядро Linux, настроим Syzkaller и приступим к поиску багов.

По следам Phrack. Ищем LKM-руткиты в оперативке и изучаем устройство памяти x64

Когда‑то, еще в начале погружения в тему ядерных руткитов в Linux, мне попалась заметка из Phrack об их обнаружении с реализацией для i386. Статья была не новая, и речь в ней шла о ядре Linux образца 2003 года. Что‑то в этой заметке меня зацепило,…

Баг в ядре Linux версии 5.19.12 может повреждать дисплеи ноутбуков с Intel GPU

Стабильная версия ядра Linux (5.19.12), релиз которой состоялся 28 сентября 2022 года, может негативно влиять на дисплеи ноутбуков с Intel GPU на борту. Пользователи сообщают, что наблюдают странные белые вспышки,…

Сила четырех байтов. Как я нашел уязвимость CVE-2021-26708 в ядре Linux

В январе 2021 года я обнаружил и устранил пять уязвимостей в реализации виртуальных сокетов ядра Linux, которые получили идентификатор CVE-2021-26708. В этой статье я покажу, как с их помощью получить…

Реверс-шелл на 237 байт. Изучаем хаки Linux для уменьшения исполняемого файла

Однажды меня спросили: можно ли написать реверс-шелл байт эдак на 200, который, помимо прочего, менял бы себе имя, периодически — PID, варил кофе и желательно взламывал Пентагон? Ответ, увы, очевиден.…

Разработчики из Университета Миннесоты извинились перед Linux-сообществом

Недавно Университету Миннесоты запретили отправлять любые изменения в ядро Linux, так как специалисты учебного заведения намерено внедряли в код уязвимости (ради эксперимента). Представители Университета Миннесоты принесли извинения всему сообществу Linux,…

ВзломХардкор#262

Погружение в недра. Разбираем kernel exploitation, чтобы добраться до рута на виртуалке c Hack The Box

В этой статье будем разбирать одну из самых сложных тем в сфере PWN — эксплуатацию ядра Linux. Ты узнаешь, какие инструменты применяются для отладки ядра, что такое LKM, KGDB, IOCTL,…

Внутри x86-64 SystemV ABI. Как говорить с ядром Linux на его языке

Абстракция — основа программирования. Многие вещи мы используем, не задумываясь об их внутреннем устройстве, и они отлично работают. Всем известно, что пользовательские программы взаимодействуют с ядром через системные вызовы, но…

Как работает Linux: от нажатия кнопки включения до рабочего стола

Лучший способ понять, как работает операционная система, — это проследить поэтапно ее загрузку. Именно во время загрузки запускаются все те механизмы, что приводят ОС в движение. Процесс этот сложный, многоступенчатый…

Shell-скриптинг в среде Android

Android основан на ядре Linux, включает в себя набор стандартных UNIX-команд и простой шелл sh. Все это значит, что мы можем не только использовать командную строку для выполнения низкоуровневых операций,…

Релятивистские хэш-таблицы в ядре Linux 3.17

Хэш-таблицы чрезвычайно активно используются в ядре Linux, чтобы увеличить скорость доступа к различным объектам. Хэш-таблицы намного увеличивают скорость доступа по сравнению с обычным линейным поиском. Но всегда остаётся возможность для…

Сравниваем планировщики ввода/вывода ядра Linux

Не так давно появилась информация, что планировщик BFQ разработчики подготавливают к внесению в основную ветку ядра. В связи с этим я решил сделать обзор планировщиков и провести бенчмарки, чтобы понять,…

Обзор ключевых технологий ядра Linux

Когда-то Линус Торвальдс назвал ядро Linux результатом эволюции, а не инженерии и проектирования, объяснив таким образом серьезную запутанность кода и мешанину из применяемых технологий. Тем не менее Linux держится на…