Name: | Description: | Size: | Format: | |
---|---|---|---|---|
302.38 KB | Adobe PDF |
Advisor(s)
Abstract(s)
Широко признано, что программное обеспечение следует тестировать, предпочтительно на этапах разработки и после выпуска. Программное обеспечение может быть простым исполняемым файлом, приложением, службой или даже операционной системой. В настоящее время требования к тестированиям возросли и охватывают практически все технологические области. Тестирование можно рассматривать как способ проверки соответствуют ли функциональность, результаты и поведение программного обеспечения ожидаемым. Тестирование программного обеспечения также помогает выявить ошибки, пробелы или отсутствующие требования в отличие от фактических требований. Тестирование может быть сделано вручную или с помощью автоматизированных инструментов. Ручные тесты медленные, дорогие и требуют много знаний в этой области. Автоматизированные тесты быстрее, дороже, а также до тестирования должны быть сделаны конфигурация, настройка и много работы. Использование подхода фаззинга позволяет обнаруживать новые слабые места в системе защиты, которые не основываются на предыдущих знаниях, сигнатурах или индикаторов компромисса (IoC), как подход традиционных инструментов оценки уязвимости. Эта статья посвящена обзору фаззеров и тому, как исследователи кибербезопасности могут использовать их для проведения тестов уязвимости полуавтоматического программного обеспечения. Кроме того, наиболее используемые фаззеры проанализированы и классифицированы по типу тестов, с целью помочь исследователям выбрать правильный фаззер. Это исследование будет продолжено путем создания виртуального испытательного стенда, состоящего из систем с уязвимыми программными обеспечениями, которые можно будет протестировать комбинированным образом с использованием проанализированных фаззеров и сравнить результаты с традиционными инструментами оценки уязвимости.
It is widely accepted that software should be tested, preferably during development phases and after release. The software can be a simple executable file, an application, a service, or even an operating system. Nowadays testing requirements have increased and cover almost all technological areas. Testing can be seen as a way to check whether the functionality, results and behaviour of the software meet the expected ones. Software testing also helps identify errors, gaps or missing requirements as opposed to actual requirements. Testing can be done manually or using automated tools. Manually tests are slow, expensive and need a lot of knowledge in the area. Automated tests are faster, expensive and also there should be configuration, customisation and a lot of work done by humans before test. Using fuzzer approaches can lead to finding fresh new vulnerabilities that are not based on previous knowledge, signatures or Indicator of Compromise (IoC) as the approach of traditional vulnerability assessment tools. This article does a survey about fuzzers and how cybersecurity researchers can use them to make semi-automated software vulnerability tests. Also, the most used fuzzers are analysed and categorized by type of tests to assist the researchers choosing the correct fuzzer. This research will continue by creating a a virtual testbed with systems composed by vulnerable software, which can be tested using the analysed fuzzers, in a combined way, and compare the results with traditional vulnerability assessment tools.
It is widely accepted that software should be tested, preferably during development phases and after release. The software can be a simple executable file, an application, a service, or even an operating system. Nowadays testing requirements have increased and cover almost all technological areas. Testing can be seen as a way to check whether the functionality, results and behaviour of the software meet the expected ones. Software testing also helps identify errors, gaps or missing requirements as opposed to actual requirements. Testing can be done manually or using automated tools. Manually tests are slow, expensive and need a lot of knowledge in the area. Automated tests are faster, expensive and also there should be configuration, customisation and a lot of work done by humans before test. Using fuzzer approaches can lead to finding fresh new vulnerabilities that are not based on previous knowledge, signatures or Indicator of Compromise (IoC) as the approach of traditional vulnerability assessment tools. This article does a survey about fuzzers and how cybersecurity researchers can use them to make semi-automated software vulnerability tests. Also, the most used fuzzers are analysed and categorized by type of tests to assist the researchers choosing the correct fuzzer. This research will continue by creating a a virtual testbed with systems composed by vulnerable software, which can be tested using the analysed fuzzers, in a combined way, and compare the results with traditional vulnerability assessment tools.
Description
Keywords
фаззеры тестирование безопасности программного обеспечения информационная безопасность кибербезопасность Fuzzers Software Security Testing Information Security Cybersecurity
Citation
Kostandyan, Vladimir; Pedrosa, Tiago; Rodrigues, Pedro João; Margarov, Gevorg (2022). ФАЗЗИНГ В КИБЕРБЕЗОПАСНОСТИ – ОБЗОР = Fuzzing in cybersecurity - a survey. New in the Russian Electrical Power-Engineering. ISSN 2312-055X. 9, p. 17-30
Publisher
Energo Press