» »

Pol milijona pohekanih spletnih strežnikov - med njimi tudi slovenski!

Pol milijona pohekanih spletnih strežnikov - med njimi tudi slovenski!

Zaslonski posnetek iskanja omenjene napake, pri katerem so v podjetju F-Secure občutljive podatke zabrisali, vrne kar 510.000 rezultatov

vir: F-Secure
F-Secure - Spletna strežnika Združenih narodov in britanske vlade sta zgolj kapljica v morju strežnikov, ki so podlegli SQL pomanjkljivosti. F-Secure trdi, da napaka (SQL injection) preusmeri uporabnike k zlonamernemu javascriptu na naslovih nmidahena.com, aspder.com or nihaorr1.com, ti pa potem uporabijo nov nabor lukenj (exploits), da namestijo Trojanski virus na njihove računalnike.

Brian Kerbs je napako podrobno opisal na svojem Washington Post Security Blogu, pojavil pa se je tudi seznam pomembnih spletnih strani, ki so bile pohekane. Verjetno boste opazili, da je med njimi celo www.safecanada.com - stran Kanadske državne varnosti. Na IIS forumih so nekateri administratorji strežnikov, ki uporabljalo Microsoftov SQL, zmedeno ugotavljali, kaj se pravzaprav dogaja.
Slovenski Google razkrije, da je bilo pohekanih tudi nekaj slovenskih strežnikov:

    Zavod za zdravstveno varstvo Celje
    Blog časnika Večer
    Mariborska knjižnica
    Tehnološki center za električne stroje
    Organizacija ITF Slovenija

Ker bodo najbrž napako odpravili, smo naredili nekaj zaslonskih posnetkov:


39 komentarjev

wooted ::

aha kar grdo so "nas" ja.. sam je pa zanimiv da lahko najdeš kar z brskalnikom

krho ::

zopet M$ tehnologija... Se spomni kdo pred leti M$$ql zadeve, ko admini niso nastavljal gesel za SA uporabnika...
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

OmegaBlue ::

Ni ms kriv. Krive so trapasto spisane aplikacije, ki ne spucajo inputa. Ne gre za luknjo v IIS ali SQL pač pa v asp(and other stuff) aplikacijah, ki ne preverjajo dobro kaj bašejo v bazo.
Never attribute to malice that which can be adequately explained by stupidity.

MrStein ::

A ne obstaja ekvivalent printf("%s %s...",s1,s2) za SQL. ki pravilno escapa znake že 10 let ?
Seveda predpostavljam, da ima vsak vebmojster ustrezno izobrazbo...
Teštiram če delaž - umlaut dela: ä ?

Tody ::

Ti pa nisi bil že dolgo v Internetnih spletiščih na tem forumu ane ;)

techfreak :) ::

Ni MS napaka? Zakaj pa so potem v screenshotih samo asp in asp.net strani? Torej asp/asp.net programerji niso dovolj pametni, kakor so php in ostali?

MrStein: sprintf obstaja (php), samo nevem, če deluje za sql escapanje. V phpju so druge metode.
V asp.net je tudi kar nekaj metod, ki zaščitijo pred sql injection, in vsekakor vsi programerji ne pozabijo tega uporabiti. Tako, da je potem MS kriv.

krho ::

Sam se zavedam, da je problem kopica nadobudnih ampak na žalost totalno nesposobnih programerjev. Danes je to tako ali tako lahko vsak, ki ima 5min preveč časa.;((
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

techfreak :) ::

Zakaj bi tako nesposobni programerji programirali tako pomembne spletne strani? Poleg tega imaš v vsakem asp.net članku napisano kodo, ki varuje pred sql injection. Iz katerekoli spletne strani se učiš programirati asp.net je koda zaščitena pred sql injection. Butast moraš biti, da tega potem ne bi upošteval, ko delaš spletno stran.

Za ASP še verjamem, ker poznam nekaj asp programerjev in vsi ponavadi pozabijo na sql oz. se sploh ne spomnijo.

Ampak na screenshotih so vse spletne strani v asp/asp.net kar pomeni, da ima MS neko vezo vmes in verjetno je on kriv.

Edit: pozabil sem omeniti, da mi ena stran, ki jo imam napisano v asp.net deluje.

Zgodovina sprememb…

msmid ::

DejanL15, kakšno vezo ima MS tu in zakaj je kriv on?

techfreak :) ::

Zaradi tega ker je to "ASP virus". Izkorišča ranljivost aspja in asp.net.
Torej je MS kriv. Kdo drug pa je naredil asp in asp.net ter IIS?

OmegaBlue ::

Joj človek tebi res ni jasno kaj je SQL inject? Programski jezik kot sam po sebi ima zelo težko varnostno ranljivost (mogoče če bi bil problem v interpreterju samo ne ni). Gre samo in le za slabo/površno spisano aplikacijo v asp/asp.net. Si se vsaj potrudil prebrat linkano novico?
Never attribute to malice that which can be adequately explained by stupidity.

techfreak :) ::

Jasno mi je kaj je SQL injection. Ampak po tvoji razlagi bi sklepal, da samo asp/asp.net programerji ne zaščitijo kode pred sql injection.

PHP programerji spišejo vse aplikacije brez napak, vsi ASP/ASP.net programerji pa naredijo veliko napak.

MrStein ::

Heh, na spisku je tudi vecer.com. Je kdo presenečen ?
Teštiram če delaž - umlaut dela: ä ?

techfreak :) ::

Nobeden ni presenečen glede Večer.com. Če se jim ne ljubi skriti napake, ki jih javlja ASP potem se ne čudim, da imajo tudi napake v sql stavkih.

jype ::

DejanL15> PHP programerji spišejo vse aplikacije brez napak, vsi ASP/ASP.net programerji pa naredijo veliko napak.

A ni nenavadno, da je SQL injection v PHP aplikacijah tako pogost (PHPNuke, Mambo, phpBB, Wordpress, tutos)? Je kriv PHP? Hja, je in ni, tako kot ASP(.net). Lahko bi lepše zavil SQL in s tem preprečil vrivanje nepripravljenih nizov v poizvedbo. Žal to počne zelo malo okolij za spletno ustvarjanje.

frudi ::

Tule NE GRE za nikakršno MS napako, ne v IIS, ne v ASP (.NET). Zakaj potem napadajo samo .asp in .aspx strani? Iz dveh razlogov verjetno:
- MS SQL ima par featurjev, ki ga delajo primernega za tak napad - podpira dinamični sql, API (ADO(.NET)) podpira več sql stavkov znotraj enega ukaza (SELECT 1 AS ENA; SELECT 2 AS DVA; DROP TABLE Users :). Oba ta featurje izkorišča tale exploit.
- Verjetno nesorazmerno visok delež nesposobnih web programerjev. Ciljam predvsem na ex-VB6 programerje, ki so iz VB6 presedlali na vbscript/VB.NET, pri tem pa jim nihče ni razložil razlike med windows in web aplikacijami.

Tole zadnje se kaže tudi v tem, da tale exploit dejansko rabi vsaj dve hudi varnostni luknji v aplikaciji - ranljivost za SQL injection napade in uporabo SQL userja s previsokimi privilegiji (SQL user, pod katerim teče spletna aplikacija, ne bi smel imeti pravic za SELECT na sistemskih tabelah)
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)

iveco18 ::

Ne razumem, kaj je "benefit" tega? Kaj bi lahko oz. kaj je naredil kdo s tem???

Zgodovina sprememb…

  • spremenil: iveco18 ()

denial ::

Oldie but goldie...

SELECT finger FROM hand WHERE id=3;

Zgodovina sprememb…

techfreak :) ::

Ja ja. MS ni nikoli kriv. Če po defaultu ne bi dovolil nevem česa vse, potem se take stvari ne bi dogajale. Čeprav je ta asp/asp.net tako super, da omogoča nevem kaj vse, ga kakšen preprost jezik kot je recimo C++ premaga. V hitrosti izvajanja ter tudi v delovanju. Tudi php je dovolj sposoben, da z njim naredimo vse, kar lahko z ASP.net, ampak php pač nima lukenj.

Večino so krivi programerji, se strinjam, vendar je čudno, da se sql injection pojavlja večinoma pri asp/asp.net programerjih pri php/perl/c++/python/.. pa ne.

OmegaBlue ::

Khm.. SQL inject je v php zelo pogost, s katere hruške točno si ti padel?

Zanimivo da si se registriral ravno da trolaš po tej temi.
Never attribute to malice that which can be adequately explained by stupidity.

denial ::

@DejanL15:
Pa si prepričan, da PHP nima lukenj? Ah, saj res, that's old.

Microsoft dejansko nima nič s to SQLi self-propagating kodo. Krivda je izključno na strani razvijalcev spletne aplikacije. Če že hočeš primerjavo poglej celo poplavo SQLi vrzeli v Joomla/Mambo/WP/PHP-Nuke/XOOPS... vtičnikih. Poskusi uganiti čigava je krivda.

Uradna izjava (Malimehki):
KLIK
SELECT finger FROM hand WHERE id=3;

Zgodovina sprememb…

  • spremenil: denial ()

radiator ::

Pri nas je bil krvi strašen webmojster ali oni pred njim, ki so pisali to s****e kaj imamo in ne MS. Ta traparija, pa mi je vzela cel dan da sem nazaj postavil bazo :(
Kaj je jutri že bilo?

jype ::

DejanL15> ampak php pač nima lukenj.

Danes smo že 27. aprila, prvi je že davno mimo.

Vesel dan OF, btw.

fiction ::

DejanL15: ASP/ASP.net ni programski jezik.
In C++ ni preprost - zaradi templatov in podobnih zadev ima tako zakomplicirano sintakso, da se ne da uporabiti navadnega LALR parserja.
Nekaj je stvar jezika, ampak se vedno imas problem ce programer konkatenira nepreverjen
vhod od uporabnika za nek SQL query in to lahko pocne kjerkoli.

iveco18: Z "SQL injection"-om, bi lahko v principu z enakimi privilgiji kot jih ima spletna stran izvajal poizvedbe na bazi. Odvisno od pravic, ampak teoreticno bi lahko zbrisal vse tabele ali pa dostopal do vseh (morebiti tajnih) podatkov. Ce so uporabniska imena in gesla shranjena v bazi, bi se lahko celo prijavil kot administrator v spletno aplikacijo.

Tukaj specificno so izrabljali nek feature od MS SQL-a in s tem nadomestili vse vrednosti tekstnih atributov, tako da so vsebovala referenco na neko JavaScript kodo. Najbrz so bile ravno zato tarca samo strani na IIS spletnih streznikih.

Ta JavaScript je potem pristal na vseh spletnih straneh, ki so uporabile podatek iz baze. Kar je povzrocilo, da se je pri ogledu strani ta koda z veliko verjetnostjo izvedla pri obiskovalcih. Stranski ucinek je pa seveda tudi to, da je mozno z googlom hitro najti problematicne strani.

Na prvi pogled je cudno zakaj so to sploh delali. Po drugi strani pa: SQL injection ti da sicer dostop do baze, ampak se vedno nimas popolne kontrole nad sistemom - slejkoprej se bo luknja zakrpala in takrat bo napadalec brez vsega. Ce podtaknes neko zlobno kodo, pa lahko najbrz na neki zelo obiskani strani (recimo UNICEF) hitro dobis veliko ranljivih obiskovalcev Se huje pa je, ce uporabniki strani bolj zaupajo ("Trusted sites").
Ce je pol miljona pohekanih spletnih streznikov, koliko mora biti potem sele shekanih obiskovalcev...

frudi ::

Pri nas je bil krvi strašen webmojster ali oni pred njim, ki so pisali to s****e kaj imamo in ne MS. Ta traparija, pa mi je vzela cel dan da sem nazaj postavil bazo :(

A si DB admin, da si moral obnavljati bazo? Če ja, potem si boš sedaj zapomnil:
- da moraš vedno imeti pripravljen backup in ustrezne skripte za njegovo obnovitev (drop baze, restore, obnovitev pravic...)
- da imaš ustrezno nastavljena dovoljenja za uporabnike na bazi. Če ti programerji težijo, da spletna aplikacija rabi kaj več, kot execute pravice na procedurah/funkcijah in select na viewih, jih pošlji v kurac :)

Ja ja. MS ni nikoli kriv.

MS je kriv za marsikaj, ampak v tem primeru pač ne. Očitno se ti sploh ne sanja, za kakšen exploit gre, tako da se vsaj malo informiraj, preden trolaš naprej. In nadaljuj s pisanjem spletnih aplikacij v 'preprostem' C++, če hočeš :)
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)

techfreak :) ::

Strinjam se, da so krivi programerji. Ampak dovoljenja po defaultu morajo biti taka, da kaj takšnega ne bi moralo biti možno.

frudi: Ne pišem v 'preprostem' C++. Pišem v php in asp.net.

radiator ::

mel mel :) Samo vseeno gre cajt...
Kaj je jutri že bilo?

AndrejS ::

@DejanL15 :

Ja MS je dejansko kriv, ker je napisal windowse, kriva sta tudi INTEL in AMD ker sta naredila CPU.
Krivi so tudi takšni kot ti, ki računalnike uporabljate , ...

Zdaj pa odrasti...

Ziga Dolhar ::

Strinjam se, da so krivi programerji. Ampak dovoljenja po defaultu morajo biti taka, da kaj takšnega ne bi moralo biti možno.

frudi: Ne pišem v 'preprostem' C++. Pišem v php in asp.net.


Dovoljenja novega uporabnika so ponavadi po defaultu nikakrsna. Morda Read. Ce pa developer za aplikacijo ustvari uporabnika in mu pdeli vse pravice ...

Sicer pa, ti kar veselo pisi v 'asp.net'-u ;-)
Legal systems are not supposed to be efficient. They are
designed to ensure that innocent people are not found guilty.
If that requires inefficiencies, so be it.

techfreak :) ::

Vse moje spletne strani, ki so v asp.net še kar delujejo. ;-)

frudi ::

Nov SQL user nima nikakršnih pravic (je samo v public vlogi). Kvečjemu sta potem kriva lahko:
- programer, ker njegova aplikacija bere/piše direktno po tabelah. Tak programer nato teži DBA-ju, da mora SQL user za aplikacijo biti v db_datareader ali še kakšni bolj priviligirani vlogi, ker 'njemu se pa že ne da pisati grant select/execute skripte za vsak objekt posebej'
- DBA, ker programerja ne pošlje v 3PM, ko mu pride težit s takšnimi zahtevami. Ali pa kar sam brez pomislekov novim SQL userjem dodeljuje previsoke pravice ('ja, komot je lahko na produkciji aplikacijski user v db_owner vlogi, zakaj pa ne?!')
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)

Matthai ::

Saj bi še kaj rekel o tem koliko Windows programerji dejansko ZNAJO, pa bom raje tiho...
All those moments will be lost in time, like tears in rain...
Time to die.

Mavrik ::

Verjetno več kot pa vejo OSS programerji o uporabnosti vmesnika.
The truth is rarely pure and never simple.

MrStein ::

Kolko postov še, da bo nekdo pripel sliko svojega (seveda najdaljšega) penisa ? :\
Teštiram če delaž - umlaut dela: ä ?

darkolord ::

Matthai: no pa povej kaj o temu
spamtrap@hokej.si
spamtrap@gettymobile.si

Matthai ::

Komot povem. Gre za to, da kar naprej od raznih Wintendo navdušencev poslušamo kako so Windowsi boljši, enostavnejši za uporabo in sploh in oh.

Problem je v tem, da je posledica takega pristopa da če dovolj časa klikaš - pa ne veš točno kaj delaš - na koncu ven pade neka na videz OK rešitev.

Posledično je večina Windows "administratorjev" precej neizobraženih in ker ne poznajo nekaterih osnov, ki se skrivajo pod klikanjem, ne znajo narediti varnih aplikacij.

Tisto prej sem rekel bolj v šali, resno pa mislim, da je kljub poplavi MSCE in ostalih MS-vseznalcev kvalitetne in strokovne Windows administratorje in programerje kar težko najti.

Saj ne rečem - tudi Linux sistemci so lahko precej nesposobni. Dejstvo pa je, da če nekdo na neko povprečno mašino uspe postaviti Debian Woody server gotovo veliko bolj razume delovanje računalnika, kot nekdo, ki gor naklika Wintendo GUI server... ali pa Ubuntu 2009 EasyClick. :-)
All those moments will be lost in time, like tears in rain...
Time to die.

Daedalus ::

Mah, kljukci so lih vsepovsod. Ne tak dolgo nazaj sem se ubadal z enimi "znalci," ki so delali Joomla based stran za eno društvo, v katerem občasno kaj delam. In meli so precej simpl nalogo - narejeno grafično podobo spravit v css, zrihtat slikce in vse skup uploadat na naš hosting in inštalirat. Kljub popolnim navodilom, se je ustavilo že pri loginu na ftp, ker je pač njihov "strokovnjak" sam debelo gledal, kaj to ftp teži s tls-jem za gesla. Ajd, po dodatnem pojasnilu se mu je ratalo zlogirat in pol nekaj dni nič. Pa me kliče, da "nekaj ne dela" in grem sam pogledat. Sicer mu je ratalo uploadat stvari, sam pravice na datotekah niso štimale - in inštalacija Joomle je veselo krepala. Pa sem jih lepo odpustil. In takih "znalcev" je pri nas dovolj, tako da se sploh ne čudim, da prihaja do raznih incidentov. Če prodajalci spletnih rešitev ne razumejo osnov, pol kaj boljše ne more bit.

Aja, uradni razlog naveden z njihove strani je, da je kriv naš hosting. Na katerem se je bp do zdaj inštaliral wordpress, galerija za slike in php BB forum. Ponujena rešitev? Naj zamenjamo hosting za njihov:))
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

fiction ::

Matthai: S tem kar si napisal implicitno zagovarjas security-through-obscurity: ker je OS A bolj obskuren (tezji za instalirati), se bo "administrator", ki mu ne bo takoj uspelo, raje odlocil za OS B in tako ne bo povzrocal "nevarnosti".
Za home userje je to mogoce res, problem je samo, ce takemu cloveku v sluzbi recejo to pa to rabimo. Potem bo s "trial and error" prej ali slej namestil katerokoli zadevo ter jo potem katastrofalno administriral. Dokler ne bo kaj narobe pa tega po vecini itak ne bo nihce opazil. Enako velja za programerje.

Sicer pa ne vem kaj bi bilo pri Debianu toliko tezje v primerjavi z Ubuntu-jem - nekega globokega znanja racunalnistva, ce namestis katerikoli OS ne pokazes IMHO. Strinjam se, da so neizkuseni ljudje problem, ampak teh je dovolj v obeh taborih.
Dober GUI je kul dokler ves kaj se v ozadju dogaja.

Matthai ::

Ne zagovarjam, narobe si me razumel - kritiziram tak pristop.
All those moments will be lost in time, like tears in rain...
Time to die.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Pol milijona pohekanih spletnih strežnikov - med njimi tudi slovenski!

Oddelek: Novice / Varnost
394564 (2495) Matthai
»

Pa kaj je s SIOLom

Oddelek: Omrežja in internet
6794 (516) Ales
»

Slovenska podjetja pod udarci zlob

Oddelek: Novice / Omrežja / internet
121801 (1801) JLP
»

www.ljubljana.si

Oddelek: Loža
15897 (693) bzagozen
»

scsi port za scanner

Oddelek: Operacijski sistemi
101258 (1157) andrej

Več podobnih tem