Вот мы и приблизились к финишной прямой нашего обзора уязвимостей операционных систем. Сегодня мы затронем довольно редкие ОС, однако заслуживающие не меньшего внимания, чем, например, macOS или Ubuntu Linux. И, помимо вышеуказанных, рассмотрим дыры в скандально известной Windows Vista. Для тех, кто хочет ознакомится с материалами из предыдущих частей, предоставляю соответствующие ссылочки: Часть I, Часть II, Часть III.
Но для начала я хотел бы напомнить о том, почему именно эти ОС мы сегодня рассматриваем, как выбираются уязвимости и какие данные о них содержатся в таблицах, коих вы увидите довольно много ниже по тексту.
В данной части мы будем изучать третью пятерку операционных систем из таблицы ниже (выделены жирным шрифтом):
Название ОС | Производитель | Общее число уязвимостей за 2017 год | Общее число уязвимостей за 2016 год | Общее число уязвимостей за все время ведения статистики |
---|---|---|---|---|
Android | 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 |
В таблицах каждого из типов уязвимостей указываются определенные дополнительные параметры, касающиеся той или иной уязвимости. Подробнее о них.
Уровень воздействия на
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 (на двух ноутбуках, естественно). И, понимая их отличия, все же ценю обеих, не выбирая любимчиков.
Выбирайте ОС под ваши нужды, анализируйте информацию, рассматривайте функциональные возможности претендентов, и просто пользуйтесь тем, что вам нравится, а не тем, что советует большинство. Удачного всем дня и до скорой встречи.
На правах рекламы.Это не просто виртуальные серверы! Это
Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США!
Автор: Dmytro_Kikot