Serangan Kamus dan Jadual Pelangi
Lihat cara jadual cincangan terhitung awal membolehkan pemecahan kata laluan dengan pantas dan cara penggaraman menggagalkannya.
Serangan Kamus dan Jadual Pelangi ialah pelajaran Cryptology Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cryptology Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.
Serangan Kamus: Pemecahan Berasaskan Senarai Perkataan
Serangan kamus tidak mencuba setiap gabungan yang mungkin; sebaliknya, serangan ini mencuba senarai pilihan kata laluan yang berkemungkinan. Pengguna sebenar memilih kata laluan daripada kosa kata terhad: perkataan umum, nama, tarikh dan frasa. Menguji senarai perkataan yang mengandungi satu juta kata laluan berkemungkinan jauh lebih pantas daripada menguji semua rentetan 8 aksara yang mungkin (200 trilion gabungan). Serangan kamus berjaya kerana pilihan kata laluan manusia boleh dijangka.
rockyou.txt: Set Data Kebocoran Kata Laluan
Pada 2009, laman rangkaian sosial RockYou mengalami kebocoran yang mendedahkan 32 juta kata laluan pengguna dalam teks biasa. Senarai yang terhasil, kini dikenali sebagai rockyou.txt, mengandungi kira-kira 14 juta kata laluan unik dan merupakan senarai perkataan piawai pertama yang digunakan dalam pemecahan kata laluan. Meneliti rockyou.txt menunjukkan bahawa kata laluan yang paling umum ialah 123456, password dan variasi nama pertama yang diikuti nombor.
Serangan Hibrid: Menggabungkan Kamus dan Peraturan
Serangan hibrid memperluas senarai perkataan asas dengan menggunakan peraturan transformasi. Perkataan seperti password menjadi Password, P@ssword, p4ssword, password1, password123 dan beratus-ratus variasi lain. Enjin peraturan Hashcat membolehkan anda menentukan dengan tepat transformasi yang hendak digunakan: menjadikan huruf pertama huruf besar, menambah dua digit pada hujung dan menggantikan huruf dengan simbol. Hal ini memperluas liputan dengan ketara tanpa menguji rentetan yang benar-benar rawak.
Serangan Berasaskan Peraturan dan Bahasa Leet
Penggantian bahasa leet (menggantikan huruf dengan nombor: e=3, a=4, i=1, o=0, s=5) pernah dianggap dapat meningkatkan keselamatan kata laluan. Alat pemecah berasaskan peraturan menyertakan penggantian ini sebagai transformasi piawai. Kata laluan seperti s3cur1ty boleh dipecahkan dengan mudah daripada kata dasar security yang ditambah dengan peraturan penggantian leet. Alat pemecah juga mencuba corak umum: menambah !, 123 atau tahun semasa pada mana-mana perkataan dalam kamus.
Jadual Pelangi: Rantaian Cincangan Dipra-kira
Jadual pelangi ialah pangkalan data besar yang dipra-kira dan memetakan nilai cincangan kembali kepada kata laluan asal. Daripada mencincang calon dan membandingkannya, penyerang mencari cincangan tersebut dalam jadual. Pembinaan jadual memerlukan masa dan ruang storan yang sangat besar, tetapi setiap carian dapat dilakukan serta-merta. Jadual pelangi untuk MD5 bagi semua kata laluan abjad angka 8 aksara boleh dimuatkan dalam beberapa terabait dan memecahkan mana-mana kata laluan yang sepadan dalam beberapa milisaat.
Pertukaran Masa-Memori dalam Jadual Pelangi
Jadual pelangi menunjukkan pertukaran masa-memori: luangkan masa untuk mengira jadual sekali, kemudian gunakan memori untuk mempercepatkan carian pada masa hadapan. Jadual ini menyimpan rantaian cincangan: setiap rantaian bermula dengan tekaan, mencincangnya, menggunakan fungsi pengurangan untuk menjana tekaan lain dan mengulangi proses tersebut. Menyimpan titik akhir rantaian sahaja membolehkan kata laluan dipulihkan daripada cincangan melalui proses pembinaan semula rantaian yang mengimbangi keperluan storan dengan pengiraan.
Garam Menewaskan Jadual Pelangi
Garam ialah nilai rawak yang ditambah pada kata laluan sebelum pencincangan. Oleh sebab garam adalah unik bagi setiap pengguna, dua pengguna dengan kata laluan yang sama akan menghasilkan nilai cincangan yang berbeza. Ini bermaksud penyerang tidak boleh mempra-kira jadual pelangi untuk kata laluan yang digaramkan; penyerang perlu membina jadual berasingan bagi setiap nilai garam yang mungkin, yang tidak praktikal dari segi pengiraan. Penambahan garam diwajibkan untuk mana-mana sistem penyimpanan kata laluan yang selamat.
MD5 Tanpa Garam: Dipecahkan serta-merta
Banyak aplikasi web awal menyimpan kata laluan sebagai cincangan MD5 tanpa garam. MD5 bagi rentetan password ialah 5f4dcc3b5aa765d61d8327deb882cf99, iaitu nilai tetap. Sesiapa yang pernah melihat cincangan ini sebelum ini atau mencarinya dalam pangkalan data yang dipra-kira akan mengetahui kata laluan tersebut serta-merta. Laman seperti CrackStation mengekalkan berbilion cincangan MD5 dan SHA-1 yang dipra-kira. Kata laluan umum tanpa garam boleh dipecahkan dalam masa kurang sesaat.
Have I Been Pwned
Have I Been Pwned (HIBP), yang dicipta oleh penyelidik keselamatan Troy Hunt, menghimpunkan cincangan kata laluan daripada kebocoran data besar. Pengguna boleh menyemak sama ada alamat e-mel atau kata laluan mereka pernah muncul dalam kebocoran. Pembangun boleh menggunakan API HIBP untuk menyemak kata laluan calon terhadap 850 juta cincangan yang bocor menggunakan model k-anonimitas: 5 aksara heksadesimal pertama bagi cincangan SHA-1 dihantar kepada API, yang mengembalikan akhiran yang sepadan tanpa pelayan mengetahui cincangan penuh.
Pengisian Kelayakan dengan Senarai Kata Laluan yang Bocor
Serangan pengisian kelayakan mengambil pasangan nama pengguna-kata laluan daripada satu kebocoran dan mengujinya terhadap perkhidmatan lain. Oleh sebab ramai pengguna menggunakan semula kata laluan di pelbagai laman, kebocoran di laman yang mempunyai keselamatan rendah boleh menghasilkan kelayakan yang berfungsi untuk sasaran bernilai tinggi seperti perbankan dan e-mel. Alat automatik menghantar ribuan cubaan log masuk sesaat merentasi pelbagai perkhidmatan. Pengehadan kadar dan pengesahan berbilang faktor ialah pertahanan utama terhadap pengisian kelayakan.
Pertahanan: Pencincangan Adaptif dengan Garam
Penyimpanan kata laluan yang selamat menggabungkan penambahan garam dengan fungsi cincangan adaptif yang perlahan. bcrypt, Argon2 dan scrypt direka supaya mahal dari segi pengiraan, dengan mengambil masa milisaat bagi setiap cincangan dan bukannya mikrosaat. Ini mengehadkan kadar percubaan penyerang daripada berbilion percubaan sesaat kepada ribuan. Parameter kos boleh ditingkatkan apabila perkakasan menjadi lebih pantas, sekali gus mengekalkan keperluan kerja yang konsisten. Algoritma ini ialah piawai semasa untuk penyimpanan kata laluan.
Penambahan Garam berbanding Jadual Pelangi
Mengapakah penambahan garam rawak yang unik pada setiap kata laluan sebelum pencincangan dapat menewaskan serangan jadual pelangi yang dipra-kira?
Serangan Kamus dan Jadual Pelangi: Kesimpulan Utama
Serangan kamus menguji kata laluan yang berkemungkinan dan bukannya semua gabungan. rockyou.txt menyediakan 14 juta contoh dunia sebenar. Serangan hibrid dan berasaskan peraturan memperluas senarai perkataan dengan transformasi. Jadual pelangi memberikan carian serta-merta untuk cincangan tanpa garam. Penambahan garam menewaskan jadual pelangi dengan menjadikan setiap cincangan unik. HIBP menyemak sama ada kata laluan muncul dalam kebocoran yang diketahui. Fungsi cincangan adaptif seperti bcrypt dan Argon2 diperlukan untuk penyimpanan yang selamat.
Pelajari Cryptology Academy dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 67
- Pelajaran
- 261
Soalan Lazim
Adakah pelajaran “Serangan Kamus dan Jadual Pelangi” percuma?
Ya — teks penuh “Serangan Kamus dan Jadual Pelangi” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cryptology Academy, tingkat taraf kepada CoddyKit PRO. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Serangan Kamus dan Jadual Pelangi”?
Lihat cara jadual cincangan terhitung awal membolehkan pemecahan kata laluan dengan pantas dan cara penggaraman menggagalkannya. Anda berlatih Cryptology Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Cryptology Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Cryptology Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Serangan Kamus dan Jadual Pelangi” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cryptology Academy ini?
Ya. Setiap pelajaran Cryptology Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Cara Serangan Brute Force Berfungsi
- Serangan Kamus dan Jadual Pelangi
- Mengapa Panjang Kunci Kriptografi Penting
- Pengehadan Kadar dan Pertahanan Penguncian Akaun