ایمپلنت‌های نامرئی در کد منبع

02 آذر 1400 ایمپلنت‌های نامرئی در کد منبع

روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛ متخصصین دانشگاه کمبریج آسیب‌پذیری‌ای را شرح دادند که به گفته آن‌ها بیشتر کامپایلرهای مدرن را تحت‌الشعاع قرار داده است. یک شیوه حمله جدید و بکر از قابلیت قانونی ابزارهای توسعه استفاده می‌کند و بموجب این ترفند، کد منبع یک چیز نشان می‌دهد اما چیزی کاملاً متفاوت را کامپایل می‌کند. این جادوی کاراکترهای کنترل Unicode است.

بیشتر وقت‌ها کاراکترهای کنترل روی صفحه با بقیه کد ظاهر نمی‌شوند (هرچند برخی ادیتورها آن‌ها را نمایش می‌دهد) اما به طریقی متن را دستکاری می‌کنند. در این جدول کدهایی را مشاهده می‌کنید حاوی بعنوان مثال الگوریتم دوجهته‌ی Unicode[1]. همانطور که احتمالاً می‌دانید برخی زبان‌هایی که انسان‌ها استفاده می‌کنند از چپ به راست است (مانند انگلیسی) و بقیه نیز از راست به چپ (مثل عربی). وقتی کدی فقط حاوی یک زبان باشد مشکلی نیست اما در صورت لزوم -وقتی برای مثال یک خط دارای لغاتی هم به انگلیسی و هم به عربی باشد- کدهای bidi (دو جهته) مسیر و جهت متن را تعیین می‌کنند. محققین از چنین کدهایی برای مثال جهت حرکت دادن ترمیناتورِ کامنت از کد پایتون[2] استفاده کردند (از وسط خط به آخر خط). آن‌ها برای تغییر چند کاراکتر از کد RLI استفاده کردند و بقیه چیزها را دست‌نخورده باقی گذاشتند.

در بخش راست نسخه‌ای وجود دارد که برنامه‌نویسان موقع چک کردن کد منبع آن را می‌بینند؛ سمت چپ هم نشان می‌دهد چطور کد اجرا خواهد شد. بیشتر کامپایلرها کاراکترهای کنترل را نادیده می‌گیرند. هر کسی که کد را چک می‌کند با خود فکر خواهد کرد خط پنجم یک کامنت بی‌خطر است اما در باطن یک جمله مخفی‌شده داخلش بزودی باعث خواهد شد برنامه عملیات را رد کرده و نادیده‌اش بگیرد؛ عملیاتی که کارش درآوردن پول از حساب بانکی است. در این نمونه –به بیانی دیگر- برنامه بانکی شبیه‌سازی‌شده پول را توزیع می‌کند اما موجودی حساب را کم نمی‌کند.

چرا باید از این آسیب‌پذیری ترسید؟

در اولین نگاه، این آسیب‌پذیری به نظر ساده می‌آید. چه کسی می‌آید کاراکترهای نامرئی را درج کند و امید داشته باشد ممیزگرهای کد منبع فریب بخورند؟ با این حال مشکل آنقدری جدی تلقی شده بود که یک شناسه آسیب‌پذیری تضمین شود (CVE-2021-42574). پیش از نشر این مقاله، نویسندگان در مورد رایج‌ترین کامپایلرها به توسعه‌دهندگان اطلاع دادند و به آن‌ها زمانی دادند برای آماده کردن یک سری پچ.

این آسیب‌پذیری تا چه میزان خطرناک است؟

کمی بعد از نشر این مقاله رای کاکسِ برنامه‌نویس حمله  Trojan Source را مورد انتقاد قرار داد. او در حقیقت تحت‌تأثیر قرار نگرفت. در ادامه بخش‌هایی از صحبت‌های او را خواهیم داشت:

  •         این اصلاً حمله‌ی جدیدی نیست.
  •         بسیاری از ادیتورهای کد برای نمایش کد نامرئی از برجسته‌سازی نحوی استفاده می‌کنند.
  •         پچ‌های کامپایلرها لازم نیستند- همین که با دقت کد چک شود تا مبادا در آن باگ‌های آلوده یا تصادفی وجود داشته باشد کفایت می‌کند.

در واقع مشکلی که اکنون با کاراکترهای کنترل Unicode پیدا شده است ریشه در سال 2017 دارد.  همچنین مشکل مشابهی هم با هموگلیف‌ها[3] -کاراکترهایی که یک‌جور به نظر می‌رسند اما کدهای مختلفی دارند- پیش آمده که آن هم چندان جدید نیست و کارش پنهان کردن کدهای اضافی برای عبورد دادنشان‌های از بازرسی‌های دستی است. با این حال تحلیل انتقادیِ کاکس موجودیت این چالش را انکار نمی‌کند، بلکه گزارشاتی را که در آن‌ها از بار دراماتیک بسیاری استفاده شده بود محکوم می‌کند- برای مثال توصیف نامناسب روزنامه‌نگار برایان کرب از باگ Trojan Source که می‌گفت امنیت کل کد را به خطر می‌اندازد. مشکل، واقعی است اما خوشبختانه راهکار حل آن بسیار ساده است. همه پچ‌هایی که تا به حال نشر شدند یا قرار است بزودی نشر شوند کامپایل کردن کدهای حاوی چنین کاراکترهایی را بلاک خواهند کرد. اگر از ابزارهای ساخت نرم‌افزاری مخصوص به خود استفاده می‌کنید توصیه می‌کنیم برای کاراکترهای مخفی که نباید به طور نرمال در کد منبع ظاهر شوند یک چک مشابه اضافه کنید.

خطر حملات زنجیره تأمین

بسیاری از شرکت‌ها تسک‌های توسعه را برای کنتراکتورها برون‌سپاری می‌کنند و یا از ماژول‌های منبع باز از پیش آماده در پروژه‌های خود استفاده می‌نمایند. این کار همیشه دری را به روی ورود حملات زنجیره تأمین باز می‌کند. مجرمان سایبری می‌توانند یک کنتراکتور را دستکاری کرده و یا در یک پروژه‌ی منبع باز کدی را جاساز کنند و در ادامه کد مخرب را در نسخه نهایی نرم‌افزار بگنجانند. ممیزی‌های کد معمولاً چنین بک‌درهایی را برملا می‌کنند اما اگر نکردند، کاربران نهایی ممکن است نرم‌افزار را از منابع قابل‌اطمینان دریافت کنند اما هنوز داده‌های خود را از دست داده باشند. Trojan Source نمونه‌ی دیگریست از حمله‌ای به مراتب باشکوه‌تر. مهاجمین به جای اینکه سعی کنند مگابایت‌های کد مخرب را در محصولی نهایی قاچاق کنند می‌توانند از چنین رویکردی برای معرفی ایمپلنتی که بسختی شناسایی می‌شود در بخش مهمی از یک نرم‌افزار استفاده کرده و آن را تا سال‌های آتی همچنان اکسپلویت کنند.

راهکارهای امنیتی

  •         همه کامپایلرهای زبان برنامه‌نویسی را که استفاده می‌نمایید آپدیت کنید (اگر برایشان پچی ارائه شده است)
  •         اسکریپت‌های خود را بنویسید؛ که دامنه محدودی از کاراکترهای کنترل را در کد منبع شناسایی کند.

مبارزه در برابر حملات بالقوه‌ی زنجیره تأمین نیازمند ممیزی‌های دستی کد و نیز دامنه‌ای از تست‌های اتومات است. دیدن کد خودتان از دریچه نگاه مجرمان سایبری هرگز ضرری نداشته و نخواهد داشت. سعی کنید یک ارور ساده را هدف بگیرید؛ اروری که می‌تواند کل مکانیزم امنیتی را به هم بریزد. اگر برای چنین نوع تحلیلی منابع لوکال کافی ندارید از متخصصین خارجی کمک بگیرید.

 

 

[1] Unicode Bidirectional (bidi) Algorithm

[2] Python code

[3] homoglyphs

 

منبع: کسپرسکی آنلاین (ایدکو)

کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز می‌شناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.

محصولات مرتبط

  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    25,971,000 ریال43,285,000 ریال
    خرید
  • Kaspersky Safe Kids

    اپلیکیشن همه‌کاره برای فرزندپروریِ دیجیتال و سلامت خانواده نرم افزار امنیت کودکان کسپرسکی، نظارت‌های والدین را آسان می‌کند. ردیابی مکان و عادات دستگاه، محدودسازی محتوا، متعادل‌سازی ...

    25,971,000 ریال43,285,000 ریال
    خرید
  • Kaspersky Security Cloud Personal

    تمام اپ‌های امنیتیِ ما در دستانتان. به کل خانواده‌ی اپ‌های ما برای دسکتاپ و موبایل دسترسی پیدا کنید. از آنتی‌ویروس گرفته تا ابزارهای حریم خصوصی و اجرایی، هر کدام را به میل ...

    288,722,500 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    49,005,000 ریال81,675,000 ریال
    خرید
  • Kaspersky Plus

    امنیت. کارایی. حریم خصوصی. همه در یک برنامه با کاربری آسان کسپرسکی پلاس با ارائه امنیت سایبری نسل بعد، شما در برابر ویروس‌ها، باج‌افزارها و بدافزارهای جدید محافظت کند - بدون ...

    70,273,500 ریال117,122,500 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    75,174,000 ریال125,290,000 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    519,750,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    831,572,500 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    623,672,500 ریال
    خرید
  • Kaspersky Small Office Security

    999,047,500 ریال
    خرید
  • Kaspersky Small Office Security

    727,622,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,163,635,000 ریال
    خرید
  • Kaspersky Small Office Security

    831,572,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,331,110,000 ریال
    خرید
  • Kaspersky Small Office Security

    935,522,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,495,697,500 ریال
    خرید
  • Kaspersky Small Office Security

    952,847,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,524,572,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,342,660,000 ریال
    خرید
  • Kaspersky Small Office Security

    2,148,272,500 ریال
    خرید
  • Kaspersky Small Office Security

    1,732,472,500 ریال
    خرید
  • Kaspersky Small Office Security

    2,771,972,500 ریال
    خرید
  • Kaspersky Small Office Security

    2,093,410,000 ریال
    خرید
  • Kaspersky Small Office Security

    3,349,472,500 ریال
    خرید
  • Kaspersky Small Office Security

    3,970,285,000 ریال
    خرید
  • Kaspersky Small Office Security

    6,352,472,500 ریال
    خرید
  • Kaspersky Standard For Mobile

    امنیت موبایل خود را در تمامی دستگاه‌ها به‌طور کامل سامان‌دهی کنید. دستگاه‌های هوشمند خود را با یک موبایل سکیوریتی، در برابر جدیدترین تهدیدات دیجیتال محافظت کنید — تا خیال‌تان ...

    49,005,000 ریال
    خرید
  • Kaspersky Standard

    کسپرسکی استاندارد

    98,026,500 ریال163,377,500 ریال
    خرید
  • Kaspersky Standard

    کسپرسکی استاندارد

    57,189,000 ریال95,315,000 ریال
    خرید
  • Kaspersky Standard

    کسپرسکی استاندارد

    114,378,000 ریال190,630,000 ریال
    خرید
  • Kaspersky Standard

    کسپرسکی استاندارد

    63,723,000 ریال106,205,000 ریال
    خرید
  • Kaspersky Standard

    کسپرسکی استاندارد

    127,462,500 ریال212,437,500 ریال
    خرید
  • Kaspersky Standard

    کسپرسکی استاندارد

    83,341,500 ریال138,902,500 ریال
    خرید
  • Kaspersky Standard

    کسپرسکی استاندارد

    166,650,000 ریال277,750,000 ریال
    خرید
  • Kaspersky Plus

    کسپرسکی پلاس

    140,530,500 ریال234,217,500 ریال
    خرید
  • Kaspersky Plus

    کسپرسکی پلاس

    76,807,500 ریال128,012,500 ریال
    خرید
  • Kaspersky Plus

    کسپرسکی پلاس

    153,615,000 ریال256,025,000 ریال
    خرید
  • Kaspersky Plus

    کسپرسکی پلاس

    84,975,000 ریال141,625,000 ریال
    خرید
  • Kaspersky Plus

    کسپرسکی پلاس

    169,933,500 ریال283,222,500 ریال
    خرید
  • Kaspersky Plus

    کسپرسکی پلاس

    102,943,500 ریال171,572,500 ریال
    خرید
  • Kaspersky Plus

    کسپرسکی پلاس

    205,903,500 ریال343,172,500 ریال
    خرید
  • Kaspersky Premium

    کسپرسکی پریمیوم

    83,341,500 ریال138,902,500 ریال
    خرید
  • Kaspersky Premium

    کسپرسکی پریمیوم

    89,875,500 ریال149,792,500 ریال
    خرید
  • Kaspersky Premium

    کسپرسکی پریمیوم

    107,844,000 ریال179,740,000 ریال
    خرید
  • Kaspersky Premium

    کسپرسکی پریمیوم

    143,814,000 ریال239,690,000 ریال
    خرید
  • Kaspersky Next EDR Foundations

    حفاظت بی‌نظیر از نقطه پایانی(اندپوینت) که برای کسب و کار شما ساده‌سازی شده است.

    0 ریال
    خرید
  • Kaspersky Next EDR Optimum

    با بهره‌گیری از امنیت یکپارچه، دید گسترده نسبت به تهدیدات، بررسی سریع رخدادها و پاسخ‌گویی هدایت‌شده، از اختلال در کسب‌وکار جلوگیری کرده و با تهدیدات پیچیده و پنهان مقابله کنید.

    0 ریال
    خرید
  • Kaspersky Next XDR Optimum

    توانمندی‌های پاسخ‌گویی به حوادث امنیتی را تقویت کنید با بهره‌گیری از هشدارهای متمرکز، دید کامل نسبت به Active Directory، قابلیت Cloud Sandbox و امکانات پیشرفته دیگر، سطح حفاظت را فراتر از Endpointها ...

    0 ریال
    خرید
  • Kaspersky Next MXDR Optimum

    از حفاظت مدیریت‌شده توسط متخصصان در برابر تهدیدات پیچیده و پیشرفته بهره‌مند شوید. این سرویس توسط کارشناسان SOC کسپرسکی با نظارت 24 ساعته و 7 روز هفته بر زیرساخت سازمان ارائه می‌شود و در عین حال، ...

    0 ریال
    خرید
  • Kaspersky Security for Microsoft Office 365

    راهکار جامع و پیشرفته برای محافظت در برابر تهدیدات در سرویس‌های ارتباطی و همکاری Microsoft 365؛ شامل Exchange Online، Teams، SharePoint و OneDrive

    0 ریال
    خرید
  • Kaspersky Automated Security Awareness Platform

    پلتفرم آموزش آنلاین کسپرسکی با افزایش آگاهی امنیت سایبری کارکنان، از شبکه و اطلاعات سازمان محافظت می‌کند.

    0 ریال
    خرید
  • Kaspersky Private Security Network

    جامع‌ترین پایگاه داده اطلاعات تهدید برای شبکه‌های ایزوله و محیط‌های با محدودیت سخت‌گیرانه در اشتراک‌گذاری داده‌ها

    0 ریال
    خرید
  • Kaspersky Embedded Systems Security

    ما امنیت چندلایه و منحصربه‌فردی را که به‌طور ویژه برای سیستم‌های Embedded طراحی شده است ارائه می‌کنیم تا در برابر تهدیدات در حال تحول محافظت ایجاد شود؛ با ارائه بالاترین سطح حفاظت برای انواع ...

    0 ریال
    خرید
  • Kaspersky SIEM

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

    0 ریال
    خرید
  • Kaspersky Next EDR Expert

    ایجاد دفاع امنیتی قدرتمند در برابر تهدیدات پیچیده و هدفمند با تشخیص پیشرفته، دید جامع و پاسخ‌گویی سفارشی

    0 ریال
    خرید
  • Kaspersky Next XDR Expert

    دید گسترده‌تر، پاسخ‌گویی خودکار و تشخیص سریع‌تر تهدیدات

    0 ریال
    خرید
  • Kaspersky Industrial CyberSecurity

    پلتفرم بومی تشخیص و پاسخ‌گویی توسعه‌یافته (XDR) برای حفاظت از زیرساخت‌های حیاتی

    0 ریال
    خرید
  • Kaspersky Antidrone

    سیستم شناسایی و مقابله با پهپاد Kaspersky Antidrone به شما امکان می‌دهد انواع و کلاس‌های مختلف پهپادهای غیرنظامی را شناسایی، طبقه‌بندی و حتی در صورت لزوم و وجود مجوز قانونی، خنثی کنید.

    0 ریال
    خرید

نظر خودتان را ارسال کنید


کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً وارد سایت شوید.
*نظر
کلیه حقوق مادی و معنوی این سایت محفوظ و متعلق به شرکت گسترش خدمات تجارت الکترونیک ایرانیان است و هر گونه کپی برداری از آن پیگرد قانونی دارد