Matheus Alves, një hulumtues sigurie që specializohet në malware, publikoi një përditësim të projektit Singularity, i cili zhvillon një rutit të hapur për bërthamën Linux, i shpërndarë nën licencën MIT. Qëllimi i projektit është të demonstrojë metoda që lejojnë fshehjen e pranishëm pas marrjes së aksesit root dhe të ruajë mundësinë e ekzekutimit të fshehtë të operacioneve privilegjuese. Suppozimi është se Singularity mund të jetë e dobishme për hulumtuesit e sigurisë për testimin dhe zhvillimin e mjeteve për identifikimin dhe bllokimin e rutitëve.
Rutiti është formatuar si një modul për bërthamat Linux 6.x dhe përdor mekanizmin ftrace për të interceptuar thirrjet sistemore pa ndryshuar piketat e hyrjes së thirrjeve sistemore dhe pa modifikuar funksionet e bërthamës. Singularity mbështet fshehjen e pranishëm në sistem, si dhe fshehjen e proceseve të caktuara nga sulmuesi dhe dosjeve të lidhura me to dhe aktivitetit rrjetor. Për shërbimin e hulumtuesve, funksionaliteti i rutitit është ndarë në module.
Përveç metodave standarde të fshehjes së pranishëm në sistem, të tilla si fshehja e proceseve, dosjeve, katalogëve dhe moduleve të bërthamës, në Singularity janë implementuar disa metoda të përparuara për kapërcimin e mekanizmave të mbrojtjes dhe për të vështirësuar zbulimin nga skanerët e specializuar të rutitëve, si Falco, ghostscan, tracee, unhide, chkrootkit dhe rkhunter. Mes të tjerash, Singularity mund të fshehë aktivitetet e tij nga mjetet që përdorin eBPF, të heqë bllokimet e eBPF, të parandalojë ngarkimin e moduleve të bërthamës, të kundërshtojë analizën e hyrje/dalje përmes nën-sistemit io_uring, si dhe të kapërcejnë kontrollet e integritetit që kryhen nga moduli LKRG (Linux Kernel Runtime Guard).
Në Singularity ka një reverse shell që ofron akses të privilegjuar të largët në sistem përmes dërgimit të paketave ICMP, si dhe trajtues që ofrojnë mundësinë për të arritur fshehjen e proceseve ose rritjen e privilegjeve në sistem përmes manipulimeve të caktuara me sinjale dhe variabla mjedisorë. Për shembull, për të fshehur një proces nga /proc dhe nga daljet e mjeteve, të tilla si ps, mund të ekzekutohet "kill -59 PID_procesit", dhe për të rritur privilegjet të vendoset variabla mjedisor "MAGIC=mtz".
Rootkiti fsheh trafikun e reverse shell nga analizatorët e rrjetit dhe lejon shmangien e përpunuesve SELinux, të cilët aktivizohen nga ICMP. Singularity gjithashtu përfshin mundësi për të fshehur lidhje të caktuara rrjeti nga tabelat /proc/net/nf_conntrack, përpunuesit netlink SOCK_DIAG/NETFILTER dhe utilitetet si netstat, ss, lsof, tcpdump dhe wireshark. Janë të disponueshme përpunues për pastrimin e mesazheve të auditit dhe regjistrimin në log (klogctl, syslog, systemd-journal, /sys/kernel/debug/tracing/, dmesg). Janë të pranishëm filtrat për t'u përballur me analizatorët e memories, si Volatility, që përdorin /proc/kcore, /proc/kallsyms dhe /proc/vmallocinfo, si dhe mundësi filtrimi për qasjen direkt në pajisjet e bllokimit për të parandaluar analizën në nivel të ulët të përmbajtjes së FSh.

Burimi: opennet.ru
