LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Linuxová bezpečnost z pohledu uživatele (2)

V druhé a poslední části se podíváme na možnosti útoku.

30.4.2004 08:00 | Ondřej Čečák | Články autora | přečteno 7627×

IV. Podvedení uživatele

Sociální inženýrství

Obyčejný uživatel Linuxu se od uživatele Windows v podstatě vůbec neliší, protože se moc nezatěžuje čtením chybových hlášení a přemýšlením. Pokud mu přijde email s přílohou "já_nejsem_virus" nerozpakuje se ho spustit.

V sociálním inženýrství jde o to zmást uživatele tak, aby se choval jinak než normálně a ve prospěch útočníka ("nejobávanější hacker" Kevin Mitnick by mohl vyprávět ;-). Ať to je přímo telefonát nebo email s falešným odesílatelem – jediné co by uživatel měl dělat je přemýšlet.

Trojské koně

Trojský kůň je program nebo funkce programu, který se skrývá v legitimním programu a nenápadně pronikne do cílového systému a ve správnou dobu poslouží útočníkovi.

Jak se takový program může do systému dostat? Nejčastěji právě s normálním programem (nebo v něm), buďto v binární podobě a nebo drze ve zdrojácích. Možnost bránit se podobným věcem je poměrně omezená – obvykle stačí mít důvěru v distributora, který vytváří vaší distribuci. Problém nastává právě v případě, kdy do své distribuce potřebujete dostat program, který v ní není nebo jinou verzi, než která je aktuálně v distribuci.

Pak vám nezbývá, než důvěřovat zdroji, ze kterého software stahujete. Vyplatí se přemýšlet, než bezhlavě stahovat a instalovat ze nějakého podezřelého archivu, který našel Google.

Autoři softwaru se obvykle snaží hotový software nějakým způsobem zdůvěryhodnit. A to buďto prostřednictvím kontrolních součtu (md5 sumy), které zajistí, že v daném balíku nebyly provedeny žádné změny (problém je ale v tom, jak zjistit, že vygenerované kontrolní součty jsou ty správné a ne vygenerované útočníkem). Další možností je digitálně podepsat balík (PGP/GPG se budu věnovat později), nicméně problém je stejný – jak zjistit, že daný veřejný klíč opravdu patří autorovi programu. Ale i když to je jeho klíč, v okamžiku kdy instalujete jeho software mu stejně musíte věřit, protože má moc buď rovnou nad celým systémem nebo alespoň nad daty uživatele – jediným řešením je projít si zdrojové kódy, ale to je náročné a pro uživatele skoro nemožné.

Pokud bych to měl shrnout, cokoli co instaluje z nějakého externího zdroje znamená potencionální nebezpečí, pokud si nezanalyzujete zdrojové kódy. Samotné ověřování kontrolních součtů md5 nebo PGP podpisů nestačí, naopak, někdy vytváří iluzi bezpečnosti, která je opravdu velmi nebezpečná.

V. Útok z lokálu

Další způsob napadení je většinou nejméně technicky náročný. Zlý uživatel prostě k vašemu počítači přijde a může si dělat téměř vše, co se mu zlíbí.

Pokud přijde k vašemu PC a překvapí ho zaheslovaný BIOS (a nepůjde mu nabootovat jeho systém), možná se trochu naštve a vyzkouší pár univerzálních hesel a nebo prostě CMOS BIOSu resetuje. Pokud ho překvapí zaheslovaný zavaděč, obejde ho. Pokud ho opravdu naštve, vezme šroubovák a ukradne klidně celý disk ...

Jestli nemůžete zabezpečit, aby k vašemu počítači chodili pouze důvěryhodní lidé, máte problém. Řešením pak je pořídit si nedobytnou a neodnesitelnou case nebo šifrovat data na disku.

Obecně – proti útok z lokálu je velice těžká obrana, obvykle můžete jenom útočníkovi znepříjemnit a zkomplikovat situaci.

BIOS

První věcí, se kterou se zlý uživatel nejdříve setká je BIOS. Základní program, který inicializuje a otestuje hardware a pak předá řízení operačnímu systému. Pro útočníka je důležitý proto, že se v něm dá nastavit, jak se má bootovat (zavádět OS). Pokud si přinese svůj systém (např. live cd), nabootuje a pokud nejsou data šifrována zcela obejde zabezpečení – bude mu stačit připojit si váš disk a dělat, co se mu zlíbí (získání dat, hesel, získání přístupu do systému, ...).

Jedinou cestou, jak postup útočníkovi znepříjemnit je nastavit heslo pro změnu v CMOSu (případně spouštění počítače). Toto zabezpečení se ale dá poměrně snadno obejít – výrobci obvykle implementují do BIOSu několik univerzálních hesel (útočník si prostě stáhne seznam pro různé BIOSy a zkouší) nebo dokonce stačí při startu stisknout určitou kombinaci kláves. Pokud první metoda selže, nezbývá než otevřít case a resetovat CMOS (k tomu tam je obvykle switch nebo jumper, ale protože to je relativně složité je obvyklejší na pár sekund vyjmout baterii, která paměť CMOS udržuje, ale pokud je baterie nepřístupná, zlému uživateli nebude bránit nic v ohnutí běžné kancelářské sponky a zkratování několika nožiček CMOSu). Pozor si dávejte v případě, že máte v počítači nějakou (pseudo)RAIDovou kartu nebo nějakou síťovku s EEPROM. Takové karty totiž mohou BIOS obcházet a bootovat podle vlastního nastavení.

Další nepříjemností, kterou můžete útočníkovi zkomplikovat život, je zaheslovat zavaděč operačního systému (grub, lilo, ...). Útočník mít jinak možnost nabootovat do jednouživatelského režimu (naštěstí už obvykle potřebuje heslo superuživatele) nebo bude moci zadat jádru cestu k programu init tak, aby se místo initu spustil třeba bash (samozřejmě s právy superuživatele). Řešením je nastavit zavaděči heslo (u lila v /etc/lilo.conf díky parametrům password a restricted).

VI. Útok zvenčí – Protokoly a služby

Cílem útočníka může být také lokální účet

Cílem crackera nemusí být pouze získání superuživatelského přístupu (třeba účet root). Zlému uživateli obvykle stačí získat přístup k účtu obyčejného uživatele. Proč? Chyby v softwaru se dají dělit na dva způsoby – vzdálené a lokální. Vzdálené chyby se dají logicky zneužít vzdáleně (po síti), kdežto pro zneužití lokální chyby potřebuje cracker účet uživatele.

Mimo to, už jen prosté získání účtu uživatele dává útočníkovi možnost normální uživatele systému dost potrápit, protože může systém různě zpomalovat, zabírat místo na disku a systémové prostředky a podobně. Obvykle ale získání lokálního účtu vede k získání superuživatelkých práv právě přes nějakou slabinu, která jde využít pouze lokálně.

Proto je důležité, aby na vašem stroji nebyly žádné testovací účty s jednoduchým heslem (jméno test, heslo test apod.), aby žádný z uživatelů neměl nastaveno triviální heslo (např. účet josef a heslo pepa). Čím více uživatelů, tím se toto riziko zvyšuje. Popřemýšlejte, jestli nemáte nějaký podobný účet s jednoduchým heslem ...

Remote shell – telnet (ssh)

Remote shell umožňuje vzdálené přihlášení k počítači. Možných využití je řada, především vzdálené přihlášení :o). To zprostředkovával v minulosti protokol telnet, ten byl ale právě kvůli bezpečnosti (spojení nebylo šifrované) nahrazen protokolem ssh.

Pokud je to možné, doporučuji zakázat na firewallu a (nebo) v tcpwrapperu všechny spojení na ssh krom počítačů, ze kterých se chcete přihlašovat. Problém ale nastává v okamžiku, kdy se potřebujete přihlásit třeba z nějaké internetové kavárny a podobně. Proč je to problém?

  • řekněme, že náhodou zrovna na vašem počítači neběží keylogger (program zaznamenávající stisk všech kláves)
  • ssh port bude muset být otevřen pro všechny (útočník tak může zkoušet hesla a s každým otevřeným portem vzrůstá riziko napadení právě přes otevřenou službu)
  • problémové bude vyřešit situaci s (bezpečným) zadáváním hesla

Navíc, pokaždé, když se přihlašujete k počítači, je nutné ověřit tzv. fingerprint. Tím si totiž ověříte, že ten, s kým budete šifrovaně komunikovat, je skutečně váš počítač. Toto ověřování je důležité proto, že mezi vás a váš počítač se může dostat útočník a použít metody "Man in the Middle" (zkráceně MITM), všechna komunikace půjde přes něj a bude se předávat od vás vašemu počítači a obráceně.

Nicméně, nějak řešit podobný problém se dá; použití jednorázových hesel (viz např. projekt otpw) znemožní útočníkovi použít odchycené heslo. Nebo můžete používat vzdálenou službu tak, že pro svět bude otevřena na požádání nebo po nějaké další speciální autorizaci, která povede k zpřístupnění služby. Na lupě vyšel nedávno článek na toto téma – Port Knocking.

Pošta – pop3, imap, smtp

Nebudu zde rozebírat, jak posílání pošty funguje, jenom že se zde používají protokoly pop3 a imap (stažení pošty) a smtp (odeslání). Problém je, že pop3 ani imap samy šifrování nepodporují, takže opět vaše heslo (a zpráva) letí až na server v nešifrované podobě. Ale i to, že se váš email se dostane bezpečně až na server neznamená, že se bezpečně dostane i k adresátovi, protože mu zbývá ještě projít strastiplnou cestou internetem až na server, kde má adresát emailovou schránku (pokud vás zajímá, které servery nějaký konkrétní email zpracovávaly, podívejte se do hlavičky emailu – zajímají vás konkrétně informace za "Received:").

Protokoly pop3 i imap lze vhodně rozšířit tak, aby bylo možné zašifrovat zprávu a zabezpečit autentizaci, ale jak jsem už naznačil, ani to není vše. Nezapomeňte na ověření certifikátů serveru!

Protože emaily (obvykle) kolují internetem v čitelné podobě, je nutné se k emailu patřičně chovat. Obecně se email přirovnává k pohlednici, protože na rozdíl od dopisu, každý kdo má pohled v ruce si ho může přečíst, pozměnit a nebo stejně jako dopis zahodit do koše. Mimo to také k pohledu nebývá přiložen žádný balík, takže si prosím uvědomte a zapamatujte, že email není vhodný k posílání velkých příloh (navíc některé servery mohou takovou zprávu odmítnout doručit).

Možností, jak zabezpečit emailovou komunikaci je používat elektronický podpis. A tím je velice populární PGP (Pretty Good Privacy), který umožňuje podepisovat emailové zprávy (tím zajistíte dvě věci – jednak podepsaná zpráva naznačuje, že jste skutečným autorem vy a pak také znemožňuje změnu těla zprávy cestou k příjemci) nebo šifrovat (za použití asymetrické kryptografie – pro zašifrování potřebujete veřejný klíč příjemce a výslednou zprávu půjde dešifrovat pouze soukromým klíčem příjemce, který musíte chránit jako oko v hlavě). Trochu problém je získání veřejných klíčů, protože veřejný klíč si na libovolný email může vytvořit kdokoli. Buďto si můžete přes nějaký bezpečný kanál ověřit kontrolní součet veřejného klíče (tzv. fingerprint) přímo s danou osobou nebo ho může podepsat někdo, komu věříte (tzv. Web of Trust; za předpokladu, že on bude mít ověřené, že je takový klíč pravý) a konečně takový klíč může být podepsaný certifikační autoritou (CA), které věříte (a ona např. přímo ověřuje totožnost žadatele).

V Linuxu se obvykle používá ekvivalent PGP – GPG (GNU Privacy Guard) a většina emailových klientů s ním umí komunikovat a velice jednoduše pracovat. GPG lze navíc použít pro symetrické šifrování apod. Také pro něj existují i poměrně zdařilé grafické frontendy.

Přenos souborů – FTP

FTP má opět několik bezpečnostních problémů:

  • komunikace není šifrovaná, dá se odposlouchávat včetně hesla
  • FTP používá oproti jiným protokolům dva komunikační kanály – přes jeden proudí příkazy a druhým vlastní data; tohle přináší řadu bezpečnostních problémů, viz např. tento článek od DJB.

Jediným univerzálně rozumným řešením je používat tzv. pasivní režim FTP (FTP klient požaduje po serveru otevření portu pro přenos dat), protože jinak existuje mnoho bezpečnostních rizik.

Word Wide Web – http

WWW je poměrně hodně používaná služba, která částečně může za rozvoj internetu do podoby, jakou ji známe dnes. To ale nic nemění na tom, že i web je poměrně nebezpečné místo.

Pokud tomu není jinak, všechna komunikace je nešifrovaná (prohlížeč obvykle dává vědět uživateli, že je komunikace bezpečná, krom všemožných upozornění a ikon, URL těchto serverů obvykle začíná https://), takže opět – pokud budete vyplňovat kterékoli formuláře (dotazníky, přihlašování k emailu, ...), pamatujte, že kdokoli mezi vámi a serverem (včetně) může vaše data odchytávat a dělat si s nimi, co se mu zlíbí.

Jak už jsem naznačil výše, webová komunikace se dá zabezpečit, nejčastěji pomocí SSL (Secure Sockets Layer, blíže ve článku na root.cz. Jedná se o technologii (zjednodušeně), která provádí šifrovanou komunikaci mezi serverem a prohlížečem pomocí symetrické šifry. velice důležité je, aby došlo před vlastní komunikací k ověření, s kým to vlastně komunikujeme. K tomu slouží certifikáty, díky nim je možné poznat, jestli je druhá strana opravdu tím, za koho se vydává. Aby byl certifikát důvěryhodný a ověřitelný, je podepsán certifikační autoritou, které uživatel prostě musí věřit.

Mimochodem, když už se bavíme v SSL, toto šifrování se dá použít nejenom pro web, ale používá se například pro stahování emailů, šifrování FTP relace apod. Opět zdůrazňuji, že opravdu důležité vědět, kdo je na druhé straně spojení.

VII. Závěr

Co říct na závěr? Snažte si zapamatovat a používat co nejvíce věcí, na které upozorňuji – věřte – mají svůj smysl. I když většinou stačí používat mozek a číst co se píše na monitoru :o).

Za konzultace bych chtěl poděkovat Honzovi Houšťkovi.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

17.4.2018 0:46 /František Kučera
Dubnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 4. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tématem tohoto srazu bude OpenStreetMap (OSM) aneb svobodné mapy.
Přidat komentář

16.3.2018 22:01 /František Kučera
Kulatý OpenAlt sraz v Praze oslavíme klasicky: u limonády a piva! Přijďte si posedět, dát si dobré jídlo a vybrat z mnoha piv do restaurace Kulový blesk, který najdete v centru Prahy nedaleko metra I. P. Pavlova na adrese Sokolská 13, Praha 2. Sraz se koná ve čtvrtek 22. března a začínáme v 18:00. Heslo: OpenAlt. Vezměte s sebou svoje hračky! Uvítáme, když si s sebou na sraz vezmete svoje oblíbené hračky. Jestli máte nějaký drobný projekt postavený na Arduinu, nějakou zajímavou elektronickou součástku, či třeba i pěkný úlovek z crowdfundingové akce, neváhejte. Oslníte ostatní a o zábavu bude postaráno.
Přidat komentář

13.2.2018 0:41 /František Kučera
Únorový pražský sraz OpenAltu se koná 15. 2. 2018 a tentokrát se vydáme na návštěvu do jednoho pražského datacentra. Sejdeme se v 17:50 v severovýchodní části nástupiště tramvajové zastávky Koh-I-Noor. Po exkurzi se přesuneme do restaurace U Pštrosa (Moskevská 49), kde probereme tradiční témata (svobodný software a hardware, DIY, CNC, SDR, 3D tisk…) a tentokrát bude k vidění i IoT brána od The Things Network.
Přidat komentář

11.2.2018 23:11 /Petr Ježek
Hledáte lehký a rychlý prolížeč PDF souborů? Pokud vás již omrzelo čekat na načítání stránek či jiné nešvary, zkuste xreader.
Přidat komentář

11.2.2018 20:35 /Redakce Linuxsoft.cz
Třetí ročník odborné IT konference na téma Cloud computing v praxi proběhne ve čtvrtek 1. března 2018 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00 hod. dopoledne do cca 16 hod. odpoledne. Konference o trendech v oblasti cloud computingu nabídne i informace o konkrétních možnostech využívání cloudů a řešení vybraných otázek souvisejících s provozem IT infrastruktury.
Přidat komentář

15.1.2018 0:51 /František Kučera
První letošní pražský sraz se koná již tento čtvrtek 18. ledna od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Vítáni jsou všichni příznivci svobodného softwaru a hardwaru, ESP32, DIY, CNC, SDR nebo dobrého piva. Prvních deset účastníků srazu obdrží samolepku There Is No Cloud… just other people's computers. od Free Software Foundation.
Přidat komentář

14.11.2017 16:56 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tradičně první čtvrtek před třetím pátkem v měsíci: 16. listopadu od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.11.2017 11:06 /Redakce Linuxsoft.cz
PR: 4. ročník odborné IT konference na téma Datová centra pro business proběhne již ve čtvrtek 23. listopadu 2017 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00. Konference o návrhu, budování, správě a efektivním využívání datových center nabídne odpovědi na aktuální a často řešené otázky, např Jaké jsou aktuální trendy v oblasti datových center a jak je využít pro vlastní prospěch? Jak zajistit pro firmu či jinou organizaci odpovídající služby datových center? Podle jakých kritérií vybrat dodavatele služeb? Jak volit součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně spravovat datové centrum? Jak eliminovat možná rizika? apod.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

20.2.2018 18:48 / Ivan Majer
portal

20.2.2018 15:57 / Jan Havel
Jak využíváte služby cloudu v podnikání?

16.1.2018 1:08 / Ivan Pittner
verejna ip od o2 ubuntu

15.1.2018 17:26 / Mira Harvalik
Re: Jak udělat HTML/Javascript swiping gallery do mobilu?

30.12.2017 20:16 / Michal Knoll
odmocnina

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2018) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze