مبحث
امنیت کامپیوتری طی بیست سال اخیر تغییرات زیادی کرده است؛ ولی کامپیوتر و
سیستمعامل چندان تغییری نکردهاند و اساس کارشان تقریباً از دهه 1970
همانطور باقی مانده است. در طی این سالها دستگاههای کامپیوتری گوناگونی
سربرآوردهاند که سازوکارشان اقتباسی از کامپیوترهای هماندوران بوده است و
مهمترینشان از این حیث گوشیهای موبایل و تبلتها هستند که انبوهی از
برنامههای ریز و درشت روی آنها اجرا میشود. اعتبار یا عدم اعتبار این
هزاران برنامه را چه چیزی کنترل میکند؟ بله، سیستمعامل. اما مشکل این است
که سیستمعامل زمانی ابداع شد که ماهیت و میزان گسترش برنامههای
کامپیوتری هرگز تا به این حد نبود. آیا سیستمعامل در برابر تهدیدهای
امروزی نیز کارآمد است؟!
امنیت کامپیوتری تا پیش از ظهور اینترنت مفهوم
بسیار متفاوتی داشت. در دهههای 1970 تا 1980 میلادی اینترنت دنیای جدیدی
بود که بیشتر جمعیت آن را پژوهشگران دانشگاهی تشکیل میدادند. این دنیای
جدید هرچند کاربران دیگری هم داشت، ولی بسیار کوچکتر از آن چیزی بود که
امروز میبینیم. پس مسلماً سیستمهایی که در آن زمان طراحی شدند برای
محیطهای علمی و نیازهای پژوهشگران مناسب بودند و نه برای مقابله با
نفوذها، برنامههای مخرب و دیگر تهدیدهای امنیتی. امروزه طیف کاربران
اینترنت بسیار گستردهتر شده و بهعلاوه پای کاربردهای جدیدی همچون
بانکداری و تجارت الکترونیک نیز به این میدان باز شدهاست که در دهه 1990
اثری از آنها نبود.
آن زمان کامپیوترهای قدیمی و بزرگ چندین کاربر
داشتند و ما با سرورها یا مینفریمهای مرکزی سر و کار داشتیم. نقش
سیستمعامل این بود که این کاربران متعدد را از هم تفکیک و از بروز تداخل
بین کارها جلوگیری کند. در آن سالها ناچار بودید یک سیستم بزرگ را بین
چندین کاربر بهاشتراک بگذارید و همان موقع بود که سیستمعامل مفهومی
بهنام کنترل دسترسی یا access control را پدید آورد و امروز هم به مدد
همین مفهوم میتوانید یک فرآیند کاری را بین گروههای کاربری تقسیم و مشخص
کنید که هر کاربر دقیقاً به چه چیزهایی باید یا نباید دسترسی داشته باشد.
نکته
اینجا است که سیستمعاملها با پیدایش کامپیوترهای قدیمی پدید آمدند؛ ولی
روی اسمارتفونهای جدید نیز کمابیش با همان سبک و سیاق بهکار گرفته شدند؛
برای مثال تلفنهمراه محل تجمع برنامههای مختلف است و همواره به کاربران
هشدار میدهیم: برنامهها را بیمحابا و تصادفی از اینترنت دانلود نکنید؛
چون نمیدانید منبع نشرشان کجا است. اما در سوی دیگر شرکتها مشتریانشان
را به استفاده از فروشگاههای آنلاین نرمافزار و دانلود بیشتر برنامهها
تشویق میکنند. پس چاره چه بود؟ کاری که دانشمندان کامپیوتر انجام دادند
طراحی و پیادهسازی سامانهای نرمافزاری بهنام sandbox (سندباکس) بود تا
به این ترتیب هر برنامهای که کاربر دانلود میکند در داخل آن اجرا شود.
اما فعالیت همین سندباکس هم به سیستمعامل وابسته است. پیشنهاد بعدی چیست؟
لوح پاک، ساختن از نو
موضوع
پژوهشهای پیتر نویمان و رابرت واتسون طرحی است که آنرا Clean Slate یا
لوح پاک مینامند. واتسون میگوید شرایط امروز بهگونهای است که سازندگان
نرمافزار میکوشند محصولات خود را هرچه زودتر وارد بازار کنند و از اینرو
همه کارها را نه با دقت و صحت 100 درصدی که با دقت 90 یا حتی 70 درصدی
انجام میدهند. چرا؟ چون بعد از عرضه محصول وقت کافی دارند تا آن را با
انتشار وصلهها (و حتی بررسی خواستههای بعدی کاربران) بهروز کنند.
شیوهای که در چنین مواردی بهکار گرفته میشود به اصطلاح hill climbing یا
بالا رفتن از تپه نام دارد. یک تپهنورد هرچه بالاتر میرود یک نگاه به
مقصد یا قله میاندازد -اگر از جایی که هست دیده میشود- و یک نگاه به
اطراف و مسیرهایی که میتواند انتخاب کند. از این میان یکی را برمیگزیند و
یک منزل بالاتر میرود و باز این نظاره و پیشرفت تکرار میشود. این شیوه
هرچند منطقی و کارآمد است، اما ریسکهایی هم دارد از جمله اینکه چون از
پایین و در پیچ و خم تپه به قله دید دقیقی ندارد، ممکن است سرانجام سر از
قله دیگری درآورد!
شکل 1: پیتر جی. نویمان (سمت راست)، دانشمند کامپیوتر و رابرت ان. ام. واتسون (سمت چپ)، پژوهشیار ارشد گروه تحقیقات امنیتی دانشگاه کمبریج، پروژه لوح پاک را در دست مطالعه دارند. (عکسها به ترتیب از انستیتوی پژوهشی SRI و سایت دانشگاه کمبریج)
واتسون با ذکر
این مقدمه میافزاید، در پروژه لوح پاک نمیخواهیم همه دستاوردهای فعلی را
کنار بگذاریم بلکه میکوشیم گامی به عقب برداشته و از خود بپرسیم، آیا
جاهایی بوده است که اشتباه کرده و راه قلهای دیگر را پیش گرفتهباشیم؟ آیا
شده زمانی در گذشته تصمیمی گرفتهباشیم که به اقتضای آن زمان درست هم بوده
است اما سرانجام به راه نادرستی متمایل شدهباشیم؟ پس ایده لوح پاک این
است که راه آمده را دوباره مرور کنیم و هرجا دگرگونی لازم است، آنرا ایجاد
کنیم. بدیهی است که در این میان شاید بخشی از ساختارها و قواعد کنونی
دنیای کامپیوتر بهکل دگرگون شود. پیتر نویمان در وصف وضعیت کنونی امنیت
کامپیوتری آن را «آشفتگی» میخواند و واتسون نیز بر آن صحه میگذارد؛ چون
همواره بین سازندگان سیستمها در یک سو و مهاجمان به سیستمها در سوی دیگر
جنگ برقرار است. وقتی یک سازنده نرمافزار وصلهای اضطراری را برای
پوشاندن ضعفهای نرمافزارش منتشر میکند، در واقع در موضع دفاع قرار دارد
و همین موضع دائماً تدافعی را میتوان یک ضعف تلقی کرد. همچنین باید توجه
داشت که توازن قوا در این دو جبهه، سازندگان نرمافزار و مهاجمان، برابر
نیست؛ زیرا مهاجمان با یافتن تنها یک ضعف در نرمافزار هم میتوانند یورش
بزرگی را ترتیب دهند؛ ولی ما در مقام مدافع، باید همه رخنهها را بپوشانیم.
پس به لحاظ نظری مجالی برای اشتباه کردن نداریم و سیستمها باید صد درصد
بینقص ساخته شوند تا از حمله مصون بمانند. اما در واقعیت چنین چیزی ممکن
نیست. یکی از راهکارهای مورد علاقه واتسون، نویمان و دیگر دانشمندان
هماندیش compartmentalization نام دارد. اساس کار این است که یک نرمافزار
بزرگ، مثلاً مرورگر وب، را به چند قسمت تقسیم و هر قسمت را در یک سندباکس
اجرا میکنیم. یکی از مثالهای خوب برای چنین ترفندی مرورگر کروم گوگل
است. در کروم وقتی چند تب باز است، هر تب در یک سندباکس جداگانه رندر
میشود. پس حتی اگر صفحه وبی که در یکی از این تبها باز شده، آلاینده باشد
نمیتواند به تبهای دیگر سرایت کند و در سندباکسی که آنرا احاطه
کردهاست، محدود میشود. بنیان کار compartmentalization نیز همین است؛
اینکه هر قطعه کاری را که در کامپیوتر اجرا میشود در داخل یک سندباکس
قرار دهیم و فقط مجوزهای لازم یا به عبارتی کمترین مجوزها را به آن قطعه
بدهیم؛ یعنی فقط مجوزهایی که واقعاً و منطقاً مورد نیاز است و نه بیش از
آن. البته اولین بارقههای چنین ایدهای نخستینبار در میانههای دهه 1970
میلادی در دانشگاه MIT زدهشد؛ به این صورت که هر قطعه نرمافزاری فقط باید
مجوزهایی را داشتهباشد که برای اجرایش لازم است.
وقتی استیون چری،
خبرنگاراسپکتروم از واتسون میپرسد آیا بهجز چنین مواردی واقعاً ممکن است
که ساختارهای بنیادی کامپیوترهای امروزی نیز دگرگون شوند، واتسون آنرا
محتمل میداند؛ البته به گفته واتسون نمیتوان پیشبینی کرد با پیادهسازی
الگوهای جدید که نمونههایی از آنها در بالا ذکر شد، در آینده چه
کامپیوترهایی ساخته خواهند شد اما اگر امنیت برایمان مهم است، باید از
تغییرات -هرچند بنیادی باشند- استقبال کنیم. او با ذکر مثالی جالب و
تاملبرانگیز از پردازنده گرافیکی یا GPU نام میبرد که حدود یک دهه پیش
در تجهیزات کاربردی و خانگی خبری از آنها نبود؛ ولی وقتی هم مردم و هم
تولیدکنندگان قابلیتهای آن را در پردازش سریع تصاویر پسندیدند، تصمیم
گرفتند به هر نحو ممکن از این عنصر جدید نه فقط در کامپیوترهای شخصی که در
دستگاههای همراهی همچون اسمارتفون و تبلت نیز بهره ببرند و چنین نیز شد.
پس آیا جا ندارد در پاسخ به نیازهای امنیتی که گاه نادیده گرفتنشان
هزینههای سنگینی به بار میآورد، به روی تغییرات جدید آغوش بگشاییم؟
واتسون
میگوید تنها اشتباهی که در اینباره میتوان مرتکب شد این است که فکر
کنیم کار را تمام و کمال انجام دادهایم و در آینده نیز همهچیز باید
همانطوری که اکنون هست باقی بماند.
پینوشت:
عکس
آغازین، تصویری است از جان نویمان، دانشمند و ریاضیدان آمریکایی
مجاریالاصل که نظریههای مهمی در باب معماری کامپیوتر ارائه داد و از
مشاوران ارتقای پروژه انیاک بود. آیا اکنون یک نیومان دیگر با نام کوچک
پیتر با همراهی واتسون و دیگران اساس معماری کامپیوتر را دگرگون خواهد کرد؟
منبع: سایت هیتنا
بانک اطلاعات نشریات کشور مرجع مقالات و نشریات تخصصی کشور
http://www.magiran.com/searchp.asp?field=all&I5=%C8%90%D1%CF&t=m&s=%C7%ED%E4%CA%D1%E4%CA