Bezpeˇcnost v OS

Transkript

Bezpeˇcnost v OS
Bezpečnost v OS
Tomáš Vojnar
[email protected]
Vysoké učenı́ technické v Brně
Fakulta informačnı́ch technologiı́
Božetěchova 2, 612 66 BRNO
2. května 2011
Operačnı́ systémy
Bezpečnost (Security)
– Informačnı́/výpočetnı́ systém zahrnuje:
• hardware (počı́tače, aktivnı́ a pasivnı́ sı́t’ové prvky, ...),
• software (OS a aplikace),
• data,
• lidi (uživatelé, správci, ...).
– Jiný pohled na IS:
• objekty (pasivnı́ entity: data, služby, ...) a
• subjekty (aktivnı́ entity: procesy, uživatelé, ...).
Operačnı́ systémy
Bezpečnost 1
– IS je zapotřebı́ chránit před:
• zásahy ”vyššı́ moci”(přı́rodnı́ katastrofa, požár, ...),
• chybami lidı́, SW či HW a
• cı́lenými útoky ze strany lidı́.
– Zabezpečenı́ před cı́lenými útoky je obtı́žnějšı́.
– Zajištěnı́ bezpečnosti nenı́ stav, ale nikdy nekončı́cı́ proces!
Operačnı́ systémy
Bezpečnost 2
– Zajištěnı́ bezpečnosti (ochrana) zahrnuje:
• zajištěnı́ důvěrnosti, tj. ochranu proti zpřı́stupněnı́ dat nepovolaným osobám,
• zajištěnı́ integrity, tj. ochranu před nepovolenou změnou dat/kódu,
• zajištěnı́ dostupnosti, tj. systém nemůže odepřı́t přı́stup povolaným osobám,
• zamezenı́ neautorizovaného využitı́ zdrojů, tj. obejitı́ účtovánı́ apod.
– Funkce prosazujı́cı́ bezpečnost: autentizace, autorizace, utajovánı́, účtovánı́ (logovánı́), audit, ...
Operačnı́ systémy
Bezpečnost 3
Autentizace
– Autentizace: ověřovánı́ pravosti identity entity – procesu, uživatele, počı́tače, ... (Kdo je kdo?)
– Autentizace může být založena na:
• vlastnictvı́ klı́če, karty, ...,
• znalosti přihlašovacı́ho jména, hesla, ..., či
• vlastnosti uživatele (otisk prstu, duhovka, sı́tnice, ...).
– Útoky na autentizaci:
• obejitı́ autentizace – vkládánı́ paketů, zadnı́ vrátka, ...
vyhýbá se autentizaci, snaží se vniknout tajně
• překonánı́ autentizace – monitorovánı́, pokus/omyl, odpadky, ...
Operačnı́ systémy
např. útok hrubou silou
Bezpečnost 4
Hesla
– Uloženı́ hesel:
• Ukládajı́ se zakódovaná vhodnou jednosměrnou hashovacı́ funkcı́ f (x) – ochrana i v rámci
systému.
– Unix: funkce
crypt založená na modifikaci DES, přı́p. MD5, SHA, ...
• Výpočet f −1(x) musı́ být velmi obtı́žný.
• Samotné ověřenı́ hesla nesmı́ být přı́liš rychlé (možno vložit zpožděnı́).
• Ani zašifrovaná hesla nemajı́ být volně přı́stupná – zabráněnı́ pokusům o uhádnutı́ hesla:
/etc/passwd ⇒ /etc/shadow.
Operačnı́ systémy
Bezpečnost 5
– Útoky směřujı́cı́ na překonánı́ hesla:
• pokus/omyl hrubou silou,
• uhádnutı́ hesla (jméno uživatele, slova ze slovnı́ku... ⇒ generovaná hesla),
– utilita
crack,
• nalezenı́ poznamenaného hesla,
• zachycenı́ hesla na sı́ti (⇒ užı́vat ssh apod.),
• odpozorovánı́ při vkládánı́, ...
Operačnı́ systémy
Bezpečnost 6
– Je rozumné omezit časovou platnost hesel: ale nepřehnat (podobně jako u délky generovaného
hesla), může vést k poznamenávánı́ si hesel...
– Jednorázová hesla: vypočtená na základě výzvy systému (nebo z aktuálnı́ho času – spoléhá na
dostatečně přesnou synchronizaci času komunikujı́cı́ch stran) pomocı́ bezpečně uloženého klı́če
(v šifrovacı́m kalkulátoru) či převzatá z kódové knihy.
– Vyhýbánı́ se opakovanému zadávánı́ hesla (pokud je řada jednotlivých zdrojů chráněna
nezávisle): autentizačnı́ služby typu Kerberos (specializovaný server vydává na žádost dočasné
přı́stupové klı́če, které předá komunikujı́cı́m stranám chráněné jejich klı́či).
Operačnı́ systémy
Bezpečnost 7
Autorizace
– Autorizace: povolenı́ použitı́ určitých objektů pouze určitým subjektům, a to pouze k určitým
operacı́m. (Kdo může co dělat?)
– Plný zápis možný pomocı́ přı́stupové matice (access matrix):
– Možno kombinovat s přı́stupovými právy pro skupiny uživatelů.
Operačnı́ systémy
Bezpečnost 8
– Implementace přı́stupové matice:
• přı́stupové seznamy (access control lists): ke každému objektu seznam práv subjektů.
Např. ochrana přı́stupu k souborům ve Windows NT, v omezené podobě základnı́ Unixová práva,
v Linuxu a dalšı́ch Unixech existujı́cı́ rozšı́řenı́ tohoto mechanismu na obecné přı́stupové seznamy
– viz setfacl, ...
• seznamy povolených operacı́ (capability lists): se subjekty jsou spojeny seznamy operacı́
povolených nad objekty.
Např. zjemněnı́ rozlišenı́ procesů v Linuxu a dalšich Unixech z privilegovaný/neprivilegovaný
přidělovánı́m povolených operacı́ (může/nemůže provádět změny UID/GID, zamykat stránky
v paměti, vytvářet speciálnı́ soubory, zası́lat broadcast, ... – viz man capabilities)
Operačnı́ systémy
Bezpečnost 9
Některé typy útoků
– Zadnı́ vrátka: nedokumentovaná, zneužitelná funkce programu (zvlášt’ nebezpečné v překladači).
– Trojský kůň: program, který provádı́ navı́c nějakou škodlivou funkci.
– Přetečenı́ vyrovnávacı́ch pamětı́: využitı́ chyby v privilegovaném programu pro dosaženı́
škodlivého efektu (přı́mý škodlivý efekt, předánı́ řı́zenı́ podstrčenému kódu, ...).
– Virus: kód, který infikuje jiné programy a pomoci nich se šı́řı́.
– Červ: program podobný viru, nepotřebuje však hostitelský program, šı́řı́ se sám počı́tačovou sı́tı́.
– Denial of Service: přetı́ženı́ napadeného počı́tače např. záplavou zpráv.
– Vkládánı́ paketů: podvrženı́ paketů do otevřeného spojenı́ na sı́ti.
– Scanovánı́ a využitı́ děr: vzdálené využitı́ děr ve službách typu ftp/21, ssh/22, ...
– Dopisnı́ bomby: zpráva od ”správce”se žádostı́ o provedenı́ nějaké akce.
– ...
Operačnı́ systémy
Bezpečnost 10
Obecné zásady pro ochranu
– Použı́vat aktuálnı́ verze OS (security updates pro Windows, Linux, ...).
www.cert.org, www.securityfocus.com,
www.microsoft.com/security, www.mcafee.com, www.symantec.com, ...
– Sledovat oznámenı́ o chybách:
– Instalovat minimálnı́ sadu systémových služeb, neinstalovat a nespouštět nic nezbytného.
– Monitorovat provoz za účelem odhalenı́ bezpečnostnı́ch slabin či útoků (zátěž sı́tě, skenovánı́
portů, systémové logy, přihlašovánı́ uživatelů, modifikace systémových programů – kontrolnı́ součty,
neočekávané, dlouho běžı́cı́ procesy, použitı́ nevhodných hesel, nepovolené SUID programy,
nepovolené programy v systémových adresářı́ch, nesprávná přı́stupová práva adresářů a souborů,...).
Záznamy analyzovat ručně či automatizovaně ( tripwire, aide, snort, ...).
– Omezit vnějšı́ přı́stup, nepouštět spojenı́ dovnitř sı́tě.
– Provádět filtrovánı́ pošty, u Windows použı́vat pravidelně aktualizované antivirové programy.
– Konzervativnost při práci s podivně vyhlı́žejı́cı́mi“ Internetovými stránkami, emaily, telefonáty
”
vyžadujı́cı́mi zadánı́ citlivých údajů, provedenı́ citlivých operacı́.
Operačnı́ systémy
Bezpečnost 11
Firewall
– Firewall monitoruje, loguje a omezuje sı́t’ové spojenı́ podle nastavených pravidel.
– Firewall nezastavı́ všechny typy útoků: útoky tunelujı́cı́ v povolených protokolech, denial of service,
předstı́ránı́ jiných adres (address spoofing), ...
Operačnı́ systémy
Bezpečnost 12
Kryptografie
Kryptografie je nauka o metodách utajování smyslu zpráv převodem do podoby, která je čitelná jen se speciální znalostí. (wiki)
– Využitı́ při zajištěnı́:
• utajovánı́ informace (ochrana proti neautorizovanému zpřı́stupněnı́),
• integrity informace (ochrana proti neautorizované změně),
• autentizace,
• nepopiratelnosti informace.
– Kryptografický mechanismus je tvořen:
• algoritmy pro šifrovánı́ a dešifrovánı́,
• klı́čem nebo klı́či.
Operačnı́ systémy
Bezpečnost 13
– Symetrická kryptografie – kryptografie se sdı́leným tajným klı́čem (mj. DES šifrujı́cı́ bloky 64b
klı́čem 56b, novějšı́ AES 128b x 128-256b, ...).
Využitı́ pro utajenı́, integritu, autentizaci.
– Asymetrická kryptografie – odlišné klı́če komunikujı́cı́ch stran, např. kryptografie s veřejným a
soukromým klı́čem (např. RSA s klı́čem alespoň 1024b).
Využitı́ pro utajenı́, integritu, autentizaci a nepopiratelnost.
– Asymetrická kryptografie je založena na tom, že zı́skánı́ soukromého klı́če z veřejného (a/nebo
zašifrované zprávy) je výpočetně natolik náročné, že je to prakticky nemožné (rozklad na součin
prvočı́sel).
Operačnı́ systémy
Bezpečnost 14
symetrická kryptografie - využívá jednu funkci k zašifrování o rozluštšní klíče
asmyterická kryptografie - využívá soukromých a veřejných klíčů - Alice zašifruje zprávu pomocí
Bobova veřejného klíče, takovou zprávu lze rozšifrovat pouze Bobovým soukromým klíčem
3. případ - Alice zašifruje zprávu svým soukromým klíčem (obsahuje nezpochybnitelný podpis), lze
ji rozšifrovat jejím veřjeným klíčem, což dokazuje, ža autorem zprávy je právě Alice
Operačnı́ systémy
Bezpečnost 15
Třı́dy bezpečnosti
– TCSEC (Trusted Computer System Evaluation Criteria, ”Orange Book”): staršı́ kritéria americké
vlády:
úrovně zabezpečení:
• D: nezabezpečeno,
• C: volitelné řı́zenı́ přı́stupu (discretionary access control – DAC): vlastnı́k objektu rozhoduje o
přı́stupu ostatnı́ch uživatelů k tomuto objektu. Rozděleno na C1 a C2.
• B: povinné řı́zenı́ přı́stupu (mandatory access control – MAC): o ochraně nerozhoduje vlastnı́k,
ta je stanovena globálně a systém si ji dokáže vynutit. Rozděleno na B1, B2 a B3.
• A: matematický model a důkaz korektnosti.
– ITSEC dřı́vějšı́ evropská kritéria.
– Dnes tzv. Common Criteria ( http://www.commoncriteriaportal.org).
Operačnı́ systémy
Bezpečnost 16
SELinux – Security Enhanced Linux
– Podpora pro SELinux je již zahrnuta do zdrojových kódů jádra 2.6.
– SELinux implementuje MAC s využitı́m:
• Identity-Based Access Control (IBAC) – každý proces je spojen s identitou uživatele odvozenou
od přihlášenı́ (nezávisle na UID, EID), změny jsou striktně kontrolovány a omezeny.
• Role-Based Access Control (RBAC) – uživatelé a jejich procesy maji přiřazenu množinu rolı́,
změny jsou striktně kontrolovány a omezeny.
• Type Enforcement (TE) – role umožňujı́ procesům (subjektům) vstoupit do určitých domén;
v rámci určitých domén je možno manipulovat objekty určité třı́dy (soubor, socket, ...) a určitého
konkrétnı́ho typu pouze určitým způsobem.
– Detailnı́ chovánı́ systému je definováno nakonfigurovanou bezpečnostnı́ politikou s pravidly typu:
# Let sshd bind a TCP socket to the SSH port.
allow sshd_t ssh_port_t:tcp_socket name_bind;
# Let sshd read the host private key file.
allow sshd_t sshd_key_t:file read;
Operačnı́ systémy
Bezpečnost 17
# Let sshd create its PID file.
allow sshd_t var_run_t:dir { search add_name };
allow sshd_t sshd_var_run_t:file { create write };
type_transition sshd_t var_run_t:file sshd_var_run_t;
Operačnı́ systémy
Bezpečnost 18

Podobné dokumenty

Operaˇcní systémy

Operaˇcní systémy ❖ Tyto slajdy jsou určeny pro studenty předmětu IOS na FIT VUT. Obsahují základní popis vývoje, struktury a vlastností operačních systémů se zaměřením na systém UNIX. ❖ Předpokládají se zá...

Více

OM1CI Predný panel a ovládacie prvky

OM1CI Predný panel a ovládacie prvky 1. Stla te tla idlo F a ovláda om SEL nastavte na displeji riadok funkcií [VOX, BK, KYR] 2 Stla te funk nú klávesu A (funkcia VOX) pre aktivovanie VOX systému. Na displeji sa zobrazí symbol ⇐ vprav...

Více

armáda České republiky

armáda České republiky ťovny pro tyto účely využít. Je pak jedno, zda se tři či více procent po­

Více

Bezdrátové síte

Bezdrátové síte EAP-TLS (Microsoft) – v kombinaci s protokolem TLS a mechanismem PKI, certifikáty X.509 (mı́sto jména a hesla), dostupný na většině verzı́ Windows, MacOS X LEAP (Cisco) – dynamické klı́če W...

Více

cettra.cz MOTOROLA GM360 UHF Versatile

cettra.cz MOTOROLA GM360 UHF Versatile Tento signál m??e obsahovat p?edem nahranou zprávu, která umo??uje p?íjemci signálu okam?it? ur?it, v jaké situaci se osoba v tísni nachází. • X-Pand? komprese hlasu a expanze nízkých úrovní K?i??á...

Více

Diskove´ šifrovánı

Diskove´ šifrovánı Diskové šifrovánı́ je technika, při které se šifruje blokové zařı́zenı́1 . Šifrovat lze bud’ diskové oddı́ly nebo celé pevné disky, ale i jiná zařı́zenı́ (flashdisky, pamět’ové kart...

Více

TCP protokol

TCP protokol Tento nástroj umı́ provést základnı́ hijacking útok vloženı́m TCP segmentu do telnet spojenı́. Při simplex hijacking útoku neprovede nejprve desynchronizaci spojenı́, takže výsledný ACK s...

Více