Nyt osa niistä "tietoturvaa parantavista" featureista unohtui, kun ne ei olleetkaan enää käteviä,
Niin mikä unohtui? Noista aiemmin mainitsemistani tekniikoista Shadow Stack on mielestäni ainoa, johon en tuossa siteeraamassasi viestissä enää viitannut. Kyseinen tekniikkahan olisi periaatteessa mahdollista toteuttaa puhtaasti raudalla siten, että se on softalle täysin näkymätön eikä vaadi olemassaolevilta ohjelmilta mitään tukea.
ASRL:ssä on ollut ja tulee olemaan haavoittuvuuksia
ASLR ja sen haavoittuvuudet olisivatkin sinänsä varsin mielenkiintoinen keskustelun aihe, jos vain porukalla riittäisi asiantuntemusta ja malttia pohtia sitä faktapohjalta ja ilman pakonomaista tarvetta todistaa omat näkemyksensä oikeiksi. On harmi että näissä nettiväittelyissä liian suurta osaa keskustelijoista tuntuu motivoivan lähinnä pätemisen tarve ja keskustelukumppanin kuvitteellinen "päihittäminen", sen sijaan että tavoitteena olisi oman ymmärryksen syventäminen ja totuuteen pyrkiminen.
Jos mietitään ASLR:n toimintaa nettiselaimen kontekstissa, jossa brute force -hyökkäysten mahdollisuus on suljettu pois (=hyökkäystä voidaan yrittää max pari kertaa, koska virheellisten muistiosoitteiden käyttäminen hyökkäyksessä johtaa selaimen kaatumiseen, ja käyttäjä alkaa ihmetellä), niin käsittääkseni ASLR:n haavoittuvuudet voidaan jakaa kahteen luokkaan: joko jonkin tärkeän koodimoduulin sijaintia ei ole randomoitu ollenkaan (tai se on sijoitettu ennalta-arvattavasti), tai sitten hyökkäyksessä olennaisten koodi- ja data-alueiden sijainnit on mahdollista päätellä sopivan ns. information leakage -haavoittuvuuden avulla. Jälkimmäisessä tapauksessa hyökkäysdata on generoitava dynaamisesti leakage-haavoittuvuuden paljastamien tietojen perusteella, jotta sen sisältämät muistiviittaukset osoittaisivat oikeisiin paikkoihin. Tämän vuoksi exploitit kunnolla toteutettua ASLR:ää vastaan (joka on siis haavoittuvainen vain jälkimmäisellä mekanismilla) vaativat käytännössä mahdollisuutta ajaa skriptejä kohdeprosessin kontekstissa, koska vuotavan muistiosoiteinformaation perusteella dynaamisesti mukautuvaa hyökkäysdataa on aika vaikea toteuttaa muulla tavoin (ellei sitten ko. prosessia saada jotenkin lähettämään sitä vuotavaa informaatiota verkon yli).
Yllä selostetun perusteella arvelen, että NoScript-tyyppisillä selainlisäkkeillä saavutetaan melko hyvä suoja ASLR:n haavoittuvuuksia vastaan. Toki mielelläni korjaan näkemystäni, jos joku pystyy osoittamaan järkeilyni virheelliseksi, tai tietää jonkin sellaisen ASLR-haavoittuvuustyypin, jonka exploittaaminen onnistuu ilman skriptejä siinäkin tapauksessa, että kaikkien koodi- ja data-alueiden sijainnit on randomoitu asianmukaisesti.
-- kotikonstein ja hienoin sanankääntein taas myyt tätä käärmeöljypropagandaa.
Aika outo tapa ilmaista asiat. Minähän nimenomaan en myy mitään, enkä edes yritä käännyttää ketään. Tuon vain parhaaseen tietooni perustuvat käsitykseni julki, ja yritän vieläpä olla mahdollisimman avoin niistä perusteista, joiden varaan käsitykseni pohjaan. Mutta koska käsitykseni ovat täällä vallitsevan konsensuksen vastaisia, ne ilmeisesti ovat automaattisesti propagandaa.
Palomuurin konffauksessa käsin kaikille sovelluksille ei taas ole työmäärällisesti mitään järkeä.
Ja sovelluskohtaisesta palomuurista kun siirrytään tuohon tilalliseen palomuuriin, niin ne ei ole mitään halpoja laitteita ja ei niitä ole kotikäyttäjämustasusilla.
Jaa, itsellä oli lähinnä ajatuksena ihan tavallinen softapalomuuri (joko Windowsin oma tai sitten joku freeware) siellä käyttäjän kotikoneella. Ja eikai se nyt niin valtavan työlästä voi olla säätää palomuuri siten, että niille muutamalle välttämättä nettiyhteyden tarvitsevalle ohjelmalle ulospäin lähtevät yhteydenmuodostuspyynnöt ovat sallittuja, mutta kaikki muu sitten kiellettyä. Tämä käsittääkseni onnistuu parhaissa freeware-palomuureissa jopa puoliksi automaattisesti: kaikki tietoliikenne on aluksi estettyä, ja sitä mukaa kun erilaiset sovellukset yrittävät ottaa yhteyttä ulospäin, palomuuri kysyy käyttäjältä tyyliin "Sovellus X yrittää muodostaa yhteyttä kohteeseen Y, sallitaanko väliaikaisesti, pysyvästi, vai blokataanko kokonaan?" ja käyttäjän vastauksen perusteella palomuuri luo automaattisesti uuden säännön.
Ja koeta nyt herrajumala ymmärtää, että on muitakin protokollia kuin TCP/IP. Tai edes eriyttää nuo kaksi ja lukea seuraavana wikipediahienosana-artikkelinasi vaikka OSI-kerrokset.
Itselläni on kyllä tiedossa TCP:n suhde IP-protokollaan sekä muut yleisimmät IP-pohjaiset protokollat, että kiitos vaan ehdotuksesta. Itse asiassa minun oli alunperin tarkoituskin mainita tuossa viittaamassasi kohdassa myöa muita protokollia, mutta jätin ne sitten pois kun lauserakenne olisi mutkistunut ylettömästi, ja noita sulkujen sisään lisättyjä välihuomautuksia tulee muutenkin liikaa. Onhan se toki totta, että kaikkiin IP-pohjaisiin protokolliin liittyy oma riskinsä, ja TCP:n mainitsin lähinnä esimerkinomaisesti, koska ylivoimaisesti suurin osa kaikesta tietoliikenteestä on TCP:n päällä kulkevaa. Ehkä olisi tosiaan pitänyt miettiä tuon kohdan muotoilua vähän tarkemmin.
Voisin tietenkin kirjoittaa tähän joitakin ajatuksia yleisimpien ei-TCP-pohjaisten protokollien (kuten UDP:n ja ICMP:n) tietoturvaimplikaatioista, mutta voi olla että tämä viesti paisuisi silloin ihan liian pitkäksi. Ehkä joku muu tekee asian puolestani.
Kah, kun et ajele sitten kaikkia sovelluksia virtuaalikoneessa vaikka XP modessa, kun niitä pitää niin kovasti "sandboxata".
Tämä oli varmaan olevinaan jonkinlaista ironiaa, mutta kaiken sandboxaaminen oletuksena on itse asiassa ihan järkevä lähtökohta. Esim. maksimaaliseen tietoturvaan pyrkivässä Qubes OS:ssä kaikki ohjelmat ajetaan kertakäyttöisissä virtuaalikoneissa.
Kuvittelet olevasi kaikki muita fiksumpi.
En kuvittele olevani erityisen fiksu, mutta jos totta puhutaan niin joskus kyllä vähän turhauttaa, kun syntyy sellainen vaikutelma, että omat tiedot joissakin tietotekniikkaan liittyvissä asioissa ovat paljon syvemmällä tasolla kuin valtaosalla tämäntyyppisten foorumien aktiivikeskustelijoista. Silloin faktapohjainen keskustelu, jossa itselläkin olisi mahdollisuus oppia jotain, on aika hankalaa.
Todellisuudessa mikään järjestelmä ei ole aukoton, ja suurin suojasi tällä hetkellä on se, että ketään ei oikeasti kiinnosta sinun koneesi ja sen data. -- Ei se, että konettasi ei ole vielä murrettu todista sitä, että sitä ei voi murtaa. Et vaan ole sattunut tulilinjalle ja kikkailusi vähentää ne helpot yritykset pois.
No tässä olet kyllä pitkälti oikeassa. Kuten edellisessä viestissäni totesin, ei kukaan rupea manuaalisesti yrittämään murtautumista jonkun satunnaisen kotikäyttäjän koneelle, ellei ole tiedossa, että siellä on jotain poikkeuksellisen arvokasta dataa. Tavallisen netinkäyttäjän uhkana ovat lähinnä automatisoidut exploit kitit ja muut kohdentamattomat hyökkäykset, joiden toimivuutta on helppo vähentää radikaalisti niillä keinoilla mitä kutsut "kikkailuksi".
Sitten jos uhka-arvioon otetaan mukaan kohdennetut hyökkäykset, niin ruvetaan liikkumaan jo ihan toisenlaisissa sfääreissä, ja siinä vaiheessa on väliä jo paljon muullakin kuin käyttöjärjestelmän (ja muiden softien) päivitysten ajantasaisuudella. Esimerkkinä huomioon otettavista asioista mieleen tulee mm. proof of concept -tasolla toteutettu hyökkäys, jossa tietoturvatutkijat ovat verkkokortin firmware-bugeja hyödyntämällä saaneet ujutettua haittakoodia ensin sinne verkkokorttiin, ja sieltä edelleen DMA-siirtojen avulla käyttöjärjestelmään. Siinä ei paljoa auta se että käytössä on uusin Windows viimeisimmillä tietoturvapäivityksillä.
Enpä tiedä, minusta on haitallisempaa tällaisen valheellisen turvallisuudentunteen levittäminen, kuin päivittämiseen pakottaminen.
No jokainen toki itse päättää mihin netistä lukemaansa uskoo, ja käytännön ratkaisut tekee kukin omalla vastuullaan. Kannattaa kuitenkin huomata, että tietoturva on iso bisnes, ja monella taholla on täydet intressit liioitella tietoturvauhkia. Monet firmat myyvät tietoturvaratkaisuja (ihan virustorjuntaohjelmista alkaen) ainakin jonkin verran ostajan tietämättömyydestä hyötyen, Microsoft pelottelee vanhojen käyttöjärjestelmiensä turvattomuudella jo vuosia ennen kuin niistä on tuki loppunut, ja verkkolehdet kalastelevat klikkauksia repimällä toinen toistaan dramaattisempia otsikoita lähes jokaisesta uudesta tietoturva-aukosta, koska pelko myy. Tätä taustaa vasten on mielestäni vain reilua ja tasapuolista, että joku tarjoaa vaihtoehtoisiakin näkökulmia.
-- kikkakolmosten ja asetusnäpräilyn sijasta voisit sinäkin vain päivittää koneesi.
Ongelma on siinä, että monet eivät ole tyytyväisiä Microsoftin nykyiseen filosofiaan eivätkä Windowsin viime vuosien aikaiseen kehityssuuntaan, joten he eivät halua päivittää siihen uusimpaan Windowsiin. Vaihtoehtoja on kuitenkin varsin rajallisesti, ja siirtyminen johonkin Linux-distroon (tai ehkä jopa Applen tuotteisiin), tai ylipäätään erilaisten vaihtoehtojen kypsymisen odottelu, ottaa aikansa. Tässä mielessä noiden "kikkakolmosten" ja "asetusnäpräilyn" antama lisäaika on nähdäkseni monelle pelkästään tervetullutta.
-- uskosi siihen palomuuriin on lähes fanaattisen sokea.
Ei ole. Tiedostan hyvin että palomuuri soveltuu kunnolla vain ulkoa sisään päin suuntautuvan liikenteen suodattamiseen, eikä päinvastaiseen tapaukseen jossa jokin haitake on jo sisällä ja sen viestintä ulospäin pitäisi saada estettyä. Tuossa ensin mainitussa tehtävässä palomuurin rooli on kuitenkin varsin yksinkertainen, ja sen vuoksi sen voidaan odottaa toimivan siinä luotettavasti vaikkei se edes olisi mitenkään erityisen ajantasainen; palomuurin tarvitsee vain tutkia jokaisesta tietoliikennepaketista muutama otsikkokenttä (TCP/IP:n tapauksessa lähinnä lähde- ja kohdeosoite, lähde- ja kohdeportti sekä flägit), joiden perusteella se päättää, välitetäänkö se eteenpäin vai ei. Ei se ole tämän kummempaa. Legitiimin tietoliikenteen kuten nettisurffailun mukana tulevaan mahdollisesti haitalliseen dataan palomuuri ei tietenkään ota mitään kantaa eikä voi sellaiselta suojata, mutta tämän vuoksi on käytössä sitten ne muut keinot.