lampret.net

Kakšno je vaše geslo?

Dodano: Torek, 27. Maj 2008

Ime? Priimek? Morda znamka monitorja, avtomobila, mobitela? Je vaše geslo izjemno enostavno in se verjetno nahaja nekje v slovarju?

Zakaj je uporaba kompleksnih gesel tako pomembna? V slučaju, da izkoristi varnostno luknjo v sistemu, lahko napadalec pridobi dostop do datoteke ali baze kjer so shranjena uporabniška imena in gesla. Ta gesla so sicer kriptirana, a obstajajo metode za razbijanje zaščite.

Gesla v spletnih aplikacijah so velikokrat kriptirana z MD5 algoritmom. Ta algoritem ustvari šifrirano geslo, ki ga je ob upoštevanju varnostnih priporočil skoraj nemogoče razbiti. V praksi se žal izkaže, da v primeru uporabe “slabih” gesel lahko šifrirano geslo razbijemo že v nekaj urah, ali še prej. Gesla, ki so zelo pogosta, pa lahko prosto dobimo na spletu. Za kriptiranje mojih primerov bom uporabil spletno stran http://www.md5encryption.com/.

Vzemimo uporabnika “markol” z geslom “marko”. Predpostavimo, da je geslo v taki obliki dovoljeno za uporabo v sistemu. Napadalec, ki bi dobil dostop do datoteke z gesli, bi v tej datoteki videl sledeč zapis, ki predstavlja uporabniško ime in kriptirano geslo:

markol:c28aa76990994587b0e907683792297c

Na spletu je moč dobiti baze kriptiranih gesel, kjer so shranjena najpogosteje uporabljena gesla, tako da napadalcu ni treba razbijati gesla. Primer take strani je http://gdataonline.com/seekhash.php. Če v okence za iskanje vpišem hash c28aa76990994587b0e907683792297c, se na zaslonu pojavi rezultat:

Hash MD5 \

Podobno se zgodi, če geslu pripišem letnico rojstva. Geslo je v tem primeru sicer dovolj dolgo, a je žal tako pogosto uporabljano, da se ga brez težav dobi v bazah na spletu. Te baze predstavljajo prvi korak napadalca k razbijanju pridobljenega gesla. Rezultati so vidni takoj, napadalcu ni treba niti poseči po programu za razbijanje gesel.

Marko82 md5

Zgoraj omenjeni primer predstavlja le del možnosti, ki jih imajo napadalci. Največja pomanjkljivost gesla je predvsem dolžina (oz. kratkost). Napadalec lahko nad geslom izvede “brute force” metodo za razbijanje gesel. To je v bistvu ugibanje gesla s poizkušanjem naključnih kombinacij nizov znakov, katerih MD5 bi lahko ustrezal geslu. Poglejmo, koliko časa potrebuje napadalec z zelo hitrim računalnikom za razbitje gesla z ugibanjem kombinacij:

dolžina: 4 znaki, nabor znakov: a-z -> manj kot 1 sekunda
dolžina: 4 znaki, nabor znakov: a-z A-Z 0-9 + simboli -> 4.8 sekunde
dolžina: 5 znakov, nabor znakov: a-z A-Z -> 25 sekund
dolžina: 6 znakov, nabor znakov: a-z A-Z 0-9 -> 1 ura
dolžina: 6 znakov, nabor znakov: a-z A-Z 0-9 + simboli -> 11 ur
dolžina: 7 znakov, nabor znakov: a-z A-Z 0-9 + simboli -> 6 tednov
dolžina: 8 znakov, nabor znakov: a-z A-Z 0-9 -> 5 mesecev
dolžina: 8 znakov, nabor znakov: a-z A-Z 0-9 + simboli -> 10 let
dolžina: 9 znakov, nabor znakov: a-z A-Z 0-9 + simboli -> 1000 let
dolžina: 10 znakov, nabor znakov: a-z A-Z 0-9 -> 1700 let
dolžina: 10 znakov, nabor znakov: a-z A-Z 0-9 + simboli -> 91800 let

Podobne tabele so tudi na naslovu: http://www.lockdown.co.uk/?pg=combi&s=articles

Poleg ugibanja kombinacij “na slepo” se lahko napadalec posluži tudi slovarjev in s tem pohitri čas ugibanja.

Geslo naj zadosti naslednjim kriterijem:
- dolžina vsaj 8 znakov
- uporaba velikih in malih črk ter številk
- geslo ne vsebuje besed, ki se jih dobi v slovarjih, niti imen znamk

Še en dober namig za izbiro varnega gesla, ki si ga ni težko zapomniti:

vir: http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/security-guide/s1-wstation-pass.html

1. izberite si verz iz pesmi, ki vam je všeč, npr: The sun is sleeping quietly, Once upon a century

2. prepišite prve znake v besedi (lahko tudi ločila) in upoštevajte velike-male črke: Tsisq,Ouac

3. zamenjajte črke s številkami (o=0, i=1, a=4, s=5, b=8, …), in dobili smo odlično geslo, ki si ga lahko zapomnimo s pomočjo verza: T515q,0u4c.

Google te gleda

Dodano: Sreda, 21. Maj 2008

Malo sem se igral z iskalniki in poiskušal priti do raznih pomembnih osebnih podatkov, da vidim kdo v naši državi najbolj jezi informacijsko pooblaščenko. Iskal sem na razne načine s pomočjo Googla in Najdi.si, da bi dobil kar čimveč podatkov o naključnih posameznikih. Spreten prevarant bi te podatke lahko uporabil za krajo identitete.

Kar sem ugotovil, me je precej šokiralo.

Zanimivo je, kako na spletu ležijo nezaščiteni in javnosti na voljo nekateri sicer zaupni in pomembni dokumenti. Lep primer so pogodbe, ki sem jih prikazal spodaj. Nekaj spretnih prijemov pri iskanju je bilo takoj uspešnih in prišel sem do podatkov posameznikov, ki so sodelovali pri prodaji nepremičnin. Na vseh spodaj prikazanih pogodbah so napisani sledeči podatki: ime, priimek, naslov, davčna št. občana in matična številka občana.

Namenoma sem vse podatke skril, da nebi prišlo do zlorab.

Zasebnost

Pogodba 2

Pogodba 4

Pogodba 3

 

Kaj bi lahko v zgornjih primerih odgovorni naredili, da iskalniki sploh 
nebi prišli do osebnih podatkov?

1. Najlažja različica: administrativna delavka bi že pred objavo dokumentov na spletni strani iz njih izbrisala  osebne podatke.

2. S pomočjo datoteke robots.txt bi skrbnik spletne strani lahko iskalnikom prepovedal dostop do map, kjer se nahajajo dokumenti z osebnimi podatki:

# Začetek robots.txt datoteke
User-agent: *
Disallow: /mapa_z_dokumenti
# Konec datoteke

3. Datoteke, ki vsebujejo osebne podatke, bi objavili le na intranetnih straneh, zaščitenih z gesli.

 

Najslabša možna oblika neprimerne objave osebnih podatkov:

transakcijski račun

Brez večjih naporov sem preko iskalnika prišel do nekaj pogodb, kjer je poleg zgoraj navedenih osebnih podatkov tudi podatek o transakcijskem računu pogodbenih strank - navedeni sta številka in poslovalnica banke, kjer je račun odprt.

Se spomnite filma The Net? “To se nikakor ne more zgoditi” je bilo takrat moje mišljenje. V preteklih letih sem ga spremenil. Kraja identitete in varovanje podatkov sta postali pomembni temi, ki se jih mora zavedati vsak uporabnik spletnih storitev.

Se spomnite Clarksona? S pomočjo njegovega imena, rojstnega datuma in številke transakcijskega računa mu je neznanec z bančnega računa prenesel 500 funtov na račun dobrodelne organizacije.

Samo vprašanje časa je, kdaj se bo podoben primer pojavil pri nas. Dvomim pa, da bo denar pristal v rokah tistih, ki ga potrebujejo (kot v primeru Clarksona).

Kako bolje zaščititi Joomla CMS?

Dodano: Ponedeljek, 12. Maj 2008

Joomla! CMS je trenutno eden izmed najbolj razširjenih odprtokodnih sistemov za urejanje vsebin na spletni strani. Zaradi preproste uporabe in velike količine brezplačnih dodatkov je Joomla! doživela izjemno pozitiven odziv pri uporabnikih.

Joomla! je zaradi svoje razširjenosti postala tudi pogosta tarča vdorov. Nekateri skrbniki spletnih strani zanemarjajo varnostni vidik vzdrževanja spletne strani in niso dovolj pazljivi pri izbiri dodatkov za Joomla! CMS, kar naredi njihovo spletno stran ranljivo.

V prejšnjem prispevku sem opisal spletne strani, kjer si lahko ogledate znane ranljivosti. Tokrat bom opisal nekaj korakov, ki zagotavljajo višjo varnost namestitve Joomla! sistema za urejanje vsebin. Seveda ti koraki ne naredijo vaše strani 100% varne, vseeno pa bistveno prispevajo k boljši zaščiti pred vdori.

1. Izbrišite namestitvene mape in datoteke

Po namestitvi Joomla! sistema izbrišite mape in datoteke (v to vas poziva tudi sam instalacijski proces).

2. Spremenite ime upravljalskega računa in nastavite dobro geslo

Dodatna razlaga ni potrebna. Po namestitvi CMSja spremenite ime uporabnika admin in mu določite geslo, ki ga ni mogoče zlahka ugotoviti. Najboljša je naključna kombinacija številk in črk.

3. Namestite aktualno različico in varnostno kopirajte podatke

Pogosto preverjajte, ali imate nameščeno zadnjo različico vašega Joomla! CMSja. To lahko storite v samem CMSju, pod opcijo “Check for latest version”, ali na domači strani.

Pred instalacijo nove različice OBVEZNO(!) naredite varnostno kopijo datotek in baz podatkov. Nekateri ponudniki gostovanja vam nudijo enostavno backup skripto z možnostjo določanja intervalov ustvarjanja varnostnih kopij. Preverite to možnost pri vašem ponudniku, saj vam avtomatizacija postopkov prihrani precej dela (in časa).

4. Preverite dodatke (module, komponente, mambote), preden jih namestite

Nekateri dodatki so napisani precej površno in ne vsebujejo “varovalk” pred zlonamerno kodo. Z namestitvijo nekakovostnega in nepreverjenega dodatka tvegate vdor. Zato je dobro dodatek prej preveriti preko raznih uporabniških forumov in seznamov znanih ranljivosti.

Primer: če vas zanima varnost dodatka PollXT, v Googlu iščete pod “PollXT vulnerability” in  na portalu Secunia iščete pod “PollXT“.

5. Pravilno nastavite gostovanje

Dobro je preveriti nastavitve gostovanja in jih ustrezno popraviti na priporočene nastavitve. Nekatere od spodnjih nastavitev lahko povzročijo nedelovanje posameznih dodatkov. Po spremembi nastavitev zato vedno preverite delovanje spletne strani.

- register_globals off
Povzroči, da napadalec ne more na preprost način vsiliti svojih vrednosti spremenljivk, ki izvedejo zlonamerno kodo.
Joomla ima tudi emulacijo te opcije, zato morate tudi v datoteki globals.php (korenska mapa Joomle) nastaviti vrednost define(’RG_EMULATION’,1) na define(’RG_EMULATION’,0). 

- url_fopen disallow
S tem korakom boste zagotovili zaščito pred vključitvijo datotek, ki se ne nahajajo na vašem strežniku. Napadalec ne bo mogel na enostaven način izvesti kode, ki se nahaja na njegovem strežniku.

- disable_functions = show_source, system, shell_exec, passthru, exec, popen, proc_open
Izklopite omenjene funkcije, ki so vprašljive z varnostnega stališča.

- magic_quotes_gpc = On
Z vklopom te opcije zagotovite zaščito pred določenimi SQL injection napadi. Ta opcija je aktualna le za Joomla! verzije 1.0.X., medtem ko v verziji 1.5 ni več potrebna.

- php_info.php
Ne pustite, da brskalniki pridejo do php_info.php datoteke. Preko nje lahko napadalec dobi pomembne informacije o vašem strežniku in storitvah kar preko Googla.

6. Pravilno nastavite pravice map in datotek

Priporočeno je, da so pravice nastavljene na 744 za mape in 644 za datoteke. Zgodilo se bo, da boste za namestitev dodatkov morali uporabiti za določene mape vrednost 777. Po namestitvi je priporočeno pravice spet znižati na vrednost 744. Več o pravicah.

Še nekaj povezav za dodatno branje:
- Joomla! security FAQ
- Administrators security checklist
- Joomla security tutorial

Seznami znanih ranljivosti spletnih aplikacij

Dodano: Petek, 9. Maj 2008

Kdaj ste nazadnje preverili, ali imate nameščeno najnovejšo različico vašega CMSja, bloga, foruma,… ?

Se zavedate možnosti varnostnih pomanjkljivosti v spletni aplikaciji, ki jo uporabljate?

Velik delež uporabnikov zanemarja varnostni vidik upravljanja s spletnimi aplikacijami. Te aplikacije so se razvile do take meje, da uporabnik ne potrebuje znanja iz programiranja, pogosto mu niti ni treba obvladati HTML-ja, da lahko CMS sistem namesti in z njim upravlja.

Pogosto se torej zgodi, da uporabnik namesti aplikacijo in je nikoli ne posodobi na novejšo različico, niti ne namesti varnostnih popravkov (ker ponavadi tega niti ne zna). S takim početjem tvega, da bo kdo prek znanih varnostnih pomanjkljivosti poskušal vdreti v njegov sistem.

Varnostnim pomanjkljivostim smo lahko izpostavljeni tudi če imamo vedno nameščeno zadnjo različico aplikacije. Slabo spisani in nepreverjeni vtičniki, komponente in ostali gradniki CMS sistemov so pogosto tarča napadalcev.

Obstaja nekaj zelo dobrih spletnih strani, kjer si lahko ogledamo javno znane varnostne pomanjkljivosti. Pred nameščanjem prosto dostopnih dodatkov za spletne aplikacije lahko preverimo njihove varnostne pomanjkljivosti.

Povezave

Na tak način lahko preprosto preverimo varnostne pomanjkljivosti bloga Wordpress, ali pa varnostne pomanjkljivosti CMS sistema Joomla! .

Naprej »