SAST vs DAST vs IAST: Test de sécurité pour les complémentarités des trois frères, pas de substitution
Les trois abréviations les plus courantes dans les tests de sécurité de l'application sont SAST, DAST, IAST. La première réaction de beaucoup de gens a été de choisir l'un des plus forts, mais c'était une proposition hypocrite — les trois frères n'étaient pas en concurrence, mais considéraient la même question sous des perspectives différentes. Le choix dépend non pas de qui est le plus avancé, mais sur la scène où vous êtes dans le cycle de vie du logiciel, quel genre d'échappatoire vous voulez trouver et combien vous pouvez supporter.
I. DÉFINITIONS DE LA PREMIÈRE RÉFÉRENCE
- SAST (essai de sécurité d'application statique)Autres organisateursNe pas exécuter le programme, sous lequel le code source/octet de numérisation trouve une échappatoire, qui appartient à la boîte blanche.
- DERNIERAutres organisateursExécution du programmeLes demandes de lancement externes, les attaques simulées sont des boîtes noires et aucun code source n'est requis.
- IAST (essai de sécurité d'application interactif)Autres organisateursExécuter le programme depuis l'intérieurLe plug-in (agent), combiné au contexte de flux et de code, appartient à la Grey Box.
La clé pour comprendre ces trois questions est qu'elles répondent chacune à des questions différentes: SAST demande, "Où peut-il y avoir une erreur dans le code?" DAST demande, "Peut-on vraiment passer en courant ?" IAST demande, "Dans cette opération, quel flux de données s'écoule vraiment au point de danger."
SAST: Étrangler le problème au stade de l'écriture de code
SAST analyse directement le code source (ou compile des produits intermédiaires) et n'exécute pas le programme. L'avantage est de pouvoir détecter les problèmes à un stade précoce, ou même lorsque le code est soumis, pour localiser des documents spécifiques et des numéros de ligne, avec des coûts de réparation faibles. Il couvre les "codes peuvent être balayés " et ne dépend pas de l'environnement de temps de fonctionnement.
Shortboard: Le taux d'erreur est généralement élevé parce qu'il ne détermine pas si un certain nombre de codes seront déclenchés dans l'entreprise réelle; les problèmes qui sont exposés seulement lors de l'exécution (par exemple, les erreurs de configuration, les contournements d'assurance, la chaîne d'appel réelle de se fier à la bibliothèque) ne sont pas pleinement vus; le code source est nécessaire et le composant tiers source fermé n'est pas fonctionnel.
Scénario typique : les portes de soumission de code de ligne de diffusion d'IC sont fermées pour empêcher l'injection visible, la clé de codage dur, les appels de la fonction de danger dans l'épine dorsale.
La vérification "Est-ce que ça marche vraiment ?"
DAST utilise la cible comme une boîte noire pour envoyer des demandes de l'extérieur, construire des charges utiles d'attaque et observer la réponse. Sa plus grande valeur est...Près d'une vraie attaque.— Le problème de l'accès réel à l'exploitation a été relevé, avec une sous-déclaration relativement faible. Aucun code source n'est requis, de sorte que les composants tiers, les couches de configuration peuvent également être couverts.
ShortboardCe n'est souvent que jusqu'au déploiement que la détection de détection tardive et le coût de réparation sont élevés; la couverture est limitée aux reptiles et aux itinéraires de test qui peuvent être atteints par exemple, sans détection de points fonctionnels non décelables; il est difficile de localiser précisément le code source, et le développement et le reporting sont souvent seulement connus, quelle URL est problématique; et les coûts de configuration sont élevés pour les scénarios nécessitant une connexion, des processus opérationnels multi-étapes.
Scénario typique : habilitation de sécurité avant d'aller en ligne, balayage périodique des environnements déployés.
IV. IAST: Prises de temps d ' exécution, contexte d ' équilibre avec flux de données réels
IAST observe également l'exécution de code et le flux externe lors de l'exécution du programme en implantant l'antent dans l'application. Il peut voir comment les requêtes entrent en jeu et comment les données entrent dans le code, de sorte qu'elles peuvent être données.Prenez toutes les preuves de l'auberge.C'est généralement inférieur à SAST et c'est précis.
ShortboardLa nécessité de pouvoir déployer des sondes dans l'environnement cible (en raison des préoccupations relatives à l'environnement de production); la dépendance à l'égard de la couverture des essais, qui ne peut être trouvée sans la mise en œuvre du code, qui est souvent lié à des essais fonctionnels/automatisés; les différences de langage et de soutien-cadre; et certains coûts de performance.
Scénario typique: exécuter dans l'environnement de test en conjonction avec des tests automatisés, à la fois pour valider la fonctionnalité et pour synchroniser les conclusions de sécurité de sortie.
Cinq, trois contre un.
| Dimensions | DERNIÈRE | DERNIER | LIMITÉE |
|---|---|---|---|
| Objet d'essai | Source/octets (sans fonctionnement) | Cible active (externe) | Applications opérationnelles (branches internes) |
| Aperçu | Boîte blanche | Boîte noire | Boîte grise |
| Temps d'intervention | Phase de codage/présentation | Après déploiement | Essai/délai |
| Code source nécessaire | Oui. | Pas besoin. | Exigence (peut être branchée) |
| Niveau mal communiqué | Élevé | Faible | Moins |
| Précision de la position | Vers le fichier/ligne | Vers URL/ Interface | Pour appeler Inn/Data Stream |
| Suppression de la dépendance | Limité (voir partie du code source) | Exposition au dépassement pendant la course | Limité par le chemin d'exécution |
| Scène typique | Interdiction des portes du code CI | Vérifiez et acceptez avant d'aller en ligne. | Combiné à des essais automatisés |
VI. Pourquoi complémentarité plutôt que substitution
Si vous réunissez les trois, ils trouvent leurs zones aveugles complémentaires:
- SAST voit le code mais ne sait pas si il sera déclenché; DAST sait si il peut être déclenché mais ne sait pas dans quelle ligne le problème est; IAST les deux, mais exige que le code soit exécuté.
- SAST couvre tôt, large et fort; DAST a peu de bruit mais intervention tardive, une couverture étroite; et IAST a une haute précision, mais peut se brancher et fonctionner assez bien.
- Il suffit d'aller à SAST, qui est vulnérable à un tas de paperasserie, aller à DAST, où la faille est souvent exposée sur la ligne, aller à IAST, où le chemin vers lequel il n'est pas atteint est aveugle.
La réponse à la réalité n'est pas une ou deux, mais une approche étape par étape: l'utilisation précoce de SAST pour bloquer un modèle clair de mauvais goût et de danger, la phase de test de IAST à valider avec précision avec IAST en conjonction avec l'automatisation, et l'utilisation haut et bas de DAST pour l'acceptation externe du point de vue de l'agresseur. Trois superstitions constituent une boucle fermée de test de sécurité d'application sans lacunes importantes.
VII. QUESTIONS PRATIQUES RELATIVES À L ' atterrissage
1. Défaut de signaler qui s ' en occupe
De toute façon, personne ne corrige le rapport, personne ne le fait. Il existe un processus de triage clair: qui voit, combien de temps fermer, comment marquer " accepter le risque " . En particulier, SAST a besoin d'une gestion de base, sinon l'héritage de l'histoire nuirait à de nouveaux problèmes.
La couverture est plus importante que les marques d'outils
La capacité de l'ISAST à découvrir dépend directement du nombre de codes couverts par le test ; DAST dépend du nombre d'interfaces atteintes par les reptiles. Il est plus significatif de mesurer le taux de détection avant d'aller en ligne que de remplacer un outil plus cher.
3. Ne traitez pas les essais de sécurité comme des essais ponctuels Prends-le.
Les tests de sécurité devraient être intégrés dans un processus continu de R & D, plutôt que centralisé avant d'aller en ligne. CI dirige SAST, test environnement IAST, fait régulièrement DAST pour la production, de sorte qu'il n'a pas à compter sur la chair humaine pour sauver le feu.
4. Mettre l ' accent sur les synergies entre les outils
L'état idéal est que trois types de résultats peuvent être regroupés dans la même vue: la même échappatoire, SAST donne l'emplacement du code, IAST donne des preuves de flux de données, et DAST valide la disponibilité. Ça vaut bien plus que les trois îles déchirées par la guerre.
VIII. Une liste de décisions
- Oui.Phase de soumissionIl suffit de retenir l'échappatoire évidente sur SAST, se concentrer sur les fermetures de portes et les lignes de base.
- Pour vérifierLe système déployé est-il vraiment capable d'attaquer? • En haut avec DAST, en mettant l'accent sur la couverture et la configuration de connexion.
- Pour obtenir des conclusions de sécurité.Sortie avec essais automatisésEt localisez exactement sur le IAST.
- Les ressources limitées ne peuvent être utilisées que comme première priorité pour le SAST afin d'établir un bilan, puis de compléter progressivement le DAST/AIEA.
- La recherche d'une « solution unique et permanente » n'existe pas, mais la façon d'organiser et de traiter est la réponse.
SAST est possible, DAST est pratique, IAST est spécifique — combiné est une image complète.