abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 09:28 | Pozvánky
GUG.cz ve spolupráci s českou pobočkou Google pořádá v sobotu 22. listopadu 2014 v prostorách Fakulty stavební ČVUT podzimní vývojářský festival DevFest Praha 2014. Těšit se můžete na den plný technologií, přednášek, kódů, zážitků i známých tváří, na den od vývojářů, pro vývojáře. Téma tohoto ročníku: Stavět, budovat, tvořit.… více »
Pavel GUG | Komentářů: 0
včera 20:59 | Zajímavý software
Projekt cwrap.org vydal nový přírůstek do své rodiny wrapperů. Tentokrát se jedná o nástroj resolv_wrapper, který je možné v unit testu použít k přesměrování DNS dotazů na vlastní testovací server nebo aplikaci vracet výsledky DNS dotazů z připraveného souboru. O resolv_wrapperu, stejně jako o ostatních knihovnách cwrap.org se můžete dozvědět více přímo na stránkách projektu cwrap.org.
jakubh | Komentářů: 0
včera 16:08 | Zajímavý projekt
Dlouhodbou absenci kvalitního IPC pro GNU/Linux řeší projekt kdbus Grega Kroah-Hartmana. Doposud nezávislý vývoj dospěl do stadia zařazení do hlavní větve jádra, s čímž se počítá pro verzi 3.19.
Petr Ježek | Komentářů: 65
29.10. 18:09 | Bezpečnostní upozornění
Byl vydán GNU Wget 1.16. Nejnovější verze tohoto programu pro stahování souborů pomocí protokolů HTTP, HTTPS a FTP řeší také bezpečnostní problém CVE-2014-4877. Rekurzivní stahování z FTP serveru ovládaného útočníkem může vést k vytváření libovolných souborů, adresářů a symbolických odkazů na lokálním souborovém systému (R7-2014-15).
Ladislav Hagara | Komentářů: 4
29.10. 17:26 | IT novinky
Organizace W3C včera vydala doporučení k používání HTML5 a označila tím tento webový standard za hotový. HTML5 je již delší dobu široce využívaným standardem ve vývoji webových aplikací a v mnoha případech se mu daří vytlačovat z webu proprietární řešení.
Pavel Půlpán | Komentářů: 6
29.10. 11:11 | Zajímavý projekt
Byl spuštěn třináctý Humble Indie Bundle. Do 11. listopadu lze koupit za vlastní cenu multiplatformní hry OlliOlli, Insanely Twisted Shadow Planet, Tower of Guns a při nadprůměrné platbě také Amnesia: A Machine for Pigs, Jazzpunk, Risk of Rain (plus 3 kopie k darování) a další zatím neznámé hry. Při platbě 12 a více dolarů přibude Shadowrun Returns a při platbě 65 a více dolarů také mikina, sběratelské karty a audiokazeta. V rámci Humble Bundle… více »
Ladislav Hagara | Komentářů: 6
28.10. 14:30 | Nová verze
Lwn.net informuje, že v rámci rc vydání linuxového jádra 3.18-rc2 byl (konečně) začleněn souborový systém overlayfs. Jde o tz. sjednocující souborový systém, který umožňuje zkombinovat několik souborových systémů do jednoho.
Martin B. | Komentářů: 34
28.10. 00:23 | IT novinky
Přibližně deset tisíc lidí se účastnilo protestů proti dani z internetu, kterou se snaží prosadit premiér Viktor Orbán. Video z demonstrace zachycuje rozzuřené lidi házející do vládní budovy monitory, klávesnice a kusy betonu. … více »
Bystroushaak | Komentářů: 275
26.10. 22:29 | Nová verze

Barry Kauler vydal novú verziu svojho minimalistického distra postaveného na deb balíčkoch z Ubuntu. Ako iste môžete tušiť, je použitý Utopic Unicorn. Výhodou pre tých, čo siahnú po Quirky, môže pre niekoho byť, že sa jedná o zostavenie bez systemd, ktoré obsahuje najnovšie jadro 3.16.6 a FreeOffice na 202MB xz archíve. Viac info.

skywaker | Komentářů: 8
26.10. 22:14 | Zajímavý článek
Nadace pro svobodný software (FSF) informuje o rozhodnutí italského Nejvyššího soudu zakázat praktiky odrazující uživatele od používání GNU/Linuxu tím, že je při koupi nového počítače nutí platit za licenci Windows. Výrobci nově nemohou odmítnout vrácení peněz za nepoužité licence. Prodej počítačů s předinstalovaným softwarem totiž není stejný jako prodej automobilů se 4 koly, motorem, atd. U počítače s předinstalovaným softwarem … více »
Ladislav Hagara | Komentářů: 73
Disketu jsem naposledy použil během
 (33%)
 (2%)
 (15%)
 (48%)
 (1%)
Celkem 322 hlasů
 Komentářů: 18, poslední včera 22:01
Rozcestník
Reklama
Autoškola testy online Levný benzín

Jak nedělat autentizační token

7.9.2008 17:27 | Přečteno: 1870× | phpMyAdmin | poslední úprava: 7.9.2008 18:01

Do phpMyAdmina chtějí protlačit podporu pro jeden autentizační token. Jak tato věc funguje na hardwarové úrovni nevím (má tam být nějaký autentizační kalkulátor, který na výzvu vygeneruje nějakou unikátní odpověď), ale docela mě pobavil přístup k bezpečnosti softwarového řešení okolo. Celá popisovaná věc se jmenuje Swekey a stojí za ním firma Musbe, založená jen kvůli tomuto zařízení (to develop and market an innovative authentication technology).

Token se strká do USB (v dnešní době to asi ani jinak nejde) a celou věc obsluhuje v Linuxu jakási binárka komunikující s tokenem přes libusb. No aspoň, že to bude hnít v userspace a ne v kernelu. Bohužel pokud to chcete použít na něčem jiném než i386, máte smůlu. Protože nám se jedná o autentizaci webové aplikace, máme ještě k dispozici další binárku a to plugin do prohlížeče Firefox (pro Windows případně ještě ActiveX pro MSIE).

Když už se uživateli poštěstí toto rozběhat (a nebude řešit takové nepodstatné otázky, jako třeba: proč binárka obsluhující ten token musí používat curl?), může vyzkoušet úžasné možnosti, které nám tato autentizace skýtá. A hlavně se podívat na kód, který se o autentizaci stará, protože ten již k dispozici máme. Kromě phpMyAdmina, kde je jakási meziverze už v SVN, ještě existuje plugin pro SquirrelMail a prý i patch pro RoundCube, modul pro PAM atd.

Jak vlastně celá věc funguje?

  1. Načte se ID z USB tokenu
  2. Ze serveru se stáhne náhodný token (platný dvě minuty)
  3. Náhodný token se nacpe do USB tokenu a ten vygeneruje OTP (jednorázové heslo)
  4. ID tokenu, náhodný token a OTP se pošle na server a ten je ověří

No vypadá to celkem jednoduše, tož pojďme se podívat jak to soudruzi naimplementovali. Podotýkám, že v patchi pro phpMyAdmin, už pomaly níže popsané problémy mizí, ale za cenu víceméně kompletního přepsání kódu, jak se (ne)budou vyvíjet patche/pluginy pro ostatní programy netuším, nicméně autoři pořád někde preferují původní řešení.

Komunikace

První věc, která kohokoliv musela praštit do očí bylo použití nešifrovaného HTTP spojení při komunikaci se serverem. Což ve spojení s jednoduchým až triviální protokolem, znamená, že kdokoliv, kdo je schopný na jakýkoliv HTTP požadavek odeslat odpověď "HTTP/1.0 200 OK\n\nOK" se může stát autentizačním serverem, který autentizuje cokoliv komukoliv. Soudruzi sice v patchi pro phpMyAdmina přešli na HTTPS s ověřováním certifikátu, ale z výkonnostních důvodů jinde zůstane nadále HTTP. Vskutku inovativní řešení.

Umístění souborů

Mapování tokenů na uživatele mělo být umístěno v kořenovém adresáři phpMyAdmina a tedy přístupné přes web. Což ve spojení s předhozí zranitelností znamená, že jediná informace, kterou by případný útočník potřeboval - ID klíče, který mu dovolí přístu, může bez problémů získat napsáním správného URL.

Dočasné soubory

Protože náhodný token je platný dvě minuty, rozhodli se autoři ušetřit námahu jejich serveru s generováním a tento token cachovat. Bohužel ukládat pevně pojmenovaný soubor do adresáře /tmp není zrovna nejlepší nápad a už vůbec není dobrý nápad tento soubor vytvářet s právy 777. Co by se asi stalo, kdyby náhodný uživatel na serveru do tohoto souboru uložil třeba nějaký film a ten se následně začal odesílat na jejich server jako náhodný token při autentizaci?

No nechtějte to

Většina zde zmíněných problémů existuje ve všech implementacích tohoto tokenu, do kterých jsem se koukal. Kromě toho každá implementace přidává spoustu unikátních programátorských chyb. Zájemcům o pobavení se doporučuji modul pro PAM, který je vlastně jen spouštěč skriptu v bashi, který volá curl a komunikuje se serverem.

Update

Při psaní tohoto článečku mě napadl ještě jeden problém, kterým to asi bude trpět, ale nechtěl jsem to psát dokud to neověřím, což se právě stalo. Přístup k tokenu z prohlížeče není pluginem nijak omezován, takže jakákoliv stránka může zjistit ID vašeho tokenu a vygenerovat si OTP heslo. No lepší podmínky pro krádež identity si už lze představit jen těžko :-).

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

7.9.2008 18:12 Aleš Kapica | skóre: 42 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Jak nedělat autentizační token
Jen ať si to do toho strčí, to je jejich věc. Na stejné místo si pak můžou strčit i celý phpMyAdmin.
7.9.2008 23:59 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Jak nedělat autentizační token
Tak díky za motivaci ;-).
23.10.2008 13:39 Pev | skóre: 28
Rozbalit Rozbalit vše Re: Jak nedělat autentizační token
Jen ať si to do toho strčí, to je jejich věc. Na stejné místo si pak můžou strčit i celý phpMyAdmin.
No psát tohle jednomu z autorů phpMyAdmina můžete buď jen z nevědomosti o autorově zainteresovanosti v tomto projektu nebo z osobní averze k autorovi. Nebo Vám snad přijde phpMyAdmin na nic? Neříkám, že nejde spravovat mysql bez něj, ale pro servery bez SSH (webservery s mysql) je neocenitelný pomocník. Je to jedna z killer apps a jeden z mála důvodů, proč zatím používám víc mysql než postgresql. Kdyby tak phpPgAdmin měl takové možnosti jako phpMyAdmin...

Jinak k příspěvku - taky bych tu hrůzu vůbec do phpMyAdmin nepřidával...
stativ avatar 8.9.2008 09:07 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Jak nedělat autentizační token
A to není možné je hezky nechat, ať si to spravují mimo tvůj strom? Nevidím sebemenší důvod proč si pouštět takovouhle potenciálně nebezpečnou prasárnu do kódu.
Ať sežeru elfa i s chlupama!!! stativ.kx.cz
8.9.2008 09:59 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Jak nedělat autentizační token
No pokud je donutíme ke kvalitnímu kódu, tak je lepší, aby to bylo začleněno. Jestli se nám to ovšem podaří, toť ovšem otázka :-).

Založit nové vláknoNahoru

ISSN 1214-1267   Powered by Hosting 90 Server hosting
© 1999-2013 Argonit s. r. o. Všechna práva vyhrazena.