Openwall ááá±á¬áá»ááº
áá¬ážááŸááºážá¡áá áºááœáẠááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážáá²ááœááº-
- LKRG ááá±á¬áá»ááºá áá±áá¬áá»áá¬ážááŸá¯ááᯠááŒá±á¬ááºážáá²áá¬ážááŒá®ážá ááá¬ááááá¯á á áºáá±ážááŒááºážááŸáá·áº á¡ááŒááºáá¯ááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážá¡ááŒááºáá±ážááŒááºážá¡ááœáẠáá®ážááŒá¬ážá áá áºááœá²áá»á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážááŒááºážáááŒá¯áá±á¬á·áá² ááá¯ááºááá¯ááºááŸá¯áá»á¬ážááŸáá·áº ááá¬áááá»áá¯ážáá±á¬ááºááŸá¯áá»á¬ážááᯠáá±á¬áºáá¯ááºáááºá¡ááœáẠááŒá®ážááŒáá·áºá á¯á¶áá±á¬áá¯ááºáá¯ááºáá áºáá¯á¡ááŒá Ạáááºáááºáá¬ážáá«áááºá
- CONFIG_USB ááŸáá·áº CONFIG_STACKTRACE ááœá±ážá áá¬áá»á¬ážááá«áá² ááá¯á·ááá¯áẠCONFIG_UNWINDER_ORC ááœá±ážá áá¬áá»á¬ážá¡ááŒáẠáááºážááá¯á·ááœáẠLKRG ááá«áááºááá·áº kernels áá»á¬ážááŒáá·áº ááœá²áááºáá¯ááºáá±á¬ááºááá¯ááºáá«áá ááŒááºážáá±ážáááºá
- áááºáá±á¬ááºááá·áºá¡áá«á á¡áá»áá¯á·áá±á¬ CONFIG_* kernel áááºáááºáá»á¬ážááᯠááááºáááŸá¬áž áá»ááºá á®ážááŸá¯áá»á¬ážá¡á á¬áž á¡áááá¹áá¬ááºááŒáá·áºááá±á¬ á¡ááŸá¬ážáááºáá±á·áá»áºáá»á¬áž áááºáá®ážááẠá¡ááŸááºááŒá áºáá¬ážáááºá
- á¡ááá·áºá¡áá±á¡áá¬áž (ACPI S3á RAM ááœáẠááá¯ááºážáá¶á·áá¬ážáááº) ááŸáá·áº á¡áááºá ááºááŒááºáž (S4á áá áºááºááá¯á· ááá¯ááºážáá¶á·áááº) áá¯ááºáá»á¬ážááᯠáááºáá±á¬ááºážáá¶á·ááá¯ážáá±ážáááºá
- Makefile ááá¯á· DKMS áá¶á·ááá¯ážááŸá¯ áá±á«ááºážááá·áºáá¬ážáááºá
- 32-bit ARM ááááºáá±á¬ááºážáá»á¬ážá¡ááœáẠá ááºážáááºáá¶á·ááá¯ážááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·ááẠ(Raspberry Pi 3 Model B ááœáẠá ááºážáááºáá¬ážáááº)á Raspberry Pi 64 áá¯ááºá¡ááœá²á·ááŸáá·áº ááœá²áááºá¡áá¯á¶ážááŒá¯ááá¯ááºá á±ááẠááááºá áááŸáááá¯ááºáá±á¬ AArch64 (ARM4) áá¶á·ááá¯ážááŸá¯ááᯠááá¯ážáá»á²á·áá¬ážáá«áááºá
- "ááŒáá¯ážááá¯ááºáá¬ážááá·áº á¡ááŒááºáá¯ááºááŸá¯áá»á¬ážááᯠááá¯ááá¯áá±á¬ááºážááœááºá
áœá¬ ááœá²ááŒá¬ážáááºááŸááºááá¯ááºááẠá
áœááºážáááº() call handler á¡áá«á¡ááẠáá»áááºá¡áá
áºáá»á¬áž ááá·áºááœááºážáá¬ážáá«áááºá
á áœááºážááẠ"áá¯ááºáááºážá áẠID áá»á¬áž ááá¯ááºáá«áá¡ááœáá·áºá¡á¬áᬠ); - namespace ááá·áºáááºáá»ááºáá»á¬ážááŸááœááºááŒá±á¬ááºáááºááŒáá¯ážáááºážááŸá¯áá»á¬ážááá¯ááŸá¬ááœá±áááºá¡ááœááºáá¯áá¹áááá±áá¡áá áºá¡á¬ážá¡ááá¯ááŒá¯áá²á·ááẠ(á¥ááá¬á Docker ááœááºááááºáá¬áá»á¬ážááŸ);
- x86-64 á áá áºáá»á¬ážááœááºá SMAP (Supervisor Mode Access Prevention) áá áºááᯠá á áºáá±ážááŒá®áž á¡áá¯á¶ážááŒá¯áᬠkernel á¡ááá·áºááœáẠáá¯ááºáá±á¬ááºáá±áá±á¬ á¡ááœáá·áºáá°ážáá¶áá¯ááºá០á¡áá¯á¶ážááŒá¯áá°áá±áá¬ááœááºáá±áá¬áá»á¬ážááá¯á· áááºáá±á¬ááºááœáá·áºááᯠááááºááá¯á·ááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá SMEP (Supervisor Mode Execution Prevention) á¡áá¬á¡ááœááºááᯠááááºá á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
- áááºáááºáá±á ááºá¡ááœááºážá LKRG áááºáááºáá»á¬ážááᯠá¡áá»á¬ážá¡á¬ážááŒáá·áº áááºáááºáá¬ááŒá áºáá±á¬ áááºááá¯áá®á á¬áá»ááºááŸá¬áá áºáá¯ááœáẠáá¬ážááŸááá¬ážáá«áááºá
- ááá¯ááºááá¯ááºááŸá¯áá»á¬ážá¡ááœáẠá¡áá¯á¶ážáááºáá¯á¶ážááŒá áºááá¯ááºááá·áº á¡áá»ááºá¡áááºáá»á¬ážááᯠááŸááºáááºážáááºááŒááºáž (á¥ááá¬á kernel ááŸá ááááºá á¬áá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááº) ááᯠáá°áááºážá¡ááá¯ááºáž ááááºáá¬ážááá·áº á¡ááŸá¬ážááŸá¬áá¯áẠ(log_level=4 ááŸáá·áº á¡áááº) ááœáẠááá·áºáááºáá¬ážáááºá
- áá¯ááºáááºážá áẠááŒá±áá¬áᶠáá±áá¬áá±á·á áºá á¡ááá¯ááºážá¡áá¬ááᯠááá¯ážááŒáŸáá·áºááá¯ááºááẠ- spinlock áá áºáá¯ááŒáá·áº áá¬ááœááºáá¬ážáá±á¬ RB áá áºáááºáá áºáááºá¡á á¬ážá 512 read-write locks ááŒáá·áº áá¬ááœááºáá¬ážáá±á¬ 512 RB áá áºáááºáá»á¬ážá hash table ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
- áá¯ááºáá áºáá¯á¡á¬áž áá¯á¶áá±ááŒáá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºááŒá®áž ááœáá·áºáá¬ážááŒá®ážá áááºážááœáẠáá¯ááºáááºážá ááºáááºááŸááºááŒááºážá áá áºáá»á¬ážá ááá¬ááááᯠáááºááŸááá¯ááºáá±á¬ááºá áá¬á¡ááœááºáᬠá á áºáá±ážáá±á·ááŸáááŒá®áž activated (ááá¯ážáááŒááºáž) áá¯ááºáá±á¬ááºá áá¬áá»á¬ážá¡ááœááºáááºáž ááœá±ážáá»ááºááá¯ááºáááºá á¡áááºá ááºááŒááºážá¡ááŒá±á¡áá±ááœááºááŸááá±á¬ ááá¯á·ááá¯áẠLKRG ááááºážáá»á¯ááºáá¬ážáá±á¬ kernel API ááᯠááááºáá±á¬ááºáá² á¡áá¯ááºáá¯ááºáá±á¬ á¡ááŒá¬ážáá¯ááºáá±á¬ááºá áá¬áá»á¬ážá¡ááœááºá á á áºáá±ážááŸá¯ááᯠáááŒá¬ááááŒá¯áá¯ááºáááºá
- áá±á¬á·ááºáá²ááŒááºáááºááá·áº ááŸáááŒááºážáááºáááºáá»á¬áž (áááá¯ááá¯ááºáá»á¬áž) á¡á á¯á¶á០ááœá±ážáá»ááºááŒááºážááŒáá·áº ááá¯ážááŸááºážáá±á¬ ááœá²á·á ááºážááŸá¯áá¯á¶á á¶á¡ááœáẠsysctl ááŸáá·áº module parameters áá»á¬ážá¡ááŒáẠsysctl ááŸá áºáá¯áá« ááá·áºááœááºážáá¬ážáá«áááºá
- áá áºáááºááœááºá áá áºáááºááœááºá áá áºáááºááœááºá áá áºáááºááœááºá á áœááºážáá±á¬ááºáááºááŸáá·áº ááŸá¬ážááœááºážáá±á¬á¡ááŒá¯ááá±á¬áá»á¬ážáá¡áá¹ááá¬ááºááá¯á·ááŒá¬áž áá»áŸááá±á¬áá»áááºááœááºáá»áŸá¬áá áºáá¯áááŸáááẠáá¯á¶áá±áááºáááºáá»á¬ážááᯠááŒá±á¬ááºážáá²áá¬ážáá«áááºá
- boot á¡á á±á¬ááá¯ááºážááœáẠLKRG module ááᯠload áá¯ááºáááºá¡ááœáẠsystemd áá°áá áºááá¯ááºááᯠááŒááºáááºáá®ááá¯ááºážáá±ážááœá²áá¬ážááŒá®áž ( module ááá¯ááááºááẠkernel command line option ááá¯áá¯á¶ážááá¯ááºáááº)
áá¯ááºáá±ááŸá¯á¡áá áºááœáẠá¡ááá¯ááŒá¯áá¬ážááá·áº ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááá·áºááœááºážááœááºáá»ááºááŒááºážááŒáá·áº LKRG 0.8 ááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« á áœááºážáá±á¬ááºáááºááᯠ2.5% ("áá±ážáá¶áá±á¬") ááŸáá·áº á¡áááºážáá¯áẠ("á¡áááºáž") ááœáẠ2% ááá·áºááŸááºážáá¬ážáááºá
áááŒá¬áá±ážáá®á áá»ááºážááá²á·áááºá
ááá¯á·á¡ááŒááºá ááŒáá·áºááŒá°ážáá±ážáá±á¬á·ááºáá²ááᯠááŸááºáá¬ážááá¯ááºáááºá
LKRG ááœáẠááá¬ááá á áºáá±ážááŒááºážááᯠkernel ááŸáá·áº modules áá»á¬ážá á¡ááŸááºááááºáá¯ááºááŸáá·áº áá±áá¬á á¡áá»áá¯á·áá±á¬ á¡áá±ážááŒá®ážáá±á¬ áá±áá¬ááœá²á·á ááºážáá¯á¶áá»á¬ážááŸáá·áº CPU áááºáááºáá»á¬ážááᯠáááºááá¯ááºáᬠmemory á§áááá¬áá»á¬ážá áá±áá¬ááœá²á·á ááºážáá¯á¶áá»á¬áž ááá¯á·ááá¯áẠááŸááºáá¯á¶áááºáá¬ážáá±á¬ áááá¹áá°áá»á¬ážááŸáá·áºá¡áá° ááááºážáááºážáá¬ážáá±á¬ hashes ááá¯á·ááá¯áẠáááá¹áá°áá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážááŒáá·áº áá¯ááºáá±á¬ááºáá«áááºá á á áºáá±ážááŸá¯áá»á¬ážááᯠá¡áá»áááºááá¯ááºážáááááá¬ááŒáá·áº á¡áá»áááºááŸáá·áºá¡áá»áŸ ááŸáá·áº á¡áá»áá¯ážáá»áá¯ážáá±á¬ ááŒá áºáááºáá»á¬áž áá±á«áºáá±á«ááºáá¬áá±á¬á¡áá«ááœáẠá á áºáá±ážááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºáá«áááºá
kernel ááẠá¡áááºážá¡ááŒá áºáá»á¬ážáᶠáááºáá±á¬ááºááœáá·áºááá±ážáá® (á¥ááá¬á ááá¯ááºáá áºáá¯áááœáá·áºáá®)á ááá¯á·áá±á¬áº áá¯ááºáááºážá ááºááẠááœáá·áºááŒá¯áá»ááºáááŸááá² ááœáá·áºááŒá¯áá»ááºáá»á¬ážááᯠáááºáá¶áááŸáááŒá®ážáá±á¬áẠ(á¥ááᬠUID ááᯠááŒá±á¬ááºážáá²ááŒááºáž) áááŒá¯áá®ááœáẠááŒá áºááá¯ááºáá»á±ááŸááá±á¬ á¡áá¯á¶ážáá»ááŸá¯áá»á¬ážááŸáá·áº ááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá¡á¬áž áá¯á¶ážááŒááºááŒááºážá¡á¬áž áá¯á¶ážááŒááºááŒááºážá¡á¬áž áá¯ááºáá±á¬ááºáááºá ááœáá·áºááŒá¯áá»ááºáááŸááá² á¡ááŒá¯á¡áá°áá»á¬ážááᯠááœá±á·ááŸááá±á¬á¡áá«á áá¯ááºáááºážá ááºáá»á¬ážááẠexploits á¡áá»á¬ážá¡ááŒá¬ážááᯠááááºááá¯á·ááẠáá¯á¶áá±á¬ááºáá±á¬ áá¯á¶ááŸááºá¡á¬ážááŒáá·áº áááºááá·áºááẠááá¯ááºážá á±áá«áááºá
source: opennet.ru