ویرایشگر

اگر شما یک توسعه‌دهنده، طراح یا نویسنده باشید، یک ویرایشگر متن خوب همیشه به شما کمک می‌کند تا در زمان صرفه‌جویی کنید و کارایی مؤثرتری داشته باشید.

به‌عنوان‌مثال، بسیاری از افراد در هنگام برنامه‌نویسی از Sublime استفاده می‌کنند چون شامل برخی ابزارهای مفید مانند «برجسته‌سازی syntax» و «تکمیل خودکار» است که هر ویرایشگر متن پیشرفته باید داشته باشد.

علاوه بر این، این ویرایشگرهای متن پیشرفته قابلیت توسعه‌پذیری را در اختیار کاربران قرار می‌دهند و اجازه می‌دهند کاربران افزونه‌‌های شخص ثالث را برای گسترش عملکرد ویرایشگر و مهم‌تر از بقیه محدوده(۱) آن، نصب و اجرا کنند.

بااین‌حال، این واقعیت شناخته شده است که افزونه‌های شخص ثالث همیشه خطر زیادی برای هک شدن دارند، چه در مورد افزونه‌های WordPress [1] و چه افزونه‌های ویندوز برای Chrome [2]، فایرفاکس یا Photoshop.

محقق SafeBreach یعنی Dor Azouri چندین ویرایشگر متن قابل‌انعطاف(۲) و معروف را برای سیستم‌های یونیکس و لینوکس ازجمله Sublime، Vim، Emacs، Gedit و Pico/Nano مورد تجزیه‌وتحلیل قرار داد و متوجه شد [۳] که به‌جز Pico/Nano، همه آن‌ها در معرض یک نقص بحرانی افزایش سطح دسترسی قرار دارند که می‌تواند توسط مهاجمان مورد سوء‌استفاده قرار گیرد تا کدهای مخرب را بر روی ماشین‌های قربانیان اجرا کنند.

در مقاله منتشرشده دراین‌باره آمده است [۴]: “این روش بدون اینکه فایل موردنظر در ویرایشگر باز شود یا نه، موفق می‌شود، بنابراین حتی محدودیت‌هایی که معمولاً در دستورات sudo اعمال می‌شود ممکن است از آن محافظت نکنند. کاربران فنی گاهی اوقات مجبور هستند فایل‌های متعلق به ریشه را ویرایش کنند و برای این منظور آن‌ها ویرایشگر خود را با سطح دسترسی بالا باز می‌کنند. دلایل معتبر زیادی برای افزایش سطح دسترسی ویرایشگر وجود دارد.”

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

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

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

Azouri می‌گوید که کاربران یونیکس می‌توانند از یک سیستم شناسایی نفوذ مبتنی بر میزبان و منبع باز به نام OSSEC استفاده کنند [۵]، تا به‌طور فعال فعالیت سیستم، یکپارچگی پرونده‌ها، logها و فرآیندها را مونیتور کنند.

کاربران از بارگیری افزونه‌‌های شخص ثالث در هنگامی‌که ویرایشگر دارای سطح دسترسی بالاست، اجتناب کنند و همچنین مجوزهای نوشتن را برای کاربران غیرمجاز رد کنند.

Azouri به توسعه‌دهندگان ویرایشگرهای متن توصیه کرد که مدل‌های مجوزهای فایل و فولدرها را تغییر دهند تا تفکیک بین حالت‌های ساده و دارای سطح دسترسی بالا کامل شود و در صورت امکان یک رابط دستی(۳) برای کاربران برای تائید بارگذاری افزونه‌های با سطح دسترسی بالا ایجاد کنند.

منابع

[۱] https://apa.aut.ac.ir/?p=3339

[۲] https://apa.aut.ac.ir/?p=2846

[۳] https://safebreach.com/Post/Abusing-Text-Editors-with-Third-party-Plugins

[۴] https://go.safebreach.com/rs/535-IXZ-934/images/Abusing_Text_Editors.pdf

[۵] https://ossec.github.io

[۶] https://thehackernews.com/2018/03/text-editors-extensibility.html


(۱) scope
(۲) extensible
(۳) manual interface