- Firmware kustom untuk perangkat Nest Thermostat generasi 1 dan 2, dengan struktur yang mengganti bootloader dan kernel melalui antarmuka OMAP DFU
- Setelah flashing, perangkat menghentikan koneksi ke server Nest/Google dan beralih untuk berkomunikasi dengan platform NoLongerEvil yang independen
- Lalu lintas jaringan dialihkan ke server API hasil rekayasa balik sehingga fungsi yang ada tetap dipertahankan sambil memungkinkan kontrol penuh atas data dan pengaturan pengguna
- Proses instalasi terdiri dari tahap masuk ke mode DFU, flashing bootloader (
x-load, u-boot) dan kernel (uImage), lalu pendaftaran akun dan penautan perangkat
- Bertujuan untuk melepaskan ketergantungan cloud dan memulihkan kepemilikan perangkat, serta menyatakan dukungan untuk open source dan gerakan right-to-repair
Ikhtisar
- Proyek ini menyediakan alat dan image untuk memasang firmware kustom pada Nest Thermostat
- Menggunakan antarmuka OMAP DFU (Device Firmware Update) untuk mengganti bootloader dan kernel
- Firmware baru hanya dapat diterima saat berada dalam mode DFU
- Setelah flashing, perangkat tidak lagi berkomunikasi dengan server Nest/Google, melainkan terhubung ke platform NoLongerEvil
- Dengan ini, pengguna memperoleh kontrol penuh atas perilaku termostat dan datanya
Cara kerja
- Firmware kustom memodifikasi komponen bootloader dan kernel untuk mengalihkan lalu lintas jaringan ke server yang ditentukan
- Server tersebut adalah server tiruan hasil rekayasa balik atas Nest API, sehingga perangkat dapat beroperasi secara mandiri
- Lapisan komunikasi dicegat agar perangkat menganggap dirinya terhubung ke infrastruktur resmi Nest
- Dengan cara ini, kompatibilitas dengan perangkat lunak yang ada tetap terjaga sekaligus menghilangkan ketergantungan pada Google Cloud
Prosedur instalasi
- Setelah meng-clone repositori, pasang paket yang diperlukan (seperti libusb) sesuai OS
- Linux:
build-essential, libusb-1.0-0-dev, gcc, pkg-config
- macOS: Xcode Command Line Tools dan instalasi libusb berbasis Homebrew
- Jalankan
build.sh untuk mendeteksi OS secara otomatis lalu membangun alat omap_loader
- Sebelum menjalankan
install.sh, perangkat harus dialihkan ke mode DFU
- Periksa daya baterai (minimal 50%), lepaskan dari dinding, sambungkan USB, lalu reboot (tekan 10~15 detik)
- Saat masuk mode DFU, x-load, u-boot, dan uImage akan di-flash secara otomatis
- Setelah boot selesai, logo NoLongerEvil ditampilkan, memerlukan sekitar 3~4 menit
- Daftarkan akun di situs web nolongerevil.com lalu tautkan perangkat
- Di perangkat Nest, buka Settings → Nest App → Get Entry Code untuk melihat kode
- Masukkan kode di dashboard untuk menyelesaikan koneksi perangkat
Komponen yang di-flash
- Saat instalasi, tiga biner utama berikut di-flash
- x-load.bin – bootloader tahap 1 (X-Loader for OMAP)
- u-boot.bin – bootloader tahap 2 (Das U-Boot, alamat
0x80100000)
- uImage – image kernel Linux (alamat
0x80A00000)
- Setelah flashing, perangkat mulai berjalan dari
0x80100000 (u-boot)
Keamanan dan hal yang perlu diperhatikan
- Alat ini memberikan akses tingkat rendah ke proses boot perangkat
- Disarankan hanya digunakan pada perangkat yang Anda miliki sendiri
- Firmware yang salah berisiko merusak perangkat (brick)
- Ini adalah perangkat lunak eksperimental, sehingga disarankan untuk tidak digunakan pada perangkat yang penting bagi pemanas atau pendingin ruangan
Kredit dan komitmen open source
- Teknologi dasarnya bergantung pada riset dari sejumlah peneliti keamanan
- grant-h / ajb142: alat bootloader USB OMAP
omap_loader
- exploiteers (GTVHacker): riset Nest DFU Attack yang membuktikan kemungkinan firmware kustom pada perangkat generasi 1 dan 2
- FULU dan para sponsor: dukungan bug bounty untuk Nest Learning Thermostat Gen 1/2
- Proyek ini mendukung transparansi dan gerakan right-to-repair
- Image firmware dan kode server API backend akan segera dirilis sebagai open source
- Mendukung komunitas untuk mengaudit, meningkatkan, dan meng-host infrastruktur mereka sendiri
Referensi
Belum ada komentar.