مجموعه ها


پربازدیدترین مطالب

گوشی گم شده خود را صدا بزنید، جواب می دهد بررسی حملات تزریق SQL یا SQL INJECTION و مقابله با آن در PHP و ASP.NET گوشی گمشده خود را با Android Device Manager پیدا کنید از تصویر گوشی اندرویدی خود خسته شده اید؟ بررسی حملات سرقت نشست Session Hijacking و راههای مقابله با آن بررسی حملات تزریق کد XSS یاCSS و مقابله با آن در PHP و ASP.NET حملات محرومیت از سرویس DOS و DDOS - بخش اول اجرای کدهای مخرب در سمت سرور یا Remote Code Execution حملات محرومیت از سرویس DOS و DDOS - بخش دوم از همه جای دنیا به کامپیوتر خود وصل شوید.

آخرین مطالب

5 نکته و ترفند در جستجو با گوگل که باید بدانید از همه جای دنیا به کامپیوتر خود وصل شوید. از گوشی خود پرینت بگیرید اجرای کدهای مخرب در سمت سرور یا Remote Code Execution امنیت فایل های موقت یا Security For Temporary Files بررسی حملات سرقت نشست Session Hijacking و راههای مقابله با آن بررسی حملات تزریق SQL یا SQL INJECTION و مقابله با آن در PHP و ASP.NET بررسی حملات تزریق کد XSS یاCSS و مقابله با آن در PHP و ASP.NET حملات محرومیت از سرویس DOS و DDOS - بخش دوم حملات محرومیت از سرویس DOS و DDOS - بخش اول

چرا امنیت مطلق در کامپیوتر غیر ممکن است؟

چرا امنیت مطلق در کامپیوتر غیر ممکن است؟

شاید شما هم تا به حال شنیده اید که امنیت مطلق[1] در کامپیوترها غیرممکن است، در این بخش با توضیحی دلیل این امر مطرح و مورد بررسی قرار خواهد گرفت.

در حال حاضر، در بسیاری از زبانهای برنامه نویسی ، برنامه نویسان تقریبا به طور کامل از کد دودویی و مدیریت حافظه جدا شده اند به طوری که توضیح زیر ممکن است کاملا انتزاعی به نظر برسد. به هر حال باید به یاد داشته باشیم که همه چیز دنیای کامپیوتر از 0 و 1 یا به اصطلاح رقم های باینری[2] بوجود آمده اند. بیت ولتاژی است که در ترانزیستور[3] جاری می شود و می توان آنرا زبان پردازنده نامید. همچنین باید به یاد داشته باشید که کدهای نوشته شده در یک زبان سطح بالا بدون کامپایل، غیر قابل اجرا در پردازشگر هستند و تنها بعنوان بخشی از سیستم اجرایی اهمیت دارند.

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

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

به عبارت دیگر تهدیدات نرم افزاری آنلاین [4] به مراتب بیشتر است برای همین کارشناسان امنیت به جای صحبت در مورد حذف نرم افزارهای آنلاین، معمولا از مدیریت ریسک امنیتی صحبت می کنند. این به این معنا نیست که نا امید شویم (مگر اینکه کسب و کارمان واقعا به امنیت مطلق نیاز داشته باشد!). البته این به معنای عدم مسئولیت برنامه نویس یا توسعه دهنده نیز نیست. شما می توانید نهایت تلاش خود را برای طراحی و پیاده سازی سیستم های امن بکنید کافیست درک کنید که یک هکر با کاری که هوشمندانه می کند باعث می شود تا شما با نیروی بیشتر و از نو و بصورت امن تری کار خود را آغاز کنید.

خوشبختانه بسیاری از زبان های برنامه نویسی قدرتمند برای تامین امنیت مناسب اند و شما می توانید با مطالعه درست و آشنایی با نقص ها؛ برنامه های کاربردی خود را امن نگه دارید.

[1] absolute security

[2] binary digits

[3] transistor

[4] web wpplications


, , , ,

نظر بدهید: