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

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,080,750 ریال
    خرید
  • Kaspersky Cloud Password Manager

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

    10,624,500 ریال
    خرید
  • Kaspersky Safe Kids

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

    10,624,500 ریال
    خرید
  • Kaspersky Small Office Security

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

    25,515,000 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    70,868,250 ریال
    خرید
  • Kaspersky Standard

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

    20,047,500 ریال
    خرید
  • Kaspersky Plus

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

    28,748,250 ریال
    خرید
  • Kaspersky Premium

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

    30,753,000 ریال
    خرید

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


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