Ядро Linux, спрятанное внутри Windows 10

В августе 2016 в очередной раз состоялось мероприятие Black Hat USA.

Black Hat Conference — конференция по компьютерной безопасности, объединяющая множество людей, интересующихся информационной безопасностью. Конференцию посещают как представители федеральных агентств и корпораций, так и хакеры. Briefings регулярно проходит в Лас-Вегасе, Амстердаме и Токио. Мероприятие, предназначенное специально для Федеральных служб, проводится в Вашингтоне, округ Колумбия.

Предлагаю вашему вниманию видеозапись и слайды одного из наиболее интересных докладов конференции «Ядро Linux, спрятанное внутри Windows 10». Автором доклада выступил небезызвестный исследователь компьютерной безопасности Алекс Ионеску, автор бестселлера «Windows Internals».

Слайды и листинги кода к выступлению Алекса Ионеску. К сожалению, пока доклад доступен только на английском языке.

Краткое содержание доклада
Initially known as «Project Astoria» and delivered in beta builds of Windows 10 Threshold 2 for Mobile, Microsoft implemented a full blown Linux 3.4 kernel in the core of the Windows operating system, including full support for VFS, BSD Sockets, ptrace, and a bonafide ELF loader. After a short cancellation, it’s back and improved in Windows 10 Anniversary Update («Redstone»), under the guise of Bash Shell interoperability. This new kernel and related components can run 100% native, unmodified Linux binaries, meaning that NT can now execute Linux system calls, schedule thread groups, fork processes, and access the VDSO!

As it’s implemented using a full-blown, built-in, loaded-by-default, Ring 0 driver with kernel privileges, this not a mere wrapper library or user-mode system call converter like the POSIX subsystem of yore. The very thought of an alternate virtual file system layer, networking stack, memory and process management logic, and complicated ELF parser and loader in the kernel should tantalize exploit writers — why choose from the attack surface of a single kernel, when there’s now two?

But it’s not just about the attack surface — what effects does this have on security software? Do these frankenLinux processes show up in Procmon or other security drivers? Do they have PEBs and TEBs? Is there even an EPROCESS? And can a Windows machine, and the kernel, now be attacked by Linux/Android malware? How are Linux system calls implemented and intercepted?

As usual, we’ll take a look at the internals of this entirely new paradigm shift in the Windows OS, and touch the boundaries of the undocumented and unsupported to discover interesting design flaws and abusable assumptions, which lead to a wealth of new security challenges on Windows 10 Anniversary Update («Redstone») machines.

Записи других выступлений с Black Hat USA 2016.

Комментарии (9)

  • 15 октября 2016 в 14:02

    0

    Мелкомягкие поняли, что проиграли битву за мобильники и решили полностью оккупировать десктопы?
    • 15 октября 2016 в 14:05

      +3

      Вообще-то, они давно их купировали.
  • 15 октября 2016 в 14:28

    0

    Пусть меня жутко заминусуют, но текстовый транскрипт не на русском языке, да ещё и в виде статьи — это уже хамство, про видео я промолчу.
    • 15 октября 2016 в 15:10

      +1

      Стыдно, считать, что имеешь отношение ИТ и не знать английский хотя бы на базовом уровне. Там много терминов, их нет необходимости переводить, иначе сбегутся «знатоки» перевода и заявят, что все переведено не так.
  • 15 октября 2016 в 14:30

    0

    Лучше расскажите, зачем это чудо нужно?
    • 15 октября 2016 в 14:42

      0

      Мелкомягкие стараются пересадить на 10 винду, как можно больше народу.
      • 15 октября 2016 в 15:14

        0

        Я уже на 10 винде.
        У меня есть это WSL

        Что я могу с ним делать полезного или весёлого?

  • 15 октября 2016 в 14:35

    –1

    Н-да, четыре то абзаца можно было и перевести. Или хотя-бы краткую выжимку своими словами.
  • 15 октября 2016 в 15:11

    0

    Приход Linux на Windows очень на руку разработчикам С++, т.к. весь сочный стэк (Clang, Cling, итп) теперь можно гонять не отходя от кассы. Также теперь очень хорошо очерчен переход с Docker на «натив»: сначала ты устанавливаешь в Докере поиграться, а если что-то тебе нравится, перебазируешь в Ubuntu 14 которая в Anniversary Preview. А еще это огромный плюс для всех кто уже давно делает «code on windows, run on linux» т.к. теперь можно для начала запускать локально. Понятно что есть ограничения и, на текущий момент, существенные косяки (например, даже запустив bash как административный процесс, все равно приходится использовать sudo), но это Бета версия. Хочется думать что МС (и хватит уже называть их «мелкомягкими»!) поправит к следующему релизу баги и все будет еще лучше.

© Habrahabr.ru