вторник, 18 октября 2016 г.

Windows 10 и Linux: различий стало меньше

Исторически так сложилось, что операционные системы Windows и Linux развивались разными путями. Постоянные конкуренты и давние соперники имели больше различий чем сходств между собой. Это были и взаимные обвинения и патентная борьба и судебные разбирательства. Однако времена меняются. С приходом на пост CEO Сатьи Наделлы компания Microsoft меняет стратегию и поворачивается лицом к сообществу Linux. Примером того cтаили глобальные изменения в Windows 10 и ряде других серверных продуктов ИТ-гиганта


В Windows 10 обнаружили спрятанное ядро Linux

На прошедшей конференции Black Hat USA 2016 был опубликован доклад «Ядро Linux, спрятанное внутри Windows 10». Докладчиком выступал исследователь компьютерной безопасности Алекс Ионеску (Alex Ionescu), один из авторов бестселлера «Windows Internals».

Ниже опубликованы слайды, примеры кода и видео из доклада Алекса:




В одной из сборок Windows 10 нашли Linux. Речь идет о файле lxcore.sys. Исследователей сначала заинтересовало название, ведь оно может означать Linux Core. И действительно — когда файл открыли в бинарном редакторе, то сразу же натолкнулись на сигнатуры со знакомыми каждому линуксоиду  

Ключевые слова Android и HyperV дают ответ на вопрос о том, зачем в Windows 10 понадобилось ядро Linux — для того, чтобы запускать родные приложения для Android внутри виртуальной машины HyperV. Для пользователей данный процесс будет прозрачным: установил из Google Play любимые приложения и тут же прямо в Windows 10 их и запустил.  В самой Microsoft эти заявления пока никак не прокомментировали. 

Windows 10 поддерживает установку приложений из пакетов

Одной из наиболее сильных сторон Linux всегда считалось возможность администрировать систему их консоли, в том числе устанавливать и удалять различные приложения. Эта фича теперь перекочевала и в Windows 10 - в систему встроен пакетный менеджер. Таким образом теперь возможно запустить командную оболочку и установить, к примеру VLC, Chrome и сотни (тысячи) других программ непосредственно из командной строки.

Ранее пользователям Windows, в том числе и на серверных платформах, что бы установить программу приходилось запускать графический инсталлятор и многократно нажимать клавишу Next, в то время как под Linux было достаточно всего лишь запустить команду вроде apt-get install vlc. 

Теперь в состав Windows 10 входит пакетный менеджер под названием OneGet (переименованный теперь в PackageManagement). С его помощью устанавливаются любые программы доступные из репозитория командами вроде Find-Package VLC и Install-Package Firefox.

PackageManagement делает всё, что и должен делать пакетный менеджер: поиск программ, добавление новых репозиториев, установка и деинсталляция пакетов и т.д. При этом он использует такой же формат пакетов, что и Chocolatey — один из самых популярных пакетных менеджеров под Windows.
003

Сам пакетный менеджер OneGet был представлен как часть пакета расширений Windows Management Framework 5.0 Preview для Windows 8.1 в сентябре 2014 года, но в Windows 10 он стал уже стандартным инструментом под названием PackageManagement. Интерфейс менеджера как и ранее доступен из стандартного окна PowerShell.

Прежде всего преимущества такого способа установки программ заключаются в:

  • использовании проверенных источников программ,
  • отсутствия установки потенциально нежелательного программного обеспечения при установке (и самого привычного процесса установки с кнопкой «Далее»),
  • возможности создавать сценарии установки (например, если необходимо установить полный набор программ на новый компьютер),
  • а также в простоте установки и управления ПО на удаленных машинах (для системных администраторов).

Получить список команд, доступных в PackageManagement, вы можете с помощью Get-Command -Module. 

Ключевыми из них для простого пользователя будут:
  • Find-Package — поиск пакета (программы), например: Find-Package -Name VLC (параметр Name можно пропустить, регистр букв не важен).
  • Install-Package — установка программы на компьютер
  • Uninstall-Package — удаление программы
  • Get-Package — просмотр установленных пакетов
Список команд Windows 10 PackageManagement


Соглашение Microsoft и Canonical - Ubuntu интегрировали в Windows 10


Стала известна новость, о том что Microsoft совместно с Canonical объединили усилия и сумели интегрировать операционную систему Ubuntu внутрь Windows 10. Дастин Кирклэнд, сотрудник группы Ubuntu Product and Strategy, рассказал на конференции об этом проекте (видеозапись), а ещё раньше в своём блоге выложил несколько спойлеров. Речь идет об прозрачной эмуляции работы Linux внутри хостовой Windows 10.
Как поясняет сам Дастин - это не виртуальная машина, никаких контейнеров и не Cygwin, а нечто похожее на эмулятор, где системные вызовы Linux в реальном времени транслируются в системные вызовы Windows. К примеру, сейчас в Windows 10 используется релиз Ubuntu 14.04 LTS.

Сама Microsoft называет это "Windows Subsystem for Linux" (исходный код пока закрыт).Трансляция вызовов очень эффективная: утилита sysbench показывает почти одинаковую производительность CPU, памяти и операций ввода/вывода.


Ранее для получения подобной функциональности требовалось либо использование виртуализированных сред, что естественным образом приводило к снижению быстродействию и отдельным проблемам с тем, как бесшовно связать обе системы. Либо же предлагалась установка портированных на Windows Linux-программ, что на самом деле приводило к ещё большим проблемам совместимости — часть ПО в принципе невозможно заставить работать в Windows без переписывания значительной части исходного кода.
Как сообщили разработчики, рабочее пространство Ubuntu  доступно через командный интерпретатор Windows 10 (CMD.exe), а также через стандартный Проводник. В последнем случае, судя по всему, уже не потребуются программы вида Ext2Fsd, которые ранее обеспечивали поддержку файловой системы Ext4 на платформе Windows.


В ядре Windows теперь имеется специальная прослойка, транслирующая системные вызовы Linux в вызовы Windows.  Подробнее об этом вы можете узнать в статье Скотта Хансельмана.



Кого тема заинтересовала статья в продолжение про установоку и использование Bash в Windows 10


Microsoft поворачивается лицом к OpenSoure

История противостояния Windows и Linux  составляет многги егоды,и навреное уже дсоатйна экранизации на широком экране. За последние 15 лет политика компании в отношении свободного ПО резка изменилась.

Поддержка ядра Linux, которое распространяется бесплатно под открытой лицензией, является из ряда вон выходящим для прежней модели поведения Microsoft. Еще в далеком 2001 году бывший генеральный директор Microsoft Стив Балмер (Steve Ballmer) сравнил Linux с раковой опухолью, которая «пожирает все, чего касается, в плане интеллектуальной собственности». Microsoft воспринималась как антагонист открытого ПО (в том числе Linux).

Однако в феврале 2014 г. кресло гендиректора занял Сатья Наделла (Satya Nadella), и принципы Microsoft резко изменились. Microsoft стала активнее поддерживать сообщество разработчиков открытого программного обеспечения. Был полностью или частично открыт код платформы .Net, компиляторов С# и Visual Basic, браузера Edge и некоторых других продуктов.


То что Microsoft наконец-то поворачивается  лицом к остальному миру свидетельствуют последние новости как то СУБД SQL Server 2016 от Microsoft поддерживает GNU/Linux или Microsoft сделала собственную версию FreeBSD и тому подобные.
Ноутбуки c Windows 10 и никакого Linux!

Однако, не смотря на всю дружелюбные шаги описанные выше, существуют серьезные инциденты убеждающие нас в обратном. К примеру, стало известно, что что на некоторых ноутбуках с предустанвленной ОС Windows 10 стало невозможно установить какую либо другую ОС. Речь идет в частности про ноутбук Lenovo Yoga 900 ISK2 UltraBook в котором невозможно установить Linux в проприетарном режиме RAID, поскольку тот залочен через UEFI/BIOS. В итоге получается, что система Linux просто «не видит» этот SSD-накопитель. Так же аналогичные проблемы с установкой Linux возникли у покупателя ноутбука Ideapad 710S.

И это не случайное "недоразумение". Microsoft и Lenovo заключили соглашение, согласно которому на новые ноутбуки с Windows 10 будет устанавливаться защита от установки других операционных систем, пишет The Next Web.

Как сообщает Reddit, на некоторые компьютеры Signature Edition с Windows 10 другую операционную систему установить невозможно.  Signature Edition – устройства, поставляемые с чистой версией Windows без какого-либо стороннего ПО, оказывающего влияние на производительность. Компьютеры Signature Edition выпускают Lenovo, Asus, Dell, HP, MSI и пр. 

Спустя некоторое время, 22 сентября представители Lenovo заявили, что компания ни каким образом не устанавливала намеренную блокировку для установки Linux , однако пояснили что у создателей новой ОС нет нужных драйверов для ноутбуков компании.

По мнению Мэтью Гарретта, ярого активиста СПО, разработчика подсистем управления питания Linux, подсистемы безопасности CoreOS и члена Фонда свободного программного обеспечения, основная проблема заключается в том, что компания Intel предпринимает недостаточно усилий для того, чтобы свободные ОС хорошо работали на последних версий её оборудования — у разработчиков не хватает информации от Intel о том, как обеспечивать максимально эффективное управление питанием, нет поддержки устройств в режиме RAID и нет уверенности, что ситуация как-то улучшится в будущем. Если бы Intel обеспечивала разработчиков всей необходимой информацией, то проблема с ноутбуками Lenovo вообще никогда бы не возникла, считает Мэтью Гарретт.


Linux в Windows: новые проблемы безопасности

Как считает Алекс Ионеску (Alex Ionescu), выступавший на BackHat USA 2016то, что некоторые функции Ubuntu Linux смогут работать на ОС Windows 10, несет в себе угрозу. По его словам, модифицированный код Linux может вызывать API Windows из системы и совершать вредоносные действия в среде Windows.

Хотя изначально обывателю может показаться, что концепция подразумевает работу ядра Linux в системах под Windows 10, функция поддержки Linux — это на самом деле не привычная нам виртуализация, а реализация интерфейса Linux, доступного в ядре Linux. Иначе говоря код не исполняется в рамках изолированной и защищенной виртуальной среды Hyper-V. Код исполняется на хосте и имеет доступ к файлам и директориям, а также имеет некоторый доступ к сети, объяснил Ионеску.

Проблема, которая волнует Ионеску, — это возможность злоумышленников внедрить код в приложение Linux, а затем модифицировать память, чтобы получить новые эксплойты для Windows. Это может случиться из-за того, что служба «белых списков» в Microsoft (AppLocker) пока не предполагает поддержку приложений Linux. 

В одном из возможных сценариев вредоносная библиотека, содержащая бинарник Linux, может просочиться через защитные механизмы Windows в виде email-вложения. «Если мы говорим о пользователе Windows и бинарнике Linux, может получиться, что средства защиты конечной точки не просканируют файл. Вы кликаете на исполняемый Linux-файл, и он может быть хеширован таким образом, что вы не сможете распознать его вредоносную природу. Мы не знаем, каким образом большинство конечных точек Windows будет обрабатывать файлы ELF (Linux) относительно файлов PE (Windows)», — говорит Ионеску. 

Другой сценарий предполагает, что атакующий использует функцию поддержки Linux для обфускации вредоносного ПО. Linux можно будет использовать для атаки на Windows, и наоборот, рассказал Ионеску.

Угрозы, которые может спровоцировать Ubuntu ввиду поддержки Linux на Windows 10, пока не существуют, сказал Дастин Киркланд (Dustin Kirkland), специалист по продукту и стратегии в Canonical. Киркланд подчеркнул, что сегодня не существует «ни единой конкретной уязвимости, о которой должны беспокоиться в Canonical или Microsoft». «Если такие уязвимости найдутся, Canonical и Microsoft будут работать вместе над эффективным решением проблемы», — заявил Киркланд.

Комментариев нет:

Отправить комментарий

Вы можете добавить свой комментарий...

Примечание. Отправлять комментарии могут только участники этого блога.