
Pralnia zaufania: VeraCrypt, Mark of the Web, i luka architektoniczna Windows
Pobrany z Internetu kontener VeraCrypt po zamontowaniu usuwa z plików wewnątrz znacznik pochodzenia, co pozwala na uruchomienie podejrzanych programów bez ostrzeżeń systemu Windows.
Windows oznacza pobrane z sieci pliki strumieniem Zone.Identifier, co aktywuje ostrzeżenia SmartScreen i inne mechanizmy bezpieczeństwa.
Kontenery VeraCrypt pobrane z Internetu po zamontowaniu pozwalają na uruchomienie plików wykonywalnych bez żadnych ostrzeżeń systemu.
Mechanizm ten nie jest błędem w kryptografii, ale luką architektoniczną, wynikającą z oddzielenia procesu dekrypcji od obsługi systemu plików.
Jak działa Mark of the Web
Mark of the Web (MotW) to mechanizm Windows, który przechowuje strefę pochodzenia pliku w alternatywnym strumieniu danych NTFS o nazwie Zone.Identifier.
Na podstawie tego znacznika system uruchamia ostrzeżenia SmartScreen, blokuje makra w dokumentach Office i inaczej traktuje pliki wykonywalne.
Plik bez strumienia Zone.Identifier jest dla Windowsa w praktyce plikiem lokalnym, za którego pochodzenie odpowiada użytkownik.
Microsoft wielokrotnie naprawiał problemy z propagacją MotW, a skuteczne obejścia trafiały do katalogu KEV i otrzymywały numery CVE.
Warto wspomnieć o dwóch przypadkach: CVE-2022-41091 dotyczącym montowania obrazów ISO oraz CVE-2025-0411 w 7-Zip, gdzie ekstraktor nie przenosił MotW na wypakowywane pliki.
Zgłoszenie i reakcja twórcy
Badacz z Sekuraka zgłosił twórcy projektu VeraCrypt, Mounirowi Idrassimowi, obserwację, że kontener pobrany z Internetu nosi strumień Zone.Identifier, a pliki wewnątrz go nie mają.
Do zgłoszenia dołączył PoC w PowerShellu, który potwierdził brak znacznika wewnątrz zamontowanego woluminu.
Idrassi odpowiedział, że zachowanie to jest zgodne z działaniem VeraCrypt, ponieważ sterownik dekryptuje sektory, a Windows obsługuje system plików wewnątrz woluminu jako niezależny.
Twórca projektu nie zamknął sprawy, lecz poprosił o dowód behawioralny, który pokazałby wpływ na realne zabezpieczenia systemu.
What you describe is consistent with how VeraCrypt works. The driver decrypts disk sectors, while Windows handles the filesystem inside the volume. That filesystem is separate from the one holding the container, so mounting doesn’t copy the container Zone.Identifier stream onto the files inside it.
Testy potwierdzają lukę
Badacz przygotował środowisko testowe z prostym, niepodpisanym plikiem wykonywalnym, który miał wyświetlić okienko alertu.
W scenariuszu kontrolnym plik pobrany bezpośrednio z Internetu otrzymał strumień Zone.Identifier i został zablokowany przez SmartScreen.
W scenariuszu z kontenerem ten sam plik umieszczono w zaszyfrowanym woluminie pobranym z Internetu, zamontowano go i uruchomiono.
Binarka wykonała się bez najmniejszego problemu – okienko alertu wyświetliło się, a jedyną reakcją systemu był brak ostrzeżeń SmartScreen.
Badacz podsumował wyniki, wskazując, że kontener działa jako pralnia zaufania, neutralizując kontrola Windowsa na uruchamianie plików.
When an internet-sourced container is mounted and inner files are exposed without propagating that context, the container acts as a trust-laundering mechanism that neutralizes Windows execution controls.
Dlaczego to nie jest podatność
Mounir Idrassi nie uznał tego za podatność, ponieważ sam brak strumienia Zone.Identifier nie daje wystarczających argumentów do zgłoszenia CVE.
Twórca projektu zaznaczył, że dla obrazów montowanych przez natywne mechanizmy Windows potrafi konsultować znacznik obrazu nadrzędnego.
Idrassi zwrócił uwagę, że analogiczny problem miał 7-Zip, który otrzymał CVE-2025-0411 za brak propagacji MotW.
Badacz z Sekuraka zadał pytanie: jeśli ekstraktor archiwów ma obowiązek propagować znacznik, dlaczego montowany wolumen miałby być z tej samej zasady zwolniony?
Twórca VeraCrypt ostatecznie potwierdził wyniki testów i rozszerzył je o inne produkty, ale nie zaproponował natychmiastowej poprawki.