Új hozzászólás Aktív témák
-
ddekany
veterán
"mikor lövik már végre ki winből a buffer overflow feature-t"
Ez a gond miden operációs rendszer alatt létezik, mert a CPU működési elvéből adódik, ami kompatibilis módon nem is küszöbölhető ki. A kockázat az alkalmazott programozási technika függvényében jelentősen csökkenthető (pl. JVM vagy CLR alkalamzásával natív kód helyett) de kb ennyi.
Én meg azt nem értem, miért nyit meg előnézetben egy RTF-et az Outlook magától. Ez igaz egyáltalán? Mert akkor elég hülyék voltak MS-éknél...
-
ddekany
veterán
Ez az egész sokkal mélyebb és nehezebb probléma, mint hogy a vírusirtó írók piti összeesküvéséről lenne szó... Itt arról van szó, hogy miért a végletesen gépközeli nyelvek terjedtek el (C/C++). Részben azért, mert régen a hardver erőforrás nagyobb gond volt mint most, és a gépközeli nyelvek erőforrástakarékosabbak. Lehet mondani, hogy jobban jártunk volna, ha a mostani gépek 3x annyi RAM-ot igényelnének, és 1,5x lassabbak mennénk, mert valami jobban karbantartható és biztonságosabb nyelven lett volna rajtuk írva a dolgok 99%-a. Én ezzel talán még egyet is értenék, viszont látszik, hogy ez piacilag nehezen alakulhatott volna így... Csak most kezd fény feltűnni az alagút végén (pl. hogy a .Net az OS része Vista óta), most hogy már túl erősek és túl olcsók kezdenek lennie a gépek, meg persze, hogy a szakma már bölcsebb lett az idők során.
[ Szerkesztve ]
-
ddekany
veterán
A C/C++ nyelv nagyban épít arra, hogy a CPU számára a memória címek csupán számok (pointer aritmetika, stb)... ezért lehetetlen minden lehetséges balesetre automatikus ellenőrzést írni, a tömb túlindexelés is csak bizonyos esetekben detektálható. A Java ill. C# viszont olyan nyelvek, amik eleve úgy lettek tervezve, hogy ilyen, mint memória cím (meg kontrollálatlan kasztolás) nincs. Sőt, a gépi kód amire lefordulnak (ami nem x86, hanem Java bytecode ill. CIL) sem címekben gondolkodik. Persze ettől még ezek sem sérthetetlenek, mert pl. lehet hiba a ezeket futtató C/C++-ben írt virtuális gép megvalósításában (bár ez azért valószínűleg hamar kiderül és javítva lesz), ill. azokban a modulokban amiket hívhatsz a programodból de még nem írtak át ilyen biztonságos nyelvekre... Aztán persze, a memória telibehányása (ami pl. Java és C#-ben nincs) csak egy a betörési módszerek közül, bár kétségtelenül messze a legnépszerűbb.
-
P.H.
senior tag
Tökéletesen egyetértve mindazzal, amit ddekany leírt, kiegészíteném, hogy volt ilyen kézzelfogható próbálkozás is, pl. a 286-386 idején az Intel részéről, csak a hardware-kívánalmai meghaladták sokszorosan a kor teljesítőképességét (hardware-es fordítás, multi-chip megvalósítás, specializált fordítók). Aztán a többit ismerjük, a 386 bebetonozta magát.
"Arra vagyok kiváncsi, mikor lövik már végre ki winből a buffer overflow feature-t.."
Egyes Windows-verzókban, ahol ez nem default, kézzel magadnak, bármikor: DEP beállítása az alkalmazásokra is; csak fel kell venni kivételbe a futásidőben gépi kódot generáló programokat, különben érdekes futási eredményeket kapsz (Én pl. timer-kezelésben elég sokszor alkalmaztam.)[ Szerkesztve ]
Arguing on the Internet is like running in the Special Olympics. Even if you win, you are still ... ˙˙˙ Real Eyes Realize Real Lies ˙˙˙