1 poin oleh GN⁺ 3 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Sekitar 30 file UI admin web di firmware kamera Hanwha Vision berisi token GitHub yang sama, dan token ini memiliki hak admin atas ratusan repositori dalam organisasi tersebut
  • fwupgrader di firmware memulihkan kunci AES hardcoded dengan melakukan XOR terhadap tabel statis, lalu mendekripsi root file system dengan openssl; kunci dan IV digunakan bersama pada keluarga model yang sama
  • Karena variabel build Vite disetel ke seluruh process.env, variabel lingkungan dari job CI tercatat ke artefak hasil build, dan GITHUB_NPM_TOKEN serta berbagai konfigurasi internal ikut masuk ke firmware kamera
  • Dengan memeriksa sekitar 500 firmware menggunakan metode yang sama, 62% berhasil diekstrak; tiga firmware yang berisi token GitHub semuanya memuat token yang sama
  • Hanwha mencabut token dalam 12 jam setelah laporan, tetapi konfigurasi yang menyisipkan seluruh lingkungan CI ke artefak klien dapat mengekspos kredensial dan informasi infrastruktur internal di dalam produk

Mendapatkan firmware dan lapisan enkripsi pertama

  • Situs web Hanwha Vision memublikasikan image firmware untuk tiap model kamera, sehingga file dapat diunduh dan dianalisis
  • Pemeriksaan image dengan binwalk menemukan tarball terpisah berisi komponen AI untuk kamera dan fwimage.tgz yang terenkripsi
  • Mengikuti analisis dekripsi firmware Hanwha oleh Matt Brown, digunakan kata sandi yang menggabungkan HTW dan nomor model
    • Pada target analisis, HTWXNP-9300RW berhasil digunakan
  • Di dalam tarball yang sudah dibuka terdapat fwimage.tgz lain yang dienkripsi dengan cara berbeda, sehingga prosedur dekripsi lama tidak bisa digunakan kembali begitu saja

Memulihkan metode dekripsi dari fwupgrader

  • Binary fwupgrader yang terdapat di tarball luar dianalisis dengan Ghidra dan Claude Code untuk mengekstrak root file system yang sebenarnya
  • fwupgrader menerapkan obfuscation untuk menyembunyikan metode dekripsinya
    • Kunci AES di-XOR dengan tabel kunci statis kecil di dalam binary, lalu disusun ulang saat runtime
    • IV berada di binary dalam bentuk plaintext
    • Potongan perintah openssl juga di-obfuscate dengan metode XOR yang sama
  • Perintah yang dipulihkan berbentuk seperti berikut, menggunakan SHA-256 dan AES-256-CBC
    openssl enc -md sha256 -aes-256-cbc -d \  
      -K <KEY> -iv <IV> -in <INPUT> -out <OUTPUT>  
    
  • Kunci dan IV di-hardcode dan digunakan bersama pada keluarga model yang sama
    KEY = dfa049bb922e63e2decc764af5628068e5b7a2662e479a615b14643e567579b0  
    IV  = 53f926801b81454a4f889c9a390db6e6  
    

Token admin GitHub yang terdapat di firmware

  • Saat root file system yang diekstrak diperiksa dengan trufflehog, token GitHub yang sama ditemukan berulang di sekitar 30 file
  • Token ini memiliki hak admin atas ratusan repositori milik organisasi GitHub Hanwha
  • UI kamera dibangun dengan Vite, dan diketahui bahwa satu variabel build disetel ke seluruh process.env, sehingga seluruh lingkungan job CI tercatat dalam file hasil build
    var W = {  
      DATAPORT: "9090",  
      GIT_LFS_SKIP_SMUDGE: "1",  
      npm_command: "run-script",  
      KUBERNETES_SERVICE_PORT_HTTPS: "443",  
      GITHUB_NPM_TOKEN: "<snip>:ghp_…REDACTED…",  
      npm_config_userconfig: "/home/docker/.npmrc",  
      // etc  
    }  
    
  • Karena tidak memiliki kamera fisik, perilakunya tidak dapat diverifikasi
    • Ada kemungkinan token dikirim melalui jaringan kepada pengguna yang mengakses UI admin
    • Masih ada juga kemungkinan file tersebut hanya ada di disk dan tidak benar-benar disajikan

Alamat DoD yang terdapat di lingkungan CI

  • Variabel lingkungan yang terekspos juga mencakup alamat IP yang dialokasikan untuk Departemen Pertahanan AS
  • Belum dipastikan apakah alamat ini digunakan secara arbitrer untuk layanan internal yang tidak berkomunikasi dengan luar, atau berasal dari hubungan antara Hanwha dan Departemen Pertahanan AS
  • Hanwha Vision adalah perusahaan pengawasan video yang didirikan sebagai Samsung Techwin dan merupakan anak perusahaan Hanwha Group
    • Produk masa lalunya mencakup howitzer swagerak K9 Thunder, kendaraan lapis baja pengangkut amunisi K10, subsistem K2 Black Panther, dan robot penjaga SGR-A1
    • SGR-A1 adalah robot penjaga bersenjata
  • CI mungkin disediakan oleh organisasi pusat Hanwha dan variabel terkait dibagikan karena kebutuhan afiliasi Hanwha Aerospace atau Hanwha Defense USA, tetapi ini adalah spekulasi yang belum dikonfirmasi

Survei seluruh firmware

  • Untuk memastikan apakah ini hanya kasus tunggal yang kebetulan, atau ada token lain yang berbeda, firmware kamera yang dapat diunduh dari situs web Hanwha dikumpulkan
  • Dari sekitar 600 kamera, sekitar 500 firmware diperoleh untuk model yang menyediakan firmware
  • Dengan metode yang sama, 62% berhasil diekstrak; alasan kegagalan sisanya tidak dapat dipastikan
  • Ada 3 firmware yang berisi token GitHub, dan semuanya memuat token yang sama

Pelaporan dan respons

  • Informasi minimum yang dapat mengidentifikasi lokasi token dikirim ke email pelaporan keamanan publik Hanwha
  • Hanwha merespons dalam 12 jam setelah laporan dan mencabut token tersebut
  • Masuknya token GitHub ke firmware memang keliru, tetapi penerimaan laporan dan penyelesaiannya berlangsung sangat cepat

1 komentar

 
GN⁺ 3 jam lalu
Komentar Hacker News
  • Sedang mencari kamera IP white-label atau produk nyaris plug-and-play yang tetap didukung pabrikan, tetapi memungkinkan rootfs dihapus bila diperlukan
    Dulu pilihannya hanya kit pengembangan mahal tanpa casing, tetapi sekarang tampaknya sudah ada opsi seperti GoodCam

    • Meski bukan firmware terbuka, penggunaan ONVIF di jaringan terisolasi sudah cukup mendekati
      Kamera ONVIF kompatibel dengan sebagian besar perekam video jaringan (NVR), dan juga ada beberapa NVR open source
      Jika kamera PoE murah tidak diekspos ke luar, keamanan firmware pabrikan jadi kurang penting, tetapi VLAN dan pemisahan jaringan harus dikonfigurasi dengan sangat teliti
    • Untuk menyelesaikan masalah ini, dibuatlah Wyrecam, yang mendukung Ingenic T31 pada Wyze v3
      Stabilitasnya mirip Apple HomeKit, yang berarti tidak terlalu bagus
    • Thingino punya daftar kamera yang didukung dengan jelas, dan jika modelnya mendukung flashing kartu SD, pemasangannya juga mudah
      Dua unit Sonoff Slim Gen2 berhasil di-upgrade tanpa masalah
    • Beberapa kamera bisa mengganti firmware lama dengan Thingino, dan daftar perangkat keras yang didukung OpenIPC juga layak dijadikan referensi
    • Halaman tokonya tampaknya tidak berfungsi dan menampilkan error Stránka nenalezena, There's been a glitch...
  • Masalah yang lebih besar tampaknya justru firmware itu memuat alamat IP Departemen Pertahanan AS, dan jadi terasa lebih baik menghindari produk keamanan buatan Korea

    • Bisa saja ada perusahaan yang mem-blackhole seluruh rentang IP Departemen Pertahanan AS lalu memakainya sebagai alamat internal, tetapi tetap saja ini sangat aneh
    • Angkatan Laut Kanada juga tampaknya baru-baru ini mengambil keputusan serupa dalam proyek besar: hasil pencarian
    • Departemen Pertahanan AS memang memiliki ruang alamat IP yang sangat besar, jadi kemungkinan bentrok secara kebetulan juga cukup masuk akal
    • Produk IoT buatan Korea juga sama saja; metode keamanan pada produk yang pernah ditangani sendiri benar-benar absurd
    • Produk dalam negeri pun sering kacau karena celah keamanan dan rekayasa yang ceroboh
  • Banyak vendor memakai default berbahaya, keamanan rusak, dan nilai yang di-hardcode
    Meski keamanan bukan prioritas utama, setidaknya perlu pemeriksaan dasar seperti pengecekan kredensial yang di-hardcode

    • Fakta bahwa pada kamera keamanan, keamanan justru bukan prioritas itu sendiri terasa ironis
    • Dalam pola operasi yang menyerahkan pekerjaan pada tenaga paling murah dan paling tidak berpengalaman, sulit berharap bahkan ada pemeriksaan standar minimum
    • Sekarang cukup dengan menambahkan fitur pemeriksaan keamanan dasar ke repositori, jadi hampir tidak ada alasan pembenar lagi
  • Menaruh kamera di VLAN terpisah dan memblokir total akses internet dari VLAN tersebut adalah langkah minimum

  • Dulu saat diperiksa, banyak dongle OBD-II dikirim dengan alamat MAC yang sama, dan akibatnya semua informasi di beberapa situs web bisa diakses
    Masalah seperti ini akan terus muncul bahkan jika ingin dihindari

    • Penasaran bagaimana alamat MAC yang sama bisa berujung pada hak akses penuh
      Jika situs web menjadikan alamat MAC yang diberikan klien sebagai sarana autentikasi, itu kegagalan keamanan IoT yang sangat klasik
  • Mungkin lebih baik menghapus kata keamanan dari nama produknya dan menyebutnya sekadar kamera

  • Yang mengganggu dari blog ini adalah penggunaan ikon tautan eksternal yang salah

    • Selektor a[href*="://"]::after mengasumsikan tautan internal memakai path relatif seperti href="/about", tetapi situs ini memakai URL absolut seperti [https://hhh.hn/about](https://hhh.hn/about) bahkan untuk tautan navigasi, sehingga semua tautan diberi ikon
      Bisa diperbaiki dengan mengecualikan tautan yang diawali alamat situs: a[href*="://"]:not([href^="https://hhh.hn";])::after
  • Lampu suasana dalam ruangan yang baru dibeli belakangan ini tidak bisa dikendalikan tanpa aplikasi khusus
    Setelah mengambil APK dari Google Store dan menganalisisnya, ternyata kunci API untuk backend dan Shopify praktis tertanam begitu saja, tetapi sejauh ini belum dipakai untuk melakukan apa pun

    • Kunci publik sering kali tidak memberi hak akses khusus
      Pengembang yang peduli keamanan kemungkinan akan memakai App Attest atau fitur setara di Google Store
    • Sulit memikirkan alasan yang masuk akal mengapa aplikasi lampu perlu hak akses API Shopify
      Namun, dari pengalaman memberi konsultasi untuk toko Shopify, kualitas kode dari konsultan atau desainer murah sering kali sangat buruk, jadi tidak terlalu mengejutkan
    • Demi keamanan, lebih baik hanya membeli perangkat pintar yang mendukung kontrol lokal seperti Zigbee atau Z-Wave, meski itu tidak selalu pilihan terbaik dari sisi tampilan
    • Mempublikasikan informasi seperti ini bisa berisiko karena perusahaan dapat menempuh jalur hukum
      Dulu ada perusahaan yang melindungi peneliti dari konsekuensi hukum semacam itu, tetapi namanya tidak diingat
    • Pada akhirnya perangkat itu tetap bisa dikendalikan tanpa aplikasi khusus, jadi semoga protokolnya direkayasa balik dan caranya dipublikasikan
  • Karena LLM, obfuskasi kode pada dasarnya sudah tidak berguna lagi
    Obfuskasi hanya membuat pekerjaan jadi membosankan untuk menghambat orang, tetapi AI tidak peduli dengan kerepotan seperti itu

    • Obfuskasi memang hanya efektif terhadap penyerang kelas ringan yang tidak tahan kebosanan
      Organisasi negara atau kelompok peretas kriminal cukup sanggup menanggung kerepotan itu
    • Sisi positifnya, bahkan dengan LLM lokal kecil, kode berkualitas rendah seperti ini bisa diperbaiki dengan mudah
  • Pernah melihat sistem seperti ini di pameran industri pertahanan AS, jadi besar kemungkinan memang sedang dipakai di suatu tempat