Windows Sintetico
Transcript
Windows Sintetico
Windows Sintetico http://escher07.altervista.org 1. 2. 3. 4. 5. 6. Filesystem ........................................................................................................... 1 1.1. Concetti base ............................................................................................. 1 1.2. Struttura .................................................................................................... 2 1.2.1. Registro di configurazione ..................................................................... 3 1.2.2. Files SAM ............................................................................................. 4 1.2.3. Files Inf ............................................................................................... 4 1.2.4. Cartella System32 ................................................................................. 4 1.2.5. Fonts di Sistema ................................................................................... 5 1.2.6. GAC ..................................................................................................... 5 Avvio ................................................................................................................... 5 2.1. Concetti base ............................................................................................. 5 2.2. I Servizi ..................................................................................................... 7 Funzionalità di rete ............................................................................................... 9 Log di sistema ...................................................................................................... 9 Sicurezza in Windows ......................................................................................... 10 5.1. Concetti base sulla sicurezza negli accessi .................................................. 10 5.2. Autenticazione Locale e Remota................................................................. 11 5.3. Parametrizzazione e Policy......................................................................... 13 Bibliografia e Links ............................................................................................. 13 1. Filesystem 1.1. Concetti base Il filesystem “storico” degli ambienti Windows è il FAT, nelle sue varie versioni (12 bit, 16 bit e 32 bit) utilizzato come filesystem di sistema fino a Windows ME e a tutt’oggi impiegato per floppy e chiavi USB. Il file system FAT è un file system classificato tra quelli con allocazione concatenata. Una unità FAT può essere divisa in quattro aree: Area riservata, Tabella di Allocazione dei File, Directory radice ed Area dei File. L'area riservata parte dal settore logico zero e contiene il boot sector con le informazioni utili per la gestione dell'unità. Ogni voce della Tabella di Allocazione dei File (in sigla FAT, appunto), detta record, corrisponde ad un cluster dell'area dei file. In questa tabella il valore delle voci indica se quel cluster è libero, riservato, danneggiato o utilizzato da qualche file. Le varie versioni della FAT differivano essenzialmente per numero di bit utilizzabili per indicizzare i cluster e dimensione dei medesimi. Ne derivano limiti di dimensioni massime di questo tipo: Filesystem Cluster FAT12 8K FAT16 32K Numero Cluster 212=4096 216=65536 Massima dimensione gestibile 32 MB 2048 MB FAT32 32K 232Æ222=4194304 131072 MB = 131 GB I principali difetti della FAT sono legati alla frammentazione e all’assenza di gestione di ACL. Il motivo di tutto questo (ed in particolare della tendenza alla frammentazione) si capisce con le considerazioni che seguono. I primi sistemi Windows erano essenzialmente pensati per un contesto mono utente in cui le modifiche riguardano tipicamente gli ultimi files salvati. Dunque salvarli in modo da occupare spazi tutti vicini (ovvero operare in un contesto di allocazione concatenata ma con logiche di prima allocazione simili alla contigua) portava ad uno scenario di ridotta frammentazione quale il seguente: Questo provoca invece elevata frammentazione quando l’accesso e le modifiche possono riguardare tutti i file indipendentemente dal loro ordine di memorizzazione (come normalmente avviene in un contesto multi utente) perché, non essendoci spazio vicino per le estensioni (magari piccole) si deve andare a memorizzarle in un altro cluster, magari significativamente lontano dal primo. Microsoft ha partire da Windows NT e per tutti i sistemi successivi (sia in ambiente server che desktop) ha introdotto il filesystem NTFS le cui caratteristiche migliorative principali rispetto al precedente sono queste: • • • • Transazionalità – La gestione è fatta in modo che se un'operazione è interrotta a metà (ad esempio per un blackout) viene persa solo quell'operazione ma non è compromessa l'integrità del file system. Permessi e Controllo d'Accesso - a ciascun file o cartella è possibile assegnare dei diritti di accesso (lettura, scrittura, modifica, cancellazione e altri). Nomi lunghi e Unicode - i nomi dei file e delle cartelle possono essere lunghi fino a 255 caratteri e possono contenere caratteri di tutte le lingue del mondo grazie alla codifica Unicode. Dimensioni e Flessibilità - La dimensione dei volumi e il massimo numero di file sono praticamente illimitati; la dimensione del volume può raggungere al massimo i 256 Terabytes (248 clusters - 1), il numero limite di file è invece di circa 4,3 miliardi (232 1). La dimensione massima di un singolo file è di 16 Terabytes, contro i 4 GigaBytes di FAT e FAT32. NTFS sfrutta un'indicizzazione a 64 bit, sebbene la sua implementazione sia basata soltanto su 32 bit. La “tabella” con cui NTFS indicizza i propri contenuti si chiama Master File Table (MFT) che è strutturata in blocchi (solitamente in record di 1KB) che contiene gli attributi di tutti i file del volume, inclusi i metadati. 1.2. Struttura Un filesystem Windows si presenta come un insieme di vari oggetti, raggruppati in cartelle. Quelli comuni sono ad esempio files (di testo, binari, cifrati) e link simbolici : quelli “speciali” sono trattati nei paragrafi che seguono. Nel filesystem Windows ogni HD (logico, ovvero quando viene visto dal sistema a valle dell’eventuale RAID) corrisponde ad una lettera, in genere a partire da C (A e B sono riservati ai floppy). Per ogni HD quindi esiste di fatto un filesystem separato mentre il registro è in ogni caso comune per tutti. 1.2.1. Registro di configurazione Il registro è un archivio a struttura gerarchica che contiene informazioni di vario tipo, parte in chiaro e parte criptate, organizzato per chiavi e voci. Le chiavi si sviluppano a più livelli : il livello di base è questo: Nome della chiave principale Descrizione HKEY_LOCAL_MACHINE Contiene informazioni sul sistema del computer locale, compresi i dati relativi all'hardware e al sistema operativo quali il tipo di bus, la memoria di sistema, i driver di periferica e i dati di controllo dell'avvio. HKEY_CLASSES_ROOT Contiene informazioni utilizzate dalle varie tecnologie OLE e dai dati di associazione file-classi. Una chiave o un valore particolare è presente in HKEY_CLASSES_ROOT se una chiave o un valore corrispondente è presente in HKEY_LOCAL_MACHINE\SOFTWARE\Classes o HKEY_CURRENT_USER\SOFTWARE\Classes. Se in entrambe le posizioni è contenuta una chiave o un valore, la versione visualizzata in HKEY_CLASSES_ROOT corrisponde alla versione in HKEY_CURRENT_USER. HKEY_CURRENT_USER Contiene il profilo utente dell'utente attualmente connesso in modalità interattiva, al contrario della modalità remota, incluse le variabili di ambiente, le impostazioni del desktop, le connessioni di rete, le stampanti e le preferenze del programma. Questa sottostruttura è un alias della sottostruttura HKEY_USERS e punta a HKEY_USERS\ID di protezione (SID) dell'utente corrente. HKEY_USERS Contiene le informazioni riguardanti i profili utente e il profilo predefinito caricati correntemente, incluse le informazioni presenti anche in HKEY_CURRENT_USER. I profili degli utenti che accedono a un server in modalità remota non sono caricati in questa chiave del server, ma nel Registro di sistema del computer locale. HKEY_CURRENT_CONFIG Contiene informazioni sul profilo hardware utilizzato dal sistema del computer locale all'avvio. Queste informazioni vengono utilizzate per configurare determinate impostazioni, quali i driver di periferica da caricare e la risoluzione dello schermo da utilizzare. Questa sottostruttura fa parte della sottostruttura HKEY_LOCAL_MACHINE e punta a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current Le voci (che riguardano ad esempio caratteristiche delle periferiche, impostazioni di avvio, dati temporanei dei programmi etc…) hanno formati “strani” quali i seguenti: Tipo di dati Descrizione REG_BINARY Dati binari non formattati. Quasi tutte le informazioni sui componenti hardware sono memorizzate come dati binari e vengono visualizzate nell'Editor del Registro di sistema in formato esadecimale. REG_DWORD Dati rappresentati da un numero della lunghezza di 4 byte. Molti parametri relativi a driver di periferica e servizi appartengono a questo tipo e vengono visualizzati nell'Editor del Registro di sistema in formato binario, esadecimale oppure decimale. REG_EXPAND_SZ Stringa di dati di lunghezza variabile. Questo tipo di dati include le variabili risolte quando un programma o un servizio utilizza i dati. REG_MULTI_SZ Stringa multipla. A questo tipo appartengono i valori che contengono elenchi o valori multipli in un formato leggibile. Le voci sono separate da spazi, virgole o altri segni di punteggiatura. REG_SZ Stringa di testo di lunghezza fissa. REG_FULL_RESOURCE_DESCRIPTOR Serie di matrici nidificate, create per memorizzare un elenco di risorse per un componente hardware o un driver. Fisicamente le chiavi del registro di configurazione sono memorizzate nei files “hives” che si trovano in C:\Windows\System32\Config 1.2.2. Files SAM Sono posizionati nella medesima cartella dei files hive e sono la base del sistema di autenticazione di Windows. Sono files criptati e resi inaccessibili a chiunque dall’avvio del sistema da un apposito servizio. 1.2.3. Files Inf Sono dei files di testo posizionati nella cartella C:\windows\inf e servono essenzialmente per tre scopi: - Identificare i driver per le periferiche Copiare i files dal CD/Cartella sorgente al sistema Aggiungere chiavi al registro 1.2.4. Cartella System32 E’ la cartella C:\windows\system32 e contiene la maggior parte delle DLL e degli eseguibili del sistema. Corrisponde un po’ alla \bin dei sistemi Unix. E’ accessibile anche da remoto utilizzando la condivisione nascosta \\server\admin$ 1.2.5. Fonts di Sistema C:\WINDOWS\Fonts 1.2.6. GAC Ovvero Global Assembly Cache, corrispondente a C:\WINDOWS\Assembly. E’ fondamentale per il funzionamento del framework di .NET e contiene tutte le DLL che è possibile richiamare direttamente, ovvero senza aggiungere riferimento esplicito e/o usando nomi simbolici quali System, Networking etc…. 2. Avvio 2.1. Concetti base La sequenza di avvio di Windows “tradizionale” è basata sull’eseguibile ntldr.exe (boot loader), sul suo file di configurazione (boot.ini) e sull’eseguibile ntdetect per il riconoscimento delle periferiche. Schematicamente possiamo individuare i seguenti passi: Tappa Se tutto funziona correttamente Se si verifica un errore 1) Master Boot Record II Bios controlla il Master Boot Viene visualizzato il messaggio: Record dell'hard disk, viene lanciata "Impossibile leggere dal disco di avvio la sequenza di avvio selezionato" 2) Inizializzazione di II file di sistema Ntldr.exe attiva la Compare il messaggio : NTLoader modalità a 32 bit per la Cpu e carica "NTLDR mancante" il file Boot.ini 3) Selezione del Se sono installati più sistemi Compare il messaggio: sistema operativo operativi, l'utente seleziona Boot.ini non valido" Windows 4) Controllo II file di sistema Ntdetect controlla Interruzione con comparsa dell'hardware tutti i componenti hardware installati di schermata blu 5) Caricamento del II kernel e gli Hardware Abstraction Interruzione con comparsa kernel di Windows Layer (Hal) vengono caricati e di schermata blu con dicitura "Errore attivati del kernel" 6) Caricamento dei I driver vengono caricati e inseriti driver nel Registry come "attivati" 7) Inizializzazione del kernel NTLoader passa il comando al kernel di Windows Schermata blu e compare il messaggio: "IRQ_less_or_Equal" II computer si blocca al messaggio "Avvìo di Windows in corso" 8) Avvio dei servizi II Servizio di gestione delle sessioni Il sistema si blocca e frequentemente di Windows (Smss.exe) avvia una nuova vengono visualizzate schermate blu e sessione di Windows messaggi di errore. 9) Login dell'utente Una volta effettuato il login con successo, vengono caricati gli elementi del desktop 10) Fine del Windows carica i programmi processo di Boot presenti nella cartella di esecuzione automatica Compare il messaggio: "Nome utente o password scorretti" Il pc si blocca, possono apparire schermate blu Il passo 8 è quello in cui vengono avviati i “servizi” e merita qualche nota ulteriore. Diciamo innanzitutto che: - processo è un’istanza di un programma che viene eseguita sequenzialmente ad ogni processo viene attribuito un identifier unico (PID) un processo può dividersi in più unità idealmente elaborate in parallelo dette threads un processo può lanciare a sua volta altri processi, detti processi child Un processo è in sostanza un “oggetto” caratterizzato dai seguenti elementi: - Un puntatore che lo rende accessibile dal SO (handler) Immagine del codice macchina associato ad un programma Un’area di memoria contenente il programma, i dati ed i risultati intermedi. La memoria può essere allocata staticamente (stack) o dinamicamente (heap). Attributi di sicurezza (utente proprietario ed operazioni concesse) Attributi di stato Per andare più nel concreto in una macchina windows (client) il primo processo ad essere avviato è, come detto, “Smss” che a sua volta avvia: - csrss (Client/Server Runtime Server Subsystem. che questo processo gestisce la maggior parte dei comandi grafici in Windows.) winlogon (per intercettare la richiesta di logon interattiva) Winlogon come vedremo meglio in seguito si impossessa della sequenza Ctrl+Alt+Del e avvia i vari servizi , restando nel contempo in attesa di input. Quando questo input arriva apre un desktop, ovvero una sessione della shell Explorer.exe e all’interno di questa appariranno come processi child tutti i programmi lanciati (in esecuzione automatica o no) dall’utente. Il seguente albero dei processi, realizzato con l’utility PrcView mostra chiaramente quanto descritto. Questa sequenza è stata pesantemente riprogettata in Windows Vista dove ad esempio compare un nuovo boot loader (Windows Boot Manager, Bootmgr.exe) che carica il boot loader specifico di Vista (Winload.exe) solo come “uno dei possibili” boot specifici per SO 2.2. I Servizi Come si è detto il servizio di gestione delle sessioni lancia i servizi di sistema. Sa quali servizi lanciare perché per ognuno di essi è stata generata (dall’utente o dall’installer del sistema operativo) una opportuna chiave, inserita nel registro di configurazione. Questa operazione si fa con la console services.mmc oppure con l’eseguibile da riga di comando sc. La registrazione comporta che un certo eseguibile (es. C:\programmi\memorystatus.exe) sia associato ad un certo nome di servizio (es. memstatus). Questo nome sarà quello utilizzato per farlo partire. Avremo ad esempio: sc create memstatus C:\programmi\memorystatus.exe sc start memstatus Particolarità dei servizi è che oltre ad essere necessariamente dei programmi non interattivi (altrimenti non potrebbero girare sempre in background ma si bloccherebbero per tempo indefinito aspettando degli input) e che questi girano con i diritti di account speciali quali ad esempio: - SYSTEM LOCAL SERVICE NETWORK SERVICE Gli viene assegnato uno di questi “utenti” (che comporta diverse politiche di sicurezza, es. un network service può essere fatto partire da remoto) a seconda del tipo di servizio. Da notare che i servizi si possono arrestare o far partire anche con NET STOP/START. Se si usa SC però è possibile far girare il servizio con i diritti di un particolare utente: Ovvero: Sarebbe bene che i servizi non girassero come SYSTEM (che è l’impostazione predefinita quando si è loggiati da administrator, come comunemente si fa quando si installano i programmi) ma appunto come altri utenti eventualmente generici (come SERVIZIO DI RETE LOCALE). Non tutti i servizi ascoltano su una certa porta, ovvero sono destinati ad essere chiamati da rete. Alcuni lo fanno col numero della porta che è in sostanza nel loro codice. Esiste un file chiamato services (C:\windows\system32\driver\etc\services) che decodifica i servizi in base al nome, ovvero associa ad un nome servizio una coppia Protocollo\Porta. Direi che serva solo come nota statica. Su una stessa porta possono trovarsi più servizi anche se sarebbe meglio che ad ogni porta corrispondesse un solo servizio. Esistono poi opportuni exe (es. svchost) che lanciati con argomenti diversi danno servizi diversi. 3. Funzionalità di rete Windows non nasce come sistema operativo in grado di lavorare in rete ed in un contesto multiutente. Lo diventa da Windows NT in poi in cui le funzionalità dell’allora sistema operativo di rete Microsoft Lan Manager vengono integrate nel prodotto. Anche se funzionalità successive lo hanno reso capace di operare in un contesto multiprotocollo (ed fra i vari col TCP/IP) originariamente il protocollo principe delle comunicazioni fra host windows era il NetBios, simile all’SMB di Linux e a tutt’oggi sempre fondamentale per le condivisioni. I computer sono indicati con nomi netbios e le risorse sono individuate tramite named pipes ovvero percorsi contenenti il nome dell’host desiderato più le eventuali sottocartelle, come ad esempio \\server\condivisa. Il Netbios (o meglio il NetBEUI, essendo a rigore NetBEUI il protocollo e NetBios la sua API) non è un protocollo instradabile (ovvero non può attraversare i router) per cui per poter comunicare (es. sfogliare la rete) in un contesto di più subnet è stato necessario aggiungere: - un sistema di trasporto per i dati NetBios (binding NetBios/TCP) un sistema di risoluzione dei nomi NetBios (statico lmhosts o dinamico, server WINS) Fra le condivisioni ruolo particolare ce l’hanno quelle amministrative e le comunicazioni interprocesso (IPC, Inter Process Comunication) utilizzate per dare comandi – utente o di amministrazione – su host remoti. 4. Log di sistema Windows memorizza i log che chiama “eventi” nella cartella C:\WINDOWS\system32\config. Sono files .evt che non sono leggibili come files di testo, ma che devono essere aperti con il visualizzatore eventi del pannello di controllo (eventvwr.msc /s). L’attività di logging è definita spesso da Microsoft “auditing” ed è configurabile soprattutto in un ambiente Active Directory. La configurazione dell’attività di logging può essere fatta in vari modi : abbiamo comunque che le aree dove si può attivare il log sono queste: Value Meaning A Restart, Shutdown, System B Logons and Logoffs C File and Object Access D Use of User Rights E Process Tracking F Security Policy Management G User and Group Management Z Determines if the policy is enabled or disabled. Dove: - If any of the values (A,B,C,D,E,F,G) are set to 1, success auditing is enabled on those areas. If any of the values (A,B,C,D,E,F,G) are set to 2, failure auditing is enabled on those areas. If any of the values (A,B,C,D,E,F,G) are set to 3, both success and failures are audited on those areas. If the value of Z is 1, the policy is enabled; if it is 0, auditing is disabled. 5. Sicurezza in Windows 5.1. Concetti base sulla sicurezza negli accessi La sicurezza negli accessi in Windows (da NT in poi) è basata su cinque oggetti ovvero: Oggetto Security Identifier (SID) Access Control Entry (ACE) Access Control List (ACL) Security Descriptor Access Token Descrizione Identificatore univoco attribuito ad ogni utente o gruppo che viene creato. Insieme di permessi per un SID su un oggetto. Insieme di tutte le ACE relative allo stesso oggetto. Insieme dei seguenti dati relativi ad un oggetto : SID del proprietario e del suo gruppo, ACL di sistema (ereditate), ACL aggiunte manualmente. E’ una sorta di “carta di indentità dell’utente” che contiene varie informazioni fra cui il SID, i SID dei gruppi a cui appartiene, la ACL per gli oggetti che saranno creati Quando un utente si collega il sottosistema di sicurezza crea per quell’accesso un Access Token. Il token può essere restituito da un sistema di autenticazione locale o remoto, attraverso due processi: - Winlogon Netlogon Winlogon.exe il processo responsabile dell'implementazione del logon locale. Non appena avviato, WinLogon registra come propria la sequenza di tasti Ctrl-Alt-Canc (anche chiamata Secure Attention Sequence, SAS). Netlogon.exe è il processo che invece raccoglie le richieste di logon locale e le inoltra ad un opportuno domain controller per la convalida dell’accesso, ovvero per la generazione del token e la sua restituzione alla postazione che ne ha fatto richiesta. 5.2. Autenticazione Locale e Remota L’autenticazione vera e propria avviene confrontando la coppia username:password coi i dati contenuti nei file SAM. L’accesso a questi file (modifica ma anche lettura o copia) è impossibile per ogni utente che operi all’interno del sistema (anche Administrator) da un servizio di sistema LSASS (local securety authorithy service) che si avvia all’avvio di windows e che fa parte dei processi critici e quindi non terminabili. Ciononostante e’ comunque possibile con vari metodi (ad esempio basati sulla lettura del filesystem da un altro, quale ad esempio quello di una distribuzione “Live”) procurarsi una copia dei SAM per poterli leggere. Utilizzando un programma apposito (dato che oltretutto sono crittati) si trova che le righe del SAM sono siffatte: Utente = Administator: SID = 500 Hash = AF1E236C6C6F6836436106F874D:2C5293:28C4D552D17AF99C78186AB62030A4B1 Descrizione = Account predefinito per l’amministrazione del computer/dominio Come si vede le password memorizzate in questo file non sono in chiaro ma sono state trattate attraverso un opportuno algoritmo di hash. Più in dettaglio possiamo dire che l’hash memorizzato è costituito da due password trattate come se fossero indipendenti, ovvero : - LMHash = Password Lan Manager (16 bit) NTLMHash = Password NT (16 bit) Il valore Lan Manager viene solitamente utilizzato per l'identificazione dell'utente nei collegamenti in rete, mentre il valore locale viene usato nel logon interattivo. Il processo con cui queste vengono ottenute, detta “p” la password inserita è questo: p1 = UpperCase(p) p2 = TruncOrFill(p1,14) p3a = Left(p2,7) p3b = Right(p2,7) h1= DES(“KGASSC%!”, p3a) h2= DES(“KGASSC%!”, p3b) LMHash=Concact(h1,h2) p1 = Unicode(p) NTLMHash = MD4(p1) Come si vede in entrambi i casi la cifratura è a chiave simmetrica : cambia solo l’algoritmo (DES nel primo caso, MD4 nel secondo). In pratica la password inserita viene prima trasformata in hash ed è questo valore che viene confrontato con il dato presente nel SAM. Se i due sono uguali viene concesso l’accesso e viene creato il token. Entrambi gli algoritmi hanno la caratteristica di poter ricostruire la password in chiaro solo per iterazioni successive : il numero di iterazioni necessario rende a tutt’oggi facilmente “attaccabili” le password fino a 7 caratteri, proponibile l’attacco per password ad 8, improponibile oltre. C’è però da notare che questo vale per un attacco completamente “brute force” : discorso diverso se si unisce l’iteratività ad uno sfruttamento più intelligente delle debolezze del sistema, come ad esempio la possibilità di descrittare separatamente la parte “alta” e “bassa” dell’LMHash o sfruttare le debolezze del meccanismo di Response/Challenge. Abbiamo detto infatti che la LMHash è la password utilizzata per l’autenticazione remota. Questa password viene trasmessa in pacchetti SMB (Netbios) ma non viene inviata per intero bensì “a pezzi” attraverso l’algoritmo di Response/Challenge che prevede una sequenza di operazioni come questa: 1. Il client invia al server una richiesta di connessione; 2. Il server genera un valore random ad 8 bit (challenge) e lo invia al client; 3. Il client, detto H l’LMHash della password inserita da tastiera: 3.1. Aggiunge ad H al 5 bit nulli; 3.2. Crea delle chiavi DES a 56 bit con i 3 “pezzi” da 7 bit ottenuti; 3.3. Codifica in DES gli 8 bit del challenge con ognuna delle chiavi precedenti Impacchetta il tutto in 24 bit (“response”) che invia al server; 4. Il server prende il valore cifrato della password dell’utente dal proprio file SAM (Hs) e lo tratta come H ai passi 3.1, 3.2, 3.3 ottenendo un valore presunto della response 5. Se response=”response presunta” l’utente è riconosciuto, se no no. Un meccanismo di trasmissione di questo tipo obbliga chi voglia risalire alla password dai dati catturati con uno sniffer (con cui può prelevare gli 8 bit del challenge ed i 24 della response) ad eseguire tre decifratore DES iterative, cosa che comporta tempi abbastanza elevati ai tempi in cui il tutto fu proposto ma assolutamente affrontabili ad oggi. Per questo motivo Microsoft ha prima introdotto su quest’impianto NTLM+Challenge (l’originario LM+Challenge inviava le password in chiaro!) la possibilità di creare le chiavi DES non a 56 ma a 128 bit (NTLMv2) il che permette di ottenere un livello di sicurezza paragonabile a quello di Kerberos. C’è da notare che con i mezzi attuali per decrittare una password NTLMv2 di 8 caratteri con un brute force occorrono circa 20 giorni : va notato però che per mantenere la compatibilità coi sistemi precedenti a Windows NT SP4 è possibile per il client chiedere di dialogare in modo NTLMv1 : in questo modo i tempi di decrittazione brute force diventano di ore ed infatti alcuni programmi hanno la possibilità di utilizzare questo attacco basato sull’NTLM Downgrade. Altra possibilità di protezione è la “firma” sui pacchetti SMB. Un prospetto riepilogativo : Windows Windows Windows Metodo di autenticazione 2000 NT 4.0 95/98 Kerberos si no no NTLM v2 NTLM v1 LM EAP si si si si si (1) si si no si (2) si si no MS-CHAP v2 si si si (3) MS-CHAP v1 si si si CHAP si si si SPAP si si si PAP si si si NOTE: (1) Installando il Service Pack 4 o superiore. (2) Installando il Directory Service Client. (3) Installando il Dial Up Networking 1.3 o superiore. 5.3. Parametrizzazione e Policy Sono possibili varie parametrizzazioni interessanti, molte legate alla sicurezza fra cui avere uno startup/shutdown logon/logoff log più dettagliato. Si possono ottenere coi seguenti applicativi (selezionabili da Start – Esegui): - Criteri di sicurezza : secpol.msc /s Criteri di gruppo : gpedit.msc Modelli di Protezione : (Aggiungi Snap-in Security Templates) 6. Bibliografia e Links Filesystem http://it.wikipedia.org/wiki/NTFS http://it.wikipedia.org/wiki/File_Allocation_Table Registro di sistema http://technet2.microsoft.com/windowsserver/it/library/28e3337c-70ff-41e1-86ef2581350712a91040.mspx?mfr=true Processi e Threads http://en.wikipedia.org/wiki/Process_(computing) Processo di avvio http://www.infopcfacile.it/il_processo_di_avvio_di_windows_xp-ed_il_suo_signi.html Autenticazione http://www.dia.unisa.it/~ads/corso-security/www/CORSO-9900/hash/mdx.htm http://www.amagri.it/sicurezza_windows.htm Log http://support.microsoft.com/default.aspx?scid=kb;EN-US;q246120 Inf files http://www.wd-3.com/archive/InfFiles.htm