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

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 Internet Security

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

    9,447,000 ریال
    خرید
  • Kaspersky Internet Security for Android

    امنیت پیشرفته‌ای که همیشه همراه شماست بخش مهمی از زندگی اکثر ما اکنون روی گوشی‌ها و تبلت‌هاست- پس به امنیت موبایلی نیاز دارید که شما را همیشه امن نگه ...

    3,147,000 ریال
    خرید
  • Kaspersky Total Security

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

    12,597,000 ریال
    خرید
  • Kaspersky Cloud Password Manager

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

    4,722,000 ریال
    خرید
  • Kaspersky Safe Kids

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

    4,722,000 ریال
    خرید
  • Kaspersky Antivirus

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

    6,297,000 ریال
    خرید
  • Kaspersky Small Office Security

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

    11,340,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Select

    حفظ امنیت داده‌ها، سیستم‌ها، و نیروهای کاری سیار ضدبدافزار چندلایه که برنده جایزه شده است کنترل‌گرهای اندپوینت-برنامه، ابزار و وب امنیت ...

    132,300,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Select

    Kaspersky Endpoint Security for Business Select

    177,189,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Select

    Kaspersky Endpoint Security for Business Select

    214,200,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Select

    Kaspersky Endpoint Security for Business Select

    240,189,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Select

    Kaspersky Endpoint Security for Business Select

    433,125,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Select

    Kaspersky Endpoint Security for Business Select

    787,500,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Advanced

    ارتقا امنیت و کارایی فناوری اطلاعات در محیط کاری شما کنترل‌های نهایی ضدبدافزار و رمزیابی داده مدیریت پچ و مدیریت فناوری اطلاعات و ابزارهای کارآمد ...

    185,850,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Advanced

    Kaspersky Endpoint Security for Business Advanced

    250,425,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Advanced

    Kaspersky Endpoint Security for Business Advanced

    299,250,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Advanced

    Kaspersky Endpoint Security for Business Advanced

    338,625,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Advanced

    Kaspersky Endpoint Security for Business Advanced

    606,375,000 ریال
    خرید
  • Kaspersky Endpoint Security for Business Advanced

    Kaspersky Endpoint Security for Business Advanced

    1,102,500,000 ریال
    خرید
  • Kaspersky Total Security for Business

    راهکار نهایی مدیریت سیستم‌ها و امنیت ضدبدافزار، کنترل‌گرها، رمزنگاری و امنیت سیار مدیریت پچ و اسکن خودکار آسیب‌پذیری‌ها کارکرد مدیریت ...

    315,000,000 ریال
    خرید
  • Kaspersky Total Security for Business

    Kaspersky Total Security for Business

    422,889,000 ریال
    خرید
  • Kaspersky Total Security for Business

    Kaspersky Total Security for Business

    507,150,000 ریال
    خرید
  • Kaspersky Total Security for Business

    Kaspersky Total Security for Business

    574,875,000 ریال
    خرید
  • Kaspersky Total Security for Business

    Kaspersky Total Security for Business

    1,023,750,000 ریال
    خرید
  • Kaspersky Total Security for Business

    Kaspersky Total Security for Business

    1,874,250,000 ریال
    خرید
  • Kaspersky Internet Security

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

    17,007,000 ریال
    خرید
  • Kaspersky Internet Security

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

    10,392,000 ریال
    خرید
  • Kaspersky Internet Security

    کسپرسکی اینترنت سکیوریتی مولتی دیوایس

    18,897,000 ریال
    خرید
  • Kaspersky Internet Security

    راه‌حلی مولتی پلتفرم (چند سکویی) برای PCها، مک‌ها و دستگاه‌های اندرویدی، همگی با یک لایسنس برای امور بانکی، خرید، وبگردی و کار با شبکه‌های اجتماعی آنلاین، دستگاهتان هرچه باشد، ...

    12,282,000 ریال
    خرید
  • Kaspersky Internet Security

    Kaspersky Internet Security Multi Device 2015

    22,047,000 ریال
    خرید
  • Kaspersky Internet Security

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

    13,857,000 ریال
    خرید
  • Kaspersky Internet Security

    کسپرسکی اینترنت سکیوریتی مولتی دیوایس

    25,197,000 ریال
    خرید
  • Kaspersky Internet Security

    کسپرسکی اینترنت سکیوریتی مولتی دیوایس

    16,377,000 ریال
    خرید
  • Kaspersky Internet Security

    کسپرسکی اینترنت سکیوریتی مولتی دیوایس

    29,607,000 ریال
    خرید
  • Kaspersky Internet Security for Android

    تضمین امنیت اسمارت فون ها و تبلت ها؛ فقط با یک محصول Kaspersky Security for Android قادر است از ابزارهاي اندرويدي و اطلاعات شخصي ذخيره ...

    4,722,000 ریال
    خرید
  • Kaspersky Total Security

    کسپرسکی توتال سکیوریتی مولتی دیوایس

    22,677,000 ریال
    خرید
  • Kaspersky Total Security

    کسپرسکی توتال سکیوریتی مولتی دیوایس

    18,897,000 ریال
    خرید
  • Kaspersky Total Security

    کسپرسکی توتال سکیوریتی مولتی دیوایس

    34,017,000 ریال
    خرید
  • Kaspersky Total Security

    کسپرسکی توتال سکیوریتی مولتی دیوایس

    22,047,000 ریال
    خرید
  • Kaspersky Total Security

    کسپرسکی توتال سکیوریتی مولتی دیوایس

    28,347,000 ریال
    خرید
  • Kaspersky Total Security

    کسپرسکی توتال سکیوریتی مولتی دیوایس

    50,397,000 ریال
    خرید
  • Kaspersky Antivirus

    یک لحظه به همه ی چیزهای مهمی که روی کامپیوترتان نگه می دارید فکر کنید! ما می توانیم به شما در محافظت از انها در برابر ویروس ها، ابزارهای جاسوسی و غیره کمک کنیم. ...

    9,447,000 ریال
    خرید
  • Kaspersky Antivirus

    یک لحظه به همه ی چیزهای مهمی که روی کامپیوترتان نگه می دارید فکر کنید! ما می توانیم به شما در محافظت از انها در برابر ویروس ها، ابزارهای جاسوسی و غیره کمک کنیم. ...

    17,322,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک نسخه 6

    10,395,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک نسخه 6

    9,765,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک نسخه 6

    9,450,000 ریال
    خرید
  • Kaspersky Small Office Security

    9,135,000 ریال
    خرید

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


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