عنوان مقاله :
ارائه روشي هوشمند براي توليد داده آزمون بهمنظور كشف آسيبپذيريهاي نرمافزار
پديد آورندگان :
تقوي، تقي دانشگاه جامع امام حسين(ع)، تهران , باقري، مسعود دانشگاه جامع امام حسين(ع)، تهران
كليدواژه :
آزمون فازينگ , توليد داده آزمون , تحليل رفتاري , پوشش مسير
چكيده فارسي :
در اين مقاله، يك فازر جعبه خاكستري، جهت كشف آسيبپذيري در كدهاي باينري اجرايي ارائه شده است. بررسيها نشان ميدهد كه آزمون فازينگ داراي سه مشكل اساسي است. در ابتدا، فضاي ورودي فراهمشده جهت پوشش مسيرهاي اجرايي برنامه، توسط فازرها ميتواند بسيار بزرگ باشد. از سوي ديگر بهواسطه بزرگي فضاي ورودي، اغلب فازرها پوشش نامناسبي از مسيرهاي اجراي كد را ارائه ميدهند. درنهايت، به دليل اين پوشش نامناسب، تعداد زيادي از آسيبپذيريهاي ممكن در مسيرهاي ناديده گرفته شده، آشكار نميگردند. روش پيشنهادي اين مقاله، مشكل بزرگي فضاي ورودي را با محدود كردن توليد داده آزمون به پوشش مسيرهاي مشكوكي كه الگوهاي آسيبپذيري در آنها بيشتر مشاهده شده، در طي يك فرايند تكاملي، حل نموده است. در راهكار ارائه شده، زماني كه يك داده آزمون يك آسيبپذيري را در يك مسير اجرايي آشكار ميكند، داده آزمون بعدي بهگونهاي توليد ميشود كه باعث رخداد آن آسيبپذيري شود. درنتيجه تعداد آسيب پذيريهاي شناساييشده افزايش مييابد. ارزيابيهاي انجامشده، كارايي برتر روش پيشنهادي را در مقايسه با ساير روشهاي آزمون فازينگ نشان ميدهند.
چكيده لاتين :
In this paper, a gray box fuzzer is presented to detect vulnerabilities in executable binary code. The literature surveys show that fuzz testing has three major problems. At first, the input space provided by the fuzzers to coverage execution paths in a binary program, can be very large. Secondly, most fuzzers can not support sufficient coverage of execution paths because of large input space. Finally, a large number of possible vulnerabilities can not reveal within an unseen execution path because of this unsufficient coverage. The proposed method, resolves the problem of large input space, in an evolutionary process, by conducting the test data generation towards suspicious paths in which one or more vulnerability patterns are observed. In the presented method, when a vulnerablility pattern is observed in an execution path by a test data, the next test data is generated revealing the vulnerablity. As a result, the number of detected vulnerabilities can increase. Our evaluations show better performance of presented method compared to other fuzz testing methods.
عنوان نشريه :
علوم و فناوري هاي پدافند نوين