Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programare și securitate la nivelul arhitecturii x86

Similar presentations


Presentation on theme: "Programare și securitate la nivelul arhitecturii x86"— Presentation transcript:

1 Programare și securitate la nivelul arhitecturii x86
Prof. dr. ing. Gheorghe Sebestyen Cursul 10 Sisteme de fisiere NTFS FAT32

2 Sisteme de fisiere – notiuni generale
Sistem de fisiere: metoda de numire, organizare si regasire a informatiilor pe un suport extern de memorare (HDD, DVD, etc.) Organizarea sistemului de fisiere - functie importanta a unui SO La nivel fizic NU exista fisiere (nici macar la nivel BIOS) Componentele unui sistem de fisiere: Fisier (file) – grupare logica a unui set de blocuri fizice de informatii (ex. sectoare, clustere) memorate pe suport extern Fisierele au o structura de lista inlantuita Director (directory, folder) – grupare logica si ierarhica a unui set de fisiere Directoarele au o structura arborescenta

3 Fisiere si directoare Metadate asociate unui fisier:
Nume Lungime: fixa (ex. max. 8 caractere) sau variabila Set de caractere utilizabile pentru nume Exceptarea unor caractere speciale care au alte semnificatii in SO (ex: . , : /) Case sensitive sau nu Extensie: indica natura continutului EXE, COM, TXT, DOC, PPT, etc. – unele recunoscute automat de SO Lungime – in octeti sau in nr. de blocuri Timpul (data si ora) – la care a fost modificat Tipul – caracter, bloc, director, etc. Numele utilizatorului Atribute de acces: R, R/W, Exec Uzual metadatele se pastreaza separat de continutul fisierului la care este atasat – ex. intr-un fisier

4 Sistem multiplu de fisiere
Partitionare – mai multe sisteme de fisiere in acelasi sistem de calcul Necesitate Partitionarea spatiului de memorare in unitati logice sisteme diferite de fisiere (ex: Linux, windows) Atribute diferite de acces Includerea in sistemul propriu al unor spatii de stocare de pe alte calculatoare conectate in retea – ex. NTFS Daca se defecteaza o partitie celelalte raman neafectate

5 Variante de sisteme de fisiere:
Standarde: FAT (FAT12, FAT16, FAT32), exFAT, NTFS, HFS and HFS+, HPFS, UFS, ext2, ext3, ext4, XFS, btrfs, ISO 9660, Files-11, Veritas File System, VMFS, ZFS, ReiserFS and UDF. Sisteme de fisiere pentru: Disc magnetic – acces aleatoriu Banda magnetica – acces secvential Disc optic – acces aleatoriu in spirala Stick (flash memory) – care tine cont de viteza mai mare de acces la acest tip de memorie Dispozitiv I/E – in Linux dispozitivele de I/E considerate sisteme de fisiere (ex. TTY) Sisteme mai exotice BD2 – baza de date Sistem tranzactional – atomicitatea operatiilor de actualizare

6 Particularitati in diferite SO
Unix, Linux Un singur arbore de directoare, cu radacina root directory Fisierele de pe o unitate de stocare (ex. DVD) trebuie “montate” – plasate undeva in arborele de directoare – inainte de a fi utilizate “montarea” unui nou dispozitiv este de obicei sarcina unui administrator (root user) Windows Partitiile sunt denumite prin litere urmate de “:” Dispozitivele PnP identificate si incluse automat in sistemul de fisiere Directoare de pe alte calculatoare din retea pot fi accesate prin sistemul de fisiere al unui calculator Se foloseste protocolul NTFS – introdul la windows NT

7 Sistemul de fisiere FAT
Numele - File Allocation Table – metoda folosita pentru evidenta fisierelor de pe un disc Origini: 86-DOS, CP/M-86, MS-DOS, DR-DOS Suportate de majoritatea SO actuale Variante: FAT 12, FAT 16 limiteaza numarul maxim de intrari in directorul radacina, limiteaza dimensiunea diskului si a partitiilor FAT 32 – elimina unele neajunsuri din versiunile anterioare, dar nu toate: limiteaza dimensiunea unui fisier la aprox. 4GB Limiteaza o partitie la 2TB Impune formatul maxim pentru numele fisierului:8.3 – eliminat in versiunile mai noi de Windows (VFAT)

8 Sistemul de fisiere FAT
Specificatii: Tabela de alocare a fisierelor (FAT-ul) si directorul radacina se pastreaza intr-un loc fix, ca sa se stie de unde sa se consulte (mai putin directorul radacina la FAT32) Se pastreaza 2 copii ale FAT (pentru siguranta, in caz de defectare) Volumul de stocare disponibil este impartit in “clustere”; dimensiunea clusterului depinde de dimensiunea volumului (numarul clusterului trebuie sa se exprime pe 16 biti)

9 Detalii privind formatul FAT32
Organizarea unui volum Partition boot sector FAT1 FAT2 duplicat Dir. Radacina (root) Alte directoare si toate fisierele Nr. octet Lungime camp Exemplu de val. Semnificatie 00 3 bytes EB 3C 90 Instr. de salt 03 8 bytes MSDOS5.0 Nume OEM 0B 25 bytes Bloc param. BIOS (BPB) 24 26 bytes Bloc extins param. BIOS 3E 448 bytes Code de incarcare -Bootstrap 1FE 2 bytes 0x55AA Marca sf. sector Detalii:

10 Inlantuirea clusterelor
Sursa: Windows internals, partea a 2-a

11 Detalii privind formatul FAT32
Suporta discuri mai mari de 2GB Poate contine mai mult de clustere Clusterele pot fi mai mici Rezulta o utilizare mai eficienta a spatiului de stocare Fisierul cel mai mare in FAT32 este 4GB - 2 bytes Fiecare cluster are 4 octeti rezervati in tabela de alocare

12 NTFS – New Technology File System
Introdus la familia de SO Windows NT Folosit azi pentru Windows XP, Vista, 7, 8 Elimina o mare parte din limitarile sistemului FAT Facilitati Scalabilitate – limita maxima de stocare 256TB Jurnalizare – evidenta versiunilor anterioare – bun in caz de defectare Hard links – un fisier regasit prin mai multe denumiri Alternate data streams (ADS) - mai multe fluxuri de date asociate unui singur nume de fisiere Compresie - posibilitatea comprimarii fisierelor Incriptare – posibilitatea de a incripta continutul fisierelor Sursa:

13 NTFS – New Technology File System
Facilitati (NTFS cont.) Fisiere rare – nu aloca spatiu efectiv pentru zonele cu 0 (zero) din fisiere “rare” Volume Shadow Copy – pastreaza o versiune mai veche a unui fisier modificat Transactions – atomicitatea operatiilor Cote – administratorul poate limita spatiul utilizat de un anumit utilizator Reparse points Resizing

14 NTFS Evidenta continutului prin MFT – Master File Table
Nu are o pozitie fixa pe disc Fiecare fisier are o inregistrare in MFT Prima inregistrare descrie MFT-ul insusi Primele 16 inregistrari sunt pentru scopuri speciale In NTFS un fisier contine un set de atribute (nume, data, etc.;) inclusiv continutul este un atribut !!! Daca fisierul/directorul este scurt (sub 512 octeti) este in totalitate continut in tabela MFT Accesul la continut se face mult mai rapid decat in FAT32

15 NTFS - Structura MFT

16 NTFS – atributele unui fisier
Informatii standard (ex. data) Lista atribute – locatii ale inregistrarilor de atribute care nu incap in MFT Nume fisier nume lungi - 256caractere Nume scurte caractere Descriptor de securitate – cine este proprietarul fisierului si cine il poate accesa Date – contine datele fisierului altele

17 Comparatie NTFS v.s. FAT32 NTFS FAT32 Dim. maxima volum
232 – 1 clustere 256TB 32GB Nr. maxim de fisiere 232 – 1 fisiere Dim. maxima fisier 244 – 64KB octeti 4GB-2 octeti Nr. maxim de clustere Dim. nume fisier Max. 255

18 Organizarea unui disc Organizare fizica: Organizare logica
Sector – de obicei 512 octeti Pista – suma de sectoare Capete de citire (fete ale discului) Cilindrii – suma de piste accesibile pe o pozitie a capetelor de citire/scriere Organizare logica Partitii Clustere Directoare Fisiere

19 Organizarea unui disc Master Boot Sector Primul sector pe orice disc
Scris la crearea primei partitii pe disc Contine: Tabela de partitionare Un mic cod executabil: Analizeaza tabela de partitii si identifica partitia sistem Copiaza in memorie “Partition Boot Sector” din partitia sistem Lanseaza codul din “Partition Boot Sector” copiat in memorie Poate fi virusat; virusul nu este identificat de SO

20 Organizarea unui disc Tabela de partitii (Partition Table)
Continut in Master Boot sector Are 4 intregistrari a 16 octeti (64 octeti) pentru 4 partitii posibile: Partitia adresa in MBS … 01BEH Partitia 2 ……………………………. 1CEH Partitia 3 ……………………………. 1DEH Partitia 4 …………………………….. 1EEH Continutul unei inregistrari pentru o partitie: Indicator “bootabil” Inceputul partitiei (cap, sector, cilindru) Identificator sistem de operare Sfarsit partitie (cap, sector, cilindru) Numarul relativ de sectoare – de la inceputul discului si pana la partitie Numar total de sectoare

21 Sistemul de fisiere in Windows
Windows ofera suport pentru urmatoarele sisteme de fisiere: CDF – pt. CD-uri UDF – pentru discuri optice, in speta DVD FAT12, FAT16, FAT32, exFAT (FAT64) – pt. HDD, flash, SD 12/16/32 – nr de biti alocati pentru exprimarea nr. de clustere (ex 216 – aprox de clustere); la 32 este doar 28 NTFS sistemul “nativ” de fisiere pentru windows Foloseste 64 biti pentru nr. cluster (se folosesc doar 32 biti)

22 Sistemul de fisiere in Windows - drivere de fisiere
Doua tipuri de drivere: Local FSD (file system driver) – pentru accesarea memoriei externe locale Network FSD – pentru adresarea memoriei externe conectata la alte calculatoare in retea Sursa: Windows internals

23 Sistemul de fisiere in Windows - drivere de fisiere
Network FSD

24 Sistemul de fisiere in Windows - componente implicate intr-un transfer de fisier
Accesarea fisierelor: I/O explicit: CreateFile, ReadFile, WriteFile Implicit: prin citirea/scrierea unei zone de memorie care “mappeaza” fisierul

25 Sistemul de fisiere in Windows - drivere filtru
Se suprapun peste sistemul de fisiere Interpreteaza si filtreaza cererile catre sistemul de fisiere Ex. un sistem antivirus filtreaza si verifica cererile de deschidere a unui nou fisier (IRP_MJ_CREATE); inainte de deschiderea fisierului il va scana

26 Alte sisteme de fisiere: WinFS Windows File System
Un mod de accesare a sistemului de fisiere pe principiul BD relationale: Cautarea fisierelor pe baza de interogari SQL Construit peste NTFS Permite indexarea fisierelor pe baza de atribute (ex. tip fisier, data) Inlocuieste structura ierarhica de cautare cu directoare-subdirectoare, cu o cautare intr-o baza de date (SQL Server) Se pot stoca: poze, uri, calendar, etc. “WinFS stores” sunt fisiere de baze de date SQL (cu extensia .mdf); aceste fisiere se pastreaza in directorul “System Volume Information” pastrat la randul lui in directorul radacina Detalii:

27 WinFS Windows File System


Download ppt "Programare și securitate la nivelul arhitecturii x86"

Similar presentations


Ads by Google