hardened kernel, acerhk, kernel panic

Fórumok

hardened kernel, acerhk, kernel panic

Hozzászólások

[quote:cff827cd5a="PaXTeam"][quote:cff827cd5a="Panther"]Megtörtént. Köszi :)

marmint irtal levelet? mert eddig nem jott at semmi ;-). lehet spamfilter mondjuk, akkor fel kene rakni vmi szerverre.

Háát, az acerhk szerzőjének. Feltételezem, nem te vagy :)

Kicsit debugoltam a modult, és nem lettem okosabb. Olyan helyen hasal el, ami nem logikus. if (..) { .... printk(...); } else { .... } printk(...); és az első printk lefut, a második már nem.

[quote:87b2ccb77d="Panther"][quote:87b2ccb77d="PaXTeam"][quote:87b2ccb77d="Panther"]Megtörtént. Köszi :)

marmint irtal levelet? mert eddig nem jott at semmi ;-). lehet spamfilter mondjuk, akkor fel kene rakni vmi szerverre.

Háát, az acerhk szerzőjének. Feltételezem, nem te vagy :)

ja vagy ugy, az is jo, bar en igazabol a PaX logra gondoltam, hat ha ki tudtam volna belole hamozni vmit ;-).

Kicsit debugoltam a modult, és nem lettem okosabb. Olyan helyen hasal el, ami nem logikus. if (..) { .... printk(...); } else { .... } printk(...); és az első printk lefut, a második már nem.

a PaX-bol jovo uzenet alapjan KERNEXEC-t hasznalsz, amihez csak nem reg irtam modul tamogatast, szoval elofordulhat, hogy az en saram, azert lett volna jo engem is megkeresni elotte.

[quote:1d89ca4319="PaXTeam"]ja vagy ugy, az is jo, bar en igazabol a PaX logra gondoltam, hat ha ki tudtam volna belole hamozni vmit ;-).

Kicsit debugoltam a modult, és nem lettem okosabb. Olyan helyen hasal el, ami nem logikus. if (..) { .... printk(...); } else { .... } printk(...); és az első printk lefut, a második már nem.

a PaX-bol jovo uzenet alapjan KERNEXEC-t hasznalsz, amihez csak nem reg irtam modul tamogatast, szoval elofordulhat, hogy az en saram, azert lett volna jo engem is megkeresni elotte.

Hja, igazad lehet, csak egyáltalán nem értek hozzá. Az acerhk szerzője sem.

[code:1:1d89ca4319]
CONFIG_PAX=y

#
# PaX Control
#
CONFIG_PAX_SOFTMODE=y
# CONFIG_PAX_EI_PAX is not set
CONFIG_PAX_PT_PAX_FLAGS=y
# CONFIG_PAX_NO_ACL_FLAGS is not set
CONFIG_PAX_HAVE_ACL_FLAGS=y
# CONFIG_PAX_HOOK_ACL_FLAGS is not set

#
# Non-executable pages
#
CONFIG_PAX_NOEXEC=y
CONFIG_PAX_PAGEEXEC=y
# CONFIG_PAX_SEGMEXEC is not set
# CONFIG_PAX_EMUTRAMP is not set
CONFIG_PAX_MPROTECT=y
CONFIG_PAX_NOELFRELOCS=y
CONFIG_PAX_KERNEXEC=y

#
# Address Space Layout Randomization
#
CONFIG_PAX_ASLR=y
# CONFIG_PAX_RANDKSTACK is not set
CONFIG_PAX_RANDUSTACK=y
CONFIG_PAX_RANDMMAP=y
CONFIG_PAX_NOVSYSCALL=y
[/code:1:1d89ca4319]

A pax nem írt ki semmit, csak elhasal a kernel.

"kernel panic. Not syncing", logot max leírva, majd reboot után begépelve tudnék adni..

[quote:557bf12da2="Panther"]A pax nem írt ki semmit, csak elhasal a kernel.

"kernel panic. Not syncing", logot max leírva, majd reboot után begépelve tudnék adni..

hat sajna pedig pont az az info kene, elvileg van benne stack dump meg hasonlok, abbol sok mindent ki lehet olvasni. szoval marad a leiras vagy a digitalis kamera ;-).

[quote:ea8e39be78="PaXTeam"][quote:ea8e39be78="Panther"]A pax nem írt ki semmit, csak elhasal a kernel.

"kernel panic. Not syncing", logot max leírva, majd reboot után begépelve tudnék adni..

hat sajna pedig pont az az info kene, elvileg van benne stack dump meg hasonlok, abbol sok mindent ki lehet olvasni. szoval marad a leiras vagy a digitalis kamera ;-).

utóbbi lett. Remélem, ér valamit :) A .config fájlomat is felraktam a képek mellé, ezen a néven, viszont az apache nem listázza. A link: http://cfhay.inf.elte.hu/~panther/linux/pax/

A képek közül csak az első és a negyedik lényeges. Vakuval majdnem teljesen olvasható, a villanás miatt kell a negyedik. Vaku nélkül meg katasztrofálisak.

[quote:362dcc737b="Panther"]utóbbi lett. Remélem, ér valamit :) A .config fájlomat is felraktam a képek mellé, ezen a néven, viszont az apache nem listázza. A link: http://cfhay.inf.elte.hu/~panther/linux/pax/

A képek közül csak az első és a negyedik lényeges. Vakuval majdnem teljesen olvasható, a villanás miatt kell a negyedik. Vaku nélkül meg katasztrofálisak.

ok, az elso kep mindjart telitalalat volt, rajta van minden, ami kellett. a diagnozis az, hogy az acerhk megprobal BIOS kodot meghivni, amit a KERNEXEC direkt nem tamogat (pl. ezert kell a PCI access method-t is direct-re allitani alatta).

Értem. BIOS hívást hogy lehetne elkerülni? Valamennyire bele tudok nyúlni a forrásba, de kernelt nem piszkáltam eddig.

Az openoffice sem megy vele:

[code:1:dbb19d4ae3]Jan 14 12:39:28 zeratul PAX: execution attempt in: <anonymous mapping>, 073d5000-073f6000 073d5000
Jan 14 12:39:28 zeratul PAX: terminating task: /usr/lib/openoffice/program/soffice.bin(soffice.bin):18930, uid/euid: 1000/1000, PC: 073eb214, SP: b26f1adc
Jan 14 12:39:28 zeratul PAX: bytes at PC: b8 03 00 00 00 ba 00 00 00 00 e9 80 18 01 00 00 b8 04 00 00
Jan 14 12:39:28 zeratul PAX: bytes at SP-4: b26f1b68 017865c3 073ea2e4 b26f1ba0 017c84f4 073ea080 00000333 00000001 00000000 00000000 b26f1b78 017c84f4 b26f1b30 073ea080
019b072c b26f1b50 00cb15bc 015dc474 073e5b40 00000001 00000001
[/code:1:dbb19d4ae3]

Levettem a segmentation/page alapú non-executable pages opciókat, de nem lett jobb. A chpax-szal mindent kikapcsoltam, és ugyanúgy kilövi a kernel. Kellett nekem desktopra ilyet raknom...

[quote:be898d9d2b="Panther"]Értem. BIOS hívást hogy lehetne elkerülni?

sajna nem ilyen egyszeru. amennyire nezegettem az acerhk kodjat, a BIOS-t nem lehet kikerulni, mert ott van az igazi funkcionalitas. elvileg ket dolgot lehet csinalni, ha mindenaron ilyet akarsz hasznalni KERNEXEC alatt: 1. BIOS reverse engineering es kod ujrairas (ez sok munka neked), 2. BIOS bemappelese KERNEXEC alatt a kodszegmensbe (ez meg munka nekem, bar kevesebb mint a reveng).

Az openoffice sem megy vele:

[code:1:be898d9d2b]Jan 14 12:39:28 zeratul PAX: execution attempt in: <anonymous mapping>, 073d5000-073f6000 073d5000
Jan 14 12:39:28 zeratul PAX: terminating task: /usr/lib/openoffice/program/soffice.bin(soffice.bin):18930, uid/euid: 1000/1000, PC: 073eb214, SP: b26f1adc
Jan 14 12:39:28 zeratul PAX: bytes at PC: b8 03 00 00 00 ba 00 00 00 00 e9 80 18 01 00 00 b8 04 00 00
Jan 14 12:39:28 zeratul PAX: bytes at SP-4: b26f1b68 017865c3 073ea2e4 b26f1ba0 017c84f4 073ea080 00000333 00000001 00000000 00000000 b26f1b78 017c84f4 b26f1b30 073ea080
019b072c b26f1b50 00cb15bc 015dc474 073e5b40 00000001 00000001
[/code:1:be898d9d2b]

Levettem a segmentation/page alapú non-executable pages opciókat, de nem lett jobb. A chpax-szal mindent kikapcsoltam, és ugyanúgy kilövi a kernel. Kellett nekem desktopra ilyet raknom...

neha erdemes elolvasni a kernel helpet, mert akkor pl. tudnad, hogy a chpax fabatkat sem er, ha a kernelben nem kapcsoltad be a tamogatast :P. amugy meg ha gentoo binaris, akkor jo esellyel van benne PT_PAX_FLAGS (readelf -l megmondja) es a paxctl is mukodik (amit meg beforditottal mar a kerneledbe).

Elolvastam :). A pax-ra vonatkozó config részlet ott van fent, az ELF header egy foglalt részével történő babráláson kissé fennakadtam, de a súgó alapján úgy jó, ahogy most van (text relocation tiltását most már kivettem, mert az ati driver sajna sem szereti).

Tök jó, olyanba futok bele, aminál tapasztalatom pontosan 0...

[quote:7a9dab9a76="Panther"]Elolvastam :). A pax-ra vonatkozó config részlet ott van fent, az ELF header egy foglalt részével történő babráláson kissé fennakadtam, de a súgó alapján úgy jó, ahogy most van (text relocation tiltását most már kivettem, mert az ati driver sajna sem szereti).

Tök jó, olyanba futok bele, aminál tapasztalatom pontosan 0...

mit mond a readelf -l? ha van GNU_STACK benne akkor paxctl -c es utana tudod hasznalni a paxctl-t rendesen. vagy leforditod az OOo-t magad, de az hosszu ido ;-).

[code:1:3a0892b3a0]zeratul Documentation # readelf -l /usr/lib/openoffice/program/soffice.bin

Elf file type is EXEC (Executable file)
Entry point 0x805db50
There are 9 program headers, starting at offset 52

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x00120 0x00120 R E 0x4
INTERP 0x000154 0x08048154 0x08048154 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x44a18 0x44a18 R E 0x1000
LOAD 0x045000 0x0808d000 0x0808d000 0x00af0 0x00fcc RW 0x1000
DYNAMIC 0x045018 0x0808d018 0x0808d018 0x00188 0x00188 RW 0x4
NOTE 0x000168 0x08048168 0x08048168 0x00020 0x00020 R 0x4
GNU_EH_FRAME 0x03f5f0 0x080875f0 0x080875f0 0x00894 0x00894 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
PAX_FLAGS 0x000000 0x00000000 0x00000000 0x00000 0x00000 0x4

Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame .gcc_except_table
03 .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
04 .dynamic
05 .note.ABI-tag
06 .eh_frame_hdr
07
08
[/code:1:3a0892b3a0]

Ez 6,5 óra alatt fordult le. Mindjárt meg is nézem.

mprotect-tel veszett össze az OOo2. Köszi :)

[quote:bab50e17a9="PaXTeam"][quote:bab50e17a9="Panther"]Elolvastam :). A pax-ra vonatkozó config részlet ott van fent, az ELF header egy foglalt részével történő babráláson kissé fennakadtam, de a súgó alapján úgy jó, ahogy most van (text relocation tiltását most már kivettem, mert az ati driver sajna sem szereti).

Tök jó, olyanba futok bele, aminál tapasztalatom pontosan 0...

mit mond a readelf -l? ha van GNU_STACK benne akkor paxctl -c es utana tudod hasznalni a paxctl-t rendesen. vagy leforditod az OOo-t magad, de az hosszu ido ;-).

Legújabb stabil oOO (2.0.0) csak patch-el fordul Hardened Gentoo-n. Ha erre vetemedsz, akkor előtte nézd meg a bug listát és töltsd le a patch-et. Nekem Athlon 1600+ és 1G RAM gépem kb. 12 óra alatt fordítja és 4,5Gb hely kell neki a portage temp directory-ba a fordításhoz. :wink:

Ja: én a desktop gépemen már több, mint egy éve Hardened Gentoo-t használok Grsecurity alapon. Bár az is igaz, hogy nem játszom. Az X-et dlloader-rel fordítottam és a sima radeon meghajtót használom (8500LE).

Greetings: PaxTeam, Spender & Grsec team, Gentoo, Hardended project.

Üdv,
Dw.

A selinuxot most izzítom be, anélkül mennek a játékok, így meg majd kiderül.

Hogyan lehet az X-et életre lehelni? Van a gépemen két gentoo, ugyanazzal a kernellel indítva az egyik rendszeren megy az X, a másikon nem. Az összes PaX beállítást kikapcsoltam, de semmi eredmény. Ugyanolyan beállításokkal vannak (dlloader, xorg.conf, ati-drivers).

Felraktam a hardened-sources-t (2.6.14-r3), a programok a várt módon működtek, de amint betöltöttem az acerhk modult, kernel panic keletkezett. Viszont nem mondott semmit a hibaüzenet, mert csak a regisztereket írta ki. Pillanatnyilag grsec, vagy wlan. Mit lehet ezzel kezdeni?

No, mégis megtaláltam a hibaüzenetet.
"PAX: suspicious general protection fault"

Googleval semmit nem találtam.

[quote:d1b26fb834="Panther"]No, mégis megtaláltam a hibaüzenetet.
"PAX: suspicious general protection fault"

Googleval semmit nem találtam.

akkor en most senki vagyok? ;-) meg mondjuk nem lenne logikus a szerzoket is ertesiteni, hatha tudnak mondani vmit a dologrol... ja, es a logon kivul kellene meg a kernel .config is.

[quote:68b2f019a8="PaXTeam"][quote:68b2f019a8="Panther"]No, mégis megtaláltam a hibaüzenetet.
"PAX: suspicious general protection fault"

Googleval semmit nem találtam.

akkor en most senki vagyok? ;-) meg mondjuk nem lenne logikus a szerzoket is ertesiteni, hatha tudnak mondani vmit a dologrol... ja, es a logon kivul kellene meg a kernel .config is.

Megtörtént. Köszi :) De semmi != senki nem? ;-)

[quote:087b94d098="Panther"]Megtörtént. Köszi :)

marmint irtal levelet? mert eddig nem jott at semmi ;-). lehet spamfilter mondjuk, akkor fel kene rakni vmi szerverre.