Какво е тест на Fuzz?

Fuzz тестване се счита за вида на изпитването, при който се изискват или автоматизирани, или полуавтоматизирани техники за тестване, за да се установят грешките в кодирането, както и вратичките в сигурността в софтуера или в операционните системи чрез предоставяне на въвеждане на случайни данни към системата. Тези случайни данни се наричат ​​FUZZ. В края на краищата това се случва, системата се проверява за различни видове изключения, като например системата се срива или дори вграденият код се проваля и много повече. Първоначално това е разработено от някой, наречен Бартън Милър, който е от Университета на Уисконсин. Нарича се още размиване се счита за вида на тестовете за сигурност.

Защо се нуждаем от тестване на Fuzz?

  • Често тестът на Fuzz има възможност да установи най-сериозните грешки в сигурността в системата.
  • Той осигурява много по-ефективни резултати, когато го използваме заедно с Black Box Testing, Beta Testing или различни методи за отстраняване на грешки.
  • Необходимо е също така да се провери уязвимостта на софтуера. Това също е наистина рентабилна техника за тестване.
  • Смята се за една техника за тестване на черна кутия. Той е и един от най-използваните методи хакери, който открива уязвимостта на системата.

Как се извършва размито тестване?

Стъпките за размито тестване включват основните стъпки за тестване -

Стъпка 1 : Разпознаване на целевата система.

Стъпка 2 : Разпознаване на входовете.

Стъпка 3 : Генериране на размити данни

Стъпка 4 : Изпълнение на теста с помощта на размити данни.

Стъпка 5 : Мониторинг на поведението на системата.

Стъпка 6 : Записване на дефекти.

Примери за фюзери

По-долу има много петна:

  • Мутационно базирани фюзери: Тези пухени променят съществуващите проби от данни, за да направят нови тестови данни. Това е доста лесно, както и директният метод, той започва заедно с разумен протокол и продължава да смесва всеки байт или дори като файл.
  • Fuzzers базирани на поколение: Те определят нови данни, в зависимост от въвеждането на модела. Той започва генериране на вход от нулата в зависимост от спецификацията.
  • Fuzzer, базиран на протокол: Смята се, че най-успешният е неясен, който има доста обяснени познания относно формата на протокола, който трябва да бъде тестван. Това разбиране зависи от спецификацията. Тя включва написването на масив от спецификации вътре в инструмента и след това използва техниката, базирана на модела. Известно е още като тест на синтаксис или граматично тестване или тест за устойчивост.

Имаме две ограничения на това базирано на протокола размиване, което е под:

  1. Ние не можем да продължим с тестването, докато спецификацията не е доста зряла.
  2. Съществуват много протоколи, които са разширение на публикуваните протоколи. В случай, че тестовото тестване се базира на тези спецификации, които са публикувани, покритието за тези нови протоколи ще бъде ограничено.

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

Видове грешки, открити чрез тестване на Fuzz

  • Течове на паметта и твърдения за неуспех: Този метод се използва широко в широки приложения, при които бъговете влияят върху безопасността на паметта, която се счита за сериозна уязвимост.
  • Невалиден вход: Фюзерите са необходими за генериране на невалиден вход, който е необходим при тестване на рутините за обработка на грешки при неясни тестове. Освен това е доста необходимо за софтуер, който не контролира входа. Размиването се счита за начин за автоматизиране на отрицателните тестове.
  • Коректността на бъгове: Размиването е необходимо за откриване на няколко вида „коректни“ грешки като повредена база данни или лоши резултати от търсенето и много други.

Инструменти за тестване на Fuzz

Инструментите, които са доста полезни за уеб сигурността, могат до голяма степен да се използват и при неясни тестове или размити. Например Праскова Fuzzer, Burp Suite и т.н.

1. Праскова Fuzzer

Този инструмент дава много по-здрава, както и покритие на сигурността в сравнение със скенера. Ако говорим за други инструменти за тестване, те обаче имат възможност да търсят само известните заплахи. Но Peach Fuzzer кара потребителите да откриват известни, както и неизвестни заплахи.

2. Spike Proxy

Spike се счита за инструмент за професионална оценка, който търси уязвимости на ниво приложения в различни уеб приложения. SPIKE Proxy разглежда само основите като SQL инжектиране или кръстосано скриптиране. Това обаче е напълно отворена инфраструктура на Python. SPIKE Proxy присъства както за Linux, така и за Windows.

Предимства

  • Грешките, които са открити при тестовете на fuzz, често се считат за тежки и най-вече се използват от хакерите, които се състоят от сривове, изтичане на памет или необработено изключение и много други.
  • Ако някоя грешка или грешка не бъде открита от тестерите поради ограничението на времето и ресурсите, тези грешки могат да бъдат открити при тестването на Fuzz.

Недостатъци

  • Само по себе си, fuzz тестът сам няма възможност да даде общия сценарий на всички заплахи за сигурността.
  • Освен това се счита, че тестовото тестване не е много ефективно при работа с грешки в сигурността, които не причиняват сривове на програмата като вируси, червеи и т.н.
  • Той има способността да открива само прости заплахи.
  • За да се даде ефективна ефективност, е необходимо значително време.

заключение

Така можем да заключим, че в софтуерното инженерство това тестване, тоест тестът на Fuzz, показва наличието на бъгове във всяко приложение. Това тестване не гарантира цялостно откриване на грешки в никое от приложението. Въпреки това, ако използваме тази техника на Fuzz, тя гарантира, че приложението е доста стабилно, както и сигурна причина, че тестовото тестване помага много при разкриването на много общи уязвимости.

Препоръчителни статии

Това е ръководство за тестване на Fuzz. Тук обсъждаме какво е пухово тестване? инструменти за тестване, съответно предимства и недостатъци. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Бенчмарк тестване
  2. Видове тестване на софтуер
  3. Какво е тестване за използваемост?
  4. Статично тестване