Главная » Архив меток: Linux kernel

Архив меток: Linux kernel

[Перевод] Можно ли закрыть обратно открытый исходный код?

Конечно, разработчик может решить, что будущие версии проекта будут закрытыми, и иногда такое случалось, но то, что уже выпущено на свободу, отозвать обратно не получится. Эта концепция кажется довольно простой для любого человека, некоторое время работавшего с открытым исходным кодом: проект, однажды выпущенный в виде открытого кода, остаётся открытым навсегда. У интернета нет кнопки «удалить»; опубликовав свой код, и дав ...

Читать далее »

Как STACKLEAK улучшает безопасность ядра Linux

STACKLEAK — это функция безопасности ядра Linux, изначально разработанная создателями Grsecurity/PaX. Я решил довести STACKLEAK до официального ванильного ядра (Linux kernel mainline). В этой статье будет рассказано о внутреннем устройстве, свойствах данной функции безопасности и ее очень долгом непростом пути в mainline. STACKLEAK защищает от нескольких классов уязвимостей в ядре Linux, а именно: сокращает полезную для атакующего информацию, которую могут ...

Читать далее »

[Перевод] Рассуждение о священных войнах, а также мольба о мире

Вступление переводчика Я вполглаза слежу за зреющим конфликтом в сообществе Linux. Материалов об этом везде публикуется довольно много, началось всё с этого, в текущем состоянии отражено, например, здесь, а за первоисточником можно обращаться сюда. Среди всего обилия информации меня заинтересовало письмо Эрика С. Рэймонда, которое он озаглавил иронично-пафосно: “On holy wars, and a plea for peace”. Это письмо отличается взвешенным ...

Читать далее »

Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут

По своему обыкновению, он не стал обращаться через социальные сети и делать громкие заявления для прессы. В воскресенье лидер проекта Linux ядра сделал заявление, которое будет иметь долгосрочные последствия для всего сообщество сторонников открытого кода. 19-rc4 он принес извинения за все те инциденты, когда из-за резкого тона в переписке мог задеть чувства младших коллег по цеху. В письме содержащем комментарии ...

Читать далее »

Насколько эффективна виртуальная файловая система procfs и можно ли ее оптимизировать

Она — “прекрасный” пример интерфейсов следующих парадигме “все является файлом”. Файловая система proc (в дальнейшем просто procfs) является виртуальной файловой системой, которая предоставляет информацию о процессах. Однако время не стоит на месте, и сейчас серверы обслуживают сотни тысяч, а то и больше процессов одновременно. Procfs была разработана очень давно: во времена, когда серверы в среднем обслуживали несколько десятков процессов, когда ...

Читать далее »

[Перевод] Раскрытие памяти (Memory Disclosure) ядра в современных ОС

Под катом расположен перевод вступительной части документа Detecting Kernel Memory Disclosure with x86 Emulation and Taint Tracking (Статья Project Zero) от Mateusz Jurczyk. В переведенной части документа: специфика языка программирования C (в рамках проблемы раскрытия памяти) специфика работы ядер ОС Windows и Linux (в рамках проблемы раскрытия памяти) значимость раскрытия памяти ядра и влияние на безопасность ОС существующие методы и ...

Читать далее »

Релиз Linux kernel 4.17: что о нем нужно знать

Третьего июня Линус Торвальдс объявил о релизе Linux kernel 4.17, который должен был стать версией 5.0, но не стал. Расскажем, почему так вышло, и что нужно знать о версии 4.17. / фото Farhan Perdana (Blek) CC BY Почему не 5.0 Несмотря на то, что Линус Торвальдс предполагал, что релиз с названием Linux kernel 5.0 появится летом 2018 года, этого не ...

Читать далее »

Перехват функций в ядре Linux с помощью ftrace

В одном проекте, связанном с безопасностью Linux-систем, нам потребовалось перехватывать вызовы важных функций внутри ядра (вроде открытия файлов и запуска процессов) для обеспечения возможности мониторинга активности в системе и превентивного блокирования деятельности подозрительных процессов. Перехватчик можно устанавливать из загружаемого GPL-модуля, без пересборки ядра. В процессе разработки нам удалось изобрести довольно неплохой подход, позволяющий удобно перехватить любую функцию в ядре по ...

Читать далее »

Использование файлов-последовательностей ядра Linux

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

Читать далее »

Процесс портирования драйверов устройств Linux

Здравствуйте, хаброчитатели! Введение Иногда так случается, что возникает необходимость перейти на более новую версию ядра Linux и, соответственно, выполнить перенос уже существующих драйверов устройств. Процесс переноса может занять от нескольких минут до более продолжительного промежутка времени. Зависит это не только от сложности драйвера, но и от того, с какой и на какую версию ядра вы собираетесь перейти (API имеет свойство ...

Читать далее »