Payamvdn/NorthPersian_fa_wiki huggingface dataset:
ری های مغزی کمک کنند. کرم الگانس (به انگلیسی :Caenorhabditis elegans). اتصال مدار عصبی برای حساسیت به لمس نماتد ساده در سال ۱۹۸۵ نقشه برداری شد و در سال ۱۹۹۳ تا حدی شبیه سازی شد. از سال ۲۰۰۴، بسیاری از شبیه سازی های نرم افزاری از سیستم عصبی و عضلانی کامل از جمله شبیه سازی محیط فیزیکی کرم ساخته شده اند. برخی از این مدل ها برای بارگیری در دسترس قرار گرفته اند. با این وجود، هنوز درک نشده است که چگونه سلولهای عصبی و اتصالات بین آنها طیفی از رفتارهای شگفت آور پیچیده ای را ایجاد می کنند که در ارگانیسم نسبتاً ساده مشاهده می شوند. این تقابل بین سادگیِ ظاهریِ چگونگیِ تعامل نورون های نگاشته شده با همسایگان خود و پیچیدگی بسیارِ عملکرد کلی مغز، نمونه ای از یک ویژگی خاص است. این ویژگی در حال ظهور در شبکه های عصبی مصنوعی به صورت موازی است، که نورون های آن در مقایسه با خروجی های پیچیده و انتزاعیشان بسیار ساده هستند. سیستم عصبی دروسوفیلا. مغز مگس میوه (به انگلیسی ) نیز به طور کامل مورد مطالعه قرار گرفته است؛ یک مدل شبیه سازی شده از مغز مگس میوه، الگویی بی نظیر از نورون های خواهر و برادر را ارائه می دهد. نگاشت و شبیه سازی مغز
موش. هنری مارکرام () انواع نورون های موجود در مغز موش و ارتباط آنها را بین سالهای ۱۹۹۵ و ۲۰۰۵ نقشه برداری کرد. در دسامبر سال ۲۰۰۶، پروژه مغز ابی شبیه سازی موش صحرایی را به پایان رساند. ستون نئوکورتیکی کوچکترین واحد عملکردی در نظر گرفته می شود. نئوکورتکس بخشی از مغز است که تصور می شود وظایف مرتبه بالاتر مانند خودآگاهی را بر عهده دارد و شامل ۱۰۰۰۰ نورون در مغز موش (و ۸^۱۰ سیناپس) است. در نوامبر سال ۲۰۰۷، اولین مرحله پروژه به پایان رسید و یک فرایند داده محور را برای ایجاد، اعتبارسنجی و تحقیق در ستون نئوکورتیکال ارائه شد. یک شبکه عصبی مصنوعی که به عنوان «به اندازه نیمی از مغز موش» بزرگ و پیچیده توصیف شده است، در سال ۲۰۰۷ در یک ابر رایانه Blue توسط تیم تحقیقاتی دانشگاه نوادا اجرا شد. هریک ثانیه از زمان شبیه سازی، ده ثانیه از زمان کامپیوتر طول کشید. محققان ادعا کردند که محرکات عصبی «سازگار با بیولوژیک» را مشاهده می کنند که در درون قشر مجازی جریان می یابند. با این حال، شبیه سازی فاقد ساختارهایی است که در مغز موش واقعی دیده می شود که در پی آن محققان قصد دارند دقت مدل های نورون و سیناپس را بهبود ببخشند. مغز آبی و موش
. مغز آبی پروژه ای است که در ماه مه ۲۰۰۵ توسط IBM و آزمایشگاه فناوری فدرال سوئیس در لوزان آغاز به کار کرد. هدف از این پروژه ایجاد شبیه سازی رایانه ای از ستون قشر پستانداران تا سطح مولکولی بود. این پروژه از یک ابر رایانه مبتنی بر طرح ژن های آبی IBM برای شبیه سازی رفتار الکتریکی نورون ها بر اساس اتصال سیناپسی و نفوذپذیری یون آنها استفاده می کند. این پروژه درنظر دارد تا درنهایت بینشهایی مربوط به شناخت انسان و اختلالات روانپزشکی مختلف ناشی از نورون های ناقص مانند اوتیسم را آشکار سازد و چگونگی اثرعوامل دارویی بر رفتار شبکه را کشف کند. پروژهٔ مغز انسان. پروژه مغز انسان یک برنامه تحقیقی ۱۰ ساله است که منابع ان توسط اتحادیه اروپا تأمین می شود. این کار در سال ۲۰۱۳ آغاز شد و حدود ۵۰۰ دانشمند در سراسر اروپا را استخدام کرد. این پروژه شامل ۶ بستر می باشد: بستر شبیه سازی مغز وسیله ای برای ابزارهای قابل دسترسی به اینترنت است که امکان انجام تحقیقاتی را که در آزمایشگاه امکان پذیر نمی باشند، میسر می کند. آنها در حال اعمال تکنیک های مغز آبی در مناطق دیگر مغز مانند مخچه، هیپوکامپ و گانگلیون پایه هستند. شبیه سازی مغز متن باز. مدل
های مغز به عنوان نرم افزار متن باز () منتشر شده اند و در سایت هایی مانند در دسترس هستند. اینها شامل کرم الگانس، مگس میوه و مدل های مغز انسان الیسیا و اسپان که مبتنی برمعماری نرم افزار ، بزرگترین مدل عملکردی مغز در جهان، می باشند. نمایشگاه پروژه پروژه آبی نشان می دهد که چگونه می توان مدل ها و داده های این پروژه را به و (مدل های شبکه عصبی پایتون) تبدیل کرد.
محافظت در برابر سرریز بافر (به انگلیسی: Buffer overflow protection) یکی از شیوه های است که در زمان توسعه نرم افزار برای افزایش امنیت برنامه قابل اجرا با شناسایی سرریز شدن بافر در متغیرهای اختصاص شده از پشته استفاده می شود. این تکنیک از رفتارهای نادرست برنامه و آسیب پذیری های امنیتی جدی جلوگیری می کند. سرریز بافر پشته زمانی اتفاق می افتد که یک برنامه، اطلاعاتی را در آدرسی از حافظه (معمولاً بافر با طول ثابت)، خارج از ساختمان داده مورد نظر می نویسد. اشکال سرریز بافر پشته زمانی اتفاق می افتد که یک برنامه حجم داده ای بیشتر از حجم بافر اختصاص داده شده را در حافظه می نویسد. نتیجه این عمل خراب شدن و آسیب دیدن اطلاعات مجاور آن بافر در پشته است و در صورتی که این سرریز به طور ناخواسته و بر اساس یک اشتباه به وجود آمده باشد، اغلب باعث می شود که برنامه کرش کند، به صورت نادرست رفتار کند یا به منجر به مشکلات امنیتی شود. به طور معمول، محافظت در برابر سرریز شدن، سازمان داده های اختصاص داده شده از پشته را تغییر می دهد. به عنوان مثال یک مقدار canary به پشته اضافه می کند که در زمان سرریز شدن بافر پشته خراب می شود که نشان دهنده ای
ن است که حافظه دچار سرریز شدن شده است. با اعتبار سنجی مقدار canary، اجرای برنامه تحت تاثیر خاتمه پیدا می کند و از اجرای رفتارهای نادرست و همچنین در دست گرفتن کنترل برنامه توسط مهاجم جلوگیری می کند. شیوه های دیگر محافظت در برابر سرریز بافر شامل و "برچسب گذاری" می شود. سرریز بافر در پشته به دلیل داشتن آدرس بازگشت توابع باعث به هم خوردن مسیر اجرای برنامه می شود در حالی که در سرریز بافر هیپ این اتفاق کم رنگ تر است. با این حال روش های پیاده سازی مشابه برای محافظت در برابر سرریز شدن بافر در هیپ وجود دارد. چندین پیاده سازی از محافظت در برابر سرریز بافر شامل مجموعه کامپایلر گنو، LLVM، مایکروسافت ویژوال استودیو و سایر کامپایلرها وجود دارد. بررسی اجمالی. سرریز بافر پشته زمانی اتفاق می افتد که یک برنامه، اطلاعاتی را در آدرسی از حافظه (معمولاً بافر با طول ثابت)، خارج از ساختمان داده مورد نظر می نویسد. اشکال سرریز بافر پشته زمانی اتفاق می افتد که یک برنامه حجم داده ای بیشتر از حجم بافر اختصاص داده شده را در حافظه می نویسد. نتیجه این عمل خراب شدن و آسیب دیدن اطلاعات مجاور آن بافر در پشته است و در صورتی که این سرریز به طور
ناخواسته و بر اساس یک اشتباه به وجود آمده باشد، اغلب باعث می شود که برنامه کرش کند یا به صورت نادرست رفتار کند. این نوع سرریز، بخشی از دسته بزرگتری از باگ های برنامه نویسی به نام سرریز بافر است. سرریز بافر در پشته به دلیل داشتن آدرس بازگشت توابع باعث به هم خوردن مسیر اجرای برنامه می شود در حالی که در سرریز بافر هیپ این اتفاق کم رنگ تر است. سرریز بافر پشته می تواند منجر به حملات پشته شود. اگر برنامه آسیب دیده با سطح دسترسی خاصی در حال اجرا باشد یا داده های ورودی خود را از شبکه های نامطمئن دریافت کند (به عنوان مثال یک وب سرور عمومی)، این اشکال یک آسیب پذیری امنیتی بالقوه است که به مهاجم اجازه می دهد کدهای قابل اجرا را به برنامه تزریق کند و کنترل روند برنامه را به دست بگیرد. این یکی از قدیمی ترین و مطمئن ترین روش ها برای مهاجمین برای دستیابی دسترسی غیرمجاز به کامپیوتر است. به طور معمول، محافظت در برابر سرریز بافر، ساختار داده های فراخوانی تابع در قاب پشته را برای افزودن مقدار canary تغیر می دهد. زمانی که این مقدار تخریب شود نشان دهنده این است که حافظه دچار سرریز بافر شده است و باعث جلوگیری از حملات سرریز بافر می
شود. تاثیر این شیوه ها بر عملکرد برنامه ناچیر است. محافظت از پشته به روش smashing قادر به حفاظت در برابر حملات خاصی نیست. برای مثال، این روش نمی تواند در برابر سرریز بافر در هیپ حفاظت کند. هیچ روش کاربردی برای تغییر طرح داده در یک ساختار وجود ندارد، انتظار می رود ساختارها بین ماژول ها، به ویژه در کتابخانه های مشترک یکسان باشند. محافظت از داده‎ها در ساختار به روش مقدار canary پس از بافر شدن غیرممکن است. بنابراین، برنامه نویسان باید در سازماندهی متغیرها و ساختار آن ها دقت کافی را داشته باشند. Canaries. مقدار canary بین بافر و کنترل داده در پشته برای رصد کردن سرریز پشته قرار می گیرد. در زمان سرریز بافر، معمولاً اولین داده ای که خراب می شود مقدار canary است. پس از خرابی مقدار canary هشدار سرریز بافر منتشر می شود و سپس می توان این خطا را مدیریت کرد. به عنوان مثال می توان داده های خراب شده را اعتبار زدایی کرد. مقدار canary نباید با مقدار سینتیل اشتباه گرفته شود. سه نوع مقدار canary وجود دارد. خاتمه دهنده، تصادفی، تصادفی XOR. نسخه فعلی StackGuard از هر سه نوع پشتیبانی می کند در حالی که ProPolice صرفاً از نوع خاتمه
دهنده و تصادفی پشتیبانی می کند. canaryهای خاتمه دهنده. canaryهای خاتمه دهنده از این مشاهدات استفاده می کنند که بیشتر حملات سرریز بافر براساس عملیات های خاص رشته ای هستند که در خاتمه دهنده های رشته ها هستند. واکنش این مشاهده این است که canaryها از خاتمه دهنده های تهی، CR، LF و -1 ایجاد شده است. در نتیجه، مهاجم باید قبل از آدرس بازگشت یک مقدار تهی بنویسد تا از تغییر canary جلوگیری کند. این کار از وقوع حملات با تابع codice_1 و سایر روش هایی که به محض کپی کردن، یک کاراکتر تهی برمی گردانند جلوگیری می کند، در حالی که نتیجه نامطلوب این است که canary شناخته می شود. حتی با این محافظت، مهاجم می تواند مقدار canary را با مقدار دلخواه خود جایگزین کند و کنترل داده ها را با مقادیر ناسازگار در دست بگیرد. canaryهای تصادفی. این مقدار بصورت تصادفی تولید می شود تا مقدار آن از دید مهاجمین مخفی بماند. معمولاً، خواندن این مقدار بصورت منطقی امکان پذیر نیست. این مقدار امن را صرفاً کسانی می دانند که (مثلاً کد حفاظت در برابر سرریز بافر) نیاز است. به طور نرمال، canary تصادفی در ابتدای شروع برنامه تولید می شود و در یک متغیر سراسری ذخیره
می شود. این متغیر معمولاً توسط داده های بدون نقشه پر شده است، بنابراین تلاش برای خواندن آن از حافظه RAM سخت خواهد شد. این مقدار ممکن است هنوز قابل خواندن باشد، اگر مهاجم بتواند این مقدار را بخواند، می تواند برنامه در حال اجرا از پشته بخواند. XOR canaryهای تصادفی. XOR canary تصادفی، canaryهای تصادفی هستند که با همه یا بخشی از داده های کنترلی XOR شده اند. در این روش، زمانی که مقدار canary یا داده های کنترلی تغییر می کنند، مقدار canary اشتباه می شود. XOR canaryهای تصادفی، آسیب پذیری مشابه canary تصادفی را بجز "خواندن از پشته" دارند. در این روش خواندن از پشته کمی سخت تر و پیچیده تر شده است. مهاجم برای خنثی سازی محافظت باید مقدار canary، الگوریتم و داده های کنترلی را برای بدست آوردن canary اصلی داشته باشد. اگرچه این canaryها از داده های کنترلی در برابر تغییر توسط اشاره گرها محافظت می کند، آن ها از بقیه داده ها یا خود اشاره گرها محافظت نمی کنند. بخصوص اشاره گرهای توابع در اینجا مشکل ایجاد می کنند، آن ها می توانند سرریز شوند و در زمان فراخوانی shellCode اجرا کنند. بررسی کردن مرزها. بررسی مرزها یک شیوه مبتنی بر کامپا
یلر است که اطلاعات مرزها را در زمان اجرا برای هر بلوک اختصاص داده شده از حافظه اضافه می کند و همه اشاره گرها در مقابل آن ها در زمان اجرا بررسی می کند. برای C و C++ بررسی مرزها می تواند در زمان محاسبات یا ارجاع مجدد انجام شود. پیاده سازی این روش به دو روش زیر انجام می شود. برچسب زدن. برچسب زدن یک روش مبتنی بر کامپایلر یا سخت افزار (نیازمند معماری برچسب خورده) برای برچسب زدن نوع یک قطعه از داده در حافظه است که معمولاً برای بررسی نوع آن استفاده می شود. با علامت گذاری ناحیه مشخصی از حافظه به عنوان غیرقابل اجرا، بطور موثر از ذخیره کد قابل اجرا در حافظه جلوگیری می کند. همچنین ناحیه ای از حافظه را میتوان به عنوان غیر تخصیص یافته علامت گذاری کرد و از سرریز بافر جلوگیری نمود. از جنبه تاریخی، از برچسب زدن برای پیاده سازی زبان های برنامه نویسی سطح بالا استفاده شده است. با پشتیبانی مناسب از سمت سیستم عامل ها، از برچسب ها برای شناسایی سرریز بافر نیز استفاده می شود. نمونه آن ویژگی سخت افزاری NX bit است که توسط پردازندههای Intel ، AMD و ARM پشتیبانی می شود. پیاده سازی ها. مجموعه کامپایلر گنو (GCC). محافظت از پشته بصورت smas
hing برای اولین بار توسط StackGuard در سال 1997 پیاده سازی و در سال 1998 توسط سمپوزیوم امنیتی USENIX منتشر شد. StackGuard یک سری وصله برای اینتل x86 که پس زمینه GCC 2.7 بود معرفی کرد. StackGuard برای توزیع لینوکس 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 دارد. این پرچم از 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 استاندارد است. کامپایلر اینتل. کامپایلرهای 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()); /* get c from somewhere, write it to c */ *b = 5; /* the data at the point in memory b indicates is set to 5 */ strcpy(d,get_d()); return *b; /* read from b and pass it to the caller */ در این وضعیت فرضی، اگر بیش از ده بایت در آرایه c، یا بیش از 13 بایت در آرایه کاراکتری d نوشته شود، مازاد آن در اشاره گر عدد صحیح b، سپس در عدد صحیح a، پس از آن در دستورات کنترلی و در نهایت در آدرس بازگشت سرریز می شود. با بازنویسی b، اشاره گر می تواند به مکانی از حافظه اشاره کند و در نتیجه هر آدرس دلخواهی از حافظه را بخواند. با بازنویسی RETA، تابع می تواند کد دیگری را اجرا کند (در زمانی که قصد بازگشت دارد). این کد می تواند از بین توابع موجود، یا کدهای نوشته شده در پشته در زمان سرریز باش
د. به طور خلاصه، مدیریت ضعیف متغیرهای d و c، مانند فراخوانی strcpy در بدون تعیین مرز بالا، می تواند به مهاجمین اجازه دهد برنامه را با مقادیر منتسب شده در c و d بطور مستقیم کنترل کند. هدف از محافظت در برابر سرریز بافر، شناسایی این مشکلات با کمترین هزینه می باشد. این کار با حذف مقادیر مضر غیر ضروری یا افزودن canary بعد از بافر انجام می شود. محافظت در برابر سرریز بافر در کامپایلر پیاده سازی می شود. به این ترتیب، برای محافظت می توان ساختار داده را در فریم پشته تغییر داد. این کار دقیقاً همان چیزی است که در سیستم هایی مانند ProPolice انجام می شود. برای امن کردن تابع بالا، ترتیب زیر بصورت خودکار تنظیم می شود: آرایه c و d در ابتدا فریم پشته قرار می گیرند که در نتیجه اعداد صحیح a و b قبل از آن ها در حافظه قرار می گیرند. بنابراین فریم پشته به شکل زیر می شود. حفاظت از سرریز بافر به عنوان تغییری در کامپایلر اجرا می شود. به این ترتیب ، برای محافظت می توان ساختار داده را در قاب پشته تغییر داد. این دقیقاً در سیستم هایی مانند "ProPolice رخ می دهد" . متغیرهای خودکار تابع بالا را بخواهند صفحاتی دوباره مرتب با خیال راحت تر است:
آرایه ها و برای اولین بار در قاب پشته اختصاص داده، که مکان صحیح و اشاره گر عدد صحیح قبل از آنها در حافظه است. بنابراین قاب پشته می شود از آنجا که انتقال CTLI یا RETA بدون تغییر سورس کد غیرممکن است، روش دیگری قابل استفاده می باشد. یک قطعه اطلاعات اضافی به نام canary (CNRY) پس از بافر در فریم پشته قرار می گیرد. زمانی که بافر سرریز می شود، مقدار canary تغییر می کند. بنابراین، برای یک حمله موثر به برنامه، مهاجم باید مقدار canary را دست نخورده باقی بگذارد. فریم پشته بصورت زیر است. در انتهای هر تابع یک دستوالعمل وجود دارد که اجرای برنامه را از آدرس مشخص شده در RETA ادامه می دهد. قبل از اجرای این دستورالعمل، مطمئن می شویم که مقدار CNRY تغییر نکرده باشد. در صورتی که این تست با خطا روبرو شود، اجرای برنامه سریعاً متوقف می شود. در اصل، هر دو حمله عمدی و اشکالات برنامه نویسی سهوی منجر به قطع برنامه می شوند. روش canary قبل از هر اختصاص پویای بافر و بعد از هر جداسازی پویای بافر یکسری دستورالعمل سربار اضافه می کند. سربار تولید شده در این روش قابل توجه نیست. تا زمانی که این مقدار تغییر نکند برنامه کار می کند. اگر مهاجم بدان
د canary وجود دارد، مقدار آن چیست و موقعیت آن کجاست، می تواند مقدار آن را بدون تغییر نگه دارد. معمولاً این کار دشوار است. موقعیت قرارگیری مقدار canary در پیاده سازی مشخص می شود، اما همیشه بین بافر و داده های محافظت شده قرار دارد. موقعیت و طول های متفاوت دارای مزایایی نیز هستند. منابع. &lt;references group="" responsive="0"&gt;
کپی برابر اصل با نام اولیهٔ برابر با اصل، یک مجموعهٔ تلویزیونی محصول سال ۱۳۹۳ به نویسندگی و کارگردانی و تهیه کنندگی سیدجلال الدین دری و احسان نیلی است که در آبان ۱۳۹۳ از شبکه یک تلویزیون و در سال ۱۳۹۶ از شبکه آی فیلم پخش شد. این مجموعه در ۱۴ قسمت ۴۰ دقیقه ای تولید شده است. خلاصه داستان. «مسعود یاوری» جاعل حرفه ایی است که به قصد انتقام گیری از یک سردفتر (آقای گوهری) به جعل اسناد مشغول می شود. «یاوری» نسبت فامیلی دوری با «گوهری» دارد و از آنجا که در گذشته قصد کلاهبرداری از این دفتر را داشته و موفق نشده، تصمیم به انتقام می گیرد. به همین دلیل با طرح نقشه ای، کارآموزی را وارد دفتر می کند تا بتواند از این طریق انتقام بگیرد و… بازیگران. بازیگران اصلی این سریال عبارتند از:
«بهتر نیست» ترانه ای از خواننده نیوزیلندی لرد است که از نسخه چند آهنگه اولین آلبوم استودیویی اش "قهرمان محض" (۲۰۱۳) گرفته شده است. این ترانه در تاریخ ۱۳ دسامبر ۲۰۱۳ به عنوان ابزار تبلیغاتی برای این آلبوم توسط گروه موسیقی یونیورسال منتشر شد. «بهتر نیست» نوعی الکتروپاپ و تریپ هاپ با عناصر هیپ هاپ است که در آن لرد دربارهٔ شیفتگی بحث می کند. منتقدان موسیقی ابراز داشتند که این ترانه دارای سبک موسیقی مشابه با آهنگهای "قهرمان محض" است.
ماهواره پروتون مدلی از ماهواره های رصد زمین و متعلق به شوروی بود. حداکثر جرم این کلاس از ماهواره ها حدود ۱۷ تن بود. چهار ماهواره پروتون بین سالهای ۱۹۶۵ تا ۱۹۶۸ به مدار زمین پرتاب شد و هدف از ارسال آن ها بررسی ذرات دارای انرژی های زیاد و فوق العاده زیاد بود.
درد خیالی یا درد فانتوم (به انگلیسی: ) احساسی است یک شخص در رابطه با اندام یا عضوی که به طور فیزیکی جزئی از بدن نیست، تجربه می کند. از دست دادن اندام می تواند یا نتیجهٔ قطع شدن عضو یا نقص خدادادی اندام باشد. با این وجود، احساس اندام خیالی می تواند به دنبال جدا شدگی عصبی یا آسیب نخاعی نیز رخ دهد. بیشتر احساساتی خیالی که ثبت شده اند بعد از قطع شدن یک بازو یا یک پا بوده اند، اما ممکن است به دنبال از بین بردن پستان، دندان یا اندام داخلی نیز رخ دهد. درد اندام خیالی، احساس کردن دردی است که در اندام غایب یا بخشی از اندام رخ می دهد. احساس درد در افراد متفاوت است. احساس اندام خیالی هر پدیده حسی (به جز درد) است که در یک اندام غایب یا بخشی از اندام احساس می شود. بر اساس شناخته ها، حداقل ۸۰٪ از افراد قطع عضو شده در زمانی از دوران زندگی شان احساس خیالی را تجربه می کنند. بعضی از این افراد سطحی از این درد خیالی را تجربه می کنند و این حس را در اندام از دست رفته تا آخر عمر احساس می کنند.تاکنون درمان قطعی برای درد اندام فانتوم یافت نشده است و روش های درمانی استفاده شده بهبود قابل توجهی از خود نشان نداده اند. اصطلاح اندام خیالی
نخستین بار توسط متخصص اعصاب و روان آمریکایی سایلس ویر میچل () در سال ۱۸۷۱ ابداع شد. میچل توضیح داد «هزاران اندام روحی (اشاره به اندام خیالی) وجود دارند که سربازان خوب را اذیت می کنند وهر از گاهی آنها را عذاب می دهند». اگر چه اولین بار، در سال ۱۵۵۱، جراح نظامی فرانسه، آمبرویز پاره، اولین مستندات مربوط به درد اندام خیالی با گزارش اینکه «بیمارانی هستند که مدت طولانی پس از قطع عضو، می گویند که آنها هنوز هم در قسمت قطع عضو احساس درد می کنند» ثبت کرد. علائم و نشانه ها. درد خیالی شامل احساساتی از درد است که در قسمتی از بدن که قطع عضو شده یا به نوعی از بین رفته حس می شود. علائم آن عبارتند از: اوج درد در چند روز اول قطع عضو. یا به صورت مقطعی می باشد و گاهی اوقات درد وجود دارد و گاهی اوقات وجود ندارد یا اینکه به صورت مداوم وجود دارد. اغلب دورترین بخش از اندام قطع شده را بیشتر تحت تأثیر قرار می دهد، مانند نوک پای یک ران قطع شده را تحت تأثیر قرار می دهد. ممکن است با توصیفاتی نظیر تیر کشیدن، احساس چاقو خوردن، خسته کننده، فشار آور یا سوزناک توصیف شود. گاهی اوقات احساس می شود که اندام خیالی در حالت ناخوشایند و دردناکی قرار
دارد. ممکن است با فشار به قسمت باقی مانده از آن اندام یا فشارهای روحی این درد تشدید شود. انواع. انواع مختلفی از این احساسات وجود دارند که ممکن است حس شوند: آسیب شناسی. همهٔ اساس عصبی و مکانیزم های درد اندام خیالی از نظریه ها و مشاهدات تجربی گرفته شده است. شناخت کمی دربارهٔ مکانیزم واقعی ایجاد درد خیالی وجود دارد، و بسیاری از نظریه ها همپوشانی دارند. در گذشته تصور می شد که دردهای خیالی، ناشی از نوروماهای واقع در مکان قطع عضو هستند. نوروماهای آسیب زا، یا آسیب های عصبی غیر توموری، غالباً ناشی از جراحی ها و ناشی از رشد غیرطبیعی فیبرهای عصبی آسیب دیده است. اگرچه نوروماهای قطع شده به دردهای خیالی کمک می کنند، اما این تنها علت نیست. این امر به این دلیل است که بیماران مبتلا به نقص عضو مادرزادی می توانند گاهی اوقات، هرچند به ندرت، دردهای خیالی را تجربه کنند. این نشان می دهد که بازنمایی مرکزی اندام، عامل این احساسات دردناک است. در حال حاضر، تئوری ها بر اساس مسیرهای عصبی تغییر یافته و سازماندهی مجدد قشری است. مکانیزم های مربوط به دستگاه عصبی پیرامونی. نوروماهایی که در انتهای عصب مجروح در محل بریده شده ایجاد می شوند، قا
در به تولید غیرطبیعی پتانسیل عمل هستند و در گذشته تصور می شد که علت اصلی دردهای اندام خیالی است. اگرچه نوروماها می توانند در بروز دردهای خیالی نقش داشته باشند، اما حتی با استفاده از داروهای مسدود کننده هدایت در دستگاه عصبی پیرامونی، درد کاملاً از بین نمی رود. تحریک فیزیکی نوروما می تواند فعالیت را افزایش دهد، در نتیجه باعث افزایش درد خیالی می شود، اما درد همچنان بعد از اینکه نوروماها ایجاد پتانسیل عمل را متوقف کردند نیز ادامه پیدا می کند. به نظر می رسد دستگاه عصبی پیرامونی نهایتاً در حد ماژوله کردن روی درد اثر می گذارد. مکانیزم ستون فقرات. علاوه بر مکانیزم های مربوط به دستگاه عصبی پیرامونی، مکانیسم های ستون فقرات نقش تأثیرگذاری در دردهای خیالی دارند. آسیب عصب پیرامونی می تواند منجر به تخریب فیبرهای C در (به انگلیسی: Dorsal Horn) نخاع شود و در نتیجهٔ آن فیبرهای A ممکن است در همان لایه شاخه خاتمه یابند. اگر این اتفاق بیفتد، ورودی فیبر A را می توان به عنوان محرک های مضر گزارش کرد. ماده P، درگیر در انتقال سیگنال های درد، معمولاً توسط الیاف Aδ و C بیان می شود، اما بعد از آسیب اعصاب دستگاه عصبی پیرامونی، ماده P توس