NTFS nie całkiem bezpieczny….

Tak. That’s true. Zwłaszcza, gdy przygotowując się właśnie do prezentacji od której zależy Twój awans, nie dysponujesz kontem z prawami administratora na laptopie, z którego przyszło Ci korzystać podczas jej trwania. A dlaczego? Gdyż Twój PenDrive, czy inny nośnik pamięci wymiennej, którym dysponujesz został przezornie ze względów bezpieczeństwa sformatowany pod NTFS’em. NTFS przechowuje dane o użytkownikach, którzy mają Grant Access do pliku w tak zwanym deskryptorze zabezpieczeń pliku. Jest to obszar w MFT (Master File Table) gdzie zapisywane są informacje o zabezpieczeniach pliku, takie jak prawa dostępu, czy atrybuty szyfrowania. A każdy taki wpis dotyczy użytkownika lokalnego systemu, w którym aktualnie jest wolumin NTFS podmontowany. Tak więc, gdy w domu tworzysz plik na NTFS’ie umieszczonym na nośniku pamieci przenośnej, zapisujesz jego pole OWNER guid’em (Global User ID – czyli unikalnym identyfikatorem użytkownika generowanym przez system) użytkownika, na którego profil jesteś aktualnie zalogowany. Kiedy przenosisz swój plik, i próbujesz go otworzyć na innym komputerze, Microsoft gwarantuje, że uid użytkownika będzie inny. Tak więc, domyślny deskryptor zabezpieczeń, który daje Grant Access Owner’owi, uniemożliwia odczyt tego pliku. Oczywiście zawsze istnieje możliwość przejęcia go na własność, ale wtedy musimy dysponować kontem z prawami administratora, a i to sie da wyłączyć. Z drugiej strony zawsze można skorzystać z „magicznej” grupy Everyone, której GUID należy do „Well Known GUIDs”. Tylko wtedy należy sobie zadać pytanie, po co tyle trudu i energii włożyliśmy w zabezpieczanie naszego nośnika, kiedy nic nie zyskaliśmy na tym. Tak samo sprawa ma się z szyfrowaniem. System szyfrowania w NTFS’ie opiera się na certyfikatach i kluczach prywatnych użytkowników systemu. Bezpieczny storage certyfikatów identyfikuje je także po GUID’ach użytkowników do których należą. Tak więc, na innym systemie dane będą po prostu nie czytelne. Znów istnieje workaround tego problemu wymagający już nie tylko uprawnień administratora, ale także uprawnień do przywracania certyfikatów szyfrowanych danych. Posiadając swój klucz prywanty (SIC!! Jest zaszyfrowany? ) można dane odtworzyć. Ale wtedy znów się niszczy oryginalny deskryptor zabezpieczeń pochodzący z Twojego systemu.

Drugą kwestią jest fakt, że system Windows domyślnie włącza dla NTFS’a cache systemu plików celem poprawy wydajności komunikacji z dyskiem twardym. W przypadku kieszeni dyskowych na usb trudno mówić o jakiejkolwiek poprawie, gdyż jak wiadomo usb ma limit 4 MiBps. Tak więc, jest to feature zupełnie nie potrzebny, a należało by go za każdym podmontowaniem woluminu wyłączać ręcznie. A tym razem dlaczego? Ponieważ interface USB nie zapewnia odpowiedniej komunikacji systemu operacyjnego z cache’em na płycie dysku, i bardzo często jest to przyczyną błędów opóźnionego zapisu („delayed write error”), które w konksekwencji kończą sie nie spójnością dysku, a są praktycznie nie do naprawienia przez chkdsk, o ile nawet ten ostatni jest w stanie je wykryć…

Tak, że mając na względzie własne doświadczenia z utraconymi danymi dzieki próbom zabezpieczania się NTFS’em na pamięciach przenośnych, zdecydowanie odradzam tę koncepcję z powodów które opisałem 🙂