On Fri, 08 Mar 2013 03:59:28 +0200, Jouko Holopainen wrote:
> Java lienee erinomainen esimerkki nykyisestä ohjelmistonkehityksen
> tasosta.
>
> Java on "hiekkalaatikossa", siinä on turvallisuusominaisuuksia
> rakennettu sisään, jne.
> <
http://www.oracle.com/technetwork/java/javase/tech/index-
jsp-136007.html>
>
> Mutta silti katiskalla saa lapattua vettä paremmin kuin Javalla.
Varmaankin, katiska on reaalimaailman esine, java ei, mutta veikkaan että
ero ei silti ole iso. En ole kyllä kokeillut ;-)
> Missä meni pieleen, kuka mokasi?
Pieleen meni, mutta mikä? Mietitäänpä. Java on hieno kieli, ehkä nykyisin
laajin platformi, josta löytyy ratkaisu lähes kaikkeen muuhun, kuin
sellaiseen jossa pitää päästä käsiksi todelliseen laitteeseen. Siihen ei
sentään vertuaalikoneessa pyörivä ohjelma pysty, jollei saa käyttöönsä
kirjastoa, jolla asia hoidetaan.
Kun jotain käytetään paljon, niin siitä löytyy myös turvallisuusongelmia.
Jos jotain ei käytetä, ei siitä ongelmiuakaan löydy. Tämä selittää paljon
sitä, miksi Javan web-applikaatioista tirvallisuusongelmia on löydetty
paljon, muilla tekniikoilla tehtynä vähemmän. Kun niitä muita toteutuksia
on niin vähän, Javalla asiat on helpompi tehdä.
Javassa on nettikäytössä siis turvallisuusongelmaa, jota tosin on
kaikessa nettikäytössä. Ihminen on paha ja jos pahaa pääsee tekemään,
niin joku sitä tekee. Netin kautta se onnistuu.
Natiivijavaa ajetaan kuitenkin nykyisin suljetuissa ympäristöissä. Niissä
käyttäjät tiedetään.
Javaa ei enää ajeta selaimessa, sillä vaikka itse web-aplikaatio olisikin
tehty javalla ja suurimassa osassa toteutuksia onkin, javaa atetaan
serverillä joka web-sivut tuottaa, mutta ei käyttäjän konella selaimessa.
Tällöin käyttäjä ei myöskään pääse Javan kautta serverille, hänellä on
vain selain käytössään ja turvallisuusongelmat ovat http-protokollan
turvallisuusongelmia, siis riippumattomia siitä miten serverin toteutus
on tehty, sillä serverin toteutus ei näy käyttäjälle muuten kuin
epäsuorasti. Niistä Javan-ongelmista, joissa ohjelmaa ajettaisiin
käyttäjän koneella selaimessa, ei siis kannata välittää, jos haluaa
tietää ongelman laajuuden. Kuinka monta sellaista Java-
turvallisuusongelmaa on auki, joissa Java on ajossa serverissä, mutta ei
käyttäjän koneella. 99.999% toteutuksista on juuri sellaisia, luuken
minä. Toedossani on vain se yksi onneton pankki, joka vaatii javaa
ajettavan käyttäjän koneella, muita tilanteita en tiedä.
Jos server-toteutus sallii käyttäjätietojen näkymisen http-requestissa
tai siinä on tietokantakysely suoraan näkyvissä, kyseessä ei ole java-
ongelma. Jos tälläisua toteutuksia on, niin varmasti joku kokeilee
sellaisiakin kyselyitä, joita ohjelmien tekijät eivät ole alkunperin
tavalliselle käyttäjälle antaneet, vaan jotka kuuluvat esimerkiksi
ylläpidolle. Tämä ei toki ole sallittua, mutta ovea ei saa jättää auki.
Muuten voi käydä varkaita. Senhän tiedämme reaalimaailmasta.
--
Re...@iki.fi.nospam.invalid
http://www.iki.fi/Reijo