پیدا کردن آسیب پذیری ها

منتشر شده در دسته : متااسپلوییت پیشرفته

جستجو آسیب پذیری ها چگونه انجام می شود ؟ چه راههایی برای جستجو آسیب پذیری ها  در وب و اپلیکیشن ها وجود دارد ؟ در این بخش به توضیح راههای موجود برای یافتن آسیب پذیری ها گفتگو می کنیم .

جستجو آسیب پذیری ها

بر اساس ویکیپدیا یک آسیب‌پذیری روز صفر (آسیب پذیری ساعت صفر نیز خوانده می‌شود) . این آسیب‌پذیری هنوز افشا نشده است و حفره موجود در اپلیکیشن پچ نشده و آسیب‌پذیر است . به این دلیل آن را صفر روز می نامند که برنامه نویس و توسعه‌دهنده اپلیکیشن تنها صفر روز (یعنی هیچی) فرصتی برای پچ کردن و رفع اشکال برنامه خود قبل از افشای آسیب‌پذیری ندارد . در صورتی که شما چنین حفره‌ای را یافتید ، به معدن طلا رسیده اید .

در این شرایط دو کار می‌توانید بکنید :

  • به صورت اخلاقی و با مسولیت باشید و قبل از افشای آسیب‌پذیری به صورت عمومی به توسعه‌دهنده نرم‌افزار فرصت دهید تا ایراد برنامه را برطرف سازد .
  • شیوه دوم شیوه غیراخلاقی است به این صورت که بدون اطلاع برنامه نویس و بدون دادن فرصتی آسیب‌پذیری را به صورت عمومی افشا کنید .
    شما به عنوان یک انسان با اخلاق بهتر است که شیوه اول را انتخاب کنید . در بسیاری از موارد ممکن است بابت اطلاع برنامه نویس حتی وجهی به عنوان قدردانی دریافت کنید و در برخی موارد نیز یک تشکر خشک و خالی . در موارد زیادی مشاهده می‌شود که هکرهای کلاه خاکستری و مشکی در داخل فروم ها به تبادل اکسپلوییت های ساعت صفر می پردازند .

چگونه آسیب‌پذیری ها را پیدا کنیم ؟

راههای زیادی به منظور پیدا کردن آسیب‌پذیری های ساعت صفر وجود دارند . در اینجا به برخی از آن‌ها اشاره می کنیم.

  • برنامه شما متن باز است و یا به سورس برنامه دسترسی دارید :
    در این شرایط می‌توانید با مرور کد به صورت دستی اشکالات امنیتی موجود در برنامه را تشخیص دهید . این کار نیاز به مهارت برنامه نویسی و یا حداقل کدخوانی در زبان برنامه نویسی مربوطه می‌باشد .
    همچنین می‌توانید با آنالیز استاتیک و بر اساس نوع پلتفورم با استفاده از یکسری ابزارها به صورت خودکار کد برنامه را آنالیز کنید . لیست خوبی از این برنامه‌ها را می‌توانید در ویکیپدیا پیدا کنید :

https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
cppcheck
flawfinder
rats
vcg

  • به کدبرنامه دسترسی ندارید :
    در این شرایط می‌توانید با شیوه‌های مهندسی معکوس آسیب ها را کشف کنید . مهندسی معکوس پروسه استخراج دانش یا اطلاعات مربوط به طراحی از داخل برنامه می‌باشد . این پروسه اغلب مستلزم جداسازی بخش‌های نرم‌افزار و آنالیز و کار در جزییات می‌باشد . ابزاری که به این منظور می‌توانید استفاده کنید :

http://www.veracode.com/products/binary-static-analysis-sast

همچنین می‌توانید با استفاده از پروسه‌ای تحت عنوان فازینگ (Fuzzing) عیوب نرم‌افزار را کشف کنید . فازینگ هنر ارسال داده‌های ناخواسته و کشف رفتارهای غیرمنتظره از سوی برنامه می‌باشد . به عنوان مثال با استفاده از دستورهای تزریق اسکیو ال زیر می‌توانید می‌توانید کار کنید :

‘or”=’
ADMIN OR 1=1#

با استفاده از یکی از تست های بالا به عنوان نام کاربری و رمزعبور در برخی فرم‌های ضعیف می‌توانید تزریق اسکیوال را انجام دهید .

صاحب امتیاز نت آموز : نویسنده , مدرس و متخصص در زمینه امنیت شبکه های رایانه ای

نظرات غیرمرتبط با موضوع این مطلب تایید نخواهند شد. این سوالات را می توانید از بخش پشتیبانی آموزشی مطرح کنید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *