1 poin oleh GN⁺ 2 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Microsoft Edge mendekripsi semua kata sandi yang tersimpan saat startup dan menyimpan kredensial tersebut dalam bentuk teks biasa di memori proses
  • Perilaku ini terjadi bahkan jika pengguna tidak mengunjungi situs yang menggunakan kredensial tersebut
  • UI Password Manager Edge memang meminta autentikasi ulang sebelum menampilkan kata sandi yang sama, tetapi proses browser sudah lebih dulu menyimpan semua kata sandi dalam bentuk teks biasa
  • Di antara browser berbasis Chromium yang diuji, hanya Edge yang bekerja dengan cara ini, sementara Chrome dirancang agar lebih sulit mengekstrak kata sandi tersimpan hanya dengan membaca dan mengambilnya dari memori proses
  • Chrome hanya mendekripsi saat kredensial dibutuhkan, dan dengan App-Bound Encryption (ABE) mengikat dekripsi ke proses Chrome yang terautentikasi sehingga proses lain tidak bisa memakai ulang kunci enkripsi Chrome
  • Dengan kontrol ini, kata sandi teks biasa hanya muncul sebentar saat autofill digunakan atau ketika pengguna melihatnya secara langsung, sehingga efektivitas memory scraping skala luas berkurang

Skenario risiko dan status pengungkapan

  • Di lingkungan bersama, risikonya lebih besar karena kata sandi teks biasa tetap berada di memori
  • Jika penyerang memperoleh hak administrator di terminal server, mereka bisa mengakses memori proses semua pengguna yang sedang login
  • Dalam demonstrasi, penyerang yang mengambil alih akun pengguna dengan hak administrator dapat melihat kredensial tersimpan milik dua pengguna lain yang sedang login atau pengguna yang koneksinya telah terputus, selama Edge berjalan
  • Perilaku ini telah dilaporkan ke Microsoft, dan tanggapan resminya menyatakan bahwa ini adalah “by design
  • Microsoft juga diberi tahu bahwa informasi ini akan dibagikan melalui pengungkapan yang bertanggung jawab agar pengguna dan organisasi dapat menilai cara mereka mengelola kredensial
  • Pada Rabu, 29 April, Palo Alto Networks Norway mempublikasikan temuan ini di BigBiteOfTech dan mendemonstrasikan alat sederhana untuk dengan mudah memeriksa apakah kata sandi disimpan dalam bentuk teks biasa di memori
  • Alat proof-of-concept telah dipublikasikan di GitHub, dan penulisnya juga meminta masukan karena belum banyak pengalaman dengan C# dan deployment GitHub: EdgeSavedPasswordsDumper

1 komentar

 
GN⁺ 2 jam lalu
Komentar Hacker News
  • Ini rasanya sudah seperti berada di sisi lain dari palka kedap. Jika Anda bisa membaca memori proses arbitrer, kemungkinan besar Anda juga berada pada posisi untuk sekadar membuang password dengan menyamar sebagai pengguna tersebut
    Jika penyerang memperoleh hak admin server terminal, mereka bisa mengakses memori proses semua pengguna yang sedang login, dan dengan hak admin mereka juga bisa menempelkan debugger ke semua proses Chrome untuk memaksa dekripsi password
    Perbedaan nyatanya mungkin hanya pada serangan cold boot, dan bahkan di situ pun tidak jelas apakah ini hanya sedikit mempermudah serangan, atau benar-benar memungkinkan serangan yang sebelumnya tidak mungkin
    [1] https://devblogs.microsoft.com/oldnewthing/20060508-22/?p=31...
    • Logika ini sepenuhnya sejalan dengan model ancaman Chromium. Begitu penyerang mendapat hak admin, secara definisi permainan sudah selesai
      Ini kecil kemungkinan merupakan masalah khusus Edge, dan tidak ada alasan Microsoft akan membuat browser-nya kurang aman dibanding proyek hulu
      Chrome menganggap penyerang yang secara fisik lokal berada di luar model ancamannya; jika seseorang sudah login ke perangkat saya sebagai saya, atau bisa menjalankan software dengan hak pengguna OS saya, maka menurut mereka tidak ada cara bagi Chrome ataupun aplikasi mana pun untuk bertahan
      Penyerang seperti itu bisa memodifikasi executable dan DLL, mengubah variabel lingkungan seperti PATH, mengubah file konfigurasi, membaca data akun pengguna lalu mengirimkannya keluar, sehingga posisi mereka adalah bahwa tidak ada jaminan pertahanan yang benar-benar bermakna yang bisa diberikan Chrome
      https://chromium.googlesource.com/chromium/src/+/148.0.7778....
    • Dalam beberapa tahun terakhir juga ada kerentanan browser yang memungkinkan pembacaan memori arbitrer hanya dengan hak pengguna biasa, hanya saja lambat atau kontrol atas lokasinya tidak sepenuhnya presisi. Menghapus kredensial secepat mungkin setelah dipakai tampak seperti langkah pencegahan yang cukup masuk akal, meski hanya menambah satu lapis parit pertahanan
    • Keamanan bukan hitam-putih. Ada tingkatan, seperti halnya menempelkan Post-it berisi informasi login di monitor jelas lebih berisiko daripada menyimpannya di laci yang tidak terkunci
    • Dari sudut pandang pengguna, setiap kali ingin menempelkan password saya harus login dulu dengan autentikasi biometrik, tapi password-nya ternyata bisa dipancing dari memori oleh proses pengguna mana pun?
      Saya merasa ada yang saya lewatkan
    • Sudah lupa dengan Cloudbleed?
      [0] https://en.wikipedia.org/wiki/Cloudbleed
  • Sebagai referensi, Google menjelaskan bahwa Chrome menyimpan password dalam memori dalam keadaan terenkripsi, dan memakai layanan elevasi hak akses agar proses lain tidak bisa berpura-pura sebagai Chrome untuk mengakses password plaintext: https://security.googleblog.com/2024/07/improving-security-o...
  • Secara konkret, salah satu jalur serangan yang mungkin adalah ketika Anda meninggalkan komputer tanpa dikunci selama 5 menit untuk ke toilet, lalu peretas jahat membuang semua password sebelum Anda kembali
    Menurut saya ini layak dipertimbangkan. Ada alasan kenapa pengelola password meminta ulang master password atau passkey setelah 10 menit
    Saya mengira Chrome bergantung pada area aman terenkripsi, sehingga meskipun punya hak root, mengekstrak password dengan mudah tetap cukup sulit
    Tentu saja komputer tidak boleh dibiarkan begitu saja. Tapi itu bukan berarti produk boleh dirancang sehingga kesalahan yang tak terhindarkan menjadi mudah dieksploitasi secara fatal
  • Apakah alat ini mengakses instans Edge yang sedang berjalan pada mesin yang sama? Jika ya, bukankah Anda tinggal mengekspor password yang tersimpan?
    https://support.microsoft.com/en-us/topic/export-passwords-i...
    • Pengelola password sering kali berupaya keras untuk menjaga password di memori tetap aman, tetapi model serangan dari alat-alat seperti itu sering tidak dipahami dengan baik
      Misalnya alat seperti KeePass cukup serius soal mendaftarkan plugin browser, tetapi jika Anda hanya punya hak pengguna biasa, Anda tetap bisa mengambil kuncinya dari browser dan melakukan apa saja
      Hal seperti “percayai browser ini” pada aplikasi web juga terasa aneh jika penyimpanan cookie bisa dibaca dengan mudah
  • Sepertinya hal serupa juga bisa dilakukan pada PAM di Linux. Tinggal menempelkan gdb ke proses login openssh atau getty
  • Apakah ada tautan ke kode sumber .exe ini? Saya ingin melihat bagaimana cara ekstraksinya
  • Kesalahan yang sebenarnya adalah kita masih memakai autentikasi password sederhana. Seharusnya memakai challenge-response atau autentikasi kunci publik
  • Agar adil, memuat ke memori dan menyimpan itu bukan hal yang sama
    • Judulnya mengatakan “menyimpan di memori”, dan bagi saya itu terdengar hampir sama. Bisa jelaskan bagaimana Anda melihat perbedaan antara “memuat” ke memori dan “menyimpan” di memori?
  • Koreksi saya kalau salah, tetapi Chrome juga menyimpan password sebagai teks mentah di Windows, atau setidaknya dulu begitu. Saya pernah mengambil password teman yang terlupa dari Chrome versi 2021
    • Ini memang beberapa tahun lalu, tetapi saya ingat pernah melihat developer Google berdebat sambil mengatakan bahwa jika seseorang bisa mengakses sistem file lokal, permainan memang sudah selesai
    • Chrome menambahkan enkripsi terikat aplikasi ke file cookie pada 2024