حامی فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

حامی فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

دانلود پاورپوینت مشکلات امنیتی نرم افزارها (مروری بر روش های کشف ، حمله و مقابله)

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

دانلود پاورپوینت مشکلات امنیتی نرم افزارها (مروری بر روش های کشف ، حمله و مقابله)


دانلود پاورپوینت مشکلات امنیتی نرم افزارها (مروری بر روش های کشف ، حمله و مقابله)

نرم افزارهای کاربردی – حملات سرریز  بافر

بررسی روال اجرای یک نرم افزار
اختصاص یک محدوده آدرس در حافظه برای بارگذاری دستورالعمل ها و اطلاعات لازم
بارگذاری سگمنت های تعریف شده در نرم افزار
text:حاوی دستورالعمل های  اجرایی برنامه
bss:حاوی اطلاعات و متغیر های تعریف نشده (uninitialized data)
data:حاوی اطلاعات و متغیر های تعریف شده (static initialized data)
اختصاص فضای Stack و Heap
سرریز بافر زمانی رخ میدهد که حجم اطلاعات کپی شده به بافر ، بیشتر از میزان مشخص شده برای بافر باشد.

#include <stdio.h>

Int main (int arge , char **argv)

{

char target[5]=“AAAA”

strcpy(target, “AAAAABBBBCCCC”);

Printf(“%\n”,target”);

Return 0;

{

به دستوراتی که برای اجرا در حافظه درج میشوند اصطلاحآ Payload گفته میشود
رعایت نکردن نکاتی همچون عدم استفاده از کاراکترهای خاص (0x00) باعث بروز مشکل خواهد شد
برای اینکه بتوانیم دستورات دلخواه خود را اجرا کنیم ، میبایست آدرس دقیق آنها را پس از درج در حافظه بدانیم
روال پیاده سازی حملات در واقعیت ، بسیار پیچیده تر و مشکل تر میباشد ~
از دید پردازنده ، تفاوتی میان دستورالعمل ها و داده ها وجود ندارد . ورودی داده شده درصورتی که دستور زبان ماشین معتبر باشد اجرا خواهد شد.
یکی از روش های تزریق Payload درحافظه ، ارسال آن در قالب پارامترهای ورودی نرم افزار میباشد
سرریز بافر میتواند هم در فضای Stack و هم در فضای Heap رخ دهد
بسته به محل وقوع سرریز (stack / Heap overflow) نحوه تغییر روال اجرای برنامه و پرش به محل Payload متفاوت بوده وتکنیک ها و روش های مختلفی برای هر حالت وجود دارد.
قابلیت بازنویسی EIP الزامی نیست ! در نظر داشته باشید که بازنویسی هر یک از ثبات ها میتواند در نهایت منجر به اجرای Payload گردد
روال پیاده سازی حملات در واقعیت ، بسیار پیچیده تر و مشکل تر میباشد:
آدرس های بارگذاری توابع و Dll ها بسته به هر نسخه نرم افزار ، سیستم عامل و حتی Service Pack  تغییر میکند
در برخی موارد ، آدرس ها و offset های ثابت که در تمامی نسخ یکسان هستند نیز وجود دارند
نیاز به آگاهی از آدرس دقیق دستورات درج شده (Payload) در حافظه
بر خلاف Linux ، تخمین آدرس دقیق Stack در ویندوز براحتی امکانپذیر نیست
استفاده از تکنیک Return-to-lib/dll
استفاده از NOP Sled
محدودیت در حجم دستوراتی که میتوان در بافر درج کرد
استفاده از بخش های مختلف حافظه که قابلیت تزریق در آنها وجود دارد ، و پرش بین آنها
استفاده از Payload های چند مرحله ایی
محدودیت در استفاده ازکاراکترهایی که در حافظه درج میگردد
شناسایی کاراکترهایی که پس از تزریق در حافظه دستکاری میشوند
nEncode کردن Payload برای پرهیز از وجود کاراکترهای خاص
نحوه ارسال دستورات به نرم افزار
حملات سرریزبافر ناشی از اشتباهات برنامه نویس در استفاده از توابع زبان برنامه نویسی هستند.
بسیاری از توابع ، به خودی خود ورودی/خروجی خود را کنترل نمیکنند
انتظار میرود که برنامه نویس پیش از استفاده از چنین توابعی ، حجم و نوع اطلاعات ارسالی/دریافتی از تابع را کنترل کند تا از بروز مشکل جلوگیری شود.
برخی از توابع که استفاده از آنها بدون کنترل قبلی ، منجر به سرریز بافر میگردد : strcat() , strcpy() ,sprintf() , vsprintf() , bcopy() ,gets() ,scanf()
استفاده از توابع کتابخانه ایی که دارای مشکل هستند ، برنامه شما را نیز دوچار مشکل امنیتی میکنند.
تکنیک ها و روش های متفاوتی برای شناسایی ضعف های امنیتی موجود در نرم افزارها وجود دارد
بررسی کد (Source-Code Audit)
Fuzzing & Fault-Injection
Binary (Static/Dynamic) Analyze
بسته به شرایط ، امکانات ودقت عمل لازم از یک یا ترکیبی از چند روش برای آنالیز یک نرم افزار استفاده میشود
الزامآ پیچیده ترین روش ، همیشه بهینه ترین روش نیست !
اگرچه بسیاری از تکنیک های کشف و شناسایی مشکلات امنیتی بصورت Automated نیز دراختیارهستند ، اما همواره نیاز به یک کاربر مسلط و با تجربه وجود دارد.
لزومآ هر مشکل سرریز بافر شناسایی شده ، قابل استفاده برای اجرای کد/دستور نیست .
شامل 58 اسلاید powerpoint

دانلود با لینک مستقیم


دانلود پاورپوینت مشکلات امنیتی نرم افزارها (مروری بر روش های کشف ، حمله و مقابله)

دانلود پاورپوینت مشکلات امنیتی نرم افزارها (مروری بر روش های کشف ، حمله و مقابله)

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

دانلود پاورپوینت مشکلات امنیتی نرم افزارها (مروری بر روش های کشف ، حمله و مقابله)


دانلود پاورپوینت مشکلات امنیتی نرم افزارها (مروری بر روش های کشف ، حمله و مقابله)

مواردی که شبه آنها خواهیم پرداخت:

بررسی روش های حمله به نرم افزارها
نرم افزارهای کاربردی
مروری بر حملات سرریز بافر
نرم افزارهای تحت وب
مروری بر حملات رایج (SQLi, XSS, Harvesting, …)
بررسی روش های کشف ضعف های امنیتی
 بازبینی کد (Source-code Audit)
Fuzzing & Fault-Injection
Binary Analyzing
بررسی روش های مقابله با حملات
سیستم های محافظتی موجود در سطح سیستم عامل و سخت افزار
سیستم های محافظتی ایجاد شده توسط نرم افزارهای جانبی
---------------------------------------
حمله به نرم افزار – نرم افزارهای کاربردی:
ضعف امنیتی در نرم افزار چیست ؟
منظور از Exploit کردن یک ضعف امنیتی  ؟
اهداف استفاده از ضعف های امنیتی نرم افزار
ایجاد اختلال در روال کار نرم افزار یا سیستم (DoS)
اجرای دستورالعملی خارج از روال معمول اجرای نرم افزار(Controling Software)
بدست گرفتن کنترل کامل نرم افزار یا سیستم عامل(Controling System)
Payload چیست ؟
نرم افزارهای کاربردی – حملات سرریز  بافر:
بررسی روال اجرای یک نرم افزار
اختصاص یک محدوده آدرس در حافظه برای بارگذاری دستورالعمل ها و اطلاعات لازم
بارگذاری سگمنت های تعریف شده در نرم افزار
.text  : حاوی دستورالعمل های  اجرایی برنامه
.bss  : حاوی اطلاعات و متغیر های تعریف نشده (uninitialized data)
.data  : حاوی اطلاعات و متغیر های تعریف شده (static initialized data)
اختصاص فضای Stack و Heap
سرریز بافر زمانی رخ میدهد که حجم اطلاعات کپی شده به بافر ، بیشتر از میزان مشخص شده برای بافر باشد.

#include

Int main (int arge , char **argv)

 {

char target[5]=AAAA”

strcpy(target, “AAAAABBBBCCCC”);

Printf(“%\n”,target”);

Return 0;

}

بررسی یک کد آسیب پذیر به Stack Overflow:

#include

#include

#include

#include

int Hijack()

{  cout << "This function should be hijacked!";

  getchar();

  return 0;   }

int Function1()

{  char var1[15];

  cout << "_________1234567890abcd" << endl;

  cout << "Enter Var1:";

  cin >> var1;

  cout << var1 << endl;

  return 0;    }

int main()

{  Function1();

  getchar();

  return 0; }

 شامل 57 اسلاید powerpoint

دانلود با لینک مستقیم


دانلود پاورپوینت مشکلات امنیتی نرم افزارها (مروری بر روش های کشف ، حمله و مقابله)