خطرات آسیب‌پذیری‌های پانزده ساله

10 مهر 1401 خطرات آسیب‌پذیری‌های پانزده ساله

روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛ سپتامبر 2022، شرکت Trellix گزارشی در مورد یک آسیب‌پذیری در ماژول تارفایل[1] -که بخشی از آرشیو استاندارد مخصوص زبان برنامه‌نویسی پیتون و هر کسی می‌تواند از آن استفاده کند- منتشر کرد. این آسیب‌پذیری به فایل دلخواه اجازه می‌دهد در فولدر دلخواه روی هارد درایو نوشته شود و در برخی موارد حتی اجازه اجرای کد مخرب را نیز می‌دهد. آنچه این مورد مطالعاتی را مهم کرده است مشکلی است که در آگست 2007 در تارفایل کشف شد (بله درست خواندید، 15 سال پیش!). اما آن زمان این مشکل، خطرناک تلقی نمی‌شد. در ادامه قصد داریم بررسی کنیم چرا 15 سال پیش این مسئله را جدی نگرفتند و در نتیجه این غفلت توسعه‌دهندگان پیتون و کاربران آن می‌توانند با چه چالش‌هایی مواجه شوند؟ با ما همراه بمانید.

زیر و بم تارفایل

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

../../../../../etc/passwd

اگر چنین آرشیوی را بعنوان ادمین سیستم آن‌پک کنید، فایل پسورد در دایرکتوری جایی که خود آرشیو قرار دارد نوشته نمی‌شود. آن‌پکر موقع عبور از مسیر المان‌های /../ ابتدا به روت دایرکتوری می‌رسد، سپس فایل پسورد را در دایرکتوری /etc اوررایت می‌کند. در لینوکس این یعنی پاک کردن فایل معمولی حاوی اطلاعات همه کاربران سیستم. خطر در این بخش این است که کاربر برنامه‌ای که ماژول تارفایل را به کار گرفته نمی‌داند آن‌پکینگ یک آرشیو معمولی چقدر نرمال قرار است به پایان برسد. شاید هیچ‌چیز و یا چندتایی فایل در مکان غیرقابل‌انتظار پدید آید. یا هم برخی فایل‌های کاربری ممکن است اوررایت شوند. نویسنده این گزارش باگ در خود آرشیو تار از این مشکل سخن می‌گوید که البته سال 2001 فیکس شد (چیزی بیش از بیست سال پیش) اما آسیب‌پذیری در خود تارفایل هرگز بسته نشد.

انتظاری 15 ساله!

در پی مباحثات این باگ احتمالی در سال 2007 تصمیم بر آن شد تا دست روی دست گذاشته شود. آن هم به دو دلیل: ابتدا اینکه چنین پردازش فایلی در تطابق کامل با استاندارد Unix POSIX است (ما صحت آن را تأیید می‌کنیم). دوم اینکه «هیچ امکان اکسپلویتی در بخش اجرایی وجود ندارد». هشدار در مورد آن‌پک نکردن فایل‌ها از منابع مشکوک و نامعتبر (که از تارفایل استفاده می‌کنند) در راهنمای کاربر کافی نبود. این برآورد در سال 2022 غلط از آب درآمد؛ درست وقتی Trellix نشان داد اکسپلویت در فاز اجرایی بسیار هم محتمل است! و نه تنها این امر برای نوشتن داده هر جایی که دلخواه است امکان داشت که همچنین برای اجرای کد دلخواه نیز چنین بستری براحتی فراهم بود. یادتان باشد این آرشیوی است برای برنامه‌نویس‌ها؛ یعنی امکان حمله به نرم‌افزار بخصوصی که در آن ماژول تارفایل استفاده می‌شود بستگی دارد. Trellix دو نمونه ارائه داد.

اولی  Universal Radio Hacker است: برنامه‌ای برای تحلیل پروتکل‌های وایرلس ناشناس که داده‌ها را در قالب پروژه‌ها ذخیره می‌کند و شامل چندین فایل پک‌شده در قالب تار می‌شود. محققین نشان دادند چطور می‌شود در یک فایل قابل‌اجرا که دارد در دایرکتوری اجرای خودکار ویندوز نوشته می‌شود، نتایج از قبل آماده‌شده‌ی آرشیو را باز کرد. پس بار بعد که سیستم ریبوت می‌شود کد نیز اجرا می‌گردد. این آسیب‌پذیری می‌تواند –از بین موارد دیگر- روی پلت‌فرم‌های دیگر نیز اکسپلویت گردد.

دومی نمونه‌ای پیچیده‌تر است: محیط توسعه Spyder IDE که کارش ذخیره داده در آرشیوهای تار است. موقع ایمپورت کردن این داده‌ها محققین ابتدا آزمایش را با کاشت فایل در سیستم تکرار کردند اما بعدش کار جالب‌تری انجام دادند: آن‌ها کد دلخواه را برای اجرا در استارت‌آپ بعدیِ Spyder برنامه‌نویسی کردند. نتیجه نهایی این آزمایش درخواستی بود برای اجرای کد دلخواه این بار با مزایای ادمین سیستم.

پیامدهای غیرقابل‌پیش‌بینی

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

  •         پردازش فایل‌ها را از منابع نامطئن محدود سازید.
  •         برای کاهش فرصت‌های حمله، اقل مزیت را به برنامه‌های طرف‌سوم بدهید.
  •         نرم‌افزارهایی که روی مهمترین سیستم‌های شما استفاده می‌شد ممیزی کنید تا آن‌هایی را که از قابلیت‌های آسیب‌پذیر استفاده می‌کنند شناسایی کنید.

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

 

 

[1]  tarfile module

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

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

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

  • Kaspersky Internet Security for Android

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

    7,238,100 ریال
    خرید
  • Kaspersky Cloud Password Manager

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

    10,860,600 ریال
    خرید
  • Kaspersky Safe Kids

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

    1,086,060 ریال10,860,600 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    72,443,100 ریال
    خرید
  • Kaspersky Standard

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

    10,246,500 ریال20,493,000 ریال
    خرید
  • Kaspersky Plus

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

    14,693,550 ریال29,387,100 ریال
    خرید
  • Kaspersky Premium

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

    15,718,200 ریال31,436,400 ریال
    خرید
  • Kaspersky Small Office Security

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

    65,201,550 ریال130,403,100 ریال
    خرید
  • Kaspersky Small Office Security

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

    208,649,100 ریال
    خرید
  • Kaspersky Small Office Security

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

    78,242,550 ریال156,485,100 ریال
    خرید
  • Kaspersky Small Office Security

    250,670,100 ریال
    خرید
  • Kaspersky Small Office Security

    91,283,550 ریال182,567,100 ریال
    خرید
  • Kaspersky Small Office Security

    291,966,600 ریال
    خرید
  • Kaspersky Small Office Security

    104,324,550 ریال208,649,100 ریال
    خرید
  • Kaspersky Small Office Security

    333,987,600 ریال
    خرید
  • Kaspersky Small Office Security

    117,365,550 ریال234,731,100 ریال
    خرید
  • Kaspersky Small Office Security

    375,284,100 ریال
    خرید
  • Kaspersky Small Office Security

    119,539,050 ریال239,078,100 ریال
    خرید
  • Kaspersky Small Office Security

    382,529,100 ریال
    خرید
  • Kaspersky Small Office Security

    168,442,800 ریال336,885,600 ریال
    خرید
  • Kaspersky Small Office Security

    539,021,100 ریال
    خرید
  • Kaspersky Small Office Security

    217,346,550 ریال434,693,100 ریال
    خرید
  • Kaspersky Small Office Security

    695,513,100 ریال
    خرید
  • Kaspersky Small Office Security

    262,627,800 ریال525,255,600 ریال
    خرید
  • Kaspersky Small Office Security

    840,413,100 ریال
    خرید
  • Kaspersky Small Office Security

    498,090,300 ریال996,180,600 ریال
    خرید
  • Kaspersky Small Office Security

    1,593,893,100 ریال
    خرید

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


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