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

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

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

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

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

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

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

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

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

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

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#

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

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

نظرات غیرمرتبط با محتوای این مطلب تایید نخواهند شد.

پاسخ دهید

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