← Обратно към списъка

SAST срещу DAST срещу IAST: Тест за сигурност за допълване на тримата братя, а не заместване

itadol5j

Трите най-често срещани съкращения в тестовете за сигурност на приложението са SAST, DAST, IAST. Първата реакция на много хора била да изберат един от най-силните, но това било лицемерно предложение - тримата братя не се състезавали, но гледали на същия въпрос от различни гледни точки. Изборът зависи не от това кой е по-напреднал, а от етапа, на който сте в софтуерния жизнен цикъл, какъв вид вратичка искате да намерите и колко можете да понесете.

Преглед на прилагането на трите метода за изпитване за безопасност

I. ОПРЕДЕЛЕНИЯ ОТНОСНО ПЪРВИ РЕФЕРЕНТ

  • SAST (статичен тест за сигурност при прилагане)Друг организаторНе стартирайте програмата, под което сканиращият код/байт код намира вратичка, която принадлежи на Бялата кутия.
  • DASTДруг организаторИзпълнение на програмаВъншните заявки за пускане на пазара, симулираните атаки са черни и не се изисква изходен код.
  • ISO (Интерактивно изпитване за безопасност при прилагане)Друг организаторИзпълнение на програма отвътреПриставката (агентът), съчетана с потока и контекста на кода, принадлежи към Сивата кутия.

Ключът към разбирането на тези три е, че всеки от тях отговаря на различни въпроси: SAST пита: "Къде може да има грешка в кода?" DAST пита: "Можем ли да минем през бягането?" IAST пита: "В тази операция, която поток данни наистина тече до точката на опасност."

Удушаване на проблема на сцената за писане на кодове

SAST директно анализира изходния код (или съставя междинни продукти) и не изпълнява програмата. Предимството е да може да открива проблеми на ранен етап, или дори когато кодът е представен, да намира конкретни документи и номера на линии, с ниски разходи за ремонт. Тя обхваща "кодите могат да бъдат изтрити" и не зависи от средата за бягане.

Shortboard: Скоростта на грешката обикновено е висока, защото тя не определя дали определен брой кодове ще се задействат в реалния бизнес; проблемите, които са изложени само когато работи (напр., грешки в конфигурацията, байпаси, действителната верига на повикване на разчитане на библиотеката) не се виждат напълно; изходният код е необходим и компонентът на трета страна не е функционален.

Типичен сценарий: вратите за подаване на код за стрийминг на CI са затворени, за да се предотврати видима инжекция, твърд кодов ключ, функцията за опасност призовава гръбнака.

Проверката дали наистина работи?

DAST използва целта като черна кутия за изпращане на заявки отвън, изграждане на заряди атака и наблюдава отговор. Най-ценното е...Близо до истинска атака.год.Проблемът на реалния достъп до джогинг е намерен, с относително нисък репортаж. Не се изисква изходен код, така че компоненти на трети страни, конфигурационни слоеве също могат да бъдат обхванати.

ShortboardЧесто само докато се установи, че откриването на късно откриване и разходите за ремонт е висока; покритие е ограничено до влечуги и маршрути за изпитване, които могат да бъдат достигнати чрез пример, без откриване на неоткриваеми функционални точки; трудно е да се намери източник код точно, и развитие и докладване често е известно само гола, която е проблематична .

Типичен сценарий: разрешение за достъп преди да влезете онлайн, периодично сканиране на разгърната среда.

IV. IAST: Заглушители за работно време, балансиращи контекст с реални потоци данни

IAST също така наблюдава изпълнението на кода и външния поток при изпълнение на програмата чрез имплантиране на антанти в приложението. Тя може да види как идват заявките и как данните се вливат в кода, така че да може да се даде.Вземи всички доказателства за хана.Обикновено е по-ниско от SAST и е точно.

ShortboardНеобходимостта да можем да разположим сонди в целевата среда (отнасяйки се към загрижеността за производствената среда); зависимостта от обхвата на изпитването, която не може да бъде намерена без прилагането на кода, който често е свързан с функционални/автоматизирани изпитвания; разликите в езика и подкрепата на рамката; и някои разходи за изпълнение.

Типичен сценарий: да се провежда в средата за изпитване заедно с автоматизирано изпитване, както за валидиране на функционалността, така и за синхронизиране на заключенията за безопасност на изхода.

Наблюдавайте потока данни и се обадете стека от вътрешен код

Пет, три срещу едно.

РазмериИЗТОЧНИКDASTИЗТОЧНИК
Тестов обектИзточник/байтове (не работи)Активна цел (външна)Оперативни приложения (вътрешни тапи)
ПерспективаБяла кутияЧерна кутияСива кутия
Време за намесаПериод на кодиране/внасяне по-раноСлед разполаганетоВреме за изпитване/пускане
Код на източникаДа.Няма нужда.Изискване (може да се включи)
Непотвърдено нивоВисокоНискоПо-ниско
Точност на позициятаДо файл/ редАдрес/ интерфейсДа се обадя на Inn/Data Stream
Презапис на зависимосттаОграничени (вж. частта с изходния код)Превишаване на експозицията по време на движениеОграничени от пътя на изпълнение
Типична сценаКод на вратата на CIПроверете и приемете преди да влезете онлайн.Комбинирано с автоматизирано изпитване

VI. Защо допълване, а не заместване

Ако съберете трите заедно, те намират техните слепи зони за допълващи се:

  • SAST вижда кода, но не знае дали ще бъде задействан; DAST знае дали може да бъде задействан, но не знае на кой ред е проблемът; IAST и двете, но изисква кода да бъде изпълнен.
  • SAST покрива рано, широко и силно; DAST има малък шум, но късна намеса, тясно покритие; и IAST има висока точност, но може да се включи и работи достатъчно добре.
  • Просто отидете на SAST, която е уязвима към един куп червени ленти умора; отидете в DAST, където вратичката често е изложена на линията; отидете на IAST, където пътят, до който не е достигната, е сляп.

Отговорът на реалността не е един или два, а етап по етап подход: ранното използване на SAST за заглушаване на ясен модел на лош вкус и опасност, фазата на изпитване на IAST да бъде точно валидирана с IAST заедно с автоматизацията, както и използването на DAST за външно приемане от гледна точка на агресора. Три суеверия представляват тест за сигурност, затворен цикъл без значителни пропуски.

Статични, динамични, интерактивни тестове образуват затворен кръг.

VII. ПРАКТИЧЕСКИ ВЪПРОСИ ОТНОСНО ЛАНДИРАНЕТО

1. Неправилен отговор кой се занимава с него

Така или иначе, никой не поправя доклада, никой не го прави. Има ясен процес: който вижда, колко дълго да затваря, как да отбележи "приема риск." По-специално, SAST се нуждае от базово управление, в противен случай наследството от историята ще удави нови проблеми.

Покритието е по-важно от марките инструменти

Способността на IAST да открива директно зависи от това колко кода са обхванати от изпитването; DAST зависи от това колко интерфейси се достигат от влечугите. По-смислено е да се измери скоростта на неоткриване, преди да започнете онлайн, отколкото да замените по-скъп инструмент.

3. Не третирайте изпитванията за безопасност като еднократни изпитвания Вземи го.

Тестовете за безопасност следва да бъдат вградени в непрекъснат процес на научноизследователска и развойна дейност, а не централизирани, преди да влязат онлайн. CI работи SAST, тест на околната среда IAST, редовно прави DAST за производство, така че не трябва да разчита на човешка плът, за да спаси огъня.

4. Фокусирайте се върху полезните взаимодействия между инструментите

Идеалното състояние е, че три вида резултати могат да бъдат групирани в един и същ изглед: същата вратичка, SAST дава местоположение на кода, IAST дава данни поток доказателства, и DAST валидира наличността. Струва много повече от трите разкъсани от войната острови.

VIII. Списък на решенията

  • Да.Фаза на подаванеПросто задръжте очевидната вратичка на SAST, фокусирайте се върху затварянето на вратите и изходните линии.
  • За проверкаРазгърнатата система наистина ли е способна да атакува? • Up with DAST, focusing on coveration and login configure.
  • За да си направят заключения.Изход с автоматизирано изпитванеИ да се намери точно на IAST.
  • Ограничените ресурси могат да се използват само като първи приоритет за SAST за установяване на крайната линия и след това постепенно за завършване на МААЕ/ДАСТ.
  • Търсенето на едно-размерно, постоянно решение не съществува, но начинът да се организира и обработва е отговорът.

SAST е възможно, DAST е практичен, IAST е специфичен го комбинира е пълна картина.