Bonjour,

J'ai comme projet la création d'antivirus et j'aimerai savoir si vous êtes aptes à créer un antivirus peut être en collaboration avec d'autres entreprise spécialisées ou d'autre free lance .

Voici quelques rappelles d'informations et compétence au minimum nécessaire pour créer un antivirus :
Pour les langages utilisés pour programmer, on peut envisager :

- Un langage "très haut niveau" pour tout ce qui est GUI et interface avec l'utilisateur.

- Un (ou des) langages compilables en natif et performant en terme d'exécution (type C / C++) pour la couche métier.

- Dans de très rare cas, l'assembleur.

Pour la détection des virus, on scinde les diverses en actives (exécution d'un fichier) ou passives (simple recherche, sans exécution) :

- Comme le disait Gorgonite, le "scanning" qui consiste à analyser les fichiers de manières passive en cherchant des signatures contenue dans une BDD.

- Contrôle d'intégrité :

On passe les fichiers (notamment exécutables) dans un contrôleur d'intégrité, via une fonction de checksum / CRC / Hash. On compare le résultat avec une base faites à l'installation de l'antivirus. Si un fichier obtient un résultat différent, on peut le dors et déjà le soupçonner, sans pour autant tout de suite remonter un "faux positif".

- Analyse Heuristique : L'analyse heuristique est une démarche passive ou active suivant le cas.

Dans le cas passif on tente non pas de repérer un ou des patterns de signature mais des "constructions" qui peuvent être marquées comme suspectes. Meilleurs sont les heuristiques, meilleur est l'AV, la difficulté est de trouver les bonnes heuristiques... Un exemple pour être plus parlant : L'instruction assembleur LIDT permet de remplacer tout ou partie de l'IDT (table des interruptions) qui est une table maintenu par le Kernel permettant d'appeler des fonctions résidante du noyau. Tout programme utilisant LIDT doit être marqué comme suspect.

Dans le cas actif, on émule tout ou partie d'un code pour savoir ce qu'il fait. Le terme d'émulation est très important puisque le programme ou le code émuler ne doit en aucun produire un résultat réel. On regarde donc ce que fait le code émuler, et suivant un jeu de règles (les heuristiques) on détermine s'il y a matière à marqué le code ou le binaire suspect.

- Analyse comportementale (dite "behaviour blocking"):

On "hook" certaines fonctions système en bas niveau pour savoir qui fait quoi (écriture, lecture, connexion, etc.) : Pour simplifier on "monitor" le système entier.
Par exemple, un binaire qui se mettrait à ouvrir tous les fichiers exécutables pour y écrire quelque chose doit immédiatement être déclaré suspect voir tout de suite arrêté. Il y a certains jeux facilement applicables: ouverture de binaire + écriture ou ajout, lecture de certians champs du PE, etc.

Le problème ici est de définir un seuil entre un comportement normal et anormal. Arrêté en pleine course un programme "légal" est du plus mauvais effet .

- analyse spectrale : D'approche simple (c'est une technique de recherche en statique), on se contente de faire un histogramme des instructions assembleur utilisées et de dégagés celle qui sont potentiellement aberrante. Dans ce cas là on peut être face à un virus de type polymorphique.

C'est vraiment un tour très très rapide des possibilités. Certaines détectent des macro virus ou virus de script, des virus polymophiques ou même métamorphiques, il faut souvent combiner et ajouter d'autres techniques...
Certaines techniques ont des avantages et/ou des désavantages...

Beaucoup de docs chez les constructeurs d'AV sont disponible. (par exemple Symantec n'est pas trop avare de ce coté là). Plus d'infos avec des chercheurs reconnus comme Peter Szor et consorts. Beaucoup d'entre eux ont écrit des livres.

Une bonne très bonne connaissance du système (Kernel land et user-land) puisqu'il faut développer des drivers, être capable de naviguer dans l'espace kernel sans être perdu, etc.
Une très bonne connaissance d'un langage comme le C ou apparenté.
Une très bonne connaissance de l'assembleur.
De très solides connaissances en algo : data mining, neural networks, etc.

Et enfin : Ne pas être seul... Au vu des compétences requises, une seule personne ne peut tout faire.

Ceci est un projet à long thermes donc je suis ouvert à toutes les propositions Merci pour vos retours.

Cordialement

Budget indicatif Plus de 10.000 €
Publié le 06 mai 2019 à 16h36
Début du projet Je ne sais pas

Vous avez aussi besoin d'un expert ?

Déposez une annonce en décrivant votre projet et recevez gratuitement des devis en quelques minutes

Déposer une annonce gratuite

Offres pour ce projet :

Offre déposée le 06/05/2019 à 16h43
Offre déposée le 07/05/2019 à 07h15
30 jours Montant privé
Offre déposée le 13/05/2019 à 13h24
Offre déposée le 06/05/2019 à 17h07
Offre déposée le 06/05/2019 à 17h36
180 jours Montant privé
Déposez un projet similaire
Publication 100% gratuite
Recevez 10 devis en moyenne
Pas de commission à payer

Vous êtes prestataire et vous cherchez des missions ?

Remplissez rapidement votre carnet de commandes en utilisant Codeur.com pour contacter des nouveaux clients.

Créer un compte gratuitement

Gérer mon projet

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients

En utilisant ce site, vous acceptez l'utilisation de cookies. permettant de vous proposer des contenus et des services adaptés à vos centres d'intérêts.

Vous utilisez actuellement Internet Explorer. Pour profiter pleinement de Codeur.com, veuillez utiliser un des navigateurs suivant :