Le web regorge de pages malveillantes. Malheureusement, celles-ci peuvent également exister sur les sites de vos clients/fournisseurs.
De nos jours, aucune entreprise ne peut se passer d’une intégration qui se nourrit du site web d’un client ou d’un fournisseur ou qui lui fournit des données. Bien sûr, votre entreprise n’existera pas sans ces services, mais elle est parfois menacée à cause d’ eux. Les sites externes avec lesquels vous interagissez peuvent contenir du contenu malveillant (qu’il soit installé volontairement ou compromis par un tiers), et si ce contenu se retrouve à l’endroit prédéterminé, les conséquences peuvent être désastreuses.
Ne pouvons-nous pas analyser manuellement les sites web à la recherche de pages malveillantes ?
On pourrait penser qu’un développeur compétent devrait être en mesure de rechercher les vulnérabilités des pages. Malheureusement, ce n’est pas du tout le cas, et ce pour de nombreuses raisons :
- Les développeurs ne sont pas spécialisés dans la détection/sécurité. Leur expertise consiste à construire des logiciels complexes en assemblant de nombreux sous-systèmes plus petits ; en d’autres termes, ils n’ont tout simplement pas les compétences nécessaires.
- Même si vous tombiez sur un développeur suffisamment doué, la tâche serait tout simplement trop lourde. Une page web typique, riche en fonctionnalités, contient des milliers de lignes de code – les assembler pour en dégager la vue d’ensemble ainsi que les minuscules failles n’est rien de moins qu’un cauchemar. Vous pourriez aussi bien demander à quelqu’un de manger un éléphant entier pour le déjeuner !
- Pour réduire le temps de chargement des pages, les sites web compressent et minifient souvent leurs fichiers CSS et JavaScript. Il en résulte une telle bouillie de code qu’il est parfaitement impossible de le lire.
Si ce code semble encore lisible, c’est parce que les bonnes âmes ont décidé de préserver les noms de variables dans un contexte large. Essayez le code source de jQuery, que quelqu’un peut héberger sur son site web et modifier (deux lignes quelque part dans ce bazar) :
Sans parler du fait que le code source représente près de 5 000 lignes de code. 😎
Il ne s’agit que d’un seul script. Une page web contient généralement 5 à 15 scripts, et il est probable que vous travailliez avec 10 à 20 pages web au total. Imaginez que vous deviez faire cela tous les jours…. Ou pire, plusieurs fois par jour !
Heureusement, il est possible d’analyser les URL rapidement et facilement grâce aux API. Vous pouvez analyser non seulement des pages web, mais aussi des fichiers qui vous sont fournis pour téléchargement. Examinons quelques-uns des outils API qui vous aideront à le faire. Et comme il s’agit d’API, les efforts de vos développeurs seront bien plus utiles si vous leur demandez de créer un outil d’analyse de sites web utilisant ces API 😀
Google Web Risk
Il n’est pas surprenant qu’un outil de vérification des pages web provienne de l’entreprise qui possède pratiquement l’internet (toutes ses pages web, je veux dire). Google Web Risk est assez simple.
L’utilisation de l’API est également très simple. Pour vérifier une seule page à l’aide de la ligne de commande, envoyez simplement une requête comme suit :
curl -H "Content-Type : application/json" "https://webrisk.googleapis.com/v1beta1/uris:search?key=YOUR_API_KEY&threatTypes=MALWARE&uri=http://testsafebrowsing.appspot.com/s/malware.html"
Si la requête aboutit, l’API répond en indiquant le type de vulnérabilité de la page :
{
"threat" : {
"threatTypes" : [
"MALWARE"
],
"expireTime" : "2019-07-17T15:01:23.045123456Z"
}
}
Comme vous pouvez le voir, l’API confirme que la page est connue pour contenir des logiciels malveillants.
Notez que l’API Google Web Risk n’effectue pas de diagnostic à la demande sur une URL ou un fichier de votre choix. Elle consulte une liste noire gérée par Google sur la base des résultats et des rapports de recherche et indique si l’URL figure dans cette liste noire ou non. En d’autres termes, si cette API indique qu’une URL est sûre, on peut supposer qu’elle l’est également, mais il n’y a aucune garantie.
VirusTotal
VirusTotal est un autre service intéressant que vous pouvez utiliser pour analyser non seulement les URL, mais aussi les fichiers individuels (en ce sens, je le place au-dessus de Google Web Risk en termes d’utilité). Si vous avez envie d’essayer ce service, il vous suffit de vous rendre sur le site web et, dès la page d’accueil, vous trouverez une option pour commencer.
Bien que VirusTotal soit disponible en tant que plateforme gratuite construite et gérée par une communauté dynamique, il propose une version commerciale de son API. Voici pourquoi vous devriez payer pour le service premium :
- Taux de requête flexible et quota quotidien (par opposition aux quatre requêtes par minute de l’API publique)
- La ressource soumise est analysée par l’antivirus de VirusTotal et des informations de diagnostic supplémentaires sont renvoyées.
- Informations basées sur le comportement des fichiers que vous soumettez (les fichiers seront placés dans différents environnements en bac à sable pour surveiller les activités suspectes)
- Interrogation de la base de données de fichiers de VirusTotal pour différents paramètres (les requêtes complexes sont prises en charge)
- SLA et temps de réponse stricts (les fichiers soumis à VirusTotal via l’API publique sont mis en file d’attente et prennent un temps considérable pour être analysés)
Si vous optez pour l’API privée de VirusTotal, cela peut être l’un des meilleurs investissements que vous ayez jamais fait dans un produit SaaS pour votre entreprise.
Scanii
Scanii est une autre recommandation pour les API de scanners de sécurité. Il s’agit d’une API REST simple qui peut analyser les documents/fichiers soumis pour détecter la présence de menaces. Considérez-le comme un scanner de virus à la demande qui peut être exécuté et mis à l’échelle sans effort !
Voici ce qu’offre Scanii :
- Capable de détecter les logiciels malveillants, les scripts d’hameçonnage, le contenu des spams, le contenu NSFW (Not Safe For Work), etc.
- Il est construit sur Amazon S3 pour une mise à l’échelle facile et un stockage de fichiers sans risque.
- Détectez les textes offensants, peu sûrs ou potentiellement dangereux dans plus de 23 langues.
- Une approche simple, sans fioritures et ciblée de l’analyse de fichiers basée sur l’API (en d’autres termes, pas de fonctionnalités inutilement “utiles”)
Le point fort est que Scanii est un méta-moteur, c’est-à-dire qu’il n’effectue pas de scans par lui-même, mais utilise un ensemble de moteurs sous-jacents pour effectuer le travail de base. C’est un atout majeur car vous n’avez pas besoin d’être lié à un moteur de sécurité particulier, ce qui signifie que vous n’avez pas à vous soucier des changements d’API et autres.
Je considère Scanii comme un atout majeur pour les plateformes qui dépendent du contenu généré par les utilisateurs. Un autre cas d’utilisation est celui de l’analyse de fichiers générés par un service fournisseur auquel vous ne pouvez pas faire confiance à 100 %.
Metadefender
Pour certaines organisations, l’analyse des fichiers et des pages web à un seul point de terminaison n’est pas suffisante. Elles disposent d’un flux d’informations complexe et aucun des points d’extrémité ne peut être compromis. Pour ces cas d’utilisation, Metadefender est la solution idéale.
Considérez Metadefender comme un gardien paranoïaque qui s’interpose entre vos données principales et tout le reste, y compris le réseau. Je dis “paranoïaque” parce que c’est la philosophie de conception de Metadefender. Je ne peux pas mieux décrire cette philosophie qu’eux, alors voici :
La plupart des solutions de cybersécurité s’appuient sur la détection comme principale fonction de protection. Le nettoyage des données de MetaDefender ne repose pas sur la détection. Il suppose que tous les fichiers peuvent être infectés et reconstruit leur contenu à l’aide d’un processus sûr et efficace. Il prend en charge plus de 30 types de fichiers et produit des fichiers sûrs et utilisables. L’assainissement des données est extrêmement efficace pour prévenir les attaques ciblées, les ransomwares et d’autres types de menaces connues et inconnues.
Metadefender propose quelques fonctionnalités intéressantes :
- Prévention de la perte de données : En termes simples, il s’agit de la possibilité d’ignorer et de protéger les informations sensibles détectées dans le contenu des fichiers. Par exemple, un reçu PDF avec le numéro de carte de crédit visible sera obscurci par Metadefender.
- Déployez-le localement ou dans le nuage (selon votre degré de paranoïa !).
- Il passe au crible 30 types de formats d’archivage (zip, tar, rar, etc.) et 4 500 astuces d’usurpation de type de fichier.
- Déploiements multicanaux : sécurisez uniquement les fichiers, ou passez à la vitesse supérieure en contrôlant les courriels, le réseau et les connexions.
- Des flux de travail personnalisés pour appliquer différents types de pipelines d’analyse basés sur des règles personnalisées.
Metadefender comprend 30 moteurs, mais les présente de manière abstraite, de sorte que vous n’ayez jamais à y penser. Si vous êtes une moyenne ou grande entreprise et que vous ne pouvez pas vous permettre de cauchemars en matière de sécurité, Metadefender est une excellente option.
Urlscan.io
Si vous vous occupez principalement de pages web et que vous avez toujours voulu avoir un aperçu plus approfondi de ce qu’elles font en coulisses, Urlscan.io est une excellente arme dans votre arsenal.
La quantité d’informations qu’Urlscan.io déverse est tout simplement impressionnante. Entre autres choses, vous pouvez voir
- Le nombre total d’adresses IP contactées par la page.
- La liste des zones géographiques et des domaines auxquels la page a envoyé des informations.
- Technologies utilisées sur le front-end et le back-end du site (aucune précision n’est revendiquée, mais c’est d’une précision alarmante !)
- Informations sur le domaine et le certificat SSL
- Interactions HTTP détaillées avec la charge utile de la requête, les noms des serveurs, les temps de réponse et bien plus encore.
- Redirections cachées et demandes échouées
- Liens sortants
- Analyse JavaScript (variables globales utilisées dans les scripts, etc.)
- Analyse de l’arborescence du DOM, du contenu des formulaires, etc.
Voici comment cela se présente :
L’API est simple et directe, vous permettant de soumettre une URL à l’analyse, ainsi que de vérifier l’historique d’analyse de cette URL (analyses effectuées par d’autres, bien sûr). Dans l’ensemble, Urlscan.io fournit une mine d’informations à toute entreprise ou individu concerné.
SUCURI
SUCURI est une plateforme bien connue dans le domaine de l’analyse en ligne des sites web pour détecter les menaces et les logiciels malveillants. Ce que vous ne savez peut-être pas, c’est qu’elle dispose également d’une API REST, qui permet d’exploiter la même puissance de manière programmatique.
Il n’y a pas grand-chose à dire à ce sujet, si ce n’est que l’API est simple et fonctionne bien. Bien sûr, Sucuri ne se limite pas à une API de balayage, alors pendant que vous y êtes, je vous recommande de vérifier certaines de ses puissantes fonctionnalités comme le balayage côté serveur (en gros, vous fournissez les informations d’identification FTP, et il se connecte et balaye tous les fichiers à la recherche de menaces !)
Quttera
Notre dernière entrée dans cette liste est Quttera, qui offre quelque chose de légèrement différent. Plutôt que d’analyser le domaine et les pages soumises à la demande, Quttera peut également effectuer une surveillance continue, ce qui vous aide à éviter les vulnérabilités de type “zero-day”.
L’API REST est simple et puissante et peut renvoyer un peu plus de formats que JSON (XML et YAML, par exemple). Le multithreading et la concurrence sont entièrement pris en charge dans les analyses, ce qui vous permet d’exécuter plusieurs analyses exhaustives en parallèle. Comme le service fonctionne en temps réel, il est inestimable pour les entreprises qui proposent des offres critiques où les temps d’arrêt sont synonymes de mort.
Conclusion
Les API d’analyse de sécurité tels que ceux décrits dans cet article constituent simplement une ligne de défense supplémentaire (ou de prudence, si vous préférez). Tout comme un antivirus, ils peuvent faire beaucoup de choses, mais ils ne peuvent en aucun cas fournir une méthode d’analyse à l’épreuve des défaillances. La raison en est simple : un programme écrit avec des intentions malveillantes est le même pour l’ordinateur qu’un programme écrit pour avoir un impact positif – tous deux demandent des ressources système et font des requêtes réseau ; le diable réside dans le contexte, qui n’est pas propice à la réussite de l’ordinateur.
Cela dit, ces API fournissent une couverture de sécurité solide qui est souhaitable dans la plupart des cas – tant pour les sites web externes que pour les vôtres ! 🙂