GNU/Linux >> Linux Esercitazione >  >> Linux

Rileva librerie condivise obsolete in memoria con UChecker

Questo tutorial spiega cos'è UChecker e come rilevare librerie condivise obsolete in memoria con UChecker nei sistemi operativi Linux.

Introduzione

Le organizzazioni IT che si affidano al software libero e open source (FOSS) devono affrontare una lotta costante nell'elaborazione di librerie condivise senza patch. È un problema non banale, poiché le librerie condivise sono una superficie di attacco ampiamente mirata. Ad esempio, la ricerca suggerisce che OpenSSL è il software più preso di mira al mondo, rappresentando il 19% delle attività ostili a livello globale .

Se sei responsabile delle librerie OpenSSL e GNU C (glibc), tra molti set di codici open source comparabili, sei obbligato a eseguire aggiornamenti tempestivi e gestione delle patch. L'approccio tradizionale all'aggiornamento delle librerie prevede il riavvio dell'intero server o il riavvio di tutti i processi se non è possibile identificare quali processi stanno ancora utilizzando le librerie obsolete. Tuttavia, i riavvii del sistema causano complicazioni e rischi. Grazie a KernelCare team, possiamo risolvere facilmente questo problema con un semplice script chiamato UChecker .

Cos'è UChecker

UChecker, abbreviazione di Userspace Checker , è uno scanner gratuito e open source che identifica quali dei tuoi processi stanno ancora utilizzando librerie obsolete e necessitano di un riavvio. È stato creato durante lo sviluppo di patch in tempo reale per le librerie condivise di Kernel Care. Con Uchecker, puoi identificare le librerie FOSS vulnerabili e correggerle. Dovrai riavviare i processi interessati (a meno che tu non stia utilizzando servizi di aggiornamento della libreria senza riavvio), ma eseguendo la scansione delle vulnerabilità, puoi determinare quali processi richiedono attenzione e quali no.

Di conseguenza, si evitano riavvii del server non necessari che provocano degrado del servizio e/o interruzioni, nonché la creazione di finestre di vulnerabilità poiché le librerie rimangono senza patch fino a quando non è possibile pianificare il riavvio. In effetti, potresti non sapere nemmeno quali servizi utilizzano quali librerie, quindi si è tentati di riavviare l'intero server per aggiornarli tutti o riavviare i servizi principali. Anche questa pratica può essere dirompente come un riavvio.

Come funziona UChecker

Uchecker funziona con tutte le moderne distribuzioni Linux, a partire dalla sesta versione. È un software gratuito, costruito con JSON e aperto alla ridistribuzione e/o modifica secondo i termini della GNU General Public License. Uchecker rileva i processi che utilizzano librerie condivise vecchie (ovvero senza patch). Rileva e segnala le librerie condivise non aggiornate utilizzate dai processi in esecuzione. Le sue capacità di rilevamento si basano sul confronto BuildID. Di conseguenza, sono a conoscenza dei file eliminati o sostituiti.

La seguente illustrazione grafica mostra come funziona Uchecker.

Lo strumento Uchecker è in grado di rilevare Process ID e Name, nonché i nomi delle librerie condivise che non sono state patchate, insieme ai loro build-id. Uchecker ottiene gli ultimi BuildID dalle risorse KC. Quindi richiede un processo in esecuzione eseguendo un'iterazione su /proc/ e ottiene una libreria condivisa collegata da /proc/<pid>/maps . A quel punto, Uchecker chiede se la libreria condivisa non è stata sostituita o eliminata. A seconda della risposta, il software analizzerà ELF dal file system o analizzerà ELF dalla memoria mappata. Quindi, Uchecker raccoglie il BuildID da .note.gnu.build-id .

Rileva le librerie condivise obsolete in memoria con UChecker

Non è necessaria alcuna installazione! Basta eseguire lo script Uchecker per trovare le librerie senza patch nel tuo server Linux:

# curl -s -L https://kernelcare.com/checker | python

Il comando precedente scansiona i tuoi sistemi server Linux alla ricerca di librerie condivise obsolete collegate a python elabora e li elenca nello standard output.

Puoi quindi aggiornare quelle librerie senza patch utilizzando il gestore di pacchetti predefinito del tuo sistema.

Guarda la dimostrazione visiva di come funziona Uchecker nel seguente video:

Conclusione

Uchecker ti consente di mantenere le tue librerie FOSS aggiornate e corrette. Puoi evitare il fastidio comune di dover riavviare i server perché non sai quali processi devono essere riavviati. Questo è rilevante per le librerie OpenSSL e GNU C (glibc), tra le altre. Con tecnologie come KernelCare+, ora è anche possibile condurre una patch in tempo reale delle vulnerabilità nelle librerie di spazi utente essenziali oltre a quelle nel kernel Linux. È possibile aggiornare le applicazioni senza influire sul loro stato operativo. Non sono necessari riavvii o riavvii.


Linux
  1. Il comando gratuito in Linux spiegato con esempi

  2. 10 Esempi di comandi IPCS (con introduzione IPC)

  3. Introduzione alle librerie condivise Linux (come creare librerie condivise)

  4. Raccomandazione sulla comunicazione tra processi

  5. Gestione della memoria con struct epoll_event

Comandi Linux:esplorare la memoria virtuale con vmstat

Come elencare le librerie condivise utilizzate dagli eseguibili in Linux

errore durante il caricamento delle librerie condivise:libncurses.so.5:

Rileva se la connessione corrente è misurata con NetworkManager

Perché la memoria condivisa del kernel è 0 su Ubuntu 12.04?

rkhunter:segmenti di memoria condivisa sospetti