Kiddy â Linuxi tuuma moodul, mis on loodud tuuma (mĂ”nede) haavatavuste ekspluateerimise riskide vĂ€hendamiseks.
Selle mooduli rakendatud kaitsemehhanismi aluseks on lihtne idee, et rĂŒnnaku kĂ€igus toimub mingil moel rĂŒnnaku sihtmĂ€rgi tuvastamine. Seega, kui tuvastamist keerulisemaks muuta, saab oluliselt suurendada ekspluateerimise keerukust, kuna paljusid valmis ekspluitaate iseloomustavad erinevate nihe(T) tabelid, mis vastavad sihttuuma versioonidele.
NÀiteks, nii on see tehtud CVE-2017-1000112. Siit on ka nÀha, et tuuma versiooni tuvastamine toimub uname'i abil.
Arendatud moodul on lihtne rakendada ja vÔimaldab:
- tuuma tuvastust muuta;
- tuuma ajakirja (dmesg) ligipÀÀsu piirata;
- mÔnede failide ligipÀÀsu piirata, mis asuvad /proc-is ja sisaldavad tuvastavat teavet;
- failide ja kaustade ligipÀÀsu piirata, mis vÔivad sisaldada tuvastavat teavet;
- tuuma versiooni, mis on saadaval vDSO kaudu, muuta.
KokkuvĂ”ttes vĂ”imaldab moodul kasutada nn âpresetâeâ, mis rakendavad erinevat identifitseerimise muutmise loogikat. NĂ€iteks, kasutades presetâi âwindowsâ, saab jĂ€rgmist kĂ€itumist:
Enne mooduli laadimist
$ ./misc/id.sh ** UNAME identiteedi lekked â uname -r 2.6.32-754.35.1.el6.x86_64 â uname -v #1 SMP Laup Nov 7 12:42:14 UTC 2020 â uname -a Linux localhost.localdomain 2.6.32-754.35.1.el6.x86_64 #1 SMP Laup Nov 7 12:42:14 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ** PROCFS identiteedi lekked â /proc/cmdline ro root=/dev/mapper/VolGroup00-LogVol00 rd_NO_LUKS no_timer_check console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=VolGroup00/LogVol01 rd_LVM_LV=VolGroup00/LogVol00 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet â /proc/version Linux versioon 2.6.32-754.35.1.el6.x86_64 (mockbuild@x86-02.bsys.centos.org) (gcc versioon 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)) #1 SMP Laup Nov 7 12:42:14 UTC 2020 â /proc/sys/kernel/version #1 SMP Laup Nov 7 12:42:14 UTC 2020 â /proc/sys/kernel/osrelease 2.6.32-754.35.1.el6.x86_64 which: no hostnamectl in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin)
PĂ€rast mooduli laadimist
$ ./misc/id.sh ** UNAME identiteedi lekked â uname -r Windows â uname -v NT 4.0 â uname -a Linux localhost.localdomain Windows NT 4.0 x86_64 x86_64 x86_64 GNU/Linux ** PROCFS identiteedi lekked â /proc/cmdline EFIMicrosoftBootbootmgfw.efi â /proc/version Windows NT 4.0 â /proc/sys/kernel/version NT 4.0 â /proc/sys/kernel/osrelease Windows which: no hostnamectl in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin)
Kid-scriptid ei lÀbi!
Allikas: linux.org.ru
