Memiliki pengamanan di rumah dapat memberikan kenyamanan dan ketenangan bagi pemiliknya, tidak heran jika banyak orang memasang kamera pengintai untuk mengawasi rumah. Begitu pula dengan gedung perkantoran, kehadiran kamera pengawas mempermudah pekerjaan petugas jaga keamanan menjadi lebih efisien dan efektif.
Kamera semacam ini biasanya terhubung langsung ke internet, streaming pengawasan dapat dilakukan hanya dengan beberapa klik saja dan semua sudut dapat terpantau dnegan jelas. Kenyamanan semacam ini tidak selamanya bisa dipertahankan, apabila kamera mempunyai kerentanan keamanan yang membuka jalan bagi peretas untuk masuk dan mengambil alih. Seperti yang ditunjukkan dalam penelitian ESET dalam kasus kamera cloud D-Link DCS-2132L, yang memungkinkan peretas tidak hanya mencegat dan melihat video yang direkam, tetapi juga untuk memanipulasi firmware perangkat.
Masalah paling serius dengan kamera cloud D-Link DCS-2132L adalah transmisi aliran video yang tidak terenkripsi. Ini berjalan tidak terenkripsi di kedua koneksi, antara kamera dan cloud dan antara cloud dan aplikasi penampil sisi klien, menyediakan lahan subur untuk serangan man-in-the-middle (MitM) dan memungkinkan penyusup untuk memata-matai stream video korban.
Aplikasi penampil dan kamera berkomunikasi melalui server proxy pada port 2048, menggunakan kanal TCP berdasarkan protokol tunneling D-Link kustom. Sayangnya, hanya sebagian dari lalu lintas yang berjalan melalui kanal ini yang dienkripsi, meninggalkan beberapa konten yang paling sensitif, seperti permintaan untuk IP kamera dan alamat MAC, informasi versi, video dan audio stream, dan info kamera yang luas tanpa enkripsi.
Kerentanan yang bertanggung jawab atas hal ini dan beberapa masalah yang lain dapat ditelusuri ke dalam file request.c (bagian dari source code boa web server boa yang dikustomisasi D-Link) yang menangani permintaan HTTP ke kamera . Semua permintaan HTTP dari 127.0.0.1 dinaikkan ke level admin, memberikan akses penuh kepada peretas ke perangkat.
Intersep stream video dan audio
Peretas MitM yang mencegat lalu lintas jaringan antara aplikasi penampil dan cloud atau antara cloud dan kamera, dapat menggunakan aliran data koneksi TCP pada port server (cloud) 2048 untuk melihat permintaan HTTP untuk paket video dan audio. Ini kemudian direkonstruksi dan diputar ulang oleh pelaku, kapan saja, untuk mendapatkan stream audio atau video saat ini dari kamera tersebut. Dalam percobaan, ESET memperoleh konten video yang dialirkan dalam dua format mentah, khususnya M-JPEG dan H.264.
Untuk merekonstruksi aliran video, seseorang perlu mengambil beberapa langkah (yang dapat dengan mudah diotomatisasi melalui program atau skrip sederhana):
- Identifikasi lalu lintas yang mewakili stream video. Lalu lintas ini terdiri dari beberapa blok data, setiap blok memiliki header spesifik dan panjang yang ditentukan.
- Pisahkan bagian data dari header.
- Terakhir, bagian-bagian video digabung menjadi satu file.
Memutar file video yang diperoleh dengan cara ini bisa sedikit rumit karena mereka berada dalam format streaming mentah alih-alih format file umum. Namun, beberapa pemutar media dapat menangani format mentah ini jika dijalankan dengan mengalihkan dengan format yang sesuai, misalnya, MPlayer dapat menangani file M-JPEG dan VLC dapat memutar file H.264.
Pengaya yang bermasalah
Masalah serius lain yang ditemukan di kamera tersembunyi di plug-in browser web “mydlink services”. Ini adalah salah satu bentuk aplikasi penampil yang tersedia bagi pengguna, yang lain adalah aplikasi seluler yang bukan bagian dari penelitian ESET. Plug-in browser web mengelola pembuatan kanal TCP dan pemutaran video langsung di browser klien tetapi juga bertanggung jawab untuk meneruskan permintaan untuk stream data video dan audio melalui kanal, yang mendengarkan pada port yang dihasilkan secara dinamis di localhost.
Kanal ini tersedia untuk seluruh sistem operasi, sehingga aplikasi atau pengguna di komputer klien dapat dengan mudah mengakses antarmuka web kamera dengan permintaan sederhana (hanya selama streaming video langsung) ke hxxp://127.0.0.1:RANDOM_PORT/. Tidak diperlukan otorisasi karena permintaan HTTP ke server web kamera secara otomatis dinaikkan ke tingkat admin ketika mengaksesnya dari IP localhost (localhost aplikasi pemirsa disalurkan ke kamera localhost). Kerentanan ini juga memungkinkan penyerang untuk mengganti firmware yang sah dengan versi mereka sendiri yang dicurangi atau backdoored.
Saat ini “mydlink services” telah berhasil diperbaiki oleh pabrikan. Namun, penggantian firmware jahat masih dimungkinkan melalui kerentanan dalam protokol kanalisasi D-Link kustom yang dijelaskan sebelumnya. Untuk mencapai hal ini, pelaku perlu memodifikasi lalu lintas di kanal dengan mengganti aliran video GET request dengan POST spesifik yang mengunggah dan menjalankan “pembaruan” firmware palsu.
Masalah lain
D-Link DCS-2132L juga memiliki beberapa masalah kecil lainnya, namun masih memprihatinkan. Kamera tersebut dapat di forward ke dirinya sendiri pada router di rumah dengan menggunakan Universal Plug and Play (UPnP). Mengekspos antarmuka HTTP-nya pada port 80 ke internet dan dapat terjadi tanpa persetujuan pengguna bahkan dengan field “Enable UPnP presentation” atau “Enable UPnP port forwarding” dalam pengaturan yang tidak dicentang.
Cara paling sederhana untuk mengurangi risiko saat ini adalah dengan menonaktifkan UPnP pada router pengguna.
ESET melaporkan masalah yang ditemukan ke D-Link pada 22 Agustus 2018, termasuk komunikasi cloud yang tidak terenkripsi yang rentan, otentikasi pesan cloud yang tidak memadai dan komunikasi LAN yang tidak terenkripsi. D-Link segera merespons, memberi tahu ESET bahwa laporan kerentanan telah diteruskan ke tim penelitian dan pengembangan mereka, menjanjikan tindak lanjut.
Sejak itu, beberapa kerentanan telah dimitigasi, berdasar pengujian lanjutan ESET, plug-in “mydlink services” sekarang diamankan dengan baik,meskipun masalah lain masih ada. Seperti yang diketahui, saat ini versi terbaru dari firmware yang tersedia untuk diunduh terakhir adalah November 2016 dan tidak membahas kerentanan yang memungkinkan penggantian berbahaya dari firmware kamera, serta intersepsi aliran audio dan video.