TÉLÉCHARGER LES REGLES DE SNORT


Spécification des chemins vers les règles de Snort. . La prochaine étape, consistera à télécharger le pack des règles pour Snort depuis son site. 2 Les règles Snort: 2 L entête d une règle Snort 2 Les options d une règle Snort 3 Les alertes de Snort 3 Exemple de règle Snort: Téléchargement de l. Télécharger Snort Pour y arriver, Snort analyse des. Snort fonctionne à travers un langage de règles flexible qui permet de décrire le trafic à.

Nom: les regles de snort
Format:Fichier D’archive
Version:Nouvelle
Licence:Usage personnel seulement (acheter plus tard!)
Système d’exploitation: iOS. Android. Windows XP/7/10. MacOS.
Taille:66.17 Megabytes


En savoir plus sur comment les données de vos commentaires sont utilisées. Tu reprend ton ancien compte , je vois pas où est le probleme. Vous pouvez lancer Snort en tâche de fond service pour cela nous allons créer un script de démarrage. Télécharger vidéo Youtube sur tablette et mobile Supprimer son compte Facebook Créer une adresse Gmail. La machine cible est une RedHat7. Articles similaires. Attention à bien commenter la règle ICMP une fois le test effectué. Si la configuration est validée par Snort, nous allons pouvoir mettre en place notre premier test. Inscrivezvous gratuitement à la Access gratuit.

Bonjour à tous Je souhaite tester snort, donc je me suis inscrit sur le site et ai récupéré ma oinkcode. j ai suivi le tuto en francais bien que la. Fonctionnant sur la base de règles rédigées par son éditeur et la communauté, Snort est capable d'effectuer des analyses de trafic et de protocole en temps réel . Installation des règles SNORT. Maitenant, il faut télécharger les règles de SNORT. En effet, SNORT utilise des règles pour détecter les intrusions. Il existe.

Pour accéder à un fichier de log, exécutez la commande suivante:. Pour utiliser les règles présentes sur le site de Snort , cliquez ici. Téléchargez le fichier correspondant à la version installée. Décompressez le fichier avec la commande suivante en remplaçant XXX par le nom du fichier:. Bien entendu, vous devez décommenter uniquement les règles dont vous utilisez le protocole. Utilisez la commande suivante:. Sauvegardez et quittez. Le fichier contenant ces règles sera désormais pris en compte par Snort.

Vous pouvez lancer Snort en tâche de fond service pour cela nous allons créer un script de démarrage. Créez le fichier suivant:.

REGLES DE LES SNORT TÉLÉCHARGER

Démarrez le service Snort que vous venez de créer. Très bon tuto, facile a suivre et mettre en oeuvre, merci pour ce super travail et a bientôt. Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées. Pourtant, ils sont les seuls à pouvoir détecter de manière efficace les tentatives de buffer overflows.

Ils sont donc très conseillés sur les machines sensibles. Détecter un IDS. Voici quelques techniques qui permettent de détecter un IDS :. Si la machine répond alors elle est en mode promiscuous et peut donc être un NIDS. Voici une méthode pour exploiter ces temps de latence :.

Enfin, le pirate réémet la même série de pings en mesurant les nouveaux temps de réponse. Le système, par contre, rejettera le paquet erroné. Attention : de nos jours, les routeurs rejettent souvent les paquets erronés ; il faut donc utiliser un autre champ que le checksum, comme par exemple le TTL.

Bien sûr, les NIDS prennent maintenant en compte ces techniques.

Installation de Snort sous Windows 7

Celles-ci peuvent être décomposées en trois grandes parties :. Assez souvent, ce sont des instructions assembleurs NOP, dont le code est 0x90 sur architecture IA De nombreux IDS sont capables de détecter les tentatives de buffer overflow. Cependant, il est facilement possible de camoufler une tentative de buffer overflow. Voici quelques techniques simples mais efficaces :. Dans ce cas, le décodeur et la clé doivent être présents dans le shellcode pour pouvoir le décrypter lors de son exécution chez la victime.

D'autres critères doivent être pris en compte :. Il est important de tester cela de manière réaliste, et non pas en utilisant des générateurs de paquets. Afin de centraliser les données, il peut être intéressant de disposer de consoles de reporting ou de tableaux de bords.

Telechargement des regles snort | Netgate Forum

Ensuite, les interfaces de type Web ou encore les interfaces en ligne de commandes réservées aux spécialistes. D'autres critères, comme la réactivité de l'éditeur mises à jour des signatures, correctifs, … , ou le prix solution libre ou non rentrent en jeu.

Pour évaluer un IDS, il est intéressant de pondérer chacun de ces critères selon l'importance qu'on leur attribue, et donner une note à l'IDS pour chaque critère. Maintenant que nous connaissons le but, le fonctionnement mais aussi les faiblesses des IDS, nous pouvons découvrir plusieurs solutions logicielles existantes. Avec plus de 2 millions de téléchargements, il s'est imposé comme le système de détection d'intrusions le plus utilisé. Sa version commerciale, plus complète en fonctions de monitoring, lui a donné bonne réputation auprès des entreprises.

REGLES TÉLÉCHARGER DE SNORT LES

Snort est capable d'effectuer une analyse du trafic réseau en temps réel et est doté de différentes technologies de détection d'intrusions telles que l'analyse protocolaire et le pattern matching. Snort peut détecter de nombreux types d'attaques : buffer overflows, scans de ports furtifs, attaques CGI, sondes SMB, tentatives de fingerprinting de système d'exploitation, Snort est doté d'un langage de règles permettant de décrire le trafic qui doit être accepté ou collecté.

De plus, son moteur de détection utilise une architecture modulaire de plugins. Nous ne nous intéresserons qu'à ce dernier mode. Télécharger les sources sur www. Lors de l'écriture de ce document, la dernière version stable était la 2. Télécharger et installer les bibliothèques nécessaires pour Snort :. La compilation de ces bibliothèques se fait très aisément :. Ouvrir un terminal, décompresser ensuite l'archive de Snort et se placer dans le répertoire des sources décompressées.

Configurer la compilation de Snort afin d'activer plusieurs fonctionnalités :. Ainsi Snort enregistrera les alertes dans une base de données accessible par d'autres applications ex : BASE, décrite plus loin. PostgreSQL ou Oracle peuvent également être utilisés avec les options --with- postgresql et --with-oracle. Compiler les sources : make 6.

Installer Snort : make install en mode root 7. Le site de Snort propose deux types de règles : les règles officielles et les règles créées par la communauté. Certaines règles officielles ne sont disponibles que pour les utilisateurs enregistrés, tandis que les règles communautaires sont disponibles à tous et mises à jour régulièrement. Il est cependant important de noter que les règles proposées par la communauté n'ont pas été forcément testées par l'équipe officielle de Snort.

Après téléchargement, l'archive des règles doit être décompressée. Il est conseillé de placer le répertoire rules dans le dossier de Snort. Nous pouvons remarquer que les règles consistent en de simples fichiers textes, et qu'un fichier un peu spécial est présent : snort.

Ce dernier va nous permettre de configurer Snort. Afin de configurer correctement Snort pour qu'il puisse fonctionner en mode détection d'intrusions, il faut modifier le fichier snort. Cependant, il sera possible de spécifier un autre emplacement lors de l'exécution de Snort, à l'aide de l'option -c. Le fichier de configuration contient de nombreuses options paramétrables, ainsi que des explications pour pouvoir les modifier correctement.

La valeur any signale à Snort de surveiller tout le trafic. Si le réseau ne possède pas un type spécifique de serveur, il est conseillé de commenter avec le caractère la ligne concernée, afin d'optimiser le traitement de Snort. Elle permet de spécifier le répertoire où sont stockés les fichiers de règles de Snort.

Ici encore, il est conseillé de n'inclure que les règles nécessaires en fonction des services disponibles sur le réseau. L'exécution de Snort se fait en lançant l'exécutable snort en mode root et avec différentes options. Voyons les principaux arguments de Snort :. Permet de tester la configuration de Snort.

Avant de lancer Snort en mode NIDS, il est préférable de tester si le programme arrive à récupérer les paquets qui circulent sur le réseau. Pour cela, nous pouvons par exemple lancer Snort en simple mode Sniffer : snort -v.

Si aucun paquet n'est capturé et affiché, il est probable que Snort n'écoute pas sur la bonne interface. L'option -i permet de spécifier une autre interface. Pour chaque alerte, Snort donne une priorité, une description, les flags des paquets et éventuellement des adresses sur Internet où se trouvent de plus amples informations sur la tentative d'intrusion.

Bien que le site officiel de Snort propose des règles prêtes à l'emploi et régulièrement mises à jour, il peut être intéressant de créer ses propres règles afin d'adapter au mieux Snort au réseau qu'il doit surveiller et protéger.

DE TÉLÉCHARGER SNORT REGLES LES

Par convention, les nouvelles règles personnelles sont à placer dans le fichier local. Une règle Snort est composée de deux parties et possède le format suivant : Header Options. Ce dernier n'est pas loggé. Le champ protocole spécifie le protocole pour lequel la règle s'applique. Les valeurs possibles sont : tcp, udp, icmp ou ip. Les champs adresse1 et adresse2 indiquent l'adresse IP source et destination du paquet. Le mot clé any permet de spécifier une adresse quelconque. Les adresses doivent être numériques, les adresses symboliques ne sont pas acceptées.

Le mot clé any permet de spécifier un port quelconque. Des noms de services peuvent être utilisés : tcp, telnet, De même des plages de ports peuvent être spécifiées avec le caractère ':'.

REGLES SNORT LES TÉLÉCHARGER DE

Iptables est la commande Linux qui permet à un administrateur de configurer Netfilter en mode Utilisateur. Cet opérateur peut prendre deux valeurs :. La partie Options des règles contient différentes options, séparées par un point-virgule, qui vont permettre de préciser des critères de détection. Pour chaque option, le format est nomOption : valeur1[, valeur2, Cette option nécessite l'activation du mode flexresp lors de la compilation de Snort. Cette règle permet de générer une alerte quand un paquet provient d'un couple adresse:port quelconque, est à destination des serveurs HTTP définis dans snort.

Cette attaque sera classée dans la classe web-application-attack priorité medium par défaut. Il est bien sûr impossible d'être exhaustif ici pour décrire le format des règles Snort. Le manuel utilisateur disponible sur le site officiel indique comment utiliser aux mieux le langage des signatures de Snort. Par défaut, les alertes de Snort sont enregistrées dans un simple fichier texte. L'analyse de ce fichier n'est pas aisée, même en utilisant des outils de filtre et de tri.

C'est pour cette raison qu'il est vivement conseillé d'utiliser des outils de monitoring. Parmi ceux-ci, le plus en. Nous ne détaillerons pas ici l'installation de chaque dépendance. Afin que Snort enregistre les alertes dans la base de données, il ne faut pas oublier de modifier le fichier snort.

Après configuration et installation de BASE ainsi que de toutes ses dépendances, nous pouvons y accéder avec un navigateur internet. Si tout se passe bien, un écran similaire à l'illustration suivante est obtenu :.

Bro se base sur un ensemble de règles décrivant des signatures d'attaques ou des activités inhabituelles. Le comportement après détection de trafic suspect peut être paramétré : simple log, alerte en temps réel à l'administrateur ou exécuter un programme par exemple pour reconfigurer un routeur. Initialement, le projet Bro a été créé dans un but de recherche pour la détection d'intrusions et l'analyse de trafic réseau.

De ce fait, ce NIDS n'est pas destiné aux personnes physiques ou morales recherchant une solution prête à l'emploi, mais plutôt à des administrateurs Unix chevronnés, désirant configurer au maximum leur système de détection. Cela permet d'empêcher l'espionnage ou la falsification des logs par un pirate. Ce module génère des événements qu'il transmet à la troisième couche. Lors de l'écriture de ce document, la dernière version stable était la 0.

Ouvrir un terminal, décompresser ensuite l'archive de Bro et se placer dans le répertoire des sources décompressées. Générer un makefile adapté au système de destination :. Installer Bro : make install-brolite en mode root.

REGLES DE SNORT TÉLÉCHARGER LES

Cette commande va non seulement installer Bro mais également créer un exécutable qui va faciliter la configuration de Bro. La configuration générale de Bro se fait très simplement en mode interactif à la fin de l'installation.

Optimisation de la sécurité dans un environnement de travail bancaire: cas de la BSIC- Togo

Il suffit dès lors de répondre aux questions qui sont posées, et l'IDS sera configuré automatiquement. Notons qu'une configuration manuelle peut être réalisée en éditant le fichier bro.

Grâce au script de lancement livré avec Bro, le daemon peut être exécuté de manière très simple avec la commande bro. Plusieurs fichiers de log y sont présents :. XXX : un suivi des événements lancés. Pour cela, il faut bien sûr respecter un format très strict mais puissant. Quatre types de conditions existent. Celles-ci vont permettre de définir quand la signature sera reconnue :. Comme nous pouvons le voir, les conditions de détection de signatures sont très évoluées.

Ainsi, un utilisateur préférant la syntaxe de Snort ou utilisant ces deux NIDS, pourra très facilement réutiliser ses règles Snort avec Bro. Mais la version Open-Source est encore réservée à une certaine élite.

SnortSam est un plugin Open-Source et multi-plateforme pour Snort. Il permet de bloquer automatiquement des adresses IP lorsqu'il détecte une tentative d'intrusion. Le blocage se fait en communiquant avec un firewall matériel ex : Cisco Pix ou logiciel ex : PacketFilter, IPtables, …. De plus, pour des raisons de sécurité, toutes les communications réalisées entre Snort et l'agent de SnortSam sont cryptées à l'aide de l'algorithme TwoFish.

Parmi les fonctionnalités intéressantes, on notera la présence d'une White-List, c'est-à- dire une liste d'adresses IP qui ne peuvent pas être bloquées. Cela représente une sécurité pour éviter un blocage d'adresses sensibles routeur, serveur Intranet, … en cas de spoofing de la part du pirate. Le plugin SnortSam est également doté d'un système de log et de notification par email des événements. La mise en place d'actions de blocage est très simple. Il suffit de modifier les règles Snort pour signaler que la détection de certaines signatures doit provoquer un blocage.

Pour cela, le mot clé fwsam a été rajouté. Il permet notamment de spécifier une durée de blocage. Cette option de durée peut-être intéressante lors d'un blocage après des tentatives répétées d'authentification avec un mot de passe erroné. Cependant, il ne s'agit pas d'un plugin mais d'une version modifiée de Snort. Son mode de capture est totalement différent de celui de Snort : les paquets ne sont plus capturés grâce à la célèbre bibliothèque libpcap, mais via libipq, qui permet d'accepter des paquets provenant du firewall iptables.

Contrairement à SnortSam qui communique avec les firewalls distants ou non , Snort- Inline est un complément au firewall : il doit être installé sur la même machine. Les paquets acceptés seront ensuite transmis sur le réseau. Snort-Inline est très peu utilisé, surtout depuis l'introduction des actions de blocage directement dans Snort.

Il est néanmoins très connu en raison de son importance dans le projet Honeynet www. Développé initialement dans le but d'analyser quelques fichiers journaux de différents serveurs, il est devenu aujourd'hui bien plus puissant qu'un simple analyseur de logs.

Ses fonctions lui permettent de détecter des anomalies apparues sur le système. Par exemple, de multiples erreurs dans les logs du serveur web Apache, la présence d'un rootkit11 caché dans un binaire système, ou encore des essais d'envoi de mail par relay smtp. Lors de la rédaction de ce document, la dernière version était 0.

Décompressez l'archive puis lancez l'installeur à l'aide de la commande. Après quelques questions, l'installeur mettra en place OSSEC et il ne restera plus qu'à compléter le fichier de configuration avec les valeurs souhaitées. La configuration se situe dans le fichier ossec.

La majorité de ce fichier sera rempli par les paramètres spécifiés lors de l'installation. Ce fichier se divise en plusieurs sections :. Les fichiers contenant les signatures doivent être spécifiés. Grâce à l'externalisation des règles, il est possible de rajouter de nouvelles règles très facilement. Par défaut, les règles concernant un même programme se trouvent toutes dans le même fichier, mais rien n'empêche de créer de nouveaux fichiers.

Cette règle est caractérisée par un identifiant unique chaque règle possède un identifiant propre , un niveau de sécurité allant de 0 à 16 ici 14 et une fréquence d'apparition timeframe. Cette fréquence d'apparition permet de déclencher une règle uniquement si une règle précédent a déjà été levée. Cette dernière option de répétition est bien sur optionnelle. Plusieurs options de concordance sont possibles. Ici regex spécifie qu'il s'agit d'une expression régulière à trouver dans la chaîne.

Toutefois, il existe l'option match qui spécifie une sous-chaîne à trouver dans la chaîne. La balise description permet de donner une courte description de la règle ; cve la date de découverte de la faille et enfin info permet de spécifier une information supplémentaire sur la règle, comme par exemple l'url qui référence l'exploit connu.

Tout d'abord, il faut installer la partie serveur qui va s'occuper de réunir toutes les alertes envoyées par les différents agents.

Effectuons à présent l'installation du client :. Logserver spécifie l'adresse où se trouve le serveur regroupant toutes les alertes, c'est à dire l'adresse à laquelle le client samhain enverra les alertes.

Cette installation n'est toutefois pas terminée, puisque avant d'effectuer la dernière phase, il faut configurer le client pour qu'il puisse s'authentifier au niveau du serveur. Terminons l'installation avec ces lignes :. La configuration par défaut offre un environnement de détection quasi opérationnel. Rkhunter est un détecteur de rootkits. Il permet de détecter la présence d'un rootkit dissimulé dans un binaire système.

Il offre également la possibilité de scanner des fichiers de configuration afin de détecter la présence d'anomalies de configuration utilisateur avec UID 0 : root , ou encore la présence de ports ouverts suspects utilisés par certains rootkits.

L'installation de rkhunter se fait automatiquement. L'installation s'effectue à l'aide de l'assistant installer. Aucune configuration supplémentaire n'est à effectuer. Il suffit de lancer le binaire pour lancer un scan. Cette ligne de commande permettra d'effectuer un scan non interactif :. KiT [ OK ]. File scan Scanned files: Possible infected files: 0. Le tableau suivant montre les différences entre les trois HIDS que nous venons de présenter. Rootkits Oui Oui Oui. Fichiers Perm. Interface X Web X.

Tirons quelques conclusions de ce tableau comparatif. Ceci est normal, Rkhunter est uniquement un analyseur système pour vérifier la présence de rootkits. Les deux systèmes Ossec et Samhain sont fort proches. Toutefois, cette supériorité est à tempérer. De plus, cette console permet de générer des graphiques statistiques rassemblant des informations importantes sur les cibles visées et permettant de voir rapidement quelles sont les alertes les plus fréquentes.

Il est possible de spécifier la liste des fichiers accessibles par chaque programme indépendamment. LIDS supporte les noyaux 2. Il est distribué gratuitement sous licence GPL. Afin de tester les performances de détection des NIDS présentés dans ce rapport, nous avons réalisé quelques simulations d'attaques. Celles-ci sont cependant très basiques, et les résultats présentés ici ne reflètent pas la capacité de détection d'intrusions face aux techniques utilisées par des professionnels.

Cette attaque utilise une faille présente dans certaines versions du très célèbre moteur de forum phpBB. Pour exploiter cette faille, nous avons utilisé le framework Metasploit. L'exploit consiste à utiliser le paramètre highlight de la page viewtopic. L'attaque est détectée. Cependant, l'alerte générée ne concerne pas exactement l'attaque mais l'accès au fichier Snort viewtopic. Or ce fichier est l'un des principaux de phpBB! La signature de cette alarme va générer beaucoup trop de faux positifs, il est conseillé de l'enlever.

L'attaque n'est pas détectée par défaut, sauf si on convertit la Bro même signature que possède Snort, concernant l'accès au fichier viewtopic. En effet, les signatures par défaut de Snort ne détectent pas l'attaque en elle-même mais l'accès au fichier concerné. Néanmoins, il est impensable de générer une alerte pour chaque accès au fichier viewtopic. Il s'agit d'un scan de ports TCP qui consiste à ne pas établir complètement de connexion.

Lorsqu'un port ouvert est détecté, la poignée de main est réinitialisée. Le scan est détecté. L'alerte générée signale également les Snort ports qui étaient ouverts lors du scan. Ce genre de scan passait inaperçu il y a quelques années mais il est facilement détectable de nos jours.

Il s'agit d'un scan de ports TCP qui détecte les ports ouverts en établissant une connexion complète à ceux-ci. Il s'agit d'un scan de ports TCP qui détecte les ports ouverts en envoyant un paquet TCP avec tous les champs du header à 0. Si le port est fermé, le serveur répond normalement par une commande RST. Si le port est ouvert, le serveur ne répond pas.

Les résultats des scans présents ci-dessus concernent les scans par défaut. Il est important de noter que tout scan passe inaperçu si chaque test de port est suffisamment espacé. L'option Paranoid Trottling de nmap permet notamment d'attendre 5 minutes entre chaque test de port. Le scan devient dès lors très lent plusieurs heures pour un scan complet mais est difficilement détectable. Nous avons testé un exploit tirant profit cette faille avec le framework Metasploit.

Cependant, un bon administrateur réseaux pourra créer facilement une règle générant une alerte lors de cette attaque. Ici encore, nous avons utilisé le framework Metasploit pour tester cette attaque. Snort dispose par défaut de la signature pour cette attaque, permettant de la détecter très facilement.

Algorithmique : le Pattern Matching. De ce fait, nous avons décidé de nous limiter aux techniques de pattern matching. La recherche de motif pattern matching est un sujet important dans le domaine du traitement de données. Le pattern matching joue un rôle crucial dans les NIDS qui utilisent des signatures pour détecter les attaques ou intrusions.

Un bon NIDS doit pouvoir analyser les paquets qu'il reçoit en temps réel. Avec les vitesses élevées des réseaux actuels, il est évident que les algorithmes de pattern matching ne doivent pas être négligés car il en va de la sécurité des systèmes surveillés. Plusieurs algorithmes de recherche de motif vont être expliqués dans ce chapitre.

Pour la suite, les notations suivantes seront utilisées :. La plupart des algorithmes de pattern matching utilisent une fenêtre glissante de taille m. Cette fenêtre représente la position de l'éventuelle occurrence du motif.

En d'autres termes, elle englobe les caractères du texte qui vont être comparés avec le motif pour la tentative en cours. Cette fenêtre est décalée à chaque non correspondance mismatch et la procédure de comparaison reprend au début de la fenêtre. Dans tous les cas, l'efficacité d'un algorithme de pattern matching dépend du nombre de comparaisons de caractères nécessaires pour rechercher le motif. Lors du choix et de l'implémentation d'un algorithme de pattern matching, plusieurs considérations doivent être prises en compte :.

Il est donc nécessaire, surtout dans le cas des IDS, d'évaluer les conséquences de telles attaques.

Cet algorithme consiste à vérifier pour chaque position dans le texte si une occurrence du motif commence là ou non. Il compare donc le motif x à chaque facteur du texte y de longueur m. Si une occurrence est rencontrée, on le signale ; sinon, on recommence avec le facteur suivant de y en décalant la fenêtre d'exactement une position vers la droite.

Ce cas correspond par exemple à la recherche de am-1b dans an puisque à chaque tentative, l'algorithme parcourt tout le motif, pour se rendre compte que le dernier caractère b n'est pas identique.

L'algorithme naïf a un gros inconvénient : en cas d'échec, il recommence entièrement la comparaison du motif x avec le facteur suivant de y, sans exploiter l'information contenue dans la réussite partielle de la tentative.

L'algorithme de Morris-Pratt reprend l'algorithme naïf tout en profitant de l'analyse du texte pour collecter des informations. Grâce à un prétraitement sur le motif, il est possible d'obtenir un gain de temps considérable en évitant de répéter des comparaisons.

Cela correspond donc au cas où la fenêtre est positionnée sur y[j.. Dès lors :. Notons u cette sous chaîne. Lorsqu'un décalage de la fenêtre de comparaison a lieu, il ne faut pas oublier qu'un préfixe v du motif peut correspondre à un suffixe de la portion u du texte. Ce préfixe v est appelé un bord de u. Soit u un mot quelconque non vide, un bord de u est un mot distinct de u qui est à la fois préfixe et suffixe de u. La table mpNext peut être construite en espace et temps O m.

Cette table doit être construite avant la phase de recherche. Au pire des cas, l'algorithme de Morris-Pratt fait 2n-1 comparaisons. En effet, l'algorithme Morris-Pratt peut être optimisé en améliorant la longueur des décalages. Supposons une recherche du motif x à partir de la position j dans le texte y, c'est-à-dire que la fenêtre est positionnée sur y[j..

Soit kmpNext[i] la longueur du plus long bord de x[ La table kmpNext peut être calculée en temps et espace O m. Ce calcul est réalisé avant la phase de recherche.

Nous remarquons que l'algorithme de Knuth-Morris-Pratt a exactement la même complexité pour le cas le plus défavorable que l'algorithme de Morris-Pratt. Cependant, il y a une différence importante au niveau du délai, c'est-à-dire le nombre de comparaisons faites sur un même caractère dans le pire des cas.

L'algorithme Boyer-Moore est un algorithme qui utilise également le principe de la fenêtre de décalage. Mais contrairement à l'algorithme naïf et l'algorithme Knuth-Morris-Pratt, les comparaisons sont faites de la droite vers la gauche. Cette modification apparemment anodine est très rentable : en pratique, l'algorithme de Boyer-Moore est le plus rapide des algorithmes connus! Il est notamment utilisé dans des éditeurs de texte pour les commandes "rechercher" et "remplacer".

En cas de non correspondance mismatch , il utilise deux fonctions pour choisir le décalage vers la droite de la fenêtre. Ces deux fonctions sont appelées décalage du bon suffixe et décalage du mauvais caractère.

La fonction de décalage du bon suffixe consiste à aligner le segment u avec son occurrence la plus à droite dans x, qui est précédée par un caractère différent de x[i]. Les résultats de cette fonction sont stockés respectivement dans une table bmGS et bmBC.

Sur des alphabets très grands, l'algorithme de Boyer-Moore est extrêmement rapide. L'algorithme au pire des cas est en temps O mn. Cependant, en pratique, on constate que le nombre total de comparaisons est très souvent inférieur à la longueur du texte.