آیا فایلهای متنی امن هستند؟
کارمندانی که ایمیلهای خارجی دریافت میکنند معمولاً اطلاعاتی در مورد اینکه چه فایلهایی به طوربالقوه خطرناک هستند نیز به دستشان میرسد. برای مثال فایلهای EXE به طور پیشفرض ناامن تلقی میشوند؛ همینطور فایلهای DOCX و XLSX که میتوانند در خود ماکروهای آلوده داشته باشند.
فایلهای متنی اما معمولاً از ابتدا فایلهایی امن انگاشته شدهاند؛ زیرا نمیتوانند حاوی چیزی غیر از متن ساده باشند. اما این همه ماجرا نیست. محققین روشی پیدا کردهاند که توسط آن میشود آسیبپذیریای را (که اکنون پچ شده) در همین فرمت اکسپلویت کرد. آنها همچنین آسیبپذیریهای بیشتری را نیز کشف کردند. فرمت فایل در واقع ایراد کار نیست؛ چالش نحوهی مدیریت کردن متنها توسط برنامههاست.
آسیبپذیری CVE-2019-8761 مکاواس
محققی به نام پاولس ییبلو روش حمله کنجکاوانه را معرفی کرد: حمله به کامپیوترهای مکاواس از طریق فایلهای متنی. مانند هر راهکار محافظتی دیگری، سیستم امنیتی درونسازهای macOS (Gatekeeper) فایلهای متنی را کاملاً قابل اعتماد میپندارد. کاربران میتوانند با استفاده از ویرایشگر درونسازهای TextEdit بدون بررسیهای اضافی آنها را دانلود و باز کنند. با این حال، TextEdit یکجورهایی از نوتپد مایکروسافت ویندوز پیچیدهتر است. میتوانند کارهای بیشتری از جمله نمایش متن در حالت برجسته انجام دهد، به کاربران اجازه دهد رنگ فونت را تغییر دهند و … از آنجایی که فرمت TXT برای ذخیره اطلاعات سبک طراحی نشده است، TextEdit اطلاعات فنی بیشتری را میگیرد تا بتواند این تسک را مدیریت نماید. برای مثال اگر فایلی با خط <!DOCTYPE HTML><html><head></head><body> شروع شود، TextEdit شروع میکند به مدیریت تگهای HTML؛ حتی در فایلی با افزونهی .txt. در اصل، نوشتن کد HTML در فایل متنی که با آن خط شروع میشود TextEdit را مجبور میکند به پردازش کد یا دست کم برخی المانهای آن.
احتمال حمله از طریق فایلهای متنی
ییبلو بعد از آنکه به دقت همه احتمالات موجود برای مهاجم بالقوه را که از این روش استفاده کرده بود بررسی کرد، متوجه این آسیبپذیری میتواند:
- حملات DoS را کلید بزند. Gatekeeper از باز شدن فایلهای لوکال از چیزی که پسوند یا افزونه متنی دارد جلوگیری نمیکند. بنابراین باز کردن فایل متنی آلوده میتواند باعث اوردلود شدن کامپیوتر شود؛ برای مثال با استفاده از کد HTML جهت دسترسی به فایل /dev/zero (منبع بیپایانی از کاراکترهای پوچ).
- باعث شود آدرس آیپی واقعی کاربر شناسایی شود. کد داخل فایل متنی میتواند AutoFS–برنامه استاندارد نصب فایل سیستمها- را فراخواند. همین میتواند اسباب دسترسی به درایو خارجی را فراهم کند. گرچه این کار به خودی خود بیضرر است -چون پروسه نصب خودکار سیستم کرنل را مجبور به ارسال درخواست TCP میکند؛ حتی اگر کاربر در پس سرور پروکسی باشد- اما سازنده فایل متن آلوده میتواند زمان دقیقی که باز شده را فهمیده و آدرس آیپی واقعی را ثبت کند.
- سرقت فایل را موجب شود. کل فایلها را میشود در داکیومت متنی حاوی <inframedoc> درج کرد. از این رو، فایل متنی آلوده میتواند به هر فایلی روی کامپیوتر قربانی دسترسی پیدا کرده و بعد محتواهای آن را با حملهای انتقال دهد. فقط کافیست کاربر فایل را باز کند.
این آسیبپذیری دسامبر 2019 به اپل گزارش شد و شماره آسیبپذیری CVE-2019-8761 را نیز به خود اختصاص داد.
راهکارهای امنیتی
آپدیت 2020 آسیبپذیری CVE-2019-8761 را پچ کرد اما این هیچ تضمینی نمیدهد که هیچ باگ مربوط به متنی در نرمافزار رخ ندهد. شاید هنوز آسیبپذیریهایی وجود دارد که کسی طرز اکسپلویت آنها را بلد نشده است. پس پاسخ درست به سوال «آیا فایلهای متنی امن هستند؟» این است: «بله در حال حاضر. اما گوش به زنگ باشید». از این رو توصیه ما آموزش دادن به همه کارمندان در خصوص این تهدید احتمالی است؛ حتی اگر به نظر یک فایل متن سادهی ساده بیاید. صرفنظر از همه اینها مدیریت کلیه جریانهای خروجی اطلاعاتی شرکت نیز توصیه میگردد.