Vous êtes sur la page 1sur 16

Vulnérabilités de linux

Vulnérabilités de linux
• Les installations par défaut de Linux (non patchées et non sécurisées) sont
vulnérables à:
• Buffer overflows

• Déni de Service (DoS)

• Abus des programmes « SetUID root »

• Race conditions

• Attaques rootkit
Vulnérabilités de linux


Vulnérabilités de linux

int x=100
int main()
{
int a=2;
float b=2.5;
static int y;

int *ptr = (int *) malloc(2*sizeof(int));


// values 5 and 6 stored on heap
ptr[0]=5; ptr[1]=6;
// deallocate memory on heap
free(ptr);
return 1; }
Vulnérabilités de linux

void foo(int a, int b)


{
int x, y;
x = a + b;
y = a - b;
bar();
}

int main()
{
……….
foo(a,b);
printf(“hello”);
…………
}
Vulnérabilités de linux
Vulnérabilités de linux
Vulnérabilités de linux

• La nouvelle adresse virtuelle, peut ne pas être mappée à une adresse physique valide, donc le retour
échouera et le programme plantera.

• L'adresse peut être mappée à une adresse physique, mais l'espace d'adressage est protégé (espace du
noyau du système d'exploitation), donc le jump échouera et le programme plantera.

• L'adresse peut être mappée à une adresse physique, mais les données de cette adresse ne correspondent
pas une instruction machine valide (par exemple, il peut s'agir d'une région de données); le retour
échouera et le programme plantera.

• Les données de l'adresse peuvent être une instruction machine valide, donc le programme continuera à
s'exécuter, mais la logique du programme sera différente de celle d'origine.
Vulnérabilités de linux

Return Address
Previous frame pointer
Vulnérabilités de linux
Denial of Service
Distributed DenialAttack (DoS)
of Service Attack (DDoS)
? ?
(Processing, Memory, Bandwidth) ?

c Lig
t raffi a ffic ima
s ict r te r
i ciou uffs Tar equ
M al
lsi ctroa get
unr est
k cm
i oua eac
hab
b aacli le
ing M
ac
Tr

Botnet
(Zombie machines)
Vulnérabilités de linux
❑ Un programme setuid root s’exécute comme root

❑ Peu importe qui l’exécute

❑ Utiliser pour donner aux utilisateurs non privilégiés l’accès aux ressources privilégiées

❑ Doit être programmé avec prudence

❑ S’il peut être exploité dû à un bug logiciel

❑ Peut permettre à des utilisateurs non privilégiés de l’utiliser pour manier des privilèges root non-autorisés

❑ Les distributions actuelles minimisent les programmes setuid-root

❑ Les attaquants système continuent à les rechercher


Vulnérabilités de linux

Vérifier la Valeur de Real UID: si Alex a le


droit d’accéder au fichier /tmp/X
RealUID: ALEX
RealUID /etc/passwd: root

RealUID: ALEX
Access contrôle: ok
File courant:

Programme: SetUID: Effectif UID root


Current user: Alex
Vulnérabilités de linux
Vulnérabilités de linux
Rootkit
▪ Deux types: mode utilisateur et mode noyau.

▪ Mode utilisateur (traditionnel): se concentre sur la modification des executables des programmes
et les librairies,
▪ Modification de programmes système bien définis pour extraire des informations concernant le
système en cours d’exécution : liste des programmes, contenu des fichiers système,
connexions réseau, etc.
▪ Mode noyau: manipule le couer du systéme (noyau):

▪ Utilisent des modules chargeables du noyau (Loadable Kernel Modules, LKMs)


❖ Remplacer le model d’appel système du noyau linux avec celui de l’attaquant
Vulnérabilités de linux
Rootkit
▪ Patcher le noyau en cours d’exécution (modification du mémoire)
❖ Manipulation de l’image du noyau en cours d’exécution (/dev/kmem ) dans le but de subvertir le
noyau sans prise en charge de LKM,

▪ Patcher l’image binaire du noyau (située sur le disk)


❖ Replacer l’image du noyau strockée dans /boot/vmlinuz par une version compréssée de l’attaquant,

▪ Créer un système virtuel froduleux


❖ Avoir une copie du système réel comme un nouveau système complet fonctionnant en

mode utilisateur en utilisant un logiciel de machine virtuelle,


Vulnérabilités de linux
Rootkit

▪ Exécuter un programme en mode noyau,


❖ Exécuter un programme d’un mode utilisateur avec les privilèges du noyau,

▪ Si installer avec succès avant la détection, il est très difficile à trouver et à supprimer

▪ Peuvent être détectés avec chkrootkit

Vous aimerez peut-être aussi