1 poin oleh GN⁺ 2023-08-09 | 1 komentar | Bagikan ke WhatsApp
  • Utilitas peralihan otomatis mode terang/gelap di macOS berubah menjadi alat yang memasukkan perangkat ke botnet tanpa persetujuan pengguna setelah diakuisisi pada akhir 2022
  • TPE.FYI LLC, pihak pengakuisisi, menggunakan perangkat pengguna sebagai gateway untuk lalu lintas internet berdasarkan ketentuan layanan, dan fungsi ini tidak bisa dinonaktifkan meski aplikasi ditutup
  • Saat instalasi, sebuah launch agent yang berjalan dengan hak root didaftarkan sehingga berjalan otomatis saat boot, dan tidak bisa dinonaktifkan dari dalam aplikasi
  • Daemon yang menyamar sebagai “pembaruan otomatis” menjalankan proxy HTTP lokal dan membuka tunnel SSH ke server eksternal untuk merutekan lalu lintas melalui koneksi internet pengguna
  • Pawns SDK dari perusahaan penjual proxy residensial IPRoyal digunakan, dalam struktur yang menjual ulang bandwidth internet pengguna untuk riset pasar

Identitas dan Perubahan NightOwl

  • NightOwl adalah aplikasi yang sudah ada sejak 2018, menyediakan fitur untuk beralih otomatis antara mode terang/gelap sistem operasi
    • Alternatif untuk mengatasi keterbatasan mode otomatis bawaan macOS yang hanya beralih ketika pengguna sedang tidak berada di tempat
  • Setelah diakuisisi oleh TPE.FYI LLC pada akhir 2022, perangkat pengguna dipaksa masuk ke botnet untuk riset pasar tanpa sepengetahuan atau persetujuan eksplisit pengguna
    • Tidak ada pemberitahuan terpisah selain ketentuan dalam huruf kecil di halaman unduhan
    • Fungsi ini tidak bisa dinonaktifkan bahkan ketika aplikasi sudah ditutup
  • Perilaku tersebut disebutkan dalam ketentuan layanan (TOS)
    • Mengubah pengaturan jaringan perangkat untuk berbagi lalu lintas internet dan menggunakan perangkat pengguna sebagai gateway
    • Pelanggan target gateway mencakup perusahaan di bidang riset web dan pasar, SEO, perlindungan merek, pengiriman konten, keamanan siber, dan lainnya
  • Pihak NightOwl telah dihubungi, tetapi tidak ada jawaban

Cara Menghapus

  • Walaupun aplikasinya tidak sedang berjalan, jika sudah terinstal, perintah penghapusan perlu dijalankan dari Terminal
    • sudo killall NightOwl
    • launchctl unload ~/Library/LaunchAgents/NightOwlUpdater.plist
    • sudo killall AutoUpdate
    • sudo rm -rf /Applications/NightOwl.app/ ~/Library/LaunchAgents/NightOwlUpdater.plist
    • sudo zsh -c "rm /Users/*/Library/LaunchAgents/NightOwlUpdater.plist"

Analisis Perilaku Teknis

  • Saat instalasi, launch agent bernama org.nightowl.autoupdater.com didaftarkan
    • Mendaemonkan proses /Applications/NightOwl.app/Contents/Helpers/AutoUpdate dan menjalankannya saat boot dengan hak root
    • Tidak bisa dinonaktifkan melalui aplikasi, dan berlangsung diam-diam tanpa sepengetahuan atau persetujuan pengguna
  • Pemberitahuan yang ditampilkan aplikasi hanya terbatas pada pengumpulan statistik Google Analytics
    • Dijelaskan sebagai pelacakan data untuk cara penggunaan fitur dan analisis bug
    • Disebutkan bahwa pengaturan "anonymizeIp" menyamarkan bagian akhir IP untuk menjamin pengumpulan data anonim
    • Dijelaskan bahwa pengguna bisa opt-out dari pelacakan dengan menghapus centang "Send Statistics" di pengaturan
    • Namun, meski pengiriman statistik dimatikan, launch agent tidak dinonaktifkan
  • Daemon “pembaruan otomatis” menjalankan tiga tugas
    • Memeriksa pembaruan aplikasi menggunakan Sparkle
    • Melaporkan crash menggunakan Sentry
    • Menjalankan proxy HTTP lokal pada port 40701 (dapat diubah melalui file json konfigurasi di dalam bundle aplikasi)
    • Item terakhir adalah perilaku yang tidak bisa diharapkan dari aplikasi yang mengklaim sebagai auto-updater
  • Struktur Proxy dan Tunnel SSH

    • Daemon berpindah dari root ke akun pengguna utama dengan sudo, lalu menjalankan nightowl_t.dylib
      • Ini adalah salinan tinyproxy, berlisensi GPLv2, tetapi kemungkinan melanggar karena tidak menyertakan pemberitahuan lisensi GPL
      • Beroperasi sebagai proxy HTTP(S)
    • Membuka koneksi SSH melalui file hasil rename autossh menjadi nightowl_a.dylib (tanpa lisensi)
      • Targetnya adalah testconnectuser2023@proxy-gw1-europe.squidyproxy.com, port 2043
      • Menggunakan kunci publik yang dijatuhkan ke /tmp dengan ekstensi .uu, dan men-tunnel port remote ke lokal dengan opsi -R
      • Kunci diperoleh melalui permintaan HTTPS ke proxy-api1.squidyproxy.com
      • Domain tersebut didaftarkan di GoDaddy pada April 2022, dan IP-nya di-host oleh Microsoft
    • Server SSH ini dalam keadaan akses shell aktif
    • Setelah koneksi berhasil, lalu lintas HTTP diteruskan ke sisi pengguna dan dirutekan keluar melalui koneksi internet pengguna
  • Upaya Port Forwarding UPnP

    • Mencoba membuka port forwarding UPnP pada router, tetapi gagal karena nama kuncinya tertukar
      • Permintaan SOAP yang dikirim berisi aksi AddPortMapping dan nilai ip royal paws

Struktur Penjualan Ulang Bandwidth (Pawns / IPRoyal)

  • Aplikasi ini tampaknya menggunakan Pawns SDK
    • Pawns adalah aplikasi yang membayar $0,20 per GB untuk bandwidth internet yang dibagikan pengguna
  • Operator layanan Pawns adalah IPRoyal
    • Perusahaan proxy yang menjual koneksi proxy residensial dengan harga $1,75 per GB
    • Mengiklankan “IP yang diperoleh 100% secara etis”

Identitas “TPE.FYI LLC”

  • TPE (atau Keeping Tempo, Tempo AI) sedang membangun model penetapan harga agar venue konser dapat menentukan harga tiket sesuai permintaan nyata artis, berdasarkan analisis seperti jumlah penayangan video YouTube dan data popularitas per wilayah
    • Tidak terkait dengan kalender Tempo AI maupun gym Tempo AI
  • Informasi terkait sangat minim, dan hampir tidak ada materi setelah 2018
  • Per saat penulisan, installer yang telah dikonfirmasi melakukan banyak percobaan koneksi ke https://stubbs.frontgatetickets.com/
    • Situs tersebut adalah penjual tiket pertunjukan musik live di sebuah restoran di Austin, Texas
  • Perusahaan ini didirikan pada September 2018 di Austin, Texas, dan dibubarkan pada Maret 2023 oleh "Jarod Stirling"
    • Alamatnya adalah The Muse at SoCo, 1007 South Congress Avenue, Apartment 443, Austin, Texas, 78704

1 komentar

 
GN⁺ 2023-08-09
Komentar Hacker News
  • Saya tahu hal seperti ini cukup sering terjadi, tapi saya penasaran seberapa sering perusahaan memperbarui ketentuan layanan mereka dengan redaksi seperti ini.
    Gagasan tentang ketentuan yang diperpanjang otomatis yang secara permanen mengatur semua penggunaan rasanya sudah lama seharusnya dilarang secara hukum.
    Redaksi NightOwl saat ini menyatakan bahwa mereka bisa mengubah ketentuan dan informasi harga kapan saja, perubahan berlaku segera setelah dipasang di situs web, dan apakah perubahan itu “material” pun ditentukan sepihak oleh NightOwl.
    Memberi tahu perubahan ketentuan aplikasi yang terpasang secara lokal lewat pembaruan situs web—apa pengguna juga diharapkan berlangganan feed sosial mereka untuk mengeceknya?

    • Seorang teman yang beberapa tahun lalu menandatangani kontrak internet/telepon bisnis dengan Comcast juga melihat redaksi serupa, bahkan tanpa URL nyata.
      Secara naluriah itu terasa seperti klausul yang tidak dapat ditegakkan dan tidak adil, tapi mungkin saja tim legal Comcast sudah meninjaunya.
      Saya penasaran apakah ada pengacara yang tahu apakah redaksi semacam ini sah untuk memublikasikan perubahan kontrak di situs web, terutama bila tidak ada pemberitahuan terpisah.
    • Saya bertanya-tanya apakah maps.me juga mungkin berada dalam kondisi serupa.
      Dulu itu frontend OpenStreetMap yang bagus, tapi setahu saya diakuisisi oleh perusahaan investasi untuk monetisasi.
      Saya penasaran bagaimana kondisi aplikasinya sekarang, apakah model pendapatannya mirip dengan yang dijelaskan di sini, dan aplikasi alternatif apa yang sebaiknya dipakai.
    • Klausul seperti ini pernah dinyatakan tidak sah, dan besar kemungkinan akan begitu lagi jika ada yang mau menggugat: https://arstechnica.com/tech-policy/2007/07/court-says-no-to..., https://scholar.google.com/scholar_case?case=592583419165850...
      Dalam kasus Safeway, pengadilan memutuskan bahwa konsumen tidak dapat menyetujui ketentuan masa depan yang belum ada, dan jika mereka tidak menerima pemberitahuan perubahan ketentuan, penggunaan berkelanjutan saja tidak bisa dianggap sebagai persetujuan atas ketentuan yang telah diubah.
    • Saya penasaran apakah baru-baru ini ada perubahan kebijakan atau fitur serupa pada ekstensi Chrome The Great Suspender.
      Sepertinya browser menandainya sebagai tidak aman.
  • Fakta bahwa aplikasi membuat banyak koneksi ke situs penjualan tiket musik live adalah penggunaan yang umum untuk proxy residensial.
    Para calo tiket memakai perangkat pengguna yang terinfeksi untuk menghindari pemblokiran host pusat data atau pembatasan akses massal, sehingga meningkatkan peluang mendapatkan tiket yang nantinya layak dijual kembali.
    Ada ekstensi browser gratis, aplikasi VPN, dan sejenisnya yang ditanami backdoor oleh pembuatnya, penyusup repositori, atau—seperti kali ini—pihak pengakuisisi, lalu mengubah perangkat pengguna menjadi proxy seperti ini.

    • NordVPN juga memakai cara seperti ini.
      Google dan Amazon memiliki rentang IP besar untuk layanan cloud, sehingga bot berbasis AWS atau Google Cloud relatif mudah dideteksi.
      Sebaliknya Verizon juga memiliki rentang IP besar yang dibagikan kepada pelanggan residensial, dan NordVPN memanfaatkan fakta bahwa layanan seperti Netflix atau Amazon tidak ingin memblokir seluruh rentang IP Verizon, sehingga trafik tampak seperti berasal dari residensial.
  • Saya benar-benar tidak suka akuisisi diam-diam.
    Ekstensi Chrome untuk developer pun sangat sering dibeli pelaku jahat lalu diubah menjadi malware; itu mengerikan.

    • Sebagai pengelola ekstensi Chrome yang cukup populer, saya menerima begitu banyak tawaran akuisisi sampai mulai mengumpulkannya secara publik agar semua orang bisa melihatnya.
      https://chrome.google.com/webstore/detail/hover-zoom%20/pccc...
      https://github.com/extesy/hoverzoom/discussions/670
    • Ide aplikasi yang memantau pemilik aplikasi terdengar cukup bagus.
      Cukup kirim notifikasi besar jika pemiliknya berubah dalam semalam.
    • Di sinilah masalah aplikasi gratis.
      Hampir tidak ada yang mau berdonasi, dan perusahaan yang baik pun tidak akan membeli aplikasi untuk memonetisasinya, sehingga pada akhirnya hanya perusahaan terburuk yang ingin mengeksploitasi pengguna yang membeli ekstensi dan aplikasi.
      Aplikasi gratis seperti ini punya nilai, tetapi tidak berujung pada pendapatan bagi developer, sehingga mereka mencari jalan lain.
    • Ini mengingatkan pada ActionDash yang diakuisisi Sensor Tower.
      Tidak masuk akal bahwa aplikasi yang sangat intrusif, yang mau tidak mau membutuhkan izin sangat besar untuk menjalankan fungsi tingkat sistem, berpindah mulus ke perusahaan iklan dan penjualan data.
    • Saya tidak mengerti apa yang disebut diam-diam.
      Itu tertulis persis di ketentuan layanan yang disetujui pengguna saat memakai perangkat lunak, jadi pada akhirnya ini semacam prinsip caveat emptor.
  • Penjelasan bahwa mode otomatis bawaan macOS hanya beralih ketika pengguna meninggalkan komputer terdengar aneh.
    Jika Anda mengatur jadwal/lokasi Night Shift dan mengatur dark mode ke otomatis, mode itu langsung berubah; dan jika memakai launcher atau Spotlight, Anda juga bisa mengubahnya dengan satu baris AppleScript seperti tell application "System Events" to tell appearance preferences to set dark mode to not dark mode.

    • Dalam kasus saya tidak begitu.
      Saya rasa peluang dark mode aktif saat matahari terbenam sekitar 25%.
      Selama beberapa tahun, bahkan sampai Ventura, tetap seperti ini; saya penasaran apakah bagi orang lain fitur ini selalu bekerja sempurna.
    • Pada 2018, saat NightOwl dirilis, sebagian atau semua fitur kenyamanan seperti ini belum ada.
  • Tampaknya Apple telah mencabut sertifikat developer
    Saya penasaran apakah ada log publik yang menunjukkan kapan sertifikat itu dicabut
    Pemuatan aplikasi memang diblokir, tetapi dua dylib masih berjalan, jadi saya bertanya-tanya apakah itu terjadi setelah proses pencabutan sertifikat sudah dimulai
    Setelah logout lalu login lagi pun keduanya tetap berjalan, jadi mungkin prosesnya bertahan melewati logout
    Di firewall macOS juga muncul prompt yang menanyakan apakah binary AutoUpdate yang disebutkan itu boleh menerima koneksi, jadi sepertinya semua ini didistribusikan dalam beberapa hari terakhir
    Setelah reboot, muncul dialog “NightOwl” will damage your computer. You should move it to the Trash., dan meski diizinkan, /Users/*/Library/LaunchAgents/NightOwlUpdater.plist serta file pengaturan umum masih tersisa sehingga tidak benar-benar dibersihkan
    Untuk pengguna nonteknis yang tidak terbiasa dengan terminal, sepertinya lebih baik menyarankan mereka melakukan reboot

  • Di lingkungan saya, macOS menurunkan aplikasi itu dan menolak membukanya
    Sebagai gantinya saya beralih ke NightFall: https://github.com/r-thomson/Nightfall

    • Dengan pengaturan berikut, Pengaturan Display juga bisa diletakkan langsung di menu bar
      Settings > Control Center > Display > Always Show in Menu Bar
      Memang perlu satu klik tambahan untuk menyalakan dan mematikan mode gelap, tetapi Night Shift juga bisa dipakai dan 100% native
    • Anda juga bisa membuatnya sendiri dengan sangat sederhana memakai aplikasi bawaan Automator
      Buka Automator, buat aplikasi baru, pilih “change system appearance”, lalu pilih toggle mode terang/gelap
      Setelah disimpan, buka nama aplikasi itu dari Spotlight untuk mengganti mode; sepertinya ini juga bisa dilakukan dengan Shortcuts
    • Kalau yang dibutuhkan hanya mengganti mode, BetterTouchTool bisa melakukannya langsung
      Saya menetapkan klik kanan+Option+Command sebagai shortcut global, dan itu bekerja sangat baik
  • Rasanya perlu ada hukum yang bisa diterapkan untuk kasus semacam ini
    Harus ada kontrak tersirat bahwa software bekerja sesuai yang dikatakan dan tidak melakukan hal yang sama sekali berbeda, serta perlu hukuman keras jika dilanggar

    • Kita juga mungkin harus membuat EULA masing-masing dan menganggap pihak lain menyetujuinya secara tersirat
      Setiap kali membuat request ke situs web besar, kita kirim file EULA 10MB dan terus mengirimnya sampai diterima; itu bisa menjadi semacam “DDoS berbasis EULA”
    • Lisensi umum sengaja menuliskan dengan jelas agar kontrak semacam itu tidak tersirat
      Klausul huruf kapital dalam MIT License diawali dengan pernyataan bahwa software disediakan “apa adanya”, tanpa jaminan tersurat maupun tersirat atas kelayakan jual atau kesesuaian untuk tujuan tertentu, dan GPL bagian 15 memuat frasa yang hampir sama
      https://opensource.org/license/mit/
      https://www.gnu.org/licenses/gpl-3.0.html#section15
    • Syarat kontrak yang tersirat oleh hukum memang benar-benar ada
      Hukum kontrak konsumen Inggris, karena pengaruh EU Consumer Rights Directive, sejak 2015 diperluas hingga mencakup konten digital; di dalamnya ada syarat tersirat bahwa barang harus memiliki kualitas yang memuaskan dan layanan berkelanjutan seperti Netflix, Spotify, atau software yang memiliki update tidak boleh berubah secara drastis dari saat pertama kali disediakan
      https://www.legislation.gov.uk/ukpga/2015/15/part/1/chapter/...
      Sebagian besar yurisdiksi juga punya aturan serupa, dan negara-negara UE kemungkinan memiliki hukum yang mengimplementasikan Consumer Rights Directive
      Namun ini berlaku jika ada pembayaran; karena NightOwl gratis, ekspektasi hukum yang mengatur penjualan barang dan jasa tidak berlaku begitu saja
      Perusahaan yang diakuisisi lalu produknya disisipi spyware memang buruk, tetapi juga tidak ideal jika seorang remaja atau developer hobi yang mengunggah open source gratis atau freeware untuk belajar coding digugat oleh perusahaan raksasa karena melakukan sesuatu seperti left-pad
      Bobot regulasi teknologi harus jauh lebih berat ditimpakan kepada pihak seperti Google, Microsoft, dan Apple daripada kepada developer kecil yang membuat utilitas menu bar gratis atau ekstensi Chrome
      Mencegah aplikasi kecil yang gratis dan open source menjadi vektor serangan supply chain tetap sulit, dan yang dibutuhkan adalah perbaikan yang lambat serta tidak sempurna seperti sandboxing dan izin tingkat aplikasi yang lebih baik, pemantauan jaringan per aplikasi dan deteksi anomali, serta pembangunan kepercayaan dalam proses packaging/distribusi; kemungkinan besar gugatan hukum bukan jawabannya
  • Bagian yang mengatakan aplikasi mencoba membuka port forwarding UPnP tetapi gagal karena nama key di router tercampur aduk sebenarnya memang seharusnya gagal di router mana pun
    Karena UPnP seharusnya dinonaktifkan

    • UPnP memang spesifikasi yang buruk, tetapi ini adalah solusi sementara untuk mengembalikan kemampuan dasar yang seharusnya dimiliki perangkat yang terhubung ke internet di lingkungan rumah
      Semua aplikasi P2P seperti Tailscale perlu untuk sementara bertindak seperti server dan mengizinkan trafik masuk
      Tanpa fungsi ini, bisa dibilang perangkat menjadi warga kelas dua, dan pengguna diperlakukan seperti anak kecil
      Tentu saja port bisa dibuka secara manual, tetapi karena UX-nya sulit ditemukan, tidak konsisten, dan rumit, mayoritas pengguna sulit mengaksesnya, dan kebanyakan bahkan tidak tahu apa itu port
    • Cukup pikirkan anggota keluarga yang memakai Mac “karena tidak mau repot dengan laptop Windows”
      Mereka juga tidak ingin repot mematikan UPnP, dan kemungkinan besar pengaturan itu tetap aktif, terlepas dari apakah Anda merasa lebih tahu atau tidak
    • Mematikan UPnP memang membuat lebih aman, tetapi jika NAT ALG di router tidak semuanya dimatikan, Anda tetap terekspos risiko
      Kebanyakan router kemungkinan tidak punya pengaturan seperti itu, jadi jika perangkat yang terinfeksi termasuk dalam model keamanan, karena NAT slipstream attacks, lebih bijak menganggap NAT pada dasarnya sepenuhnya tidak efektif
      Perangkat yang terinfeksi dapat mengubah tabel NAT router sehingga pada dasarnya bertindak seperti UPnP, tetapi tanpa menyediakan UI yang bisa diaudit pengguna
      Jika Anda hanya memakai IPv6 tanpa NAT, menonaktifkan UPnP bisa menjadi langkah keamanan yang layak bila Anda bersedia mengelola semua pengecualian firewall secara manual, tetapi bagi kebanyakan orang saat ini, hanya host firewall yang bisa diandalkan sebagai perlindungan
    • Saya tidak tahu apakah maksudnya benar-benar menyangkal kebutuhan UPnP itu sendiri
      Pernyataannya cukup membingungkan
  • Di ketentuan layanan tertulis bahwa “dengan mengubah pengaturan jaringan perangkat pengguna agar perangkat digunakan sebagai gateway trafik internet, aplikasi akan membagikan trafik internet, dan pelanggan NightOwl mencakup perusahaan riset web/pasar, SEO, perlindungan merek, pengiriman konten, serta keamanan siber”
    Ini benar-benar sudah level harus dibakar habis

    • Biasanya saya mengira semakin mencurigakan sesuatu, semakin besar upaya untuk menyembunyikannya
      Tapi saya benar-benar penasaran kenapa mereka mencantumkannya di ketentuan layanan
      Kalau sebuah organisasi memasukkan fitur semencurigakan ini, rasanya mereka juga akan aktif menyembunyikan fakta bahwa fitur itu ada; jadi saya penasaran apakah mencantumkannya di syarat layanan membuat NightOwl terlindungi secara hukum
      Misalnya, apakah sesuatu yang tadinya bisa berhasil digugat menjadi tidak masalah jika ada di syarat layanan, atau apakah perilaku mencurigakan seperti ini secara teknis legal selama tercantum di sana, saya tidak tahu
    • Sepertinya izin untuk “mengubah pengaturan jaringan perangkat” sudah termasuk dalam izin yang diberikan untuk fungsi aslinya, yaitu mengalihkan mode gelap
      Kalau begitu, ini cukup mengecewakan, dan akan lebih baik jika izin aplikasi dibuat lebih granular
    • Penggunaan kata “enables” di sini terasa seperti membingkainya sebagai peluang, bukan pelanggaran kebebasan dan privasi
    • Pengembang dan perusahaannya harus diungkap dengan nama asli agar dipermalukan
  • Menggunakan Little Snitch membantu mendeteksi aplikasi terhubung ke IP dan alamat mana, serta memblokir koneksi tersebut

    • Ada juga LuLu
    • Saya membayar Little Snitch kapan pun memungkinkan
      Saya sangat berharap mereka tidak pernah mempertimbangkan untuk menjualnya