Kiddy — Linux-Kernel-Modul zum Schutz vor Script-Kiddies

Kiddy – ein Modul fĂŒr den Linux-Kernel, das mit dem Ziel entwickelt wurde, die Ausnutzung (einiger) Kernel-Schwachstellen zu verringern.

Die Grundlage des in diesem Modul umgesetzten Schutzmechanismus beruht auf einer einfachen Idee: Bei einem Angriff findet in irgendeiner Form eine Identifizierung des Angriffsobjekts statt. Wenn man also diese Identifizierung erschwert, kann man die Ausnutzung erheblich komplizierter machen, da in vielen FĂ€llen fertige Exploits Tabellen mit verschiedenen Offset-Werten enthalten, die mit bestimmten Kernel-Versionen ĂŒbereinstimmen.

Zum Beispiel, so wird es fĂŒr CVE-2017-1000112realisiert. Dort kann man auch sehen, dass die Identifikation der Kernel-Version mit uname erfolgt.

Das entwickelte Modul ist einfach zu implementieren und ermöglicht es:

  • die Identifizierung des Kernels zu Ă€ndern;
  • den Zugriff auf das Kernelprotokoll (dmesg) zu beschrĂ€nken;
  • den Zugriff auf bestimmte Dateien in /proc zu beschrĂ€nken, die ebenfalls identifizierende Informationen enthalten;
  • den Zugriff auf Dateien und Verzeichnisse, die potenziell identifizierende Informationen enthalten, zu beschrĂ€nken;
  • die Identifizierung der Kernel-Version, die ĂŒber vDSO verfĂŒgbar ist, zu Ă€ndern.

WĂ€hrend des Kompilierungsprozesses ermöglicht das Modul die Verwendung von sogenannten „Presets“, die verschiedene Logik zur Änderung der Identifizierung implementieren. Zum Beispiel kann man mit dem Preset „windows“ folgendes Verhalten erreichen:

Vor dem Laden des Moduls

$ ./misc/id.sh ** UNAME IdentitĂ€tsundichtigkeiten — uname -r 2.6.32-754.35.1.el6.x86_64 — uname -v #1 SMP Sat Nov 7 12:42:14 UTC 2020 — uname -a Linux localhost.localdomain 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ** PROCFS IdentitĂ€tsundichtigkeiten — /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 version 2.6.32-754.35.1.el6.x86_64 (mockbuild@x86-02.bsys.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) ) #1 SMP Sat Nov 7 12:42:14 UTC 2020 — /proc/sys/kernel/version #1 SMP Sat 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)

Nach dem Laden des Moduls

$ ./misc/id.sh ** UNAME IdentitĂ€tsundichtigkeiten — 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 IdentitĂ€tsundichtigkeiten — /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)

Script-Kiddy werden nicht durchkommen!

Quelle: linux.org.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster