Wladows: Díky za upřesnění. Máš asi pravdu, já ten manuál k Pentiu I četl už hrooozně dávno. Ale pamatoval jsem si, že tam něco takového je.
Docela by mě zajímalo, jak se to asi dotkne run-time packerů (jak psal _greg), protože UPX používám docela dost. :-I
+1
0
-1
Je komentář přínosný?
Radek N (neověřeno) https://diit.cz
20. 5. 2004 - 07:42https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuseWladows: Díky za upřesnění. Máš asi pravdu, já ten manuál k Pentiu I četl už hrooozně dávno. Ale pamatoval jsem si, že tam něco takového je.
Docela by mě zajímalo, jak se to asi dotkne run-time packerů (jak psal _greg), protože UPX používám docela dost. :-Ihttps://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58369
+
eMan: vela vela elektronickej krvy :) napada niekoho co spravit s telom chcipnuteho neposlusneho programu ? nejaky externyu zdroj na rakvacamp ? :)
+1
0
-1
Je komentář přínosný?
Petrocelly (neověřeno) https://diit.cz
7. 6. 2004 - 08:01https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuseeMan: vela vela elektronickej krvy :) napada niekoho co spravit s telom chcipnuteho neposlusneho programu ? nejaky externyu zdroj na rakvacamp ? :)https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-62296
+
dalsi jediny (vedle transmenty) je i intel u IA64, ten totiz x86 kod umoznuje sw emulovat (na podobne technologii jako code morphing (prevzato z alphy)), a tedy je mozna sw uprava. Otazkou je jen kdy tento sw bude dostupny (intel rikal letos) ...
+1
0
-1
Je komentář přínosný?
ivan (neověřeno) https://diit.cz
19. 5. 2004 - 12:49https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskusedalsi jediny (vedle transmenty) je i intel u IA64, ten totiz x86 kod umoznuje sw emulovat (na podobne technologii jako code morphing (prevzato z alphy)), a tedy je mozna sw uprava. Otazkou je jen kdy tento sw bude dostupny (intel rikal letos) ...https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58261
+
Taky by mě zajímalo kolik programů bude po aplikaci SP2, díky této feature a blbě napsaným kódem, padat.
+1
0
-1
Je komentář přínosný?
Jakub Ryba https://diit.cz/profil/kubass
19. 5. 2004 - 13:04https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuseTaky by mě zajímalo kolik programů bude po aplikaci SP2, díky této feature a blbě napsaným kódem, padat.https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58266
+
A me by zajimalo jak to vypada, kdyz OS zabije neposlusny program ;-)
+1
0
-1
Je komentář přínosný?
eMan (neověřeno) https://diit.cz
19. 5. 2004 - 13:40https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuseA me by zajimalo jak to vypada, kdyz OS zabije neposlusny program ;-)https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58271
+
Kubass: To te zas tak moc zajimat nemusi, protoze puziti tohoto bitu pujde nastavit pro kazdou aplikaci zvlast.
+1
0
-1
Je komentář přínosný?
Honza (neověřeno) https://diit.cz
19. 5. 2004 - 15:24https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuseKubass: To te zas tak moc zajimat nemusi, protoze puziti tohoto bitu pujde nastavit pro kazdou aplikaci zvlast.https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58299
+
Kubass: Čím více, tím lépe. Alespoň se ty programy vyladí. Nemají co "kreslit" do paměti, která jim nepatří. :-(
Je docela síla, že to bude až teď, myslím, že tahle věc funguje v procesorech už od I386 (nastavení, zda stránka paměti má read/write/executable přístup - pokud se s takovou stránkou pak dělá něco, co se dělat nemá generuje procesor výjimku General Protection Fault). :-(
Jenže nikdo se nestaral o to, aby se ten bit pro danou stránku paměti ve Wokenicich nastavil. :-((
+1
0
-1
Je komentář přínosný?
Radek N (neověřeno) https://diit.cz
19. 5. 2004 - 15:31https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuseKubass: Čím více, tím lépe. Alespoň se ty programy vyladí. Nemají co "kreslit" do paměti, která jim nepatří. :-(
Je docela síla, že to bude až teď, myslím, že tahle věc funguje v procesorech už od I386 (nastavení, zda stránka paměti má read/write/executable přístup - pokud se s takovou stránkou pak dělá něco, co se dělat nemá generuje procesor výjimku General Protection Fault). :-(
Jenže nikdo se nestaral o to, aby se ten bit pro danou stránku paměti ve Wokenicich nastavil. :-((https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58300
+
>To te zas tak moc zajimat nemusi, protoze puziti tohoto bitu pujde nastavit pro kazdou aplikaci zvlast.
Coze? No, to je teda zase "bezpecnost". :-(
+1
0
-1
Je komentář přínosný?
Radek N (neověřeno) https://diit.cz
19. 5. 2004 - 15:53https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse>To te zas tak moc zajimat nemusi, protoze puziti tohoto bitu pujde nastavit pro kazdou aplikaci zvlast.
Coze? No, to je teda zase "bezpecnost". :-(https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58304
+
napad je to samozrejme rozumnej, jak ale bylo zmineno, vi se o nem dlouho, tak firmy ted s velkou slavou objevuji, to co predtim zanedbaly.
Znamena to, ze ale nebudoyu fungovat soucasne programy s run-time rozbalovanim, jako napriklad pomoci UPX nebo PE-Compact.
+1
0
-1
Je komentář přínosný?
_greg (neověřeno) https://diit.cz
19. 5. 2004 - 21:16https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskusenapad je to samozrejme rozumnej, jak ale bylo zmineno, vi se o nem dlouho, tak firmy ted s velkou slavou objevuji, to co predtim zanedbaly.
Znamena to, ze ale nebudoyu fungovat soucasne programy s run-time rozbalovanim, jako napriklad pomoci UPX nebo PE-Compact.https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58330
+
Radek N: Ochrana na úrovni stránek existuje už od 386 a jak Windows (NT a výš), tak Unixy ji samozřejmě používají. Problém je v tom, že lze nastavit jen 3 možnosti přístupu:
- nepřístupná stránka (---)
- pro čtení a vykonávání (r-x)
- pro čtení, zápis a vykonávání (rwx)
Platí, že vykonávání instrukcí = čtení, takže jakákoliv čitelná stránka je zároveň i spustitelná. Tohle normálně nevadí, pokud nám nejde o bezpečnost. Vetšina buffer-overflow útoků způsobí přepsání zásobníku (=datové oblasti) kusem kódu, na který pak program skočí. Protože procesor vesele provede cokoliv dokáže přečíst, máme problém.
Přidaný No eXecute bit umožní konečně rozlišit datové (NX=1) a programové stránky paměti (NX=0). Vznikne nám 5 možných druhů přístupu ke stránce:
- nepřístupná stránka (---)
- jen pro čtení (r--) NX=1
- pro čtení a zápis (rw-) NX=1
- pro čtení a vykonávání (r-x) NX=0
- pro čtení, zápis a vykonávání (rwx) NX=0
Pokud bude zásobník implicitně nespustitelný (NX=1), tak útok typu buffer overflow způsobí pouze výjimku (a případně pád programu), ale propašovaný kód se neprovede. O to tady jde.
Taky mně zajímá kolik kódu přestane s NX bitem fungovat, protože pro řadu věcí se legálně používá dynamické vytváření kousků kódu v alokované paměti (tj. v datové oblasti). Jde třeba o různé stuby, trampolíny, kompilované bitmapy, atd...
+1
0
-1
Je komentář přínosný?
Wladows (neověřeno) https://diit.cz
20. 5. 2004 - 00:38https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuseRadek N: Ochrana na úrovni stránek existuje už od 386 a jak Windows (NT a výš), tak Unixy ji samozřejmě používají. Problém je v tom, že lze nastavit jen 3 možnosti přístupu:
- nepřístupná stránka (---)
- pro čtení a vykonávání (r-x)
- pro čtení, zápis a vykonávání (rwx)
Platí, že vykonávání instrukcí = čtení, takže jakákoliv čitelná stránka je zároveň i spustitelná. Tohle normálně nevadí, pokud nám nejde o bezpečnost. Vetšina buffer-overflow útoků způsobí přepsání zásobníku (=datové oblasti) kusem kódu, na který pak program skočí. Protože procesor vesele provede cokoliv dokáže přečíst, máme problém.
Přidaný No eXecute bit umožní konečně rozlišit datové (NX=1) a programové stránky paměti (NX=0). Vznikne nám 5 možných druhů přístupu ke stránce:
- nepřístupná stránka (---)
- jen pro čtení (r--) NX=1
- pro čtení a zápis (rw-) NX=1
- pro čtení a vykonávání (r-x) NX=0
- pro čtení, zápis a vykonávání (rwx) NX=0
Pokud bude zásobník implicitně nespustitelný (NX=1), tak útok typu buffer overflow způsobí pouze výjimku (a případně pád programu), ale propašovaný kód se neprovede. O to tady jde.
BTW, je zajímavé, že v týden starém manuálu od Intelu (http://developer.intel.com/design/pentium4/manuals/253668.htm) se o NX bitu ještě vůbec nic nepíše.
Taky mně zajímá kolik kódu přestane s NX bitem fungovat, protože pro řadu věcí se legálně používá dynamické vytváření kousků kódu v alokované paměti (tj. v datové oblasti). Jde třeba o různé stuby, trampolíny, kompilované bitmapy, atd...https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58342
+
No , kdyz se podivam na chybu v lsass, nebo starsi csrss, nebo jak se to ... tak to skonci nejpis padem celeho OS :-)))
No alespon se ale nebude sirit.
+1
0
-1
Je komentář přínosný?
lto https://diit.cz/profil/ltokar
19. 5. 2004 - 13:53https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuseNo , kdyz se podivam na chybu v lsass, nebo starsi csrss, nebo jak se to ... tak to skonci nejpis padem celeho OS :-)))
No alespon se ale nebude sirit.https://diit.cz/clanek/i-transmeta-podporuje-nx-bit/diskuse#comment-58273
+
Wladows: Díky za upřesnění. Máš asi pravdu, já ten manuál k Pentiu I četl už hrooozně dávno. Ale pamatoval jsem si, že tam něco takového je.
Docela by mě zajímalo, jak se to asi dotkne run-time packerů (jak psal _greg), protože UPX používám docela dost. :-I
eMan: vela vela elektronickej krvy :) napada niekoho co spravit s telom chcipnuteho neposlusneho programu ? nejaky externyu zdroj na rakvacamp ? :)
dalsi jediny (vedle transmenty) je i intel u IA64, ten totiz x86 kod umoznuje sw emulovat (na podobne technologii jako code morphing (prevzato z alphy)), a tedy je mozna sw uprava. Otazkou je jen kdy tento sw bude dostupny (intel rikal letos) ...
Taky by mě zajímalo kolik programů bude po aplikaci SP2, díky této feature a blbě napsaným kódem, padat.
A me by zajimalo jak to vypada, kdyz OS zabije neposlusny program ;-)
Kubass: To te zas tak moc zajimat nemusi, protoze puziti tohoto bitu pujde nastavit pro kazdou aplikaci zvlast.
Kubass: Čím více, tím lépe. Alespoň se ty programy vyladí. Nemají co "kreslit" do paměti, která jim nepatří. :-(
Je docela síla, že to bude až teď, myslím, že tahle věc funguje v procesorech už od I386 (nastavení, zda stránka paměti má read/write/executable přístup - pokud se s takovou stránkou pak dělá něco, co se dělat nemá generuje procesor výjimku General Protection Fault). :-(
Jenže nikdo se nestaral o to, aby se ten bit pro danou stránku paměti ve Wokenicich nastavil. :-((
>To te zas tak moc zajimat nemusi, protoze puziti tohoto bitu pujde nastavit pro kazdou aplikaci zvlast.
Coze? No, to je teda zase "bezpecnost". :-(
napad je to samozrejme rozumnej, jak ale bylo zmineno, vi se o nem dlouho, tak firmy ted s velkou slavou objevuji, to co predtim zanedbaly.
Znamena to, ze ale nebudoyu fungovat soucasne programy s run-time rozbalovanim, jako napriklad pomoci UPX nebo PE-Compact.
Radek N: Ochrana na úrovni stránek existuje už od 386 a jak Windows (NT a výš), tak Unixy ji samozřejmě používají. Problém je v tom, že lze nastavit jen 3 možnosti přístupu:
- nepřístupná stránka (---)
- pro čtení a vykonávání (r-x)
- pro čtení, zápis a vykonávání (rwx)
Platí, že vykonávání instrukcí = čtení, takže jakákoliv čitelná stránka je zároveň i spustitelná. Tohle normálně nevadí, pokud nám nejde o bezpečnost. Vetšina buffer-overflow útoků způsobí přepsání zásobníku (=datové oblasti) kusem kódu, na který pak program skočí. Protože procesor vesele provede cokoliv dokáže přečíst, máme problém.
Přidaný No eXecute bit umožní konečně rozlišit datové (NX=1) a programové stránky paměti (NX=0). Vznikne nám 5 možných druhů přístupu ke stránce:
- nepřístupná stránka (---)
- jen pro čtení (r--) NX=1
- pro čtení a zápis (rw-) NX=1
- pro čtení a vykonávání (r-x) NX=0
- pro čtení, zápis a vykonávání (rwx) NX=0
Pokud bude zásobník implicitně nespustitelný (NX=1), tak útok typu buffer overflow způsobí pouze výjimku (a případně pád programu), ale propašovaný kód se neprovede. O to tady jde.
BTW, je zajímavé, že v týden starém manuálu od Intelu (http://developer.intel.com/design/pentium4/manuals/253668.htm) se o NX bitu ještě vůbec nic nepíše.
Taky mně zajímá kolik kódu přestane s NX bitem fungovat, protože pro řadu věcí se legálně používá dynamické vytváření kousků kódu v alokované paměti (tj. v datové oblasti). Jde třeba o různé stuby, trampolíny, kompilované bitmapy, atd...
No , kdyz se podivam na chybu v lsass, nebo starsi csrss, nebo jak se to ... tak to skonci nejpis padem celeho OS :-)))
No alespon se ale nebude sirit.
Honza: Fakt? Odkud máš tuhle informaci?
Pro psaní komentářů se, prosím, přihlaste nebo registrujte.