|
|
تولید خودکار داده آزمون در فازرهای قالب فایل
|
|
|
|
|
نویسنده
|
ذاکری نصرآبادی مرتضی ,پارسا سعید
|
منبع
|
پدافند الكترونيكي و سايبري - 1399 - دوره : 8 - شماره : 1 - صفحه:1 -15
|
چکیده
|
آزمون فازی یک فن آزمون پویای نرمافزار است. در این فن با تولید ورودیهای بدشکل و تزریق پیدرپی آنها به نرمافزار تحت آزمون، دنبال یافتن خطاها و آسیبپذیریهای احتمالی آن هستیم. ورودی اصلی بسیاری از نرمافزارهای دنیای واقعی فایل است. تعداد زیادی از دادههای آزمون که برای آزمون فازی این نرمافزارها تولید میشوند در همان مراحل اوّلیه بهعلّت نداشتن قالب مورد قبول، توسط پویشگر فایل برنامه رد میشوند. در نتیجه شاهد پوشش کم کد برنامه در روند آزمون فازی هستیم. استفاده از گرامرِ ساختار فایل برای تولید داده آزمون، منجربه افزایش پوشش کد میگردد، اما این گرامر معمولاً بهصورت دستی تهیه میشود که کاری زمانبر، پرهزینه و مستعد خطا است. در این مقاله روشی نو با استفاده از مدلهای زبانی عصبی ژرف برای یادگیری خودکار ساختار فایل و سپس تولید و فاز دادههای آزمون ارائه شده است. آزمایشهای ما بهبود پوشش کد روش پیشنهادی را در مقایسه با دیگر روشهای تولید داده آزمون نشان میدهد. برای نرمافزار mupdf که قالب فایل پیچیده pdf را بهعنوان ورودی میپذیرد، بیش از 1.30 تا 12 درصد بهبود پوشش کد را نسبت به روشهای هوشمند و روش تصادفی داشتهایم.
|
کلیدواژه
|
آزمون فازی، داده آزمون، پوشش کد، شبکه عصبی مکرر، مدل زبانی، یادگیری ژرف
|
آدرس
|
دانشگاه علم و صنعت ایران, ایران, دانشگاه علم و صنعت ایران, ایران
|
پست الکترونیکی
|
parsa@iust.ac.ir
|
|
|
|
|
|
|
|
|
Automatic Test Data Generation in File Format Fuzzers
|
|
|
Authors
|
Z.akeri Nasrabadi M. ,Parsa S.
|
Abstract
|
Fuzzing is a dynamic software testing technique. In this technique with repeated generation and injection of malformed test data to the software under test (SUT), we are looking for the possible errors and vulnerabilities. Files are significant inputs to most realworld applications. Many of test data which are generated for fuzzing such programs are rejected by the parser because they are not in the acceptable format and this results in a low code coverage in the process of fuzz testing. Using the grammatical structure of input files to generate test data leads to increase code coverage. However, often, the grammar extraction is performed manually, which is a time consuming, costly and errorprone task. In this paper, a new method, based on deep neural language models (NLMs), is proposed for automatically learning the file structure and then generating and fuzzing test data. Our experiments demonstrate that the data produced by this method leads to an increase in the code coverage compared to previous test data generation methods. For MuPDF software, which accepts the PDF complex file format as an input, we have more than 1.30 to 12 percent improvement in code coverage than both the intelligence and random methods.
|
Keywords
|
|
|
|
|
|
|
|
|
|
|
|