Hari ini gue habis mengeksplorasi laptop lama gue yang sekarang dipakai sama orang rumah, mostly sama adik gue yang paling muda. Laptop tersebut menggunakan sistem operasi ehm Windows 7 dengan RAM sebesar 8GB dan 1 core CPU. Ini laptop pertama gue yang dipakai untuk kuliah dulu, terakhir kali gue gunakan pada tahun 2017 masih menggunakan sistem operasi Ubuntu.
Hal pertama yang ada dipikiran gue ketika mendengar kata Windows adalah Bill Gates. Just kidding, melainkan virus. Virus pada dasarnya hanyalah sebuah program yang menjalankan instruksi khusus, tujuannya entah untuk menguntungkan bisnis Anti Virus ataupun untuk mencari keuntungan lain seperti mencuri data pribadi.
Setiap virus (atau program pada umumnya) pasti memiliki "signature", dan signature tersebut umumnya digunakan untuk memverifikasi apakah program X (terlepas nama programnya apa) memiliki signature yang ada di database si program Anti Virus tersebut. Untuk pengembang virus awam, virus buatan mereka akan mudah dilacak dengan ini.
Pengembang virus yang cukup advance, biasanya melakukan teknik "polymorphic" untuk terhindar dari deteksi ketika program Anti Virus melakukan pemindaian.
Antivirus yang cukup advance (apalagi yang biasa menggunakan "AI-powered" ataupun "ML-powered" sebagai pemasarannya) akan melakukan analisa tingkah laku dari program-program yang dianggap mencurigakan.
Virus menurut gue umumnya ada 4 jenis:
- Botnet
- Malware
- Ransomware
- Malvertising
Botnet ini biasanya digunakan untuk melakukan suatu penyerangan, komputer yang terinfeksi virus seperti ini dianggap sebagai "zombie".
Malware ini biasanya digunakan untuk melakukan suatu penipuan, komputer yang terinfeksi virus seperti ini mungkin akan dijadikan sebagai "TOR exit node" ataupun sebagai SMTP server untuk mengirim spam. Or even worse, bertindak sebagai keylogger ataupun spyware lainnya.
Ransomware ini biasanya digunakan untuk melakukan suatu perampokan, komputer yang terinfeksi virus seperti ini akan diminta untuk mengirim sejumlah uang untuk mengembalikan berkas-berkas yang menjadi "heist" alias permainan "harta atau nyawa".
Malvertising ini biasanya digunakan untuk menampilkan iklan, memasukkan tautan dengan afiliasi, memanipulasi tautan, dsb tanpa instruksi ataupun sepengetahuan penggunanya.
Di level yang lebih tinggi, bahkan ada virus yang berada di "boot sector" (UEFI exists for a reason).
Menganggap komputer "secure by default" pada hari ini relatif sulit diyakini khususnya untuk "non power user". Untuk setup komputer dan jaringan di rumah pribadi gue sendiri aja masih cukup strict, dan melihat setup komputer dan jaringan di rumah orang tua gue saat ini membuat gue sedikit khawatir karena gue yakin pasti ada yang kurang beres disini.
Memahami Virus
Gue pribadi pernah membuat sebuah virus, pada tahun 2013-2014 jika tidak salah ingat ketika masih bermain dengan Visual Basic. Satu pembeda kontras antara "program virus" dan "program non-virus" adalah di behavior nya, jika program lo bertingkah seperti virus komputer, maka program lo adalah virus komputer.
Virus komputer umumnya harus berjalan tanpa harus ada aksi apapun dari penggunannya, misalnya, seperti melakukan double click ke sebuah program berlogo tong sampah untuk membuka "Recycle Bin". Selain itu, virus pastinya tidak menggunakan GUI dan berjalan di background.
Setiap sistem operasi pasti memiliki lifecycle, dan lifecycle yang paling laku digunakan adalah "setelah boot" yang anggap seperti runlevel 3 di System V-style init. Di Windows, setiap program yang akan berjalan di kondisi setelah boot ini terdaftar di "registry" yang harusnya berada di HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run*
Untuk menyembunyikan si virus dari deteksi, biasanya flow untuk menjalankan si virus tersebut seperti ini:
- Gunakan
powershell.exe
untuk menjalankan perintah, yang biasanya di encoded - Perintah tersebut melakukan penyalinan program ke temporary directory (ehm, folder)
- Jalankan virus yang berkaitan dengan apa yang ada di temporary directory tersebut (termasuk jika virus tersebut berada disitu)
Pendekatan ini cukup efektif, pada dasarnya temporary directory digunakan untuk menyimpan berkas ephemeral, yang akan dihapus setiap kali komputer reboot. Berkas-berkas yang ada disini dianggap tidak terlalu penting, karena jika memang penting, si pengembang program tidak akan menyimpan berkasnya ke directory tersebut.
Sederhananya si virus ini bertindak menggunakan prinsip "supervision", yang child process nya adalah si virus itu sendiri. Jika si virus bertindak sebagai daemon, tentu nantinya akan lebih mudah terdeteksi.
My problem
Gue membuka Task Manager dan Performance monitor thing, ada sebuah proses menarik yang menggunakan legit powershell.exe
untuk berkomunikasi dengan sebuah endpoint yang menunjukkan "tor-exit" di target hostname nya.
Tentu ini mencurigakan, pertama, tidak ada tor browser di komputer ini. Kedua, tidak ada ekstensi "Snowflake" di Chrome yang digunakan. Ketiga, tidak ada keputusan untuk menjadi Tor Bridge di komputer ini.
Komputer ini hanya digunakan untuk bermain Roblox oleh adik gue dan beberapa game offline oleh bokap. Mungkin ada digunakan untuk browsing juga, idk.
Meskipun mungkin gue bisa mitigasi khusus si tor-exit thing ini dengan proteksi di level DNS, tapi akan menjadi PR lagi bila langsung menembak ke alamat IP, dan di jaringan rumah orang tua gue tidak ada hardware firewall sebagaimana di kosan gue.
Distribusi virus
Setidaknya ada 3 media yang umumnya digunakan untuk mendistribusikan virus:
- Flashdrive (the "AuToRuN")
- "Trojan Horse"
- Email attachment
Dan yang paling populer gue rasa adalah si trojan horse dan via email attachment ini.
Trojan horse (atau kuda troya) ini yang menurut gue paling populer. Misal, lo download aplikasi Zoom dan bukan dari situs resmi Zoom.
Somehow Zoom berhasil terpasang terlepas versi berapanya, namun ada program lain yang ikut terpasang dan ter-eksekusi juga. Ini sering terjadi ketika ingin memasang program ehm bajakan but they don't know what they're doing ;)
Untuk attack vector via email attachment ini udah cukup jarang mengingat email provider sekarang melakukan pemindaian juga (which is good, and bad). "Distributor" virus akan mengirim virus (program, mungkin ber-ekstensi .exe) ke penerima email sebagai attachment, dan penerima email mungkin saja akan membuka berkas berjudul 20220505-revisi-skripsi-fariz-2022.docx.exe
yang disisipkan oleh si distributor.
Who knows.
Penjaga gerbang
Dalam keamanan komputer, setidaknya ada 3 "penjaga gerbang" yang bertugas untuk memberikan akses akan behavior yang ingin dilakukan oleh sebuah program:
- Meminta izin untuk berjalan sebagai single/multi user
- Meminta izin untuk mengirim paket ke internet dan menerima paket dari internet
- Meminta izin untuk mengontrol perangkat keras
Di poin pertama, kita tahu tentang "sudo" ataupun "run as administrator".
Di poin kedua, kita tahu tentang "firewall".
Di poin ketiga, kita tahu tentang "sandboxing" ataupun "access control".
Pasti ada alasan mengapa harus berjalan sebagai multi user, mungkin karena ingin mendapatkan privilege yang lebih tinggi seperti bisa membuka port <1024.
Pasti ada alasan mengapa harus mengirim dan menerima paket dari dan ke internet, mungkin karena ingin berkomunikasi dengan komputer lain secara peer-to-peer.
Pasti ada alasan mengapa harus meminta izin untuk mengakses microphone, atau lokasi, atau kamera, atau ketikan keyboard.
Windows memiliki fitur "Windows Security" yang sekaligus menawarkan antivirus bernama Microsoft Defender. Bagian menariknya, jika menggunakan third-party antivirus, maka si Microsoft Defender ini akan otomatis non aktif.
Tidak ada seperti Windows Security di sistem operasi GNU/Linux ataupun di Mac OS, yang mana terlihat sangat menarik. Anyway, Windows Security sangat bergantung pada Microsoft. Atau mungkin sistem operasi Windows pada umumnya.
Sulit dilakukan untuk bisa "tetap aman" menggunakan Windows tanpa harus berkomunikasi dengan Microsoft.
Dan itu yang menjadi alasan utama gue untuk tidak merekomendasi menggunakan Windows.
Alternatif Windows: Mac OS
Setidaknya ada 3 sistem operasi populer yang ada di pasar: Windows, GNU/Linux distro, dan *BSD. Google fan boy mungkin akan bilang bahwa ada Chrome OS, yang pada dasarnya menggunakan kernel Linux juga.
Alternatif pertama yang ingin gue rekomendasikan untuk pengguna komputer adalah Mac OS dengan proprietary hardware nya yakni Macbook, Mac Mini, Mac Studio ataupun iMac.
Mac OS sucks tapi setidaknya better dari Windows in my opinion.
Untuk menjalankan aplikasi, pengembang harus berurusan dengan "notarization" thing yang mengharuskan pengembang (termasuk virus developer) untuk membayar $99/bulan sekaligus menggadaikan informasi pribadinya ke Apple.
Untuk aplikasi mengontrol perangkat keras, pengguna harus secara eksplisit mengizinkannya (dengan membuka System Preferences) dan brengseknya harus membuka ulang aplikasi jika aplikasi tersebut sudah terbuka.
SIP di Mac OS menyebalkan untuk power user namun setidaknya sangat berguna untuk non power user.
UX "access control" permission di Mac OS kinda looks legit.
FileVault dan Firewall seems cool meskipun disabled by default. Windows memiliki BitLocker, tapi seinget gue tidak berlaku untuk versi Home (and fuck you kmspico).
Lisensi untuk Mac OS berlaku terlekat di hardware, tidak perlu membeli lisensi lagi seperti di Windows kecuali untuk Windows 11.
Dan terakhir, ekosistem virus di Mac OS lebih sedikit daripada di Windows, yang salah satu alasannya adalah karena popularitas pengguna Windows itu sendiri.
Alternatif Windows: GNU/Linux distro
Popularitas Linux selain karena "gratis" dan "open source" juga karena ketangguhan kernel nya. Jika lo menggunakan Android ataupun Chrome OS, pada dasarnya lo sudah menggunakan Linux.
Linux hanyalah sebuah kernel yang sederhananya adalah sebuah program untuk menjembatani perangkat lunak dan perangkat keras, ketika orang-orang berbicara "sistem operasi linux" besar kemungkinan yang mereka maksud adalah distribusi (distro) dari Linux itu sendiri. Yang cukup populer digunakan untuk desktop ada distro Ubuntu dari Canonical, Fedora dari (technically) Red Hat, dan elementary OS dari elementary. Distro yang cukup menjanjikan juga ada KDE Neon dari KDE, Endless OS dari Endless OS Foundation, Pop!_OS dari System76, dan BlankOn dari Tim Pengembang BlankOn.
Bagian menarik dari menggunakan Linux ini adalah pemilihan. Jika membeli komputer lain biasanya sudah terpasang sistem operasi bawaan (seperti Windows dan Mac OS), sayangnya masih jarang komputer yang menggunakan linux distro sebagai sistem operasi bawaannya, yang membuat pengguna harus memasang sendiri plus memilih distro sendiri.
Rekomendasi gue untuk pengguna awam adalah menggunakan Ubuntu, ataupun varian lain dari Ubuntu seperti elementary, KDE Neon, dan Pop!_OS. Gampangnya:
- Jika baru pindah dari Mac OS ke Linux, pilih elementary
- Jika baru pindah dari Windows ke Linux, pilih KDE Neon
- Jika menggunakan graphic driver Nvidia, pilih Pop!_OS
- Jika masih bingung, pilih Ubuntu
Kalau lagi ingin install ulang OS ketika kondisi hati sedang kacau ataupun pikiran sedang dalam keadaan tipsy mungkin bisa pertimbangkan untuk pilih Arch Linux ataupun Slackware untuk membuat suasana menjadi sempurna.
Gue pribadi untuk Linux menggunakan KDE Neon, Asahi Linux, Fedora dan Ubuntu. Sistem operasi lain yang digunakan adalah FreeBSD dan Mac OS, dan tergantung kebutuhan.
Penutup
Tidak ada yang salah dengan Windows, WSL nya Windows works pretty smooth serta UI dan UX nya Windows secara umum cukup konsisten dan intuitif. Serta, ekosistemnya cukup oke untuk hal-hal yang berkaitan dengan perkantoran ataupun pengembangan.
Ancaman keamanan pada Windows (atau sistem operasi pada umumnya) bisa dimitigasi di level jaringan, meskipun tidak akan mencakup 100%.
Virus akan selalu ada, khususnya selama bisnis antivirus masih ada.
Malware, Ransomware, Keylogger, dsb akan selalu ada sebagaimana eksistensi kejahatan yang menyeimbangi kebaikan.
Keamanan di Windows akan terus berkembang sejalan dengan waktu, Microsoft akan selalu membuat Windows menjadi sistem operasi yang terbaik di pasar sebagaimana sistem operasi lainnya yang memiliki ambisi yang pastinya sama juga.
Kompetisi akan membuahkan inovasi yang menguntungkan konsumer, sekalipun Microsoft akan terus berusaha keras untuk masuk ke ranah pribadi penggunanya, baik di komputer pribadi (PC) ataupun di akun pribadi (Personal Account).
Windows sucks. Mac OS sucks. GNU/Linux sucks. Bahkan dunia ini pun menyebalkan, dan kita tetap memilih untuk hidup dengan itu.
Sebagai penutup, ada alasan khusus mengapa di Mac OS lebih sedikit virus daripada di Windows.
Dan ada alasan khusus mengapa di Linux cukup langka mendapatkan virus.
Untuk mengetahui alasannya, just use Linux.
You will know.
Top comments (0)