среда, 18 августа 2010 г.

Обнаружена локальная root-уязвимость, затрагивающая все Linux-ядра 2.6.x

Пару месяцев назад Rafal Wojtczuk придумал серьёзный эксплойт, позволяющий получить права суперюзера из непривилегированного процесса, имеющего доступ к X-серверу (то есть, из GUI-приложения, работающего под обычным пользователем). Другими словами, любая GUI-программа (например, читалка PDF-файлов), если она скомпроментирована (например, специально подготовленным PDF-файлом), может пробить все барьеры защиты на пути к полному обладанию компьютером. Не спасает даже песочница SElinux (SElinux «sandbox -X»). И проблема существует много лет — по-видимому, с первых версий ядра 2.6.

Обзор этой уязвимости вышел 17 августа в [2], и я хочу о ней рассказать местами в упрощённой, местами в развёрнутой форме.
Как это работает
Основная причина этого безобразия известна довольно давно [3]. Проблема — в особенности линуксовских алгоритмов распределения памяти. Как всем известно, есть два основных места, где процесс может получить кусочек динамической памяти — стек и куча (heap). А ещё можно выделить кусок адресного пространства, которому не соответствует физическая память — для этого существует отображение виртуальной памяти процесса на файлы в файловой системе (mmap) или просто на абстрактные объекты ядра (System-V style shared memory). Не обязательно даже, чтобы выделенный кусок памяти физически существовал, по крайней мере, до того момента, когда мы начнём в него писать.

Распределение памяти на x86-32, картинка из [3]. На x86-64 всё очень похоже, только масштаб побольше :)

понедельник, 16 августа 2010 г.

Жесты несколькими пальцами в Ubuntu 10.10


Марк Шаттлворт только что сообщил в своём блоге, что Ubuntu 10.10 Maverick Meerkat, выходящая 10 октября 2010 года (10.10.10), будет поддерживать мультитач-интерфейс.

Созданный Canonical для этой цели фреймворк под названием UTouch был включён в состав Maverick.
Пока что разработка нацеливается на поддержку Dell XT2 (на фото), счастливые обладатели которого могут уже сейчас оценить достигнутые результаты. К релизу ожидается поддержка обширного числа устройств различных производителей, в том числе Apple Magic Trackpad.
Команда разработчиков создала некий «язык прикосновений», который, как утверждается, превосходит всё, что было создано для этой цели ранее.
Теперь есть возможность описать не только отдельные жесты, но и связывать их в цепочки, создавая целые «предложения». Базовые жесты, или примитивы, подобны отдельным глаголам, а их последовательность может описывать куда более сложные действия.
Новый код опубликован в Launchpad под лицензиями GPLv3 и LGPLv3; модули для подсистем (таких как X и Gtk) могут распространяться под совместимыми с ними лицензиями. Для любопытных и сочувствующих имеется PPA, подробности представлены в официальном анонсе для разработчиков.
Новый фреймворк использует недавно опубликованное Питером Хаттерером (Peter Hutterer) обновление для протоколов ввода X, относящееся к мультитачу. Он добавляет функции обработки жестов и доставку событий жестов.
Довольно большое количество приложений в Маверике уже будет поддерживать прокрутку жестами. Evince будет доработан, чтобы продемонстрировать некоторые более продвинутые приёмы, которые разработчики смогут потом добавить в свои приложения. Управление окнами в Unity тоже будет поддерживать жесты, так что пользователи 10.10 Netbook Edition с сенсорными экранами или мультитач-падами (мульти-тачпадами?) смогут насладиться жестами в полной мере.
Если вам тоже хочется насладиться, вы можете установить Unity и на десктоп: sudo apt-get install ubuntu-netbook и выберите соответствующий сеанс при выборе пользователя.
Планы после 10.10 включают формирование нормального API для разработчиков и предусматривают системные сервисы для обработки жестов.
Марк мечтает «прикоснуться» ко всем основным приложениям – браузеру, почте, менеджеру файлов, чату, фотоменеджеру и медиаплееру – в 11.04.

вторник, 10 августа 2010 г.

Релиз KDE SC 4.5

Высококачественные игры, образовательное и офисное программное обеспечение и просто полезные программы — все они обзавелись новыми функциями, в то же время став проще в использовании.
image
Основные изменения:


Переработана область уведомлений. Старый системный трей был заменен на новый, основанный на D-Bus. Для всех приложений и инструментальных средств теперь гарантирован единый вид и непротиворечивая схема их взаимодействия.

Режим KWin-Tiling, подобно таким WM как Ion и XMonad, позволяет автоматически расставлять окна так, чтобы они заполняли рабочую область полностью, не перекрываясь и не оставляя зазоров. Графические эффекты при этом предназначены для того, чтобы сделать работу более приятной и плодотворной.

Новый эффект Blur.

Plasma

Новая утилита plasmoidviewer, позволяющая запускать виджеты как отдельные приложения (и в отдельных окнах)

Plasma Netbook получила значительное ускорение и мелкие улучшения в интерфейсе…

Для управления комнатами (activities) теперь используется Менеджер Комнат вместо ZUI.

Можно создавать шаблоны на Javascript, описывающие размещение виджетов.

Обозреватель виджетов показывает названия полностью, а не обрезает их по ширине иконки.
image

Konqueror

Пользователи предпочитающие WebKit взамен KHTML, используемого в браузере Konqueror, теперь могут установить компоненты WebKit и переключить Konqueror для использования WebKit как средства для визуализации веб сайтов. Компоненты WebKit для Konqueror доступны из репозитория KDE's Extragear, основаны на компонентах KPart и полностью интегрируются с менеджером сохранения паролей, блокировкой контента и другими возможностями, используемыми в Konqueror. Продолжается работа над KHTML, в частности добавлена поддержка запросов XPath. Улучшена параллельная загрузка с различный серверов, что позволяет отображать страницы более быстро.

Особое внимание в этом релизе было уделено стабильности программного обеспечения, предоставляемого с KDE SC 4.5.
image
Источник

четверг, 5 августа 2010 г.

Первый релиз Linux-дистрибутива Jolicloud


Доступен для загрузки релиз созданного для нетбуков Linux-дистрибутива Jolicloud 1.0, примечательного тем, что развивающий данный продукт французский стартап получил на создание данного дистрибутива 4.2 миллиона долларов от одного из венчурных фондов. Анонс первого релиза был опубликован почти месяц назад, но подготовка iso-образов затянулась и возможность свободной загрузки Jolicloud 1.0 была открыта только сегодня.
Дистрибутив предназначен для использования на нетбуках и планшетных ПК, частично использует пакетную базу Ubuntu, но отличается от других систем наличием пользовательского интерфейса собственной разработки, построенного с использованием HTML5 и web-технологий. Идея реализации интерфейса на базе HTML5 связана с желанием обеспечить возможность работы с системой не только с локального ПК, но и удаленной рабочей станции, используя лишь web-бразуер. Для выполнения web-приложений вне браузера, в качестве самостоятельных декстоп-программ, в дистрибутиве задействована система Mozilla Prism. Несмотря на расширенную интеграцию с web-сервисами, такими как Facebook, Twitter, YouTube, Google Maps, Flickr, Last.fm, в состав Jolicloud входят и полноценные приложения, например, Firefox, Skype, Pidgin, BitTorrent-клиент Transsmision, менеджер фотографий F-Spot и стандартный набор GNOME утилит.


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

  • Простой, легко настраиваемый интерфейс для запуска приложений, написанный целиком на технологиях HTML5;
    • Установка и удаление любой программы производится в один клик;
    • В базовый комплект входит достаточно неплохая подборка предустановленных приложений;
    • Способ группировки и отображения приложений в интерфейсе легко подстраивается к предпочтениям пользователя;
    • Всю заботу по установке обновлений программ берет на себя дистрибутив, пользователь всегда имеет самые свежие версии всех приложений.

  • Исчерпывающий набор приложений
    • Для пользователя Jolicloud подготовлена подборка из более 700 лучших программ, которые можно установить в один клик;
    • Наиболее популярные программы отображаются в отдельном блоке "Featured Apps", содержимое которого формируется еженедельно на основе рейтинга загрузок. Похожим образом формируется блок с самыми последними версиями программ;
    • В Jolicloud имеются средства для обмена ссылками на наиболее интересные программы с друзьями, в форме социальной сети;


  • Универсальная файловая система
    • В Jolicloud файлы, данные и приложения пользователя автоматически сохраняется во внешнем централизованном хранилище, поэтому нет повода беспокоиться за сохранность информации, кроме того, к данным можно легко получить доступ с другой машины;
    • В качестве хранилища поддерживаются популярные online-сервисы, такие как box.net, Dropbox и drop.io;
    • Пользователь имеет возможность установить Jolicloud на несколько своих машин, на каждой из которых он получит синхронизированное с другими машинами окружение. В том числе устанвка или удаление программы на одной машине отражается на наборе приложений на других машинах пользователя;
    • Доступ к рабочему окружению можно получить с чужого компьютера из любой точки сети, используя лишь поддерживающий технологии HTML5 браузер, такой как Firefox или Chrome.

  • Другие особенности Jolicloud
    • Дистрибутив поддерживает около 300 разнообразных моделей нетбуков и планшетных ПК от всех представленных на рынке производителей.
    • Поддерживается управление через клавиатуру и сенсорный экран;
    • Поддержка нетбуков на базе CPU Intel Atom, процессоров AMD и VIA C7-M; Поддержка видеоадаптеров на базе Intel 945GSE (GMA 950), Intel US15W (GMA 500), Intel GMA 3150, Nvidia ION и стандартных видеокарт ATI и Nvidia;
    • Реализован упрощенный интерфейс настройки сети, поддерживающий VPN и более 100 3G-адаптеров.
    • Интерфейс адаптирован для низких экранных разрешений (800x480) и экранов 7", 9", 10";
    • Проведена оптимизация работы как при установке на жесткий диск, так и при работе с CD, USB Flash и SSD-накопитель;
    • Полная поддержка Bluetooth и WiFi 802.11a/b/g/n на базе чипсетов Atheros (R242x, AR51xx, AR54xx, AR91xx, AR92xx), Broadcom (BCM4312), Ralink (RT2860, RT2870, RT3070, RT3090) и Realtek (RTL8187se, RTL8192e/se/su);
    • Поддерживаемые из коробки кодеки: DivX, Xvid, MPEG4, H.264, WMV9; форматы: MPG, AVI, MP4, WMV, DivX, MKV, OGM

    понедельник, 2 августа 2010 г.

    Virt-Manager 0.8.4 и новые возможности





    На этой неделе вышел в свет свежий релиз virt-manager, 0.8.4, в котором появились некоторые дополнения в интерфейсе пользователя и новая функциональность. Часть из этих изменений направлены на устранение просчетов предыдущих релизов, которые были очевидны для каждого, знакомого с virt-manager. В это посте мы пройдемся по этим изменениям для получения представления, что в конце концов можно ждать от обновления.

    Изменение модели сетевого устройства
    Если ранее вы пользовались virt-manager, то должны знать, что в окне с детальным описанием ВМ есть множество параметров настройки ВМ, которые требуют удаления или создания заново для того, чтобы изменения применились. Разработчики признали, что это не удобно, и даже поместили информацию об этом в development roadmap. Одни из таких устройств, требующих «удаление-и-создание-заново» для настройки — сетевые устройства. При экспериментах пользователи меняют эти настройки постоянно. Новый релиз предлагает на выбор из выпадающего списка модели устройств, что сильно улучшило интерфейс по сравнению с предыдущими редизами. Ниже показан скриншот нового интерфейса.

    alt

    Импорт существующего диска
    Теперь при создании виртуальной машины присутствует опция, позволяющая испортировать существующий диск. Это дополнение фактически принуждает новую виртуальную машину загружаться в первую очередь с диска. Лично я нахожу, что такой выбор избыточным, поскольку также можно выбрать существующий диск при загрузке с CD-Rom при создании виртуальной машины. Ради справедливости стоит упомянуть, что возможность выбора порядка загрузки была лишь недавно добавлена в qemu-kvm, поэтому мне кажется, что в будущем интерфейс еще изменится. По моему мнению, новая виртуальная машина не нуждается в загрузке для настройки. Думаю, что должна быть опция для запрещения загрузки при первоначальном создании. В таком случае, была бы возможность изменения порядка загрузки и любые другие настройки до первой загрузки. Ниже показана новая опция.

    alt

    Порядок устройств, с которых происходит загрузка
    Как упомянуто в предыдущей части в qemu-kvm лишь недавно добавлена опция, позволяющая выбирать порядок устройств при загрузке. Теперь этот интерфейс представлен в virt-manager и показан на скриншоте чуть ниже. Я уверен, что в будущем диалог создания новой виртуальной машины будет обновлен для большего удобства использования этой опции.

    alt

    Указание расшаренного сетевого устройства в качестве бриджа
    В virt-manager недавно добавлена возможность настраивать бридж, как описано в этом посте. В этом же релизе появилась возможность указывать бридж в качестве вашего сетевого устройства. Вы увидите эту опцию в двух местах: сначала в процессе создания виртуальной машины, затем при добавлении сетевого устройства. Ниже показана опция для добавления сетевого устройства.

    alt

    Ниже показана опция при создании новой виртуальной машины.

    alt

    Поддержка слежения за устройствами
    Qemu позволяет указать устройство слежения за виртуальным оборудованием. Виртуальное устройство включается гостем и должно периодически опрашиваться агентом внутри гостя или, по умолчанию, гостевая система будет перезагружена. Кроме сброса гостевой системы, есть возможность указать дополнительные дополнительные действия. Опции включают в себя остановку, отключение питания, пауза, отладка и отсутствие реакции. Остановка не рекомендуется, так как для нее требуется, чтобы гостевая система отвечала на сигналы ACPI, что может быть ненадежным в случае, если срок действия таймера слежения гостевой системы истек. Доступны две модели, ib700 и i6300esb, на основе контроллера ввода-вывода 6300esb от Intel. ib700 — более простая модель с единственным таймером. i6300esb отличается наличием двойного таймера слежения на основе PCI. Тпереь эта настройка доступна в virt-manager и показана на скриншоте диалога «Добавление оборудования».

    alt

    alt

    Описание виртуальной машины
    Еще одной незначительная вещь — возможность добавить текстовое описание гостевой системы во вкладке деталей под секцией обзора, показанного ниже. Я пока не видел, в каком месте отображается эта информацтя, но сам факт наличия такой информации радует.

    alt

    Заключение
    Релиз 0.8.4 прибавил в легкости использования и функциональности в virt-manager, сделав его более дружелюбным при работе дома и дата-центрах малого бизнеса. У него еще есть куда двигаться, но это продвижение проходит достаточно стабильно. Virt-manager также сильно зависит от других проектов, например, libvirt, и в конце концов qemu управляется через командную строку, поэтому он может делать только то, что этот (и другие) проект позволяет делать. Я думаю, что virt-manager  имеет большой потенциал в качестве графического инструмента управления «из-коробки», в основе которого находятся технологии python и glade, позволяющее мгновенное создание прототипов и разработки.

    Предложение по развитию GNOME как платформы для создания ОС


    Среди многих интересных событий конференции GUADEC можно отметить предложение о создании Gnome OS. В своём выступлении на конференции Уильям Джон МакКэн (William Jon McCann), работающий в компании Red Hat, выдвинул идею о том, чтобы перевести GNOME в категорию операционных систем, расширив текущее представление GNOME в виде набора проектов, инструментария и платформы, на базе которой другие дистрибутивы и разработчики создают что-то своё.
    В своём блоге МакКэн говорит о том, что имеет значение только то, что предоставляется пользователю и разработчику, выносит предложение "принять к сведению опыт Android, WebOS, Meego и других, рассматривать Linux как одну из составляющих этой реализации и начинать обозначать границы ОС сообразно нашим представлениям".
    Несомненно, эта идея звучит в унисон с мыслями Шаттлворта о племенном мышлении дистрибутивов. И в процессе продвижения к общему "монолитному" (в аспекте интерфейса) десктопу, опыт разработчиков и экосистема приложений соберёт воедино результаты работ, которые ведутся сейчас в разных дистрибутивах. Необходимо заметить, что многие свежие технологии, разработанные Canonical/Ubuntu, не были приняты или были оставлены без внимания командой Gnome, а позже аналогичные инструменты и функции были созданы в Gnome с нуля.
    Для реализации идеи предлагается поступательно сформировать свойственную операционным системам функциональность: в версии GNOME 3.0 представить единый пользовательский интерфейс на базе GNOME Shell, в версии GNOME 3.4 интегрировать инструментарий для разработки приложений, в GNOME 3.8 сформировать экосистему из связанных с GNOME дополнительных приложений и средств их установки из специального каталога. 
    Lugansk Linux User Group

    установка кода sape