( geza42 | 2020. 09. 29., k – 12:01 )

Az mondandódból az jön le, hogy érdemes a privát fv-ek inputjat is ellenőrizni, mivel kevésébé feltörhetővé teszi a kódot az általad említett módszerrel (ha nem ilyesmit akartál mondani, akkor tárgytalan a hozzászólásom). Erre mondtam azt, hogy az ellenőrzések nem számítanak ebben az esetben, mert az ellenőrzések utánra ugrok. Ez általad linkelt wikipedia cikk is kb. erről szól, hogy a fv-ekben létezhetnek olyan kód-darabok (fv-ek kilépési pontja előtt általában), amik esetlegesen segítenek egy olyan szekvenciát felállítani, amik segítenek feltörni a rendszert. Az állításomat továbbra is fenntartom, hogy ez egyrészt ritka eset, másrészt programozóként te a program írása közben erre nem fogsz tudni felkészülni. Úgy értve, hogy a kód írása közben nem fog tudni a fejedben járni az, hogy leírsz-e bármit bárhova, amit aztán később egy hacker fel tud használni. Ez nonszensz. Nem a program írását kell ez esetben másképp csinálni, hanem írod a programot úgy, ahogy szoktad, és valami más technikával biztosítod, hogy ilyen módon ne, vagy kevésbé lehessen feltörni a programot. Tehát az helytelen gondolatmenet, hogy "ide teszek egy plusz checket, mert így majd nehezebb lesz feltörni a programot". Legalábbis ezt a hackelési metódust nem igazán fogod ezzel nehezebbé tenni.

A shared memóriás kérdésed nem igazán értem, hogy most hogy jön ehhez a témához, meg magát a kérdést se igazán értem. Arról van szó, hogy nem rosszindulatból, hanem csak a kommunikáció jellegéből adódóan átírhatja a küldő fél a memória tartalmát, miközben a fogadó fél azt olvassa? Ha lockless megoldás kell, akkor gondolom ezt egyszerűen ki lehet szűrni egy checksummal a blokk végén (a checksum méretét akkorának választva, amekkorának azt az előfordulás gyakorisága megköveteli), vagy ha a lockos megoldás jó, akkor valami szinkronizációs primitívvel el lehet kerülni, hogy írás legyen az olvasás közben (pl. linuxon a semafor, vagy windowson a mutex).

 

Szerk.: az, hogy ez a technika nagyon ritka lenne, visszaszívom. Simán előfordulhat, ez az a lépés szükséges ahhoz, hogy (pár OS hívás segítségével, map) olyan kód fusson, amit már a hacker akar.