Рубрика «windows» - 15

Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам.

Потоки и планирование потоков

Что такое поток? Давайте дадим краткое определение. По своей сути поток это:

  • Средство параллельного относительно других потоков исполнения кода;
  • Имеющего общий доступ ко всем ресурсам процесса.

Очень часто часто слышишь такое мнение, что потоки в .NET — они какие-то абсолютно свои. И наши .NET потоки являются чем-то более облегчённым чем есть в Windows. Но на самом деле потоки в .NET являются самыми обычными потоками Windows (хоть Windows thread id и скрыто так, что сложно достать). И если Вас удивляет, почему я буду рассказывать не-.NET вещи в хабе .NET, скажу вам так: если нет понимания этого уровня, можно забыть о хорошем понимании того, как и почему именно так работает код. Почему мы должны ставить volatile, использовать Interlocked и SpinWait. Дальше обычного lock дело не уйдёт. И очень даже зря.

Давайте посмотрим из чего они состоят и как они рождаются. По сути поток — это средство эмуляции параллельного исполнения относительно других потоков. Почему эмуляция? Потому, что поток как бы странно и смело это ни звучало — это чисто программная вещь, которая идёт из операционной системы. А операционная система создаёт этот слой эмуляции для нас. Процессор при этом о потоках ничего не знает вообще.

Задача процессора — просто исполнять код. Поэтому с точки зрения процессора есть только один поток: последовательное исполнение команд. А задача операционной системы каким-либо образом менять поток т.о. чтобы эмулировать несколько потоков. Читать полностью »

На Хабре не так много статей, посвященных операционной системе Qubes, а те, что я видел мало описывают опыт применения. Под катом надеюсь это исправить на примере использования Qubes в качестве средства защиты (от) среды Windows и, попутно, оценить количество русскоговорящих пользователей системы.

qubes-os

Читать полностью »

Домен corp.com выставлен на продажу. Он опасен для сотен тысяч корпоративных компьютеров под управлением Windows - 1
Схема утечки данных через Web Proxy Auto-Discovery (WPAD) при коллизии имён (в данном случае коллизия внутреннего домена с названием одной из новых gTLD, но суть та же). Источник: исследование Мичиганского университета, 2016

Майк О'Коннор, один из старейших инвесторов в доменные имена, выставляет на продажу самый опасный и спорный лот своей коллекции: домен corp.com за $1,7 млн. В 1994 году О'Коннор купил множество простых доменных имен, такие как grill.com, place.com, pub.com и другие. В их числе был и corp.com, который Майк хранил на протяжении 26 лет. Инвестору уже исполнилось 70 лет и он решил монетизировать свои давние вложения.

Вся проблема в том, что corp.com — потенциально опасен как минимум для 375 000 корпоративных компьютеров из-за безалаберной настройки Active Directory во времена построения корпоративных интранетов в начале нулевых на базе Windows Server 2000, когда внутренний корень указывался просто как «corp». До начала 2010-х это не было проблемой, но с ростом числа ноутбуков в деловой среде, все больше и больше сотрудников стали выносить свои рабочие компьютеры за пределы корпоративной сети. Особенности реализации Active Directory приводят к тому, что даже без прямого запроса пользователя к //corp, ряд приложений (например, почта), стучатся по знакомому адресу самостоятельно. Но в случае внешнего подключения к сети в условной кафешке за углом это приводит к тому, что поток данных и запросов льется на corp.com.

Сейчас О'Коннор очень надеется, что домен выкупит сама Microsoft и в лучших традициях Google сгноит его где-нибудь в темном и недоступном для посторонних месте проблема с такой фундаментальной уязвимостью Windows-сетей будет решена.
Читать полностью »

Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или настроить хостинг Mercurial на своём сервере. Сервер у меня есть, отказываться от Mercurial и менять привычки как-то не хочется, альтернативы BitBucket мне тоже не приглянулись — поэтому выбрал последний вариант. Задача вроде несложная, вот только сервер у меня под Windows, и, кажется, в процессе настройки я умудрился наступить на максимум возможных граблей. Надеюсь, эта статья поможет кому-нибудь избежать этого и сэкономить время.

Читать полностью »

Порой так хочется заглянуть какому-нибудь вирусописателю в глаза и спросить: зачем и почему? С ответом на вопрос «как» мы справимся сами, а вот узнать, чем думал руководствовался тот или иной создатель вредоносного ПО, было бы очень интересно. Тем более, когда нам попадаются такие «жемчужины».

Герой сегодняшней статьи – интересный экземпляр шифровальщика. Задумывался он, по всей видимости, как очередной «вымогатель», но его техническая реализация больше похожа на чью-то злую шутку. Об этой реализации сегодня и поговорим.

К сожалению, проследить жизненный цикл этого энкодера практически невозможно – слишком уже мало статистики по нему, так как распространения он, к счастью, не получил. Поэтому оставим за скобками происхождение, методы заражения и прочие упоминания. Расскажем лишь о нашем случае знакомства с Wulfric Ransomware и о том, как мы помогли пользователю спасти его файлы.
Читать полностью »

Телеметрия давно стала горячо обсуждаемой темой с момента, когда Microsoft выпустил первую версию Windows 10. Microsoft решил глубоко интегрировать сбор данных в операционную систему — да так глубоко, что у пользовательских выпусков Windows 10 Home и Windows 10 Pro не было опции по полному отключению телеметрии.
Читать полностью »

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

Тем не менее, возможно кому то будет интересно узнать, что в марте 2020 года, примерно через месяц, всем использующим MS LDAP может стать немножко больно и обидно, может сломаться вход на ряд сервисов.
Странно, что в поиске по сайту этой новости (про 2020 LDAP channel binding and LDAP signing requirement for Windows) не нашлось.
TLDR: В мартовском патче ожидается изменение поведения по умолчанию. Если вы не относитесь к техническому персоналу и(или) не ставите патчи, то пост можно смело пропускать.
Что затронет: Все, что использует LDAP / LDAPS — Windows, Vmware, IPMI, и прочие Windows авторизации — например веб-сервисы с windows авторизацией (но не все).
Кому быть готовыми: Всем, у кого команда по «всему Microsoft» отделена от команд по VMware и железу.
Покайтесь, ибо грядет LDAP Channel Binding & Signing - 1

Читать полностью »

[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет - 1

(с) Вася Ложкин.

К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.

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

Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.

Читать полностью »

TransactionMaster В ядре Windows есть модуль, отвечающий за поддержку группировки файловых операций в некоторую сущность, называемую транзакцией. Действия над этой сущностью изолированы и атомарны: её можно применить, сделав перманентной, или откатить. Очень удобно при установке программ, согласитесь? Мы всегда переходим от одного согласованного состояния к другому, и если что-то идёт не так, все изменения откатываются.

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

Давайте разберёмся, как же это работает, поэкспериментируем с моей программой, и поймём, при чём тут вообще песочницы.

Читать полностью »

Собираем приложение Qt в WebAssembly в Windows - 1

Как известно, приложения написанные на Qt, который является кросс платформенными запускаются от desktop, мобильных, интернет вещей, до микроконтроллеров.

Один из вариантов это сборка приложения Qt в WebAssembly — которое позволит Вам запускать его в браузере у пользователя. Таким образом обновление приложения для пользователя будет заключаться в загрузке на сервер нового файла wasm.

Чтобы легче было осуществлять деплой приложения, в рамках данной статьи давайте соберём приложение Qt в WebAssmbly под Windows в командной строке.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js