- A hozzászóláshoz be kell jelentkezni
- 3522 megtekintés
Hozzászólások
Érdemes elolvasni ezt a szálat is:
- A hozzászóláshoz be kell jelentkezni
Írhatnál egy executive summaryt! :)
slenderm^Wspender Twitteren azért adott nekik nemrég, cargo cult securitynek nevezve az egész OS-t. :))
--
„Spiró ótvar, Konrád átok, Nádastól meg mindjárt hányok!”
- A hozzászóláshoz be kell jelentkezni
Itt egy hosszabb szösszenet spender tollából aki szerint nem sokat ér a KASLR. Innen jön a Cargo Cult Security. :)
- A hozzászóláshoz be kell jelentkezni
Köszi, érdekes olvasmány. :)
--
„Spiró ótvar, Konrád átok, Nádastól meg mindjárt hányok!”
- A hozzászóláshoz be kell jelentkezni
Pedig Neumann mit agyalt rajta...
- A hozzászóláshoz be kell jelentkezni
jo otletnek tunik...
--
"Pont attól akartam megkímélni magam, hogy gondolkodni kelljen ;)" (lajos22)
- A hozzászóláshoz be kell jelentkezni
Nem is értem, ez miért egy "biztonsági feature" 2003-ból. Ez valahol olyan alapvetőnek tűnt kezdetektől fogva, hiszen ezért vannak W és X lapok, vagy nem?(gondolom naivan) Egyszerű mint a bot, és mai programok 99%-át elvileg nem kéne hogy érintse.
- A hozzászóláshoz be kell jelentkezni
ha olyan alapvetőnek tűnik a kezdetektől fogva, akkor miért nem a Harvard-architektúrájú gépek terjedtek el mindenfelé?
--
blogom
- A hozzászóláshoz be kell jelentkezni
Azt nem mondtam, hogy nincs olyan helyzet amikor szükség lehet a program kód adatként való kezelésére, de ha már e lehetőség adott erre a védelemre, akkor a naiv logika szerint az következne hogy az oprendszer ezt csak speciális folyamatoknak engedélyezze. Egy átlag szolgáltatás esetén erre mi szükség van?
- A hozzászóláshoz be kell jelentkezni
mikor lehet erre szukseg? Ugy ertem, ha nem valami malware kodrol beszelunk...
--
"Pont attól akartam megkímélni magam, hogy gondolkodni kelljen ;)" (lajos22)
- A hozzászóláshoz be kell jelentkezni
Alkalmazás szinten valóban ritka, esetleg bizonyos virtualizáció gyorsító technikáknál, ahol egyébként a hardware-es gyorsítás nem adott(ezek egyébként sem a biztonságról híresek). Meg ugye a futásidőben történő linkelések, de ezekhez természetesen az oprendszer közreműködését kell kérni. Szóval semmi olyasmi ami a biztonságos, user szintű használathoz kapcsolódna.
Szerk:
"futásidőben történő linkelések"
Ebbe az is beletartozik mikor egy program pointereket tárol függvények meghívásához. Ez viszont eléggé sokat használt gyakorlat, úgyhogy nem tudnám kapásból a megoldást.
- A hozzászóláshoz be kell jelentkezni
nem vagom, miert kellene a futtatni kivant kod memoriaba betoltese utan irni tudni az adott lapot, azaz arra ravenni a programot, hogy mondjuk az x++ helyett x-- legyen vegrehajtva.
--
"Pont attól akartam megkímélni magam, hogy gondolkodni kelljen ;)" (lajos22)
- A hozzászóláshoz be kell jelentkezni
Abban megegyezhetünk hogy nem kell(normál userlandban). Én viszont kicsit tovább gondoltam a dolgot, hogy mi van, ha a program az adat szegmensből vesz egy pointert egy függvény meghívásához. Elég sokat látni ilyet. Egy ilyen pointer eltérítésével is lehet csúnyaságokat csinálni. Persze ha a kódszegmensbe eleve sehogyan sem kerülhet nem oda való dolog, akkor nincsen gond. Nem tudom ezt lehet-e garantálni.
- A hozzászóláshoz be kell jelentkezni
JIT compiling? OS-től függetlenül megvalósított dinamikus kódbetöltés?
- A hozzászóláshoz be kell jelentkezni
Lehet rosszul gondolom, de szerintem a JIT értelmező betöltött kódjait nem kell felül írni ehhez.
- A hozzászóláshoz be kell jelentkezni
A .NET tud (mintha tudna) olyat (talán a Java is, de ebben nem vagyok biztos), hogy ha átírok egy modult, függvényt, akkor újraindítás nélkül „beleszúrja” a futó alkalmazásba.
Ehhez, gondolom, kell.
--
blogom
- A hozzászóláshoz be kell jelentkezni
Töltse be nyugodtan a memóriába a régi kód helyére, de ezt gondolom az oprendszertől kell kérni - attól még nincs szükség szerintem arra, hogy a memóriában futó kód a saját kód részének memória területét megváltoztassa vagy felülírja - ez legyen csak a kernel joga.
- A hozzászóláshoz be kell jelentkezni
ugy erted, a kerneltol fuggetlen memoriakezeles. Got that...
--
"Pont attól akartam megkímélni magam, hogy gondolkodni kelljen ;)" (lajos22)
- A hozzászóláshoz be kell jelentkezni
Csak tipp: a harvard architektúra lényege nem a security, hanem a komplexitás csökkentése a cpu-ban azáltal, hogy a program memóriát folyamatosan lehet olvasni, az adatmemóriától függetlenül. Ez főleg RISC architektúrán érdekes, így lehet garantálni hogy az utasítások fix órajel alatt lefutnak, nem kell cachelni hogy mindig ki legyen szolgálva a pipeline, stb.
Amiért szerintem általánosabb eszközökön nem terjedt el: egyrészt amikor nagyon kevés memória állt rendelkezésre, azt jobban ki lehetett használni neumann architektúrát használva, másrészt sokkal egyszerűbb volt a programbetöltés.
Ezúttal fenntartom a jogot hogy hülyeségeket beszélek. :)
- A hozzászóláshoz be kell jelentkezni
Nem is értem, ez miért egy "biztonsági feature" 2003-ból. Ez valahol olyan alapvetőnek tűnt kezdetektől fogva, hiszen ezért vannak W és X lapok, vagy nem?(gondolom naivan)
nincsenek "X lapok"
- A hozzászóláshoz be kell jelentkezni
/write only mode off
Oké, azóta legalább a wikipédiát olvastam az NX bitről.
- A hozzászóláshoz be kell jelentkezni