آخرین اخبار و مقالات و مطالب پیرامون سرعت دیسک در ایران آی سی تی نیوز ، پایگاه فناوری اطلاعات و ارتباطات ایران
بر روی این دامنه اینترنتی سیستم مدیریت محتوا
پارس سی ام اس
نصب شده است که نرم افزاری قوی جهت طراحی سایت
می باشد. طراحی وب
با استفاده از پرتال
( پورتال
) پارس منجر به طراحی وب سایت
شما می شود. طراحی وب سایت
کپی رایت پورتال
پارس
یکی از مشکلات امنیتی که در بعضی از نرم افزارها مشاهده می شود، سرریزی بافر یا buffer overflow است. سرریزی بافر عموما در زمان اجرا و بسته به ورودی های مختلف برنامه رخ می دهد و حتی می تواند به هکرها کمک کند تا برنامه را تغییر داده و کدهای مخرب در آن وارد کنند. در این مقاله قصد داریم این موضوع را بررسی کنیم و ببینیم سرریزی بافر چیست و چه زمانی اتفاق می افتد.
بافر چیست؟ بافر، حافظه موقتی است که به صورت نرم افزاری و سخت افزاری پیاده سازی می شود، در روش سخت افزاری مثل بافر کیبورد، اطلاعات کلیدهایی که شما روی صفحه کلید فشار داده اید در جایی ذخیره می شود و سیستم عامل آنها را می خواند و پردازش می کند. بافر نرم افزاری به دو صورت قابل پیاده سازی است. 1 در سطح سیستم عامل: سیستم عامل مقداری از حافظه را جهت بافرکردن به خود اختصاص می دهد. این حافظه برای یکسان سازی سرعت دیسک سخت و پردازشگر استفاده می شود. 2 در سطح نرم افزار کاربردی: این حافظه را ما به عنوان برنامه نویس تعریف می کنیم تا امور مختلفی را انجام دهیم. قطعه کد زیر را در نظر بگیرید: void overflow_function (char *str){ char buffer[10]; strcpy(buffer, str); } int main(){ char big_string[14]; strcpy(big_string,"bufferoverflow"); overflow_function(big_string); return 0; } از لحاظ قواعد گرامری این قطعه کد درست است و باید بدون اشکال کار کند اما در زمان اجرا، خطای در حال اجرا صادر خواهد شد با این مضمون: stack around the variable ‘buffer’ was corrupted بسیار خب، این خطا به ما می گوید که متغیر بافر خراب شده است. بیایید ببینیم این کد دقیقا چه کار می کند: ابتدا یک متغیر از نوع رشته به طول 14کاراکتر تعریف کرده و مقدار bufferoverflow را با استفاده از دستور strcpy در آن کپی می کنیم. تا اینجا مشکل خاصی نیست و کد درست است. حال مقدار big_string به تابع overflow_function پاس داده می شود. این تابع سعی دارد مقدار big_string که به آن داده شده است را درbuffer کپی کند اما این عمل ناموفق می ماند و در نتیجه برنامه خطا می دهد. چرا خطا می دهد؟ این تابع می خواهد مقدار 14کاراکتر را در یک رشته 10کاراکتری کپی کند، طبیعی است که این کار را نمی تواند درست انجام دهد، برای همین خطا صادر می شود. کمی دقیق تر به مساله نگاه می کنیم: وقتی تابع overflow_function فراخوانی می شود آدرس برگشت به تابع فراخواننده در ثبات sp قرار می گیرد. سپس این تابع سعی می کند مقدار 14کاراکتر را در 10کاراکتر کپی کند و این عمل با موفقیت انجام می شود. فرض کنید بافر در 10خانه اول بعد از آدرس 100h قرار داد و ثبات sp مقدار خانه 10dh را به عنوان آدرس برگشتی تابع overflow_function در خود دارد. حال مقدار 14کاراکتر در متغیر بافر، کپی می شود و در نتیجه خانه های 100h تا 10eh بازنویسی می شوند و سپس کار تابع به پایان می رسد و سیستم عامل قصد دارد با استفاده از آدرس ذخیره شده در sp به فراخواننده تابع overflow_function بر گردد اما از آن جایی که آدرس 10dh بازنویسی شده است، پردازشگر نمی تواند دستوری را اجرا کند و خطای bufferoverflow صادر می شود. خب، هکرها با استفاده از همین خطا به سیستم های دیگران حمله می کنند. آنها یکسری دستورات به زبان اسمبلی می نویسند که در اصطلاح به آنها shellcode یا exploit گفته می شود. به مثال بالا برمی گردیم، فرض کنید به جای مقدار “bufferoverflow” یک شل کد به تابع overflow_function داده شود. وقتی کار تابع تمام شد، پردازشگر به آدرس 10dh می رود. مقدار این آدرس دیگر یک مقدار نامعتبر نیست بلکه به یک قطعه کد اشاره دارد و پردازشگر، آن قطعه کد را اجرا می کند و سبب می شود برنامه اصلی، کار خودش را درست انجام ندهد . این یک روش برای سوءاستفاده از سرریزی است. روش دیگر دسترسی به بخش های محرمانه حافظه است که اطلاعات اساسی سیستم در آن قرار دارد. هکر با تزریق کد خود به برنامه می تواند به بخش های محرمانه حافظه دسترسی پیدا کند و اطلاعات حیاتی سیستم را مورد سو ءاستفاده قرار دهد.
چگونه جلوی سرریزی را بگیریم؟ تنها کاری که لازم است انجام دهیم، بررسی مقادیر ورودی برنامه است تا دقیقا مطابق با اندازه متغیر داده ها درون آن ریخته شوند. به طور مثال؛ کد بالا را با تغییر کوچکی اصلاح می کنیم و از سرریزی بافر جلوگیری می کنیم. کد بازنویسی شده به صورت زیر خواهد بود: void overflow_function (char *str){ char buffer[10]; strncpy(buffer, str,10); } int main(){ char big_string[14]; strncpy(big_string,"bufferoverflow",14); overflow_function(big_string); return 0; }
امیربهاالدین سبط الشیخ
... از محاسن دیگر این فناوری امکاناتی از قبیل سادگی امکان افزایش سرعت انتقال اطلاعات از این طریق و امکان استفاده از کابل های بلندتر است ... تکنولوژی overspeedبا استفاده از این تکنولوژی حتی اگر حداکثر سرعت دیسک نوری کمتر از درایو باشد، عملیات ضبط اطلاعات با حداکثر سرعت درایو انجام می شود ... سری جدید دی وی دی رایترهای ال جی قادر هستند با سرعت بالاتری از حداکثر سرعت دیسک، عملیات ضبط اطلاعات را انجام دهند ... تکنولوژی auto write strategyهر نوع اطلاعاتی که در انواع dvd و cd موجود است از قبیل مارک، سرعت و ... با استفاده از این تکنولوژی، امکان شناسایی انواع دیسک های نوری فراهم می شود که این امر، سبب ارتقای کیفیت عملیات حین ضبط اطلاعات خواهد شد ...
... عملیات جابه جایی (swapping) عملیاتی است که یک صفحه از حافظه به روی یک فضای از پیش تعیین شده در دیسک سخت منتقل می شود ... در مقایسه با حافظه اصلی، دیسک ها خیلی کندتر هستند ... سرعت حافظه اصلی در مقیاس نانوثانیه است و سرعت دیسک ها در مقیاس میلی ثانیه، بنابراین دسترسی به دیسک ده هزار برابر کندتر از دسترسی به حافظه اصلی خواهد بود ... گاهی اوقات که سیستم بسیار کند می شود، یک صفحه به دیسک می رود و سریع تر به دیسک باز می گردد ... (سرعت آن بسیار پایین می آید) در این حالت بهترین کار این است که حافظه رم را بیشتر کنید ... پارتیشن بخش مستقلی از دیسک سخت است که به طور خاص برای سواپ کردن استفاده می شود؛ هیچ فایل دیگری در آن بخش قرار نمی گیرد ... بنابراین با دسترسی روت وارد شوید و دستور زیر را بنویسید: fdisk -l /dev/hdb توجه داشته باشید که /dev/hdb را با دستگاه روی دیسک خود عوض کنید ... بنابراین استفاده از حافظه سواپ توصیه می شود، به خصوص به این دلیل که دیسک های سخت خیلی ارزان هستند ...
... در این سیستم به جای آنکه کارتها از دستگاه کارت خوان مستقیما وارد حافظه گردند و توسط cpu پردازش شوند ابتدا کاراکتر به کاراکتر در بافری در حافظه قرار گرفته و سپس به صورت بلوکی بر روی دیسک نوشته می شود ... وقتیکه برنامه کاربر اجرا می شود و از سیستم عامل تقاضای ورودی می کند، اطلاعات ورودی به صورت بلوکی و با سرعت زیاد از دیسک خوانده می شوند ... به طور مشابه هنگامی که برنامه برای خروجی چاپگر را احضار می کند، خط خروجی در یک بافر کپی شده و سپس در دیسک نوشته می شود ... پس اطلاعات خروجی از دیسک بر اساس ترتیب و اولویت در چاپگر چاپ می شوند ... در اسپولینگ برنامه عملیات ورودی و خروجی اش را متناسب با سرعت دیسک (که سریع است) انجام می دهد و نه متناسب با سرعت کارتخوان یا چاپگر (که خیلی کند هستند) ... بنابراین سیستم مذکور باعث استفاده بهینه از cpu و سایل i\o می شود و سرعت عمل را بالا می برد ... بلوک دیاگرام یک سیستم اسپولینگ می تواند به صورت زیر باشد: 1-سیستم ورودی کاراکترهایی که توسط کارتخوان وارد می شود را در بلوکهایی جمع آوری کرده وبه کمک مدیر دیسک این بلوکها را بر روی دیسک می نویسد ... درانتهای هر مدرک ورودی اطلاعاتی راجع به آن مدرک (مانند محل آن بر روی دیسک، اولویت،اسم استفاده کننده) به قسمت زمانبند کار فرستاده می شود ... برای این منظور اطلاعاتی در مورد محل کار و مدارک ورودی آن بر روی دیسک را به پردازنده کار می دهد ...
... دیسک های وضعیت جامد (solid state drives )، نوعی از دیسک های سخت هستند که از حافظه وضعیت پایا (solid state memory) برای ذخیره دایم داده ها استفاده می کنند ... دیسک جامد رابطی مانند دیسک سخت را شبیه سازی می کند، به همین جهت به سادگی می توان در بسیاری از نرم افزارها آنها را جایگزین کرد ... در معماری اولین دیسک های جامد، که در سرورهای ibm و amdahl به کار می رفت، از نیمه هادی ها به جای لامپ های خلاء الکترونی استفاده شده بود ... دیسک های جامد که امروزه با حضور نوت بوک های کوچک کاربرد بیشتری پیدا کرده اند، مصرف برق کمتری دارند ... اما سرعت انتقال اطلاعات شان نسبت به دیسک های سخت پایین تر است ... اما با توجه به این که هیچ بخش متحرکی همچون دیسک های سخت ندارند، در هنگام خواندن داده و همچنین سرعت دسترسی و جستجوی داده، سرعت کمتری نسبت به دیسک های سخت دارند ... امروزه دیسک های جامد دو نوع معماری دارند: 1– معماری برمبنای فلشدیسک های مبتنی بر این معماری فضای کمی را اشغال می کنند و نیازی به باتری ندارند ... فلش دیسک ها که امروزه استفاده از آنها بسیار متداول شده است، بر مبنای همین معماری ساخته می شوند ... این نوع دیسک ها هنوز از دیسک های مبتنی بر معماری dram کندتر عمل می کنند، اما عملکردشان از دیسک های سخت قدیمی بهتر است ... این نوع دیسک های جامد از دو مولفه جانبی بهره می برند:حافظه نهان cache :) فلش دیسک ها از میزان کمی حافظه سریع dram به عنوان حافظه نهان استفاده می کند ...
... شرکت sharkoon از ساخت محصول جدیدی با نام quickport duo خبر داده است که به شما اجازه می دهد به صورت همزمان از دو دیسک سخت خارجی 5/2 یا 5/3 اینچی sata استفاده کنید ... این دستگاه کوچک به کاربر امکان می دهد تا با انجام یک فرآیند ساده که برای نصب یک دیسک سخت خارجی در رایانه طی می شود، از فضای داخلی هر دو دیسک در رایانه خود استفاده کند ... دستگاه FL_81474_LF کوییک پورت دیو که بر اساس اندازه دیسک های سخت قابلیت پذیرش دو دیسک به صورت همزمان را دارد، به یک سطح پوششی مخصوص مجهز شده است تا زمانی که قصد استفاده از یک دیسک سخت خارجی را دارید، امکان ورود گرد و غبار به دستگاه غیرممکن شود ... این دستگاه دو دکمه کوچک دارد که با فشردن هر یک از آنها می توانید دیسک های سخت را از آن خارج کنید ... این دستگاه از طریق ورودی usb به رایانه متصل می شود و سرعت انتقال اطلاعات آن با سرعت دیسک های سخت جدید داخلی برای رایانه ها برابری می کند ...
... شرکت سامسونگ اعلام کرد که نسل جدید دیسک های فلاش خود را با حجم 256 گیگابایت و با سرعت 2 4 برابر دیسک های فعلی تا پایان سال جاری عرضه می کند ... به گزارش خبرگزاری مهر این شرکت کره ای در یک گردهمایی اعلام کرد که دیسک های فلاش در حالت جامد 256 گیگابایتی خود را تا پایان سال جاری وارد بازار می کند ... این دو عنصر مهم موجب می شود که سرعت این دیسک ها sata ii سطحی » هزینه کمتری دارند ... این بدان معنی است که سرعت دیسک های جدید سامسونگ 2 4 برابر نمونه های فعلی است ... به گفته مقامات سامسونگ این دیسک تحولی در عرصه حافظه های حالت جامد به شمار می رود ...
... محصول جدید "اپل" دارای سه پورت "یو اس پی"، پورت "فایروایر "800 و پورت "فایروایر "400 بوده و سرعت دیسک گردان نوری آن نیز در مقایسه با نمونه قبلی دو برابر شده است ... "مک بوک" جدید "اپل" از کارت گرافیکی قدرتمند "رادئون اکس "1600 ساخت شرکت "ای تی آی" برخوردار بوده و دارای دو گیگابایت حافظه "رم" و همچنین یک هارد دیسک 120 گیگابایتی است ...
... شرق - گرچه دیجیتالی شدن داده ها و اطلاعات یکی از بزرگترین موهبت های عصر ما است به طوری که نقل و انتقال و ویرایش این داده ها به شکل شگفت آوری متحول شده است، از جمله اینکه حجم بسیار زیادی از اطلاعات در حجم بسیار کوچکی قابل ذخیره شده و جابه جایی آن از طریق انواعی از ابزارهای الکترونیکی از سی دی گرفته تا حافظه های قابل حمل که در میان مردم به کول دیسک یا فلش مموری معروف شده یا منشی های دیجیتالی شخصی _ معروف به pda- یا کامپیوترهای همراه بسیار آسان شده است اما هر موهبتی در این دنیا محدودیت های خاص خود را دارد ... اکنون سرعت دیسک گردان ها 10 هزار دور در دقیقه شده است (300 برابر دیسک گردان های ویدیویی با سرعت lp) یعنی همه این دیسک گردان ها با سرعت 100 کیلومتر در ساعت به عقب و جلو می رود ...
|
صفحه 1
|
|