Apa risiko kerentanan dalam sistem kontrol akses dengan identifikasi wajah?

Sistem kontrol akses modern telah belajar mengenali karyawan secara langsung. Nyaman: Anda tidak perlu memakai lencana chip RFID di leher Anda dan menerapkannya ke pembaca di setiap pintu yang tertutup. Tampaknya masa depan telah tiba: Anda dapat berjalan di sekitar kantor dengan kepala terangkat tinggi, dan pintu akan terbuka sendiri, mengenali Anda. Kami memeriksa beberapa sistem kontrol akses pengenalan wajah yang populer dan menemukan banyak kerentanan. Kami akan memberi tahu Anda tentang masalah paling berbahaya di posting ini.



gambar



Kartu atau wajah: perbedaan mendasar



Algoritme operasi sistem kontrol akses klasik terlihat seperti ini:



  1. orang tersebut membawa kartu tersebut ke pembaca;
  2. pembaca menerima nomor kartu dan mengirimkannya ke server;
  3. server memeriksa izin untuk kunci ini dan, jika akses diizinkan, mengembalikan status "OK";
  4. .


Jika kita menerapkan algoritma ini, mengganti nomor kartu dengan gambar wajah, kiamat lokal akan terjadi, karena gambar jauh lebih besar dari nomor kartu. Ini berarti mentransfernya ke server akan memakan waktu lebih lama, dan mencocokkan gambar dalam database di server jauh lebih dari sekadar menemukan nomor kunci. Jika ada banyak karyawan di kantor yang terus bergerak, ada kemungkinan tidak nol bahwa Anda harus tersenyum di kunci sambil menunggu pintu terbuka selama beberapa menit.



Untuk menghindari hal ini, alih-alih kamera IP sederhana, mereka menggunakan perangkat pintar yang cukup kuat untuk pengenalan wajah, dan database wajah disimpan di perangkat. Biasanya, perangkat semacam itu adalah gadget Android yang kuat atau PC kompak yang menjalankan Windows atau Linux.



Dalam hal ini, server pusat digunakan untuk menyinkronkan database pengunjung, memperbarui perangkat lunak pembaca, dan mengatur seluruh sistem.



Memindahkan beban pemrosesan dari server ke tepi eksternal menghilangkan kebutuhan untuk mengirim data sensitif, seperti gambar, untuk diproses. Waktu respons menjadi dapat diterima dan persyaratan bandwidth berkurang.

Namun, seiring dengan kekuatan pemrosesan, tugas-tugas lain pindah ke node tepi. Perubahan ini menambahkan dua masalah penting:



  • di node perbatasan, selain operasi primitif untuk membaca kartu dan membuka pintu, logika bisnis lengkap ditambahkan, yang merupakan sumber potensi kerentanan;
  • , .


Kami juga ingin berada di masa depan secepat mungkin, di mana cukup tersenyum di pintu putar untuk membeli tiket, tetapi kami menganggap perlu untuk mengecualikan situasi ketika orang lain tersenyum dan uang didebit dari Anda.



Seperti yang ditunjukkan oleh penelitian kami tentang Identified and Authorized: Sneaking Past Edge-Based Access Control Devices , sistem kontrol akses berbasis wajah memiliki banyak kerentanan yang tidak menyenangkan: mereka dapat diretas, ditipu, disajikan dengan foto seseorang di layar iPhone alih-alih wajah seseorang, dan bahkan menjadi administrator dan dihapus. semua bos dari daftar yang diterima di tempat tersebut.



Pertimbangkan salah satu perangkat paling rentan dalam penelitian kami - ZKTeco FaceDepot 7B



gambar

Sistem kontrol akses ZKTeco FaceDepot. Sumber: Trend Micro



Perangkat hadir dalam wadah logam yang kokoh dengan layar dan kamera depan yang ditujukan untuk pengunjung. Pengenalan wajah terjadi di dalam perangkat. Foto yang diambil selama otentikasi tidak dikirim ke server pusat - kekuatan prosesor tablet cukup untuk melakukan pengenalannya sendiri.

Penerapan tipikal dari ZKTeco FaceDepot ACS mencakup beberapa perangkat tersebut dan server pusat yang melaluinya basis pengguna disinkronkan antar perangkat.



Port USB tidak aman



Casing logam melindungi ACS dari gangguan fisik, tetapi port USB terbuka di bagian bawah perangkat merusak segalanya. Ini dirancang untuk memperbaiki perangkat.



gambar

Kerentanan # 1 - buka port USB. Sumber: Trend Micro



Versi Android kedaluwarsa



Kerentanan global lain dari ZKTeco adalah firmware perangkat, yang didasarkan pada Android Lollipop versi 5.1.1 yang dirilis pada April 2016. Saat ini, versi Android saat ini adalah yang kesepuluh. Selama bertahun-tahun, OS telah menerima banyak peningkatan terkait keamanan. Jelas, dalam versi kelima tidak ada yang disediakan.



gambar

Layar dengan versi Android pada ZKTeco FaceDepot SKD. Sumber: Trend Micro



Kemampuan untuk menginstal paket APK



Karena ini Android, pengguna dapat membuka layar beranda dan meluncurkan aplikasi. Misalnya, dia dapat meluncurkan ApkInstaller dan menginstal paket APK Android apa pun dari media yang terhubung ke port USB.



gambar

Penginstal APK berjalan di ACS. Sumber: Trend Micro



Pabrikan perangkat membatasi kemampuan untuk mengakses menu dan aplikasi hanya untuk pengguna dengan hak administrator, tetapi seperti yang ditunjukkan oleh penyelidikan lebih lanjut tentang perangkat, ini bukan masalah, karena perangkat masih berkomunikasi dengan server dan melakukannya melalui HTTP.



Pertukaran tidak terenkripsi dengan server



Perangkat berkomunikasi dengan server melalui HTTP. Semua informasi dikirim dalam teks yang jelas dan dapat dengan mudah disadap. Yang terburuk dari semuanya, perintah administratif diteruskan dalam teks yang jelas - pendaftaran pengguna, menetapkan peran administrator ke pengguna, menghapus pengguna, dan sinkronisasi.



Penyerang yang telah memperoleh akses ke jaringan tempat tablet terhubung akan dapat mendengarkan lalu lintas jaringan antara ACS dan server dan memperoleh informasi yang diperlukan untuk melakukan serangan.



Sayangnya, pengembang perangkat berhasil memperkuat kerentanan yang terkait dengan kurangnya enkripsi data: mereka membuat prosedur otentikasi perangkat yang sepenuhnya bocor.



Otentikasi perangkat yang rentan



Satu-satunya tanda legitimasi perangkat di server adalah token yang diteruskan dalam cookie. Token disetel saat perangkat pertama kali didaftarkan di server dan, menurut data kami, tidak pernah berubah.



gambar

Nilai token disimpan sebagai cookie. Sumber: Trend Micro



Mengingat bahwa token "rahasia" ditransmisikan dalam teks yang jelas, semua klien HTTP dapat meniru ACS yang sah. Dalam percobaan kami, kami menggunakan curl, sebuah utilitas baris perintah sederhana.



Misalnya, ini adalah cara kami mendaftarkan pengguna baru di sistem dan menetapkan gambar untuknya:



gambar

Perintah pertama mendaftarkan pengguna dengan nama Bogus di server, yang kedua menetapkan foto untuknya. Sumber: Trend Micro



File userdata.post berisi data yang telah kita kirim ke server melalui POST. Dalam kasus kami, file tersebut berisi data berikut: Konten file gambar yang



gambar

akan dikirim ke server. Sumber: Trend Micro



Mendaftarkan administrator dengan curl



Administrator yang ada dapat mempromosikan pengguna baru menjadi administrator menggunakan konsol di perangkat. Administrator saat ini harus masuk terlebih dahulu ke perangkat melalui pengenalan wajah, lalu mengakses konsol sistem untuk memulai proses promosi. Segera setelah pengguna dipromosikan ke tingkat administrator, perangkat mengirimkan laporan ke server, memberi tahu dia tentang perubahan status.

Tetapi karena setiap pengguna yang memiliki token dapat mensimulasikan lalu lintas jaringan yang sah antara perangkat dan server, tidak ada yang mencegahnya dari menjalankan perintah berikut dan menjadikan pengguna mana pun sebagai administrator:



gambar

Pengaturan hak istimewa = 14 menjadikan pengguna sebagai administrator. Sumber: Trend Micro



Setelah sinkronisasi server berikutnya dan semua perangkat ACS yang terdaftar di dalamnya, administrator baru akan dikenali di seluruh jaringan kantor.



Unggah semua foto pengguna



URL foto yang disimpan di server dapat diprediksi, jadi mendaftar semua URL dan mengunggah foto sangatlah mudah. Tidak diperlukan otentikasi untuk mengakses URL ini.



Misalnya, di URL berikut, server akan mengirim foto pengguna dengan ID "11111":



gambar



Untuk mengumpulkan gambar, Anda dapat membuat skrip sederhana yang akan beralih melalui ID pengguna dari "00000" ke nomor apa pun dan mengunduh semua foto yang tersedia di sistem.



Injeksi server palsu



Karena semua komunikasi antara perangkat dan server melalui HTTP, relatif mudah untuk mengarahkan semua perangkat AC ke server palsu menggunakan keracunan ARP (Address Resolution Protocol).



Setelah kami mendapatkan perangkat target untuk berkomunikasi dengan server palsu kami, kami dapat mengirim perangkat pembaruan yang kami butuhkan selama salah satu sesi sinkronisasi regulernya. Teknik ini dapat digunakan untuk berbagai serangan. Misalnya, Anda dapat menyelipkan perangkat akhir dengan foto pengguna yang ingin Anda atur akses ilegal ke lokasi perusahaan.



Akses foto pengunjung resmi



Mengingat jumlah opsi serangan yang mungkin, menguji metode ini sudah agak berlebihan. Tetapi mengingat kesederhanaan dan ketersediaan serangan semacam itu bahkan untuk orang yang jauh dari teknologi, kami tetap memeriksa apakah mungkin untuk menipu ACS menggunakan foto orang yang terdaftar di sistem dengan akses ke kantor. Dan mereka sangat terkejut ketika, setelah melalui beberapa opsi, serangan itu berhasil: kamera ZKTeco FaceDepot ternyata mendukung foto-foto yang ditampilkan pada iPhone X dan iPhone XS, tetapi menolak untuk melewatkan foto yang sama di layar smartphone iPhone 6, Samsung A10, Samsung S8, Samsung S9 , Samsung S10, Samsung S10 + dan Samsung Note 10.



Rekomendasi untuk produsen



Perangkat kontrol akses ZKTeco FaceDepot bukan satu-satunya yang diuji dalam penelitian kami. Sayangnya, perangkat lain juga mengandung kerentanan yang serius, yang menimbulkan keraguan serius tentang apakah perangkat tersebut dapat digunakan untuk membuat perimeter akses fisik yang benar-benar aman ke lokasi perusahaan.



Semua kerentanan yang ditemukan di perangkat ada dalam 10 Risiko Keamanan Aplikasi Web Teratas , yang disusun oleh proyek OWASP:



  • tidak ada enkripsi default dan menonaktifkan enkripsi sisi server;
  • sistem otentikasi dan manajemen sesi yang rentan;
  • versi OS yang kedaluwarsa.


Untuk membuat perangkat kontrol akses lebih aman, produsen harus mengikuti pedoman berikut:



  • — , ;
  • ;
  • — USB- ;
  • , .



All Articles