Top Banner
Bezpečnosť OS Unix a OS Windows
61

Bez pečnosť OS Unix a OS Windows

Jan 19, 2016

Download

Documents

seda

Bez pečnosť OS Unix a OS Windows. OBSAH. Problematika bezpečnosti v OS Linux Problematika bezpečnosti v OS Windows Súborové systémy a ich možnosti Pohľad do reality. Bezpečnosť v OS Linux. Správa užívateľov - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bez pečnosť OS Unix a OS Windows

Bezpečnosť OS Unix a OS Windows

Page 2: Bez pečnosť OS Unix a OS Windows

OBSAH• Problematika bezpečnosti v OS Linux• Problematika bezpečnosti v OS Windows• Súborové systémy a ich možnosti• Pohľad do reality

Page 3: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Správa užívateľov

• V systéme Linux musí byť každý program a súbor vo vlastníctve nejakého užívateľa. Každý užívateľ má jedinečný identifikátor, ktorý sa nazýva identifikátor užívateľa alebo tiež ID užívateľa (UID). Každý užívateľ musí patriť aspoň do jednej skupiny užívateľov, vytvorenej správcom systému. Užívatelia môžu patriť do viacerých skupín súčasne. Rovnako ako užívatelia majú i skupiny svoje identifikátory, ktoré sa nazývajú identifikátory skupín (skupinové ID – GID).

• Prístupnosť súboru alebo programu závisí na identifikátoroch používateľa a identifikátoroch skupín. Spúšťaný program dedí prístupové práva po užívateľovi, ktorý tento program spustil. Práva každého užívateľa sa dajú definovať dvoma spôsobmi: práva bežného užívateľa a práva superužívateľa. Bežní užívatelia majú prístup iba k programom, ku ktorým majú prístupové právo, alebo k takým programom k spúšťaniu ktorých dostali povolenie; toto právo sa udeľuje preto, že užívateľ patrí do skupiny daného súboru alebo preto, že je tento súbor dostupný všetkým užívateľom. Správca systému má povolený prístup ku všetkým súborom a programom v systéme, a to i v prípade, že ich nevlastní. Správca systému sa často nazýva tiež superužívateľ alebo administrátor.

Page 4: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

• V Linuxe má všetko svojho vlastníka.

• Potrebujeme minimálne jedného užívateľa – root (r00tr00t :-)

• Druhú úroveň tvoria tzv. „bežní“ užívatelia

• Systémoví užívatelia – skupina tzv. „prednastavených“ používateľov.

Page 5: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Domovský adresár• Miesto pre uloženie špecifických konfiguračných súborov užívateľa• Umožňuje užívateľom pracovať vo vlastnom upravenom prostredí

bez toho, aby sa narušilo nastavenie prostredia iného užívateľa• Nutnosť ochrany pred možnosťou čítania alebo zápisu zo strany

ostatných užívateľov (s výnimkou root-a)• Najčastejšie: chmod go-rwx home_adrchmod go-rwx home_adr• Príklad:

drwx------ 3 sandusky student 4096 Apr 4 15:38 sandusky

práva N1 užívateľ skupina veľkosť dátum, čas home adr.

Page 6: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

• Najčastejšie umiestnenie domovských adresárov bežných užívateľov je v /home/home

• Pomenuje adresár každého užívateľa → prihlasovacím menom.• Výnimkou sú systémové účty • Účet superužívateľa: Domovský adresár superužívateľa má tradične

v mnohých unixových systémoch podobu /. Mnohé inštalácie Linuxu požívajú /root.

• Rozhodnutie umiestniť domovské adresáre do /home je čisto subjektívne a dobrovoľné, má však svoj organizačný význam.

• Časté je i rozdelenie adresára /home podľa jednotlivých oddelení, napríklad: /home/analytici, /home/support, /home/sales, /home/webmaster.

Page 7: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Heslá – základné myšlienky

• Každý účet by mal byť buď chránený heslom, alebo by mal byť označený ako neprístupný

• Než by sme sa mali spoliehať na to, že súbory s heslami sú dobre chránené, je lepšie, keď systém zašifruje heslo pomocou špeciálneho algoritmu.

Page 8: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Prihlásenie do systému(1) Užívateľ zadá prístupové heslo do systému

(2) Zadané heslo sa zašifruje

(3) Zašifrovaná hodnota sa porovná s heslom uloženým v systéme

(4) Ak sa spomenuté hodnoty zhodujú, užívateľ môže vstúpiť do systému

• Pôvodný algoritmus je výpočtovo nenáročný ...• Súbor s heslom mohol obsahovať navyše všetky potrebné údaje

o užívateľovi• S nástupom rýchlejších počítačov vyvstala nutnosť prehodnotiť

spôsob uchovávania hesiel

Page 9: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Vylepšenie filozofie hesiel I. – Tieňové heslá• Zašifrované heslo sa zo súboru s heslami odstráni a umiestni sa do

samostatného súboru s názvom shadowshadow• Bežný súbor s heslom je naďalej čitateľný pre všetkých užívateľov• Skutočné zaširované podoby hesiel sú čitateľné len pre správcu• Výzva k prihláseniu sa spúšťa s právami superužívateľa

Prečo teda rovno nie je súbor s heslom čitateľný iba pre superužívateľa

???

Page 10: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Vylepšenie filozofie hesiel II.

Zdokonalenie šifrovacieho algoritmu

• Šifrovací algoritmus MD5 prevzatý z operačného systému FreeBSD

• Zvýšenie komplikovanosti rozlúštenia hesla

• Ukážka šifrovania algoritmom MD5 prístupná na

w3.intrak.tuke.sk/~slodicak/code.php

Page 11: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Databáza užívateľov

• OS Windows 2000 ponúka jako systém správy užívateľov nástroj Active directory, ktorý má na starosti tie najpodrobnejšie detaily databázy užívateľov.

• Nevýhoda: Active Directory mierne komplikuje vývoj našich vlastných administrátorských nástrojov, pretože čítanie alebo manipulácia s informáciami o užívateľoch sa uskutočňujú prostredníctvom série volaní LDAP.

–––––––––––––––––––––––––––––––––––––––––––––––• OS Linux idúc po stopách tradičného UNIXu má všetky

informácie o užívateľoch uložené v bežných textových súboroch.

• Výhoda spočíva v tom, že môžeme v informáciách o užívateľoch kedykoľvek prevádzať zmeny bez nutnosti použiť nejaký špeciálny nástroj – stačí textový editor

Page 12: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Súbor /etc/passwd

• Informácie o prihlasovaní užívateľa:

- zašifrovaná podoba hesla

- id užívateľa

- implicitný skupinový identifikátor

- skutočné meno užívateľa

- domovský adresár

- prihlasovací príkazový interpreter.• informácie o každom užívateľovi sú umiestnené na samostatnom

riadku a každá položka informácie je oddelená dvojbodkou• Príklad:

tanja:b20c3691f712164ee6de7174a8681db1:100:102:Tanja Sandusky:/home/tanja:/bin/bash

Page 13: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Podrobnosti o UID

• Užívateľské ID musí byť jedinečné pre každého užívateľa

• UID s hodnotou 0 má užívateľ, ktorý má administrátorský prístup do systému, a tým aj plnú kontrolu nad systémom.

• Užívateľské meno môže mať podobu akéhokoľvek textového reťazca.

• Užívateľské meno sa každopádne musí vojsť na 1 riadok

Page 14: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Súbor /etc/shadow – I.• S nárastom počtu útokov hackerov sa objavila nevyhnutnosť vyňať heslá zo

súboru /etc/passwd a uložiť ich do samostatného súboru

• Heslá sú uložené v súbore /etc/shadow/etc/shadow, ktorý dokážu prečítať iba programy s právami administrátora

• Každý riadok v tomto súbore obsahuje:

● prihlasovacie meno

● zašifrované heslo

● dni, počítané od 1.1.1970 do doby, kedy bolo heslo zmenené

● počet dní zostávajúcich do doby, kedy bude možné zmeniť heslo

● počet dní, po uplynutí ktorých sa musí heslo zmeniť

● počet dní pred skončením platnosti hesla – o tomto počte je užívateľ informovaný

● počet dní po skončení platnosti hesla a ktoré zostávajú do zablokovania účtu

● dni, počítané od 1.1.1970 do doby, kedy došlo k zablokovaniu účtu

● rezervovaná oblasť

Page 15: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Súbor /etc/shadow – II.

• Záznam o každom užívateľovi je na samostatnom riadku a jednotlivé položky sú oddelené dvojbodkou

• Príklad:vili:b20c3691f712164ee6de7174a8681db1:10750:0:99999:7:-1:-1:134529868

• Zápisy s hodnotou -1 znamenajú “bez obmedzenia”

Page 16: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Súbor /etc/group – I.• Súbor /etc/passwd obsahuje okrem iného implicitný identifikátor

skupiny (GID) každého užívateľa. • Tento identifikátor skupiny sa priraďuje k názvu skupiny a ostatným

členom skupiny v súbore /etc/group.• Každý riadok súboru /etc/group má nasledujúcu štruktúru:

● názov skupiny

● zašifrované heslo pre skupinu

● číslo identifikátora skupiny (GID)

● zoznam užívateľov, ktorí su členmi skupiny, jednotlivé položky sú oddelené čiarkou.• Každá položka v riadku je oddelená dvojbodkou• Príklad:

windows:x:1002:ftp,vili

Page 17: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Súbor /etc/group – II.

• súbor skupiny musí byť bežne čitateľný, aby mohli rôzne aplikácie testovať asociácie medzi užívateľmi a skupinami

• názvy skupín by nemali presiahnuť dĺžku 8 znakov a identifikátor skupiny by mal byť pre každú skupinu jedinečný

• ak potrebujeme skupinu, do ktorej by sa jednotliví užívatelia nemohli sami priradiť, použijeme miesto hesla symbol hviezdičky.

Napríklad:projetc:*:102:vili

Page 18: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Nástroje pre správu užívateľov a skupín

Nástroje pre manipuláciu s užívateľmi

● pridanie užívateľa – useradd● odstránenie užívateľa – userdel● úprava údajov užívateľa – usermod

Nástroje pre manipuláciu so skupinami

● pridanie novej skupiny – groupadd● odstránenie skupiny – groupdel● modifikácia parametrov skupiny – groupmod

Page 19: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Linux

Programy SetUID a SetGID• Bit SetUID programom umožňuje spúšťanie s právami vlastníka

programu, a nie s právami užívateľa, ktorý tento program spustil

• Tzv. bit SetGID funguje rovnako, používa sa však pre nastavenie skupín pre program

• Ak cheme aktivovať bit SetUID alebo SetGID, musíme použiť príkaz chmodchmod: Ak chceme nastaviť SetUID, napíšeme na začiatok všetkých hodnôt práv, ktoré tomuto programu chceme priradiť, hodnotu 4. Ak chceme programu nastaviť SetGID, napíšeme na začiatok všetkých hodnôt práv hodnotu 2.Ak teda napr. Chceme z programu /bin/ls urobiť program SetUID (čo teda nie je dobrý nápad), použijeme príkaz

[root@machine /root]# chmod 4755 /bin/ls.

Page 20: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Problematika hesiel

• Systém Windows si heslo, ktoré zadá užívateľ pri vstupe nepamätá

• Systém si namiesto pôvodného hesla pamätá jeho tzv. hash

• Systém Windows NT si pamätá hash každého hesla

• Pri prihlasovaní zadáme heslo, z neho sa určí hash a ten sa porovná s uloženým. Ak súhlasí, heslo je správne a autentifikácia úspešná.

• Heslá sú uložené v súbore SAM

Page 21: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Ochrana súboru SAM?

S príchodom Service Packu 3 pribudla vo Windows NT 4.0 možnosť zaktivovať prídavné šifrovanie. To znamená, že súbor SAM nebude obsahovať platné hash, ale zašifrované. Kľúč pritom môže byť:

(a) uložený niekde v systéme na disku - navonok nevidno žiadnu zmenu;

(b) zadáva sa vo forme hesla pri štarte Windows, ešte pred prihlasovaním;

(c) uloží sa na disketu, ktorú je nutné pri štarte Windows vložiť.

Page 22: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Ako to aktivovať?• Vo Windows 2000 a XP je

prídavné šifrovanie implicitne zapnuté, pričom sa používa variant (a).

• Zaktivovanie vo Windows NT (ako aj zmena v 2000 a XP) sa vykoná programom syskey.exe, ktorý je súčasťou operačného systému.

• Po zapnutí prídavného šifrovania už nie je možné ho vypnúť, je však možné zmeniť výber jedného zo spomínaných variantov (tlačítkom Update).

Page 23: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Je teraz SAM v bezpečí?

• Súbor SAM je už síce chránený, no k hashom sa dá dostať aj inými spôsobmi.

• Administrátor má oprávnenie získať hash ktoréhokoľvek užívateľa - keďže kľúč pre prídavné šifrovanie je už vložený (pri štarte Windows), má prístup k skutočným hashom, nešifrovaným.

• Administrátor môže teda testovať silu hesiel užívateľov a tým, ktorí nespĺňajú bezpečnostné požiadavky, môže predpísať zmenu...

• Doteraz bola zistené nejedna bezpečnostná chyba operačného systému, ktorá umožnila získať najvyššie oprávnenie hociktorému užívateľovi - a ten mal potom prístup aj ku hash...

Page 24: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Ako sťažiť lúštenie hesla?

• Súbor SAM obsahuje pre každé konto dva rôzne (hash) z hesla:

• Hash LM nie je citlivý na veľkosť písmen, teda nerozoznáva malé a veľké písmená v hesle. Okrem toho je heslo rozdelené na skupiny po 7 znakov - to znamená, že ak má heslo 12 znakov, bude k dispozícii hash z prvých 7 a hash z posledných 5 znakov.

• Hash NTLM rozlišuje veľkosť písmen v hesle a heslo nerozdeľuje na 7-znakové skupiny.

Page 25: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Uveďme si príklad, ktorý názorne ukáže praktické rozdiely týchto dvoch typov hash v odolnosti proti útoku.

• Majme teda veľmi silné 12-znakové heslo, ktoré obsahuje malé i veľké písmená (26 + 26), číslice (10) a nejaké základné symboly (33).

• LM hash: Ak chceme heslo hádať, musíme brať do úvahy všetky 7-prvkové (na vyriešenie prvej časti hesla) kombinácie z množiny 26 + 10 + 33 = 69 znakov (nerozlišujú sa malé a veľké písmená). To značí 697 možností, teda približne 7 * 1012 - čo by dnešné najrýchlejšie počítače uhádli do 2 týždňov. Nezabúdajme, že je možné použiť i distribuovaný útok a čas hádania skrátiť i na hodiny... Chýba nám ešte posledných 5 znakov, no tie sa uhádnu za zanedbateľne krátku dobu v porovnaní s prvými 7 znakmi.

• NTLM hash: V tomto prípade uvedené heslo predstavuje 12-prvkovú kombináciu z množiny 26 + 26 + 10 + 33 = 95 znakov. To je 9512 = 5 * 1023 možností, teda asi 1011-krát viac, ako v prípade LM hash (teda dnešný počítač by to hádal rádovo 109 rokov, čo je dosť veľká rezerva, aj pri použití distribuovaného útoku).

Page 26: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Ako zakázať LM hash

• Takúto možnosť priniesol až Service Pack 2 pre Windows 2000.• Je potrebné túto možnosť zaktivovať v registroch. Konkrétne sa jedná o

kľúč:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]

V ňom sa vytvorí nový kľúč s názvom NoLMHash a hodnotou 1.

• Vo Windows XP sa LM hash zakáže v správcovských nástrojoch cez politiku miestneho zabezpečenia (Local Security Policy), treba sa dostať do Security Settings\Local Policies\Security Options a tam nájsť a povoliť možnosť Network security: Do not store LAN Manager hash value on next password change. Kľúče je možné aj priamo importovať.

• To, že sme zakázali LM hash ešte neznamená, že sa odstránil zo súboru SAM. Je treba ešte reštart (pre istotu :-) a vykonať zmenu hesla (môže byť aj na pôvodné) pre všetky požadované kontá.

Page 27: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Prístup do systému Windows 2000

Pristupovať do systému Windows 2000 môžeme dvojako:

• na konto lokálne: kontá vytvorené na lokálnom stroji určené pre lokálnych užívateľov. Všetky informácie týkajúce sa konta, profilu i autorizácie sú uchovávané lokálne

• na konto vzdialené: kontá vytvorené na servri, prístupné cez sieť. V takom prípade sú všetky informácie o konte uložené na servri a v okamihu logovania sa užívateľa do systému sú preposielané cez sieť na cieľovú stanicu.

Page 28: Bez pečnosť OS Unix a OS Windows

Bezpečnosť v OS Windows

Kontá• názvy kont nemôžu prekročiť

veľkosť 20 znakov• lokálne kontá uchovávajú

lokálne tzv. SID kľúče (interný identifikátor konta)

• doménové kontá sú prístupné v celej sieti dôveryhodných domén, čiže v určitej LAN

• implicitné kontá: existujú kontá prístupné hneď po prvotnej inštalácii systému, ktoré sú k práci nevyhnutné, napríklad Administrator, Guest ... Môžme ich podľa potreby modifikovať.

Skupiny• Windows 2000 má niekoľko

skupín implicitných:• Administrators – najvyššie

priority• Backup Operators – právo

čítať a zapisovať• Guests – najnižšie právomovi• Users – privilegiá a práva

podľa situácie• Power Users – niektoré

predvolené privilégiá

Page 29: Bez pečnosť OS Unix a OS Windows

Súborové systémy

• Súborové systémy OS Windows

• Súborové systémy OS Linux

• Kryptografické súborové systémy

Page 30: Bez pečnosť OS Unix a OS Windows

Súborové systémy – OS Windows

FAT16

Starší súborový systém, navrhnutý pre domáce použitie.Hlavné nevýhody:- chýbajúca možnosť kontrol prístupu- veľká náchylnosť na fragmentáciu- vysoká chybovosť (v štruktúrach adresárov i súborov)

FAT32

Súborový systém, vyvtorený s príchodom väčších diskov, ktoré saobjavili v druhej polovici 90. rokov. Oproti FAT16 má upravenýchniekoľko nedostatkov. Avšak ostalo mu:- náchylnosť na fragmentáciu a výskyt chýb- nemožnosť kontroly prístupu

Page 31: Bez pečnosť OS Unix a OS Windows

Súborové systémy – OS Windows

NTFSSúborový systém utvorený pre potreby Windows NT. Oproti systémom FAT16a FAT32 je upravených niekoľko nedostatkov. NTFS však so sebou prinášatieto prvky:- Kompresia (Lempel-Ziv, rovnaká ako GIF, veľmi efektívna pri kompresii textu – až

90%)- Šifrovanie adresárov i súborov- Quota, čiže ohraničenie miesta na disku pre danú skupinu alebo užívateľa- Integrácia so službami Active Directory

Ďalšie vlastnosti:Bezpečnosť partície NTFS vyplýva z definovania lokálnych práv prístupu ksúborom a katalógom. Prístupové práva fungujú bez rozdielu, či pristupujeme ksúborom a katalógom lokálne alebo diaľkovo (cez sieť). Každý súbor i katalógmá vlastný ACL (Access Control List), ktorý definuje, či užívateľ resp. Skupinaužívateľov má kdanému objektu prístup a na akej úrovni. Nemusímenastavovať práva každému súboru v adresári samostatne. ACL adresáranadradeného sa prenáša na podadresáre i súbory,ktoré sa vyskytujú v danomadresári.

Page 32: Bez pečnosť OS Unix a OS Windows

Súborové systémy – OS Windows

Poznámka k ACL:

• V operačnom systéme Sun Solaris, ktorého základ tvorí operačný systém UNIX, boli ACL implementované ako jeden z hlavných pilierov prístupu.

• Adresár má kontrolu prístupu aktívnu, ak sú oprávnenia ukončené znakom +.

# ls -ld tools -rwxr-xr-x+ 29 myers nogroup 8192 Feb 21 16:51 tool

• Príkaz getfacl vypíše hlásenie o všetkých kontrolách prístupu k danému súboru.

• Myšlienka ACL v Sun Solaris-e je však odlišná od ACL v MS Windows

Page 33: Bez pečnosť OS Unix a OS Windows

Súborové systémy – OS UNIX, Linux

Súborové systémy v OS UNIX a Linux

• Súborový systém (fs) predstavuje formát, akým sú na disku usporiadané súbory a adresáre.

• Žurnálový súborový systém sa od klasického fs líši prítomnosťou špeciálnej datovéj štruktúry (žurnálu), kam zapisuje, aké operácie prevádza so súbormi.

• Pokiaľ dôjde k výpadku napájenia, môže sa stať, že dáta na disku sú v nekonzistentnom stave (v okamihu výpadku bola časť dát v pamäti) a je nutné ich opraviť, čo u bežného súborového systému môže znamenať časovo veľmi náročnú operáciu, pretože je nutné prejsť celú dátovú oblasť a skontrolovať ju programom fsck na prípadné chyby. Aj tak je takáto oprava niekedy stávkou do lotérie a môže dôjsť k poškodeniu dát.

• Žurnálový fs naproti tomu zaisťuje, že dáta sú na disku uložené v "permanentne konzistentnom stave", resp. všetky nezrovnalosti je možné rekonštruovať počas niekoľkých sekúnd z práve za týmto účelom vedeného žurnálu.

Page 34: Bez pečnosť OS Unix a OS Windows

Súborové systémy – OS UNIX, Linux

Ext2 alebo Ext3 ?

• Ext3 je založený na Ext2, ktorý je už dlhú dobu stabilným bodom v Linuxe a so svojím predchodcom je taktiež obojsmerne kompatibilný.

• Pokiaľ by sme chceli vymeniť Ext2 za ReiserFS, neostáva nič iné, ako zálohovať všetky dáta, znovu vytvoriť fs a obnoviť zálohu.

• V prípade Ext3 nám však stačí mať príslušnú verziu balíka e2fstools, a môžme takmer za behu systému vytvárať a rušiť žurnál, napríklad takto:

tune2fs -j /dev/hda1 # vytvorí žurnál na zväzku hda1tune2fs -O ^has_journal /dev/hda1 # zruší žurnál na zväzku hda1

Page 35: Bez pečnosť OS Unix a OS Windows

Súborové systémy – OS UNIX, Linux

Ext3

Tri úrovne, ktoré sa špecifikujú pri pripájaní fs:• data=journal – do žurnálu sa zapisujú ako operácie s metadátami

(súborové entity), tak i vlastnými dátami. Po nekorektnom vypnutí je možné súborový systém v plnom rozsahu rekonštruovať. Tento režim predstavuje maximálnu ochranu pred poškodením dát.

• data=ordered – do žurnálu sa síce zapisujú iba transakcie s metadátami, ale operácie s dátami sú uložené ešte pred zápisom metadát. Vďaka tomu sú metadáta v každom okamihu konzistentné. Ak sa nerozhodnete inak, je táto voľba predvolená.

• data=writeback – žurnálujú sa iba metadáta. Operácie zápisu prebiehajú v optimálnom poradí s ohľadom na výkon. Po nekorektnom vypnutí bude súborový systém v poriadku, avšak medzi dátami môže dôjsť k chybám. Tento režim je čo do bezpečnosti ekvivalentný systému ext2 pri zachovaní rýchleho priebehu porgramu fsck.

mount /dev/hda1 /mnt/space -t ext3 -o data=journal

Page 36: Bez pečnosť OS Unix a OS Windows

Súborové systémy – OS UNIX, Linux

Výkon?

Hoci žurnálový fs predstavuje pre počítač vyššiu záťaž, jeho autori vyhlasujú, že ich Ext3 fs je dokonca rýchlejší ako ext2. Má to byť docielené tým, že zápisy sú prevádzané inteligentne a so snahou minimalizovať zbytočné presuny hlavy disku.

Page 37: Bez pečnosť OS Unix a OS Windows

Súborové systémy – OS UNIX, Linux

A čo xfs?

xfs, žurnálový fs, navrhnutý firmou SGI, používaný pôvodne v operačnom systéme SGI Irix. V súčasnosti je dostupný pod licenciou GPL aj v Linuxe. Vyznačuje sa mimoriadnou škálovateľnosťou, využíva extenzívne B-stromy pri práci s veľkými súbormi “roztrúsenými” po disku a s extrémne veľkými adresármi.

Page 38: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Typy kryptosystémov

Implementácie kryptosystémov sa orientujú na rôzne ciele počnúc kryptovaním celého súborového systému, cez kryptovanie adresárov a súborov v nich až po kryptovanie jednotlivých súborov. Každý z týchto prístupov má svoje výhody i nevýhody.

Page 39: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Kryptovanie na úrovni súborového systému

Tieto systémy kryptujú (a dekryptujú) na úrovni drivera pre konkrétny typ súborového systému. Typickými implementáciami su PGPdisk, Secure File System (SFS), Linux CryptoAPI, ScramDisk. Tieto kryptovače kryptujú obsah celého súborového systému a ich hlavnou výhodou je, že sú transparentné pre koncového užívateľa - všetko je buď kryuptované, alebo nie. Na druhej strane neposkytujú dostatočnú granularitu pre kryptovanie individuálnych súborov a adresárov.

Page 40: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Kryptovanie na úrovni súborov

• Kryptovače tohto druhu pracujú na aplikačnej alebo prezentačnej vrstve a umožňujú skutočné kryptovanie medzi dvoma koncovými bodmi (medzi dvoma aplikáciami).

• Obyčajne potrebujú, aby samotná aplikácia dopredu vedela, že sa bude pristupovať ku kryptovaným dátam a teda aplikácie, ktoré nie sú na kryptovanie dát pripravené, nebudú vedieť s dátami pracovať.

• Príkladom je PGP: ak máme kryptovaný súbor, musíme mať v editore PGP plugin, alebo musíte dáta rozkrypovať mimo aplikácie.

Implementácie tohto typu sú vhodné v prostredí, kde je počet kryptovaných súborv malý a človek rozhoduje o použití kryptovania. Tieto systémy sa však vôbec nehodia na masové nasadenie pre kryptovanie množstva adresárov a súborov.

Page 41: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Kryptovanie na úrovni adresárov

• Tieto systému umožňujú kryptovanie na úrovni adresátov a súborov v nich, pričom na kryptovanie používajú kľúč.

• Medzi známe implementácie patrí Cryptographic File System (CFS) navrhnutý Mattom Blazeom, Transparent Cryptographic File System (TCFS), ktorý je implementovaný na Linuxe a BSD, ďalej CryptFS ako aj EFS pod Windows 2000.

Page 42: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Návrh kryptosystému – CryptFS

Ide o kryptosystém, ktorý kryptuje celý súborový systém. Využíva modulárnu štruktúru, ktorú si UNIXové deriváty osvojili v poslednom čase.

Linux, Solaris a iné používajú dátovú štruktúru vnode (virtual inode), ktorá reprezentuje objekt z ľubovoľného (virtuálneho) súborového systému. Užívateľský proces, ktorý číta zo súboru, pristupuje skrze jadro najskôr k vnodu a až potom pristupuje k inodu pre konkrétny filesystém. Implementácia vnodov je "štósovateľná", takže podobne ako kempingové stoličky sa dajú na seba vkladať jednotlivé volania a moduly. CryptFS vkladá svoje volanie tak, ako je to naznačené na nasledujúcom obrázku.

Page 43: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Princíp práce CryptFS

• Akekoľvek dáta ktoré sú zapisované resp. čítané, prechádzajú v jadre cez vloženú kryptovaciu úroveň a sú kryptované resp. dekryptované, takže na disku je vždy kryptovaná reprezentácia dát.

• Implementácia vyžaduje istú mieru manažmentu, takže existujú nástroje na primontovanie a odmontovanie CryptoFS, čo môže urobiť len root.

• Každý používateľ tohoto CryptFS má možnosť manažovať svoje kľúče.

• Kryptovanie a dekryptovanie je viazané nielen na UID užívateľa ale aj na GID procesu, takže nikto nemá možnosť užívateľské dáta čítať, lebo nemá možnosť vytvoriť proces s už existujúcim GID.

• CryptFS používa algoritmus blowfish v CBC móde a je dostupný pod GPL licenciou.

Page 44: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Linux CryptoAPI

• Linux CryptoAPI nie je úplne presne kryptovanie súborového systému. Poskytuje len možnosť súborový systém kryptovať.

• Toto API bolo pôvodne obsiahnuté v kernelint patchi, ktorý bol určený pre jadrá série 2.2. V sérii 2.4 sa toto API prirodzene vyvynulo do univerzálneho kryptoAPI pre kernel-land funkcie.

• Princíp je naznačený na nasledujúcich obrázkoch a v podstate ido o vloženie ďalšieho drivera medzi dáta a užívateľa pričom tento vložený driver volá cryptoAPI.

Page 45: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Princíp práce CryptoAPI – I.

Page 46: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

Princíp práce CryptoAPI – II.

Page 47: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

EFS pod Windows 2000 – I.

• EFS je implementované pomocou PKI schémy. Samotné dáta sú kryptované rýchlym symetrickým algoritmom, ktorý je náhodne generovaný. Tento kľúč sa volá file encryption key a po zakryptovaní samotných dát v súbore je následne zakryptovaný verejným PKI kľúčom užívateľa, ktorý sa získa z X.509v3 certifikátu užívateľa. Privatna časť uživateľského PKI kľúča sa použije na rozkryptovanie file encryption key ak chce užívateľ neskôr pristúpiť k dátam.

• Implementácie EFS podporuje symetrické algoritmy chránené heslom, pretože takéto schémy sú slabé kôli slabým heslám, ktoré si užívatelia volia. EFS navyše kryptuje file encryption key ďalším PKI verejným kľúčom, napríklad kľúčom administrátora, takže neskôr v prípade poreby môže administrátor použiť svoj tajný PKI kľúč a rozkryptovať file encryption key a pomocou neho následne kozkryptovať samotný súbor (ak napríklad užívateľ stratil svoj tajný kľúč). Zakryptovanie a rozkryptovanie sú naznačené na nasledovných schémach:

Page 48: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

EFS II. - zakryptovanie

Page 49: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

EFS III. - odkryptovanie

Page 50: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

EFS IV.

• EFS je navrhnutý tak, aby bol pre užívateľa transparentný• Implementácia EFS je naznačená na nasledovnej schéme a pozostáva zo štyroch

častí:- EFS driver- filesystem runtime knižnica- EFS služba- rôzne API.

• EFS driver je umiestnený nad NTFS driverom a komunikuje s EFS službou na generovanie file encryption keys prípadne iných kryptooperácií. Driver potom posunie dáta do runtime knižnice aby sa vykonali rôzne operácie nad súborovým sytémom. Komunikácia však nie je priama, ale používa sa NTFS call control mechanizmus. EFS služba je súčasť security subsystému a používa kanál medzi LSA (Local Security Authority) a kernelovým security monitorom na komunikáciu s EFS driverom. EFS služba komunikuje s CryptoAPI (nemýliť si s linuxovým CryptoAPI) v user-lande a zabezpečuje manažment okolo kľúčov a iné služby. Tiež poskytuje interface pre Win32 API teda programátorksý intrerface pre dekryptovanie a enkryptovanie a obnovu súborov, ako aj import a export súbrov. NasledovNá schéma znázorňuje implementáciu EFS.

Page 51: Bez pečnosť OS Unix a OS Windows

Kryptografické súborové systémy

EFS V.

EFS v súčasnosti podporuje DESx kryptovací algoritmus, ktorý je založený na 128 bitovým kryptovacom kľúči a v budúcnosti sa plánuje podpora viacerých kryptovacích algoritmov.

Page 52: Bez pečnosť OS Unix a OS Windows

Social engineering

Bežné metódy „sociálneho inžinierstva“

• falošné oprávnenie• vydávanie sa za niekoho iného• súcit• osobný záujem (Fenomén výplaty)• lichotenie (Osobná prehliadka)• dôveryhodné zamestnanie• odmena (súťaž hesiel)

Page 53: Bez pečnosť OS Unix a OS Windows

Social engineering

Ochrana pred soc. inžinierstvom:

• Buďte paranoidní

• Na všetko sa pýtajte

• Overte si zdroj

• Povedze NIE

• Vychovávajte užívateľov

Page 54: Bez pečnosť OS Unix a OS Windows

Trójske kone

Trójske kone počítačového veku sú programy, ktorými sa majú obísť ochrany systému, pričom však navonok vystupujú ako neškodné programy. Rovnako ako grécke dielo, ani tieto programy nič neurobia samostatne – spoliehajú sa na užívateľa, že naplní zámery útočníka.

Poznáme: • klasické trójske kone• trojanizované zdrojové kódy• trojanizované programy

Page 55: Bez pečnosť OS Unix a OS Windows

Trójske kone

Ochrana pred trójskymi koňmi

• Nikdy nespúštajte programy, ktoré nepochádzajú z dôveryhodného zdroja

• Predtým, ako to spustíte, zistite si, čo to robí

• Testujte na virtuálnom stroji

• Nikdy nič neznáme nespúštajte ako root

• Pokiaľ máte pochybnosti, zahoďte to :-)

Page 56: Bez pečnosť OS Unix a OS Windows

Hrozby súvisiace s bootovaním systému

Možnosť nabootovať znamená byť root!

• Duálne bootovanie predstavuje vysoké nebezpečenstvo

• Ochrana pred nabootovaním nespočíva ani v hesle na najnižšej úrovni – BIOS

• Dobrou voľbou je uzamknutie počítača

Page 57: Bez pečnosť OS Unix a OS Windows

Hrozby súvisiace s bootovaním systému

Zavádzače OS• Možnosť nabootovať do jednoužívateľského

režimu (Ochrana – sulogin)• Zavádzanie alternatívnych jadier (Ochrana

heslom)• Nabootovanie do príkazového interpretera

(Nastavenie obmedzujúcich konfigurácii, ochrana heslom)

• Prečítanie hesiel z lilo.conf (Ochrana súboru chown root:root, chmod 600)

• Zneužitie príkazového riadku v GRUBe (Zabezpečenie heslom)

Page 58: Bez pečnosť OS Unix a OS Windows

Získanie hesiel

Metódy získania a odhalenia hesla

Programy lúštiace heslo:

- s priamym prihlasovaním – ľahko odhaliteľné- hľadanie hesla – nevyhnutné mať kópiu

/etc/passwd a /etc/shadow

–––––––––––––––––––––––––––––––––––-––––-

Známe programy: Crack, Join the Ripper

Page 59: Bez pečnosť OS Unix a OS Windows

Ako spoznáme, že sa niekto neznámy dostal do nášho systému?

• Zmena web stránok• Warez, úbytok diskového priestoru• Zvýšená sieťová aktivita• Správy od iných správcov• Sieťové rozhranie v promiskuitnom režime• Skrátene/zmazané logy• Noví užívatelia systému• Podozrivé procesy• Nečakaná záťaž procesora• NIEČO JE ZVLÁŠTNE

Page 60: Bez pečnosť OS Unix a OS Windows

Aj Windows má Achillove päty

NetBIOS – Achillova päta systému Windows

• Služba NetBIOS, ktorá je prístupná na porte 139, umožňuje pripojenie aj anonymného užívateľa pomocou tzv. prázdnej relácie

net use \\<IP_ADRESA>\IPC$ ** /u:**

• Pokiaľ je spojenie úspešné, útočník má k dispozícii komukikačný kanál, vďaka ktorému má prístup k mnohým užitočným informáciám. Brániť sa je možné nastavením správnej hodnoty v Registroch:

\HKLM\SYSTEM\CurrentControlSet\Control\LSA

Kľúč RestrictAnonymous nastaviť na hodnotu 1 (resp. 2 vo Windows 2000)

Page 61: Bez pečnosť OS Unix a OS Windows

Pramene

Internetové odkazy:

[1] http://www.biostat.wisc.edu/bcg/sup/unixsup/acls.html[2] http://www.microsoft.com/windows2000/server/evaluation/features/security.asp[3] http://homel.vsb.cz/~ves064/Des_1024x768.html[4] http://www.root.cz/clanek/930[5] http://programovanie.pc.sk/linux/clanok.ltc?ID=389[6] http://programovanie.pc.sk/navody/clanok.ltc?ID=421[7] http://www.pckurier.pl[8] http://aurora.zemris.fer.hr/filesystems/big.html[9] http://linuxresource.com/Kernel/File_Systems/index.php[10] http://oss.sgi.com/projects/xfs/

Literatúra:[1] Welsh, M., Kaufman, L. - Používáme Linux, ComputerPress, Brno, 1997[2] Shah, S. - Administrace systému Linux, Grada Publishing, Praha, 2002[3] Hatch, B., Lee, J., Kurtz, G. - Hacking bez tajemmství – Linux, ComputerPress, Brno, 2003