13.07.2015 Views

ХАКЕРСКИЙ ЧЕМОДАНЧИК

ХАКЕРСКИЙ ЧЕМОДАНЧИК

ХАКЕРСКИЙ ЧЕМОДАНЧИК

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Автостопом по лабиринтам ядраДля управления сетевыми приоритетами в режиме реальноговремени теперь доступна контрольная группа net_prio в cgroups,которая позволяет изменить значение опции SO_PRIORITY,указанной во время создания сокета, в любой момент времени.Также интегрирована поддержка задания ограничения на размерданных, помещаемых в очередь передачи данных для заданногосетевого устройства, в результате появилась возможность обеспеченияприемлемой транзитной задержки (latency) для высокоприоритетныхпакетов, без очистки аппаратных очередей, когдапоявляются данные для отправки.В состав ядра теперь включен код поддержки программногокоммутатора Open vSwitch, о котором мы писали в статье «Соединяйи властвуй» (][_05_2012).Размер исходного кода ядра 3.3 превысил 15 миллионов строк,5,6 миллиона из которых приходятся на драйверы, 1,8 — на кодаппаратных архитектур, 700 тысяч — на файловые системы,533 тысячи — на звуковую подсистему, 493 — на сетевой стек.LINUX 3.4: X32 ABI, МОДУЛЬ БЕЗОПАСНОСТИ YAMA,ПОДДЕРЖКА НОВЫХ GPUНаиболее интересное новшество ядра версии 3.4 — это поддержкатак называемого X32 ABI, представляющего собой смесьбинарных интерфейсов x86_64 и x86. X32 ABI позволяет получитьпреимущество обеих архитектур за счет использования набораинструкций и расширенного набора регистров x86_64 вкупес 32-битной адресацией памяти x86. В сравнении с x86_64, приложения,собранные для X32 ABI, показывают более высокуюпроизводительность (до 30%) за счет упрощения работы с указателями,но оказываются ограничены пределом адресуемойпамяти в 4 Гб.Также в 3.4 появился давно ожидаемый механизм, позволяющийавтоматически проверять, необходимо ли загрузитьдополнительные модули для поддержки тех или иных функцийпроцессора. Ранее стартовым скриптам дистрибутивов приходилосьпросто перебирать все доступные модули для той илииной архитектуры в ожидании, что некоторые из них заработают(например, система просто загружала все возможные модулис реализацией функций управления частотой). Теперь же процессор,как и все остальное оборудование в системе, — этоспециальный файл внутри каталога /sys, содержащего прямыеинструкции по загрузке модулей для системы udev.В Device Mapper появился модуль verity, проверяющий неизменностьзагружаемых данных на случай их повреждения илимодификации злоумышленниками. Когда с диска считываютсяданные, модуль сверяет хеш-сумму прочитанного блока с ранеесохраненным хешем, располагающимся в отдельной областидиска. При несовпадении хеша операция блокируется, возвращаяприложению ошибку. Модуль уже используется в Chrome OSдля гарантии неизменности оригинального образа системы.В состав ядра принят код модуля Yama, разработанногокомпанией Canonical и используемого для борьбы с типовымиатаками в дистрибутиве Ubuntu. Yama реализует несколькопростых техник защиты: запрещено использование системноговызова ptrace любыми процессами, кроме предков отслеживаемогопроцесса; переход по ссылкам в общедоступных каталогах(таких как /tmp) разрешается только для процессов — владельцевссылок; создание жестких ссылок разрешается только в томслучае, если пользователь/процесс имеет права доступа к файлу,на который он собирается установить ссылку. Последние двефункции модуля Yama пока в ядро не интегрированы.В 3.4 была включена очередная порция изменений в файловойсистеме Btrfs. Повышена общая производительность ФС засчет того, что изменился метод взаимодействия метаданных состраничным кешем и увеличилась агрессивность отбрасываниястраниц для метаданных, сократилось число лишних чтенийданных при взаимодействии механизма копирования при записи(COW) и Linux VM, увеличились блоки метаданных, размер которыхтеперь может составлять 64 Кб. В итоге производительностьво время интенсивной работы с метаданными существенновозросла (например, файловая система теперь способна создать170 000 файлов в секунду, что на 60 000 больше результата ext4).Также в код Btrfs был принят набор патчей от команды SUSEс реализацией более корректной обработки ошибочных ситуаций.Во многих ситуациях, когда раньше при возникновенииошибки ядро уходило в панику, теперь просто происходит перемонтированиефайловой системы в режим «только для чтения».В новую версию внесли свой вклад около 1200 разработчиков,сделав около 10 000 исправлений. Как и всегда, 40% измененийотносятся к драйверам устройств, 30% — к обновлению кода поддержкиаппаратных архитектур, 13% — сетевой стек, 5% — файловыесистемы и 6% — подсистемы ядра. Размер патча — 42 Мб.ВЫВОДЫКак можно видеть, ядро Linux развивается чрезвычайно быстрои при этом равномерно. Коренных изменений не происходит,но продолжают совершенствоваться существующие подсистемы,и добавляется поддержка новых аппаратных архитектури оборудования. Каждый новый релиз включает в себя большоеколичество изменений, направленных на повышение производительности,а также доработки некоторых подсистем, особоеместо среди которых занимают системы хранения и файловыесистемы. z2003 2005 200720102011IBM демонстрируетпотрясающийрекламный ролико Linux в ходеСуперкубка поамериканскомуфутболуЛинус появляется наобложке Business-Week с историейкоммерческого успехаLinuxФормируетсянекоммерческаяорганизацияLinux Foundationдля защиты истандартизацииLinuxОснованная на ядреLinux ОС Androidстановится самойраспространенноймобильнойоперационнойсистемой в СШАLinux исполняется20, он установленна лучшихсуперкомпьютерах,телефонах, ATM,сетевом оборудованиии многих другихустройствахINFO• Начиная с версии3.0 ядро Linux умеетмонтировать DFSресурсыWindows2008.• Начиная сверсии 3.0 ядроLinux включает всебя драйвер дляустройств MicrosoftKinect, который,правда, позволяетиспользовать еготолько в качествевеб-камеры.• В файловойсистеме ext4 ядра3.0 появиласьфункция «punchhole», фактическипозволяющаясоздать дыру внутрифайла, котораябудет заполненаданными другихфайлов.• Чтобы избежатьпроблем сустаревшимпрограммнымобеспечением,распространяемымтолько в бинарномвиде, в 3.1 появиласьвозможностьсменитьидентификатор ядрас 3.1 на 2.6.41.ХАКЕР 08 /163/ 2012 113

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!