|
Keskiviikko, 2.5.2001 Vakava tietoturva-aukko Windows 2000:ssaMicrosoft suosittelee kaikkia Windows 2000 ja IIS 5.0 -palvelimien ylläpitäjiä päivittämään järjestelmänsä Microsoftin sivuilta löytyvällä korjauspaketilla. IIS 5.0 -palvelinohjelmistossa on omainaisuus, joka mahdollistaa tulostuksen verkosta HTTP-protokollan avulla ISAPI-rajapintaa hyväksi käyttäen. Ominaisuuteen eksyneen ohjelmointivirheen vuoksi kräkkeri voi ottaa koneen haltuunsa puskurin ylivuotoa hyödyntämällä. Microsoftin tietoturva-asiantuntija Scott Culpin mukaan kräkkerit voivat virheen vuoksi tehdä järjestelmälle lähes mitä tahansa. Microsoft Internet Information Server -palvelinohjelmistoa käytetään arviolta noin viidessä miljoonassa palvelimessa, mutta tiedossa ei ole kuinka monessa käytetään tietoturva-aukon sisältävää 5.0-versiota. |
|
Anonyymi kommentoija, 3.5.2001 04:50:23
Anonyymi kommentoija, 3.5.2001 08:20:54
Anonyymi kommentoija, 3.5.2001 22:32:21
Djadja-P, 4.5.2001 12:56:16
OSS:sta nämä tapaavat lötyä (ja tulla korjatuksi nopeasti. GPL(* on "secured by obscurity" ja turva-aukot löytyvät enemmän sattumalta, mutta paljon helpommin kuin SETI löytää jotain järjellistä.
*) GPL tässä = Gates Private Licencing
Ammutaanhan navetassakin!
Olematon, 2.5.2001 13:24:02
directory mozilla; dmoz.org
Anonyymi kommentoija, 2.5.2001 18:31:00
Iskuhan toimii niin, että merkkijonolle on varattu vaikka 100 merkkiä tilaa, ja siihen yritetään tunkea enemmän merkkejä kuin siihen mahtuisi (vaikkapa 108) ilman tarkistuksia (vanhat mutta silti yleisesti käytetyt c-funktiot kuten strcpy, strcat, jne. kirjoittelevat kiltisti yli varatun tilan). Tässä vaiheessa ohjelma lähinnä kaatuu jos hyökkäystä ei kehitellä pidemmälle.
Varsinainen tietoturvariski syntyy, kun merkkijonon vieressä pinossa tallessa oleva funktion paluuosoite ylikirjoittuu kräkkerin omalla merkkijonolla ja merkkijonoon kirjoitetulla osoitteella. Tällöin koodin ajo siirtyy uuteen osoitteeseen (usein itse merkkijono jolla puskuri ylivuodettiin), jossa on kräkkerin itse määräämää mielivaltaista konekielikoodia joka pyörii bugisen ohjelman oikeuksilla. Yleensä koodi pystyy esimerkiksi avaamaan takaoven koneelle. Tulikohan sitten taas vähän turhan sekava selitys. :)
Tuollaisetkin pystyttäisiin välttämään, kun laiska koodaaja jaksaisi esim. strcpy:n sijaan käyttää strncpy:tä, jolle voi määrätä kopioitavien merkkien määrän niin ettei merkkejä kopioidu liikaa. Vielä parempi ratkaisu olisi lopettaa pikkuhiljaa kyseisten ikivanhojen C-komentojen käyttö kokonaan.
dmn, 3.5.2001 09:44:53
Schönke daan, kiitokset humpasta!
Djadja-P, 4.5.2001 12:50:34
strcpy() ja strncpy() ovat ok kunhan niitä käytetään oikein.
Ammutaanhan navetassakin!
dmn, 4.5.2001 14:03:55
char *strncpy(char *dest, const char *src, size_t n);
The strncpy() function is similar, except that not more than n bytes of src are copied. Thus, if there is no null byte among the first n bytes of src, the result wil not be null-terminated.
Schönke daan, kiitokset humpasta!
joukojo, 2.5.2001 13:34:06
Esimerkiksi käyttämällä c-kielen funktiota fgets, jossa voidaan määrittää kuinka paljon merkkejä luetaan.
Ymmärtääkseni suurin ongelma ohjelmille syntyy tyhjistä merkkijonoista tai liian pitkistä.
- joukojo
Anonyymi kommentoija, 2.5.2001 14:26:36
- ohjelmoitsija velho
Anonyymi kommentoija, 2.5.2001 17:03:11
jemm, 2.5.2001 21:51:01
Näitä Internetin ylitse saatavia objekteja voi ohjelmoida yhtä helposti, kuin paikallisiakin todella helposti (ainakin .NETissä).
Kaikki keskusteluun tarvittava on täysin käyttöjärjestelmäriippumatonta ja Microsoftin lisäksi useilta muilta firmoilta(IBM, Sun, Oracle jne) on tulossa vastaavia, yhteensopivia ratkaisuja.
Jos ja kun se toteutuu, niin sovellus voi hyvinkin koostua osista, joista osa pyörii Windows 2000:lla, osa Linuxissa ja osa Solariksessa eri puolilla maailmaa yms...
Mielenkiintoisia aikoja siis luvassa.
Anonyymi kommentoija, 2.5.2001 22:04:14
jemm, 2.5.2001 22:51:12
Esim. VB.NET voi periyttää C++ tai C#:lla tehdyn objektin, jota kutsutaan vaikka Cobol.NETistä, jos joku tuollaista tarvitsisi :)
Toki COMilla ja vastaavilla on päästy jo eri kielten väliseen keskusteluun interfacejen kautta, mutta se ei ole käytännössä ihan yhtä saumatonta ja helppoa, kuin .NETissä.
wizard11, 3.5.2001 10:12:27