Вот мы и приблизились к финишной прямой нашего обзора уязвимостей операционных систем. Сегодня мы затронем довольно редкие ОС, однако заслуживающие не меньшего внимания, чем, например, macOS или Ubuntu Linux. И, помимо вышеуказанных, рассмотрим дыры в скандально известной Windows Vista. Для тех, кто хочет ознакомится с материалами из предыдущих частей, предоставляю соответствующие ссылочки: Часть I, Часть II, Часть III.

Но для начала я хотел бы напомнить о том, почему именно эти ОС мы сегодня рассматриваем, как выбираются уязвимости и какие данные о них содержатся в таблицах, коих вы увидите довольно много ниже по тексту.

В данной части мы будем изучать третью пятерку операционных систем из таблицы ниже (выделены жирным шрифтом):
Название ОС Производитель Общее число уязвимостей за 2017 год Общее число уязвимостей за 2016 год Общее число уязвимостей за все время ведения статистики
Android Google 666 523 1357
Linux Kernel Linux 381 217 1921
Iphone Os Apple 293 161 1277
Windows 10 Microsoft 226 172 451
Windows Server 2016 Microsoft 212 39 251
Windows Server 2008 Microsoft 212 133 981
Mac Os X Apple 210 215 1888
Windows Server 2012 Microsoft 201 156 606
Windows 7 Microsoft 197 134 838
Windows 8.1 Microsoft 192 154 542
Windows Rt 8.1 Microsoft 124 139 438
Debian Linux Debian 95 327 1029
Fedora Fedora project 84 120 441
Ubuntu Linux Canonical 66 279 867
WatchOS Apple 65 77 231
Windows Vista Microsoft 64 125 814
Opensuse Opensuse Project 58 5 119
Leap Opensuse Project 57 2 60
Leap Novell 48 260 349
XEN XEN 44 28 228

Касательно выбора уязвимостей для более подробного рассмотрения (поскольку это уже писалось в предыдущей части, спрячем все под спойлер, дабы не удлинять текст):
Стоит рассмотреть более внимательно некоторые из уязвимостей, замеченные на той или иной ОС. Портал CVE Details выставляет баллы каждой из них. Число баллов зависит от уровня ущерба и массовости распространения. Максимальный показатель — 10 баллов. Именно о таких уязвимостях (если они есть и если они уникальны) и будет идти речь далее. Дабы эта статья не превратилась в пятитомник Ленина, будем уделять внимание только трем уязвимость из списка, который может содержать сотни.

Касательно структуры данных в таблицах (поскольку это уже писалось в предыдущей части, спрячем все под спойлер, дабы не удлинять текст):
Описание таблиц

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

Уровень воздействия на

1) конфиденциальность:

  • Полный — уязвимость открывает злоумышленникам доступ ко всей информации на устройстве;
  • Частичный — значительное раскрытие информации;
  • Отсутствует — конфиденциальность не нарушается;

2) целостность:

  • Полный — целостность системы полностью скомпрометирована, полная потеря защиты системы;
  • Частичный — модификация некоторых системных файлов или информации возможна, но злоумышленник не имеет контроля над тем, что может быть изменено;
  • Отсутствует — воздействия на целостность системы нет;


3) доступность:

  • Полный — уязвимость позволяет злоумышленнику полностью закрыть доступ к ресурсу;
  • Частичный — снижение производительности или непостоянная доступность ресурсов;
  • Отсутствует — воздействия на доступность системы нет;

Сложность доступа

  • Низкая — особых условий для получения доступа не требуется, как и не требуется специфический знаний или навыков;
  • Средняя — необходимо удовлетворение некоторых условий для получения доступа;
  • Высокая — специальные условия получения доступа, ограничивающие эксплойт;

Аутентификация

  • Не требуется — аутентификация не требуется для эксплойта уязвимости;
  • Single system — уязвимость требует, чтобы взломщик был залогинен в систему (например, через командную строку, режим рабочего стола или через веб-интерфейс).



1. Windows Vista






Windows Vista — операционная система семейства Windows NT корпорации Microsoft. Была выпущена 30 января 2007 года. Худшая ОС от Microsoft, провал года и еще много нелестных титулов получила Vista за свое существование, которое продлилось довольно недолго. Да и процент распространения на «пике популярности» был удручающе мал — всего 18,6%. Далее последовал спад ввиду выхода в свет новинки — Windows 7. Многие аспекты Vista были раскритикованы, начиная от интерфейса, заканчивая медленной работой некоторых программ и самой ОС в целом. Мы отойдем в сторону от этих споров и рассмотрим не мнения, а цифры — данные по уязвимостям ОС Vista.

DoS

Всего 2 уязвимости из 101 набрали 10 баллов.

Уязвимость №1 (10)

Ошибка индекса массива в имплементации протокола SMBv2 в srv2.sys позволяла удаленному взломщику исполнить код или устроить DoS через символ «&» в идентификаторе процесса в пакете NEGOTIATE PROTOCOL REQUEST.

Уязвимость №2 (10)

SMB клиент позволял удаленному SMB серверу и взломщику исполнить произвольный код или устроить DoS через созданный SMB ответ операции, который использует SMBv1 или SMBv2.

Уязвимость №3 (9.3)

Переполнение буфера в стеке в коде анимированного курсора позволяло удаленному взломщику исполнить произвольный код или устроить DoS через большую длину значения во втором anih блоке в файле RIFF .ANI, cur, or .ico, что приводило к повреждению памяти при обработке курсоров, анимированных курсоров, иконок.


Таблица уязвимостей категории «DoS» в ОС Windows Vista

Обход чего-либо

Только 1 из 56 уязвимостей набрала 10 баллов.

Уязвимость №1 (10)

IAS неверно верифицировал данные в запросе аутентификации MS-CHAP v2 PEAP, что позволяло удаленному взломщику получить доступ к сетевым ресурсам через зловредный запрос.

Уязвимость №2 (9.3)

ATL неверно ограничивал использование OleLoadFromStream в создаваемых объектах из потоков данных, что позволяло удаленному взломщику исполнить код через созданный HTML документ с ATL компонентом.

Уязвимость №3 (9.3)

Microsoft Internet Explorer 5.01 SP4, 6, 6 SP1, 7 и 8 неверно производил рендеринг не-HTML локальных файлов как HTML документов, что позволяло удаленно обойти ограничения доступа и считывать любые файлы.


Таблица уязвимостей категории «Обход чего-либо» в ОС Windows Vista

Исполнение кода

30 уязвимостей из 273 набрали 10 баллов.

Уязвимость №1

Schannel позволял удаленному взломщику исполнить код через созданные пакеты.

Уязвимость №2

Переполнение буфера в службе Telnet позволяло удаленному взломщику исполнить произвольный код через созданные пакеты.

Уязвимость №3

Компонент Graphics в ОС позволял взломщику исполнить код через созданный шрифт True Type.


Таблица уязвимостей категории «Исполнение кода» в ОС Windows Vista

Повреждение памяти

Только 2 уязвимости из 64 набрали 10 баллов.

Уязвимость №1 (10)

IAS неверно верифицировал данные в запросе аутентификации MS-CHAP v2 PEAP, что позволяло удаленному взломщику получить доступ к сетевым ресурсам через зловредный запрос.

Уязвимость №2 (10)

SMB клиент позволял удаленному SMB серверу и взломщику исполнить произвольный код или устроить DoS через созданный SMB ответ операции, который использует SMBv1 или SMBv2.

Уязвимость №3 (9.3)

Переполнение буфера в стеке в коде анимированного курсора позволяло удаленному взломщику исполнить произвольный код или устроить DoS через большую длину значения во втором anih блоке в файле RIFF .ANI, cur, or .ico, что приводило к повреждению памяти при обработке курсоров, анимированных курсоров, иконок.


Таблица уязвимостей категории «Повреждение памяти» в ОС Windows Vista

Доступ к информации

Из 90 уязвимостей никто не набрал максимальный балл.

Уязвимость №1 (7.8)

Интерфейс Teredo неверно обрабатывал некоторые типы трафика, что позволяло удаленному взломщику обойти файрволл и получить информацию через созданный IPv6 трафик.

Уязвимость №2 (7.8)

ОС неверно импортировала дефолтные протоколы IPsec из домена Windows Server 2003 к домену Windows Server 2008, что предотвращало исполнение правил IPsec и позволяло взломщику обойти ограничения доступа.

Уязвимость №3 (7.2)

ОС использовал небезопасные дефолтные разрешения для неустановленных «local user information data stores» в регистре и файловой системе, что позволяло локальному пользователю получить информацию, такую как административные пароли.


Таблица уязвимостей категории «Доступ к информации» в ОС Windows Vista

Увеличение привилегий

10 баллов набрали 2 уязвимости из 343.

Уязвимость №1 (10)

Драйверы режима ядра позволяли удаленному взломщику получить привилегии через созданное приложение.

Уязвимость №2 (10)

Компонент Graphics в ядре предоставлял возможность увеличить привилегии через созданное приложение.

Уязвимость №3 (9.3)

Состояние гонки в реализации SMB клиента позволяло удаленным SMB серверам увеличить привилегии через созданный SMB ответ согласования.


Таблица уязвимостей категории «Увеличение привилегий» в ОС Windows Vista

Переполнение

Всего — 131 уязвимость. 10 баллов — 8 из них.

Уязвимость №1

Драйверы режима ядра неверно обрабатывали объекты памяти, что давало возможность исполнить произвольный код через созданные TrueType файл шрифта.

Уязвимость №2

Функция DSA_InsertItem в Comctl32.dll неверно распределяла память, что позволяло удаленному взломщику исполнить произвольный код через созданное значение в аргументе веб-приложения ASP.NET.

Уязвимость №3

Переполнение буфера в службе Telnet позволяло удаленному взломщику исполнить произвольный код через созданные пакеты.


Таблица уязвимостей категории «Переполнение» в ОС Windows Vista

За свое недолгое существование, хоть поддержка Vista и прекратилась аж в 2017 году, данная ОС накопила не так и много уязвимостей. Если просмотреть все операционные системы семейства Windows (с первой части по эту), то становится понятно, что основную долю уязвимостей занимают именно те, что вызывают увеличение привилегий. Как мы уже знаем, это крайне печально, так как именно такие уязвимости открывают двери зловредному ПО.

2. Opensuse




openSUSE — дистрибутив операционной системы Linux. Впервые появилась в 1994 году. Изначально данный дистрибутив разрабатывался в Германии, где и приобрел свою большую популярность, распространившуюся по всему миру с годами развития. В 2003 году корпорация Novell выкупила компанию SUSE Linux, занимающуюся разработкой дистрибутива. Многие считали, что это приведет к печальным последствиям. Новая метла по новом метет, как говорят. Однако этого не произошло. Внедрять неоднозначные новшества корпорация не стала, напротив, она следовала пути, который выбрали сами разработчики и сообщество.



DoS

Всего обнаружено 62 уязвимости. 10 баллов набрали 13 из них.

Уязвимость №1

Adobe Flash Player позволял взломщику исполнить произвольный код или устроить DoS через неустановленный вектор.

Уязвимость №2

Функция sse2_composite_src_x888_8888 в Pixman позволяла взломщику исполнить код или организовать DoS через созданное изображение через Canvas.

Canvas — элемент HTML5 для создания расового двухмерного изображения через скрипты.

Уязвимость №3

Функция mozilla::dom::OscillatorNodeEngine::ComputeCustom в подсистеме Web Audio в Mozilla Firefox до версии 29.0 и в SeaMonkey до версии 2.26 позволяла удаленному злоумышленнику исполнить произвольный код и устроить DoS через созданный контент.


Таблица уязвимостей категории «DoS» в ОС openSUSE

Обход чего-либо

Ни одна из 4 уязвимостей не набрала 10 баллов.

Уязвимость №1 (6.8)

Функция в Mozilla Firefox до версии 28.0 и в SeaMonkey до версии 2.25 позволяла удаленному взломщику обойти Same Origin Policy и рендерит контент в разных доменах через неустановленный вектор.

Уязвимость №2 (5.8)

Реализация XrayWrapper в Mozilla Firefox до версии 29.0 и в SeaMonkey до версии 2.26 позволяла удаленному взломщику обойти установленные ограничения доступа через созданный веб-сайт.

Уязвимость №3 (5.0)

Adobe Flash Player позволял обойти ограничения доступа к адресам памяти, что позволяло обойти защитные механизмы ASLR через неустановленные векторы.


Таблица уязвимостей категории «Обход чего-либо» в ОС openSUSE

Исполнение кода

Всего — 30. 10 баллов — 20.

Уязвимость №1

Уязвимость Use-after-free в Adobe Flash Player позволяла взломщику исполнить произвольный код через неустановленный вектор.

Уязвимость №2

Уязвимость двойного освобождения области памяти в Adobe Flash Player позволяла взломщику исполнить произвольный код через неустановленный вектор.

Уязвимость №3

Реализация Web workers в Mozilla Firefox до версии 27.0 и в SeaMonkey до версии 2.24 позволяла удаленному злоумышленнику исполнить код через вектор, включающий прекращение процесса, который выполнял операцию сквозной передачи объектов в совокупности с использованием asm.js.


Таблица уязвимостей категории «Исполнение кода» в ОС openSUSE

Повреждение памяти

Всего — 15. 10 баллов — 12.

Уязвимость №1 (9.3)

Множество неустановленных уязвимостей в браузере Mozilla Firefox до версии 28.0 и в SeaMonkey до версии 2.25 позволяли удаленному взломщику устроить DoS (приводящий к повреждению памяти и падению приложений) или исполнить код через неустановленный вектор.

Уязвимость №2 (9.3)

Функция mozilla::dom::TextTrack::AddCue в Mozilla Firefox до версии 29.0 и в SeaMonkey до версии 2.26 неверно производила сборку мусора для переменных Text Track Manager, что позволяло удаленному взломщику исполнить произвольный код или устроить DoS (повреждение памяти) через созданный VIDEO элемент в HTML документе.

Уязвимость №3 (7.5)

Google V8 позволял удаленному злоумышленнику устроить DoS (повреждая память) через неустановленный вектор.


Таблица уязвимостей категории «Повреждение памяти» в ОС openSUSE

Доступ к информации

10 баллов из 6 уязвимостей никто не набрал.

Уязвимость №1 (5.0)

Уязвимость создавала записи системного журнала, содержащие пути профиля, что позволяло взломщику получить информацию через созданное приложение.

Уязвимость №2 (5.0)

Конфигурационный файл «.encfs6.xml" в encfs до версии 1.7.5 позволял удаленному взломщику получить специфические данные, установив значение «blockMACBytes» на 0 и добавляя 8 к «blockMACRandBytes».

Уязвимость №3 (5.0)

Adobe Flash Player неверно ограничивал обнаружение адресов памяти, что позволяло злоумышленнику обойти защитные механизмы ASLR через неустановленные векторы.


Таблица уязвимостей категории «Доступ к информации» в ОС openSUSE

Увеличение привилегий

Ни одна уязвимость из 4 не набрала 10 баллов.

Уязвимость №1 (7.2)

Google Chrome до версии 19.0.1084.46 использовал неверные пути поиска для плагина Windows Media Player, что могло позволить пользователю увеличить привилегии через троянский плагин в неустановленной директории.

Уязвимость №2 (5.8)

Программное переполнение в inc/server.hpp в libnet6 до версии 1.3.14 позволяло удаленному взломщику перехватывать соединения и увеличивать привилегии, создавая большое число соединений пока не возникнет переполнение и ID другого пользователя не станет доступен.

Уязвимость №3 (3.3)

Состояние гонки в Mozilla Maintenance Service позволяло локальному пользователю создавать файлы и получать привилегии через векторы, включающие жесткие ссылки на файл журнала во время обновления.


Таблица уязвимостей категории «Увеличение привилегий» в ОС openSUSE

Переполнение

Всего — 25. 10 баллов — 3.

Уязвимость №1

Переполнение буфера в Adobe Flash Player позволяло взломщику исполнить произвольный код через неустановленный вектор.

Уязвимость №2

Функция sse2_composite_src_x888_8888 в Pixman позволяла удаленному злоумышленнику устроить DoS или исполнить код через создание елемента CANVAS.

Уязвимость №3

Функция mozilla::dom::OscillatorNodeEngine::ComputeCustom в подсистеме Web Audio в Mozilla Firefox до версии 29.0 и в SeaMonkey до версии 2.26 позволяла удаленному звломщику исполнить произвольный код или организовать DoS через созданный контент.


Таблица уязвимостей категории «Переполнение» в ОС openSUSE

Крайне малое число критических уязвимостей, да и уязвимостей вообще, это хороший показатель для ОС. OpenSUSE предназначена для системных администраторов и разработчиков, по большей степени. И именно они отвечают за ее работоспособность, поскольку принимают активное участие в разработке ПО под данную систему и отшлифовку элементов самой системы. Все могло быть иначе, если бы новые владельцы компании-разработчика решили «закрыть» систему для сообщества и разрабатывать ее своими силами.

3. Leap Opensuse Project



Leap стал, своего рода, новым форматом, новым способом создания дистрибутивов openSUSE на базе Linux. Появился в ноябре 2015 года.



DoS

Из 31 уязвимости нет тех, что набрали 10 баллов.

Уязвимость №1 (6.8)

Переполнение буфера в куче данных в функции ReadRLEImage в coders/rle.c в ImageMagick 6.9.4-8 позволяло удаленному взломщику устроить DoS через созданный RLE файл.

Уязвимость №2 (6.8)

Уязвимость Use-after-free в функции ReadPWPImage в coders/pwp.c в ImageMagick 6.9.5-5 позволяла удаленному взломщику организовать DoS через созданный файл.

Уязвимость №3 (5.0)

Утечка памяти в функции ReadPSDLayers в coders/psd.c в ImageMagick 6.8.9.9 позволяла удаленному взломщику устроить DoS через неустановленный вектор.


Таблица уязвимостей категории «DoS» в Leap Opensuse Project

Обход чего-либо

Всего такого типа уязвимостей было зафиксировано всего одна.

Уязвимость №1 (5.0)

Валидационный код транзитного пути в Heimdal до версии 7.3 позволял взломщику обойти механизм защиты capath, используя неудачную попытку добавить предыдущий hop realm к транзитному пути билета.


Таблица уязвимостей категории «Обход чего-либо» в Leap Opensuse Project

Исполнение кода

Всего такого типа уязвимостей было зафиксировано всего одна.

Уязвимость №1 (7.2)

glibc содержит уязвимость, которая позволяет специально созданном значении LD_LIBRARY_PATH для манипуляции кучей/стеком, приводя к их подмене, что потенциально приводит к возможности исполнения кода.


Таблица уязвимостей категории «Исполнение кода» в Leap Opensuse Project

Повреждение памяти

Такого типа уязвимостей не было обнаружено.

Доступ к информации

Такого типа уязвимостей зафиксировано всего 2.

Уязвимость №1 (4.3)

xbcrypt в Percona XtraBackup до версии 2.3.6 и в 2.4.x до версии 2.4.5 неверно устанавливает вектор инициализации дешифровки, что облегчает взломщику работу по получению информации из зашифрованных резервных копий файлов.

Уязвимость №2 (5.0)

Конфигурационный файл «.encfs6.xml" в encfs до версии 1.7.5 позволял удаленному взломщику получить ценные данные путем выставления blockMACBytes на 0 и добавления 8 к blockMACRandBytes.


Таблица уязвимостей категории «Доступ к информации» в Leap Opensuse Project

Увеличение привилегий

Такого типа уязвимостей не было обнаружено.

Переполнение

Из 18 уязвимостей не одна не набрала 10 баллов.

Уязвимость №1 (7.5)

Функция DecodePSDPixels в coders/psd.c в ImageMagick 6.8.9.9 позволяла удаленному взломщику воздействовать на систему через неустановленный вектор.

Уязвимость №2 (7.5)

Переполнение буфера в функции ReadRLEImage в coders/rle.c в ImageMagick 6.8.9.9 позволяло влиять на работу системы.

Уязвимость №3 (7.5)

Декодер jng в ImageMagick 6.8.9.9 позволял удаленному взломщику вносить изменения в работу системы.


Таблица уязвимостей категории «Переполнение» в Leap Opensuse Project

Leap от openSUSE можно назвать рекордсменом по самому малому числу уязвимостей. Конечно, данный дистрибутив существует недолго, с 2015 года. Но другие ОС, существующие не дольше, успели накопить гораздо больше дыр, чем Leap от openSUSE.

4. Leap Novell






DoS

Всего — 172. 10 баллов — 15.

Уязвимость №1 (7.8)

Ридер Utah RLE в GraphicsMagick до версии 1.3.25 позволял удаленному взломщику устроить DoS через использование размера файла и информации и заголовке.

Уязвимость №2 (8.3)

ext/phar/phar_object.c в PHP (до версии 5.5.32, 5.6.x — 5.6.18, 7.x — 7.0.3) неверно обрабатывал несжатые данные с нулевой длиной, что позволяло удаленному взломщику устроить DoS через созданный TAR, ZIP или PHAR архив.

Уязвимость №3 (10)

Переполнение буфера в функции DirectWriteFontInfo::LoadFontFamilyData в gfx/thebes/gfxDWriteFontList.cpp в Mozilla Firefox до версии 43.0 давало возможность удаленному взломщику устроить DoS через созданное имя файла шрифта.


Таблица уязвимостей категории «DoS» в Leap Novell

Обход чего-либо

Всего — 24. 10 баллов — 1.

Уязвимость №1 (10)

Google Chrome до версии 48.0.2564.116 позволял удаленному взломщику обойти Blink Same Origin Policy и механизмы защиты песочницы через неустановленный вектор.

Уязвимость №2 (6.8)

Функция ModuleSystem::RequireForJsInner в extensions/renderer/module_system.cc в свойствах Google Chrome до версии 51.0.2704.63 позволяла удаленному взломщику провести атаку на перехват привязок и обойти Same Origin Policy через неустановленный вектор.

Уязвимость №3 (6.8)

Blink, использовавшийся в Google Chrome до версии 51.0.2704.63, позволял удаленному взломщику обойти Same Origin Policy через неустановленный вектор.


Таблица уязвимостей категории «Обход чего-либо» в Leap Novell

Исполнение кода

Всего — 49. 10 баллов — 11.

Уязвимость №1

Функция OpenBlob в blob.c в GraphicsMagick до версии 1.3.24 и в ImageMagick позволяет удаленному взломщику исполнить произвольный код через использование символа «|» в начале имени файла.

Уязвимость №2

revision.c в git до версии 2.7.4 использовал неверный тип данных, что позволяло удаленному взломщику исполнить код через длинное имя файла или множество вложенных древ данных, приводящих к переполнению буфера в куче данных.

Уязвимость №3

Взаимодействие смарт-карт в SPICE позволяло удаленному взломщику устроить DoS или исполнить код через использование соединения к гостевому VM, что провоцировало переполнение буфера в куче данных.


Таблица уязвимостей категории «Исполнение кода» в Leap Novell

Повреждение памяти

Всего — 22. 10 баллов — 7.

Уязвимость №1 (10)

Функция Buffer11::NativeBuffer11::map в ANGLE, используемого в Mozilla Firefox до версии 44.0, позволяла удаленному взломщику устроить DoS или иным способом навредить системе через неустановленный вектор.

Уязвимость №2 (8.3)

ext/phar/phar_object.c в PHP (до версии 5.5.32, 5.6.x — 5.6.18, 7.x — 7.0.3) неверно обрабатывал несжатые данные с нулевой длиной, что позволяло удаленному взломщику устроить DoS через созданный TAR, ZIP или PHAR архив.

Уязвимость №3 (7.5)

Программное переполнение в proto.c в libotr до версии 4.1.1 на 64-битных платформах позволяло удаленному злоумышленнику устроить DoS (повреждение памяти) или исполнить код через большое OTR сообщение, что провоцирует переполнение буфера в куче данных.


Таблица уязвимостей категории «Повреждение памяти» в Leap Novell

Доступ к информации

Всего — 38. 10 баллов — 1.

Уязвимость №1 (10)

Программное переполнение в функции RTPReceiverVideo::ParseRtpPacket в Mozilla Firefox до версии 43.0 и в Firefox ESR 38.x до версии 38.5 позволяла удаленному взломщику получить ценную информацию, устроить DoS, используя созданный пакет WebRTC RTP.

Уязвимость №2 (7.5)

Функция index_urlfetch в index.c в Cyrus IMAP (версии: 2.3.x — 2.3.19, 2.4.x — 2.4.18, 2.5.x — 2.5.4) позволяла удаленному взломщику получить информацию через вектор, включающий urlfetch диапазон.

Уязвимость №3 (6.4)

gd_xbm.c в библиотеке GD Graphics до версии 2.2.0, который использовался в некоторых кастомных PHP 5.5.x конфигурациях, позволял взломщику получить информацию из памяти процесса или организовать DoS через длинное имя.


Таблица уязвимостей категории «Доступ к информации» в Leap Novell

Увеличение привилегий

Всего — 5. 10 баллов — 0.

Уязвимость №1 (7.2)

Переполнение буфера на базе стека в функции FascistGecosUser в lib/fascist.c в cracklib позволяло локальному пользователю устроить DoS или получить привилегии через длинное поле GECOS, включая длинный буфер.

Уязвимость №2 (6.8)

Функция nsCSPContext::SendReports в dom/security/nsCSPContext.cpp в Mozilla Firefox до версии 45.0 и в Firefox ESR 38.x — 38.7 не предотвращала использование не-HTTP report-uri для отчета о нарушении Content Security Policy (CSP), что позволяло устроить DoS или получить привилегии через определение URL локального файла.

Уязвимость №3 (6.5)

git-shell в git позволяло удаленному аутентифицированному пользователю получить привилегии через репозиторий имени, что начинается с символа «-».


Таблица уязвимостей категории «Увеличение привилегий» в Leap Novell

Переполнение

Всего — 98. 10 баллов — 15.

Уязвимость №1

revision.c в git до версии 2.7.4 использовал неверный тип данных, что позволяло удаленному взломщику исполнить произвольный код через длинное имя файла или множество внедренных древ данных, что приводит к переполнению буфера.

Уязвимость №2

Функция MoofParser::Metadata в binding/MoofParser.cpp в libstagefright в Mozilla Firefox до версии 44.0 не лимитировала размер операций чтения, что позволяло удаленному взломщику устроить DoS через созданные им метаданные.

Уязвимость №3

Ошибка Off-by-one в функции tokenadd в jv_parse.c в jq позволяла удаленному злоумышленнику устроить DoS через длинный JSON-закодированный номер, что провоцирует переполнение буфера.


Таблица уязвимостей категории «Переполнение» в Leap Novell

5. XEN




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



DoS

Всего — 176. 10 баллов — 2.

Уязвимость №1 (10)

Основная таблица в Xen до версии 4.8.x не обеспечивала подсчета достаточных типов отображения GNTMAP_device_map и GNTMAP_host_map, что позволяло гостевому пользователю устроить DoS или увеличить привилегии в доступе к ОС.

Уязвимость №2 (9.4)

Xen неверно обрабатывал номера портов, что позволяло готовому пользователю устроить DoS или получить информацию.

Уязвимость №3 (8.3)

Функция do_physdev_op неверно ограничивала доступ к операциям PHYSDEVOP_prepare_msix и PHYSDEVOP_release_msix, что позволяло локальному PV пользователю устроить DoS или получить привилегии через неустановленный вектор.


Таблица уязвимостей категории «DoS» в XEN

Обход чего-либо

Уязвимостей такого рода на данный момент не было зафиксировано.

Исполнение кода

Всего — 16. 10 баллов — 0.

Уязвимость №1 (7.5)

Переполнение буфера в куче данных в контроллере PCNET в QEMU позволяло удаленному взломщику исполнить произвольный код, отправляя пакет с набором TXSTATUS_STARTPACKET и потом созданный пакет с набором TXSTATUS_DEVICEOWNS.

Уязвимость №2 (7.2)

x86 эмуляция Xen от 3.2.x до версии 4.5.x неверно игнорировала переопределение сегментов для инструкций с операндами регистра, что позволяло локальному пользователю-гостю получить информацию через неустановленный вектор.

Уязвимость №3 (7.2)

Уязвимость Use-after-free в FIFO позволяла локальному гостю ОС с правами администратора устроить DoS и исполнить код или получить информацию через неверный гостевой frame number.


Таблица уязвимостей категории «Исполнение кода» в XEN

Повреждение памяти

Всего — 12. 10 баллов — 2.

Уязвимость №1 (10)

Основная таблица в Xen до версии 4.8.x не обеспечивала подсчета достаточных типов отображения GNTMAP_device_map и GNTMAP_host_map, что позволяло гостевому пользователю устроить DoS или увеличить привилегии в доступе к ОС.

Уязвимость №2 (7.4)

Переполнение буфера в Python для вызова xc_vcpu_setaffinity позволяло локальному администратору с разрешением конфигурировать VCPU устроить DoS (повреждение памяти) и получить привилегии через созданный cpumap.

Уязвимость №3 (7.2)

x86 эмуляция Xen от 3.2.x до версии 4.5.x неверно игнорировала переопределение сегментов для инструкций с операндами регистра, что позволяло локальному пользователю-гостю получить информацию через неустановленный вектор.


Таблица уязвимостей категории «Повреждение памяти» в XEN

Доступ к информации

Всего — 34. 10 баллов — 0.

Уязвимость №1 (9.4)

Xen неверно обрабатывал номера портов, что позволяло готовому пользователю устроить DoS или получить информацию.

Уязвимость №2 (7.5)

Основная таблица в Xen неверно отображала информацию в определенных случаях одновременных неотображенных вызовов, что позволяло взломщику получить информацию, устроить DoS или исполнить произвольный код или увеличить привилегии.

Уязвимость №3 (7.2)

x86 эмуляция Xen от 3.2.x до версии 4.5.x неверно игнорировала переопределение сегментов для инструкций с операндами регистра, что позволяло локальному пользователю-гостю получить информацию через неустановленный вектор.


Таблица уязвимостей категории «Доступ к информации» в XEN

Увеличение привилегий

Всего — 45. 10 баллов — 0.

Уязвимость №1 (8.3)

Функция do_physdev_op неверно ограничивала доступ к операциям PHYSDEVOP_prepare_msix и PHYSDEVOP_release_msix, что позволяло локальному PV пользователю устроить DoS или получить привилегии через неустановленный вектор.

Уязвимость №2 (7.9)

Xen, во время использования Intel VT-d для обходного PCI, неверно избавлялся от TLB после очистки существующего поля перевода, что позволяло локальному пользователю с административными правами устроить DoS или получить привилегии через неустановленный вектор.

Уязвимость №3 (7.5)

Основная таблица в Xen неверно отображала информацию в определенных случаях одновременных неотображенных вызовов, что позволяло взломщика получить информацию, устроить DoS или исполнить произвольный код или увеличить привилегии.


Таблица уязвимостей категории «Увеличение привилегий» в XEN

Переполнение

Всего — 31. 10 баллов — 0.

Уязвимость №1 (7.5)

Переполнение буфера в куче данных в контроллере PCNET в QEMU позволяло удаленному взломщику исполнить произвольный код, отправляя пакет с набором TXSTATUS_STARTPACKET и потом созданный пакет с набором TXSTATUS_DEVICEOWNS.

Уязвимость №2 (7.4)

Переполнение буфера в Python для вызова xc_vcpu_setaffinity позволяло локальному администратору с разрешением конфигурировать VCPU устроить DoS (повреждение памяти) и получить привилегии через созданный cpumap.

Уязвимость №3 (7.2)

Функционал системных вызовов ядра, при работе на процессоре Intel, некорректно использует путь sysret в случаях, когда определенные адреса не являются каноническими, что позволяет локальному пользователю получить привилегии через созданное приложение.


Таблица уязвимостей категории «Переполнение» в XEN

Малое число уязвимостей в гипервизоре XEN обеспечивает стабильную работу виртуальной машины, уменьшая вероятность зловредного вмешательства.

Вот и подошел к концу наш статистический анализ уязвимостей различных ОС. Некоторые из них могут похвастаться малым числом дыр, другие же — напротив. Однако, как уже говорилось ранее, не так важно число уязвимостей, как простора и частота их экплойта злоумышленниками.

Операционных систем существует довольно много, не говоря уже о различных версиях каждой из них. В данном цикле статей мы лишь слегка затронули некоторых из них, дабы иметь простейшее представление о их уязвимостях. Дабы увидеть полную картину, нам бы пришлось проанализировать все ОС, все их версии и все их дыры, соответственно. А такой анализ отнял бы у нас невероятно много времени. И даже, проведя такой анализ, мы бы не смогли твердо заявить о том, что эта ОС плохая, а вот та — хорошая. Помимо уязвимостей учитываются и другие факторы, чтобы делать подобные заявления: функционал, поддерживаемое ПО, интерфейс, в конце концов, и многое другое. Каждая ОС может быть идеальной для определенной группы людей, которым необходимо выполнять определенные задачи с их помощью. Я, лично, использую и Windows 10 и macOS (на двух ноутбуках, естественно). И, понимая их отличия, все же ценю обеих, не выбирая любимчиков.

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

На правах рекламы.Это не просто виртуальные серверы! Это VPS (KVM) с выделенными накопителями, которые могут быть не хуже выделенных серверов, а в большинстве случаев — лучше! Мы сделали VPS (KVM) c выделенными накопителями в Нидерландах и США (конфигурации от VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD или 4TB HDD / 1Gbps 10TB доступными по уникально низкой цене — от $29 / месяц, доступны варианты с RAID1 и RAID10), не упустите шанс оформить заказ на новый тип виртуального сервера, где все ресурсы принадлежат Вам, как на выделенном, а цена значительно ниже, при гораздо более производительном «железе»!

Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США!

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


  1. AntonAlekseevich
    21.11.2017 20:29

    Я что-то упустил или Xen остается гипервизором?
    Вижу что написано для чего и чем является, но как это вообще можно отнести к заголовку.
    Может ещё и KVM, Hyper-V, VMWare Workstation/Sphere, OpenVZ, VM VirtualBox и QEMU припишем в этот списочек, ведь же с помощью них работают ОС в виртуальных машинах?


    OpenSuSE это есть проект Novell. Wiki-Page: Novell@Wikipedia RU
    Зачем разделили Leap на двое?
    OpenSuSE Leap является продолжением производного Leap.


    И в конце концов можете выдать источник откуда брались данные?
    Включая ВСЕ исправления ВСЕХ исправленных уязвимостей.
    Без этого условия статистика будет считаться неверной.
    CVE Details, не говорит об исправленных уязвимостях, он говорит только об наличии их включая все предыдущие версии.


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


    1. Stanislavvv
      22.11.2017 08:56

      Xen позволяет запускать виртуалки не только в режиме паравиртуализации, но и в режиме HVM.
      Я лет 7-8 назад так WinXP запускал с Freebsd под опенсорсным Xen 3.5
      Так что вполне себе гипервизор.


      1. AntonAlekseevich
        22.11.2017 09:30

        Xen позволяет запускать виртуалки не только в режиме паравиртуализации, но и в режиме HVM.

        Да, это так. То есть я все же не ошибся назвав Xen гипервизором.


        Так что вполне себе гипервизор.

        Но как я вижу автору статьи легче было это подставить как ОС так как Xen выполняет роль микроядра.
        Ядро Linux мне кажется также туда попало, хоть это и не ОС вовсе, а всего лишь ядро для ОС на её базе.


        А вот зато в серии этих статей были упущены такие системы как OpenBSD, FreeBSD, NetBSD.
        (Т.е в них нет уязвимостей, или были опущены эти важные на мой взгляд ОС, или эти ОС были эталоном для поиска уязвимостей? Но мне кажется что, мы не узнаем ответа на этот вопрос лично от автора статьи.)


  1. gnomeby
    22.11.2017 11:28

    В чем смысл этих списков? Как они мне могут помочь?
    Почему в статьях не про хостинг реклама хостинга?