LinuxDoc.ru - Новости Linux - ktap система динамической трассировки для ядра Linux

ktap система динамической трассировки для ядра Linux

LinuxDoc.Ru,
Представлен первый выпуск проекта ktap, в рамках которого развивается новая система динамической трассировки работы ядра Linux, предоставляющая собственный скриптовый язык для создания сценариев. Сценарии могут быть использованы как для автоматизации выявления узких мест, так и для изменения параметров работы ядра. При этом возможности не ограничиваются мелким тюнингом, скрипты ktap могут использоваться для изменения поведения систем ядра и даже для реализации дополнительной функциональности.



От существующих систем, таких как SystemTap и DTrace, ktap отличается иной архитектурой и другими принципами организации выполнения скриптов трассировки. Скрипты преобразуются в байткод, загружаемый и выполняемый уже работающим центральным модулем ktap, что не требует сборки и загрузки отдельных модулей ядра из расчёта отдельный модуль для каждого из сценариев трассировки. Байткод выполняется внутри специальной регистровой виртуальной машины ktapvm (подобный подход близок к DTrace и отличается от SystemTap, в котором используется транслятор). Байткод является универсальным и может быть использован без пересборки в ядрах на системах с различной архитектурой, т.е. скрипт может быть собран и проверен на ПК разработчика и потом выполнен на встраиваемом устройстве на базе другой процессорной архитектуры.

Синтаксис языка сценариев напоминает язык Си и отличается в основном методом объявления переменных (в ktap используются динамические переменные, без явного объявления), поддержкой вместо массивов табличных структур (хэши ключ/значение, позволяющие указывать t["key"] = 10), отсутствием необходимости завершения строки знаком ';'. Замедление работы ядра при активации ktap не превышает 10%, после интеграции JIT в виртуальную машину ktapvm паразитную нагрузку планируется свести к 3-5%.




Первый выпуск ktap пока доступен только для 32- и 64-разрядных систем x86. Среди поддерживаемых возможностей отмечается поддержка установки точек трассировки (tracepoints), анализ работы системных вызовов, использование контрольных проверок kprobes и kretprobes, отслеживание вызова обработчиков событий от таймера, оценка состояния стека. Для использования в скриптах поставляется встроенная библиотека функций для упрощения работы с различными низкоуровневыми механизмами трассировки.

Код проекта распространяется под лицензией GPL и оформлен в виде модуля для ядра Linux. Система может использоваться с ядрами начиная с версии 3.4 (ядро должно быть собрано с опциями CONFIG_EVENT_TRACING, CONFIG_PERF_EVENTS, CONFIG_KPROBES и CONFIG_KALLSYMS) и не требует применения дополнительный патчей для кода ядра.


Пример простой функции трассировки системных вызовов:

function eventfun (e) {
printf("%d %dt%st%s", cpu(), pid(), execname(), e.tostring())
}
kdebug.probe("tp:syscalls", eventfun)

kdebug.probe_end(function () {
printf("probe endn")
})
linux

Новости Linux

. ktap система динамической трассировки для ядра Linux ktap система динамической трассировки для ядра Linux
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.
>>> Состоялся релиз web-браузера Min 1.13, предлагающего минималистичный интерфейс, построенный вокруг манипуляций с адресной строкой. Браузер создан с использованием платформы Electron, позволяющей создавать обособленные приложения на основе движка Chromium и платформы Node.js. Интерфейс Min написан на javascript, CSS и HTML. Код распространяется под лицензией Apache 2.0. Сборки сформированы для Linux, macOS и Windows.
>>> Представлен релиз Linux-дистрибутива Zorin OS 15.2, основанного на пакетной базе Ubuntu 18.04.4. Целевой аудиторией дистрибутива являются начинающие пользователи, привыкшие работать в Windows. Для управления оформлением дистрибутив предлагает специальный конфигуратор, позволяющий придать рабочему столу вид, свойственный различным версиям Windows, а в состав включена подборка программ, близких к программам к которым привыкли пользователи Windows. Размер загрузочного iso-образа составляет 2.3 Гб (доступны две сборки - обычная на основе GNOME и "Lite" с Xfce).
>>> Компания iXsystems объявила об унификации своих продуктов для быстрого развёртывания сетевого хранилища (NAS, Network-Attached Storage). Свободный дистрибутив FreeNAS будет объединён коммерческим проектом TrueNAS, расширяющем возможности FreeNAS для предприятий и предустанавливаемом на выпускаемых в iXsystems системах хранения.
>>>

В течение многих лет в Kali Linux было принято использовать политику root-доступа для пользователя по умолчанию, что наследовалось еще из BackTrack Linux. 31 декабря 2019 года разработчики Kali Linux приняли решение перейти к более «классической» политике — отсутствию прав root в пользователя в дефолтной сессии. Изменение будет внедрено в выпуск 2020.1 дистрибутива, но, при желании, можно потестировать его уже сейчас, скачав одну из ночных или еженедельных сборок.

Немного истории и теории
Изначально был основанный на Slackware BackTrack Linux, в котором не было ничего, кроме огромного набора инструментов для пентестинга. Так как многие из этих инструментов требовали root прав, а дистрибутив предназначался только для запуска в Live режиме с диска, самым очевидным и простым решением было сделать root-права для пользователя по-умолчанию.

Со временем популярность дистрибутива росла, а пользователи начинали устанавливать его на железо вместо простого использования в режиме «загрузочного диска». Тогда, в феврале 2011 года, было принято решение перейти со Slackware на Ubuntu, чтобы у пользователей было меньше проблем и появилась возможность своевременного обновления. Спустя некоторое время, в основу Kali лег Debian Linux.

Хотя разработчики не поощряют использование дистрибутива Kali как основной ОС, нынче многие пользователи почему-то делают это, даже в случае, если они не используют дистрибутив по его прямому назначению — для проведения пентестов. Что примечательно, так делают и некоторые члены команды разработчиков дистрибутива.

При таком использовании дефолтные root-права скорее зло, чем польза, поэтому и было принято решение перейти к «традиционной» модели безопасности — пользователь по-умолчанию без root-прав.

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



Редакция портала:

Добро пожаловать на сайт, посвященный документации к ОС Linux, ее переводу и распространению. Мы надеемся, что Вы найдете тут всю необходимую информацию. Здесь представлены три основных вида документации на русском языке: руководства (man-pages), HOWTO и mini-HOWTO. В скором будущем возможно появление и других видов документации.
Авторские права на представленные документы принадлежат авторам перевода и распространяются в соответствии со Стандартной Общественной Лицензией, если в документе не указано обратное.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.


Живая лента

Что с нами делает музыка

STFW.Ru: Музыка слышна из динамиков, наушников, автомобилей, кафе, соседских окон - она повсюду. Но почему? И способна ли она повлиять на что-то, кроме настроения?У людей много чего общего, где бы ...

Директор ВЦИОМ Федоров: "Рост рейтингов доверия и одобрения деятельности Президента Путина после его 2-го обращения к гражданам России на 74% и 72% обоснован его действиями в ситуации с коронавирусом"

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

Вирусы научились управлять обменом веществ своих жертв

STFW.Ru: Молекулярные биологи из США открыли множество вирусов, которые могут не только размножаться внутри клеток водорослей, но и манипулировать их обменом веществ. Это стирает очередную грань ...

06:01 Минкомсвязи утвердило требования к российским DNS


08:11 Выпуск Debian 9.6


08:11 Четвёртый бета-выпуск FreeBSD 12.0. Прекращение поддержки FreeBSD 10


08:11 Mozilla тестирует в Firefox две новые возможности: Price Wise и Email Tabs


08:11 В Chrome развивается API для создания полноценных пользовательских приложений


08:11 Выпуск wayland-protocols 1.17 с поддержкой буфера обмена по средней кнопке мыши


08:11 Обновлены сборки дистрибутива Void Linux


15:11 Cinnamon 4.0


15:11 В Chrome 71 начнётся блокировка вводящих в заблуждение рекламных блоков


15:11 ReactOS 0.4.10


10:11 Релиз GhostBSD 18.10


10:11 Новые системы машинного обучения от Fаcebook и Google


09:09 Chrome OS 69 с обновлённым интерфейсом и поддержкой Linux