تیم امنیت سایبری حامیان ولایت

اللهم إیّاک نعبد و إیّاک نستعین

تیم امنیت سایبری حامیان ولایت

اللهم إیّاک نعبد و إیّاک نستعین

تیم  امنیت سایبری حامیان ولایت

تیم امنیت سایبری حامیان ولایت در سال 1392 فعالیت خود را در زمینه های هک و امنیت آغاز کرد و به زودی به کمک کاربران فعال و مدیران لایق یکی از بزرگ ترین انجمن های هک و امنیت ایران خواهد شد . تیم امنیت سایبری ولایت فقط جهت اشنایی و بالا بردن سطح اطلاعات هم وطنان عزیزمان در زمینه ی هک و امنیت و طبق قوانین جمهوری اسلامی ایران فعالیت میکند. گروه ما از همین جا اعلام می دارد که هدف ما ارتقای امنیت سایت های ایرانی است وبه هیچ عنوان به سایت های ایرانی حمله نخواهیم کرد و هرگونه حمله ای بنام تیم ما، مورد تایید گروه ما نیست.

پیوندهای روزانه

بافر معمولا به بخشی از حافظه کامپیوتر گفته می شود که موقتا برای ذخیره داده های یک برنامه مورد استفاده قرار می گیرد. معمولا داده ها پس از ورود از دستگاه ورودی و قبل از ارسال به دستگاه خروجی داخل بافر قرار می گیرند. CPU در داخل بافر تغییرات لازم را روی داده ها اعمال کرده و آنها را به دستگاه مقصد هدایت می کند. سرریز بافر همواره به عنوان یک مشکل در سیستمها و برنامه های نرم افزاری مطرح بوده است. یکی از اولین نفوذهای کامپیوتری که با استفاده از سرریز بافر انجام شد کرم Morris بود که در نوامبر سال 1988 منتشر شد. این کرم با استفاده از یک سرریز بافر در سرویس finger که سرویسی برای توزیع اطلاعات میان کاربران متصل به یک سیستم یونیکس است کار خود را انجام می داد. امروزه نیز سرریز بافر یکی از عوامل مطرح در نفوذها می باشد.
اما سرریز بافر چیست و اگر مساله سرریز بافر به خوبی فهمیده شده و راه حلهای آن مشخص است، چرا هنوز به عنوان یکی از اصلی ترین منشاءهای آسیب پذیریها به شمار می رود؟ و در نهایت کاربران برای جلوگیری از سوء استفاده افراد مهاجم از سرریز بافر چه کاری می توانند انجام دهند؟ اینها سوالاتی است که سعی می کنیم در این مقاله به آن پاسخ دهیم.


1- سرریز بافر چیست؟

اجازه بدهید با یک مثال شروع کنیم. سرریز بافر مانند این است که 10 کیلو شکر را در ظرفی بریزیم که گنجایش 5 کیلو شکر داشته باشد! زمانی که ظرف پر می شود، طبیعتا بقیه شکرها از ظرف بیرون می ریزد و مجبورید آن را جمع کنید.

سرریز بافر ممکن است در اثر این رخ دهد که نویسنده یک برنامه کامپیوتری در خطوطی از برنامه اندازه حافظه مقصد را به درستی چک نکرده باشد. اگر داده ها بزرگتر از حافظه ای باشند که برنامه به آنها تخصیص داده است، سرریزی رخ می دهد که نیازمند توجه کاربر کامپیوتر یا administrator سیستم است. تا اینجا به نظر می رسد که سرریز بافر مشکل بی ضرری است.

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

در میان اطلاعات از دست رفته، بافرهای برنامه های دیگر، متغیرها و داده های برنامه و فهرست منظم شده زیرروالهایی قرار دارد که تا زمان رخ دادن سرریز توسط برنامه فراخوانی شده اند. علاوه بر این، اطلاعات ارسال شده به این زیرروالها نیز از دست رفته اند. این بدان معناست که برنامه راهی برای برگشت به زیرروالهایی که برای تکمیل کار خود به آنها نیاز دارد پیدا نمی کند. این موضوع درست مانند وقتی است که شما در یک بیابان راه می روید و برای برگشت به ردپای خود تکیه می کنید. اگر طوفان شن رخ دهد، شما مسیر برگشت را از دست داده و گم خواهید شد. به همین دلیل معمولا برنامه ها یک آدرس بازگشت برای خودشان در نظر می گیرند که در صورت بروز چنین مشکلی جایی برای برگشت داشته باشند.

اما در حقیقت مساله بدتر از این است که یک برنامه راه خود را گم کرده باشد. سرریز بافر هدف مورد علاقه هکرهاست. بسیاری از اصلاحیه هایی که برای نرم افزارهای مختلف ارائه می شود مربوط به همین مساله است. سرریز بافر می تواند برای اجرای کدهای خرابکار مورد استفاده قرار گیرد. یک فرد نفوذگر، با استفاده از یک اسکریپت خرابکار بافر را سرریز می کند و سپس به برنامه ای که دنبال راه بازگشت می گردد می گوید که دستور مورد نظر وی را انجام دهد. در نتیجه برنامه کاری را که نفوذگر می خواهد انجام می دهد نه کاری را که برنامه نویس خواسته است. درست مانند اینکه زمانی که شما در یک بیابان قدم می زنید، نه تنها یک طوفان شن ردپای شما را محو کند، بلکه یک نفر با ایجاد ردپای جعلی شما را به جایی که خود می خواهد راهنمایی کند.
به همین دلیل سرریز بافر عامل بسیاری از آسیب پذیریهاست و منشاء بسیاری از سوء استفاده ها به شمار می رود. معمولا افراد نفوذگر یک نرم افزار را طوری دوباره برنامه ریزی می کنند که برنامه جدیدی را اجرا کند. برای مثال یک فرد نفوذگر می تواند یک برنامه جدید را شروع کند که فایلهای محرمانه مانند فایلهای کلمات عبور را از طریق ایمیل برای وی ارسال کند. حملات مربوط به سرریز بافر معمولا از برنامه ای که منتظر ورود داده توسط کاربر است سوء استفاده می کنند.

فرض کنید که برنامه ای منتظر باشد تا کاربر نام خود را وارد نماید. ولی به جای اینکه کاربر نامش را وارد کند، هکر یک دستور اجرایی را وارد می کند که باعث سرریز بافر می شود. در نتیجه برنامه نمی تواند کار خود را ادامه دهد. حالا برنامه به دنبال یک راه بازگشت می گردد. زمانیکه برنامه برای دریافت داده از ورودی آماده می شود آدرسی برای بازگشت خود ذخیره می کند. اینجاست که هکر وارد عمل شده و آدرس بازگشت برنامه را با آدرس یک دستور خرابکار جا به جا می کند. در نتیجه پس از وقوع سرریز، برنامه به سراغ دستور خرابکار رفته و آن را اجرا می کند. از طرفی از آنجایی که این دستور توسط این برنامه اجرا می شود، اغلب با اولویت همان برنامه نیز اجرا می گردد و در نتیجه فرد هکر کنترل سیستم عامل را به دست می گیرد.


2- به عنوان یک کاربر خانگی چه کاری در مورد سرریز بافر می توانیم انجام دهیم؟

از آنجاییکه سرریز بافر یک مشکل برنامه نویسی است، حل قطعی آنها فقط با تغییر کد برنامه ممکن است. به احتمال قریب به یقین شما کد نرم افزاری را که اجرا می کنید در اختیار ندارید و علاوه بر آن علاقه ای هم به بر عهده گرفتن مسوولیت رفع هر مشکل سرریز بافر ندارید.

بهترین کاری که می توانید انجام دهید این است که وب سایتهای مربوط به سیستم عامل و نرم افزارهای خود را کنترل کنید و هر زمان که اصلاحیه جدیدی ارائه شد، آن را دریافت و نصب کنید. البته این کار ممکن است کمی خطر داشته باشد. چرا که نصب اصلاحیه یک نرم افزار می تواند باعث ایجاد اخلال در کار یک نرم افزار دیگر شود و تا زمانی که اصلاحیه را نصب نکرده اید این موضوع روشن نمی شود. بنابراین قبل از نصب اصلاحیه یک نرم افزار، راه از کار انداختن اصلاحیه را نیز بدانید تا در صورت لزوم راه بازگشت داشته باشید.

اما تا زمانیکه تولید کننده نرم افزار اصلاحیه آن را ارائه دهد شما باید راهی برای رهایی از سرریز بافر پیدا کنید. اگر می توانید موقتا استفاده از این نرم افزار را کنار را بگذارید، حتما این گزینه را انتخاب کرده و نرم افزار را از روی سیستم خود پاک کنید. بدیهی است که هرچه راه کمتری برای نفوذ وجود داشته باشد احتمال نفوذ نیز کمتر می شود.

اگر نمی توانید نرم افزار را پاک کنید و افراد دیگری نیز به صورت اشتراکی از آن استفاده می کنند، باید استفاده از آن را از طریق کنترل دسترسی محدود نمایید. با استفاده از خصوصیات سیستم عامل خود، کاربرانی را که اجازه دسترسی به این برنامه و استفاده از آن را دارا هستند مشخص کنید. گروهی از کاربران مورد اعتماد ایجاد کنید و مجوزهای لازم و مناسب را به افراد گروه بدهید. هر نوع سیستم ثبت کردن (logging) و نظارتی را در کامپیوتر خود فعال کنید تا در صورت لزوم امکان بررسی و ردیابی استفاده از نرم افزارها و سوء استفاده احتمالی را داشته باشید.

اگر یک نرم افزار سرویسی مانند سرویس وب را برای شبکه ارائه دهد، ممکن است قادر به محدود کردن دسترسی به آن نباشید. ممکن است مجبور باشید تا زمان رسیدن اصلاحیه با این مشکل بسازید. در این صورت باید بین خطر نفوذ به سیستم خود و ضرری که در نتیجه از کار انداختن برنامه ایجاد می شود تصمیم گیری کنید و کاری را که به نفع شماست انجام دهید.

بنابراین می توان گفت که سرریز بافر می تواند باعث شود که نرم افزاری که در حال اجراست قدرت تصمیم گیری خود را از دست بدهد و توسط مهاجمین مورد سوء استفاده قرار گیرد. این مساله قابل اصلاح است و تا زمانی که اصلاح شود، می توان نرم افزار مزبور را از روی کامپیوتر پاک کرد و یا اینکه خطر نفوذ را پذیرفت و به کار با آن ادامه داد.


منبع:

http://www.cert.org


نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی