Scarica Introduzione alla Cybersecurity: Crittografia, Autenticazione e Controllo degli Accessi - e più Appunti in PDF di Sicurezza Dei Sistemi Informativi solo su Docsity!
27 aprile 2021 L’obbiettivo della cybersecurity è garantire l’operatività di un sistema informatico in presenza di avversari (inteso come una rete di calcolatori) in caso di attacco deve risolvere il problema per permettere al programma di ripartire. La privacy è la parte della cybersecurity che viene principalmente attaccata, ovvero l’accesso alle informazioni private. Obbiettivo della cybersecurity è quello di costruire un sistema sicuro sistema fornito di opportuni meccanismi di protezione (programmi oppure parti di hardware incluse nel chip) che è in grado di evitare la corruzione dei dati presenti nel sistema, l’intercettazione o qualsiasi forma di accesso non autorizzato alle informazioni o servizi che il sistema eroga. La sicurezza di un sistema non è una proprietà assoluta, ma sempre correlata e definita dal sistema in cui è inserita. Se dovessimo dare una definizione generale diremmo che un sistema è sicuro se in grado di garantire la C.I.A triade. CONFIDENZIALITÀ Capacità del sistema di garantire che non ci sia accesso non autorizzato alle informazioni. Definita anche come segretezza, capacità del sistema di mantenere segreti/proteggere i dati da estranei. INTEGRITÀ Un sistema soddisfa proprietà di integrità quando l’informazione memorizzata dal sistema non può essere modificata senza opportune autorizzazioni. Protezione sulla scrittura del dato. Per essa si utilizzano diversi meccanismi come checksums e i codici correttori (oltre ai backups) DISPONIBILITÀ Mentre integrità e confidenzialità sono legati all’info presente sul sistema, la disponibilità comprende anche i servizi presenti sul sistema. Quando un sistema garantisce il rispetto della proprietà di disponibilità, quando accedendo al sistema, questo risponde. Ci sono diversi modi per garantirla, uno di questi: la ridondanza servizio viene replicato più volte, se uno si rompe, gli altri faranno al lavoro. Esistono altri 3 principi fondamentali A.A.A ASSURANCE Capacità di un sistema di garantire il suo buon funzionamento, viene garantita attraverso una certificazione da una terza parte AUTENTICITY Capacità di determinare univocamente chi sia stato l’autore di una certa autorizzazione o documento (firma digitale meccanismo chiave). ANONYMITY Possibilità di fare in modo che una certa azione non possa essere attribuibile a nessun individuo Cosa rende insicuri i sistemi informatici? Il fatto che nelle diverse fasi di realizzazione o gestione di esso, vengano commessi degli errori (nella progettazione, durante la fase di implementazione, configurazione, o durante l’uso da parte degli utenti finali). A livello software, il problema risiede nella velocità di produzione, che quindi rende il lavoro impreciso.
Carnegie Mellon University's CyLab Sustainable Computing Consortium estimates that commercial software contains 20 to 30 bugs for every 1,000 lines of code— and Windows 10 contains more than 50 million lines of
code. Experts agree that we cannot make software of “nontrivial size and complexity” free of
vulnerabilities Perché? Perché chi sviluppa software ha pressione di consegnare il prima possibile un’applicazione veloce, funzionale ed efficiente, peccando sul lato sicurezza. Questi dati statistici fanno riferimento a un prodotto appena messo nel mercato, con l’uso, I bug vengono individuati e corretti, ma un altro studio statistico afferma che per ogni bug corretto se ne introducano 2 nuovi quindi alla fine meglio non fare nulla e tenerlo così com’è. TERMINOLOGIA SLIDES 20-21. Poi parla di storia e altre cose non importanti. 29 aprile 2021 CRIPTOGRAFIA È una scienza che individua meccanismi che consentono di trasformare un documento o messaggio in modo tale che la trasformazione sia reversibile 1. e che il contenuto del messaggio trasformato possa essere compreso solo da chi autorizzato 2. La criptoanalisi individua tecniche che dato un testo cifrato risalga al testo originale. Criptoanalisi e criptografia formano la criptologia. La criptografia è funzionale alla cybersecurity perché attraverso di essa possiamo risolvere:
- Problema della confidenzialità dell’info
- Integrità
- Autenticazione
- Non ripudiabilità Modello di riferimento: due entità che vogliono comunicare tra di loro, evitando che contenuto della loro comunicazione non venga intercettato da un terzo. Con la certezza che anche se venga intercettato il contenuto non venga compreso. Il messaggio originale, plaintext, viene modificato con un algoritmo di cifratura, l’output di questo algoritmo è un testo cifrato o cybertext che viene consegnato al receiver. Formalizzando: insieme finito (tutti i possibili messaggi che utente può inviare a un destinatario). Concetto di funzione biettiva (funzione con rilevanza importante nella criptologia, perché sia la funzione di encyption che decryption devono essere biettive. Prende testo cifrato, usa la chiave e ci restituisce il testo in chiaro. M + K C e Ci sono due tipo di protocolli: criptografia privata, o a chaive pubblica. ENCRYPTION - CIFRATURA Fa funzione di encryption riceve in input un Plaintext P che trasforma in cyphertect C usando un parametro chiave K. C = {P} (^) K DECRYPTION - DECIFRATURA Funzione di decryption riceve in input un cyphertect C che trasforma in Plaintext P usando un parametro chiave K - 1 C = {P} (^) K -
CRIPTOGRAFIA SIMMETRICA
Il vantaggio è il fatto di avere protocolli di cifratura e decifratura efficienti e facilmente implementabili in hardware. Dimensione chiave molto piccola. Lo svantaggio risiede nella difficoltà di maneggiare le chiavi, visto che per ogni interlocutore ne devi avere una diversa, e non sai come comunicarla. CHIAVE ASIMMETRICA Introdotta nel 97 da deffie e hellman. È un concetto innovativo, e consiste nel fatto che negli algoritmi di decty e encry esista una coppia di chiavi, una pubblica e l’altra segreta (non deve essere derivata da quella pubblica, clear blu). Una cifra e l’altra decifra. ( ≠ chiave simmetrica unica e privata). Cosa succede: A comunica la sua chiave pubblica che verrà usata per cifrare il messaggio, che però può essere decifrato solo con chiave privata. Problema!! Molto lenta, se devo cifrare file/documenti grandi diventa una rottura de cazz. si usa un approccio misto: uso crittografia a chiave pubblica per scambiarsi le chiavi a crittografia con chiame simmetrica. Il problema di questo meccanismo è possibile MAN IN THE MIDDLE. (appunti giorgia pag.7) FIRMA DIGITALE first digital signature algorithm Proposta nel 1976 da Diffie-Hellman e ha trovato Implementazione nell’algoritmo RSA. È una attestazione generata elettronicamente riguardante la veridicità/autenticità di un documento che verifica anche se una persona è la reale proprietaria di documento. Algoritmo RSA ha alla base un funzionamento con chiave ASIMMETRICA. Garantisce confidenzialità e autenticità (ma non integrità). (leggere esempio alice e bob e algoritmo ELGAMAL e DSS). 6 maggio 2021 ONE-WAY HASH FUNCTIONS Funzione matematica unidirezionale che serve per compattare il contenuto di un file, la quale partendo da una qualunque stringa di bit, restituisce in output un valore chiamato Digest, compreso tra i 128-512 bits. (Chiamato anche fingerprint). Ha due proprietà:
- La particolarità di essere ONE-WAY Hash(m) = h given h is very difficult to find m. Data la stringa di Digest è estremamente difficile risalire al contenuto originale. Funzione non invertibile
- E di essere COLLISION RESISTANT estremamente difficile trovare due stringhe che diano in output lo stesso hash.
- In più qualsiasi sia la dimensione dell’input danno in output una stringa di dimensioni ben definita La funzione di hash garantisce la proprietà di integrità dei dati nei sistemi (garantita se un sistema assicura che non vengano fatte delle modifiche non autorizzate ai file) infatti posso usare le funzioni hash per verificare se qualcuno abbia manipolato i file, con un programma che calcola il digest di tutti i file e li confronta a fine giornata per vedere se ci sia qualche differenza con quelle iniziali. (Metodo utilizzato tutt’oggi dagli antivirus).
HASH APPLICATION 1
Utilizzate per le password che nei sistemi non vengono memorizzate in chiaro, ma ne viene memorizzato l’hash (che non è invertibile), così che se qualcuno riuscisse ad accedere al file delle password, sarebbe costretto ad usare la brute force. HASH APPLICATION 2 Legata all’integrità del software: come faccio a sapere se programma che ho scaricato è originale e non una coppia con un virus? Utilizzo la funzione hash che prende in input il programma, ne calcola l’hash e poi lo confronta con l’hash presente sul sito ufficiale di Apache che contiene tutti gli hash originali dei siti che ha caricato. HASH APPLICATION 3 Per velocizzare il processo di cifratura con la firma digitale, che è un processo oneroso, si è pensato di cifrare un Hash del messaggio. Quindi: prendo il documento da firmare, ne calcolo l’hash che sarà max 512 bit, e faccio la cifratura sull’hash che sarà max 64 bit, cosa che faccio in pochissimo tempo. Dall’altra parte come faccio a verificare la firma digitale? Avrò in input un testo cifrato, che con chiave pubblica dell’utente decifro e ottengo un hash, sottopongo il testo il chiaro alla stessa procedura di hash e ottengo il testo in chiaro Le funzioni hash più famose:
- MD5 output 128 bits (16 caratteri) collision resistance completely broken by researchers in China in 2004
- SHA1 output 160 bits (20 caratteri) no collision found yet, but method exist to find collisions in less than 2^80 attempts considered insecure for collision resistance. one-wayness still holds
- SHA2 (SHA-224, SHA-256,SHA-384,SHA-512) outputs 224, 256, 384, and 512 bits, respectively No real security concerns yet attualemente utilizzata. Hash function con chiave funzioni dove contenuto viene calcolato due chiavi. Il contesto è di un canale di comunicazione fra due persone, e un man in the middle che intercetta il messaggio? Come assicuro che il messaggio non è stato modificato? Al messaggio si attacca una chiave che solo i proprietari contengono, quindi calcolo l’hash con la chiave, chiamata: HMAC keyed-hash message authentication code. P.10 giorgia MAN IN THE MIDDLE Alice vuole mandare chiave segreta a bob, gli manda la chiave pubblica che bob riceve per decifrare qualcosa che rimanda ad alice. Problema è il man in the middle che intercetta la chiave pubblica di alice, e manda a bob la sua dicendo a bob che quella è di alice. Bob invierà il segreto a quella chiave e quindi il man in the middle è a conoscenza del segreto Fundamental Problem: Bob has no way to tell whether the public key he has received belongs to Alice or not. How can he TRUST the information received?
requisito. Poi siccome Chloe ha una chiave firmata da Darma che è fully trusted da alice, anche quella è valida per la seconda regola. Sld 36 per altri esempi Come controllare la validità delle firme? Attraverso il Key Ring posseduto da ogni utente e i Key Server sparsi nel mondo che contengono le chiave depositate dagli utenti continuamente aggiornati (una volta che hanno ottenuto le firme), il più famoso è MIT. (risolvono problema obsolescenza e riservatezza meccanismi di protezione e sicurezza) Si passa da un modello fortemente centralizzato CA, a un modello distribuito ovvero il web of trust GPG e gratuito. GPG è stato il primo a proporre una soluzione per la verifica delle chiavi. Ora si può utilizzare per la comunicazione personale. Se noi cifriamo ad esempio un messaggio di posta elettronica con GPG questo rimane cifrato finché non viene aperto. Di solito un messaggio viaggia su una rete cifrata, quando arriva al web server della macchina destinataria viene messa in chiaro e decifrato. Questo fa si che il messaggio possa essere letto tranquillamente dal system manager (se lo mandiamo attraverso G-mail, il messaggio rimane in chiaro sui server di Google, idealmente per far capire il concetto se è firmato GPG non riesce a leggerlo finché non viene aperto GPG garantisce protezione end-to-end, ovvero la riservatezza della comunicazione. La protezione inizia nella nostra macchina e finisce in quella del destinatario, cifrato da mittente a mittente con X 509. Garantisce integrity checking. IDENTIFICAZIONE E AUTENTICAZIONE Meccanismi per mettere in sicurezza un sistema, che sono:
- Crittografia con la quale garantiamo che non si risalga al messaggio originale,
- Identificazione act of assering who a person is. Utente dichiara identità
- Autenticazione act of proofing you identity. Verifica e controllo validità Vediamo quindi come evitare che una persona acceda al sistema e che una persona autorizzata non svolga operazioni a lui non consentite. Ogni volta che viene emanato un sistema, viene redatto un security policy, un insieme di documenti che specifica per ogni persona che ha accesso al sistema cosa può fare. Per questo è importante che una persona si identifichi. Il sistema chiaramente non ha modo di verificare l’autenticità face-to-face,quindi lo fa attraverso una stringa di caratteri che verifichi che dietro di essa ci sia effettivamente una persona fisica. The process adopted for verifying that a user is not laying when she declares her own identity is the authentication process, performed adopting three strategies:
- What u know a secret shared between the user and the system (password)
- What u have an object that the system knows belong to the user (smartcard)
- What u are user features (finger print) Chiaramente non fa riferimento solo agli utenti, ma anche ai sistemi quindi si parla di meccanismi di autenticazione di soggetti. !!!!! WHAT YOU KNOW - PASSWORD
Questo sistema prevede che venga scambiato un segreto tra il soggetto e la macchina, questo segreto viene conservato sotto forma di password la quale viene conservata da entrambe le parti (identificazione è lo username, autenticazione la password). Intercettando la password posso a tutti gli effetti, per il calcolatore, svolgere le attività ad essa consentite attacco chiamato personificazione. Come fanno i calcolatori garantire l’integrità e la confidenzialità della password? Tendenzialmente una combinazione delle due:
- Usando protezioni criptografiche Non memorizza la password in chiaro, ma la sua funzione hash (il digest). Quando l’utente inserisce la password X in chiaro, il sistema accede al file delle password e attraverso il nome utente ricava la funzione di hash della password memorizzata che corrisponde a quell’utente, nel mentre calcola F(X) e mette a confronto il digest con quello che ha memorizzato. Password X sistema memorizza y = f(X). Quando utente genera password X sistema calcola z = f(X) e per andare a buon fine y = z
- Accesso controllato delle password. Concedendo l’accesso al file delle password solo al system administrator (solo lui vi accede in scrittura) Nonostante queste precauzioni le password si sono rivelate negli anni vulnerabili: la sua criticità è legata al fatto che gli utenti scelgono delle password facili da ricordare, quindi anche facilmente indovinabili. Oppure la spiattellano al mondo. le vulnerabilità tecniche ormai sono superate riguardano l’uso di funzioni di hash facilmente invertibili o l’accesso al file delle password a più persone. Fatto sta che il problema è dovuto agli utenti, che usano la stessa per tutto, ne usano una semplice e la mettono in mostra. METODI DI HACKERAGGIO PASSWORD PER POPPANTI ovvero LOW-TECH
- Infering password likely for a USER password + probabili per utente vai a tentative
- Guessing probable password password comunemente utilizzate Spesso attacker creano una lista di password comuni con la variante cryptata RAINBOW TABLE. Alcuni sistemi utilizzano an extra piece called SALT, aggiungendo alle password cosichè siano più univoche.
- Social Engineering meccanismo in cui si cerca di circuire le persone per ottenere password
- Shoulder surfing spiare qualcuno mentre la inserisce
5. Phishing attack mail che sembrano arrivate per conto di amazon, impersonificazione per imbrogliare
METODI DI HACKERAGGIO PASSWORD - HIGH TECH
- Brute- force
- Dictionary attacks
- Rainbow attaks Tutti questi metodi chiaramente prevedono il possesso del file delle password cryptate perché è necessario con un password guessing confrontare i vari hash dei tentativi con l’hash originale. L’approccio è inverso, dalla pass in chiaro si calcola il digest e si confronta con quello salvato. Comunque, gli hash delle password in realtà non sono così facili da ottenere, lo si può fare attraverso l’intercettazione del traffico di rete, traffic misting(?). Formato del file delle password.
You are your key. Superamento del paradigma ciò che sai col paradigma ciò che sei. Biometria scienza che misura gli aspetti biologici che ci contraddistinguono. Si riferisce a una qualunque misura di qualsiasi caratteristica fisica che ci identifica univocamente, solitamente utilizzano dei sensori o scanner, che leggono caratteristiche biometriche che confrontano con dati che hanno precedentemente acquisto. Le principali caratteristiche biometriche che ci contraddistinguono univocamente sono di due tipi: fisiologiche e comportamentali (non più usate). Il primo è come scriviamo sulla tastiera. Si pensa che la biometria andrà a sostituire del tutto le password. Lo si diceva anche 15 anni fa, ma non si è ancora realizzato, il motivo principale sono i costi chiaramente perché richiede dei sensori, e perché è soggetta ad errori (a volte non riconosce l’impronta e se hai una roba urgente è un problema). Un altro problema è il fatto che sia intrusiva (per quello con la retina viene sparato un piccolo raggio nell’occhio). È costosa, ha un singolo point of failure. La velocità di questi sistemi non è assicurata e possono essere anche loro raggirati. La biometria può essere usata per due attività: identificare, ovvero riconoscere una persona. Assegnare tratti biometrici ad una identità nota. La seconda è l’autenticazione. Come funzione? C’è una prima fase in cui acquisiamo i dati biometrici chiamata fase di enrollement, fatto questo, c’è la fase di recognition quando confrontiamo nel momento di sblocco se le impronte coincidono. Errori: se si rompe il lettore la situazione è critica perché non puoi più accedere alle informazioni nel tuo sistema. Condizione ideale sono chiaramente i true positive e negative. Ma non è possibile avere la condizione ideale perché sono direttamente proporzionali, aumentando una, aumenta anche l’altra quindi non avremo mai un riconoscitore biometrico che non sbaglia mai. I tipi di errori sono:
- Errore di falso positivo dispositivo ha detto ok, ma la persona non è la stessa
- Errore di falso negativo dispositivo no, ma la persone avrebbe diritto ad accedere Accanto all’imprecisione del meccanismo, ci sono anche gli attacchi ad esso, dove ci cerca di camuffare i tratti biometrici. Gli attacchi che vengono fatti sono attacchi di spuffing (cercare di farsi passare per un’altra persona), in questo caso vengono fatti cercando di procurarsi i tratti biometrici. Face mask per il riconoscimento facciale, fake iris, fake fingerprint con uno strato si silicone con l’impronta da voler copiare. (come ricavare l’impronta? Da una pellicola sopra il riconoscitore) SOMETHING YOU HAVE Un altro principio di autenticazione (scambio di qualche oggetto che l’utente possiedi di cui l’utente è in possesso). L’oggetto viene chiamato token (banalmente anche il nostro cellulare, la sim con determinate informazioni) i token vengono distinti in:
- Passivi contengono info, non emettono nessun tipo di segnale. Es. chiavetta OTP.
- Attivi interagiscono direttamente. la SIM card è il classico esempio di token attivo, che serve per autentificare il nostro telefono sulla rete telefonica. Tutto il traffico che generiamo ha al suo interno l’identificatore della sim, che è utilizzato per addebitarci il costo. Chiaramente per averla dobbiamo aver pagato, per questo verifica che noi siamo un utente lecito. La sim contiene una serie di informazioni personali e un ID che la distingue univocamente, ovvero un numero di 18 cifre. Inoltre contiene IMSI un numero che identifica noi (dove abituamo) e una chiave segreta di 128 bit, che viene usata per autentificarsi. Tipicamente viene protetta da un secret key, un PIN, un meccanismo ulteriore di sicurezza per proteggerla perché altrimenti chiunque ne entri in possesso può autentificarsi.
Pg 22-23- 13 maggio 2021 ACCESS CONTROL Componente del sistema di protezione di un calcolatore che verifica che gli utenti che richiedono di poter fare una determinata operazione siano autorizzati a farla. B. Lampson dice che i meccanismi di base per implementare la sicurezza possono essere ridotti allo svolgimento di 3 operazioni: GOLD STANDARD FOCE SECURITY: (au simbolo dell’oro nella tavola periodica)
- Au tenticazione
- Au torizzazione
- Au diting: controllo attività AUTORIZZAZIONE 3 concetti chiave: soggetti entità che chiedono di svolgere un’attività all0interno del sistema. Oggetti risorse su cui andiamo a svolgere delle operazioni. Oggetti su oggetti svolgono delle operazioni di accesso alla memoria lettura-scrittura-esecuzione, accesso ai file, alle risorse. A monte del controllo degli accessi c’è la politica di sicurezza, un documento che racchiude un insieme di statement che definiscono quali sono i comportamenti leciti per ogni categoria di utenti all’interno di un sistema. Un policy risponde a: who can access what and how. L’access control viene definito come: la prevenzione dell’accesso non autorizzato a delle risorse del sistema. Chi scrive la policy? Policy vs mechanism. La policy è il documento di sicurezza il meccanismo garantisce controlli per garantire affidabilità. Quindi abbiamo detto che l’access control è la prevenzione di accesso non autorizzato e utilizzo di risorse in modo inappropriato. Secondo 3 modalità:
- DAC – Discretionary access control policy di accesso viene definita dal proprietario della risorsa che decide chi e come la risorsa può essere acceduta (pensiamo al drive Google)
- MAC – Memory access control politica centralizzata che decide tutto per tutti, decisa da un’entità esterna superiore (dall’hardware o dall’app developper)
- RBAC – Role Based Access Control soluzione a metà strada tra I due, dove l’accesso agli oggetti viene deciso in base a delle regole che dipendono dal ruolo degli utenti all’interno del sistema (studente, insegnante, staff). Chiaramente indicata per semplificare la scrittura della policy, poiché in questo caso non avrebbe senso scrivere una policy per ogni utente visto che sono tutti studenti e sono una cifra. Il controllo degli accessi ha bisogno di una serie di meccanismi per essere implementato, troviamo delle componenti in 5 e tutti i livelli. Un meccanismo formale per la definizione di una security policy in ogni modello (DAC, MAC, RBAC) è fornito dalla ACCESS CONTROL MATRIX, un meccanismo attraverso la quale esplicitiamo in maniera visuale la security policy. Com’è fatta? M = (M (^) SO) (^) s ∈ S , o ∈ O È una matrice che ha come righe i soggetti e sulle colonne gli oggetti. Agli incroci vengono scritte le politiche di accesso agli oggetti.In questo esempio l’utente A può fare su biblog operazioni di lettura, scrittura mentre l’utente B solo lettura. Questa è l’idea generale che chiaramente non è realizzabile a causa delle elevate dimensioni una banca con 50 mila dipendenti e 300 files, avrebbe come risultante una matrice con 15 milioni di entrate. La diminuzione dei soggetti con un role based non risolverebbe il problema degli oggetti, la matrice rimarrebbe comunque di
IT AUDIT
An IT audit is the examination and avaluation of an organization’s information technology infrastructure policies and operations. Esame e valutazione di tutte le attività, svolto per verificare che si siano rispettate le policy. Da questo esame si può controllare la corretta stesura di esse e nel caso, trovare gli errori perché se noto un’incongruenza o ho sbagliato la stesura della policy oppure qualcuno ha svolto un accesso non autorizzato attraverso quello che viene chiamato privilege escalation attacco che consente a un utente normale, sfruttando degli attacchi informatici, di diventare amministratore di sistema. Il bello è che il reference monitor registra comunque questo passaggio, che scrive nel file di log. Fino a qualche anno fa l’audit era molto concentrata nel contesto bancario e poco nelle aziende, prima veniva fatta a mano, ora chiaramente automatizzata. Può essere fatta o una volta a settimana, oppure in tempo reale (come nel caso delle banche). Pg.29 giorgia 18-05- ACCESS CONTROL IN PRACTICE – UNIX Presupposto fondamentale affinché tutto funzioni è che l’utente, prima di diventare un soggetto sia autenticato. Quando opererà sugli oggetti, dovrà essere autorizzato dal reference monitor, che verifica attraverso le politiche se il soggetto è autorizzato a fare le autorizzazioni e scrive sul registro. Il RF attraverso il controllo delle autorizzazioni implementa il controllo degli accessi. Entità fondamentali coinvolte:
- Soggetti: processi/applicazioni/soggetti autorizzate ad accedere alle risorse del sistema
- Oggetti: risorse su cui vengono svolte le operazioni
- Access rights: il modo in cui un soggetto può accedere ad un oggetto Gli utenti hanno i loro account memorizzati nel /etc/passwd file (contiene l’elenco di tutti i soggetti autorizzati a fare l’accesso) col seguente formato: Username : password : UID : GID : name : homedir : shell Nome, una password, un UID is a 16-bit number which univocally distinguish a user inside the system e tutte le sue operazioni. Un GID 16 bit number that identifies the membership group. Homedir + shell directory e shall di lavoro. SUPERUSER UID = 0 The super user (amministratore di sistema) is a special privileged principal with UID 0 and usually the user name root. There are very few restrictions on the superuser:
- All security checks are turned off for superuser
- He can become any other user.
- The superuser can change the system clock Super user cannot write to a read-only file system but can remount it as writeable. Ad they cannot decrypt passwords but can reset them. They are authenticated using a password stored on the file /etc/shadow. GRUPPI Users belong to one or more groups /etc/group contains all groups. File entry format: Group name : password : GID : list of users Every user belongs to a primary group; group ID (GID) of the primary group stored in /etc/passwd. Collecting users in groups is a convenient basis for access control decisions SOGGETTI
The subjects in Unix are processes which are distinguished by a process ID (PID). New processes are generated with the fork syscall e quando viene generato gli viene associato un nuovo PID dal sistema operativo. I processi hanno associato un REAL UID/GID (ereditayo dal genitore, tipicamente è dell’utente loggato che ha generato processo) e uno effettivo che vengono utilizzati durante il processo di autorizzazione. OGGETTI All computers resources: Files, directories, memory devices, I/O are treated in UNIX as files. In this way the general access control in UNIX is reduced to the file system access control. They are the objects of access control. Resources organized in a tree-structured file system. Each file entry in a directory Is a pointer to a data structure called i-node. Per ogni file c’è un oggetto che dice chi può accedere ad esso. Solo soggetti possono accedere ad oggetti, serve un elenco che li indichi tutti che in Unix viene ridotto a 3 campi:
- The owner of the object
- All the users belonging to its primary group
- The rest of the world ACL viene ridotta notevolmente. Altro problema è quali operazioni possono svolgere gli utenti? Anche in questo caso vengono ridotte a tre: read – write – execute. Quindi 3 bits sono sufficienti per specificare i diritti di un soggetto su un oggetto. Di conseguenza un’access control list viene rappresentata da una stringa di 9 bits, divisa in 3 gruppi:
- The first group expresses how to access the owner
- The second expresses how to access the group
- The third expresses how to access the rest of the world Come vengono rappresentati I diritti di accesso a una risorsa: da 3 bit, e visto lo schema sotto useremo 3 numeri che va da 0-7. Quindi se specifico 433 100 (4) – 011 (3) – 011 (3) R _ _ _ W X _ W X R W X 0 1 0 = 2 1 1 0 = 6 1 1 1 = 7 In realtà ci sono 4 numeri in realtà perché c’è la maschera iniziale, volendo fare degli esempi: 0020 write by group 0010 execute by group 0004 read by other 0400 read by owner 0002 write by other 0200 write by owner I diritti di accesso possono essere alterati dall’owner attraverso il comando chmod 0754 filename, con questo numero introduciamo tutte le possibili operazioni eseguibili per l’owner, read ed excute per il gruppo primario e solo read per il resto del mondo. Possiamo comunque fare la stessa operazione senza rappresentazione ottale attraverso comando: chmod u+wrx, g+rx, g-w (agli user togli write) o+r, o -wx (al resto del mondo togli write e execute) filename. Per cambiare l’owner del file: chown nOwner:nGroup filename. Eseguire un file significa eseguire il programma all’interno di esso, discorso cambia per directory, in cui:
SOCIAL ENGINEERING
L'ingegneria sociale è una disciplina che raccoglie e studia tecniche per la manipolazione delle persone al fine di indurle ad eseguire azioni che consentono al «truffatore» di svolgere uno o più tra le seguenti azioni:
- Acquisizione di informazioni riservate
- Frode
- Accesso non autorizzato ad un sistema
- Accesso fisico non autorizzato a uno o più edifici Da un punto di vista psicologico, l'ingegneria sociale interviene nel processo decisionale di un utente. Poiché le persone non hanno la capacità cognitiva di elaborare tutte le informazioni, il processo decisionale viene effettuato rifacendosi all'uso di regole empiriche, scorciatoie euristiche mentali (derivanti dall'esperienza e dalla genetica) che funzionano bene nella maggior parte delle circostanze. (deve prendere decisioni in fretta, non ha tempo di pensare, quindi si basa su conoscenze a priori). Molti individui non conoscono o riconoscono che le loro decisioni sono influenzate da euristica, ma in genere sono loro che modellano le interazioni umane. L'euristica può, tuttavia, provocare pregiudizi cognitivi (cognitive bias), che portano a giudizi o errori nel processo decisionale. Sono proprio questi errori che vengono sfruttati dalla social engineering per indurre l’utente ad effettuare azioni che razionalmente non avrebbe mai svolto. Esempi:
- RAZIONALITà LIMITATA quantità di tempo limitata a disposizione per poter prendere decisioni Di fronte a un bambino che piange genitore si affretta a trovare qualsiasi cosa lo possa far smettere di piangere
- AFFATICAMENTO DECISIONALE attività decisionali ripetitive prosciugano le risorse mentale Verso fine giornata lavorativa i dipendeti sono mentalmente prosciugati e quindi più propensi ad ignorare le buone pratiche o politiche di sicurezza
- ANCORAGGIO umani tenfono a fare affidamento/ancorare le decisioni su un’info già in loro possesso Voglio comprare una macchina che ho visto online a 20mila, quando me la propongono a 19mila penso di aver fatto l’affare, e senza pensarci due volte la compro.
- AFFECT HEURISTIC decisione facendo affidamento a una risorsa emotiva. Dipendete riceve una mail da un delatore che si dichiara l’amministratore delegato chiedendo di inviare denaro a un fornitore falso. Una risposta emotiva spinge l’assistente a inviare il denaro senza considerare la minaccia TECNICHE SOCIAL ENGINEERING Possiamo dividerle in due categorie quelle con senza rapporti interpersonali e quelle con. Le prime
(intelligence gathering) sono fondamentalmente delle attività di ricerca/recupero info sulla vita privata (social aiutano). Le seconde si dividono in: Tecniche social engineering: non electronic Means:
- Shoulder surfing intercettazione spionaggio /ascoltare segretamente
- Impersonation
- Reverse SE reverse perché è la vittima a contattare chi attacca (hai vinto iphone bla bla bla)