Submit Search
Upload
GCC, Glibc protections
•
Download as PPTX, PDF
•
0 likes
•
118 views
Mohammad Golyani
Follow
بررسی حفاظ های gcc , glibc
Read less
Read more
Software
Report
Share
Report
Share
1 of 44
Download now
Recommended
Vp8 is a video compression format(web m)
Vp8 is a video compression format(web m)
8621313001
A holistic Control Flow Integrity
A holistic Control Flow Integrity
Mohammad Golyani
C++ How to program
C++ How to program
Mohammad Golyani
GCC, Glibc protections
GCC, Glibc protections
Mohammad Golyani
Exec-shield
Exec-shield
Mohammad Golyani
ASLR
ASLR
Mohammad Golyani
Advanced c programming in Linux
Advanced c programming in Linux
Mohammad Golyani
How to get LBR contents on Intel x86
How to get LBR contents on Intel x86
Mohammad Golyani
Recommended
Vp8 is a video compression format(web m)
Vp8 is a video compression format(web m)
8621313001
A holistic Control Flow Integrity
A holistic Control Flow Integrity
Mohammad Golyani
C++ How to program
C++ How to program
Mohammad Golyani
GCC, Glibc protections
GCC, Glibc protections
Mohammad Golyani
Exec-shield
Exec-shield
Mohammad Golyani
ASLR
ASLR
Mohammad Golyani
Advanced c programming in Linux
Advanced c programming in Linux
Mohammad Golyani
How to get LBR contents on Intel x86
How to get LBR contents on Intel x86
Mohammad Golyani
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
More Related Content
Featured
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Featured
(20)
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
Skeleton Culture Code
Skeleton Culture Code
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
GCC, Glibc protections
1.
های حفاظGCCوGlibc کارکردآنویساز پیاده
نحوه ی سربر گلیانی محمد خرداد1390 باش می نویسنده نام ومنبع ذکر به منوط سنداین از یبردار کپی گونه هرد
2.
مطالبفهرست -معرفیStack guard -ی سربرنحوهعملکردStack
guard -معرفیحفاظهایSplit StackوStack Shield -ی سربرنحوهعملکردSplit stackوStack shield -معرفیPoint Guard -ی سربرنحوهعملکردPoint Guard -معرفیgcc –Wformatsecurityو نحوهکارکردآن -ی سربرحفاظهایglibcدردرموفضای heap -ی سربرmcheck, mtraceومتغیر هایمربوطه -جمعبندی
3.
stack guard -اینحفاظبااستفادهازگزینۀ–fstack-protectorو–fstack-protector-allبههنگامکامپایلکدهادر gccفعالمیشود. -بااستفادهازاین،حفاظیکمتغیردرگابهتوابعیکهیحاوموجودیتهایآسیبپذیرهستنداضافه میشود. -توابعیکهنودرآنهاتخصیصحافظۀپویاترصو،گرفتهتوابعیکهبافربیشاز8اکتررکاندرداو... -متغیر،درگامانیزکهتابعصدادهزمی،شوددهیرمقدااولیهشدهوبههنگامجوخراز،تابعی سربرمی شود. -درتیرصوکهی
سربر،درگاموفقیتآمیز،نباشدیکپیامخطانمایشدادهشدهونامهرببهکارخود پایانمیدهد.
4.
stack guard -متغیردرگادرمواستفادهدرstack guard، ا عملپیادهیسازی
شوراستکهبهشورcanary(یقنار) فومعراست. -دراین،شوریمقداربهعنوانیقناربینمحلاررقیگیرسرآدبرگشتدرپشتهومحلاررقگییر بافردرپشتهاررقدادهمیشود. -بایوردادنیزرسر،بافرقبلازاینکهسرآدبرگشتی نویسزبا،شودمقداریقنارنویسزبایخواهد شد. -بههنگامبرگشتبای سربرمقداریقنارمیتواناززوبریزرسرآگاهشدهونامهربارخاتمهداد.
5.
stack guard -یالگوازپیشیفرتعشدهایکهبهعنواندرگادرنظرگرفتهمی،شودهرهموادریکآفستثابت نسبتبهجیستررGSاررقمیگیرد. -درسیستمهایx86_32،اینآفست20بایتودرx86_64،40بایتمیباشد. -درسیستمهای32،بیتیازآنجاییکهازGSایربی دسترسبهساختارthreadهادرفضایبررکا استفادهمی،شودمقدارGSبههنگامتغییرمدیکاربهکرنلذخیرهودر،بازگشتیابیزبامیشود. -درسیستمهای64،بیتیذخیرهیسازGSبااستفادهازswapgsبههنگامتغییرمدانجاممیشود.
6.
پشته فضای IP (EIP) آسیب
بافر پذیر یقنار stack guard -نمایی ّ کلکاربهترصویرزاست: شود می یقنارشدنابرخ باعث سرریز شده پر بافر سرریز سرریز سرریز سرریز سرریز سرریز بافرواقعیسایز برگ سرآد و بافرمابین یقنارشت گیرد میاررق
7.
stack guard -نامۀربیرزیکنامۀربآسیبپذیردرمقابلیزرسربافرمیباشدکهبهدوترصوکامپایلخواهدشد: -کامپایلباگزینۀ–fstack-protector-all -کامپایلباگزینۀ–fno-stack-protector
8.
نبدوstack guard بهاخوانیرف ،حالتاین
درکه شود می مشاهده ادامۀ ،آنازپس و شدهانجام عادی صورت شود میاراجبرنامه.
9.
از استفاده باstack
guard ،تابعاخوانیرفازبعد و قبلحالتاین دریک مربکه شود میانجام اضافی عملیات یسروط بهدرگامتغیرمقداری بررس ودهی مقدار stack guardشود می.
10.
از استفاده باstack
guard درون ،درگامقدارابتداeaxو شده دادهاررق آفست درآنجااز0xfffffff8ازebpاررق شود می داده.
11.
از استفاده باstack
guard از استفاده باstack guardآنکهازقبل ، برن و شدهانجامپشته فضای یسازادزآامه ب یقنارقبلی مقدار ،دهدادامه خود کاربها یک با و شدهمقایسهآن فعلیمقدارjump شو میگرفته سر ازبرنامهادامۀ شرطیو د تابع ،مغایرت وجود صورت در __stack_chk_failو شده دهزصدا سدر میاتمامبه خطاپیامبابرنامه.
12.
stack guard -کامپایلوایراجنامهرببااستفادهازstackguard: -کامپایلوایراجنامهربنبدواستفادهازstackguard:
13.
14.
15.
stack guard -یمتغیرکهبهعنوانیقنار(درگا)انتخابمیشودبایدایرداویژگیهاییباشدتانفوذگرقادرنباشدبه هنگام،یزرسرارآنمعادلمقدارقبلیی نویسزباکند. -شهاییورکهمیتواندراینهربابهکاربردتندرعبااز: •استفادهازمقادیرمتغیروتصادفیدرهراراج. •استفادهازاکترهایرکاخاتمهدهندۀشتهربهعنوانمتغیردرگا. -پیادهیسازاینتکنیکتحتعنوانSSP
(Stack Smashing Protection)یاهمانPropoliceدرgcc4 پیشرفتهایینسبتبهstack guardداشتهوبهینحواستکهدرترصووجودفایلایجاداعداد تصادفی(/dev/urandom)،ازمقادیرتصادفیاستفادهمیشودودرغیراین،ترصوازمقادیرخاتمه دهندۀشتهر.
16.
stack guard
17.
Split StackوStackshield -یکیازدالیلیکهحملتیزرسربافربهترصوموفقیتآمیزرخمی،دهداستفادهازیکپشتۀواحدجهتذخیرۀ دادههایکنترلیواطلعاتبرنامهمیباشد. -محافظsplitstackباتقسیمکردنپشتۀبرنامهبهدوقسمتپشتۀکنترلیوپشتۀدادهعملمیکند. -اطلعاتینظیردادههایموقتیوآرگومانهایتوابعدرقسمتپشتۀدادهواطلعاتینظیرسرآدبرگشتدر قسمتپشتۀکنترلیذخیرهمیگردد. -نمونههاییازپیادهیسازاینشورتوسطJuan Xuوانرهمکادرسطحکامپایلروپشتیبانیسخت،یارزافدر مقالهایباعنوان«ArchitectureSupportforDefendingAgainstBufferOverflowAttacks»شرحدادهشدهاست.
18.
Split StackوStackshield -مزالبهذکراستکهگزینۀ–fsplit-stackکهتوسطgccاهمرف،شدهامکانتکهتکهشدنفضایپشته باخواستردنامهرباراهمرفمیدرآو. -پیادهیسازStackshield،ازتکنیکینظیرsplit stackدراسمبلراستفادهمیکندبدینترتیبکهیک کپیازسرآدبرگشتاردرمکانیکهتحتتأثیریزرسراررقنخواهدگرفتاررقمیدهدودرب،رگشت اینمقداربامقدارفعلیمقایسهشدهوتدبیرمزالاتخاذمیگردد. -استفادهازSplit
stack،سرباراضافهایاربهسیستمتحمیلخواهدنمودکهدرمقالۀXuنمونههایی ائهراشدهاست.
19.
Point Guard -Point Guard،حفاظیاستکهبایمزنگاررهراشاگرهابههنگامذخیرهیسازدر،حافظهامکان ی
نویسزباآنهابامقادیرقابللقبوارکاهشمیدهد. -این،حفاظبااتیرتغییکهدرکامپایلربوجودمی،درآویمقادیرنظیرEIPارقبلازاررقدادندرپشته یمزنگاررنمودهو ا دقیقاقبلازیارزبارگمجدداینمقادیردرجیسترهایرمربوطهدرCPU،آنهاار مزگشاییرمیکند. -کلیدمزرنیزتنهادراختیارسهوپرهاییاررقخواهدگرفتکهازحافظۀاکیراشتاستفادهمیکنندواین کلیددرمقایسهباسایراطلعاتیکهبهاکراشتگذاشتهمیشود(نظیرهراشاگرهایفایل)،ازاهمیت یکمتردارربرخواست.
20.
Point Guard CPU پشته فضای Encrypted ReturnAddress آسیب
بافر پذیر مکان در خاممقداریک ،سرریز دادنرخ با گیرد میاررقبرگشتسرآد.هنگامبه مقداراین نمودخواهد هراشا نامعلوم مکانیبه ،مزگشاییر نفوذگرکدبهنه و شده پر بافر سرریز سرریز درکهکدییاشلکد نفوذگرنظرموردسرآد دردااررق سرریز سرریز جدیدسرآد بافرواقعیسایز CPUنام مکانیبه ،شدهی نویسزباسرآد مزگشاییر باعلوم در خامصورتبهجدید سرآدکهارچ ،نمودخواهد هراشا نشده یمزنگارر مناسبکلیدبا وگرفتهاررق حافظهاست.
21.
Point Guard -همچنینایننوعحفاظبااسامیمختلفینظیرPointer encryption،Pointer
obfuscationو...نیز شناختهمیشود. -حفاظpoint guardکهدرglibcبهرطوپیشفرضپیادهیساز،شدهبااستفادهازیوماکر PTR_MANGLEعملیاتمربوطهارانجاممیدهد. -اینوماکرایربسیستمهایi386درسرآد/sysdeps/unix/sysv/linux/i386/sysdep.hدرglibcو ایربسیستمهای64بیتیدرسرآد/sysdeps/unix/sysv/linux/x86_64/sysdep.hدرglibcتعریف شدهاست.
22.
Point Guard های سیستمدرچه
یمزنگارر عملیات32 چهو بیتی64عملگ از استفاده با،بیتیر Xorچپ به گردشو(rol)می استفاده شود.،یمزنگاررلحاظ از عملیاتاین رود میشماربه ضعیفی عملیات
23.
POINTER_GUARDمقدار آفست همان
،pointer_guardساختار ابتدایازtcbhead_tباشد می در که باشد می برنامه های نخ به مربوط ساختاراین وnptl/sysdeps/{x86_64,i386}/tls.hدر glibcعملدر و شده تعریفXOR(مزرکلید عنوانبه)گیرد میاررق استفاده مورد. POINTER_GUARDگیرد میاررق اکیراشتحافظه دروشده گرفتهنظردر مزر کلید عنوانبه.
24.
Point Guard -پیادهیسازاینحفاظدرسطوحمختلفیامکانپذیراست.پیادهیسازدرمواستفادهدرمقالۀ CrispinCowanدرفازتولیدکدمیانیکامپایلرانجامشدهاست(ASTدرGCC). -نمونههاییازپیادهیسازاینشوربهاهرهمشرحمشکلتونکاتآندرمقالهایباعنوان «Protecting Pointers
From Buffer Overflow Vulnerabilities»کهتوسطImmunixائهرا،شده قابلی دسترسمیباشد. -بهرطوی ّ کلاینحفاظمانیزدرمواستفادهاررقمیگیردکهنتوانقسمتهایدرموینظرازحافظهاربه ترصو«فقطخواندنی»مشخصنمود.
25.
gcc –Wformat-security -اینگزینهدرgcc،امکانی سربراستفادهازبرخیتوابعآسیبپذیراربههنگامکامپایلاهمرفمیدرآو. -یکردوراینگزینهبرتشخیصاستفادهازتوابعیاستکهقابلیتکارباformatstringهاارندردا. -درحالحاضراینگزینهۀربارداستفادهازتوابعprintfوscanfبهترصوغیرصحیحهشدارمیدهد. -استفادهناصحیحازاترعباشتهرایوتوابعکارباآنهامیتوانددرتیرصوکهشتۀردرموبر،ی
سرازبررکا یاازمحلیغیرمعتمدیافتردشدهویحاو%n،باشدمشکلامنیتیبوجوددرآو.
26.
gcc –Wformat-security گزینۀازکه صورتی
در–Wformatدرgcc استفادۀ مورد دریهشدارپیام ،شود استفاده ازناصحیحformat stringشود می دادهنشان ها. چنین ،معمولی کامپایل درکه است حالی دراین شودنمی دادهنمایشیهشدار.
27.
glibc heap memory
checks -ساختارheap،ودرموااستفادهازآنباپشتهتفاوتداشتهوآسیبیپذیرهایآننیزاگرچهبههاهرم یزرسربافردر،پشتهدریکهوگراررقمیگیردلیکنازنظریساختارمتفاوتمیباشد. -ساختارheap،یکساختارلیستپیوندیمیباشد؛بدینتیبرتکهخانههایخالیheap،بهصورتیکlinked list دوطرفهبایکدیگردرتباطراهستند. -Heap managerباتوجهبهمشخصاتهریکازخانههایheap،اطلعاتمزالۀرباردمحلیارگیررقاطلعات،بعدی قبلیومکانهایخالیجهتیارگیررقاطلعاتاربدستمیدرآو. -درglibc،ساختارخانههایخالیheapوخانههایپر(درحالاستفاده)متفاوتاست.
28.
وجود صورت درقبلی
فریم اندازۀ بایت بهیجار فریم اندازۀ کاربراطلعات بایت بهیجار فریم اندازۀ (قبلی فریم اندازۀ) وجود صورت درقبلی فریم اندازۀ بایت بهیجار فریم اندازۀ لیست بعدی فریم به یگر اشاره لیستقبلی فریم به یگر اشاره خالی فضای یک (است ممکن0باشد بایت) بایت بهیجار فریم اندازۀ (قبلی فریم اندازه) یحاو خانۀیک ساختار دراطلعاتheap در ادزآ خانۀیک ساختار heap جهت و حافظههایآدرس ایشزاف جهت شدن پرheap یکی ا عمل،خانه دواین هستند (FOOT،قبلی فریم HEADاست فعلی فریم) گراشارهchunkمورد ، فعالاکثردر استفادهیت داخلیهایmalloc تابع توسطکهیگراشاره mallocبرگرداکاربر بهنده مکاناین به ،شودمی کندمیاشاره HEAD FOOT Next Chunk Mem Chunk
29.
glibc heap memory
checks -درترصوزوبریزرسردرheap،امکانی نویسزباسهایرآدکنترلیوبافرهایرمجاووجوددردا. -درglibcتمهیداتیجهتکاهشاحتمالزوبراترمخاطامنیتیheapدرنظرگرفتهشده. -اینتمهیداتکهدردرموheapاعمالمیشوددریکتقسیمبندیی ّ کلبهشرحیرزاست: •لهاییرکنتکهبهصورتپیشفرضدرونglibcانجامشدهوسرآدهاومقادیراررقگرفتهدرقسمتهایمختلف خانههایheapارموردی بررساررقمیدهد. •لهاییرکنتکهglibcامکاناستفادهازآنهاارایرببرنامهنویساهمرفمیدرآوتادرصورت،تمایلمورداستفادهاررق گیرد(توابعmchck(),mtrace()ازایندستههستند).
30.
glibc heap memory
checks شدنکپی هنگامبه1000بافر اطلعاتبایت3درون بافر1که100،دردا فضابایت900سرریز دادهبایت رمجاو هایخانه و کرده(بافر مورداین در2)تحت ار دهد میاررقتأثیر Mohammad.Golyani = MAGMAG فرضپیش هایمکانیزمglibcتابعاخوانیرف هنگامبه ،free()یکیبررو ار هاییی بررس ، هایخانه و هاسرآد یسرheapبه مناسبیپیام ،سرریزبروز صورت در و دادهانجام نماید می متوقفاربرنامهایراج و دادهنمایش بررکا.
31.
Mohammad.Golyani = MAGMAG تابعاخوانیرفهنگامبه ا دقیقا
وبرنامهایراج باfreeفرضپیش هایمکانیزم ،glibc دهد میخاتمهبرنامهایراجبه و شده سرریزمتوجه. بافرمحتویات ،سرریز دادنرخ با2لحاظازکه بافرهای مابین ،حافظه مکان1و3،گرفته اررق شود میتغییر دستخوش.
32.
Mohammad.Golyani = MAGMAG که
هاییلکنترglibcدر ،دهد میانجام فرضپیشصورتبه فایلmalloc/malloc.cاست شده مشخص
33.
glibc heap memory
checks -تمهیداتیکهدرglibcبهرمنظواستفادۀبرنامهنویساهمرف،آمدهتندرعبااز: •تابعmcheck():یکیسری بررسهابههنگاماستفادهازاینتابعدرموردفضاهایheapانجاممیشود. •استفادهاز–lmcheckبههنگامکامپایلنیزمعادلاستفادهازmcheckدربرنامهمیباشد. •متغیرMALLOC_CHECK_:همانندmcheckیکیسری بررسهااردرموردبهمیختگیرفضایheapانجاممیدهد. ولیدرحینایراجبرنامهبهصورتی ّ کلاعمالمیشودونهدریکنقطۀخاصوهمچنینینیازبهلینکمجدد برنامهنیست. •تابعmtrace():تخصیصوادزآیسازفضاهاارتحتنظرداشتهومغایرتارشرازگمیدهد.
34.
استفادهایربازmcheck()بههنگامتوباید کامپایلجه که داشتmcheckاخوانیرفاز
قبل،mallocدهزصدا شود.
35.
glibc heap memory
checks که صورتی درmcheckآرگومانباNULL،داده رخ خطایبهبسته ،شوداخوانیرف توان می ولی شود می داده نمایش مناسبپیامabort functionنیز ار خود دلخواه نمودتعریف
36.
glibc heap memory
checks بررساساس بر ،هالکنتراین اعمال نحوهی یسریکmagicnumberدر و باشد می ها فایلmalloc/mcheck.cدرglibcداده شرح شده.
37.
glibc heap memory
checks -باتنظیممتغیرمحیطیMALLOC_CHECKنیزمیتوانلکنترهایپایهایارنبدونیازبهکامپایلمجدداعمال نمود. •اگراینمتغیرابررب0تنظیم،شودیناهنجارهایheap،نادیدهگرفتهمیشود •اگراینمتغیرابررب1تنظیم،شوداطلعاتیۀرباردخطایرخ،دادهنمایشدادهمیشود •اگراینمتغیرابررب2تنظیم،شودبلفاصلهتابعabortاخوانیرفشدهومنجربهاتمامکاربرنامهمی شود. -بایدتوجهداشتکهبهخاطرقابلیتنوشتنبررویstderrکهدراینبردرکاوجود،دردااستفادهازاینمتغیرایرببرنامه هایSUIDوSGIDمیتواندخطرناکبودهوبههمینمنظوربهصورتپیشفرضغیرقابلاستفادهبودهوایربفعال یسازآنبایداینفایلاربوجوددرآو:/etc/suid-debug
38.
39.
بهمربوطهمتغیراگر0تنظیم شد گرفته نادیده
خطاها،شوده دهد میکار ادامهبرنامه و. بهمربوطهمتغیراگر1تنظیم رفمنظور بههایی پیغام ،شودع شود می دادهنمایش ادرای. بهمربوطهمتغیراگر2،شود تنظیم تابعabortایراج وشده اخوانیرف یابدمی خاتمهبرنامه.
40.
glibc heap memory
checks -تابعmtraceنیزبااستفادهازیکیسرhook،هابههمیختگیرهایheapاربههنگاماستفادهازتوابعینظیر mallocاهمرفمیدرآو. -این،تابعلکنترهاییاردردرموتوابعmalloc,reallco,freeاعمالمینماید. -بااستفادهازتابعmuntraceنیزمیتواناینلکنترهاارازکارانداخت. -متغیرمحیطیMALLOC_TRACE،بایدیحاوسرآدفایلیباشدکهقصدیمرداmtraceجیوخرخوداردرآن اررقدهد. -جهتدرکبهترجیوخرتابعmtrace،میتوانازاسکریپتmtraceلپرکهدرglibcاررقدردااستفادهنمود.
41.
ناحیاین درکه هایییناهنجاره شود
می دادهارشزگ ،دهدرخ
42.
،برنامه سورس درکهآنجاییزmuntraceازقبلfree،قفو
خروجی ،شدهاخوانیرف است دادهتشخیصارآن یادساززآعدم وپویا حافظۀ تخصیص
43.
از استفاده نحوهhookدر
هایی malloc/mtrace.cاررق استفاده مورد جزوۀ در ،گرفتهmalloc_hook(3)شرح است شده داده.
44.
بندیجمع -حفاظهایمختلفیبهرمنظویجلوگیرازآسیبدیدنسیستمدرمقابلحملتمختلفاحیرطوپیاده یسازشدهاستکهدرسطوحمختلفی(سیستم،عامل،کامپایلرکتابخانههایدرمواستفادهو...)اررق دادهشده. -پیادهیسازهایمختلفیکهدرسیستمهایمختلفمبتنیبرلینوکسانجام،شدهازیکیسرهایرفتار ا غالبامشخصتبعیتمیکند. -حفاظهایمبتنیبریقنار(نظیرSSP-Stack Smashing Protection)یکیازینربردترپرکاحفاظ هاهستند. -برخیحفاظهانیزنظیرpoint
guardبراساسیمزنگاررهراشاگرهاوازبینبردنامکانی نویسزبا صحیحآنبناشدهاست.
Download now