PB001: Uvod do informačních technologií Luděk Matýska Fakulta informatiky Masarykovy univerzity podzim 2015 Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 1/21 Q Ochrana a bezpečnost Q Client-server model Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 2 / 21 Ochrana a bezpečnost en rana a oezpecnos c • Obecná ohrožení: • Přístup (čtení) • Nezanecháva přímo stopy • Zápis (modifikace) • Následné využití útočníkem modifikovaných dat • Zahrnuje i smazání/přepsání • Znepřístupnění služby (denial of service) • Možné útoky • Přihlášení, impersonifikace, .. . o Trojský kůň • Viry Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 3 / 21 Ochrana a bezpečnost 0 ÚtOCÍcI • Sociální inženýrství • Uhodnutí nebo získání hesla • Využívá důvěřivosti a naivity lidí 9 Technologie může pomoci jen do jisté úrovně • Nutnost koordinované shody dvou či více lidí - 7 klíčů k korunovačním klenotům • Kombinace fyzických nástrojů a tajemství (po krádeži karty je třeba ještě získat pin a naopak, samotný pin bez karty není k ničemu) • Využití technických nedostatků • Bezpečnostní díry„zadní vrátka" apod. • Je možné minimalizovat korektními programátorskými praktikami o a pravidelnou aplikací záplat • Automatizované nástroje pro oťukání" systému • Botnety • Sítě již napadených počítačů • Využitelné k dalším útokům Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 4 / 21 Ochrana a bezpečnost I rincipy návrhu bezpečných systému • Zveřejnění šifrovacích a souvisejících algoritmů • Standardní nastavení = žádný přístup • Správce/uživatel musí aktivně rozhodnout, co komu dovolí • Minimální oprávnění • Pravidelné kontroly • „Díry", nadbytečná oprávnění, . . . • Jednoduchý a uniformní mechanismus • Složitost vede k nepochopení a to k chybám • Úrovně oprávnění • Delegace oprávnění na konkrétní akci Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 5 / 21 Ochrana a bezpečnost cnrana souboru • Základní operace: • čtení, zápis (včetně vytvoření), smazání, prodloužení a spuštění souboru • Základní ochrana • Různá pro různé operace • Specifikace, kdo smí co: Ochranné domény: • Skupina, která má stejná práva • Statické versus dynamické • Např.: Já, moji přátelé, ostatní • POSIX (UNIX): user:group:other • Možná i jiná schémata Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 6 / 21 Ochrana a bezpečnost šizeni prístupu l K sou Dorum Access Control List, ACL (seznamy přístupových oprávnění) • ke každému souboru je připojen seznam přístupových oprávnění • sestává se z uspořádaných dvojic ^doména,operace) Zjednodušená varianta (z UNIXových systémů): • pouze tři záznamy: u uživatel, g skupina, o: ostatní • operace: • r: čtení souboru (čtení obsahu adresáře) • w: zápis souboru (včetně vytvoření) • x: spuštění (sestoupení do podadresáře) o Příklad • rw-r----- • Uživatel může číst i zapisovat, skupina smí jen číst, ostatní nesmí nic Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 7 / 21 Ochrana a bezpečnost šizeni prístupu l K SOU Dorum Plné ACL: o libovolný počet záznamů • více práv: smazání, změna oprávnění... • negativní záznamy (explicitní odepření operace) • dynamická dědičnost - propagace změn do podadresářů • např. AFS, Windows od verze 2000, ext4 s ACL Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 8 / 21 Ochrana a bezpečnost šizeni prístupu l K sou Dorum Capability List, CL • Uspořádání podle domén, nikoliv podle souborů • Schopnost (capability) tj. práva přístupu patří procesu a ten je může: • předávat dalším procesům (delegace) • modifikovat (degradovat, nemůže rozšířit práva) • smazat • Proces se při přístupu k souboru prokazuje odpovídající schopností • Možnost transferu schopností mezi procesy: vhodné pro distribuované systémy Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 9 / 21 • Kernel a uživatelský prostor • Oddělení na hw úrovni • Každá stránka někomu patří • Pouze kernel má přístup k hardware • Kontroluje práva přístupu • Obsluhuje zařízení (pro všechny) • Garantuje serializaci přístupu • Uživatelské procesy používají volání kernel u (jádra) • Korektnost kernelu kritická Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 10 / 21 Ochrana a bezpečnost • Příslušnost virtuálních stránek k procesu • Výpadek stránky: nepovolený přístup • Ochrana • Mezi procesem a jádrem • Mezi procesy • Uvnitř procesu Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 11 / 21 Client-server model lent-server mode • Distribuované počítaní • Využití prvků (počítače) propojených počítačovou sítí • Dekompozice úlohy na podúlohy • Paralelní vykonávání podúloh • Na různých systémech propojených sítí • Client-server model • Speciální případ distribuovaného počítání • Více strukturované • Asymetrické: klient posílá požadavek na zpracování serveru • Server pro jednoho klienta může být klientem pro jiný server. Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 12 / 21 Client-server model • Klient a server samostatné procesy • Na stejném nebo různých počítačích • Interní informace je „soukromá" pro každý proces • Klient i server se mohou vzájemně prokázat (autentizace) • Komunikují duplexním protokolem • Komunikace může být šifrovaná Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 13 / 21 Client-server model • Interoperabilita • Klient a server mohou běžet na zcela odlišných systémech • Portabilita • Stačí zajistit u klientů • Integrace • Transparence • Klient vidí jen „svůj" server, nikoliv jeho další komunikaci • Bezpečnost • Autentizace klienta i serveru • Šifrovaná komunikace • Důvěryhodný server Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 14 / 21 Client-server model • telnet, ssh • X Window systém na Unixu • Světová pavučina (World Wide Web) • Distribuované systémy souborů (AFS, NFS, Samba/CIFS) Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 15 / 21 Client-server model rivrstevny mode lent-server architektury • Základní rozčlenění • Data • Logika • Prezentace • Sousední možno kombinovat/rozdělit (tj. např. Logika může být součástí datové i prezentační vrstvy, a to i současně) Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 16 / 21 usty a „tenký Client-server model • Platí pro server i klient, podstatné zejména v souvislosti s klienty • „Tlustý" (fat) klient: • Značná spotřeba lokálních zdrojů (CPU, paměť, disk) • Komplexní provedení i instalace • Příklad: Mozilla • „Tenký" (thin) klient: • Jednodušší • Snadná správa a přenositelnost • Menší škálovatelnost (příliš mnoho práce dělá server) • Zpravidla vyšší nároky na propustnost sítě Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 17 / 21 Client-server model e ware • Software zajišťující funkcionalitu distribuovaných systémů • „Zkratka" v rámci protokolů • Stojí ,,nad" operačním systémem, ale ,,pod" aplikací • Propojuje oddělené komponenty distribuovaného systému • Dovoluje aplikacím komunikaci přímo na vyšší abstraktní úrovni • Realizuje jednu (RPC) nebo více (DCE) funkcí Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 18 / 21 Client-server model eware - príklady • Primitivní: přenos souborů • Základní: RPC (Remote Procedure Call) • Integrované: DCE (Distributed Computing Environment) • Distribuované objektové služby: CORBA, OGSA (Open Grid Service Architecture), Web Services Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 19 / 21 Client-server model • Common Object Request Broker Architecture • Základem ORB: vrstva, která zprostředkovává komunikaci (middleware pro middleware) • Kompomenty: • Rozhraní (řetězce) • Umožňují volání procedur mezi klientem a serverem • Pojmenování (naming service) • „Obchodní" služba (trader) • Vyhledávání vhodného serveru • A mnoho dalších Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 20 / 21 Client-server model • Využívají standardní protokoly zavedneé v rámci WWW konsorica (W3C) • Určeny pro interakci mezi počítači přes počítačovou síť • WSDL (Web Services Description Language) • Popisuje rozhraní služby a SOAP (Simple Object Access Protocol) • Protokol pro výměnu zpráv • XML (extensible Markup Language) • Značkovací jazyk používaný pro popis objektů a vlastní komunikaci Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 21 / 21