Comment prévenir les attaques Zero Day

21

Traditionnellement, tous les programmes antivirus et les systèmes IPS fonctionnent à l'aide de techniques basées sur les signatures. Cependant, cela n'aide pas beaucoup à empêcher les attaques zero-day .

Par conséquent, que peut-on faire pour empêcher les attaques zero-day?

ashmish2
la source
1
En plus des points de la réponse que j'ai suggérés ci-dessous, même si vous exécutez des logiciels avec un exploit zero-day. Si vous n'exécutez pas ce système sur Internet public, vous n'êtes pas directement vulnérable. Par conséquent, les pare-feu sont votre ami, et si vous voulez vraiment exécuter un nouveau logiciel de risque de sécurité, vous pouvez le configurer sur un autre réseau dans le cloud, où il peut être piraté et n'affecter aucun autre système.
Tom H
Les menaces 0 jour et inconnues sont exactement la raison pour laquelle l'heuristique est utilisée dans tout logiciel antivirus / anti-malware digne de ce nom. Malheureusement, l'heuristique est souvent désactivée en raison de la baisse des performances.
John Gardeniers
0days n'est qu'une catégorie, chaque membre de cette catégorie est très différent les uns des autres. Vous ne pouvez pas avoir une approche où vous envisagez d'implémenter la sécurité contre 0 jours. C'est la qualité de votre système de sécurité qui fera finalement la différence entre une intrusion furtive réussie et un exploit non fonctionnel ou un exploit détecté. Comme quelqu'un l'a dit, concentrez-vous sur la détection et le temps de réponse rapide. Surveillez chaque système, le trafic et restez à jour avec les mises à jour de sécurité. C'est un travail à plein temps, ou du moins, ça devrait l'être.
Aki
Obtenez probablement de bonnes réponses d'ici aussi - security.stackexchange.com
Bratch
linux partout. pas de fenêtres. demande à google.
Neil McGuigan

Réponses:

37

Je pense que vous reconnaissez une vérité sys-admin intéressante, qui est que

à moins que vous pouvez réduire la probabilité d'être piraté à zéro puis finalement , à un moment donné, vous allez être piraté .

Ceci est juste une vérité fondamentale des mathématiques et des probabilités, que pour toute probabilité non nulle d'un événement. L'événement se produit finalement ...

Donc, les 2 règles d'or pour réduire l'impact de cet événement "éventuellement piraté" sont les suivantes;

  1. Le principe du moindre privilège

    Vous devez configurer les services pour qu'ils s'exécutent en tant qu'utilisateur avec le moins de droits nécessaires pour effectuer les tâches du service. Cela peut contenir un pirate même après son introduction sur une machine.

    Par exemple, un pirate informatique s'introduisant dans un système à l'aide d'un exploit zero-day du service de serveur Web Apache est très susceptible d'être limité à la mémoire système et aux ressources de fichiers accessibles par ce processus. Le pirate serait en mesure de télécharger vos fichiers source html et php, et probablement de regarder dans votre base de données mysql, mais il ne devrait pas être capable de rooter ou d'étendre leur intrusion au-delà des fichiers accessibles par apache.

    De nombreuses installations de serveur Web Apache par défaut créent l'utilisateur et le groupe «apache» par défaut et vous pouvez facilement configurer le fichier de configuration Apache principal (httpd.conf) pour exécuter apache à l'aide de ces groupes.

  2. Le principe de séparation des privilèges

    Si votre site Web n'a besoin que d'un accès en lecture seule à la base de données, créez un compte qui ne dispose que d'autorisations en lecture seule et uniquement pour cette base de données.

    SElinux est un bon choix pour créer un contexte de sécurité, armure d'application est un autre outil. Bastille était un choix précédent pour le durcissement.

    Réduisez les conséquences de toute attaque, en séparant la puissance du service qui a été compromise dans sa propre "Box".

Les règles d'argent sont également bonnes.

Utilisez les outils disponibles. (Il est très peu probable que vous puissiez faire aussi bien que les gars qui sont des experts en sécurité, alors utilisez leurs talents pour vous protéger.)

  1. le cryptage à clé publique offre une excellente sécurité. utilise le. partout.
  2. les utilisateurs sont des idiots, imposent la complexité des mots de passe
  3. comprendre pourquoi vous faites des exceptions aux règles ci-dessus. examinez régulièrement vos exceptions.
  4. tenir quelqu'un pour responsable de l'échec. il vous garde sur vos orteils.
Tom H
la source
Je pense que c'est la vérité - par définition, il n'y a pas grand-chose que vous puissiez faire pour empêcher un exploit de 0 jour. Si vous avez un logiciel vulnérable, vous avez un logiciel vulnérable - par conséquent, la seule solution consiste à réduire tout impact et toute surface d'attaque. Excellent point sur les pare-feu, même s'il convient de garder à l'esprit qu'un exploit de 0 jour pour MS Outlook pourrait être envoyé par e-mail, par exemple.
Dan
2
Oui, point pris sur les produits de messagerie MS. Mais il y a des analogies avec les pare-feu pour le courrier, par exemple, toute personne avec toutes les extensions de type VBscript, ActiveX, OLE désactivées aurait complètement raté tout le piratage, parfaitement inconsciente du carnage ... ;-)
Tom H
1
+1 mais écrit à Silver Rule 1 "Quiconque pense que son problème peut être résolu en utilisant la cryptographie, ne comprend pas son problème et ne comprend pas la cryptographie." - Needham / Lampson;)
Peanut
@Peanut J'aime la clé publique car elle évite l'utilisation de mots de passe. Après l'intrusion théorique, il n'est pas nécessaire de réinitialiser les mots de passe car, il n'y a pas de mots de passe à réinitialiser et seule la clé publique est compromise. Même une base de données de mots de passe hachés peut être utilisée pour vérifier, ou des comptes de crack hors ligne.
Tom H
@TomH Mon commentaire était ironique :) Intéressant, donc dans votre système, le serveur envoie probablement un nonce + d'autres données à signer au client et le client utilise un nom d'utilisateur + les données signées pour se connecter?
Peanut
16

Liste blanche, ne pas mettre sur liste noire

Vous décrivez une approche de liste noire. Une approche de liste blanche serait beaucoup plus sûre.

Un club exclusif n'essaiera jamais de lister tous ceux qui ne peuvent pas entrer; ils énuméreront tous ceux qui peuvent entrer et excluront ceux qui ne figurent pas sur la liste.

De même, essayer de répertorier tout ce qui ne devrait pas accéder à une machine est voué à l'échec. Restreindre l'accès à une courte liste de programmes / adresses IP / utilisateurs serait plus efficace.

Bien sûr, comme toute autre chose, cela implique des compromis. Plus précisément, une liste blanche est extrêmement gênante et nécessite une maintenance constante.

Pour aller encore plus loin dans le compromis, vous pouvez obtenir une grande sécurité en déconnectant la machine du réseau.

Nathan Long
la source
+1 C'est un excellent ajout à la réponse de Tom H.
Chad Harrison
1
Le danger réside dans un tel ensemble de règles qui devient une taille où il ne peut être compris, maintenu, expliqué, audité. Ce qui est mortel.
rackandboneman
11

La détection est plus facile (et plus fiable) que la prévention

Par définition, vous ne pouvez pas empêcher une attaque de jour zéro. Comme d'autres l'ont souligné, vous pouvez faire beaucoup pour réduire l'impact d'une attaque de jour zéro, et vous devriez, mais ce n'est pas la fin de l'histoire.

Permettez-moi de souligner qu'en plus, vous devez consacrer des ressources à détecter quand une attaque a eu lieu, ce que l'attaquant a fait et comment il l'a fait. Une journalisation complète et sécurisée de toutes les activités qu'un pirate informatique pourrait entreprendre facilitera à la fois la détection d'une attaque et, plus important encore, la détermination des dommages causés et des mesures correctives nécessaires pour se remettre de l'attaque.

Dans de nombreux contextes de services financiers, le coût de la sécurité en termes de retards et de frais généraux dans l'exécution des transactions est si élevé qu'il est plus judicieux de concentrer les ressources sur la détection et l'annulation des transactions frauduleuses plutôt que de prendre des mesures étendues conçues pour les empêcher en premier lieu . La théorie est qu'aucune quantité de mesures ne sera efficace à 100%, donc les mécanismes de détection et d'inversion doivent être construits de toute façon. De plus, cette approche a résisté à l'épreuve du temps.

Old Pro
la source
1
+1 Oui, je suppose que vous ne pouvez pas répondre si vous ne savez pas que c'est arrivé ... étant donné une autre chance de répondre, j'aurais probablement bloqué quelque chose à propos des étapes SANS 6 ...
Tom H
+1, très vrai. La prévention nécessiterait un audit. Et l'audit ne peut pas prouver qu'un système n'a aucun défaut.
Aki
@Tom, vous pouvez toujours modifier votre réponse.
Old Pro
4

Zéro jour ne signifie pas que la signature n'est pas connue. Cela signifie qu'aucun correctif n'est disponible pour les utilisateurs de logiciels, ce qui supprime la vulnérabilité. IPS est donc utile pour se protéger de l'exploitation des vulnérabilités zero-day. Mais vous ne devez pas vous y fier uniquement. Créez et suivez une politique de sécurité solide, durcissez vos serveurs, mettez à jour le logiciel et ayez toujours un «plan B»

DukeLion
la source
3

Grsecurity ou SELinux aident à prévenir les attaques de 0 jour en durcissant le noyau.

Citation du site Web "Seul grsecurity offre une protection contre le zero-day et les autres menaces avancées, ce qui fait gagner un temps précieux aux administrateurs tandis que les correctifs de vulnérabilité font leur chemin vers les distributions et les tests de production."

h00j
la source
2

Si vous utilisez Apache, des modules tels que mod_security peuvent vous aider à empêcher les vecteurs d'attaque courants. Avec mod_security vous pouvez

  • bloquer les requêtes ressemblant à des attaques par injection SQL
  • bloquer les clients dont les adresses IP sont sur liste noire à certains RBL
  • rediriger la demande vers un autre endroit si les certaines conditions que vous définissez sont remplies
  • bloquer les demandes en fonction du pays client
  • détecter et bloquer automatiquement les bots malveillants courants

... et bien plus encore. Bien sûr, en utilisant un module complexe comme mod_security, il est tout à fait possible de bloquer également vos clients réels, et du côté serveur, mod_security ajoute une surcharge.

Il est également obligatoire de maintenir votre logiciel serveur à jour et de vous assurer que vous avez désactivé chaque module et démon que vous n'utiliserez pas.

Des politiques de pare-feu strictes sont indispensables et, dans de nombreux cas, des améliorations de sécurité supplémentaires telles que SELinux ou grsecurity peuvent arrêter l'attaque.

Mais quoi que vous fassiez, les méchants sont très patients, très créatifs et très compétents. Ayez un plan détaillé de ce que vous devez faire lorsque vous êtes piraté.

Janne Pikkarainen
la source
1

Je voudrais ajouter quelques règles de bronze:

  1. S'il est exposé, n'exécutez pas ce qui n'a pas besoin d'être exécuté.

  2. Ne vous faites pas une cible digne d'une attaque ciblée et dédiée.

  3. Se protéger contre une telle attaque ciblée possible est souvent peu économique / peu pratique de toute façon. Vérifiez qui pourrait avoir un intérêt sérieux à casser quoi et commencer par là.

  4. Envisager de "minimiser les informations disponibles en externe" et "s'éloigner des valeurs par défaut bien connues" comme rien de plus que la sécurité par l'obscurité (souvent mal compris comme "sans valeur" par opposition à "une couche qui en soi est insuffisante") et l'omettre est une arrogance dangereuse. Une serrure piratable sur une porte n'empêchera pas le voleur mais empêchera probablement le loup.

rackandboneman
la source
1

Une machine gonflée avec une énorme suite de sécurité transforme souvent les PC médiocres en dinosaures et les cœurs quadruples en vieux PC ordinaires. J'ai fixé suffisamment (des milliers) pour comprendre que c'est surtout vrai. Si vous ne comprenez rien, la sécurité est à 100% et le coût des performances diminue de façon exponentielle en tant que sécurité tandis que la probabilité d'infection ne baisse que de façon linéaire. La plupart des résultats lorsque j'ai arrêté de regarder les comparaisons étaient de 90% maximum sur un test réel de milliers de risques, ce qui signifie que 10% des infections n'étaient pas détectées ou trop tard. tandis que la latence du PC avait augmenté de 200 à 900%. OSX a une situation idéale où il est essentiel de ne pas améliorer la sécurité, mais les risques d'attaque étaient plus faibles en raison de cibles plus petites avec seulement 4% de part de marché dans les produits non-téléphone / pad en 2010. Cela va changer mais je ne changerai pas ma philosophie de garder mon système d'exploitation propre, maigre et méchant. Je fais de même pour XP et Win7. J'ai un énorme arsenal d'outils de réparation, mais je n'ai besoin que d'une seule application pour réparer tous ceux qui sont infectés et cela ne prend que 10 à 20 minutes, pas des heures ou des jours.

Mes méthodes qui fonctionnent;

  1. Éduquez les utilisateurs, ne cliquez pas sur les avertissements de sécurité à moins que vous ne sachiez vraiment ce qu'ils sont par opposition aux centaines de ROgues qui sont des copies conformes de bonnes alertes. Ceux qui ne peuvent pas être formés obtiennent facilement des comptes non administrateurs et des navigateurs en bac à sable avec java et JS désactivés. Mais si je l'active pour eux, pas de souci, seulement 15 ~ 20 minutes pour restaurer ou réparer.

    1. La restauration de SYstem est bonne, mais présente de nombreuses limitations, l'une étant que les éléments de votre dossier Documents et de vos dossiers User Temp sont protégés, où les pilotes escrocs peuvent être installés et démarrer et vous infecter au prochain démarrage.

    2. UAC est utile pour beaucoup de choses, mais un tel PITA que je n'utilise jamais et ne me fie pas à de meilleurs outils pour détecter les démarrages et / ou les nouveaux processus, y compris mais sans s'y limiter;

      • Winpatrol.com reste le meilleur investissement que j'ai fait pour la sécurité et toujours gratuit pour les autres. Il couvre 80% des problèmes où les startups sont ajoutées avant d'être exécutées et peuvent être détectées et désactivées ou supprimées par l'invite de l'utilisateur. Cependant, si vous êtes du genre anxieux et que vous ne pouvez pas prendre de décisions, prenez une pilule ou utilisez simplement Windows Defender . Pas le meilleur pour la couverture mais l'un des plus élevés pour le rapport bang / buck .. prétection / perte de performance ou augmentation du rapport de latence.

      • L'utilitaire de démarrage de Mike Lin est l'intercepteur le plus léger des startups stockées dans plus d'une douzaine d'emplacements du registre

      • Script Guard est un intercepteur de script utile pour les scripts pour enfants

      • ProcessGuard est un ancien programme défunt qui fonctionne comme un pare-feu pour tout nouveau fichier exécutable, mais vous harcèle pour approbation, mais il est sécurisé et léger après avoir accepté une source fiable ou ignoré ou bloqué une source non fiable.

      • Un module complémentaire Blacklist pour votre navigateur est bon comme Web of trust (WOT) , mais Chrome est en partie inclus de manière similaire mais dans une moindre mesure.

      • une liste noire peut devenir énorme pour les fichiers HOSTS et si vous utilisez cela (> 1 Mo est énorme lorsqu'il est analysé en morceaux de 4 Ko toutes les 10 minutes., Mais si vous le faites, je recommande fortement de désactiver le service de mise en cache DNS pour réduire les analyses périodiques redondantes par chaque application qui est actif avec les privilèges du pare-feu.

      • Désactivez l'indexation des fichiers si vous ne l'utilisez pas vraiment pour les e-mails et autres choses, car cela engendre votre suite AV pour analyser chaque fichier consulté à chaque fois, encore et encore .. combien redondant.

Certains peuvent s'opposer à cette liste partielle du haut de ma tête, mais je gagne du temps à sécuriser mon PC et à fonctionner dans un environnement allégé. Des audits réguliers pour confirmer que ma sécurité est effectuée la nuit prouvent que ma pratique sans souci est justifiée. J'ai encore un millier de journaux HJT, des journaux combofix.txt et des journaux Runscanner pour soutenir mes opinions sur les traitements et un meilleur équilibre sécurité / performances.

  • Évitez les téléchargements / installations imprudents de fichiers multimédia exe ou windows qui peuvent exécuter des scipts (par exemple .WMA, .WMV) contrairement à .mp3 ou .avi.

  • Évitez toutes les publicités ciblées sur les gros boutons pour télécharger ou mettre à jour votre sécurité, ce qui peut distraire votre attention sur la mise à jour gratuite sur les agrégateurs de téléchargement comme hippo dot com .. cnet n'est pas mauvais. Soyez très prudent. Certains sites utilisent des publicités tierces et n'ont aucun contrôle de contenu.

  • J'ai documenté un exemple parfait dans une présentation PowerPoint de 10 pages, si quelqu'un est intéressé, demandez. La facilité avec laquelle ignorer l'adive ci-dessus peut vous infecter.

Tout pour maintenant.

Tony Stewart EE depuis 1975.

Tony Stewart Sunnyskyguy EE75
la source