payamvha/North_RAG huggingface dataset:
دارند و ممکن است به صورت ffff:0:a.b.c.d::: نوشته شوند. آدرس‌های IPv4 که به صورت a.b.c.d نوشته می‌شوند، آدرس ترجمه شدهٔ IPv6 دارند. پیشوند برای صفر شدن کد مجموع مقابله انتخاب شده‌است تا در کد مجموع مقابلهٔ سرآمد لایهٔ انتقال تغییری ایجاد نشود این الگوریتم می‌تواند در مواردی مورد استفاده قرار گیرد که میزبان‌های IPv6 که آدرس IPv4 تخصیص داده شده ندارند بتوانند با میزبان‌هایی که فقط IPv4 را می‌خوانند، ارتباط برقرار کنند..SIIT را می‌توان به عنوان یک مورد خاص از ترجمه آدرس شبکه بدون وضعیت معرفی کرد. این حاصل کار
آدرس شبکه بدون وضعیت معرفی کرد. این حاصل کار گروه NGTRANS IETF می‌باشد که برای اولین بار در فوریه سال ۲۰۰۰ توسطE. Nordmark of . آغاز شد. بعدها در سال ۲۰۱۱ بازبینی و در سال ۲۰۱۶ نسخهٔ فعلی آن منتشر شد. کارگزار تونل. یک کارگزار تونل، اتصال IPv6 را با کپسوله سازی بسته‌های IPv6 در پیوندهای IPv4 و با استفاده از 6in4، فراهم می‌سازد. با این کار در زیرساخت IPv4، تونل‌های IPv6 ساخته می‌شود. این تونل‌ها با پروتکل تنظیم تونل (TSP) یا AYIYA قابل مدیریت هستند. 6rd. 6rd مکانیزمی برای استقرار سریع سرویس IPv6 در
6rd. 6rd مکانیزمی برای استقرار سریع سرویس IPv6 در زیرساختهای IPv4 ارائه دهندگان خدمات اینترنت (ISP) است. این مکانیزم آدرس‌های IPv6 را بر آدرس‌های IPv4 نگاشت می‌کند و بسته‌های IPv6 را با تونل‌های اتوماتیک ساخته شده در همان مسیر بهینه ای که بسته‌های IPv4 طی می‌کنند، می‌فرستد. 6rd در سال ۲۰۰۷ برای استقرار گسترهٔ بزرگی از آدرس‌های بومی قرار گرفت (RFC 5569). ریز مشخصات استاندارد پروتکل در RFC 5969 آمده‌است. NAT64. NAT64 مکانیزمی است که به میزبان‌های IPv6 امکان برقراری ارتباط با سرورهای IPv4 را می‌دهد. سرور
برقراری ارتباط با سرورهای IPv4 را می‌دهد. سرور NAT64 نقطه پایانی برای حداقل برای یک آدرس IPv4 و یک بستهٔ شبکه IPv6 با ۳۲ بیت است. (RFC 6052، RFC 6146). مشتری IPv6، ادرسIPv4 که می‌خواهد با آن ارتباط برقرا کند را با کمک این بیت‌ها تعبیه می‌کند و بسته‌ها به آدرس تولید شده ازین کار می‌فرستد. سپس سرور NAT64 یک NAT - نگاشت بین آدرس IPv6 و آدرس IPv4 ایجاد می‌کند و به آنها امکان برقراری ارتباط می‌دهد.
ضحی الاسلام یا پرتو اسلام؛ نام کتابی است اثر احمد امین مصری. نویسنده. احمد امین، (۱۸۸۶–۱۹۵۴) مورخ و نویسنده مصری است. وی سلسله کتابهایی در مورد تاریخ تمدن اسلامی به نگارش درآورد وی دانش‌آموخته دانشگاه الازهر است و پس از اتمام تحصیل به تدریس ادبیات عربی در دانشگاه قاهره پرداخت و در همان‌جا به عنوان ریاست دانشکده هنر منصوب شد و تا سال ۱۹۴۶ عهده‌دار این سمت بود. برخی بر تعصب نویسنده، نقدهایی وارد کرده‌اند. معرفی کتاب. مرتضی مطهری دربارهٔ این کتاب معتقد است که کتاب ضحی الاسلام از جمله مهمترین کتاب‌های اجتماعی
کتاب ضحی الاسلام از جمله مهمترین کتاب‌های اجتماعی قرن اخیر بوده‌است. این کتاب به ضد شیعی بودن شهره است و در آن به تشیع، هجمه وارد شده. با این حال مؤلف آن به عدم آگاهی از مذهب تشیع متهم است. نجم الدین طبسی نیز در نقد کتاب ضحی الاسلام، گفتگویی داشته و به ملاقات احمد امین با کاشف الغطا اشاره دارد. در این دیدار پس از گفتگویی مفصل، نویسنده کتاب از برخی موارد نسبت به تشیع آگاه شده و به کاشف الغطاء قول می‌دهد که پس از مراجعت به مصر، کتابی را در رد اشتباهات گشته خود، بنگارد. وی پس از مراجعت به مصر، کتاب ضحی
خود، بنگارد. وی پس از مراجعت به مصر، کتاب ضحی الاسلام را نوشت که به معنای پرتو اسلام بود. وقتی نسخه کتاب به دست کاشف الغطا رسید، گفت: بگویید ضحی الاسلام؛ یعنی اسلام قربانی شد. ترجمه. عباس خلیلی تهرانی، این اثر را با نام پرتو اسلام ترجمه و به چاپ رسانده‌است.
جوانی دوباره برنمی‌گردد (به انگلیسی: Youth won't come again) یک فیلم سینمایی کمدی و فیلم ماجراجویی محصول سینمای پاکستان تولید سال ۲۰۱۵ به کارگردانی نادیم بیگ است. بازیگران اصلی فیلم همایون سعید ، حمزه علی عباسی ، احمد علی بات ، واسی چودری ، مهویش مهوش حیات و سهی علی ابرو می‌باشند. بازیگران حامی شامل جاوید شیخ ، اسماعیل تارا ، بوشرا انصاری ، عایشه خان ، سروت گیلانی و اوزما خان هستند . این فیلم درباره یک مرد مجرد که خودش وکیل طلاق است. او سه دوست متاهل خود را در سفر می‌برد تا در فرار از همسران و یکنواختی
را در سفر می‌برد تا در فرار از همسران و یکنواختی زندگیشان به آنها کمک کند. فیلمبرداری. این فیلم در مناطق مختلف تایلند از جمله بانکوک ، پاتایا و جزیره مرجان فیلمبرداری شده است. چند صحنه در کراچی فیلمبرداری شد. موسیقی متن. آلبوم موسیقی فیلم از ۶ آهنگ تشکیل شده است. یک آلبوم موسیقی متن در ساون منتشر شد. رسانه های خانگی. این فیلم در عید فطر ۴ ژوئیه ۲۰۱۶، در تلویزیون منتشر شد. دنباله. در فوریه سال ۲۰۱۷ ، دومین قسمت این فیلم منتشر شد.
ویتوریو سانیپولی (؛ – ۲۵ ژوئیهٔ ۱۹۹۲) بازیگر اهل ایتالیا بود. از فیلم‌هایی که وی در آن نقش داشته‌است می‌توان به "جنگ بزرگ"، "ترانه بهار"، "میلیدی و تفنگدارها"، "حمل و نقل"، "ناپلی‌ها در میلان"، "مغول‌ها"، "آن بالابالاها،"، "فریاد یک فاحشه" و "عاشقان پیشین" اشاره کرد.
تداخل‌سنج ریلی از دو باریکه نوری ایجاد شده از یک منبع نور استفاده می‌کند و تفاوت طول مسیر نوری بین دو مسیر را با استفاده از تداخل بین دو پرتو هنگام بازسازی پس از گذر از مسیرها تعیین می‌نماید. مثالی در شکل نشان داده شده است. نور از یک منبع توسط یک عدسی جمع می‌شود و با استفاده از شکاف‌ها به دو باریکه تقسیم می شود. باریکه‌ها از طریق دو مسیر مختلف ارسال می‌شوند و از میان صفحات جبران کننده عبور می‌کنند. آنها توسط عدسی دوم در جایی متمرکز شده که در آن یک الگوی تداخل مشاهده می‌شود، تا اختلاف مسیر نوری از نظر طول
مشاهده می‌شود، تا اختلاف مسیر نوری از نظر طول موج نور را در آن محل تعیین کنند. مزایا و معایب. مزیت تداخل سنج ریلی، ساخت ساده آن است. اشکالاتی که در این زمینه وجود دارد: (الف) برای دید بهتر شیارهای تداخلی نیاز به یک منبع نور نقطه‌ای یا منبع نور خطی دارد، و (ب) شیارها باید با بزرگنمایی زیاد مشاهده شوند.
والنتینو ماکی (؛ – ) بازیگر اهل ایتالیا بود. از فیلم‌هایی که وی در آن نقش داشته‌است می‌توان به "در آخرین لحظه"، "دفتر خاطرات یک دیوانه"، "ستارگان پائین را می‌نگردند"، "صلاح مملکت خویش"، "بیگانه"، "افسون‌شده، "بوکاچو ۷۰"، "سدوم و گمورا"، "ساعت بیست و پنج"، "ساحره‌ها"، "رام کردن زن سرکش"، "بیشتر از یک معجزه"، "ارواح – به سبک ایتالیایی"، "تابلوی خانواده در صحنه‌ای از زندگی روزانه" و "یانکی" اشاره کرد.
فرمان خرابه‌ای (به کردی: فه رمان خه رابه یی، "Ferman xerabeyî"؛ Farman Kharabayi؛ زادهٔ ٢٤ آوریل ۱۹٧۹، کرکوک) عالم اسلامی، نویسنده و متفکر کرد، فقیه، محقق، مترجم، مربی انسان و خودسازی، وی در همه زمینه ها کتاب های چاپی زیادی دارد. زندگی‌نامه. وی در ٢٤ آوریل ۱۹٧۹ در شهر کرکوک متولد شد، وقتی جوان بود به همراه خانواده به شهر اربیل، پایتخت اقلیم کردستان عراق نقل مکان کرد و تحصیلات دانشگاهی و شریعتی خود را در اربیل آغاز کرد، وی تحصیلات خود را در مدارس (حوجره) اربیل ادامه داد تا اینکه موفق به اخذ مدرک علمی شد، وی
ادامه داد تا اینکه موفق به اخذ مدرک علمی شد، وی بنیانگذار بنیاد مهر برای توسعه علوم انسانی و ارزش های انسانی و همچنین بنیانگذار مرکز قلا (به کردی: قهڵا) برای آموزش و به یاد آوردن قرآن است. وی در حال حاضر واعظ مسجد سعید النوری در اربیل است. زندگی علمی. وی مدرک علمی گرفت. وی علوم شریعت را به دست تعدادی از شیوخ تحصیل کرد و سرانجام در علوم دینی و ذهنی شرعی مجوز دریافت کرد این مجوز برای مجوزهای علمی نزد علمای کرد محبوب است و این یک پشتیبانی مستمر بالا مربوط به پیامبر اسلام است. مجوز در کتابها. وی مجوزهای مختلفی
اسلام است. مجوز در کتابها. وی مجوزهای مختلفی را با پشتیبانی مداوم از بسیاری از کتب علوم ، شریعت و حدیث کسب کرد. تالیفات. وی محصولات فکری زیادی از جمله کتاب ، بروشور و مقاله دارد که بیشتر آنها به زبان کردی است.
کتاب الثِقات (راستان) نوشتهٔ ابن حبان یکی از منابع مهم و معتبر در علم رجال (راوی‌شناسی احادیث) یعنی شناخت حال بازگوگران حدیث است. حدیث‌پژوهان و مجتهدان برای بررسی درستی یا ضعف راویان و تشخیص راویان مورد اعتماد از راویان ناتوان یا مردود، به این کتاب مراجعه می‌کنند. نویسنده در آن با دلایل نشان داده که بیان وضعیت راویان ضعیف ضروری است، و به کسانی که این کار را رد می‌کنند، پاسخ داده است. ابن حبان در این کتاب بیست دلیل برای مردود دانستن راوی آورده و همچنین برخی از گونه‌های احادیث راویان مورد اعتماد را نیز ذکر
از گونه‌های احادیث راویان مورد اعتماد را نیز ذکر کرده که با وجود وثاقت راوی، قابل استناد نیستند. کتاب «الثقات» را می‌توان دانشنامه‌ای گسترده از نام‌های راویان حدیث دانست که دربارهٔ آنان داوری‌هایی (چه پذیرفته‌شده و چه محل‌اختلاف) وجود دارد. او در این کتاب به ذکر صحابه و تابعین مورد اعتماد از منظر خویش پرداخته است. او در زمینه توثیق، نزد برخی رجالیون اهل سنت، متهم به تسهیل است. با این حال، وی در این کتاب برخلاف کتاب تاریخ الکبیر خویش، به ذکر تفصیل، مستندات را ذکر نکرده است. این کتاب در میان سال‌های ۱۳۹۳ تا
ذکر نکرده است. این کتاب در میان سال‌های ۱۳۹۳ تا ۱۴۰۳ ه‍. ق، به کوشش سید عزیز بیگ، در حیدرآباد دکن تحقیق و به چاپ رسیده است. روش نویسنده. ابن حبان در این کتاب، بیش از ۴۴۷۵ تن از راویان حدیث را گرد آورده که شامل صحابه، تابعین، تابعینِ تابعین، و کسانی است که از ایشان روایت کرده‌اند. او نام راوی، کسانی که از آن روایت کرده و کسانی که از او روایت کرده‌اند را می‌آورد. با این حال، ابتدای کتاب را به بیش از ۲۴۵ صفحه دربارهٔ رویدادهای سیره نبوی و نام‌های خلفای پس از پیامبر اسلام تا خلافت مطیع عباسی اختصاص داده است.
پیامبر اسلام تا خلافت مطیع عباسی اختصاص داده است. در مقدمه، نویسنده چنین می‌گوید: مؤلف. ابن حبان محدث برجستهٔ سنی مذهب و ایرانی بود که به سال ۹۶۵ میلادی از دنیا رفت. او از استادان برجسته‌اش ابوبکر ابن خزیمه بود و ابوعبدالله حاکم نیشابوری از او روایت کرده است. حاکم نیشابوری در توصیف او آورده است که «او از معادن دانش در فقه، لغت و حدیث بود» همچنین ذهبی درباره‌اش نوشته است: «او امام، علامه، حافظ و شیخ خراسان بود.» پیوند به بیرون. مطالعه کتاب در کتابخانه فقاهت
سلیمان مروزی یکی از بزرگترین متکلمان زمان مأمون بوده‌است. او با علی بن موسی الرضا مناظره‌ای را داشته که مورد توجه کتب شیعی قرار گرفته است. جایگاه علمی. مأمون در چند مورد، سلیمان را بزرگترین متلکم خراسان معرفی می‌کند. آورده‌اند که وی مشهورترین عالم علم کلام در خراسان و در عصر مأمون بود که مأمون نسبت به او ادای احترام می‌کرد. سید محمدتقی مدرسی او را طرفدار فلسفه وارداتی دانسته است. با این حال، او به فلسفه یونان علاقه‌مند بوده است. مناظره با علی بن موسی الرضا. نوفلی نقل می‌کند که مأمون، سلیمان مروزی را دعوت
نوفلی نقل می‌کند که مأمون، سلیمان مروزی را دعوت کرد تا با علی بن موسی الرضا مناظره نماید. سلیمان مروزی، خدمت مأمون رسید و از او خواست تا او را از این مناظره معاف دارد چرا که از خجل شدن علی بن موسی نزد یارانش، شرم دارد. مأمون به او اطمینان می‌دهد که هدف او از این مناظره، محکوم شدم علی بن موسی الرضاست. با این سخن، سلیمان مطمئن می‌شود که باید با او مناظره‌ای ترتیب دهد. با قبول سلیمان؛ مأمون پیکی را نزد علی بن موسی می‌فرستد تا او را به جلسه مناظره دعوت کند؛ علی بن موسی به خادم خود یاسر و عمران صابی که تازه
علی بن موسی به خادم خود یاسر و عمران صابی که تازه مسلمان شده بود و نزد علی بن موسی تلمذ می‌کرد؛ دستور داد تا پیش از او به دربار مأمون بروند و او نیز از پشت خواهد آمد. با رسیدن عمران صابی به دربار مأمون، مأمون پیشنهاد مناظره بین عمران صابی و سلیمان را می‌دهد که قبل از شروع مناظره، علی بن موسی الرضا حاضر در جلسه شده و مناظره وی با سلیمان مروزی آغاز می‌شود. مناظره بر سر موضوع بداء بود که پس از گفتگویی کوتاه، سلیمان اشتباه خود را در قبال انکار مساله بداء پذیرفت. این مناظره مستقلاً و در حضور مأمون و اطرافیانش
این مناظره مستقلاً و در حضور مأمون و اطرافیانش صورت گرفت. همچنین مناظره دیگری با علی بن موسی با موضوع خلقت با سلیمان مروزی گزارش شده است. این مناظره به حدیث سلیمان مروزی شهره است.
علی بن محمد بن جهم یکی از محدثان اهل سنت است که به ناصبی بودن متهم شده‌است. او یکی از مناظره‌کنندگان با علی بن موسی الرضا است. شخصیت. نام کامل او علی بن محمد بن جهم بن بکیر بن اعین شیبانی است، که در آن تردیدهایی مطرح شده‌است. علی بن محمد بن جهم، یکی از اهل سنت مخالف با خاندان بنی‌هاشم بود. در "معجم رجال الحدیث" آمده است که علی بن محمد، پدرش را به جهت نام‌گذاری خود به علی لعن می‌کرد. او از ناصبیان محسوب شده و دشمن اهل بیت پیامبر دانسته شده‌است. صدوق در "عیون اخبارالرضا" از او روایتی را نقل می‌کند که بیانگر
اخبارالرضا" از او روایتی را نقل می‌کند که بیانگر رابطه خوب او با علی بن موسی الرضاست اما صدوق ذیل همان روایت، آن را غریب دانسته و مخالف با گزارشات حاکی بر دشمنی علی بن محمد با خاندان پیامبر معرفی می کند. جامع الرواة نیز همین مطلب را تایید نموده است. مناظره با علی بن موسی الرضا. یکی از مناظرات صورت گرفته در دوران ولایتعهدی علی بن موسی الرضا، مناظره با علی بن محمد بن جهم بود. این مناظره با موضوع عصمت آغاز شد و سرانجام با پذیرش اشتباه از جانب علی بن محمد بن جهم، به پایان رسید.
محافظت در برابر سرریز بافر (به انگلیسی: Buffer overflow protection) یکی از شیوه‌های است که در زمان توسعه نرم‌افزار برای افزایش امنیت برنامه قابل اجرا با شناسایی سرریز شدن بافر در متغیرهای اختصاص شده از پشته استفاده می‌شود. این تکنیک از رفتارهای نادرست برنامه و آسیب پذیری‌های امنیتی جدی جلوگیری می‌کند. سرریز بافر پشته زمانی اتفاق می‌افتد که یک برنامه، اطلاعاتی را در آدرسی از حافظه (معمولاً بافر با طول ثابت)، خارج از ساختمان داده مورد نظر می‌نویسد. اشکال سرریز بافر پشته زمانی اتفاق می‌افتد که یک برنامه حجم
بافر پشته زمانی اتفاق می‌افتد که یک برنامه حجم داده‌ای بیشتر از حجم بافر اختصاص داده شده را در حافظه می‌نویسد. نتیجه این عمل خراب شدن و آسیب دیدن اطلاعات مجاور آن بافر در پشته است و در صورتی که این سرریز به‌طور ناخواسته و بر اساس یک اشتباه به وجود آمده باشد، اغلب باعث می‌شود که برنامه کرش کند، به صورت نادرست رفتار کند یا به منجر به مشکلات امنیتی شود. به طور معمول، محافظت در برابر سرریز شدن، سازمان داده‌های اختصاص داده شده از پشته را تغییر می‌دهد. به عنوان مثال یک مقدار canary به پشته اضافه می‌کند که در
مثال یک مقدار canary به پشته اضافه می‌کند که در زمان سرریز شدن بافر پشته خراب می‌شود که نشان دهنده این است که حافظه دچار سرریز شدن شده است. با اعتبار سنجی مقدار canary، اجرای برنامه تحت تاثیر خاتمه پیدا می‌کند و از اجرای رفتارهای نادرست و همچنین در دست گرفتن کنترل برنامه توسط مهاجم جلوگیری می‌کند. شیوه‌های دیگر محافظت در برابر سرریز بافر شامل و "برچسب گذاری" می‌شود. سرریز بافر در پشته به دلیل داشتن آدرس بازگشت توابع باعث به هم خوردن مسیر اجرای برنامه می‌شود در حالی که در سرریز بافر هیپ این اتفاق کم رنگ تر
در حالی که در سرریز بافر هیپ این اتفاق کم رنگ تر است. با این حال روش‌های پیاده سازی مشابه برای محافظت در برابر سرریز شدن بافر در هیپ وجود دارد. چندین پیاده سازی از محافظت در برابر سرریز بافر شامل مجموعه کامپایلر گنو، LLVM، مایکروسافت ویژوال استودیو و سایر کامپایلرها وجود دارد. بررسی اجمالی. سرریز بافر پشته زمانی اتفاق می‌افتد که یک برنامه، اطلاعاتی را در آدرسی از حافظه (معمولاً بافر با طول ثابت)، خارج از ساختمان داده مورد نظر می‌نویسد. اشکال سرریز بافر پشته زمانی اتفاق می‌افتد که یک برنامه حجم داده ای
پشته زمانی اتفاق می‌افتد که یک برنامه حجم داده ای بیشتر از حجم بافر اختصاص داده شده را در حافظه می‌نویسد. نتیجه این عمل خراب شدن و آسیب دیدن اطلاعات مجاور آن بافر در پشته است و در صورتی که این سرریز به‌طور ناخواسته و بر اساس یک اشتباه به وجود آمده باشد، اغلب باعث می‌شود که برنامه کرش کند یا به صورت نادرست رفتار کند. این نوع سرریز، بخشی از دسته بزرگتری از باگ‌های برنامه‌نویسی به نام سرریز بافر است. سرریز بافر در پشته به دلیل داشتن آدرس بازگشت توابع باعث به هم خوردن مسیر اجرای برنامه می‌شود در حالی که در
هم خوردن مسیر اجرای برنامه می‌شود در حالی که در سرریز بافر هیپ این اتفاق کم رنگ تر است. سرریز بافر پشته می‌تواند منجر به حملات پشته شود. اگر برنامه آسیب دیده با سطح دسترسی خاصی در حال اجرا باشد یا داده‌های ورودی خود را از شبکه‌های نامطمئن دریافت کند (به عنوان مثال یک وب سرور عمومی)، این اشکال یک آسیب پذیری امنیتی بالقوه است که به مهاجم اجازه می‌دهد کدهای قابل اجرا را به برنامه تزریق کند و کنترل روند برنامه را به دست بگیرد. این یکی از قدیمی‌ترین و مطمئن‌ترین روش‌ها برای مهاجمین برای دستیابی دسترسی غیرمجاز
روش‌ها برای مهاجمین برای دستیابی دسترسی غیرمجاز به کامپیوتر است. به طور معمول، محافظت در برابر سرریز بافر، ساختار داده‌های فراخوانی تابع در قاب پشته را برای افزودن مقدار canary تغیر می‌دهد. زمانی که این مقدار تخریب شود نشان دهنده این است که حافظه دچار سرریز بافر شده است و باعث جلوگیری از حملات سرریز بافر می‌شود. تاثیر این شیوه‌ها بر عملکرد برنامه ناچیر است. محافظت از پشته به روش smashing قادر به حفاظت در برابر حملات خاصی نیست. برای مثال، این روش نمی‌تواند در برابر سرریز بافر در هیپ حفاظت کند. هیچ روش
در برابر سرریز بافر در هیپ حفاظت کند. هیچ روش کاربردی برای تغییر طرح داده در یک ساختار وجود ندارد، انتظار می‌رود ساختارها بین ماژول‌ها، به ویژه در کتابخانه‌های مشترک یکسان باشند. محافظت از داده‎ها در ساختار به روش مقدار canary پس از بافر شدن غیرممکن است. بنابراین، برنامه‌نویسان باید در سازماندهی متغیرها و ساختار آن‌ها دقت کافی را داشته باشند. Canaries. مقدار canary بین بافر و کنترل داده در پشته برای رصد کردن سرریز پشته قرار می‌گیرد. در زمان سرریز بافر، معمولاً اولین داده‌ای که خراب می‌شود مقدار canary است.
اولین داده‌ای که خراب می‌شود مقدار canary است. پس از خرابی مقدار canary هشدار سرریز بافر منتشر می‌شود و سپس می‌توان این خطا را مدیریت کرد. به عنوان مثال می‌توان داده‌های خراب شده را اعتبار زدایی کرد. مقدار canary نباید با مقدار سینتیل اشتباه گرفته شود. سه نوع مقدار canary وجود دارد. خاتمه دهنده، تصادفی، تصادفی XOR. نسخه فعلی StackGuard از هر سه نوع پشتیبانی می‌کند در حالی که ProPolice صرفاً از نوع خاتمه دهنده و تصادفی پشتیبانی می‌کند. canaryهای خاتمه‌دهنده. canaryهای خاتمه‌دهنده از این مشاهدات استفاده
canaryهای خاتمه‌دهنده از این مشاهدات استفاده می‌کنند که بیشتر حملات سرریز بافر براساس عملیات‌های خاص رشته‌ای هستند که در خاتمه‌دهنده‌های رشته‌ها هستند. واکنش این مشاهده این است که canaryها از خاتمه‌دهنده‌های تهی، CR، LF و -1 ایجاد شده است. در نتیجه، مهاجم باید قبل از آدرس بازگشت یک مقدار تهی بنویسد تا از تغییر canary جلوگیری کند. این کار از وقوع حملات با تابع codice_1 و سایر روش‌هایی که به محض کپی کردن، یک کاراکتر تهی برمی‌گردانند جلوگیری می‌کند، در حالی که نتیجه نامطلوب این است که canary شناخته می‌شود.
که نتیجه نامطلوب این است که canary شناخته می‌شود. حتی با این محافظت، مهاجم می‌تواند مقدار canary را با مقدار دلخواه خود جایگزین کند و کنترل داده‌ها را با مقادیر ناسازگار در دست بگیرد. canaryهای تصادفی. این مقدار بصورت تصادفی تولید می‌شود تا مقدار آن از دید مهاجمین مخفی بماند. معمولاً، خواندن این مقدار بصورت منطقی امکان پذیر نیست. این مقدار امن را صرفاً کسانی می‌دانند که (مثلاً کد حفاظت در برابر سرریز بافر) نیاز است. به طور نرمال، canary تصادفی در ابتدای شروع برنامه تولید می‌شود و در یک متغیر سراسری ذخیره
برنامه تولید می‌شود و در یک متغیر سراسری ذخیره می‌شود. این متغیر معمولاً توسط داده‌های بدون نقشه پر شده است، بنابراین تلاش برای خواندن آن از حافظه RAM سخت خواهد شد. این مقدار ممکن است هنوز قابل خواندن باشد، اگر مهاجم بتواند این مقدار را بخواند، می‌تواند برنامه در حال اجرا از پشته بخواند. XOR canaryهای تصادفی. XOR canary تصادفی، canaryهای تصادفی هستند که با همه یا بخشی از داده‌های کنترلی XOR شده‌اند. در این روش، زمانی که مقدار canary یا داده‌های کنترلی تغییر می‌کنند، مقدار canary اشتباه می‌شود. XOR
تغییر می‌کنند، مقدار canary اشتباه می‌شود. XOR canaryهای تصادفی، آسیب پذیری مشابه canary تصادفی را بجز "خواندن از پشته" دارند. در این روش خواندن از پشته کمی سخت‌تر و پیچیده‌تر شده است. مهاجم برای خنثی سازی محافظت باید مقدار canary، الگوریتم و داده‌های کنترلی را برای بدست آوردن canary اصلی داشته باشد. اگرچه این canaryها از داده‌های کنترلی در برابر تغییر توسط اشاره‌گرها محافظت می‌کند، آن‌ها از بقیه داده‌ها یا خود اشاره‌گرها محافظت نمی‌کنند. بخصوص اشاره‌گرهای توابع در اینجا مشکل ایجاد می‌کنند، آن‌ها می‌توانند
در اینجا مشکل ایجاد می‌کنند، آن‌ها می‌توانند سرریز شوند و در زمان فراخوانی shellCode اجرا کنند. بررسی کردن مرزها. بررسی مرزها یک شیوه مبتنی بر کامپایلر است که اطلاعات مرزها را در زمان اجرا برای هر بلوک اختصاص داده شده از حافظه اضافه می‌کند و همه اشاره‌گرها در مقابل آن‌ها در زمان اجرا بررسی می‌کند. برای C و C++ بررسی مرزها می‌تواند در زمان محاسبات یا ارجاع مجدد انجام شود. پیاده‌سازی این روش به دو روش زیر انجام می‌شود. برچسب زدن. برچسب زدن یک روش مبتنی بر کامپایلر یا سخت افزار (نیازمند معماری برچسب خورده)
یا سخت افزار (نیازمند معماری برچسب خورده) برای برچسب زدن نوع یک قطعه از داده در حافظه است که معمولاً برای بررسی نوع آن استفاده می‌شود. با علامت گذاری ناحیه مشخصی از حافظه به عنوان غیرقابل اجرا، بطور موثر از ذخیره کد قابل اجرا در حافظه جلوگیری می‌کند. همچنین ناحیه‌ای از حافظه را میتوان به عنوان غیر تخصیص یافته علامت گذاری کرد و از سرریز بافر جلوگیری نمود. از جنبه تاریخی، از برچسب زدن برای پیاده سازی زبان‌های برنامه نویسی سطح بالا استفاده شده است. با پشتیبانی مناسب از سمت سیستم عامل‌ها، از برچسب‌ها برای
مناسب از سمت سیستم عامل‌ها، از برچسب‌ها برای شناسایی سرریز بافر نیز استفاده می‌شود. نمونه آن ویژگی سخت افزاری NX bit است که توسط پردازندههای Intel ، AMD و ARM پشتیبانی می‌شود. پیاده سازی‌ها. مجموعه کامپایلر گنو (GCC). محافظت از پشته بصورت smashing برای اولین بار توسط StackGuard در سال 1997 پیاده سازی و در سال 1998 توسط سمپوزیوم امنیتی USENIX منتشر شد. StackGuard یک سری وصله برای اینتل x86 که پس زمینه GCC 2.7 بود معرفی کرد. StackGuard برای توزیع لینوکس Immunix از سال 1998 تا 2003 نگهداری شد و با
Immunix از سال 1998 تا 2003 نگهداری شد و با پیاده‌سازی‌های canary خاتمه‌دهنده، تصادفی و XOR تصادفی توسعه یافت. StackGuard در سال 2003 پیشنهاد اضافه شدن به GCC نسخه 3.x را مطرح کرد، اما این هرگز محقق نشد. از سال 2001 تا 2005، IBM وصله‌هایی برای GCC به منظور محافظت از پشته بصورت smashing توسعه داد و آن را به نام ProPolice معرفی کرد. ProPolice ایده StackGuard را با قرار دادن بافرها بعد از اشاره‌گرهای محلی و پارامترهای توابع در فریم پشته بهبود داد. این کار به اجتناب از خرابی اشاره‌گرها و جلوگیری از دسترسی به
اجتناب از خرابی اشاره‌گرها و جلوگیری از دسترسی به حافظه کمک می‌کند. مشکلات رد هات مشکلاتی را در ProPolice شناسایی کردند و در سال 2005 این شیوه را برای گنجاندن در GCC 4.1 بازنویسی کردند. در این بازنویسی پرچم‌های زیر معرفی شدند. در سال 2012 مهندسان گوگل پرچم -fstack-protector-strong را برای حفظ تعادل بین امنیت و کارایی برنامه پیاده‌سازی کردند. این پرچم از آسیب پذیری‌های توابع بیشتری نسبت به پرچم -fstack-protector محافظت می‌کند (ولی نه همه توابع) و کارایی بیشتری نسبت به پرچم -fstack-protector-all دارد. این
نسبت به پرچم -fstack-protector-all دارد. این پرچم از GCC نسخه 4.9 در دسترس است. تمامی بسته‌های فدورا از نسخه 5 با پرچم -fstack-protector و از نسخه 20 با پرچم -fstack-protector-strong کامپایل شده است. بیشتر بسته‌ها در اوبونتو از نسخه 6.10 با پرچم -fstack-protector کامپایل شده‌اند. همه بسته‌های آرچ لینوکس از سال 2011 با پرچم -fstack-protector و از سال 2014 با پرچم -fstack-protector-strong کامپایل شده‌اند. محافظت از پشته فقط برای بعضی از بسته‌های Debian استفاده می‌شود. محافظت از پشته در برخی از سیستم عامل‌های
می‌شود. محافظت از پشته در برخی از سیستم عامل‌های خاص از جمله OpenBSD ،Gentoo Gentoo و DragonFly BSD استاندارد است. StackGuard و ProPolice نمی‌توانند در برابر سرریز بافر در ساختارهای اختصاص یافته خودکار که درون اشاره‌گرهای توابع سرریز می‌شوند، محافظت کنند. در ProPolice ترتیب تخصیص ساختارها قبل از اشاره‌گرهای توابع مجدداً تنظیم می‌شوند. روش‌های جداگانه برای محافظت از اشاره گر در PointGuard و Microsoft Windows موجود است. مایکروسافت ویژوال استدیو. مجموعه کامپایلرهای مایکروسافت محافظت از سرریز بافر را از سال
مایکروسافت محافظت از سرریز بافر را از سال 2003 در خط فرمان، سوئیچ پیاده سازی نمود. این سوئیچ از نسخه منتشر شده در سال 2005 بصورت پیشفرض فعال است. برای غیرفعال کردن آن می‌توان از استفاده کرد. کامپایلر IBM. محافظت در برابر سرریز شدن پشته توسط پرچم کامپایلر codice_2 فعال می‌شود. Clang / LLVM. زبان C از سه تشخیص دهنده سرریز بافر زیر پشتیبانی می‌کند: این سیستم‎ها دارای تفاوت‌هایی در عملکرد، سربار حافظه و کلاس تشخیص باگ هستند. محافظت از پشته در برخی از سیستم عامل‌های خاص از جمله OpenBSD استاندارد است. کامپایلر
خاص از جمله OpenBSD استاندارد است. کامپایلر اینتل. کامپایلرهای C و C++ اینتل از محافظت از پشته به روش smashing شبیه گزینه‌های مشابه ارائه شده توسط GCC و مایکروسافت ویژوال استدیو پشتیبانی می‌کند. Fail-Safe C. "Fail-Safe C یک کامپایلر ANSI C حافظه-امن متن باز است که بررسی مرزها را بر اساس نشانگرهای fat و دسترسی شی گرا به حافظه انجام می‌دهد." StackGhost (مبتنی بر سخت افزار). StackShost یک روش ساده برای برای ثبت نشست پنجره/پر کردن روال‌ها است که باعث می‌شود بهره‌برداری از سرریز بافر سخت‌تر شود. این روش از یک
از سرریز بافر سخت‌تر شود. این روش از یک ویژگی منحصر به فرد در معماری Sun Microsystems SPARC برای تشخیص تغییرات اشاره‌گرهای بازگشت استفاده می‌کند. بدین ترتیب در این روش نیاز به تغییر سورس برنامه نیست و این محافظ بصورت خودکار تمام برنامه را محافظت می‌کند. تاثیر این روش بر کارایی برنامه ناچیز و در حدود یک درصد می‌باشد. این روش پس از بهینه سازی و رفع اشکالات در OpenBSD / SPARC ادغام شد. مثال از canary. تخصیص بافر معمولی برای معماری‌های x86 و سایر معماری‌های مشابه در سرریز بافر نشان داده شده است. در اینجا ما
در سرریز بافر نشان داده شده است. در اینجا ما فرایند تغییر یافته را به صورتی که به StackGuard مربوط می‌شود را نشان خواهیم داد. زمانی که یک تابع فراخوانی می‌شود، یک فریم شته ایجاد می‌شود. یک فریم پشته از انتهای حافظه تا ابتدا آن ساخته شده است. هر فریم پشته در بالای پشته قرار داده می‌شود که نزدیکترین به ابتدا حافظه است. بنابراین، اجرای قطعه آخر از داده‌ها در یک فریم پشته، داده‌های قبلی که قبلاً وارد فریم پشته شدند را تغییر می‌دهد و اجرای انتها یک فریم پشته داده‌ها در فریم پشته قبلی قرار می‌دهد. یک فریم پشته
در فریم پشته قبلی قرار می‌دهد. یک فریم پشته معمولی ممکن است به شکل زیر باشد: در C، یک تابع ممکن است شامل ساختارهای مختلف داده به ازای هر فراخوانی باشد. هر قطعه از داده‌ها که در فراخوانی ایجاد می‌شود به ترتیب در پشته قرار می‌گیرد، بنابراین از انتها تا ابتدا حافظه مرتب می‌شوند. در زیر یک تابع فرضی و فریم پشته آن وجود دارد. int foo() { int a; /* integer */ int *b; /* pointer to integer */ char c[10]; /* character arrays */ char d[3]; b = &amp;a; /* initialize b to point to location of a */ strcpy(c,get_c());