PHP:n päivitykset paikkaavat toistakymmentä haavaa
4.5.2007 15:55 Web-sovellusten teossa suositusta avoimen lähdekoodin PHP-ohjelmointialustasta julkaistiin kaksi päivitysversiota, jotka paikkaavat kasapäin PHP-bugikuukauden aikana löydettyjä tietoturvahaavoittuvuuksia.
PHP-bugien kuukausi -projektissa on julkaistu tähän mennessä 45 tietoturvahaavoittuvuusraporttia PHP-ohjelmointikielen tulkista ja sen kirjastoista. Haavoittuvuuksia löytyy laidasta laitaan aina globaalien muuttujien ylikirjoituksesta puskurin ylivuotoihin ja ohjelmiston kaatamisiin saakka.
PHP-projekti julkaisi tällä viikolla 5.2.2- ja 4.4.7-päivitykset ja kehottaa ylläpitäjiä päivittämään ohjelmisto ensitilassa. Tietoturvakorjausten lisäksi uudet versiot sisältävät yleisiä bugikorjauksia, jotka parantavat ohjelmiston vakautta.
Tietoturvayhtiö Secunia luokittelee päivitysten tukkimat aukot keskitason uhiksi.
- Digitodayn tuoreimmat uutiset.
- 25.5. Robottikäsivarsi hinasi Dragonin asemalle
- 25.5. Googlen Android-kauppa sai uusia rahastuskeinoja
- 25.5. Zuckerberg unohti sulhasen ohjeen - antoi 20 000 euron vihkisormuksen
- 25.5. Diablo III:n julkaisija hekumoi myyntiä ja pahoittelee bugeja
- 25.5. Lumialla voi katsella videoklippejä
- 25.5. Applen Cook kieltäytyy optioiden osingoista
- 25.5. ZTE toimittaa suomalaisella 3d-tekniikalla tehtyjä Android-puhelimia
- 25.5. Tämä käkikello muni Pebblen Kickstarter- pesään
- 25.5. Facebook Camera ottaa ja jakaa kuvia iPhonessa
- 24.5. IPhoneen uusi alihankkija
- 24.5. IBM pitää iPhonen Siriä tietoturvariskinä
- 24.5. Yle siirtää seuraavaksi Pasilan teräväpiirtoon
- 24.5. Nokia luopuu isosta massatapahtumasta
- 24.5. Huhu: Symbianiin ei enää päivityksiä
- 24.5. Blackberryn joukot harvenevat
- 24.5. Adoben flash saa saattohoitoa Windows 8:ssa
- 24.5. HP irtisanoo ja palaa taulutietokoneisiin
- 24.5. Motorola Mobilityn johdossa on nyt myyntimies
- Uusimmat
- 48h luetuimmat kaikista uutisista.
- 24.5. Huhu: Symbianiin ei enää päivityksiä
- 25.5. Zuckerberg unohti sulhasen ohjeen - antoi 20 000 euron vihkisormuksen
- 25.5. Lumialla voi katsella videoklippejä
- 25.5. Googlen Android-kauppa sai uusia rahastuskeinoja
- 24.5. IBM pitää iPhonen Siriä tietoturvariskinä
- 24.5. HP irtisanoo ja palaa taulutietokoneisiin
- 25.5. ZTE toimittaa suomalaisella 3d-tekniikalla tehtyjä Android-puhelimia
- 24.5. Nokia luopuu isosta massatapahtumasta
- 24.5. IPhoneen uusi alihankkija
- 24.5. Adoben flash saa saattohoitoa Windows 8:ssa
- Luetuimmat
- 48h suositelluimmat kaikista uutisista.
- Suositelluimmat
- 48h kommentoiduimmat kaikista uutisista.
- 24.5. Huhu: Symbianiin ei enää päivityksiä
- 25.5. Lumialla voi katsella videoklippejä
- 25.5. Applen Cook kieltäytyy optioiden osingoista
- 25.5. ZTE toimittaa suomalaisella 3d-tekniikalla tehtyjä Android-puhelimia
- 24.5. IBM pitää iPhonen Siriä tietoturvariskinä
- 24.5. IPhoneen uusi alihankkija
- 24.5. Nokia luopuu isosta massatapahtumasta
- 24.5. HP irtisanoo ja palaa taulutietokoneisiin
- 24.5. Adoben flash saa saattohoitoa Windows 8:ssa
- 25.5. Zuckerberg unohti sulhasen ohjeen - antoi 20 000 euron vihkisormuksen
- Kommentoiduimmat
Uutisviikko
Mitä viikolla on tapahtunut, mikä puhuttanut eniten? Koko viikon uutiset.
Palautetta?
Lähetä risut, ruusut ja uutisvinkit toimitukselle.
Uusimmat uutiset
- IBM pitää iPhonen Siriä tietoturvariskinä 15:40
- Adoben flash saa saattohoitoa Windows 8:ssa 09:17
- Googlen Larry Page: Facebook pitää käyttäjiä panttivankeina 07:00
- Anonymous löysi reitin jenkkiministeriön palvelimelle 22:24
- ”Apple ei anna kehittää virustorjuntaa iPhoneen” 16:55
- Uutuustuotteen lupaus verkkopelaajille: ei enää ärsyttäviä salasanoja 13:55
- Mobiilikonnat entistä ovelampia: Esimerkkinä uusi Angry Birds 14:24
- Äärijuutalaisten nettikokous täyttää kaksi stadionia 07:00
- Lisää
Poiminnat
Digiyesterday
Viisi vuotta sitten
Maila-anturi synnyttää salibandysankarin
27.05.2007 Hermia Yrityskehitys Oy:n hallinnoima Hermia Ventures -rahasto on tehnyt pääomasijoituksen A4SP Technologiesiin. Hermia Venturesin sijoituksen yhteydessä joukko yksityissijoittajia ja jo aiemmin osakkaana ollut Power Stick Oy tekivät myötäsijoitukset yhtiöön. Sijoitusten kokoluokkaa ei kerrottu.
Kolme vuotta sitten
Enics sulkee Vaasassa, Jyskän kohtalo vielä avoin
27.05.2009 Elektroniikkayritys Enics sai puristettua Suomen vähennystarpeen arvioidusta 147 hengestä 101:een. Jyskän tehtaan lopetuksesta ei vielä tehty päätöstä.
Taloussanomat
- Asuntopula ja 24 600 tyhjää asuntoa, mikä kaupunki? 06:01
- Suomikin oli hukkua liian vahvaan valuuttaan 06:09
- Yritysguru: Facebook tappaa Piilaakson 10:17
- Tämäkin vielä: Turistitkin kaihtavat Kreikkaa 15:08
- Muhkean muovinen Nissan Juke 06:05
- Unohda hameenhelmaindeksi – ensitreffit kertovat talouden tilan 16:19
- Yle: Katainen torjuu ajatuksen valtion kaivosyhtiöstä 16:54
- Konkareiden neuvot koulunsa päättäville: Intohimoa ja tasapainoa 17:47
- Jos Kreikka lähtee, Saksa kärsii 11:08
- Yllätys? Aurinkohan säteilee täällä Saksan malliin 06:09
- » Taloussanomat.fi












Kommentit (7)
Kaikista avoimen lähdekoodin projekteista tämä on kaikkein bugisin näkemäni.
Eikä asiaa yhtään myöskään helpota se että jokainen php:tä käyttävän webbisaitin käyttäjä on vaarassa noiden bugien vuoksi eikä myöskään se että ns. "PHP-ohjelmoijat" (siis tyypit jotka
eivät tosiaan osaa muuta kieltä) eivät ole kovinkaan älykkäitä koodaajia eivätkä ole kuulleetkaan turvallisesta ohjelmoinnista.
On jo aikakin että nuo bugit korjataan!
Olisiko mitään muita kieliä, joiden edes ääneen lausuminen voitaisiin tulkita ääliön merkiksi? Ruby..? Vai oliko se Rebol?
Mitesn, voiko sitä kutsua enemmän ohjelmoinniksi, jos viskotaan jollain visual studiolla valmiita komponentteja paikoilleen, säädetään muutamat parametrit, määritetään tietolähde/tietokanta, ruksataan hiirellä vielä pari kohtaa ja a'vot.. valmista tuli. Sehän se vasta onkin kenen tahansa - siis aivan kenen tahansa - nopsaan opittavissa. No ei vaiskaan.. menee provoiluksi. MUtta hei.. eikö se ole elämän tarkoituskin? Siis se provoilu. Vai onko jotain merkittävämpääkin?
Pätevä ohjelmoija taas tuskin koskee PHP:hen, koska on olemassa työkaluja joilla samat asiat on tehtävissä helpommin ja nopeammin lopputuloksen ollessa silti paljon parempi. Java, Python, Ruby ja Perl ovat esimerkiksi valovuoden edellä jos puhutaan ainoasta osa-alueesta johon PHP soveltuu eli web-sovellusten toteuttamisesta. Em. kielet sopivat sitten paljon muuhunkin kuin pelkkään web-ohjelmointiin, toisin kuin PHP.
PHP tehtiin alunperin leluksi, eikä siitä saa millään toimivaa työkalua vaikka siitä on sellaista vuosien saatossa yritettykin tehdä liimailemalla kaikenlaisia purkkavirityksiä entisten omituisuuksien ja tietoturva-aukkojen päälle.
PHP on tietoturvan kannalta onnettomin kaikista suurista kielistä, koska se kannustaa niin suoraan toteuttamaan vaarallisia sovelluksia.
Harrastella voi tietysti miten tahtoo, mutta parasta olisi olla laittamatta töitään esille julkiseen verkkoon niin kauan kuin oikeasti tietää mitä on tekemässä. Spämmiä yms. on maailmassa riittävästi muutenkin ilman että joku ystävällinen PHP-"koodari" tarjoaa heille entistä parempia resursseja toteuttaa rikoksiaan.
Puhumattakaan ASP.NETistä jossa on niin paljon asioita joita PHP:ssä ei varsinkaan ole. Ja jotka ovat monesti vähän ikävämpiä tehdä monissa muissakin. Silti mainitsemillasi onnistuvat monet asiat tosiaan paremmin kuin PHP:llä.
Pelkästään viimeisen kuukauden aikana olen törmännyt useisiin henkilöihin jotka tuskailevat kun ei esimerkiksi pysty tallettamaan tietoa koko saitin käytettäväksi (esim ASP.NETin Application-olio) ja joutuu säheltämään ties mitä viritelmiä. Ei voi helposti tunkea tavaraa välimuistiin järjestelmän hoidettavaksi (Cache), ei voi lähettää tiedostoa nopeasti kernel-tason funktioilla tai edes PHP:n omilla vaan pitää pala kerrallaan lukea ja lähettää, ei kunnon tukea UNICODElle, funktiot palauttavat epäloogisia arvoja (indexof-tyyppiset palauttavat indeksin (int) jos löytyy ja FALSE (bool) jos ei löydy, joka on sama kuin 0, eli sama kuin ensimmäinen alkio ja ongelma tulee jos ei osaa/muista/tajua tehdä ===-vertailua vaan vahingossa ==. Oikeissa järjestelmissähän käytetään yhtenäistä paluutyyppiä (int) ja paluuarvoa -1 kertomaan ettei löydy) jne. Itse onneksi vaihdoin PHP:stä pois muutama vuosi sitten ja helpotti elämää runsaasti.
Ja pahin tietysti on se, että Apache+PHP-yhdistelmässä jos sanot virtualhost X:lle jonkin admin-option, se saattaa olla yhtäkkiä päällä myös virtualhost Y:ssä ellet kirjoita sinne toista arvoa. Ja tämä on ollut PHP:n tekijöiden tiedossa jo kauan ja koskee niin nelosta kuin vitostakin. Pitääkin katsoa josko nyt olisi korjattu.
Ja kyllä, olen myös huomannut että jokaista osaavaa PHP-ohjelmoijaa kohden on noin sata osaamatonta. PHP on hip, hop ja pop, muka helppo käyttää mutta kun pitäisi tehdä oikeasti toimivaa, turvallista ja tehokasta, ollaan sormi suussa. Tai oikeastaan ei olla kun ei edes tajuta ajatella moisia.
(Niin ja ei edes aloiteta puhetta siitä mitä joutuu tekemään jos haluaisi ajaa PHP:tä eri käyttäjätunnuksilla eri saiteilla Apachen kanssa tai ongelmista saada se säieturvalliseksi tai siitä että ASP.NET on vieläkin ilman yhtään tietoturvaongelmaa verrattuna PHP:n vähän väliä tuleviin korjauksiin...)
Henk. koht. se on minulle aivan yks lyst, jos PHP ei ole hyvä valinta teollisuuslaitoksen ohjausjärjestelmän pohjaksi. Itse olen keskittynyt web-palvelujen kehittämiseen, sopivaksi katsomiani frameworkkeja ja js-kirjastoja hyödyntäen. Jos joku toinen on niin tottumaton, ettei tule ajatelleeksi tukkia mahdollisia tietoturvaongelmia, kuten SQL-injektoinnin mahdollisuutta (joka ei ole PHP-spefistä), niin sekään ei ole PHP:n ongelma, vaan tuon henkilön itsensä. Edellisen lisäksi mm. cross-site scripting on niitä asioita, joita ASP.NET-ohjelmoija joutuu ottamaan huomioon siinä missä PHP-ohjelmoijakin. vaikkapa Secuniasta voi kokeilla hakea vaikkapa hakusanoilla asp tai .net ja huomata, että sekä asp-ohjelmoija, että asp.net itse on ollut ainakin joskus reikäpäinen. Toisin kuin väitettiin siis. Apachen configurointiin en käy ottamaan kantaa, on se raja kumminkin johonkin vedettävä.
Mutta jos hetkeksi toinen näkökulma.. aina ajoittain käy itselläkin mielessä, josko PHP-ohjelmoija on kokemassa samanlaisen tilenteen kuin Amiga-käyttäjä silloin joskus. Eli monenlaista vaporwarea ja muuta "tulee pian" odotusta on ilmassa, mutta siinä välissä joutuu käyttämään jotain vajaata ohjelmistoa. Esim. Zendin PHP-kehitysympäristön Eclipse-versio on jotain mikä olisi saanut olemassa jo aikoja sitten, mutta vasta äskettäin siitä ilmestyi suht tyydyttävä versio (joka tosin kaatuu debugatessa lähes joka ikinen kerta). Ja lieköhän tuo Aptana milloin kehittyy taas lisää?
PHP:n versio 6 tulee sitten joskus, kun ehtii ja joutaa. Näköjään ainakin täysi Unicode tulossa ja jonkinmoinen nimiavaruus.
Sitäkin taannoin hämmästelin, kun ei mainannut löytyä valmista luokkaa matriisilaskuja varten. Lieköhän sellainen löytyy kaikista muista ohjelmointikielistä ihan out-of-the-box?
Pyydän ottamaan huomioon sen tien, joka on esim. omalla kohdallani johtanut PHP:n käyttöön. Se on ohjelmointikieli, jonka hallitsemisessa olin ehtinyt varsin pitkälle (ihan omin nokkineni) ja se pysyi edelleen käytössä siinä rinnalla amk:n C++, C# ja Java -kursseja käydessä. Lisäpontta PHP-linja sai aina silloin kun käyty kurssi - esim. eräs 5 op:n Java-kurssi - oli silkkaa kuraa, silmät kiinni sieltä täältä kokoon parsittuna. Tämä ei kumminkaan tarkoita sanoa, että kaikki ei-PHP -kurssit olisivat olleet huonoja. Ei suinkaan, mutta henkilökohtaisesti olen tulen useamman kerran viikossa viehättyneeksi ja innostuneeksi vähän joka asiasta, mitä käsitellään Ajaxian.com:ssa ja joita palvelinpuolella PHP:tä käyttävänä voin hyödyntää tekemisissäni.
Symbiatch-nimimerkki mainitsi säikeisyyden. Tämä todella onkin eräs PHP:n heikoista puolista, mutta heti perään mielessäni pyörähtää esimerkkejä lukuisista PHP-pohjaisista nettisovelluksista, kuten vilkasliikenteisistä nettifoorumeista, ja unohdan jälleen koko asian.
Vielä selityksen tässä vaiheessa saattanee edelleen olla tarpeellista täsmentää, etten ole kiinnostunut ottamaan päälle asennetta "PHP on parempi kuin ohjelmointikieli X". Ei ole minun sotani sellainen. Javaan tai C#:iin siirtymisessä en havaitse itsessäni mitään ideologista tai muuta sellaista kynnystä/estettä.
Mutta kuten sanoin alumpana, "olen keskittynyt web-palvelujen kehittämiseen, sopivaksi katsomiani frameworkkeja ja js-kirjastoja hyödyntäen". PHP on vain yksi palanen tätä kokonaisuutta, eikä siinä mielessä pelkkä raaka ohjelmointikielien vertaaminen ole kovin mielekästä. Olennaista on myös millaisen flown saa päälle työskennellessään, minkälaisista ohjelmista ohjelmointiympäristö koostuu, pysyykö käsitys siitä "toimiiko tämä koodi selaimessa X" mielessä helposti vai joutuuko jatkuvasti pinnistelemään tajutakseen mitä koodi tai komponentti oikeastaan edes tekee. Tämä jälkimmäinen on varsin olennainen syy sille, miksi tykkään työskennellä lähellä koodia. Saan siten paremmin "touchin" siihen mitä teen ja tekemästäni seuraa. Tosin, liian pitkään nenä yksityiskohdissa kiinni ollessa voi kokonaisuudentaju kadota. Mutta siksikin on olemassa suunnitelmat, kaaviot ja muu dokumentaatio, sekä käyttäjätestaukset.
Mitä tulee PHP-osaamisen hyödyntämiseen "oikeassa työelämässä", niin kyllä se varmasti opettaa lukuisia ohjelmointikielestä riippumattomia taitoja, hahmottamiskykyä, termejä, jne. Tässä ohessa on tullut myös saatua hyvä perustuntuma sellaisiin asioihin kuin esim. XML, XSL, XPath, SQL.. Muutaman mainitakseni. Ne eivät taitane ihan heti kaikota maisemista?
Tiedon kieputtelusta ja muovaamisestahan tässä loppujen lopuksi on kyse.
Itse olen koulutukseltani ohjelmistosuunnittelija erikoistuneena .NET-kieleen. Nyttemmin teen päiviätyökseni www-sovelluksia ja käytän koodaamiseen PHP:tä, tätä työtä olen tehnyt kokopäiväisesti viimeiset kaksi vuotta.
PHP ei ole täydellinen ohjelmointikieli ja siinä on paljon puutteita mitä kaipailen C# / ASP maailmasta. Mutta toisaalta taas PHP on huomattavan paljon vapaampi ympäristö verrattuna .NET maailmaan, missä iso osa työstä tehdään luokkakirjastojen avulla. Siksipä myös kunnollisen PHP:n koodaus vaatii paljon tietämystä tietoturvasta ja erillaisten hyökkäysten estämisestä. Tämä yhdistettynä PHP:n helppoon aloituskynnykseen tuottaa paljon koodia, jota voisi kuvailla reikäjuustoksi.
Tämän lisäksi vielä itse PHP-moottorille löydetään paljon reikiä johtuen sen OS-luonteesta ja aktiivisesta kehittäjäkunnasta, niin PHP ei tosiaankaan ole yhtä turvallinen kieli kuin muut. Kuitenkin PHP:llä voidaan tehdä yhtä turvallista koodia kuin millä tahansa muullakin, jos vaan koodaaja osaa hommansa.