Kirjaudu

Uutiskirje

Rekisteröidy Sektoriin ja tilaa itsellesi joko aamuisin tai iltaisin ilmestyvä uutiskirje sähköpostiisi.

Perjantai, 8.10.2004

ASP.NET-haavoittuvuus ohittaa websivujen salasanasuojauksen

Microsoftin ASP.NET-teknologiasta on löytynyt haavoittuvuus, jota hyväksi käyttämällä mahdolliset tunkeilijat voivat päästä sisään salasanasuojatuille sivuille pelkästään sivun URL-osoitetta muokkaamalla. Microsoftin mukaan ongelma koskee ASP.NETin kaikkia versioita Windows 2000-, Windows XP- ja Windows 2003-käyttöjärjestelmissä. ASP.NET-teknologiaa käyttää yli 2,9 miljoonaa verkkopalvelua, kertoo internet-tutkimusyhtiö Netcraft.

Haavoittuvuuteen ei toistaiseksi ole saatavilla korjauspäivitystä, mutta Microsoft on julkaissut sivuillaan ohjeet miten ASP.NET-palvelinsovelluksia tulisi muuttaa ongelmien välttämiseksi. Haavoittuvuuteen on myös tulossa korjauspäivitys, kunhan se saadaan ensin valmiiksi ja testattua.

Lue juttu oma, 8.10.2004 00:11. Lähde: Microsoft
Rekisteröidy ja kirjaudu sisään, jos haluat kommentoida.

Kommentit ( 18 uutta / 18 )
pistettä.
Näytä vain kommentit joilla on vähintään
jemm icrosoft ASP.NET ValidatePath Module
jemm, 9.10.2004 13:16:29
Pisteet: +1
"Microsoft has released an ASP.NET HTTP module that Web site administrators can apply to their Web server. This module will protect all ASP.NET applications against all potential canonicalization problems known to Microsoft."

Löytyy täältä:
http://www.microsoft.com/downloads/details.aspx?fa...
-Jemm
feenix a-u-ts
feenix, 8.10.2004 07:54:45
Pisteet: +1
Ei kiva. Onneksi käytän omaa järjestelmää tunnusten ja salasanojen kyselyssä sivustoillani, ei ole tämä ongelmana. Sinänsähän tämä on jo toinen kanonisointiongelma MS:llä, aiempihan oli UTF:n kanonisointivirhe, joka antoi päästä ulos webrootista (teki vai ../../ ja koodasi pisteet silloin sallituksi, nykyään kielletyksi UTF8:ksi).

Oletettavasti korjaus tulee suht nopeasti tällaiseen vikaan, mutta kuten sanottu, testaus vie aikaa. Ei voida tehdä pikapaikkaa joka sitten rikkookin myös ne sivut joissa ei salasanasuojausta kysellä. Todennäköisesti MS:ltä saa jo väliaikaiskorjauksen jos on partneri tai muuta, aika usein on näin ollut.
daddymac Re: a-u-ts
daddymac, 8.10.2004 08:17:01
Pisteet: 0
odennäköisesti MS:ltä saa jo väliaikaiskorjauksen jos on partneri tai muuta, aika usein on näin ollut.
...mutta kuka partneri asentaa testaamatonta väliaikaiskorjausta johonkin kriittisempiin järjestelmiin, jos ei ole mitään takuita että mihin kaikkeen muuhun se vaikuttaa? Hasardipeliä, sanoisin.

</antti>
feenix Re: a-u-ts
feenix, 8.10.2004 10:54:24
Pisteet: 0
odennäköisesti MS:ltä saa jo väliaikaiskorjauksen jos on partneri tai muuta, aika usein on näin ollut.
...mutta kuka partneri asentaa testaamatonta väliaikaiskorjausta johonkin kriittisempiin järjestelmiin, jos ei ole mitään takuita että mihin kaikkeen muuhun se vaikuttaa? Hasardipeliä, sanoisin.
Testaamatta aniharva, mutta aika moni saattaa tehdä omat testit ja todeta että heidän järjestelmissään toimii, käytetään.

MS:ltä on sinänsä jo itse asiassa saatavilla korjaus asiaan, sillä on asennettavissa väliaikainen esto tällaisten kyselyiden läpipäästämiselle. Ja sen tiedetään toimivan, sillä se tiputtaa nämä pyynnöt pois. Lopullinen, ASP.NETin sisällä oleva korjaus sitten tulee myöhemmin.

(Hassua ettei vieläkään tästä sotaa tehty, auttoikohan anonyymien esto tosiaankin asiaa)
MiiQu Re: a-u-ts
MiiQu, 8.10.2004 14:09:06
Pisteet: 0
(Hassua ettei vieläkään tästä sotaa tehty, auttoikohan anonyymien esto tosiaankin asiaa)
Ei noihin kellonaikoihin vielä, trollit nukkuvat päivisin.
Re: a-u-ts
Tohveli, 8.10.2004 14:57:06
Pisteet: 0
(Hassua ettei vieläkään tästä sotaa tehty, auttoikohan anonyymien esto tosiaankin asiaa)
Ei noihin kellonaikoihin vielä, trollit nukkuvat päivisin.
Taitaa mennä työ / koulupäivän piikkiin, mutta ei itse aiheessa nyt luulisi olevan hirveesti kommentoitavaa, se on rikki jotenka se korjataan.
Jos kerran MS'llä ohjeet tarjolla kriittisyyden aisoissa pitämiseen niin mitäpä muuta siinä voi tehdä kun odottaa korjausta.
Kieltämättä aina sääli nämä tälläiset jos on harrastelija sivustoja jotka eivät päivity ehkäpä kovinkaan tiheään tahtiin, joten suurempi kiusa niille. Kun taas suuremmissa firmoissa taitaa olla siitä leipänsä saavia ihmisiä.
feenix Re: a-u-ts
feenix, 8.10.2004 15:44:57
Pisteet: 0
Kieltämättä aina sääli nämä tälläiset jos on harrastelija sivustoja jotka eivät päivity ehkäpä kovinkaan tiheään tahtiin, joten suurempi kiusa niille. Kun taas suuremmissa firmoissa taitaa olla siitä leipänsä saavia ihmisiä.
Harvemmalla harrastelijalla on varmaankaan Windows-serveriä itsellään, sen sijaan HSP:t varmaankin korjauksia laittelevat aika tehokkaasti ennaltaehkäisevästikin. Joten en usko tuon kauheaa ongelmaa aiheuttavan.
Pisterajan alittavia kommentteja piilossa.
JoPo Re: a-u-ts
JoPo, 12.10.2004 11:57:03
Pisteet: 0
Ei mahda Sektori:n pojat kestää kritiikkiä, kun miinuksia pukkaa.
-----------------
Jouni
Buzer Käytetenkö sitä edes?
Buzer, 8.10.2004 20:09:23
Pisteet: 0
Itse käytän PHP:tä ja ASP(.NET):in tuntemus on suhteelisen pieni, mutta kuitenkin. Kuinka moni oikeasti käyttää kielen sisäistä kirjautumisjuttuja? Itse en käyttäisi vaikka sellainen mahdollisuus PHP:hen luotaisiin tai ASP.NET:iä alkaisin käyttämään. Se syy on yksinkertainen: Jos löytyy haavoittovuus, niin sitä varmemmin hyödynnetään. Vai kumman haavoittovuuksia käytetään varmemmin hyväksi (jos siis sattuu löytymään) ja löydetään: Sellaisen jota käyttää yksi sivusto vai sellaisen jota käyttää monet tuhannet sivustot joista puolet saattaa olla paikattu? Tokihan se on nopeampaa tehdä se alemmilla tasoilla (tosin, eikös ASP.NET ole kirjoitettu C# millä voi myös kirjoittaa ASP.NET sivustoja, eli siinä nopeus pitäisi saada samaksi jos osaa optimoida? Näin sen olen ymmärtänyt. Korjatkaa jos olen väärässä), mutta en usko että monellakaan sivustolla on ongelmaa, että monet tuhannet käyttäjät kirjautuvat kerralla (jolloin sitä nopeutta voitaisiin oikeasti tarvita)?
feenix Re: Käytetenkö sitä edes?
feenix, 10.10.2004 07:13:46
Pisteet: 0
Itse käytän PHP:tä ja ASP(.NET):in tuntemus on suhteelisen pieni, mutta kuitenkin. Kuinka moni oikeasti käyttää kielen sisäistä kirjautumisjuttuja? Itse en käyttäisi vaikka sellainen mahdollisuus PHP:hen luotaisiin tai ASP.NET:iä alkaisin käyttämään. Se syy on yksinkertainen: Jos löytyy haavoittovuus, niin sitä varmemmin hyödynnetään.
Aika moni, koska tuo helpottaa elämää. ASP.NETin kirjautuminen on yksinkertaisuudessaan siis vain sellainen, että se ohjaa automaattisesti autentikointisivulle, jos haetaan suojattuja sivuja ja autentikoinnin hoitaa sivuston tekijä. Sen jälkeen kun autentikointi on ok, ohjataan sinne sivulle jota haettiin. Eli itse autentikointi on ylläpitäjän vastuulla.

Sinänsä ikävä tosiaankin että tämä reikä ohittaa tuon autentikointiin ohjauksen.

Tokihan se on nopeampaa tehdä se alemmilla tasoilla (tosin, eikös ASP.NET ole kirjoitettu C# millä voi myös kirjoittaa ASP.NET sivustoja, eli siinä nopeus pitäisi saada samaksi jos osaa optimoida? Näin sen olen ymmärtänyt. Korjatkaa jos olen väärässä), mutta en usko että monellakaan sivustolla on ongelmaa, että monet tuhannet käyttäjät kirjautuvat kerralla (jolloin sitä nopeutta voitaisiin oikeasti tarvita)?
Ei tarvitse osata optimoida sen enempää kuin muissakaan kielissä, mutta tehokkuus on vakiona parempi kuin monissa muissa. Kieli jolla kirjoitetaan ei kauheasti vaikuta, kääntäjä enemmänkin, kaikki kun kääntyvät samalle välikoodille. Puhumattakaan siitä, että kirjautuminen ei ole yleensä kauhean raskas toimenpide.
Re: Käytetenkö sitä edes?
eXeonical, 8.10.2004 20:36:18
Pisteet: 0
Toisaalta, ohjelmoija voisi ajatella että Microsoftin testaama ja huolella(?) valmistama authentikointi on parempi ratkaisu kuin oma purkkaviritelmä. Mutta todennäköisemmin monet vain ajattelevat että on turha keksiä pyörää uudelleen jos ratkaisu on jo käytettävissä.
Datamike Re: Käytetenkö sitä edes?
Datamike, 9.10.2004 00:49:35
Pisteet: 0
Toisaalta, ohjelmoija voisi ajatella että Microsoftin testaama ja huolella(?) valmistama authentikointi on parempi ratkaisu kuin oma purkkaviritelmä.
Onneksi kaikki eivät ajattele noin. Siinä on ihan oikeita etuja suunnitella oma järjestelmä. Itse käytän omaa Auth -luokkaa joka hoitaa kaikki käyttäjä autentikoinnit kaikilla sivustoillani ja on aina pitänyt. On PHP:llä oma käyttöliittymä käyttäjä autentikoinnille, on superglobal muuttujia, jne. Itse en luota niihin, koska ne ovat usein altiita web:n kräkkereiden yleisimpien työkalujen kohteiksi (kuten esim. fake httpd pyynnöille, fake kekseille, jne.).

Mutta todennäköisemmin monet vain ajattelevat että on turha keksiä pyörää uudelleen jos ratkaisu on jo käytettävissä.
Ei tarvitsekkaan, koska fiksu koodari yleensä etsii ensin jotain mitä joku muu on tehnyt. Autentikointiin löytyy esim. oikein toimiva PHP luokka, mikäli meinaa että omat taidot/aika eivät riitä sellaisen kyhäämiseen. Luonnollisesti , jos taidot riittävät, niin ei ole mitään syytä miksi joku ei tekisi omaasakin. Itse rakennan yleensä kaikki palikat itse, ihan siksi että a) it's fun b) silloin ne toimivat niin kuin minä haluan ja c) voin tehdä vaikutuksen työnantajiin ;-)
"Given enough eyeballs, all bugs are shallow."
daimoni Re: Käytetenkö sitä edes?
daimoni, 9.10.2004 11:42:05
Pisteet: 0
Ei tarvitsekkaan, koska fiksu koodari yleensä etsii ensin jotain mitä joku muu on tehnyt.
Yleensä fiksu koodari joutuu toteamaan että löytynyt koodi on
1) huonoa
2) ei vastaa tarpeita
3) käyttää eri coding standardseja kuin oma projekti
4) on joko liian bloat tai featureita puuttuu
5) lisenssi on väärä
"Minusta on viime aikoina daimonin kommentteja lukeneena alkanut muutenkin tuntua, että äijä kuvittelee olevansa joku jumalhahmo, jonka sana on totuus ja laki."
-- Anonyymi kommentoija
kakoskin Re: Käytetenkö sitä edes?
kakoskin, 9.10.2004 09:59:44
Pisteet: 0
Toisaalta, ohjelmoija voisi ajatella että Microsoftin testaama ja huolella(?) valmistama authentikointi on parempi ratkaisu kuin oma purkkaviritelmä.
Onneksi kaikki eivät ajattele noin. Siinä on ihan oikeita etuja suunnitella oma järjestelmä. Itse käytän omaa Auth -luokkaa joka hoitaa kaikki käyttäjä autentikoinnit kaikilla sivustoillani ja on aina pitänyt.
Toivottavasti olet myös huomioinut seuraavat asiat:
1. Salannut liikenteen vähintään silloin kun salasanat siirretään
2. Et talleta kantaan itse salasanoja kantaan vaan niiden hash arvot tms.
2. Tarkistat ettei salasana ole triviaali, liian lyhyt ja helposti murtuva
3. Tarkistat ettei salasana ole sama kuin käyttäjän aiemmat salasanat
4. Pyydät käyttäjiä vaihtamaan salasanat tietyn väliajoin
jne. jne.

Ei ole _helppoa_ koodata vastaavaa järjestelmää kuin mitä windows autentikointi käyttää, lukaisepas vaikka googlesta mikä on kerberos ;)
Datamike Re: Käytetenkö sitä edes?
Datamike, 9.10.2004 10:35:37
Pisteet: 0
Toivottavasti olet myös huomioinut seuraavat asiat ...
Lyhyesti, kyllä, olen huomioinut mainitsemasi seikat.

Ei ole _helppoa_ koodata vastaavaa järjestelmää kuin mitä windows autentikointi käyttää ...
No, moista järjestelmää ei kuulu yrittääkään mikäli ei ole varma että osaa tehdä siitä luotettavan. En ole tutustunut ASP.NET:n tai Windows:n käyttämään autentikointi järjestelmään, mutta hyvän ja kelpaavan autentikointi script:n esim. intra/extranet ratkaisuihin voi saada itse aikaiseksi pienellä vaivannäöllä. Tein oman ratkaisuni ekan version kun alunperin halusin autentikoinnin omalle kotisivulleni, ja siihen aikaan olin vielä suhteellinen harrastelija koodarina.

lukaisepas vaikka googlesta mikä on kerberos ;)
Ei ole tarvis.
"Given enough eyeballs, all bugs are shallow."
kakoskin Re: Käytetenkö sitä edes?
kakoskin, 8.10.2004 22:30:30
Pisteet: 0
käytän PHP:tä ja ASP(.NET):in tuntemus on suhteelisen pieni, mutta >kuitenkin. Kuinka moni oikeasti käyttää kielen sisäistä kirjautumisjuttuja? >Itse en käyttäisi vaikka sellainen mahdollisuus PHP:hen luotaisiin tai >ASP.NET:iä alkaisin käyttämään.
Windows-autentikoinnin käyttäminen on fiksua yrityksissä, joissa pyöritään Windows domainissa. Käyttäjien ei tarvitse muistaa kuin verkkosalasanansa ja käyttäjä pystytään tunnistamaan helposti.
Oli aikas yllättävää että noin paha reikä löytyi, täytyy tosin huomata, että itse windows-autentikontia tuo ei koske vaan pelkästään asp.net tapaa hyödyntää sitä.
feenix Re: Käytetenkö sitä edes?
feenix, 10.10.2004 07:09:27
Pisteet: 0
Windows-autentikoinnin käyttäminen on fiksua yrityksissä, joissa pyöritään Windows domainissa. Käyttäjien ei tarvitse muistaa kuin verkkosalasanansa ja käyttäjä pystytään tunnistamaan helposti. Oli aikas yllättävää että noin paha reikä löytyi, täytyy tosin huomata, että itse windows-autentikontia tuo ei koske vaan pelkästään asp.net tapaa hyödyntää sitä.
Ei, tuo ei liity mitenkään NTFS-autentikointiin. Tuo reikä on vain jos teet oman autentikoinnin ja käytät ASP.NETin valmista kirjautumistapaa. NTFS-autentikoinnissahan veppiserveriltä on kielletty tiedostojen lukeminen, samoin järjestelmältä, joten niitä ei voi lukea ilman oikeaa tunnusta.

Sen sijaan ASP.NET tarjoaa mahdollisuuden määritellä tietyt sivut salasanasuojatuksi ja antaa ASP.NETin huolehtia ohjauksesta salasanakyselysivulle. Tämän jälkeen itse sivun tekijä tarkistaa onko salasanat oikein vai ei. Ja tämän kanssa on nyt ongelma.