12 Bezpieczeństwo systemów komputerowych - wykład V i VI 12/16/32 16 32 ex Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2018/2019 1/54
Plan wykładu 12 16 32 ex 1 2 3 12 4 16 5 32 6 7 Extended 8 2/54
I 12 16 32 ex 3/54
I 12 16 32 ex 4/54
I 12 16 32 ex 5/54
I 12 16 32 ex 6/54
II 12 Metoda przechowywania, zarządzania plikami i informacjami o nich, w taki sposób, aby dostęp do i danych w nich zgromadzonych był łatwy dla użytkownika systemu. 16 32 ex Przykłady systemów : Linux: ext, ext2, ext3, ext4, ReiserFS, JFS, XFS, DOS: 12, 16, Windows: 32, ex,. 7/54
Rodzaje systemów 12 16 32 ex 8/54
12 16 y 32 ex 9/54
12 16 32 ex ang. File Allocation Table, ze względu na kompatybilność, obsługiwany przez prawie wszystkie obecnie opracowane systemy operacyjne (komputery osobiste, urządzenia mobilne, systemy wbudowane), 1977, dyskietki -> dyski twarde (DOS, Windows 9x), kolejne wersje: 12, 16, 32, wykorzystuje tabelę indeksów (tablica alokacji ), wykorzystanie przez UEFI. 10/54
Tablica alokacji I 12 16 32 ex informacje przechowywane w porcjach zwanych sektorami, partycja podzielona na klastry (jednostki alokacji pliku), numer klastra umożliwia obliczenie: numeru logicznego sektora, numeru ścieżki, głowicy i sektora na ścieżce klaster w całości jest przydzielany jednemu plikowi: plik w katalogu - numer pierwszego klastra pliku, dalsze części pliku - wpis w, w tablicy alokacji: numer klastra pierwszej części pliku wskazuje na numer kolejnego klastra pliku. 11/54
Tablica alokacji II 12 16 32 ex 0000h - wolny klaster, FFF7h - uszkodzony klaster, FFF8h-FFFFh - ostatni klaster pliku, FFF0h-FFF6h - zarezerwowany klaster. Źródło rysunku: http://www.byu.edu/ 12/54
Tablica alokacji III 12 16 32 ex Zalety i wady: szybkie odszukanie miejsca dla nowego pliku, łatwe odszukiwanie kolejnych części, duża partycja - duży klaster - niewykorzystane miejsce, fragmentacja, problemy z modyfikacją tablicy alokacji. 13/54
Fragmentacja i defragmentacja 12 16 32 ex Fragmentacja Zjawisko polegające na występowaniu nieciągłości obszarów zapisanych i niezapisanych na dysku twardym komputera, skutkujące spadkiem wydajności operacji na plikach. Przyczyny: - wadliwa budowa systemu (problemy z algorytmami alokacji danych), - usuwanie, dodawanie i modyfikowanie nowych. Defragmentacja Proces scalania pofragmentowanych danych na dysku w celu uzyskania większej wydajności operacji na plikach. 14/54
Zalety defragmentacji 12 16 32 ex Źródło: www.demotywatory.pl 15/54
Budowa partycji 12 16 32 ex Partycja dzieli się na 4 obszary: 1. Zarezerwowany - Volume Boot Record, BIOS Parameter Block, Boot Loader, 2. Tablica alokacji znajduje się za boot sektorem, 3. Katalog główny (w 32 nie istnieje w tej formie), 4. Dane - wszystkie dane, obszar podzielony na logiczne struktury. 16/54
Struktura katalogu I 12 16 32 ex Każdy plik na dysku znajduje się w jakimś katalogu. Czym zatem jest katalog? Katalog jest: plikiem (specjalna struktura), tablicą (informacje o plikach i podkatalogach, wskaźniki) Informacje w pliku katalogu: 8 bajtów - nazwa pliku, 3 bajty - rozszerzenie, 1 bajt - atrybuty pliku, 1 bajt - wielkość liter, 1 bajt - czas utworzenia w milisekundach, 17/54
Struktura katalogu I 12 16 32 ex Każdy plik na dysku znajduje się w jakimś katalogu. Czym zatem jest katalog? Katalog jest: plikiem (specjalna struktura), tablicą (informacje o plikach i podkatalogach, wskaźniki) Informacje w pliku katalogu: 8 bajtów - nazwa pliku, 3 bajty - rozszerzenie, 1 bajt - atrybuty pliku, 1 bajt - wielkość liter, 1 bajt - czas utworzenia w milisekundach, 17/54
Struktura katalogu II 12 16 32 ex Informacje w pliku katalogu: 2 bajty - czas utworzenia, 2 bajty - data utworzenia, 2 bajty - czas ostatniego dostępu, 2 bajty - zarezerwowane, 2 bajty - czas utworzenia lub ostatniej modyfikacji pliku, 2 bajty - data utworzenia lub ostatniej modyfikacji pliku, 2 bajty - numer klastera (początek pliku), 4 bajty - rozmiar pliku.. (kropka) - bieżący katalog,.. (dwie kropki) - katalog nadrzędny, E5h - plik został skasowany. 18/54
Plik 12 16 32 ex nazwa + rozszerzenie, nazwa - od 1 do 8 dowolnych znaków, rozszerzenie - od 0 do 3 znaków, problem długich nazw, aliasowanie nazw. 19/54
Błędy występujące w systemie 12 16 32 ex Utrata klastrów, metody naprawy: kopiowanie tablicy alokacji do pamięci, przechodzenie począwszy od katalogu głównego poprzez wszystkie pliki i katalogi i zaznaczanie ich jako używanych, porównanie wygenerowanej tablicy używanych klastrów, z tablica przechowywaną w pamięci, zapisanie utraconych klastrów jako pliki. skrzyżowanie klastrów, uszkodzone pliki i katalogi, błędy w tablicy alokacji. 20/54
Wpis w tablicy alokacji 12 16 32 ex 21/54
12 12 16 32 ex Microsoft, MS/PC-DOS, 1981 r., wprowadzony dla stacji dyskietek (FDD), 12 bitowe wpisy adresów klastrów, 4078 klastrów do zaadresowania rozmiar klastra od 512 B do 4 kb, maksymalny rozmiar partycji - 16 MB. 22/54
16 12 16 32 ex Microsoft, MS-DOS 3, 1987 r., 16-bitowe adresowanie przy dostępie do, 65536 klastrów, ograniczenie wielkości pliku do 2 GB, nierozróżnianie wielkości liter w nazwach, ograniczenie długości nazw do 12 znaków (8 + 3). 23/54
32 I 12 16 32 ex Microsoft, Windows 95 OSR2, 1996 r., adresowanie 32-bitowe, 28 b numer klastra, obsługiwany przez systemy uniksowe, bardziej wytrzymałe od poprzedników, obsługuje dyski o rozmiarze do 2 TB, maksymalny rozmiar partycji 32-2 TB (sektor 512 bajtów), 16 TB (sektor 4096 bajtów), maksymalny rozmiar pliku - 4 GB (4 294 967 295 B), maksymalna długość nazwy pliku 255 znaków, znaczniki czasowe tworzenia, ostatniego dostępu i ostatniej zmiany. 24/54
VBR partycji 32 I 12 16 32 ex Budowa Volume Boot Record dla partycji 32: 3 B Instrukcja skoku 8 B Identyfikator systemu 53 B BIOS Parameter Block 26 B Extended BPB 420 B Kod rozruchowy 2 B Magic number 25/54
VBR partycji 32 II 12 16 32 ex 26/54
BPB i Extended BPB I 12 16 32 ex Offset Rozmiar Wartość Nazwa pola +0B WORD 0002 Liczba bajtów w sektorze +0D 1 B 40 Liczba sektorów w klastrze +0E WORD 0100 Liczba zarezerwowanych sektorów +10 1 B 02 Liczba kopii +11 WORD 0002 Liczba wpisów w katalogu głównym +13 WORD 0000 Małe sektory +15 1 B F8 Typ nośnika +16 WORD FC00 Liczba sektorów przeznaczonych na +1A WORD 3F00 Liczba sektorów na ścieżkę +1C WORD 4000 Liczba głowic +1C DWORD 3F000000 Liczba ukrytych sektorów +20 DWORD 01F03E00 Duże sektory 27/54
BPB i Extended BPB II 12 16 32 ex Offset Rozmiar Wartość Nazwa pola +24 1 B 80 Fizyczny numer dysku +25 1 B 00 Nie używane +26 1 B 29 Sygnatura +27 4 B A88B3652 Numer seryjny woluminu +2B 11 B 4E4F204E41 Etykieta woluminu 4D4520202020 +36 8 B 464154313620 2020 Suma kontrolna 28/54
vs. Linux 12 16 32 ex Linux posiada sterowniki systemu. mount Polecenie służące do montowania systemu. mount -a -t nazwa_systemu_plikow : adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfsplus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs. Więcej: http://linux.die.net/man/8/mount 29/54
12 16 32 ex 30/54
B-drzewo struktura drzewiasta, przechowuje klucze i dane z nimi powiązane w określonym porządku. 12 16 32 ex Źródło: https://pl.wikipedia.org/wiki/plik:b-tree-definition.png 31/54
I 12 16 32 ex New Technology File, Microsoft, Windows NT 3.1, rozmiar klastra 4-64 kb, maksymalny rozmiar woluminu to 2 64-1 klastry nazwy długość 255 znaków, uprawnienia do dostępu do danych, obsługiwany przez inne systemy operacyjne, obsługa: dużych partycji, rzadkich, macierzy dyskowych, przydziały dyskowe (quotas), 32/54
II 12 16 32 ex śledzenie łączy rozproszonych, szyfrowanie na poziomie, punkty ponownej analizy (ang. reparse points): linki symboliczne, punkty połączenia (ang. junction points)., punkty montowania woluminów, magazyn zdalny (ang. Remote Storage), rzadkie pliki (ang. Sparse Files), księgowanie (ang. journaling). 33/54
- integralność danych 12 16 32 ex spójność woluminu, przywrócenie do stanu zgodnego po awarii, plik dziennika - rejestrowanie wszystkich operacji przed zapisem na dysk, zapewnia integralność, przemieszczanie klastra - automatyczne zaalokowanie nowego klastra, gdy podczas zapisu zostanie napotkany uszkodzony sektor. 34/54
Budowa woluminu 12 16 32 ex Źródło: https://www.easeus.com/resource/ntfs-disk-structure.htm 35/54
Sektor rozruchowy woluminu I 12 16 32 ex Offset Rozmiar Nazwa pola +0h 3 B instrukcja skoku +3h LONGLONG OEM ID +Bh 25 B BPB +24h 48 B Extended BPB +54h 426 B Program rozruchowy +1FEh WORD Magic number 36/54
Sektor rozruchowy woluminu II 12 16 32 ex 37/54
BPB i Extended BPB I 12 16 32 ex Offset Rozmiar Wartość Nazwa pola +0B WORD 0002 Liczba bajtów w sektorze +0D 1 B 08 Liczba sektorów w klastrze +0E WORD 0000 Liczba zarezerwowanych sektorów +10 3 B 000000 Zawsze 0 +13 WORD 0000 Nie używane przez +15 1 B F8 Deskryptor mediów +16 WORD 0000 Zawsze 0 +18 WORD 3F00 Liczba sektorów w ścieżce +1A WORD FF00 Liczba głowic +1C DWORD 3F000000 Ukryte sektory +20 DWORD 00000000 Nie używane przez +24 DWORD 80008000 Nie używane przez 38/54
BPB i Extended BPB II 12 16 32 ex Offset Rozmiar Wartość Nazwa pola +28 LONGLONG 4AF57F000000 0000 Liczba wszystkich sektorów +30 LONGLONG 040000000000 0000 Logiczny numer klastra dla pliku $MFT +38 LONGLONG 54FF07000000 0000 Logiczny numer klastra dla pliku $MFTMirr +40 DWORD F6000000 Liczba klastrów przeznaczonych na wpisy MFT +44 1 B 01 Liczba klastrów przeznaczonych na bufor +45 3 B 000000 Nie używane +48 LONGLONG 14A51B74C91B Numer seryjny woluminu 741C +50 DWORD 00000000 Suma kontrolna 39/54
MFT (ang. Master File Table) I 12 16 32 ex relacyjna baza danych (wiersze - wpisy, kolumny - atrybuty ), przechowuje informacje wymagane do pobierania z partycji, zawiera co najmniej jeden wpis dla każdego pliku na woluminie, a także informacje o sobie, rezerwuje pierwsze 16 rekordów MFT dla metadanych, które są używane do opisu MFT: pierwszy rekord tabeli opisuje samą główną tabelę, drugi rekord opisuje rekord lustrzany MFT, pozostałe: informacje o woluminie, atrybutach, katalogu głównym, nieużywanych klastrach, boot sektorze. 40/54
MFT II 12 16 32 ex MFT przydziela określoną ilość miejsca dla każdego rekordu pliku, małe pliki i katalogi (ok. 512 bajtów) - całkowicie zawarte w rekordzie MFT, duże katalogi są zorganizowane w B-drzewa, rezerwuje domyślnie 12,5% woluminu do wyłącznego użytku MFT. 41/54
Struktura MFT 12 16 32 ex 42/54
Atrybuty 12 16 32 ex plik (lub folder) wyświetlany jako zestaw atrybutów (nazwa pliku, informacje o zabezpieczeniach, dane), atrybut jest identyfikowany za pomocą kodu typu atrybutu i opcjonalnie nazwy atrybutu, gdy atrybuty nie mieszczą się w jednym rekordzie MFT, tworzy dodatkowe rekordy MFST i umieszcza atrybut listy atrybutów w rekordzie MFT. atrybuty w rekordzie pliku MFT - atrybutami rezydentnymi (nazwa pliku, sygnatura czasowa), atrybuty poza MFT - atrybuty nierezydentne, 43/54
Typy atrybutów I 12 16 32 ex Informacje standardowe (Standard Information) - informacje, takie jak znacznik czasu i liczba linków. Lista atrybutów (Attribute List) - wyświetla lokalizację wszystkich rekordów atrybutów, które nie mieszczą się w rekordzie MFT. Nazwa pliku (File Name) - powtarzalny atrybut dla długich i krótkich nazw. Deskryptor bezpieczeństwa (Security Descriptor) - opisuje, kto jest właścicielem pliku i kto może uzyskać do niego dostęp. Dane (Data) - zawiera dane pliku. 44/54
Typy atrybutów II 12 16 32 ex Identyfikator obiektu (Object ID) - niepowtarzalny identyfikator pliku. Strumień narzędzi (Logged Utility Stream) - podobny do strumienia danych, ale operacje są rejestrowane w pliku dziennika. Punkt ponownej analizy (Reparse Point) - używany do punktów podłączenia woluminu. Indeks główny (Index Root) - służy do zaimplementowania folderów i innych indeksów. Przypisanie indeksu (Index Allocation) - służy do implementacji struktury B-drzewa dla dużych folderów i innych dużych indeksów. 45/54
Typy atrybutów III 12 16 32 ex Bitmapy (Bitmap) - służy do implementacji struktury B-drzewa dla dużych folderów i innych dużych indeksów. Informacje o woluminie (Volume Information) - używane tylko w pliku systemu $Volume. Zawiera wersję woluminu. Nazwa woluminu (Volume Name) - używane tylko w pliku systemu $Volume. Zawiera etykietę woluminu. 46/54
Skompresowane pliki 12 16 32 ex kompresja pojedynczych, folderów i całych woluminów, pliki skompresowane na woluminie mogą być odczytywane i zapisywane przez dowolną aplikację opartą na systemie Windows bez uprzedniej dekompresji przez inny program, algorytmy kompresji w systemie obsługują klastry o wielkości do 4 KB, każdy strumień danych zawiera informacje wskazujące, czy jakakolwiek część strumienia jest skompresowana, dostęp do skompresowanego pliku w czasie rzeczywistym (dekompresja pliku po jego otwarciu, skompresowanie po zamknięciu). 47/54
Szyfrowanie I 12 16 32 ex EFS (Encrypting File ), zapewnia podstawową technologię szyfrowania, chroni pliki przed intruzami, którzy mogą uzyskać nieautoryzowany fizyczny dostęp do poufnych, przechowywanych danych, normalna praca z plikami i folderami, brak uprawnień = odmowa dostępu, automatyczne szyfrowanie oznaczonych, klucze odporne na ataki słownikowe, mechanizm odzyskiwania danych. 48/54
Szyfrowanie II 12 16 32 ex EFS wykorzystuje połączenie szyfrowania z kluczem symetrycznym z technologią klucza publicznego (asymetryczna), dane są szyfrowane algorytmem symetrycznym (DESX), klucz używany w szyfrowaniu symetrycznym - FEK (ang. File Encryption Key), szyfrowany algorytmem RSA i zapisywany wraz z plikiem, dlaczego dwa różne algorytmy? szybkość szyfrowania sposoby zaszyfrowania danych: RKM, Właściwości, Zaawansowane... cmd, cipher.exe. 49/54
Szyfrowanie i deszyfrowanie pliku 12 16 32 ex 50/54
Uprawnienia uprawnienia dostępowe do napędów i folderów, Eksplorator Windows, RKM, Własności, Zabezpieczenia. 12 16 32 ex 51/54
Extended 12 16 32 ex system pomiędzy 32 a, zoptymalizowany pod kątem obsługi dysków Flash, bez ograniczeń 32 i bez dodatkowych funkcji, duże ograniczenie rozmiarów i partycji (pliki powyżej 4 GB), alokacja - bitmapa, działa z systemami Windows, Linux wymaga sterownika. 52/54
12 16 32 ex Wykorzystano następujące materiały: http://microsoft.com http://www.ntfs.com http://linux.die.net/man/8/mount 53/54
12 16 Dziękuję za uwagę! 32 ex 54/54