نرمافزار متن باز یا اوپن سورس ( Open source ) نرمافزارهایی هستند که کدهای آن برای کاربران قابلدسترسی است و دیگر برنامه نویسان میتوانند آن را اصلاح کنند و یا دنبال استفاده از کدهای آن باشند.
این مدل منبع باز "خالص" اغلب بهعنوان FOSS (نرمافزار منبع آزاد) نامیده میشود.
نوع دیگری از منبع باز بهعنوان تنها " منبع در دسترس" هستند، به این معنی که تغییر یا استفاده از کد آنها مجاز نیست، اما برای مشاهده در دسترس هستند که دلیل عدم دسترسی اهداف امنیتی است، بنابراین در این مقاله منظور ما از «منبع باز» به هر دو نوع اشاره دارد.
منبع بسته یا متن بسته چیست؟
اکثر نرمافزارها توسط شرکتهای تجاری نوشته میشود و توسعه مییابد. بدیهی است، این شرکتها مایل نیستند که دیگران کار سخت و اسرار تجاری آنها را سرقت کنند، بنابراین کد آن را از چشمان کنجکاو با استفاده از رمزگذاری پنهان میکنند و هرگونه تلاش برای استفاده یا اصلاح آن غیرقانونی خواهد بود.
مشکل متن بستهها در چیست؟
زمانی که صحبت امنیت میشود، مشکل بزرگی است. اگر هیچکس نتواند جزئیات برنامه آنها را ببیند، چطور میتوانیم بدانیم که این برنامه مخرب است یا نه ؟ اساساً ما نمیتوانیم، بنابراین ما فقط باید به شرکتی که درگیر آن هستیم، اعتماد کنیم.
چرا منبع باز بهترین راهحل است؟
اگر کد منبع باز باشد، میتوان آن را به طور مستقل مورد بررسی کرد، تا دید هیچ مسئله امنیتی وجود ندارد. منبع باز یک راهحل کامل نیست، اما این تنها راهی است که مطمئن شویم که این نرمافزار دقیقاً کاری را انجام میدهد که باید انجام دهد.
حتی اگر کد مورد اصلاح قرار نگیرد ، واقعیت آن است که حداقل آن مورد اعتماد قرار دارد تا توسعهدهندگان کدهای مخرب در آنها وجود نداشته باشد.
متنباز یک راهحل کامل نیست
متأسفانه افراد با مهارت و دارای زمان کافی برای اصلاح نرمافزارهای منبع باز (که معمولاً به صورت رایگان هستند) محدود هستند، این به این معنی است که اکثریت قریب به اتفاق برنامههای منبع باز مورد بررسی قرار نگرفتهاند.
برنامههای منبع باز بسیار پیچیده هستند و حاوی هزاران هزار خط کد هستند، بنابراین حتی اگر حسابرسی مورد بررسی قرار گیرند، ممکن است مشکلی از دید پنهان بماند.
منبع باز بودن برنامه تضمین نمیکند که برنامه تمیز و بدون مشکل است، اما بهترین تضمین است که میتوانیم و با بررسی آن به مشکلات برنامه پی ببریم. جایگزین این گونه برنامهها ، برنامههای منبع بسته هستند، که هیچ تضمینی ارائه نمیدهد.
همیشه برنامههای منبع باز را کنترل کنید
منبع باز برای امنیت عالی است. در فوریه 2016 وبسایت یکی از محبوبترین نسخههای سیستمعامل لینوکس، سیستمعامل لینوکس مینت، هک شد و نسخه آسیبدیدهی سیستمعامل برای دانلود در دسترس بود که در آن پیامی نشان داده میشد که در آن هکرها گفته بودند برای نشان دادن مشکل امنیتی آن را هک کردهاند.
سیستمعامل آلوده لینوکس ISO سیستم کامل را با سیستمعامل گیت (Internet Relay Chat) (IRC)و مهاجم پشت پرده آن به نام سونامی نصب میکرد، که دسترسی مهاجمان را به دستگاههای کاربران را از طریق سرورهای IRC فراهم میکرد.
این تهدید بسیار واقعی بود.
در این مورد، دانلود کنندههایی که هش MD5 فایل را چک کرده بودند این فریب را شناسایی کردند، اما چنین چک هش های حفاظتی قابل اطمینان نیستند، زیرا اگر وبسایت در ابتدا هک شده باشد، تعویض یک چکست منتشر شده با یک جعلی که فایل متشکل را تائید میکند، بیاهمیت است.
بهتر است توسعهدهندگان نرمافزار دیجیتالی خود را امضا کنند تا کاربران بتوانند منشأ فایل را بررسی کنند (توسعهدهندگان مینت در این زمینه بسیار نادان بودند، زیرا نرمافزار آنها دیجیتالی امضا نشده بود ).
متأسفانه، تائید امضاهای دیجیتال کمی سخت است اما اگر به امنیت اهمیت میدهید این کار لازم است.
تمام نرمافزار باید دیجیتالی امضا و تائید شوند، اما چون نرمافزارهای با منبع باز میتوانند توسط هر کسی آزادانه تغییر کند، هک آنها سادهتر است.
اگر بخواهیم مثالی از این موارد برای شما بیاوریم، گوگل کروم و اسکایپ یک نرم افزار منبع بسته است و از بین وی پی ان ها، Openvpn یک نوع وی پی ان منبع باز است.