The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз ядра Linux 3.5. Обзор новшеств "
Отправлено opennews, 22-Июл-12 11:29 
Линус Торвальдс представил (https://lkml.org/lkml/2012/7/21/114) релиз ядра Linux 3.5 (http://kernel.org). Из основных улучшений можно отметить: поддержка контрольных сумм для обеспечения целостности метаданных в Ext4; система профилирования приложений на пользовательском уровне; механизм создание sandbox-окружений с изоляцией системных вызовов; реализация новых алгоритмов управления очередями пакетов для борьбы с задержками в результате излишней буферизации; возможность сохранения состояния сетевых соединений между перезагрузками; поддержка RFC 5827 (TCP Early Retransmit); реализация альтернативного способа перехода в спящий режим, подобного используемому в платформе Android; учёт статистики о проблемах с вводом/выводом в Btrfs; возможность проброса SCSI поверх Firewire  и USB.

В новую версию принято около 11 тысяч исправлений от более чем 1200 разработчиков, размер патча - 42 Мб (изменения затронули 9631 файлов, добавлено 623283 строк кода, удалено 410731 строк). Около 38% всех представленных в 3.5 изменений связаны с драйверами устройств, примерно 26% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 15% связано с сетевым стеком, 5% - файловыми системами и 5% c внутренними подсистемами ядра.


Наиболее интересные новшества (http://kernelnewbies.org/Linux_3.5) ядра 3.5:


-  
Дисковая подсистема, ввод/вывод и файловые системы

- В Ext4 добавлена поддержка контрольных сумм для проверка целостности метаданных. Для обеспечения работы новой функции в поле метаданных добавлен новый блок с контрольной суммой crc32 и соответственно изменена структура хранимых на диске метаданных. Контрольные суммы рассчитываются для суперблока, inode, битовых карт блоков, блоков дерева экстентов, htree-узлов, MMP-блоков, директорий и блоков с расширенными атрибутами. Также поддержка контрольных сумм добавлена в инфраструктуру журналирования jbd2 (Journaling block device), что позволит проверять целостность элементов журнала Ext4, а также отдельных коммитов и блоков данных, хранимых в журнале.


-   Поддержка работы SCSI target поверх протоколов FireWire или  UASP (USB Attached SCSI Protocol);

-  Учёт статистики о проблемах с вводом/выводом в Btrfs. Для каждого диска отслеживаются такие данные как ошибки ввода/вывода, несовпадения контрольных сумм, результаты проверки целостности блоков с метаданными. Накопленную сттистику можно посмотреть командой  "btrfs device stats", поддержка которой включена в свежие версии пакета btrfs-progs. Из других улучшений Btrfs отмечается интеграция патчей для более оптимальной работы с памятью и увеличения отзывчивости в ситуации большой нагрузки на подсистему ввода/вывода;

-  
Сетевая подсистема

- Поддержка интерфейса (http://lwn.net/Articles/495304/) для восстановления TCP-соединений, позволяющего зафиксировать контрольную точку с которой можно возобновить остановленное соединение. Наиболее интересным практическим применением указанной функции является возможность предотвратить разрыв соединений в результате перезагрузки системы.


-  Поддержка  RFC 5827 (http://tools.ietf.org/html/rfc5827) (ранняя повторная отправка пакетов) в сетевом стеке, позволяющая увеличить скорость восстановления потока после потери пакетов;

-  Интеграция алгоритма управления очередями ожидающих отправки пакетов CoDel (http://lwn.net/Articles/496509/), разработанного в рамках инициативы (https://www.opennet.ru/opennews/art.shtml?num=29734) по борьбе с негативным влиянием промежуточной буферизации пакетов (Bufferbloat);


-  
Виртуализация и безопасность


Интеграция механизма seccomp filter, принцип работы которого сводится (http://outflux.net/teach-seccomp/) к ограничению доступа к системным вызовам. Важной особенностью seccomp filter является то, что логика выставляемых ограничений задаётся на уровне защищаемого приложения, а не через задание внешних ограничений, как в случае AppArmor или SELinux. В код программы добавляется структура с перечнем допустимых системных вызовов (например, ALLOW_SYSCALL) и реакции в случае несовпадения (например, KILL_PROCESS). Доступ к системным вызовам определяется в виде правил, оформленных в BPF-представлении (Berkeley Packet Filter), которое получило распространение в системах фильтрации сетевых пакетов.
Система seccomp filter позволяет реализовывать достаточно сложные правила доступа, учитывающие передаваемые и возвращаемые аргументы. Программа сама определяет какие системные вызовы ей необходимы и какие параметры допустимы, все остальные системные вызовы блокируются, что позволяет ограничить возможности атакующего в случае эксплуатации уязвимости в защищённом при помощи seccomp приложении. Возможность задания фильтров аргументов позволяет также защититься от большинства атак, эксплуатирующих уязвимости в системных вызовах. Например, выявленные за последние годы критические уязвимости в glibc и ядре Linux, такие как AF_CAN (http://sota.gen.nz/af_can/), sock_sendpage (http://blog.cr0.org/2009/08/linux-null-pointer-dereference-d...) и sys_tee (http://www.juniper.net/security/auto/vulnerabilities/vuln228...),  успешно блокируются при надлежащем использовании seccomp.

В настоящее время поддержка seccomp filter реализована в таких популярных серверных приложениях, как OpenSSH и vsftpd, средства для изоляции запускаемых сервисов добавлены в системный менеджер  systemd. Патчи с поддержкой seccomp filter уже используются в промышленной эксплуатации, например, входят в состав пакета с ядром Linux для дистрибутива Ubuntu 12.04.

-  В модуль Yama, разработанный компанией Canonical и используемый в Ubuntu для блокирования некоторых типов атак, добавлены два дополнительных режима для контроля доступа к функциональности PTRACE_ATTACH;

-  
Память и системные сервисы


-  Интеграция чувствительной к активности процессов реализации спящего режима, представляющего собой альтернативу используемой в платформе Android системы блокировок "wakelocks". Добавленный дополнительный механизм блокировок для системы управления питанием позволяет предотвратить переход в спящий режим в ситуациях, когда это недопустимо (например, активен разговор по телефону), и наоборот для инициирования скорого засыпания при неактивности, а также для мгновенного пробуждения при наступлении определённых событий;

- Переработан код планировщика задач для архитектуры NUMA;


-  Интеграция кода uprobes (userspace probes), позволяющего организовать анализ поведения выполняемых в пространстве пользователя приложений;
-  Реализация системного вызова kcmp() (http://lwn.net/Articles/478111/) для определения различий между двумя порождёнными одним родителем процессами (сравнение файловых дескрипторов, обработчиков прерываний, адресного пространства и других характеристик);

-  
Оборудование и аппаратные архитектуры


- Проведена чистка устаревших драйваеров, в том числе удалены: драйвер  ixp2000 Ethernet, драйверы для карт MCA, sun4c SPARC CPU,  netfilter-модуль ip_queue (его заменил nfnetlink_queue), все компоненты поддержки сетей Token ring, поддержка протокола Econet, поддержка процессоров ARMv3 и IXP2xxx (XScale), поддержка плат ST-Ericsson U5500, драйвер последовательных портов Motorola 68360;


-  В системе DMA-BUF, предназначенной для организации совместного использования буферов драйверами и различными подсистемами ядра, расширена поддержка интерфейса PRIME, который позволит реализовать возможность бесшовного переключения вывода между разными видеокартами;

-  В DRM-драйвере Radeon расширена поддержка новых карт на базе Evergreen GPU и обеспечен вывод звука через HDMI. Существенно увеличена производительность драйверов для GPU семейства Evergreen и Northern Islands (HD5000 и HD6000);

-  Обновлен DRM-драйвер для карт Intel, добавление предварительной поддержки процессоров на базе микроархитектуры Haswell и SoC Valley View с новыми процессорами Atom;

-  Обеспечена поддержка плат  Blackfin BF609,...

URL: https://lkml.org/lkml/2012/7/21/114
Новость: https://www.opennet.ru/opennews/art.shtml?num=34387

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру