HP EliteBook 8530p проблема wifi (жестко заблокирован) в Qubes OS

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

Однако CVE-2014-6271 отличается.

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

В контексте CVE-2014-6271 был приведен пример сценариев, используемых для анализа файлов журналов. У них может быть вполне законная потребность в передаче ненадежных данных в переменных среды. Конечно, имя для такой переменной окружения выбрано таким образом, чтобы оно не оказывало отрицательного воздействия.

Но вот что плохого в этой конкретной уязвимости bash. Его можно использовать с любым именем переменной. Если вы создадите переменную среды с именем GET_REQUEST_TO_BE_PROCESSED_BY_MY_SCRIPT , вы не ожидаете, что какая-либо другая программа, кроме вашего собственного скрипта, будет интерпретировать содержимое этой переменной среды. Но при использовании этой ошибки bash каждая переменная среды становится вектором атаки.

Обратите внимание, что это не означает, что имена переменных среды должны быть секретными. Знание имен задействованных переменных окружения не упрощает атаку.

Если программа1 вызывает программу2 , которая, в свою очередь, вызывает программу3 , то программа1 может передавать данные в программу3 через переменные среды. У каждой программы есть определенный список переменных среды, которые она устанавливает, и определенный список, на который она действует. Если вы выбрали имя, не распознаваемое программой2 , вы можете передавать данные из program1 в program3 , не беспокоясь о том, что это окажет негативное влияние на program2 .

Злоумышленник, зная точные имена переменных, экспортируемых программой1 , и имена переменных, интерпретируемых программой2 , не может использовать это знание для изменения поведения 'program2`, если нет перекрытия между набором имен.

Но это не помогло бы, если бы program2 был сценарием bash , потому что из-за этой ошибки bash интерпретировал бы каждую переменную среды как код.

1
06.02.2016, 20:14
1 ответ

Если кнопка WiFi уже работала в Ubuntu и Kali, возможно, поддержка кнопки была включена в ядро (при условии, что ядро Ubuntu/Kali было обновленной версией, чем то, которое сейчас установлено на Qubes). В этом случае обновление до Qubes 3.1 может помочь.

Также может быть, что определенный пакет(ы) Debian на Ubuntu/Kali поддерживает кнопку. Если бы вы смогли выяснить, какой пакет(ы) (если таковые имеются) отвечал за кнопку, вы могли бы установить их на ваш шаблон Debian в Qubes и затем основать ваш NetVM на этом шаблоне.

0
28.01.2020, 01:33

Теги

Похожие вопросы