Real Time Web Analytics پرسش و پاسخ Elam

امنیت

Tenex چیست؟

نویسنده : پدرام رضایی
تاریخ انتشار:
07:27:11 1395-03-28
یکی از مشهورترین سیستم عامل ها برای PDP در 10 سیستم است

یکی از مشهورترین سیستم عامل ها برای PDP در 10 سیستم می باشد.برای زمان هایی یک سیستم پیشرفته با خصوصیات نوآورانه بود. یکی از جذاب ترین مشخصه ها در معماری کامپیوتر حافظه ی مجازی بوده است که برای مبادله ی شفاف داده از حافظه ای خاص به دیسک سخت در نظر گرفته می شد. در این مقاله قصد داریم درباره ی Tenex  برای شما توضیح دهیم پس با این مقاله ی لرن روت همراه باشید.

این باعث می شود که سیستم بهتر اجرا شود و برنامه ها با هم به راحتی اجرا شوند و با حافظه کار کنند. اگر یک برنامه دیده نشود یا به عبارتی اجرا نشود مقداری از دادهایش روی دیسک داده می شود و حافظه به برنامه ای که نیاز بیشتری به آن دارد داده می شود.وقتی یک تکه از حافظه روی دیسک نوشته می شود گفته می‌شود که آن صفحه یا تکه ی حافظه PageOut شده است و وقتی یک برنامه به آن حافظه نیاز داشته باشد آن داده ی آن صفحه که همان Pageout است متوقف می شود و به عنوان خوانده شده بازگشت میکند که به آن Pagefault میگویند.

هکرها با استفاده از این Pagefult توانستند راهی پیدا کنند. از آنجایی که زمانی هاردها گران و کند بودند از لحاظ زمان پردازنده ای زمان زیادی طول میکشید تا داده از روی دیسک خوانده شود. یک عملیات تابع حدود 200 میکروثانیه طول میکشد تا کامل شود و 200 میکرو ثانیه طول می‌کشد اگر یک Pagefault در وسط تابع وجود داشته باشد.

حال هکرها توانستند با اندازه گیری زمان دقیقی که طول میکشد تا پسورد چک شود به طور دقیقی پسورد را حدس بزنند.

به این صورت که سیستم برای چک کردن پسورد ورودی سیستم هر کاراکتر را با پسوردی که کاربر ذخیره کرده مقایسه میکند و اگر کاراکتر مطابقت نکند یک خطا رخ میدهد شبیه تکه کد زیر:

int i;
for( i=0; i < 8; i++ ) {
if( stored_password[i] != trial_password[i] ) break;
}
if( i < 8 ) return( ERROR );

این کد به سادگی میگوید هر 8 کاراکتر رمز trial با رمز اصلی چک میشود و اگر یکی از کاراکترهایی که ما به عنوان ورودی وارد کرده ایم با پسورد یکی نبود حلقه نقض میشود. و اگر خطایی رخ نداد یعنی پسوردی که ما وارد کرده ایم درست است. اگر بخواهیم از این طریق عمل کنیم که باید هر 2 به توان 64 حال ممکن برای پسورد را چک کنیم که غیر منطقی به نظر میرسد. حال برای جلوگیری از امتحان کردن خیلی از پسوردها مهاجم عملی را انجام میدهد برای این کار مهاجم یک پسورد را در جایی که دو چانک حافظه ادغام میشوند قرار میدهد. حال مهاجم با یک برنامه فقط قسمت اول پسورد را روی صفحه ی اول قرار میدهند و بقیه ی پسورد را روی صفحه ی دوم حافظه قرار می دهند و سپس تقاضای بررسی پسورد آزمایشی را میدهند و محاسبه میکنند که چقدر طول میکشد. امتیاز این کار در این است که اگر اولین کاراکتر اشتباه بود سیستم بعد از خواندن اولین کاراکتر در اولین صفحه شکست می خورد و رمز زیر سیستم نیاز نداشت تا کاراکتر دوم تا هشتم را چک کند و صفحه ی دوم را از دیسک بارگذاری نمیکرد. حال اگر سیستم یک PageFault را در خواندن پسورد آزمایشی آن ها تولید نکند پس اولین کاراکتر یکه حدس زده اند اشتباه است. حال این روند را تکرار می کنند تا Pagefault رخ دهد و نشان دهد که انه کاراکتر را در اولین موقیعت پسورد یافته اند. این تکنیک برای هفت کاراکتر باقی مانده ی پسورد نیز کار میکند به وسیله ی ذخیره کردن قسمت های مختلف پسورد آزمایشی روی صفحات مختلف. حال هکرهای tenex توانسته اند کل پسورد را در کمتر از 2 به توان 64 حدس بزنند به وسیله ی استفاده از Timing Attack بر خلاف آزمایش پسورد نخست با اولین کاراکتر بر روی اولین صفحه ی حافظه، سپس با دو کاراکتر در صفحه ی اول و به همین ترتیب ادامه دهد تا به پسورد اصلی برسد.

برچسب ها:
مقالات مشابه