ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Singularity Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ заобикаля SELinux, Netfilter, LKRG ΠΈ eBPF

ΠœΠ°Ρ‚ΡƒΡ АлвСс (Matheus Alves), изслСдоватСл ΠΏΠΎ сигурност, спСциализиран Π² Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Singularity, Ρ€Π°Π·Π²ΠΈΠ²Π°Π²Π°Ρ‰ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ Π·Π° ядрото Π½Π° Linux, разпространяван ΠΏΠΎΠ΄ лицСнзия MIT. Π¦Π΅Π»Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ Π΄Π° дСмонстрира ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, позволяващи Π΄Π° сС скриС ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ слСд ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° root-Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΈ Π΄Π° сС Π·Π°ΠΏΠ°Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° скрито изпълнСниС Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° сС, Ρ‡Π΅ Singularity ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π½Π° изслСдоватСлитС ΠΏΠΎ сигурност Π·Π° тСстванС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° инструмСнти Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€ΡƒΡ‚ΠΊΠΈΡ‚Π΅.

Π ΡƒΡ‚ΠΊΠΈΡ‚ΡŠΡ‚ Π΅ ΠΎΡ„ΠΎΡ€ΠΌΠ΅Π½ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ» Π·Π° ядрото Π½Π° Linux 6.x ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ftrace Π·Π° Π½Π΅Π·Π°Π±Π΅Π»Π΅ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡ…Π²Π°Ρ‰Π°Π½Π΅ Π½Π° систСмни ΠΏΠΎΠ²ΠΈΡ†ΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΡ‡ΠΊΠΈΡ‚Π΅ Π½Π° Π²Ρ…ΠΎΠ΄ Π² систСмнитС ΠΏΠΎΠ²ΠΈΡ†ΠΈ ΠΈ Π±Π΅Π· модификация Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° ядрото. Singularity ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° скриванСто Π½Π° своСто ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²ΠΈΠ΅ Π² систСмата, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ скриванСто Π½Π° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ процСси ΠΎΡ‚ атакуващия ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ с тях Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²Π° активност. Π—Π° удобство Π½Π° изслСдоватСлитС функционалността Π½Π° Ρ€ΡƒΡ‚ΠΊΠΈΡ‚Π° Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

ОсвСн стандартни ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° маскировка Π½Π° ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π² систСмата, ΠΊΠ°Ρ‚ΠΎ скриванС Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ процСси, Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ·ΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° ядрото, Π² Singularity са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ няколко Π½Π°ΠΏΡ€Π΅Π΄Π½Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° заобикалянС Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΈ затрудняванС Π½Π° открития ΠΎΡ‚ спСциализирани скСнСри Π·Π° Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΈ, ΠΊΠ°Ρ‚ΠΎ Falco, ghostscan, tracee, unhide, chkrootkit ΠΈ rkhunter. Π‘Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Singularity ΠΌΠΎΠΆΠ΅ Π΄Π° скрива своята активност ΠΎΡ‚ инструмСнти, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ eBPF, Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈΡ‚Π΅ eBPF, Π΄Π° ΠΏΡ€Π΅Ρ‡ΠΈ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° ядрото, Π΄Π° противостои Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π²Ρ…ΠΎΠ΄/ΠΈΠ·Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π· подсистСмата io_uring, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° заобикаля ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π° цялост, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½ΠΈ ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π° LKRG (Linux Kernel Runtime Guard).

Π’ Singularity ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° reverse shell, прСдоставящ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ систСмата Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ICMP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, Π΄Π°Π²Π°Ρ‰ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° сС постигнС скриванС Π½Π° процСси ΠΈΠ»ΠΈ повишаванС Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ Π² систСмата Ρ‡Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ със сигнали ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата. НапримСр, Π·Π° скриванС Π½Π° процСс ΠΎΡ‚ /proc ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° инструмСнти, ΠΊΠ°Ρ‚ΠΎ ps, ΠΌΠΎΠΆΠ΅ Π΄Π° сС изпълни β€žkill -59 PID_ΠΏΡ€ΠΎΡ†Π΅ΡΠ°β€œ, Π° Π·Π° повишаванС Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ Π΄Π° сС Π·Π°Π΄Π°Π΄Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° Π½Π° срСдата β€žMAGIC=mtzβ€œ.

Π ΡƒΡ‚ΠΊΠΈΡ‚ΡŠΡ‚ скрива Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° reverse shell ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ позволява заобикалянС Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ SELinux, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€Π°Ρ‚ Π½Π° ICMP. Singularity ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° скриванС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ /proc/net/nf_conntrack, netlink ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ SOCK_DIAG/NETFILTER ΠΈ инструмСнти ΠΊΠ°Ρ‚ΠΎ netstat, ss, lsof, tcpdump ΠΈ wireshark. На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ са ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π·Π° почистванС Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π·Π° ΠΎΠ΄ΠΈΡ‚ ΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅ (klogctl, syslog, systemd-journal, /sys/kernel/debug/tracing/, dmesg). Има Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ противодСйстват Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Ρ‚Π°ΠΊΠΈΠ²Π° ΠΊΠ°Ρ‚ΠΎ Volatility, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ /proc/kcore, /proc/kallsyms ΠΈ /proc/vmallocinfo, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈ обращСния към Π±Π»ΠΎΠΊΠΎΠ²ΠΈ устройства, Π·Π° Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈ нискоуровнСвият Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ


Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru
ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster