2013年10月29日火曜日

PHP 5.x Remote Code Execution Exploit

Affected and tested versions:
PHP 5.3.10
PHP 5.3.8-1
PHP 5.3.6-13
PHP 5.3.3
PHP 5.2.17
PHP 5.2.11
PHP 5.2.6-3
PHP 5.2.6+lenny16 with Suhosin-Patch
Affected versions
PHP prior to 5.3.12
PHP prior to 5.4.2
Unaffected versions
PHP 4 - getopt parser unexploitable
PHP 5.3.12 and up
PHP 5.4.2 and up
Unaffected versions are patched by CVE-2012-1823
 
 http://www.exploit-db.com/exploits/29290/

2013年10月13日日曜日

Phrozen Windows File Monitor

Phrozen Windows File Monitor (v1) vient d'être publié aujourd'hui, Dimanche 13 Octobre 2013!
 Cet outil va vous permettre de regarder l'activité des actions effectuées sur votre ordinateur.

J'apprecie beaucoup cette application car c'est un complèment à ajouter avec Sandboxie.
Vous pouvez voir une démonstration du logiciel sur cette vidéo:



Interface du logiciel




2013年10月12日土曜日

Methode de détection des malware

METHODES DE DETECTION DE MALWARE

Définitions:
*Malware:
Le terme "malware" en français désigne un logiciel (<= software) mal vaillant (<= malware), qui à pour but de nuire à un système numérique.
Un "malware" désigne tout type de virus, vers, trojans...


 Voilà une définition en image:
[Image: Malware_graph.svg] 
*Anti-Virus:
Un anti-virus, au contraire d'un logiciel malveillant, aura pour but de détecter et d'éradiquer le malware.
Il va pour cela, analyser la [i]mémoire vive
, les périphériques de stockage (USB, Disque dur...) et analyser les fichiers entrants (téléchargé sur internet, par exemple) périodiquement.[/i]

I. Avant-propos

Dans la lutte des logiciels malveillants, il a fallu inventer des méthodes permettant de détecter et supprimer dans sa totalité un malware sans l'interaction humaine, qui ne peut en aucun cas, détecter tout seul un virus bien dissimulé. Pour cela, les développeurs ont inventé ce que l'on appelle aujourd'hui les "anti-virus", tout le monde le connait, c'est notre meilleur amis, quand on achète un PC, l'une des premières
choses que l'on va faire, c'est télécharger notre antivirus (gratuit, ou payant, la différence est minime). Mais savez-vous comment celui-ci fonctionne ? c'est ce que nous allons voir à travers ce tutoriel qui va-vous
présenter les 4 méthodes les plus utilisées dans la détection de malware...

II. Sommaire :

1. Méthode De détection par signature
[a) Détection (& suppression)
b) Contournement]
2. Méthode D'analyse de spectre
[a) Détection (& suppression)
b) Contournement]
3. Méthode D'analyse comportementale
[a) Détection (& suppression)
b) Contournement]
4. Méthode Heuristique
[a) Détection (& suppression)
b) Contournement]
5. Liens

1. Méthode De détection par signature
a) Détéction (& suppression)

Cette méthode de détection appelée aussi Scanning" est la plus rependue chez les éditeurs d'anti-virus, simplement, car elle est très simple à programmer. Cette technique est aussi la première effectuée par l'antivirus,
car celle-ci permet de détecter le malware avant son exécution en mémoire.

L'anti-virus va "scanner" le fichier et essayer de trouver un bout de code qu'on appellera "signature", cette signature est enregistrée dans la base de données de l'antivirus (et elle est unique, chaque
logiciel dispose de sa propre signature, logique..) Et est mise régulièrement mise à jour.
Le seul bémol (enfin... on vera ça après Big Grin) de cette technique c'est qu'elle à BESOIN d'être "entretenue" TOUT le temps, c'est à dire que tous les jours de nouveaux malware font leur apparition, leur signature n'étant pas dans la base de données, le malware ne pourra donc pas être détecter et éradiquer du système et c'est donc pour cela, que des mises à jour sont INDISPENSABLES pour un antivirus (c'est d'ailleurs ce qui fait la différence entre les av payant ou gratuit)

b) Contournement

Les développeurs de malware ont maintenant (enfin depuis longtemps) de nouvelles techniques pour "contourner" les antivirus, pour la méthode de détection par signature, il suffira que le malware soit dit "polymorphe" (<= prendre plusieurs formes)
Le mécanisme est très simple, le logiciel malveillant dispose d'une routine de chiffrement de sa signature et de déchiffrement et ces virus vont changer de signature à chaque réplication de celui-ci, ce qui le rend
Indétéctable à 99% pour la méthode de détection par signature.

2. Méthode D'analyse de spectre
a) Détection (& suppression)

La méthode d'analyse par signature étant vulnérable à des malware polymorphiques, les laboratoires d'anti-virus ont élaborés une technique permettant de détécter le polymorphisme, cette méthode s'appelle, comme vous l'avez
deviné, "l'analyse spectrale".
L'antivirus va en fait analyser les instructions dans le fichier suspect et, selon la présence ou l'absence d'instructions très particulières, jamais usitées normalement,
ou selon la fréquence (la distribution) de telles instructions, ils décident de signaler en parasite ou non un fichier. Cela vient du principe que tout programme compilé est censé contenir une trace du compileur dans le code
du programme (ex de compileur Microsoft Visual C++). et comme (en théorie) un code polymorphique est censé chiffrer la signature, il chiffre aussi par la même occasion la trace de la signature du compileur. L'av étant en présence de sécances innhabituelles,
il va détécter le programme comme "malveillant".

Exemple de signature de compilateur (Microsoft Visual C++ 5.0):

Code :
  • PUSH EBP
    MOV EBP,ESP
    PUSH -1
    PUSH XXXXXXX.00000000
    PUSH XXXXXXX.00000000
    MOV EAX,DWORD PTR FS:[0]
    PUSH EAX
    MOV DWORD PTR FS:[0],ESP
    ADD ESP,-58
    PUSH EBX
    PUSH ESI
    PUSH EDI
    MOV DWORD PTR SS:[EBP-18],ESP


b) Contournement

C'est maintenant la "gue-guerre" entre anti-virus et logiciels malveillants, les chercheurs ont simplement contourné cette méthode en introduisant dans le programme, une suite d'instructions inutiles que son moteur ne pourrait pas générer, pour pouvoir tromper l'analyse spectrale.

3. Méthode D'analyse comportementale (ou moniteurs de comportement)
a) Détection (& suppression)

Une des actions que l'anti-virus effectue h24, est l'analyse comportementale, cette technique, comme je l'ai dit, tourne toujours, elle est toujours active.
C'est une des méthodes les plus efficaces car elle permet la détection de malware sans qu'il soit "connue" dans la base donnée.
Son fonctionnement est celui-ci :
-Il scrute toutes tentatives d'écriture dans un programme &/ou modification d'un fichier système (ou autre action malveillante) qui va trahir un virus et donc, prévenir l'utilisateur du système.
Il existe aussi un moniteur "hardware" qui est comme son nom l'indique, incorporé au matériel, c'est le top du top niveau sécurité, car il interdit tout accès à des fichiers sensibles du système.

b) Contournement

Rien trouvé à ce sujet.

4. Méthode Heuristique (algorithme heuristique)
a) Détection (& suppression)

La méthode heuristique est de loin la meilleure méthode pour détecter un malware (car elle permet de détecter les virus polymorphiques), elle se base sur l'analyse du code machine, à la recherche de code pouvant être dangereux à son exécution &/ suspect. (appelé code virale)
MAIS attention, la méthode heuristique est dite "passive" (comme la méthode de détection par signature) car elle n'exécute pas le code et ne fait que l'analyser, pour cela, les av utilisant cette technique, sont munis d'un désassembleur.
Par exemple, un virus polymorphique/autocrypté peut être détecté par une technique d'analyse heuristique, l'anti-virus va parcourir le code juste à la routine de déchiffremment, et à ce momment il déclarera le fichier comme malicieux,
car la routine de déchiffremment va parcourir le code pour le modifié. (<= et c'est donc une instruction virale)
Il ne déclarera pas bien sûr, un fichier comme malveillant en voyant la première instruction suspecte, il lui faudra un certain nombre d'informations pour sonner l'alerte.

Son efficacité est telle, que cette technique à permis de trouver 40 à 60 % d'un nombre assez important de virus avec une signature "inconnue", bien sûr, cette technique peut être fusionnée avec
d'autres (comme toutes d'ailleurs) pour avoir la meilleure protection possible. Mais cette technique est loin d'être parfaite vu qu'elle est basée sur "l'incertitude" seul, l'humain pourra vérifier si le programme est
dangereux ou pas.
Le meilleur facteur d'analyse reste l'humain, qui une fois cerveau assemblé n'est pas bypassable fusionné à cette technique Wink

b) Contournement

On peut imaginer une sorte "d'anti-désassemblage" (supposition) pour contourner l'analyse.

5. Liens

Car je n'ai pas la science infuse:
- http://vxheavens.com/lib/ama00.html
- http://antivirus-inf.blogspot.fr
- http://hal.archives-ouvertes.fr/docs/00/...ello-1.pdf
- http://hal.archives-ouvertes.fr/docs/00/...ello-1.pdf

Regards,
J0rD/Loup.