Embed
Email

Bezpe_nos_ OS Unix a OS Windows

Document Sample

Shared by: Lingjuan Ma
Categories
Tags
Stats
views:
0
posted:
1/10/2012
language:
pages:
61
Bezpeč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





• 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.

Bezpečnosť v OS Linux

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



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



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



• Systémoví uţívatelia – skupina tzv. „prednastavených“

pouţívateľov.

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_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.

Bezpečnosť v OS Linux



• Najčastejšie umiestnenie domovských adresárov beţných

uţívateľov je v /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.

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.

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

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 shadow

• 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

???

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

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 

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

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

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, 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ť

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”

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

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

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

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 chmod:

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.

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

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ť.

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).

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...

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.

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).

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á.

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.

Bezpečnosť v OS Windows



Kontá Skupiny

• názvy kont nemôţu prekročiť • Windows 2000 má niekoľko

veľkosť 20 znakov skupín implicitných:

• lokálne kontá uchovávajú • Administrators – najvyššie

lokálne tzv. SID kľúče (interný priority

identifikátor konta) • Backup Operators – právo

• doménové kontá sú prístupné čítať a zapisovať

v celej sieti dôveryhodných • Guests – najniţšie právomovi

domén, čiţe v určitej LAN • Users – privilegiá a práva

• implicitné kontá: existujú kontá podľa situácie

prístupné hneď po prvotnej • Power Users – niektoré

inštalácii systému, ktoré sú k predvolené privilégiá

práci nevyhnutné, napríklad

Administrator, Guest ... Môţme

ich podľa potreby modifikovať.

Súborové systémy







• Súborové systémy OS Windows



• Súborové systémy OS Linux



• Kryptografické súborové systémy

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é sa

objavili v druhej polovici 90. rokov. Oproti FAT16 má upravených

niekoľko nedostatkov. Avšak ostalo mu:

- náchylnosť na fragmentáciu a výskyt chýb

- nemoţnosť kontroly prístupu

Súborové systémy – OS Windows

NTFS

Súborový systém utvorený pre potreby Windows NT. Oproti systémom FAT16

a FAT32 je upravených niekoľko nedostatkov. NTFS však so sebou prináša

tieto 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 k

súborom a katalógom. Prístupové práva fungujú bez rozdielu, či pristupujeme k

súborom a katalógom lokálne alebo diaľkovo (cez sieť). Kaţdý súbor i katalóg

má vlastný ACL (Access Control List), ktorý definuje, či uţívateľ resp. Skupina

uţívateľov má kdanému objektu prístup a na akej úrovni. Nemusíme

nastavovať práva kaţdému súboru v adresári samostatne. ACL adresára

nadradeného sa prenáša na podadresáre i súbory,ktoré sa vyskytujú v danom

adresári.

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

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.

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 hda1

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

Kryptografické súborové systémy



Princíp práce CryptoAPI – I.

Kryptografické súborové systémy



Princíp práce CryptoAPI – II.

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:

Kryptografické súborové systémy







EFS II. - zakryptovanie

Kryptografické súborové systémy







EFS III. - odkryptovanie

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.

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.

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)

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

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

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 :-)

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

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)

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

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

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 \\\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)

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



Related docs
Other docs by Lingjuan Ma
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!