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

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 Cloud Password Manager

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

    15,771,480 ریال26,285,800 ریال
    خرید
  • Kaspersky Safe Kids

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

    15,771,480 ریال26,285,800 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    175,333,300 ریال
    خرید
  • Kaspersky Standard

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

    29,759,400 ریال49,599,000 ریال
    خرید
  • Kaspersky Plus

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

    42,675,180 ریال71,125,300 ریال
    خرید
  • Kaspersky Premium

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

    45,651,120 ریال76,085,200 ریال
    خرید
  • Kaspersky Small Office Security

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

    189,378,000 ریال315,630,000 ریال
    خرید
  • Kaspersky Small Office Security

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

    302,994,780 ریال504,991,300 ریال
    خرید
  • Kaspersky Small Office Security

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

    227,243,580 ریال378,739,300 ریال
    خرید
  • Kaspersky Small Office Security

    364,016,580 ریال606,694,300 ریال
    خرید
  • Kaspersky Small Office Security

    265,119,180 ریال441,865,300 ریال
    خرید
  • Kaspersky Small Office Security

    423,986,280 ریال706,643,800 ریال
    خرید
  • Kaspersky Small Office Security

    302,994,780 ریال504,991,300 ریال
    خرید
  • Kaspersky Small Office Security

    485,008,080 ریال808,346,800 ریال
    خرید
  • Kaspersky Small Office Security

    340,870,380 ریال568,117,300 ریال
    خرید
  • Kaspersky Small Office Security

    544,977,780 ریال908,296,300 ریال
    خرید
  • Kaspersky Small Office Security

    347,182,980 ریال578,638,300 ریال
    خرید
  • Kaspersky Small Office Security

    555,498,780 ریال925,831,300 ریال
    خرید
  • Kaspersky Small Office Security

    489,216,480 ریال815,360,800 ریال
    خرید
  • Kaspersky Small Office Security

    782,752,380 ریال1,304,587,300 ریال
    خرید
  • Kaspersky Small Office Security

    631,249,980 ریال1,052,083,300 ریال
    خرید
  • Kaspersky Small Office Security

    1,010,005,980 ریال1,683,343,300 ریال
    خرید
  • Kaspersky Small Office Security

    762,762,480 ریال1,271,270,800 ریال
    خرید
  • Kaspersky Small Office Security

    1,220,425,980 ریال2,034,043,300 ریال
    خرید
  • Kaspersky Small Office Security

    1,446,627,480 ریال2,411,045,800 ریال
    خرید
  • Kaspersky Small Office Security

    2,314,609,980 ریال3,857,683,300 ریال
    خرید
  • Kaspersky Standard For Mobile

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

    29,759,400 ریال
    خرید

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


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