حمله نرم افزارهاي كد باز
امروز و بعد از گذشت چندين و چند سال از ورود مبحث IT در ايران هنوز که هنوز است خدمات الکترونيکي شايستهاي از طريق وب سايتهاي دولتي قابل ارائه به مخاطبان نيستند، چرا که در بيشتر سايتهاي دولتي از خدمات الکترونيک تنها در حد تعريف و يا چند لينک بسيار معمولي به چند فرم عادي چيز ديگري پيدا نميکنيد و در اين ميان خبر روزانه هک شدن سايتهاي دولتي به موضوعي طبيعي تبديل شده که خود نيز مانعي بزرگ در ابتداي ورود به مباحث خدمات الکترونيکي است!
شايد بعضي به اين سخن خرده بگيرند اما با بررسي دو وب سايت معروف و جنجالي شهرهاي الکترونيک ايران يعني کيش و مشهد اگر دستي در آتش داشته باشيد حتما شما نيز به همين نتيجه ميرسيد.
اين مقاله قصد بررسي اين دو طرح شکست خورده را ندارد بلکه بيشتر مصمم است توجه دولمترادان را به آفتي جلب کند که جديدا مانند خورهاي به جان بسياري از نهادهاي دولتي و شرکتهاي خصوصي افتاده و با پيروي از هم نسبت به راه اندازي پورتالهايي با استفاده از نرمافزارهاي کدباز (Opensource) اقدام كرده اند.
نرمافزار كد باز چيست؟
به زبان ساده براي عموم نرمافزار هاي كد باز نرمافزارهايي هستند كه هر شخصي به تمامي كدهاي برنامه ، ساختار بانكهاي اطلاعاتي، معماري نرمافزاري و مسائل امنيتي آن دسترسي كامل داشته و ميتواند به راحتي آن نرمافزار را از اينترنت دانلود كند. در حقيقت اين نوع نرمافزارها حاصل همين دانلودها و ويرايشها و تبديلها از سراسر جهان و توسط هزاران برنامه نويس با سلايق و ديدهاي متفاوت است .يکي از علل كد باز شدن يك نرمافزار توسعه و بهينهسازي و گرفتن اشكالات و ايرادات آن و همچنين همکاري برنامهنويسان در يک پروژه است يعني در حقيقت حاصل نوعي کار گروهي بوده و چه بسا داراي حفرههاي امنيتي بسيار زياد و خطرناکي نيز باشد كه براي عموم استفاده كنندگان و يا ويرايشگران آن قابل مشاهده است. به همين دليل است كه اين گونه نرمافزارها به سرعت نسخه هاي جديدي ارائه ميدهند که معمولا بر طرف کننده حفرههاي امنيتي هستند
از طرفي استفاده بهينه و حرفهاي از اين نوع نرمافزارها کار مشکل و تخصصي بوده و از توان هر کارشناس عادي بر نميايد و اينگونه است که در اين ميان برخي از سايتهاي استفاده کننده از اين نوع کدها بسيار زيبا و حرفهاي به نظر ميرسند ( Tehran.ir Dotnetnuke) و برخي واقعا اسفناک! (fa.nr-khr.ir dotnetnuke)
استفاده از نرمافزارهاي کد باز در سايتهاي دولتي
شايد استفاده از نرمافزارهاي کدباز براي سايتهايي که برنامه توسعه نداشته و اقدام به ارائه سرويسهاي معمولي مانند دانلود، خبر، اطلاع رساني و... به بازديدکنندگان خود مينمايند و يا براي آگاهي برنامهنويسان از متدها و روشهاي روز برنامهنويسي ميتواند مفيد تلقي شود اما آيا نوع نرمافزارها مناسب نهادهاي دولتي و سايتهاي اداري نيز هستند؟
البته بهتر است اين موضوع را نيز در نظر بگيريد که بسياري از ادارت دولتي خريدار اين نوع نرمافزارها حتي نميدانند که دارند يک نرمافزار کد باز رايگان را خريداري ميکنند و با ترفندهاي عجيب و غريب برخي شرکتهاي خصوصي مانند نام گذاري بر روي پرتال كد باز، قدري دستکاري در سورس و تغيير رد پاها و ادعاي کاملا بومي بودن آن و طراحي شده در شرکت خصوصي نسبت به فروش اين نوع پورتالها به ادارت دولتي اقدام مينمايند و بعضا با ارقام گزافي سايتهايي که تنها زحمت ترجمه فايلهاي زبان آنرا متحممل شده اند و شايد نهايتا اقدام به طراحي يک قالب گرافيکي براي آن نموده اند را به قيمت يک نرمافزار طراحي شده داخلي و بسا گرانتر از آن به مشتري عرضه ميکنند.
اين کار چه از لحاظ قانوني و چه از لحاظ شرعي مطمئنا داراي مشکل است اما در اين نوشته به بررسي ساير مشکلات ناشي از اين پديده ميپردازيم:
از بين رفتن فرصتهاي شغلي براي متخصصين داخلي:
اولين ترکش اين موضوع به سمت جمع کثيري از برنامهنويسان و فارغالتحصيلان داخلي روانه ميشود
شايد برنامهنويسان در ابتدا از اينکه بدون زحمت يک نرمافزار کد باز را ترجمه و نصب ميکنند خوشحال باشند اما در حقيقت و به طور غير مستقيم ضرر اصلي اين موضوع متوجه خود برنامهنويسان داخلي ميشود.
با معمول شدن استفاده از اينگونه نرمافزارها به علت پيچيدگي ساختاري اين نوع برنامهها و عدم امكان بهروزرساني نرمافزار در صورت اعمال تغييرات زياد، شركتها تمايلي به توسعه خدمات و کدنويسيهاي جديد ندارند و طبعا نياز به يک برنامهنويس يا تجزيهگر سيستم در شرکت احساس نميشود، حتي اگر برنامهنويساني باشند که در اين سيستمها باقي بمانند به تدريج قدرت نوآوري و خلاقيتشان را از دست ميدهند. فروشندگان اين نوع نرمافزارها نيز با استخدام نيروهاي غير حرفهاي ( براي پرداخت حقوق کمتر و رهايي از بيمه ) کار خود را که تنها طراحي چند قالب گرافيکي براي پورتال است پيش ميبرند و به تدريج کد نويسي و توسعه در اين شرکتها و به تبع آن مشتريان آنها فراموش شده و باعث کساد شدن بازارمتخصصان واقعي it در کشور ميشود.
متاسفانه برخي مدعي هستند كه عدم حضور متخصصين IT داخلي مهمترين عامل روآوري به اين نوع برنامههاست، اگر به فرض محال اين موضوع صحت داشته باشد، مطمئنا راه حل آن ناديده گرفتن پتانسيل نيروهاي جوان داخل كشور نيست.
برخي از اساتيد دانشگاه نيز به جاي تشويق دانشحويان به توليد نرمافزار داخلي آنها را در حد ترجمه يك نرمافزار كد بازي خارجي محدود و همين را به عنوان پروژه پايان ترم از دانشجو ميپذيرند.
بررسي بر روي يازده نرمافزار محبوب اوپنسورس اين گمان را بوجود آورد که سازمانها و شرکتها ريسک امنيتي استفاده از اين برنامهها را دست کم گرفتهاند.
شرکت امنيتي Fortify با مطالعه بر روي نرمافزارهايي همچون JBoss و OpenCMS مشکلات امنيتي متعددي را مشاهده نمودند که عمدتاً بخاطر اشتباهات برنامهنويسان اوپنسورس ايجاد گرديدهاند.
در بخشي از اين گزارش آمده است: «توجه به نکات امنيتي در پروسههاي برنامهنويسي اوپنسورس از اولويت پائيني برخوردار است.»
«با وجود اين که برنامههاي اوپنسورس در مورد تواناييهاي بالقوه خود براي رفع نيازهاي سازماني تبليغات زيادي را انجام ميدهند اما تعداد اندکي از آنها به نيازهاي امنيتي سازمانها توجه لازم و کافي را مينمايند.»
از بين رفتن قدرت تجزيه تحليل و خلاقيت:
شرکتهاي فروشنده اين نوع پرتالها ترجيح ميدهد طوري قرار داد را تنظيم کند که تنها با استفاده از ماژولهاي موجود در آن (مانند خبر، مقاله، آلبوم تصاوير، جداول اطلاعاتي و...) بتوان سايت را راه اندازي كرد. در اين بين فاز اصلي پروژههايIT كه شناخت نيازها و تجزيه و تحليل عملي و علمي براي خدمات رساني به مخاطبان آن سازمان است در گير و دار انعقاد يك قرار داد تك بعدي و يك نرمافزار از پيش تعيين شده فراموش ميشودو هيچ راهكاري براي ورود به مباحث خدمات الكترونيكي در اين نوع سيستمها ديده نميشود.
ايجاد تغييرات و خصوصي سازي در چينين نرمافزارهاي کد بازي بسيار پيچيده تر و زمان برتر از طراحي يک سايت اختصاصي براي يک اداره و يا نهاد دولتي است و به همين دليل است كه معمولا شركتهاي ارائه دهنده چنين نرمافزار هايي به هيچ وجه پيشنهادي براي توسعه و يا پيشرفت خدمات سايت ندارند و بعد از نصب اين نرمافزار، ارتقاء آن به فراموشي سپرده ميشود.
اگر بخواهيم گشت و گذاري هر چند کوتاه به دنبال چينين سايتهايي بزنيم شايد بيشترين موارد استفاده را بتوان از نرم افزارهاي كد بازي مانند پورتال rainbow به آدرس اينترنتي http://rainbowportal.net/ پرتال dotnetnuke به آدرس اينترنتي http://www.dotnetnuke.com/ و يا نسخه فارسي آن در irandnn.ir و همچنين پورتال كد باز mojoportal به آدرس اينترنتي http://www.mojoportal.com/ نام برد که به طرز فراگيري در بسياري از سايتهاي دولتي به چشم ميخورند براي ديدن نمونههايي ميتوانيد به سايت شهرداري تهران ـ سايت شبکه رشد ـ سايت جزيره کيش ـ استانداري خراسان رضوي ـ دامپزشكي خراسان رضوي ـ كانون پرورش كودكان و نوجوانان و صدها نمونه ديگر كه متاسفانه با حمايت نهادهاي دولتي به طور فراگيري در حال رشد هستند مراجعه کنيد.
نويسنده معتقد است استفاده از اين نوع سيستمها را نميتوان کلا نفي کرد و در بعضي موارد استفاده از اين نوع نرمافزارها براي برخي سايتها ( با چشم پوشي از مسائل امنيتي ) به صرفه است.
اما یک نکته بسیار مهم و در واقع انتقاد از مطالب این مقاله این است که صرف کد باز بودن یک محصول دلیل بر کمتر بودن امنیت آن نیست و همه می دانیم که سیستم عامل های کد باز از سیستم عاملهای مبتنی بر ویندوز به مراتب امن تر بوده اند و این مساله را ثابت کرده اند. از طرفی تمام مواردی که شما ذکر کرده اید همه بر روی سرور های ویندوز بوده است چون dotnetnuk در آنها استفاده شده. در اکثر این موارد هم که بنده اطلاع موثق دارم از حفره های امنیتی خود ویندوز برا هک بهره برده شده. البته این به این معنی نیست که اگر این سایت ها از مثلا لینوکس استفاده می کردند هرگز چنین مشکلی نداشتند بلکه مشکل سطح اطلاعات مدیران این موسسات دولتی است. اگر شرکتهایی با سطح توانایی پایین می توانند به این سادگی رقابت کنند و محصول بفروشند و کادر فنی نا وارد به کار گیرند تقصیر اصلی باز هم بر عهده همانهاست و الا چنین شرکتهایی باید ورشکست می شدند.
به نظر من نویسنده مقاله هیچ آشنایی با نرم افزار های آزاد ندارد دلایل:
1. اکثر نرم افزارهای کد باز امنیت بیشتری نسبت به نرم افزارهای تجاری دارند به این دلیل که با باز بودن کد های آن ها اولا شما می توانید مطمئن شوید هیچ نرم افزار جاسوسی در آن بکار نرفته (مثلا شما مطمئن هستید در سیستم عامل ویندوز هیچ نرم افزاری برای دزدیدن اطلاعات بکار نرفته؟) دوما بخاطر باز بودن کدها تعداد بیشتری برنامه نویس می توانند در سرتاسر دنیا بر روی آن کار کنند و مشکلات آن را رفع کنند. بطور مثال سیستم عامل لینوکس و Free BSD بسیار امن تر از ویندوز مایکروسافت هستند و بانک اطلاعاتی MySQL امنیت بیشتری از MicrosoftSQL دارد. همچنین شرکت های بزرگی همچون یاهو و گوگل از این نرم افزارها بر روی سرورهای غول پیکر خود استفاده می کنند.
مجوز این نرم افزار ها عموما به این صورت است که شما حق کپی تغییر و فروش آن را به هر صورت دارید فقط اجازه ندارید چنین حقوقی را از دیگران بگیرید.
الان اتحادیه اروپا دارد به سمت نرم افزارهای کد باز پیش می رود آیا آن ها این چیزهایی که شما می گویید نمی دانند؟
دلیل اصلی هک شدن سایت های دولتی كمبود آگاهي متصدیان آن هاست نه ضعف نرم افزارهای کد باز.
یکی از مشکلاتی که نویسندهی محترم در رابطه با نرمافزارهای کد باز مطرح کردهاند، آن است که پس از انجام تغییراتی در آنها به وسیلهی شرکتهای ایرانی، دیگر امکان به روز رسانی آنها وجود ندارد. اگر انجام دهندگان تغییرات از متخصصان حرفهای باشند،تغییرات مورد نظر خود را به گونهای اعمال میکنند که یکپارچکی نرمافزارهای استفاده شدهی اصلی را مخدوش نکند بلکه در کنار آن قرار گیرد. در این حالت به سادگی امکان به روز رسانی نرمافزارهای اصلی وجود خواهد داشت.
با برخي از مطالب گفته شده موافقم و با بعضي مطلالب مخالفم
مثلا شما فرموديد كه "از بين رفتن قدرت تجزيه تحليل و خلاقيت" با اين مخالفم
اما بيشتر مي خوام در مورد دات نت نيوك بگم
و اينكه اين پروژه كد باز چقدر ميتونه ديدگاه يك برنامه نويس و يا گروهي از برنامه نويسان رو تغيير بده اول از همه اينكه دات نت نيوك برخي از قابليتهاش بصورت provider modelپياده سازي شده و اين خودش درس بزرگي به برنامه نويسان ميده
دوم اينكه نكات امنيتي چقدر موشكافانه در اين پروژه رعايت شده در تمامي سه لايه
سوم اينكه به معناي واقعي نيوك يك قاب يا framework هست
چهارم اينكه ابزارهاي موجود در اين فريم ورك باعث ميشه بيشتر به منطقهاي تجاري فكر بشه و نه ايجاد ابزار براي منطقهاي تجاري و فكر مي كنم هدف در دنياي امروز هم همينه البته بماند كه
بايد ابزارهاي زياد ديگه اي هم نوشته بشه
و خلاصه اينكه اين پروژه plugable يعني با توجه به اينكه قاب خاصي داره و .... ببخشيد بايد برم بارهاي مغازه رو خالي كنم داش حسن صدام كرد خدانگهدارتون
در پاسخ به دوست عزیزی که از امکانات نرم افزار های کد باز گفتن و از حرکت جامعه اروپا به اون سمت باید بگم که متاسفانه مثله همیشه ما از آخر شروع کردیم چرا که الان شاید به تعداد انگشتای دست تو ادارت ما کسی نیست که بتونه لینوکس یا Free BSD رو نصب کنه و کاری که همه بلد شدن دانلود پورتالهای کد باز و ترجمه و فروش اون روی بسترهای کد بسته است بهتره قدری واقعی به موضوع نگاه کنیم.در ضمن حرکت اروپا به سمت کد باز تبدیل سایتهای دولتیش به یک پورتال مثله dnn نیست بلکه اونها با انتخاب یک سیستم عامل کد باز و تعریف یک پروژه عظیم از اون یک سیستم عامل جدید تولید میکنن همون کاری که یاهو کرده .



