آیا کدهای محصولات شما لو رفته است

در چند هفته اخیر گروه هکری جدید تحت عنوان Lapsus$ بخش عمدهای از اخبار امنیت سایبری را به خود اختصاص دادند. این گروه سورس کدهای شرکتهای بزرگ دنیا (از جمله شرکت سامسونگ و بخشهایی از پروژههای بینگ، بینگ مپز و کورتانای شرکت مایکروسافت) را سرقت و منتشر کرده است. این خبر چند ماه پس از آن که پلتفرم استریمینگ محبوب توئیچ هم دچار سرنوشت مشابهی شده بود منتشر گردید.
طی سالهای اخیر شاهد انتشار انبوهی از منابع شرکتی در فضای آنلاین بودیم. اگرچه همه موارد ذکر شده توسط هکرهای مخرب و با انگیزه ایجاد فشار بر روی شرکتها و دسترسی به دادههای آنها بوده ولی همچنان نباید فراموش کنیم که اشتباهات افراد هم در این ماجراها بیتأثیر نبودهاند. برای مثال یک توسعهدهنده ناخواسته اطلاعات را بر روی یک مخزن عمومی منتشر کرده است.
متأسفانه سوءبرداشتهای بسیار زیادی در زمینه مسئله نشت سورس کدها وجود دارد. در این مطلب از فراست به بررسی مخاطراتی میپردازیم که ناشی از نشت سورس کدها هستند. همچنین اطلاعات لازم در رابطه با نحوه تشخیص اینکه آیا شرکتتان قربانی چنین حوادثی شده است یا خیر به شما ارایه میدهیم. در نهایت به شما آموزش میدهیم که همین حالا با استفاده از یک ابزار اختصاصی رایگان، منابع گیتهابتان را بررسی کنید.
سورس کد و مالکیت معنوی
در دنیای امروزی که حدود 95 درصد از بخش آیتی متکی بر روی نرمافزارهای اپن سورس است، کاربران معمولاً فراموش میکنند که سورس کدها (از همان لحظه نوشتن اولین خط کد) جزو مالکیت معنوی سازمانها محسوب میشوند. امکان حفاظت از این کدها با قانونی کپی رایت وجود دارد و عموماً اولین خط از فایلهای سورس کد به تشریح این مسئله اختصاص مییابد.
سورس کدها به دلیل ماهیت دیجیتالی که دارند، جزو داراییهایی هستند که احتمال نشت و افشای آنها زیاد است. وجود سیستمهای کنترل نسخه توزیع شده و پلتفرمهای به اشتراکگذاری کد باعث شده که کپی و تکثیر کدها در اینترنت بسیار راحت باشد. این موضوع به نوبه خود به رونق گرفتن جامعه اپن سورس و رسیدن به دستاوردهای بزرگ منجر شده اما برای بسیاری از شرکتهایی که سورس کدها جزو داراییهای مهم و با ارزش آنها محسوب میشوند، مشکل آفرین است. از این رو تلاش برای رعایت حق تکثیر سورس کدها در سطح جهان تبدیل به یک امر تقریباً غیرممکن شده است.
گاهی اوقات سورس کدها حاوی اسرار تجاری هستند که قوانین کپی رایت، حق اختراع یا نشان تجاری امکان حفاظت از آنها را ندارند. در صنعتی که سرعت و ابتکار از جمله عناصر بسیار مهم و حیاتی در آن هستند، ممکن است افشای این اطلاعات خصوصی منجر به پایان کار استارتاپهای نوپا شود. برای مشاغل بزرگتر، پیشگیری از برخوردها و جریمههای قانونی یکی از انگیزههای مهم جهت نظارت بر روی سورس کدها و حفاظت از آنها محسوب میگردد.
انتشار سورس کدها همچنین به هکرها امکان میدهد که از روند کلی مراحل تولید محصولاتی که احتمال دارد در اختیار میلیونها کاربر قرار بگیرد آگاه شوند. این مسئله نیز مشکل آفرین است.
تهدید مخفی شده در دل سورس کدها
کدها به نوعی مشابه طرح و برنامه ساخت و تولید محصولات فیزیکی هستند. دسترسی به سازوکار داخلی سیستمهای بزرگ یا نرمافزارها امکان تشخیص راحت آسیبپذیریها مثل اعتبارنامههای کاربری تعبیه شده در کد را فراهم میکند. برای مثال GitGuardian پس از اسکن کدهای سامسونگ بیش از 6600 مورد کلید خصوصی را در آنها پیدا کرده است.
بنا به گفته Mackenzie Jackson حامی توسعهدهندگان در GitGuardian: «از بین بیش از 6600 کلید پیدا شده در سورس کد سامسونگ، حدود 90 درصد آنها مربوط به زیرساخت و سرویسهای داخلی شرکت سامسونگ بوده و 10 درصد دیگر هم امکان دسترسی به ابزارها یا سرویسهای خارجی سامسونگ مثل AWS، گیتهاب، Artifactory و گوگل را فراهم میکردند».
این گفتهها به این معنا نیست که هکرها میتوانند بلافاصله پس از نشت اطلاعات از این اسرار، نقایص کنترل دسترسی و سایر آسیبپذیریهای امنیتی سوءاستفاده نمایند اما این اطلاعات جعبه ابزار هکرها را تقویت میکنند. گاهی اوقات بعضی سیگنالهای ضعیف مثل اطلاعات هویتی توسعهدهندگان، عادات و روشها، زبان و فرهنگ سازمان آنها برای مهاجمان از خود منطق کسبوکار ارزشمندتر هستند. هزاران خط کد، اطلاعاتی فراتر از حد تصورمان را آشکار میکنند.
چگونه لو رفتن سورس کدها را تشخیص دهیم؟
همانگونه که پیش از این اشاره شد، حتی اگر تاکنون درگیر رخنههای اطلاعاتی نشدهاید همچنان ممکن است کدهای اختصاصی شما بدون اطلاع خودتان در گیتهاب منتشر شده باشند. همچنین احتمال دارد شرکت شما هیچ حضور رسمی در این پلتفرم نداشته باشد ولی همچنان شاید بعضی از توسعهدهندگانتان در پروژههای اپن سورس مشارکت داشته یا از مخازن شخصی برای به اشتراکگذاری کد استفاده کنند.
از این رو باید نقشهبرداری از ردپای خودتان در گیتهاب را جدی بگیرید. هوش تهدید معمولاً به سوالات زیر پاسخ میدهد:
- چه داراییهایی از طریق اینترنت در دسترس عموم قرار دارند؟
- آیا این دادهها شامل اطلاعات کاربران نیز میباشند؟
- آیا این دادهها حاوی اطلاعات مهم و معتبری هستند که یک مهاجم بتواند از آنها سوءاستفاده کند؟
- آیا امکان مقابله با نشت داراییها (مثلاً با اجرای فرایند از دسترس خارج کردن DMCA) وجود دارد یا خیر؟
از لحاظ فنی راهکار جهت تشخیص نشت سورس کدها شامل انگشتنگاری از کدهای اختصاصی و مقایسه آنها با پایگاه داده فایلهای عمومی است. ابزار رایگان HasMyCodeLeaked دقیقاً همین عملکرد مشابه را دارد. این ابزار توسط GitGuardian طراحی شده تا به همه کمک کند موارد قابل تطبیق با اطلاعات مالکیت معنوی خودشان را به سرعت جستجو و پیدا کنند. این ابزار، یک جستجوی دقیق از اثرانگشت کدها (یعنی اطلاعات مهم و شاخص فایل کدها از جمله همه نسخههای اصلاحی آنها) در تاریخچه عمومی گیتهاب انجام میدهد. سپس یک گزارش قابل جستجو برای همه مخازن حاوی سورس کدهای شما با قابلیت فیلترینگ هوشمند که امکان تشخیص مخازن پرخطر را فراهم میکند تولید میشود.
نتیجهگیری
مسئله نشت سورس کد اهمیت بسیار زیادی دارد چون میتواند به اعتبار برندها آسیب وارد نموده و بعضی از داراییهای ارزشمند یک سازمان را در معرض خطر قرار دهد. اگرچه درخواستهای حذف اطلاعات با DMCA میتوانند به حذف محتوای مشمول قانون کپی رایت از پلتفرمهای عمومی کمک کنند اما همچنان امکان افشای اسرار تجاری و به خطر افتادن ابتکارات و نوآوریهای شرکتها وجود دارد. از نظر امنیتی، این اطلاعات برای مهاجمان بسیار ارزشمند هستند چون یک تصویر جامع از نحوه عملکرد یک نرمافزار (از جمله نقایص نرمافزار، فرایندها و افراد دخیل در آن) در اختیار مهاجمان قرار میدهند.
با توجه به رشد و توسعه پلتفرم گیتهاب، نظارت بر روی ردپای شرکتها در این فضا تبدیل به یکی از چالشهای مهم برای تحلیلگران هوش تهدید شده است. ابزار رایگان HasMyCodeLeaked هم با این هدف طراحی شده که به شرکتها برای تشخیص لو رفتن اطلاعات مالکیت معنوی آنها کمک کند.
برای مطالعه سایر مقالات در حوزه امنیت سایبری اینجا کلیک کنید.
منبع: infosecurity-magazine