Megosztás a következőn keresztül:


Biztonság és menet közbeni kódgenerálás

Egyes kódtárak úgy működnek, hogy létrehoznak egy kódot, és futtatják a hívó számára. Az alapvető probléma az, hogy kisebb megbízhatósági szintű kód nevében hoz létre kódot, és magasabb megbízhatósági szinten futtatja azt. A probléma akkor romlik, ha a hívó befolyásolhatja a kódgenerálást, ezért gondoskodnia kell arról, hogy csak a biztonságosnak ítélt kód legyen létrehozva.

Mindig pontosan tudnia kell, hogy milyen kódot hoz létre. Ez azt jelenti, hogy szigorúan szabályoznia kell a felhasználótól kapott értékeket, legyen szó idézőjeles sztringekről (amelyeket meg kell szöktetni, hogy ne tartalmazzanak váratlan kódelemeket), azonosítókat (amelyeket ellenőrizni kell annak ellenőrzéséhez, hogy azok érvényes azonosítók-e) vagy bármi mást. Az azonosítók veszélyesek lehetnek, mert egy lefordított szerelvény módosítható úgy, hogy az azonosítók furcsa karaktereket tartalmazzanak, ami valószínűleg megtöri (bár ez ritkán biztonsági rés).

Javasoljuk, hogy tükrözési emittálással hozzon létre kódot, amely gyakran segít elkerülni a problémák nagy részét.

A kód lefordításakor fontolja meg, hogy van-e mód arra, hogy egy rosszindulatú program módosítsa azt. Van egy kis idő, amely alatt a rosszindulatú kód módosíthatja a forráskódot a lemezen, mielőtt a fordító felolvassa, vagy mielőtt a kód betöltené a .dll fájlt? Ha igen, szükség szerint védenie kell az ezeket a fájlokat tartalmazó könyvtárat a fájlrendszer hozzáférés-vezérlési listájával.

Lásd még