it-swarm-id.com

Apakah praktik umum untuk mencatat kata sandi yang ditolak?

Meskipun memilih kata sandi unik untuk setiap tujuan adalah ide bagus, dalam praktiknya hal ini jarang terjadi. Karena itu banyak memilih kata sandi dari kumpulan kata sandi pribadi yang mudah diingat. Ketika mengotentikasi ke dalam sistem yang jarang digunakan, sangat mungkin bahwa sejumlah kata sandi dari kumpulan tersebut dicoba secara berurutan. Atau, kata sandi yang gagal sangat dekat dengan kata sandi yang sebenarnya jika terjadi kesalahan ketik.

Karena hampir tidak ada yang menjelaskan kebijakan kata sandi yang berlaku, termasuk bagaimana kata sandi yang ditolak ditangani, haruskah seseorang mulai berasumsi bahwa ini dikumpulkan dalam database yang dijual kepada penawar tertinggi?

Apakah ada panduan implementasi? Apa yang biasanya terjadi dengan kata sandi kandidat ketika ini ditolak? Apakah mereka dicatat, segera dibuang atau dibiarkan berkeliaran sampai sampah dikumpulkan? Apakah prosedur penanganan kata sandi yang gagal merupakan bagian dari kontrol yang diaudit? Tampaknya ada banyak persyaratan dan rekomendasi implementasi mengenai cara menangani kata sandi yang valid, tetapi tidak jelas tentang nilai kata sandi yang ditolak.

[~ # ~] sunting [~ # ~]

Saya akan mencoba untuk membuat daftar di sini berbagai implementasi yang mencatat kredensial keamanan login gagal untuk mengetahui seberapa luas prosedur ini:

Sistem Manajemen Konten:

Joomla via Login Gagal Log plugin

Plug-in Kecil ini mengumpulkan log tentang setiap upaya login yang gagal dari administrator situs Joomla Anda dan mengirimkan email tentang masing-masing ke super administrator situs dengan nama pengguna, kata sandi, alamat ip dan kesalahan.

KPlaylist v1.3 dan v1.4 - gratis PHP sistem yang membuat Anda koleksi musik tersedia melalui Internet.

sedang mencatat nama pengguna dan kata sandi dari upaya login yang gagal di log kesalahan Apache

Drupal 5.x sebelum versi 5.19 dan Drupal 6.x sebelum versi 6.1 .

Ketika seorang pengguna anonim gagal untuk masuk karena salah ketik nama pengguna atau kata sandi, dan halaman tempat ia berada berisi tabel yang dapat diurutkan, nama pengguna dan kata sandi (salah) dimasukkan dalam tautan di atas meja. Jika pengguna mengunjungi tautan ini, kata sandi dapat dibocorkan ke situs eksternal melalui pengarah HTTP.

Perangkat lunak mandiri

Server Pelaporan disertakan dengan Symantec Client Security 3.1 dan SAV CE 10.1

Kata sandi administrator untuk Server Pelaporan Symantec dapat diungkapkan setelah upaya login gagal.

Linux:

OpenSSH melalui modifikasi auth-passwd.c ; menggunakan PAM melalui fungsi pam_sm_authenticate yang berlebihan

EDIT # 2

Tampaknya ada konsensus, dan pencatatan kata sandi atau PIN yang gagal dianggap sebagai risiko keamanan serius/utama, namun sejauh yang saya tahu, standar berikut tidak memberikan panduan, prosedur yang diaudit atau kontrol yang secara khusus menangani risiko ini:

  • PCI-DSS : Prosedur kata sandi dialamatkan di 8.4. dan 8.5. (kata sandi yang gagal hanya dilindungi selama pengiriman; setelah validasi tidak dianggap sebagai kata sandi, oleh karena itu tidak perlu dilindungi)

  • FIPS140-2 : Otentikasi dibahas dalam 4.3 (siklus hidup data otentikasi gagal hanya ditangani sebagian)

61
Drew Lex

Mencatat nilai dari upaya kata sandi yang gagal (cleartext atau lainnya) sepertinya merupakan anti-pola keamanan. Saya belum pernah melihat aplikasi web yang melakukan ini, dan saya tidak mengetahui adanya layanan sistem default seperti SSH yang melakukan keduanya. Seperti yang ditunjukkan oleh @tylerl di bawah ini, kebanyakan sistem hanya mencatat meta-informasi tentang upaya akses (mis. Nama pengguna, waktu, mungkin alamat IP, dll.).

Kenapa Ini Seharusnya Anti-Pola Keamanan

Begitu saja, saya dapat memikirkan tiga alasan mengapa mencatat nilai upaya kata sandi yang gagal adalah ide yang buruk:

1. Kesalahan Pengguna

Sangat umum bagi orang untuk salah ketik kata sandi dengan satu atau dua karakter. Memeriksa file log dari upaya yang gagal akan membuat banyak dari ini mudah untuk diketahui, terutama jika Anda dapat membedakan urutan upaya yang gagal dengan auth yang berhasil.

2. Tebak-dan-Periksa

Banyak orang memiliki dua atau tiga kata sandi yang mereka gunakan untuk semuanya. Akibatnya, ketika mereka lupa kata sandi mana yang mereka gunakan di situs tertentu, mereka hanya menggilir semuanya sampai mereka menemukan kecocokan. Ini akan membuatnya mudah untuk meretas akun mereka di situs lain.

. Log Kembung

Menyimpan kata sandi yang gagal tidak memiliki tujuan yang berguna untuk sebagian besar layanan otentikasi dalam produksi hari ini. Meskipun mungkin ada beberapa kasus Edge, bagi kebanyakan orang, menyimpan data ini hanya membuang ruang disk.

Tentang Legislasi/Standar yang Relevan

Saya tidak tahu standar apa pun (PCI, HIPAA, dll.) Yang secara khusus membahas prosedur untuk menyimpan upaya login yang gagal, tetapi saya pikir yang memberikan fakta di atas argumen hukum yang baik dapat dibuat mengapa standar yang sama yang berlaku untuk penyimpanan kata sandi pada umumnya juga berlaku untuk upaya kata sandi yang gagal juga. Dengan kata lain, Anda dapat membuat argumen hukum bahwa kata sandi yang gagal masih merupakan kata sandi, dan karena itu tunduk pada standar yang sama.

Walaupun saya jelas-jelas bukan pengacara, saya tidak ingin hakim harus memutuskan apakah saya lalai atau melanggar standar industri karena kata sandi yang gagal disimpan dalam teks yang jelas dan konsumen menderita akibatnya. Saya tidak berpikir itu akan berakhir dengan keputusan yang menguntungkan.

Saya setuju dengan OP bahwa mungkin bermanfaat bagi berbagai badan standar untuk menangani masalah ini secara khusus (jika mereka memang belum melakukannya). Untuk itu, saran saya adalah membuat standar kepatuhan untuk tidak menyimpan nilai percobaan kata sandi yang gagal sama sekali.

68
Mark

Tidak ada tujuan yang sah untuk mencatat kata sandi plaintext untuk aplikasi apa pun; terutama untuk login yang salah. Ini mungkin dicatat secara kebetulan - Saya dengan santai melihat auth.log untuk tujuan lain, dan melihat seorang pengguna secara tidak sengaja mengetikkan kata sandi mereka ke dalam bidang login (dan saya merekam bidang login untuk melihat akun apa yang mencoba untuk masuk) - namun saya memberi tahu pengguna itu dan mereka mengubah kata sandi.

Di sisi lain, sebagai pengguna, asumsi konservatif adalah mengatakan bahwa setiap aplikasi acak yang Anda gunakan mencatat setiap kata sandi dari upaya yang salah. Inilah sebabnya mengapa ide buruk untuk memiliki sedikit (tiga) kata sandi acak yang Anda daur-ulang, versus kata sandi unik untuk setiap situs yang dikelola dalam daftar kata sandi terenkripsi (mungkin menggunakan alat seperti keepass).

Pada catatan ini, Mark Zuckerberg (pendiri facebook) telah dituduh oleh businessinsider.com menggunakan log kombinasi login/kata sandi (bahkan dari entri yang salah) dari thefacebook.com (versi awal dari Facebook) untuk meretas akun email dari wartawan Harvard Crimson yang sedang menyelidikinya. Dari surat harian: :

Namun setelah klaim lebih lanjut muncul, Zuckerberg tampaknya menjadi cemas bahwa koran itu akan memuat berita tentang dirinya.

Business Insider mengklaim dia kemudian memberi tahu seorang teman bagaimana dia meretas akun staf Crimson.

Dia diduga memberi tahu temannya bahwa dia menggunakan TheFacebook.com untuk mencari anggota yang mengatakan mereka adalah staf Crimson.

Kemudian, ia diduga memeriksa laporan gagal login untuk melihat apakah ada anggota Crimson yang pernah memasukkan kata sandi yang salah ke TheFacebook.com.

Juga agak relevan xkcd (bayangkan bahwa akun jahat juga masuk mencoba kata sandi untuk meningkatkan tingkat keberhasilannya).

17
dr jimbob

Ada beberapa jawaban hebat di atas, jadi ini hanyalah perspektif cepat dan sederhana dari kebijakan pemerintah A.S. tentang pengelolaan sistem komputer yang memproses informasi rahasia.

(1) Seluruh sistem komputer harus dilindungi ke standar tertinggi yang disyaratkan oleh data apa saja pada mesin itu. Ini termasuk log yang disimpan di atau di luar mesin.

Misalnya, jika Anda dengan sengaja atau secara tidak sengaja memasukkan data "rahasia" di komputer, SETIAP bagian dari komputer itu sekarang harus dilindungi sebagai informasi "rahasia". Ini adalah kasus bahkan jika Anda memiliki komputer yang tidak rahasia (seperti di rumah misalnya) yang menerima email dengan informasi rahasia. Seluruh komputer, dan semua yang ada di dalamnya sekarang diklasifikasikan "rahasia."

(2) The kata sandi ke mesin itu juga diklasifikasikan pada tingkat perlindungan tertinggi yang diperlukan oleh data pada mesin itu.

Misalnya, jika Anda memiliki data "rahasia" pada mesin itu, di mana pun Anda menyimpan kata sandi itu, ia juga memerlukan tingkat perlindungan yang sama.

Seperti yang diterapkan pada pertanyaan Anda, terlepas dari standar yang Anda terapkan, seperti PCI-DSS, NISPOM, dll, Anda tidak dapat memiliki kata sandi dalam teks yang jelas dalam log jika persyaratannya adalah mereka harus dilindungi (seperti hash dan asin) .

Jadi dalam ringkasan, jika ada skema pengaturan diterapkan ke sistem komputer Anda yang bersangkutan, dan peraturan itu mengatakan Anda tidak dapat memiliki kata sandi teks yang jelas, maka Anda tidak dapat memiliki kata sandi teks yang jelas di log Anda.

6
OnTheShelf

Bukan tidak biasa untuk mencatat fakta bahwa upaya otentikasi telah gagal dan untuk siapa pengguna itu. Ini terbukti sangat berguna dalam pemecahan masalah forensik. Sangat tidak umum dan tidak bertanggung jawab dari sudut pandang keamanan untuk mencatat kata sandi apa yang ditolak. Informasi ini tidak memiliki tujuan yang bermanfaat dan dapat digunakan untuk melawan Anda.

SUNTING
Anda semoga dapat berharap bahwa perusahaan yang bereputasi baik dan terorganisir tidak akan menjual informasi kata sandi Anda karena ini benar-benar akan buruk bagi mereka jika ketahuan. Tetapi demi kepentingan keamanan Anda sendiri, Anda harus selalu siap untuk informasi yang Anda berikan untuk digunakan melawan Anda karena selalu ada kemungkinan. Ini berlaku ganda untuk organisasi mana pun yang reputasinya tidak dapat Anda andalkan dengan pasti.

6
tylerl

Tidak. Adalah umum bagi pengguna untuk memiliki kumpulan kata sandi, dan untuk menelusuri mereka mencoba mencari tahu mana yang digunakan untuk situs tertentu. Logging hanya berarti bahwa ketika Anda dikompromikan, alternatif mereka akan ditambahkan ke kumpulan cracker dari siapa pun yang memukul Anda.

2
John Haugeland