SSA07r [Compatibility Mode]

Documente similare
Microsoft Word - cap2.2.UNIX-NOS.doc


Microsoft Word - 2 ES RO.doc

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Ghid de conectare la web MFC-J825DW MFC-J835DW DCP-J925DW Versiunea 0 ROM



Microsoft Word - Politică de cookie-uri OK_v1.docx

Instrucţiuni Conectare Internet Banking Prima conectare (logare) la Internet Banking (aplicaţia BankFlex Multychannel) Pentru a accesa serviciile banc

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIŞA DISCIPLINEI (CO

Ghidul pentru utilizator

CABINET MINISTRU

Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE

Slide 1

Microsoft Word - Guidelines Websites_legal requirements_ro.docx

Laborator5- ASR

Proiectarea Sistemelor Software Complexe

Ghid de Referință Explicații sumare ale operațiunilor de rutină HL-L2312D HL-L2357DW HL-L2352DW HL-L2372DN HL-L2375DW Brother recomandă să păstrați ac

PowerPoint Presentation

Laborator 3

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Ghid Web connect DCP-J4120DW MFC-J4420DW MFC-J4620DW MFC-J5320DW MFC-J5620DW MFC-J5720DW

PowerPoint Presentation

43 Prelegerea 4 Protocoale de distribuire a cheilor 4.1 Introducere Am văzut că sistemele bazate pe chei publice nu necesită un canal sigur pentru tra

PowerPoint Presentation

NATIV SECURIZATE, INTUITIV PROIECTATE imagerunner ADVANCE de generaţia a treia, ediţia a 3-a Gama de dispozitive multifuncţionale color şi alb-negru p

ÎS CENTRUL DE TELECOMUNICAȚII SPECIALE CENTRUL DE CERTIFICARE A CHEILOR PUBLICE POLITICA de utilizare a certificatelor SSL Iunie 2013 Chişinău 2013

Информационная система персонализации, печати и учета документов об образовании

Curs

Manual de utilizare Room Booking System

Ghid de referinţă rapidă pentru Seria ZT400™

SC AI COMSYS SRL

Ghid utilizare aplicație PARKING BUCUREȘTI Aplicație PARKING BUCUREȘTI 1

GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, a

Raportarea serviciilor de dializă la nivel CNAS

LUMINIŢA SCRIPCARIU

Microsoft Word - lab-fr_3

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

3

BIOFEEDBACK 2014 SRL GDPR POLITICA DE PĂSTRARE A DATELOR ȘI DE PROTECȚIE A ÎNREGISTRĂRILOR Cod: GDPR Ediția: 01 Revizia: 00 Autor: Ing. Petre Be

Regulamentul Concursului_RO

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

Limbaje de Programare Curs 6 – Functii de intrare-iesire

INFORMATICĂ ŞI MARKETING

Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md

Lucrarea 10

Manual Utilizare SEPA DD

WorkCentre M123/M128, WorkCentre Pro 123/128, CopyCentre C123/128 Ghid de Configurare Rapidă pentru Reţea

FONDUL SOCIAL EUROPEAN

Laboratory for Computer Security Education 1 Vulnerabilitatea datorată concurenței Copyright Wenliang Du, Syracuse University. The developme

PHP (II)

proiectarea bazelor de date

Curs de Utilizare

2

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

metro-privacy

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut

COLEGIUL TEHNIC „VICTOR UNGUREANU” CAMPIA TURZII

EVALUARE NAȚIONALĂ CLASA A VIII-A 2017 FLUX DE LUCRU PENTRU UTILIZATOR DE TIP CENTRU DE ÎNSCRIERE (CI)

Termeni și Condiții Termeni și condiții Pentru folosirea în cele mai bune condiții a site-ului, se recomandă citirea cu atenție a acestor termeni și c

Concepte de bază ale Tehnologiei Informației

Kein Folientitel

Notificare privind Confidențialitatea InfoCert S.p.A., având sediul social situat în Piazza Sallustio 9, Roma (Italia) ( InfoCert sau Operator

Colegiul Economic Administrativ - Iasi

Windows 7

Microsoft Word - Politica de marcare temporala v1.0

Microsoft PowerPoint - 11_USO_curs_08.ppt [Compatibility Mode]

PPSD

manual_ARACIS_evaluare_experti_v5

Termeni și condiții specifici pentru utilizarea cardurilor emise de ING Bank în cadrul aplicației Apple Pay DEFINIȚII În cuprinsul prezentelor Condiți

Creational design patterns

Aggregating Data

Microsoft Word - Curs_07.doc

manual_ARACIS_evaluare_experti_v4

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj

Inserarea culorilor in tabele

BC MOLDINDCONBANK SA

AdVision este un software de narrowcasting, destinat tuturor celor care administrează conţinut pe o reţea de monitoare. Fie că este vo

Investeşte în oameni Proiect cofinanţat din Fondul Social European prin Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane

Slide 1

Microsoft Word _Cookies statement Activia RO.DOCX

GHIDUL SOLICITANTULUI INSTRUCŢIUNI DE COMPLETARE A APLICAŢIEI ONLINE DE SOLICITARE A FINANŢĂRILOR NERAMBURSABILE PENTRU PROIECTE EDITORIALE

1

Proiect GSN-08 Ghid de securitate nucleară privind repornirea instalaţiilor nucleare după opririle neplanificate CAPITOLUL I Domeniu, scop, definiţii

Limbaje de Programare Curs 8 – Fisiere

H Romanian SAVER EVO MANUAL

Microsoft Word - TS Ghid Revocare On-Line CC V1.1

Ghid privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozitarii centrali de titluri de val

Microsoft Word - MANUAL_APP_ROMPOS_V7.docx

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

(Microsoft PowerPoint SIBIUEVIDENTA [Doar \356n citire])

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

AVANSAŢI LA CLOUD Gama de dispozitive multifuncţionale inteligente pentru birou color şi alb-negru imagerunner ADVANCE Third Generation Ediţia a 2-a C

Noțiuni de bază ale criptografiei

Informatică aplicată TEST GRILA TEST GRILĂ - REZOLVAT 1.Structura de principiu a unui sistem de calcul contine urmatoarele componente principale: A. u

Gestionarea I/E

Transcriere:

Ce este unix? Securitatea sistemelor şi a aplicaţiilor Cursul VII. Securitatea SO. Unix Marius Joldoş U.T. Cluj-Napoca SO multiutilizator cu acces din reţea Are o istorie de peste 30 de ani Dezvoltarea aleatoare a dus la multe lipsuri în securitate Există multe versiuni comerciale şi versiuni gratuite SSA cursul 7 - M. Joldoş - T.U. Cluj 2 Părţi care operează în peisajul UNix AIX - IBM Corp. HP-UX - Hewlett Packard Co. IRIX - Silicon Graphics Inc. (SGI) SCO - Santa Cruz Operation, Inc Solaris - Sun Microsystems (System V) SunOS 4.x - Sun Microsystems (BSD) Tru64 - Was DEC-Digital Unix, now Compaq Tru64. Ultrix - DEC s version of Unix before Digital Unix Linux (câteva distribuţii RedHat, Suse, Ubuntu, Mandriva, ) BSDs (FreeBSD/BSDI, OpenBSD,NetBSD) Unix. Caracteristici de securitate Securitatea conturilor Cine poate accesa maşina? Ce nivel de acces poate avea? Securitatea sistemului de fişiere Dacă ai acces, ce poţi face cu drepturile pe care le ai? Include accesul la periferice Securitatea reţelei În care gazde există încredere şi în care nu SSA cursul 7 - M. Joldoş - T.U. Cluj 3 SSA cursul 7 - M. Joldoş - T.U. Cluj 4

Unix. Securitatea conturilor Conturile sunt folosite pentru a controla accesul la resursele maşinii CPU (timpul procesor) Fişiere Echipamente periferice Cea mai uzuală metodă implică nume de utilizator (identificator) şi parolă (autentificator) SSA cursul 7 - M. Joldoş - T.U. Cluj 5 Unix. Conturile Detaliile stocate în /etc/passwd (/etc/passwd + /etc/shadow) Format Nume utilizator Parola cifrată ID utilizator (UID) Grup primar ID (GID) Nume real sau comentariu Director home login shell tgray:ru98fsghj5m/8:20001:200:tony Gray:/u/sac/tgray:/bin/csh SSA cursul 7 - M. Joldoş - T.U. Cluj 6 Parolele Unix Folosesc o versiune modificată a DES Cheie de 56 biţi (d.e., 8 caractere ASCII-7) Criptează bloc de 64 biţi (8 ASCII '\0') Rezultatul se re-cifrează cu parola, în total de 25 ori Cei 64 biţi finali sunt despachetaţi în 11 caractere imprimabile În proces se adaugă 12 biţi suplimentari numiţi sare Sarea se stochează ca primele două caractere din parolă Nu se descifrează parolele stocate Parola introdusă este cifrată şi comparată cu intrarea din fişierul de parole De ce este nevoie de "sare"? "Sarea" previne ca parolele duplicate să fie vizibile în fişierul de parole Deoarece este probabil ca utilizatori diferiţi să aibă "săruri" diferite Creşte mărimea efectivă a parolelor O sare pe 12 biţi face spargerea unei parole de 4096 ori mai dificilă Previne folosirea implementărilor în hardware ale rutinei de cifrare Cu tehnologia curentă, implementările software sunt limitate relativ la numărul de încercări pe care le pot face în unitatea de timp SSA cursul 7 - M. Joldoş - T.U. Cluj 7 SSA cursul 7 - M. Joldoş - T.U. Cluj 8

Setarea parolei Verificarea parolei UID ID utilizator sare Parolă cifrată UID ID utilizator sare Parola cifrată parolă 25 cicluri c de DES CHEIE: : parola {sare sare,0} 25 cicluri c ale DES CHEIE: : parola compară SSA cursul 7 - M. Joldoş - T.U. Cluj 9 SSA cursul 7 - M. Joldoş - T.U. Cluj 10 Securitatea sistemului de fişiere Controlul accesului la fişiere şi directoare se bazează pe trei straturi de privilegii pentru utilizatori şi trei permisiuni de bază pentru fişiere: Privilegii utilizator pentru fişiere Proprietar Grup Lume ( Ceilalţi or Public ) Permisiuni pentru fişiere Read (citire) Write (scriere) Execute (executare) SSA cursul 7 - M. Joldoş - T.U. Cluj 11 Permisiunile pentru fişiere Date pentru fişier: -rw-r----- 1 jsmith user 6002 Sep 15 14:02 myfile Permisiuni Proprietar Grup Dimensiune Data Numele fişierului Permisiunile se dau ca valoare numerică: rwxrwxrwx r = 4, w = 2, x = 1, - = 0 rwx = 4 +2+1 = 7 r-xrw-rwx r--r--r-- 7 7 7 5 6 7 4 4 4 SSA cursul 7 - M. Joldoş - T.U. Cluj 12

Contul supervizorului Supervizorul = root Root este ţinta principală pentru hackeri din cauza privilegiilor pe care le are Dacă hackerii pot deveni root, atunci pot prelua controlul asupra sistemului Dacă se întâmplă aşa ceva, e nevoie de un timp considerabil pentru a recupera sistemul capturat şi a-l restaura pentru operaţii normale Unix & Securitatea La început, sistemul Unix era foarte nesigur. Securitatea se păstra prin metode fizice. Folosind cuvintele lui Dennis Ritchie, unul dintre creatorii lui Unix, "Nu a fost proiectat de la început pentru a fi sigur. A fost proiectat cu trăsăturile necesare pentru a face securitatea service-abilă." SSA cursul 7 - M. Joldoş - T.U. Cluj 13 SSA cursul 7 - M. Joldoş - T.U. Cluj 14 Fundamente Ameninţare un eveniment nedorit Vulnerabilitate condiţia în care un control sau o gardă de siguranţă lipseşte sau este prost administrată şi care permite apariţia unei ameninţări cu un impact mai mare sau mai frecvent sau ambele. Pierderi directe sau indirecte Dezvăluiri Integritate Refuzul servirii Contramăsurile sunt metode menite a reduce riscul şi pierderile asociate unei ameninţări sau unei vulnerabilităţi Procesul de luare a contramăsurilor Există cinci paşi în stabilirea contramăsurilor Evaluarea riscurilor Evaluarea vulnerabilităţilor Reducerea vulnerabilităţii Documentarea sistemului Actualizarea permanentă Este un proces continuu SSA cursul 7 - M. Joldoş - T.U. Cluj 15 SSA cursul 7 - M. Joldoş - T.U. Cluj 16

Evaluarea riscurilor (risk assessment R/A) R/A este studiul vulnerabilităţilor, a ameninţărilor, a probabilitătii acestora, a impactului lor şi a eficacităţii teoretice a contramăsurilor. Riscul poate fi combătut prin acţiuni ale administratorului securităţii; în schimb, ameninţările nu pot fi combătute. Evaluăm riscul unui sistem pentru a: Determina pierderile aşteptate Stabili un grad de acceptabilitate Determina eficacitatea contramăsurilor Reproiecta şi îmbunătăţi securitatea Calcularea riscurilor Sunt mai multe formule pentru risc Una dintre acestea este:: Risc = Ameninţare * Vulnerabilitate * Cost Dacă Ameninţare = 0 or Vulnerabilitate = 0 sau Cost = 0 atunci Risc = 0 Nu avem control asupra ameninţărilor Avem ceva control asupra costurilor Avem mult control asupra vulnerabilităţii SSA cursul 7 - M. Joldoş - T.U. Cluj 17 SSA cursul 7 - M. Joldoş - T.U. Cluj 18 Determinarea vulnerabilităţilor unui sistem Se face folosind software de scanare şi probare pentru a identifica slăbiciuni potenţiale Se caută echipamente neautorizate Se caută imperfecţiuni în sistem Se folosesc unelte cum sunt Crack SATAN... Tipuri de vulnerabilităţi Sunt 3 clase de vulnerabilităţi De proiectare Slăbiciuni în specificarea sau proiectul de bază. Chiar dacă s- a implementat exact după specificaţii slăbiciunea va apărea. D.e. folosirea criptării XOR pentru protecţia datelor De implementare Slăbiciuni în sistemul ţintă ca rezultat al erorilor sau practicilor necorespunzătoare din partea autorului. D.e. folosirea strcpy() in loc de strncpy() De configurare Slăbiciuni în sistem rezultate din parametri incorecţi sau hardware necorespunzător. D.e. servicii neutilizate, permisiuni de citire pentru toţi etc. SSA cursul 7 - M. Joldoş - T.U. Cluj 19 SSA cursul 7 - M. Joldoş - T.U. Cluj 20

Surse de informaţii despre vulnerabilităţi Surse gratuite Bugtraq www.securityfocus.com NTbugtraq www.ntbugtraq.com VulnWatch www.vulnwatch.com Surse comerciale E-Security Online de la E&Y DeepSight de la Symantec Ar trebui raportate vulnerabilităţile? SSA cursul 7 - M. Joldoş - T.U. Cluj 21 Testarea penetrării Cunoscută şi ca Analiza penetrării (PentAn) Atacul echipei Tigru Echipa roşie [Echipa albastră] Scopul final al testului este violarea politicilor de securitate ale unui sit Utilitatea studiului vine din gradul de penetrare, din documentarea şi concluziile studiului, iar nu din succesul sau eşecul penetrării Spre exemplu: compromiterea cu succes a datelor utilizatorului nu este echivalentă escaladării privilegiilor într-un sistem SSA cursul 7 - M. Joldoş - T.U. Cluj 22 Reducerea vulnerabilităţilor Trebuie lucrat pentru eliminarea vulnerabilităţilor Trebuie creată documentaţie pentru sistem, precum şi proceduri de operare Staţi la curent cu exploatările şi toate corecţiile pentru sistem Slăbiciuni ale Unix Procesul de login o singura parolă slabă poate compromite întregul sistem Gazdă de încredere o maşină care permite accesul la resursele locale fără autentificarea prin parolă Serviciile de fişiere.rhosts şi hosts.equiv X-window permite accesul de la distanţă Încrederea este inamicul Dvs. Pe măsură ce creşte şi se modifică SO unix apar găuri noi SSA cursul 7 - M. Joldoş - T.U. Cluj 23 SSA cursul 7 - M. Joldoş - T.U. Cluj 24

Slăbiciuni generale (1) O versiune a atacului cu depăşire de zonă tampon proiectat pentru refuzul servirii. Se scrie un tampon cu mai mult decât poate păstra, a. î. adresa de retur din funcţie sau alţi pointeri stocaţi în stiva program devin corupţi Face ca programul să încerce să execute sau să acceseze o locaţie de memorie nevalidă Cauzează o eroare care poate stopa aplicaţia sau chiar maşina pe care aceasta rulează SSA cursul 7 - M. Joldoş - T.U. Cluj 25 Slăbiciuni generale (2) Atacuri pe bază de intrare nevalidă: metodă de creare a datelor de intrare care fac ca o aplicaţie să execute comenzi pe care nu le-ar executa în mod normal Similară atacurilor cu depăşire de tampon, dar... Exploatează lipsa validării intrării, nu a depăşirii limitelor Caută să păcălească aplicaţia să execute comenzi, nu să exploateze abilitatea de a suprascrie stiva Cele mai comune se găsesc în scenarii CGI SSA cursul 7 - M. Joldoş - T.U. Cluj 26 Slăbiciuni generale (3) Atacul prin acces de la distanţă la procesorul de comenzi: foloseşte forţa brută sau atacuri orientate pe date pentru a forţa un sistem sa deschidă o conexiune înapoi spre atacator Exploatează servicii greşit configurate sau vulnerabile în alt fel pentru a obţine un acces mai direct Metode uzuale X Windows Canale înapoi SSA cursul 7 - M. Joldoş - T.U. Cluj 27 Slăbiciuni generale (4) Ingineria socială Lucrez la departamentul de securitate Avem o problemă. Avem nevoie de ajutorul Dvs. Daţi-ne parola Dvs. Trebuie să vă actualizăm definiţiile de viruşi; utilizatorii să-mi dea parolele de pe screensavers Probleme cu lista de plată Sunt de la contabilitate. Nu pot face sistemul să execute jobul de calcul al salariilor. Un tur personalizat Sunt nou, arată-mi cum merg lucrurile Ai încredere în mine; lucrez la telefoane Caut un defect. SSA cursul 7 - M. Joldoş - T.U. Cluj 28

Informaţiile pentru inginerie socială Hackerii îşi obţin informaţiile pentru ingineria socială din: Directoarele cu angajaţi adesea aflate pe paginile de Web ale companiilor. Numele, adresele de email, numerele de telefon, departamentele în care lucrează sunt la câteva click-uri distanţă Sistemele de telefonieale companiilor adeseori au posibilitatea de a lista numele angajaţilor Directoare de lobby oficii, nume, titluri, etc. Postări pe Usenet & arhive de liste de mail se obţine numele angajatului. Adeseori semnăturile conţin titlul şi informaţii de contact. Traversarea maimultor intrări pot da informaţii despre stilul de scris al persoanei Baze de date online numere de telefon & adrese de email gratuite din multe locaţii. Pagini de Web personale adeseori persoanele dau informaţii ca, de exemplu, unde lucrează, unde au urmat şcoala, cine le sunt prietenii, ce mâncare le place etc. Toate de la sursă. Informaţia de DNS publică bazele de date cu mapări de la nume la adrese au info de contact pentru administratorii sistemelor respective. SSA cursul 7 - M. Joldoş - T.U. Cluj 29 Atacuri asupra Unix Pe lângă slăbiciunile de ordin general ale unix, mai există o serie de slăbiciuni specifice, care au fost exploatate Următoarele transparente vor schiţa câteva dintre problemele comune majoritate, dar nu chiar toate au fost corectate Unele necesită ca administratorul de sistem să efectueze anumite acţiuni SSA cursul 7 - M. Joldoş - T.U. Cluj 30 Bibliotecile partajate Permit programele legate dinamic să acceseze cod din biblioteci folosite în comun Editorul de legături dinamice al sistemului (ld.so or ld.so.1) face disponibil codul referit de program la execuţie Principalul beneficiu este că programele nu trebuie reconstruite la actualizarea bibliotecilor Dacă atacatorii pot modifica o bibliotecă dinamică sau pot furniza o altă bibliotecă prin una dintre variabilele de mediu ale LD, atunci aceştia pot obtine accesul la nivel supervizor prin orice program legat dinamic executat cu privilegii de root Eroarea de validare a accesului O eroare de validare a accesului reprezintă o situaţie în care se efectuează o verificare pentru validare, dar, din cauza logicii incorecte, se oferă acces necorespunzător. Vulnerabilitate exemplu [froot bug, AIX 3.2, Administrator Access] Comanda: $ rlogin victim.com -l froot Permite acces root de la distanţă fără validare din cauza unei erori de analiză a textului care substituie root ca nume al persoanei care este validată. Login are întotdeauna succes indiferent de parolă din cauza logicii de condiţionare lipsă. SSA cursul 7 - M. Joldoş - T.U. Cluj 31 SSA cursul 7 - M. Joldoş - T.U. Cluj 32

suid/sgid Întrebare: John a scris un program. Bob îl execută. Ale cui fişiere le poate accesa? Răspuns: în mod normal pe cele ale lui Bob, cu condiţia să nu fie setaţi biţi de set-user-id (suid) sau set-grup-id (sgid). Un program cu suid sau sgid se execută în numele proprietarului"! Fişiere setate la SUID/SGID permit utilizatorilor obişnuiţi să le ruleze cu permisiuni mai elevate. Problema: majoritatea fişierelor SUID/SGID permit programelor/scenariilor să fie rulate ca root. Acest lucru poate fi foarte periculos şi nesigur într-un mediu server. Hackerul poate exploata uşor multe dintre aceste fişiere pentru a obţine acces root De ce suid root? Pentru că ele sunt mecanisme Unix pentru schimbarea identităţii utilizatorilor şi grupurilor Fie pe termen nedefinit, fie pentru execuţia unui singur program Au fost create pentru a trata inflexibilităţile modelului de control al accesului ale Unix Utilizatorii au nevoie de privilegii de supervizor pentru a executa anumite funcţii ale SO (dar ei nu ar trebui să primească statut de supervizor) Este sursa pentru probleme de securitate care nu se mai termină Coada de imprimare este, în esenţă, un fişier Cineva trebuie să fie proprietarul lui Cum să pună alţii ceva în coada respectivă? Fără a face disponibilă coada în orice scop Răspunsul uzual din Unix este să se ruleze programul de imprimare setuid la proprietarul cozii SSA cursul 7 - M. Joldoş - T.U. Cluj 33 SSA cursul 7 - M. Joldoş - T.U. Cluj 34 Programe importante care folosesc suid /bin/passwd Schimbarea parolei /bin/login Programul de login /bin/at Trimiterea de job-uri pe loturi /bin/su Schimbarea UID-ului unui program SSA cursul 7 - M. Joldoş - T.U. Cluj 35 Slăbiciuni legate de instalare Un program care are o serie de probleme de securitate este programul install, care implicit pe multe platforme a fost setuid root. Deşi s-a argumentat de multă vreme că securitatea din install e suficient de bună pentru a preveni abuzurile, în cele din urmă s-a eliminat bitul setuid. Vulnerabilitate exemplu [install, general, Administrator Access] % cp /etc/passwd /tmp/passwd Salvează fişierul de parole curent % echo intruder::0:0:the Intruder:/:/bin/sh >> /etc/passwd Adaugă un utilizator de nivel root % install d o <username> /etc Instaleză un fişier în home cu Privilegii de root (deoarece install este suid) % cp /tmp/passwd /etc/password Restaurează vechiul fişier de parole SSA cursul 7 - M. Joldoş - T.U. Cluj 36

Slăbiciuni legate de fişierele cu vidaje de memorie Fişierele de vidaj sunt create de sistem la apariţia unei erori din care programul nu se poate recupera Conţin imagine memorie folosită de obicei la depanare Un vidaj de la un program SUID poate conţine parole cifrate sau alte info sensibile Slăbiciuni legate de login incorect Fişierul /etc/btmp ţine evidenţa tentativelor de login eşuate din cauza numelui de login eronat Nu este neobişnuit ca cineva să-şi tasteze parola în loc de numele de utilizator (numele de login) Prin examinarea unui login eşuat şi apoi a unuia reuşit de la un terminal Cum utilizatorul şi-a corectat cel mai probabil eroare, se poate releva o pereche nume de utilizator/parolă SSA cursul 7 - M. Joldoş - T.U. Cluj 37 SSA cursul 7 - M. Joldoş - T.U. Cluj 38 Slăbiciuni legate de numele de fişiere Atacurile folosind nume de fişiere implică crearea de fişiere cu nume interpretat de sistem ca altceva prin imbricarea delimitatorilor de comenzi în nume unix nu are restricţii referitoare la ce fişiere să fie folosite într-un nume de fişier De exemplu: core; rm r /* Dacă acest fişier este procesat de către oricare comandă care foloseşte interpretorul de comenzi pentru a expanda numele de fişier, partea de nume de după ; va fi executată ca o comandă în acest caz o comandă care să şteargă toate fişierele de pe calculator SSA cursul 7 - M. Joldoş - T.U. Cluj 39 Sfaturi pentru Unix Există multe surse de sfaturi referitoare la securitatea sistemelor unix în cărţi, articole sau pe Web Următoarele câteva notiţe vor sublinia o serie de elemente care se pot dovedi utile în întreţinerea oricărui sistem unix SSA cursul 7 - M. Joldoş - T.U. Cluj 40

Parole pentru root Folosiţi întotdeauna o parolă TARE pentru root Limitaţi accesul la root la un număr minim de utilizatori sau de programe Oferiţi accesul pe baza nevoii Aceasta practică ar trebui să limiteze utilizarea necorespunzătoare accidentală or intenţionată a privilegiilor de root Reţineţi toate activitătile root prin mecanisme de jurnalizare/contabilizare NU puneţi fişier.rhosts în directorul root SSA cursul 7 - M. Joldoş - T.U. Cluj 41 Protejarea conturilor sistem Conturile sistem nu sunt asociate unui anumit utilizator Conturile sistem implicite, cum sunt sys, bin, uucp, sau lp, sunt folosite de sistem pentru a rula aplicaţii sistem sau a gestiona funcţionarea sistemului Ştergeţi, dacă se poate, conturi (precum demo, test, guest, sau help) create de programe de aplicaţie pentru a preveni exploatările împotriva acestor conturi Dacă conturile nu pot fi şterse, consideraţi Dezactivarea sau schimbarea parolei Oferirea unui interpretor fals care nu face nimic la execuţie SSA cursul 7 - M. Joldoş - T.U. Cluj 42 Conturi pentru musafiri Sunt oferite ca o facilitate pentru vizitatori Dacă se poate, eliminaţi-le Dacă sunt necesare: Schimbaţi zilnic parola şi activaţi-le numai când este nevoie Puneţi contul guest într-un sistem de fişiere restricţionat (chroot) Folosirea interpretoarelor de comenzi restricţionate constituie o alternativă la conturile pentru musafiri Directoare de protejat Minimum toate directoarele din calea de căutare a root trebuie securizate cât mai bine / - directorul de bază (home) al root /dev conţine toate fişierele device standard Doar /dev/null, /dev/tty şi /dev/console ar trebui să fie vizibile tuturor Suspectaţi fişierele de acces la dispozitive situate altundeva decât în /dev. Scanaţi periodic sistemul în căutarea fişierelor de acces la dispozitive neautorizate SSA cursul 7 - M. Joldoş - T.U. Cluj 43 SSA cursul 7 - M. Joldoş - T.U. Cluj 44

Permisiuni pentru directoare /etc Conţine majoritatea fişierelor de configurare şi de securitate ale sistemului Nici un fişier sau director nu ar trebui să poată fi scris de oricine /home Tipic, acest director conţine toate directoarele atribuite utilizatorilor (home directories) Permisiunile recomandate pentru fiecare director utilizator sunt 700 SSA cursul 7 - M. Joldoş - T.U. Cluj 45 Protejarea datelor de audit Accesul la directoare şi la fişiere care conţin info de audit sau jurnale de audit trebuie să fie cât mai restrictiv Permisiunile recomandate pentru directoare ar trebui să fie 750, cu proprietar şi grup root atribuit grupului administratorului securităţii Ideal, accesul la jurnalele de audit ar trebui limitat la personalul care se ocupă de securitate SSA cursul 7 - M. Joldoş - T.U. Cluj 46 Fişiere critice /dev/kmem, dispozitiv special în mod caracter, oferă accesul la memoria virtuală a unui sistem /dev/mem, dispozitiv special în mod caracter, oferă accesul la memoria fizică a unui sistem Daca atacatorul poate accesa aceste dispozitive, atunci el poate modifica atributele sistemelor şi al proceselor Se recomandă permisiunile 440 cu proprietar root şi grup sys /etc/aliases Conţine aliasuri pentru e-mail aliases folosite de sendmail Poate fi configurat să execute automat programe Exemplu: se poate configura encode/decode pentru a uşura pentru utilizatori trimiterea/recepţionarea de fişiere binare Din nefericire, acesta devine un loc în care atacatorii pun executabilele lor Fişierul aliases nu ar trebui să poată fi scris de către utilizatori Evitaţi aliasurile pentru programe sau scrierile în fişiere dacă nu sunteţi 100% sigur de rezultat Permisiuni recomandate: 644 cu proprietar root şi grup bin SSA cursul 7 - M. Joldoş - T.U. Cluj 47 SSA cursul 7 - M. Joldoş - T.U. Cluj 48

Ghid pentru audit Unelte pentru securitate în Unix Pentru a minimiza şansa de penetrare a securităţii, trebuie monitorizat şi auditat sistemul în mod regulat Trebuie să vă cunoaşteţi sistemul Trebuie să vă cunoaşteţi politicile de securitate Trebuie să auditaţi în mod regulat şi frecvent Trebuie să înţelegeţi uneltele de audit disponibile şi modul lor de folosire Staţi la curent citiţi cărţi - folosiţi Web-ul Familiarizaţi-vă cu toate uneltele disponibile care să vă ajute să întreţineţi un sistem unix sigur Unele unelte au fost deja menţionate, altele le vom menţiona SSA cursul 7 - M. Joldoş - T.U. Cluj 49 SSA cursul 7 - M. Joldoş - T.U. Cluj 50 COPS (1) Pachetul COPS (Computer Oracle and Password System) dezvoltat de Dan Farmer de la Sun Microsystems, este o unealtă de securitate pentru administratorii de sistem. Ea verifică numeroase probleme de securitate comune pe sistemele UNIX. Este o colecţie de programe pentru shell scripts şi programe în C (o versiune mai nouă foloseşte PERL în loc de C) COPS poate fi rulat cu uşurinţă pe aproape orice variantă de Unix. COPS (2) Între altele, COPS verifică următoarele şi trimite rezultatele administratorului de sistem: Verifică /dev/kmem şi alte dispozitive în căutarea permisiunilor de citire/scriere pentru ceilalţi Verifică fişiere şi directoare speciale/importante în căutarea de moduri rele (scriere de către ceilalţi etc.) Verifică dacă sunt parole uşor de ghicit Verifică id-uri utilizator duplicate, câmpuri nevalide în fişierul de parole etc. Verifică id-uri de grup duplicate, câmpuri nevalide în fişierul group etc. SSA cursul 7 - M. Joldoş - T.U. Cluj 51 SSA cursul 7 - M. Joldoş - T.U. Cluj 52

COPS (3) Verifică toate directoarele de bază ale utilizatorilor şi fişierele lor.cshrc,.login, profile şi.rhosts în căutarea de probleme de securitate Verifică toate comenzile din fişierele /etc/rc şi fişierele cron în căutarea permisiunilor de scriere pentru ceilalţi Verifică dacă sunt căi de căutare greşite pentru root, sisteme NFS exportate spre ceilalţi etc. Include un sistem expert care caută să determine dacă un utilizator dat (de obicei root) poate fi compromis în anumite condiţii. npasswd Comanda npasswd, dezvoltată de Clyde Hoover de la University of Texas at Austin, este menită să înlocuiască comanda standard UNIX passwd, precum şi comanda SUN yppasswd. Programul npasswd face parolele mai sigure nepermiţând utilizatorilor să-şi alegă parole nesigure. Npasswd oferă următoarele capabilităţi: Lungime minimă a parolei configurabilă Configurabilitate pentru a forţa utilizatorii să folosească litere mari şi mici sau cifre şi punctuaţie Verificare parolelor simple ; d.e. o literă repetată Verificarea în raport cu numele maşinii şi alte informaţii specifice gazdei Verificarea în raport cu numele de login, numele şi prenume ş.a.m.d. Verificarea în raport cu cuvinte din diverse dicţionare, inclusiv dicţionarul sistem. SSA cursul 7 - M. Joldoş - T.U. Cluj 53 SSA cursul 7 - M. Joldoş - T.U. Cluj 54 Tripwire Primul dintre verificatoarele de integritate a fişierelor Sunt disponibile versiuni pentru Unix şi Windows Versiuni cu capabilităţi de reţea Versiunea academică este gratuită. Versiunile comerciale şi pentru Windows, nu. Util în găsirea cailor troieni. Capabilităţile Tripwire Foloseşte câteva rutine de sumă de control/semnătură pentru a detecta modificări în fişiere, precum şi pentru monitorizarea elementelor alese din informaţiile întreţinute de sistem. Sistemul monitorizează şi schimbările de permisiuni, legături şi dimensiuni pentru fişiere şi directoare. Poate fi făcut să detecteze adăugări sau ştergeri de fişiere din directoarele supravegheate. Configuraţia lui Tripwire este în aşa fel încât administratorul sistemului/securităţii să poată specifica uşor fişiere şi directoare de monitorizat sau de exclus din monitorizare şi să specifice fişiere cărora li se permit modificări limitate fără a genera o avertizare. O dată instalat pe un sistem "curat", poate detecta schimbări produse de activitatea intruşilor, modificarea neautorizată a fişierelor pentru a introduce cod de tipul "uşa-din-spate" sau "bombă-logică", activităţi ale viruşilor în mediu Unix. SSA cursul 7 - M. Joldoş - T.U. Cluj 55 SSA cursul 7 - M. Joldoş - T.U. Cluj 56

Tripwire. Exemplu de rulare O rulare a lui Tripwire: Observaţi: Nu sunt modificări SSA cursul 7 - M. Joldoş - T.U. Cluj 57 Kerberos. Dezvoltat la MIT pentru Proiectul Athena (`83) Motivaţia: studenţii din MIT trăgeau prea mult cu urechea şi obţineau tot timpul parole supervizor şi modificau (sau reporneau) maşini Merge pentru reţele UNIX TCP/IP; în domeniul public Bazat pe criptografia simetrică (foloseşte DES) Foloseşte un arbitrator de încredere SSA cursul 7 - M. Joldoş - T.U. Cluj 58 Designul Kerberos Utilizatorul trebuie să se identifice o dată la începutul unei sesiuni la staţia de lucru (sesiune de login). Parolele nu sunt trimise niciodată ca text clar prin reţea (sau stocate în clar în memorie) Fiecare utilizator are o parolă. Fiecare serviciu are o parolă. Singura entitate care cunoaşte toate parolele este Serverul de autentificare. Kerberos. Privire generală Un client care doreşte acces la un server Clientul solicită un tichet pentru un Ticket Granting Service (TGS) serviciu de garantare a tichetelor de la serverul Kerberos. Serverul Kerberos trimite tichetul, cifrat cu cheia secretă a clientului. Clientul solicită apoi un tichet pentru un anume serviciu de la TGS TGS furnizează tichetul solicitat Clientul prezintă tichetul serverului împreună cu autentificatorul Serverul permite clientului să folosească serviciul SSA cursul 7 - M. Joldoş - T.U. Cluj 59 SSA cursul 7 - M. Joldoş - T.U. Cluj 60

Kerberos. Obţinerea unui tichet Obţinerea tichetului iniţial Utilizatorul are o singură informaţie secretă care îi poate dovedi identitatea (ex: o parolă). Nu dorim să trimitem textul clar al parolei peste reţea! În schimb facem ceea ce urmează: Utilizatorul (clientul) trimite un mesaj serverului Kerberos, conţinând numele de utilizator şi TGS specific dorit, de obicei ca parte a procesului de login. Kerberos Numele utilizatorului Serviciul dorit Client Nume utilizator Parolă Serviciu Serverul Kerberos Dacă utilizatorul este în baza de date Kerberos... Generează o cheie de sesiune spre a fi folosită între utilizator şi TGS dorit; cheia de sesiune este Ticket Granting Ticket, TGT. Cifrează cheia de sesiune de mai sus cu cheia secretă a clientului (o dispersie neinversabilă a parolei utilizatorului). Creează un TGT pentru client care săi folosească la autentificare atunci când comunică cu TGS. Acesta este cifrat cu cheia secretă a TGS. Kerberos Client Bază de date cu chei / utilizatori (1) Caută utilizatorul (2) Generează cheia de sesiune Cli-TGS (3) k1 = hash(parola utilizatorului) (4) determină TGS (5) construieşte TGT (6) trimite E k1 (Cli-TGS ), TGT TGT = E Kerb-TGS (nume utilizator, adresa, server ID) SSA cursul 7 - M. Joldoş - T.U. Cluj 61 SSA cursul 7 - M. Joldoş - T.U. Cluj 62 Kerberos. Obţinerea TGT Clientul poate acum descifra mesajul şi poate obţine cheia de sesiune pentru TGS. E k1 (Cli-TGS ), TGT Rezultă cheia de sesiune s folosită pentru Cli-TGS şi TGT Clientul înlătura parola din sistem. Nimeni altul nu mai poate folosi TGT-ul... De ce??? Client Utilizatorul are acum un tichet semnat de serverul Kerberos care îl autentifică pentru Ticket Granting Service Kerberos. Obţinerea tichetelor Server O nevoie de unul pentru fiecare serviciu folosit, trebuie obţinute pe rând. Clientul trimite o cerere la TGS (se face automat când e nevoie de aplicaţie). Clientul creează un autentificator: numele, adresa, ştampila de timp şi-l cifrează cu cheia de sesiune obţinută de la serverul de autentificare Kerberos. Clientul creează apoi o cerere: numele serverului, TGT din sesiunea cifrată cu cheia secretă a TGS şi autentificator (de mai sus). Client Ticket Granting Service (2) cere/recepţionează tichet server server ID, E Cli-TGS (nume utilizator, adresa, ştampila de timp), TGT = E Kerb-TGS (nume utilizator, adresa, ID server) SSA cursul 7 - M. Joldoş - T.U. Cluj 63 SSA cursul 7 - M. Joldoş - T.U. Cluj 64

Kerberos. Serviciul de a garantare a tichetelor Decriptează TGT cu cheia Kerb-TGS Foloseşte cheia de sesiune pentru a decripta autentificatorul şi îl verifică: Compară informaţia din autentificator cu cea de pe tichet, Compară adresa de reţea a cererii cu cea din cerere şi Verifică ştampila de timp în raport cu timpul curent. Continuă daca toate se potrivesc. Verificarea ştampilei de timp înseamnă că ceasurile trebuie sincronizate şi se face pentru a reduce probabilitatea reluării server ID, E Cli-TGS (nume utilizator, adresa, ştampila de timp), TGT = E Kerb-TGS (nume utilizator, adresa, ID server) Kerberos. Obţinerea unui tichet pentru serviciu TGS returnează un tichet valid pentru ca clientul să-l dea serverului de aplicaţie solicitat. Acesta va avea: Numele clientului, adresa, ştampila de timp, expirarea, noua cheie de sesiune. Cifrează aceasta cu cheia secretă a serverului de aplicaţie. TGS va trimite şi: O nouă cheie de sesiune pentru client şi server (cum am menţionat mai sus), cifrată cu cheia partajată între client şi TGS. E Cli-TGS (Cli-service), Ticket = E TGS-Servicee (nume utilizator, adresa, ştampila de timp, expirare, Cli-service) SSA cursul 7 - M. Joldoş - T.U. Cluj 65 SSA cursul 7 - M. Joldoş - T.U. Cluj 66 Kerberos. Autentificarea Clientul primeşte un mesaj şi-l descifrează pentru a obţine cheia de sesiune pentru server. E Cli-TGS (Cli-service), Ticket = E TGS-Service (nume utilizator, adresa, ştampila de timp, expirare, Cli-service) Kerberos. Solicitarea unui serviciu Clientul: Creează o cerere spre server, cerere care conţine un autentificator constând din numele clientului, adresa şi o ştampilă de timp (cifrată cu cheia de sesiune furnizată de TGS) Şi cheia de sesiune cifrată cu cheia secretă a serverului, furnizată de TGS. Clientul poate citi cheia de sesiune pentru serviciu, Cli-service Numai Serviciul (sau TGS) ar putea decodifica tichetul * tichetul conţine Cli-service * tichetul are o ştampilă de timp, o durată de viaţă etc Client (3) Solicită serviciu Server SSA cursul 7 - M. Joldoş - T.U. Cluj 67 SSA cursul 7 - M. Joldoş - T.U. Cluj 68

Kerberos. Serviciul pentru aplicaţii Serverul decriptează şi verifică tichetul şi autentificatorul, adresa şi ştampila de timp. Dacă aplicaţia solicită autentificare reciprocă, serverul va trimite clientului un mesaj care conţine ştampila de timp incrementată cu unu (cifrată cu cheia de sesiune). Mesajele ulterioare vor fi şi ele cifrate cu cheia de sesiune Acestea depind de aplicaţie. De citit Simson Garfinkel, Gene Spafford: Practical UNIX and Internet Security, Second Edition O Reilly Media, 1996 SSA cursul 7 - M. Joldoş - T.U. Cluj 69 SSA cursul 7 - M. Joldoş - T.U. Cluj 70 Rezumat Unix Introducere Securitatea conturilor Securitatea sistemului de fişiere Securitatea reţelei Contramăsuri şi riscuri Determinarea vulnerabilităţilor Slăbiciuni generale şi specifice Unix Atacuri asupra Unix Sfaturi pentru Unix Unelte pentru securitate în Unix COPS, Tripwire Kerberos SSA cursul 7 - M. Joldoş - T.U. Cluj 71