- Процесс Windows с уровнем ненадежности целостности
- Обновление Windows 10 KB5001330 приносит очередные проблемы, включая BSOD
- реклама
- реклама
- реклама
- реклама
- Мои 5 причин, по которым Windows 10 сильно хуже Windows 7
- реклама
- Время отклика
- реклама
- Интерфейс
- реклама
- Навязывание обновлений
- реклама
- Дублирование настроек
- Где взять надежный Windows?
Процесс Windows с уровнем ненадежности целостности
Я не мог найти много информации об Untrusted уровне целостности в Windows, и есть некоторые вопросы об этом:
Есть ли место, где процесс ненадежного уровня целостности может создавать именованные объекты? (мьютексы, события и т.д.) Должен ли процесс проверки целостности целостности не открывать существующий именованный объект, ему был предоставлен дескриптор безопасности в его время создания с ACE с SYSTEM_MANDATORY_LABEL_NO_WRITE_UP на MandatoryLevelUntrusted ? Когда я пытаюсь, он терпит неудачу с 0xc0000022 (доступ запрещен), в то время как MandatoryLevelLow работает отлично. Как обычно процессы ненадежной целостности взаимодействуют с их брокерским процессом? (например, как вкладка Chrome Chrome взаимодействует с брокер google chrome?)
Есть ли место, где процесс ненадежного уровня целостности может создавать именованные объекты? (мьютексы, события и т.д.)
по умолчанию — нет. код с ненадежным токеном (поток или процесс) может создавать объект только в каталоге с Untrusted Mandatory Level — ни одна стандартная папка не имеет такого ярлыка. некоторые из них имеют Low Mandatory Level но не доверены — нет.
но вы можете легко создать эту папку самостоятельно. с Untrusted Mandatory Level и NULL DACL — ненадежный код может создавать объекты в этой папке.
о создании ненадежного кода — если начальный процесс начинается с маркера, отмеченного как ненадежный уровень целостности — процесс не запускается. это, когда ntdll.dll попробует загрузить kernel32.dll — попробуйте открыть раздел \KnownDlls\kernel32.dll с помощью SECTION_MAP_WRITE , но этот объект имеет Low Mandatory Level с SYSTEM_MANDATORY_LABEL_NO_WRITE_UP — в результате SYSTEM_MANDATORY_LABEL_NO_WRITE_UP код не открывается в этом разделе с доступом на запись.
в результате вам нужно сначала создать процесс, скажем, с помощью Low Mandatory Level а затем установить недоверенный уровень
Если процесс ненадежной целостности должен открыть существующий именованный объект
это зависит от метки объекта (уровень и маска), уровня целостности кода и требуемого доступа. если уровень целостности кода> = уровень метки объекта — мы можем открыть объект (если dacl позволяет сделать это). в противном случае нужно искать маску метки объекта и необходимый доступ. например, объект имеет Low Mandatory Level с SYSTEM_MANDATORY_LABEL_NO_WRITE_UP и код Untrusted Mandatory Level — этот код может открыть объект с доступом для чтения и выполнения, но не открыть его для доступа к записи
Обновление Windows 10 KB5001330 приносит очередные проблемы, включая BSOD
В некоторых конфигурациях Windows 10 возникают серьезные проблемы из-за недавнего обновления под номером KB5001330. Пользователи сообщают о проблемах с установкой, проблемах с производительностью, временной ошибке профиля пользователя и предупреждении о сбое системы.
реклама
На этой неделе во вторник Microsoft выпустила новые накопительные обновления за апрель 2021 года для поддерживаемых версий ОС. Для версии 20H2/2004 Microsoft выпустила Windows 10 KB5001330, обязательное обновление безопасности, направленное на устранение ряда уязвимостей и проблем, вызванных предыдущим обновлением, включая проблемы с принтерами.
Согласно многочисленным сообщениям на сайтах социальных сетей, растет число пользователей, которые не могут установить последнее обновление Windows на свое оборудование. При попытке это сделать появляются ошибки: 0x800f081f, 0x800f0984.
Об ошибках при загрузке обновления KB5001330 сообщили многие пользователи в Центре отзывов.
реклама
«Я получаю постоянный сбой при установке KP5001330 с кодом ошибки 0x800f0984. Это происходит на Surface Studio 2 и Pro 7. Второй месяц подряд нельзя установить накопительное обновление на моих устройствах. Установка приостанавливается на 20%, затем снова на 73%, потом на 100%, затем происходит сбой», — отметил один из пользователей.
В редких случаях также может повторяться известная ошибка временного профиля пользователя. Последний раз об этой ошибке сообщалось в декабре, она создает новый профиль пользователя при загрузке операционной системы после применения накопительного обновления. В этом случае пользовательские файлы и настройки (например, обои) могут исчезнуть.
«После обновления я больше не могу войти в свой компьютер. В нем говорится, что службе профилей пользователей не удалось войти в систему. Профиль пользователя не может быть загружен», — пожаловался один пользователь.
«После обновления Windows предлагает войти в гостевой профиль», — другой пользователь подтвердил проблему.
реклама
К счастью, есть обходной путь для решения указанной проблемы. Необходимо либо откатить обновление, либо вручную переместить пользовательские файлы.
Кроме того, пользователи сообщают о сбоях в играх: графических артефактах и значительном падении частоты кадров, но проблему можно решить, удалив накопительное обновление вручную. Лишь некоторые пользователи сообщают об этих проблемах на форумах, и, похоже, они не так распространены, как другие ошибки.
Также многие сталкиваются с периодическими появлениями BSOD (синего экрана смерти)/
«Это обновление сломало Windows для меня и других. BSOD при обновлении сообщал, что определенного драйвера больше нет или он не поддерживается. Я восстановил Windows и обновился снова, затем BSOD на моем ПК повторился дважды за несколько часов. Я удалил обновление. Это случилось не только со мной, поэтому я бы посоветовал не устанавливать это обновление», — сообщил один из пользователей.
реклама
Если вы загрузили обновление April 2021 Patch Tuesday и столкнулись с какими-либо проблемами, лучший способ решить проблему — это удалить исправление, выполнив следующие действия:
1. Откройте приложение «Настройки»;
2. Нажмите «Обновление и безопасность»;
3. Нажмите «Центр обновления Windows»;
4. Нажмите «Просмотреть историю обновлений»;
5. Нажмите «Удалить обновления», затем выберите KB5001330, чтобы удалить его;
6. Перезагрузите компьютер.
На данный момент компания Microsoft никак не прокоментировала многочисленные жалобы пользователей.
Мои 5 причин, по которым Windows 10 сильно хуже Windows 7
Так уж получилось, что я пользуюсь одновременно и Windows 7, и Windows 10. «Десятка» установлена у меня на домашнем игровом компьютере, а «семёрка» — на рабочем. Весной, в самый разгар пандемии, мне пришлось несколько месяцев работать из дома. И за это время я практически возненавидел Windows 10. Сейчас объясню, почему.
реклама
Время отклика
Раньше Windows 10 для меня была просто эдаким «лаунчером» — на домашнем компьютере я только запускал игры и смотрел кино. С интерфейсом самой «винды» взаимодействие было минимальным. Собственно, обновился я несколько лет назад только потому, что актуальные игры перестали поддерживать «семёрку» и стали требовать DirectX 12.
Но поработав на «десятке» пару месяцев, я понял, за что её все ругают. Время отклика действительно дольше — старая Windows 7 на более слабом рабочем компе работает быстрее! И там, и там установлены SATA SSD. Я думаю, это связано с тем, что последняя «винда» постоянно что-то отправляет на сервера Microsoft, а также перегружена ненужными ресурсами, которые нельзя отключить. Мои ощущения подтвердились тестами в программе LatencyMon:
реклама
Меня не особо беспокоит сам факт того, что «майки» собирают мои личные данные и продают их кому попало. Мне не нравится, что это сказывается на быстродействии системы.
Но главная проблема в том, что на современных системах практически невозможно установить «семёрку»! Мы столкнулись с этим на работе, собирая ПК новому сотруднику на Ryzen 3 2200G. Проблема была именно в драйверах контроллеров USB 3.0. По итогу, специальной утилитой поправили образ системы, интегрировав туда «дрова». Только тогда всё заработало.
Интерфейс
Объединённый интерфейс для десктопных ПК и планшетов — худшее решение Microsoft за все годы. Это начало бесить меня ещё в Windows 8, которую я снёс практически сразу после установки. В «десятке» ещё хуже — теперь некоторые приложения доступны только в магазине Microsoft Store. Например, при установке драйверов на звуковую карту Realtek старая программа для настройки звука уже недоступна — извольте скачать кривую планшетную версию из магазина.
реклама
То же самое касается игр — например, в Forza Horizon 4 не поиграть, кроме как купив её в планшетном магазине Microsoft.
Плюсом ко всему, прозрачные окна седьмой «винды» мне просто нравятся гораздо больше, чем современный плоский дизайн, который стал трендом и проник практически везде: начиная от Android и iPhone, и заканчивая осовремениванием некоторых сайтов. Но это уже вкусовщина, можете со мной поспорить.
Навязывание обновлений
реклама
«Отключаем обновления в Windows 10 всего за 8 простых шагов» — в интернете куча статей на эту тему, в том числе на нашем сайте. Необходимо устанавливать твикеры, копаться в реестре, блокировать сервера и заниматься прочей ерундой. И даже после проделывания всех этих действий всё равно не получается до конца выпилить апдейты. Microsoft следовало бы сделать один простой пункт в настройках — отключить обновления. И всё! Почему они этого до сих пор не сделали? Непонятно.
Пример стороннего твикера
Приведу пример из личного опыта. У нас на работе в комнате для совещаний есть проектор, к нему подключен мини-ПК размером с флешку, что-то вроде такого:
Для презентаций такой «флешки» с HDMI хватает за глаза. На ней установлена Windows 10, которую никак не выпилить. Обновления полноценно отключить не получилось. Пользуемся проектором мы очень редко, но включать такой ПК приходится регулярно — чтобы он скачал апдейты, установил их и успокоился. Делаем этого для того, чтобы он не начал установку в самый неподходящий момент, когда нужно показать презентацию заказчикам:
Второй пример — новые игры требуют самой последней версии Windows 10. Forza Horizon 4 на версии ниже 1903 не запустится, похожая ситуация и с Horizon: Zero Dawn.
Дублирование настроек
Чтобы зайти в классическую «Панель управления», нужно пройти через 7 кругов ада. То же самое касается и сетевых настроек, а также настроек экрана и многого другого — очень неудобно.
Понятно, что приделывали этот новый планшетный интерфейс задней левой пяткой. Часть графики сохранилась ещё со времён Windows 98, а часть — новая, что выглядит очень коряво:
Почему нельзя вообще отключить эти плитки и планшетные приложения на обычном десктопе? Опять-таки, достаточно было бы сделать одну кнопочку в настройках.
Windows 10 уже исполнилось 5 лет, но количество ошибок в системе просто поражает. Например, у меня иногда пропадают значки на ярлыках. Пару раз в месяц перестаёт работать кнопка Пуск — при нажатии на неё ничего не происходит. Некорректно определяется масштабирование в некоторых программах: у меня 2 экрана, Full HD и 4K, при переключении между ними постоянно возникают проблемы со скейлингом.
Отмечу, что вышеупомянутые постоянные обновления зачастую только приносят новые баги. Так, после одного из них у меня, например, отвалился драйвер старого принтера.
Поделитесь в комментариях своим опытом, какие проблемы возникали у вас на Windows 10?
Где взять надежный Windows?
В этой статье автор расскажет о требованиях к выбору программных продуктов для стабильной работы.
Автор: Сергей Веренеев (smolina_maria@mail.ru)
Исповедь программиста для заложников Билла Гейтса.
«DVR бесполезно — PC-based ненадежно», — этот спор можно продлевать до бесконечности. Так сложилось исторически, что персональные компьютеры на несколько порядков мощнее других доступных процессоров. И так уж получилось, что большие возможности чаще всего плохо уживаются с надежностью. Не менее очевидно и другое: небольшие мощности микропроцессоров не обеспечивают постоянно растущих задач.
Через пару-тройку лет читающий эту статью скажет, что это обсуждение сравнимо с вопросом: менять ли пишущую машинку на компьютер или нет? Но сегодня логика вещей все еще подсказывает, что надо бы выбрать надежность, пусть и «люминивую», но надежность. Еще десять лет назад спорили, можно ли доверять компьютерам продажу авиабилетов, сопровождение самолетов, даже оформление штрафов. При всех «против» прогресс все равно шел своим путем. Господа, кто бы ни был прав, последнее слово все равно за ПК. Да и пора прекратить гнобить их за гигантоманию Windows, обычные телефоны виснут не реже.
Нет смысла заниматься демагогией, результат известен, под шумное бормотание мы все равно пойдем за более мощными технологиями. Лучше подумать, как добавить надежности PC-based системам. Чтобы не было недопонимания, некоторым эта статья может показаться заступничеством за Билла, сразу крупными буквами напишу:
Программ без ошибок не бывает! И не только в Windows. Какой бы простой ни был код, на каком бы простеньком процессоре он ни выполнялся, все равно в каких-то других условиях в какой-то другой ситуации в нем проявится сбойный момент. Это закон!
Самое отвратное в этом, что данный закон не такой уж уникальный, в этой жизни и на этом свете нет ни одной абсолютно надежной вещи. Поэтому хватит бурчать по поводу глюков, если они некритичны. Ошибки неизбежны, но их количество не должно мешать пользователю жить. Поэтому этой статьей дается лишь руководство к их сокращению, а не уникальное средство от всех проблем.
Чтобы понимать, с кем бороться, нужно выделить основные деструктивные факторы:
- Ненадежность компьютерных комплектующих.
- Ненадежность операционной системы.
- Ненадежность основного используемого ПО.
- Влияние на надежность ПО сторонних фирм.
- Человеческий фактор.
Занимаясь этими проблемами многие годы, мы можем обнадежить, что сегодняшняя проблема надежности не мешает жить, а некоторым и зарабатывать деньги. Статистика показывает, что подавляющее число систем на ПК все-таки успешно работают, иначе бы у нас и таких как мы не было денежек на существование. Но обо всем по порядку.
1. Проблема глючных компьютерных комплектующих конечно есть, но в 90% она выявляется на стадии первоначальной настройки компьютеров. Еще 9% — в первые один — два месяца работы системы. И на выходе мы имеем вполне приемлемый допустимый процент недовольных клиентов.
2. Не так страшен черт, как его малюют. Тем более что с «нечистой» тоже можно договориться. Windows отлично поддается контролю по множеству ключевых параметров. Просто этим мало кто заморачивается, ведь, как правило, компьютер включается лишь на короткую сессию, да и под рукой всегда есть кнопки Ctrl+Alt+Del. В основном только сетевым серверам и системам безопасности требуется непрерываемая многолетняя работа. Но на самом деле безотказная (почти) работа винды – это возможно. Как минимум, на столько, чтобы это не мешало жить.
Мы здесь не изобрели ничего особенно нового, да и вообще эта статья не об изобретениях, а лишь об удачной практике применения в одном конкретно взятом софте. Поэтому не надо перефразировать каждое слово на предмет изобретение колеса. Впрочем, за колесо все еще бьются гениальные умы: когда-то оно было деревянным, потом на резине, недавно BMW выпустил модификацию, на которой можно ездить даже после прокола.
Практически каждую критическую ситуацию винды можно предсказать и вовремя предотвратить, начиная с опасного расхода виртуальной памяти, заканчивая утечкой сетевых сокетов. Ничто не происходит внезапно, если это конечно не дефект драйвера какого-либо устройства. Но это обычно распознается во время первых дней работы. При длительной же эксплуатации умная программа всегда может вовремя скорректировать расход системных ресурсов, хирургически вырезав какой-нибудь наросший и незакрытый штатно элемент, поубивать сокеты, повыгружать неиспользуемую память, произвести дефрагментацию отдельных ее участков…
На край произвести перезагрузку всей ОС или только отдельной программы.
3. Если уж вы решились таки использовать компьютер, то обычную «записывалку» типа DVR покупать нет смысла — пушка по воробьям, просто нет смысла возиться со всеми виндами и железами ради простенькой операции. К компьютеру нужна многофункциональная система с большими возможностями. Однако оттестировать огроменное число функций – задача непосильная даже для Microsoft, где работает 20 000 программистов, и весь процесс построен по науке. Вы думаете, что Билл Гейтс специально выпускает глючные продукты, чтобы подорвать мировую экономику? К сожалению, большое число проблем не диагностируется даже в самых современных лабораториях, они выявляются только на стадии реального использования клиентами. И иногда настолько сильно проявляются, что становится очевидным несостоятельность всего проекта, как стало с Вистой и другими. А главная подрывающая сила – совместимость. Неимоверно большое число компьютерных комплектующих, драйверов и программ не так-то просто протестировать на любовь друг к другу даже самой большой в мире компании.
Но мы углубились в измышлизмы. Все-таки несколько миллионов строк программного кода Спецлаба далеки от мультимиллионов Майкрософт. Надежный софт написать можно, если правильно расставить принципы, на которых строить прочное здание.
а) Главное условие надежности – это длительное время тестирования. Если разработанный алгоритм испытывается давно и на большом числе пользователей, то при отсутствии критических ошибок его можно назвать надежным.
Нельзя заявлять клиенту о надежности, если не прошло хотя бы полгода массового тестирования основополагающих процедур. Клиенту нельзя покупать программу, со дня выпуска которой не прошло и полгода! А честному производителю нельзя такую продавать без предупреждения о коротком сроке. Конечно, этот вариант предполагает работу с большим числом добровольных бэта-тестеров. И тут как повезет, не с каждым будут сотрудничать хорошие специалисты, да и вообще не всем такая идея может понравиться. Но, слава Богу, в нашей стране не без добрых людей. Нужно просто перестать скрывать свои недостатки, и народ, видя, что его не дурят, потянется. Конечно, сначала это нелегко, психологически трудно переступить черту откровенной критики. Есть те, кто пользуется открытыми данными о проблемах и строит на этом свою конкурентную войну. Но тут надо найти мужество принять нелегкое решение: или пудрить мозги или делать хороший софт.
б) Автоматическая система сбора информации. Обычно ошибки программы можно найти только под специальными отладчиками языков программирования, которыми способны пользоваться лишь сами программисты. Такой способ совсем не годится для массового тестирования непосвященными в математические языки людьми. Не каждый пользователь вообще может запомнить или объяснить свою последовательность действий или реакцию софта. К основной программе нужно написать еще одну не менее важную – автоматического сбора данных и статистики. Во-первых, туда надо сохранять каждое действие пользователя, во-вторых, все выполняемые в это время процессы программы, в третьих, все параметры операционной системы в динамике и данные об оборудовании (в статике :). Но и это еще не все (все мы не расскажем :). Иногда даже всех этих данных недостаточно, чтобы понять все тонкости взаимосвязей, например влияния софта от устройства бесперебойного питания на аудиоканал. Как минимум, в такой информатор нужно включить систему сбора дампов, это на сегодняшний день самый глубокий способ проникновения в «винду». Глубже только исходные тексты, которые тоже иногда необходимо доставать через многочисленных знакомых программистов Microsoft и Intel, чтобы разобраться в каком-нибудь неподдающемся модуле.
По сути, без такого информатора ни одну программу вообще нельзя запускать в продажу. Без него на вопрос клиента, почему не работает, вы можете только пожимать плечами и все валить на нелицензионную винду. Лишь имея средства получения доскональной инфы о всех проделках на компьютере, вы имеете право общаться с клиентом на равных.
Здесь главное не переборщить, конечно же. Все-таки 90% всех вопросов исходят из неправильных действий самого клиента, и надо аккуратно без обид пояснить, что нужно сделать для избегания проблем. Владея подробной информацией, собранной программным сборщиком, иногда хочется крикнуть: возьми мышку другой стороной. Но надо следить за собой :!
в) Другое ограничение – это отказ от глючных достопримечательностей. Каков бы ни был соблазн загнать в программу нечто модное и гламурное, нельзя идти на поводу улюлюканья «у вас этого нет». Все что на деле имеет сомнительную надежность или низкий КПД в реальных условиях, надо резать по сердцу и извиняющимся голосом объяснять «а нам это и не надо».
4. Интеграция. Она по определению не может быть быстрой. Ежедневное припаривание к себе кодов чужого глючного железа ни к чему полезному не приведет. Хотя и создаст на первых порах маркетинговый ореол идущего впереди. Беспорядочные софтверные связи – 30% всех проблем с надежностью. Как только вы сказали себе «стоп» и с каждым начали заниматься плотнее (иногда по нескольку лет), так сразу разгрузили ТП от головной боли.
Есть еще путь изолированных модулей для самых распространенных протоколов, как например, IP-камер, но все равно нужно тестировать сами IP-камеры. Сколько их всяких ни перебывало в наших руках, и самых известных марок! Пока общая оценка их глюкозащищенности на 3 с минусом. Все надо тестить, прежде чем предлагать.
5. Теперь о ЧЕЛОВЕКЕ. Надо сразу определиться, как он будет общаться с компьютером на предмет надежности. Ему требуется удобный способ получения информации. Это может быть просто лампочка над головой, светодиод у двери, телефонный звонок, SMS-сообщение, Е-mail, ICQ… Главное, чтобы этот канал контроля надежности был выбран и существовал как класс, о чем все забывают. Достаточно два типа сообщения: экстренная неисправность и неисправность в рамках планируемого обслуживания. В зависимости от категории объекта каждый сам определяет критичность. Например, перекрытие обзора камеры снегом можно отнести ко второй категории, а выход из строя после многолетней работы диска — к первой. Главное, чтобы неисправность висела над человеком. Это конечно, его дело, когда ее устранять, главное, чтобы он быстро мог получить эту информацию. Поэтому надо выбирать наиболее назойливый канал. Для домоседа – лампочка, для компьютерщика – аська, для занятого человека – телефон и т.д. Можно, конечно и все вместе, но от перебора повторяющейся информации может быть отрицательный эффект.
еисправность может быть в любой технике, наша задача – быстро и надежно довести информацию об этом. А еще лучше и получить обратную реакцию, например, нажатием какой-нибудь кнопочки на двери или телефоне. Надавил клиент на тоновую клавишу своего мобильника – отстаем от него. Нет – продолжаем долбить по всем каналам.
Тут конечно лучше не переусердствовать с критицизмом. Неисправность какого-нибудь одного элемента, например, камеры, лучше заводить во вторую категорию, чтобы клиент не стал дерганным из-за обрывов проводов в ветреной местности. Кроме того, часто приходится иметь дело с самовосстанавливающейся неисправностью. Будет глупо, если клиент созреет на техобслуживание, а обслуживать будет «нечего».
Но оповещение о неисправности быть должно! На сегодняшний день мало кто об этом вообще задумывается. Все сводится к нерегулярной проверке техники. Зашел через месяцок, глянул. Если все работает – хорошая система!
Господа, систем без проблем не бывает! Даже если проблем нет, все равно надо иметь этот канал «из преисподней». А дальше все по накатанной. Если видеосигнал пропал, проверяем контакт, если что-то умерло, отсылаем лог сборщика информации о надежности. Не нужно думать, что такое придется делать каждый день. Чаще всего ничего не ломается. Но мы просто хотим людей заставить выучить фразу: Аппаратуры без сбоев не бывает. Даже, если бывает, все равно ее надо выучить! Или иметь канал связи с надежностью.
Мы считаем, что 5 этих основополагающих принципов дают возможность создать такую систему, теоретическая степень ненадежности которой не мешает жить пользователю.
Но еще один придется прибавить. Даже продавая вылизанную по всем меркам программу, необходимо содержать службу технической поддержки. Как вы думаете, почему? Потому что ЗАКОН гласит: Программ без ошибок не бывает! И действительно — мы уже, как видите, совсем отошли от условностей и влегкую рассказываем все свои проблемы – уже после официального выпуска Пегали один бэта-тестер обратился с неразрешимой проблемой: одна камера не хочет работать! Сначала был шок, уже полгода как вроде все «критические» сняли, и давно тишина в эфире, а тут. Засада оказалась в транскрипции, программа не понимала служебные символы типа «\» в написания имени камеры. Конечно, мало кто бы вообще мог такое изобразить, все обычно пишут «Камера 1», «Вход в здание» и проч. Этот случай один может быть на сто тысяч. Но, если он возник у клиента, не пошлешь его к Гейтцу. Поэтому ТП должна дежурить и держать нос по ветру.
В общем, если честно, не надо думать, что те, кто не встраивает таких модулей надежности в свои программы, обязательно имеют проблемы с надежностью. На самом деле про наличие большого числа ошибок мало кто знает. Виндовое приложение это такая вещь, которая может и казаться пушистой, и в принципе выполнять свою основную задачу. Эта статья для особо увлеченных в вопросах надежности. Кто-то же увлекается марками….