احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

Fuzzing چیست؟ آشنایی با مفهوم Fuzzing در امنیت اطلاعات

اگر جز كساني هستيد كه به تازگي قصد ورود به دنياي تست نفوذ، آنهم بصورت عملي را دارید، بي شك دير يا زود به اين مفهوم برخواهيد خورد كه درك آن لازمه ادامه مسير خواهد بود.Fuzz Testing يا به اصطلاح Fuzzing، در واقع يك تكنيك تست نرم افزار است كه براي پيدا كردن خطاهاي coding و حفره هاي امنيتي در نرم افزار، سيستم هاي عامل يا شبكه هايي با ورودي عظيمي از داده هاي تصادفي مورد استفاده قرار ميگيرد. اين فرايند كه به Fuzz معروف است با هدف اختلال در سيستم نرم افزار در نتيجه اجراي آن صورت ميپذيرد. اگر آسيب پذيري اي پيدا شد، ابزاري به نام Fuzz Tester ( يا Fuzzer) علل بالقوه اين آسيب پذيري را نشان ميدهد. اين تكنيك براي اولين بار توسط Barton Miller در دانشگاه Wisconsin و در سال 1989 توسعه داده شده است.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
وب سایت توسینسو

Fuzzer ها در مورد مشكلاتي كه سبب Crash كردن يك برنامه ميشوند، بسيار خوب عمل ميكنند. از نمونه هاي اين مشكلات ميتوان به Buffer overflow، Cross site scripting، حملات Denial of Service، باگ هاي ساختاري و SQL Injection نام برد. اين نمونه حملات غالبا توسط هكرهايي صورت ميپذيرد كه به قصد انتقام و در كمترين زمان ميخواهند بزرگترين ضربه را به هدف مورد نظر بزنند. Fuzz Testing با تهديدات امنيتي كه سبب Crash برنامه نميشوند، چندان ارتباط و تاثير خاصي ندارد. از اين دست تهديدات ميتوان به برنامه هاي جاسوسي (Spyware)، برخي ويروس ها، كرم ها (Worms)، تروجان ها و Keylogger ها اشاره نمود.

وب سایت توسینسو

انجام Fuzz testing ساده است و به نسبت هزينه كمي كه براي شما دارد، بالاترين قابليت را به شما ارائه ميدهد. اين تست انگشت اشاره خود را روي نقص هايي ميگذارد كه در هنگام نوشتن برنامه و اشكال زدايي آن از آن چشم پوشي شده و يا ديده نشده است. به همين علت است كه نتايجي را كه اين تست نشان ميدهد، غالبا خطاهاي جدي در برنامه هستند. با اين حال Fuzz Testing به تنهايي نميتواند تصوير كاملي از امنيت، كيفيت يا تاثير يك برنامه در موقعيت يا اپليكيشن خاصي را ارائه دهد. Fuzzer ها بيشترين كارايي خود را زماني دارند كه در رابطه با تست هاي Black Box، بتا يا ديگر شيوه هاي شناخته شده اشكال زدايي (از برنامه) استفاده شوند.خوب دوستان اميدوارم تا اينجا توانسته باشم ديد نسبي از مفهوم Fuzzing را به شما ارائه داده باشم. در آينده حرف هاي بيشتري از اين مفهوم و اجراي آن خواهيم زد.

سربلند و مانا باشید.


احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...

نظرات