Linux utilizza (è) un kernel di tipo monolitico modulare, quindi un solo programma gestisce tutte le funzionalità principali del sistema operativo, come gestione dei processi, della CPU, della memoria, della comunicazione coi dispositivi eccetera.
Essendo modulare, esso può caricare moduli in fase di esecuzione secondo le necessità, al fine di aggiungere supporto per periferiche (driver) o funzionalità nuove, come system call aggiuntive.
Un modulo del kernel è quindi un software, con estensione .ko, che può esser aggiunto al kernel. Essi vengono salvati nella cartella /lib/modules/<versione-kernel>.
Ogni modulo può avere un alias, definito dal file modules.alias, che si può cercare con il comando:
find / -name modules.alias
/lib/modules/<versione-kernel>/modules.alias
Il modo più semplice per caricare un modulo in memoria è utilizzare il programma modprobe, il quale carica il modulo rispettando le sue dipendenze, riferendosi al file modules.dep (generato da depmod).
Sul mio sistema:
cat /lib/modules/2.6.24-1-amd64/modules.dep | grep rt73
/lib/modules/2.6.24-1-amd64/extra/rt73.ko:
/lib/modules/2.6.24-1-amd64/kernel/drivers/base/firmware_class.ko
Kernel e moduli del kernel funzionano nel cosiddetto kernel space, in contrapposizione ai programmi di livello utente che girano appunto in user space: un palese effetto dell'asserto è che un malfunzionamento di un modulo implica il malfunzionamento di tutto il sistema.
Alcuni comandi utili in ordine sparso:
Per quanto riguarda il modulo del kernel rt73, abbiamo le seguenti informazioni, che ora possiamo capire nel dettaglio:
modinfo rt73
filename: /lib/modules/2.6.24-1-amd64/extra/rt73.ko
license: GPL
description: Ralink RT73 802.11abg WLAN Driver - k2wrlz modifications 3.0.0
author: http://rt2x00.serialmonkey.com
alias: usb:v1740p7100d*dc*dsc*dp*ic*isc*ip*
[...]
depends: firmware_class
vermagic: 2.6.24-1-amd64 SMP mod_unload
parm: debug:Debug mask: n selects filter, 0 for none (int)
parm: ifname:Network device name (default rausb%d) (charp)
parm: firmName:Permit to load a different firmware: (default: rt73.bin)
Forensics: NBTempo una GUI per le timelineUsiamo NBTempo, una GUI che consente di creare delle timeline dei... |
Nmap: tecniche per evadere un firewallVediamo come sfuggire ai controlli di un firewall utilizzando Nmap. |
Sfruttare vulnerabilità XSS con BeEFUsiamo BeEF per automatizzare lo sfruttamento di vulnerabilità Cross... |
Trojan Flashback: rimuoverlo da Mac OS XIndividuiamo e rimuoviamo il trojan Flashback da Mac OS X |
Individuare vulnerabilità in Joomla con JoomScanUsiamo JoomScan per verificare la sicurezza di Joomla e la presenza... |
Guida SQL Injection con SqlmapScopriamo se le nostre applicazioni web sono vulnerabili alle SQL... |
Guida sicurezza applicazioni WebLe tecniche di attacco più comuni, i metodi per verificare la... |
Guida rimozione malwareUn malware è un qualsiasi software nocivo per il computer. Questa... |
Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |