ในการยืนยันตัวตนกับเว็บไซต์ คุณต้องระบุชื่อผู้ใช้และรหัสผ่าน จากนั้นไซต์จะตรวจสอบรายละเอียดการรับรองความถูกต้องที่คุณให้ไว้โดยเปรียบเทียบกับรายละเอียดที่จัดเก็บไว้ในฐานข้อมูล หากรายละเอียดตรงกัน จะได้รับสิทธิ์การเข้าถึง หากรายละเอียดไม่ตรงกัน การเข้าถึงจะถูกปฏิเสธ
ขออภัย การละเมิดข้อมูลเป็นเหตุการณ์ที่เกิดขึ้นค่อนข้างบ่อย การละเมิดข้อมูลอาจเป็นปัญหาใหญ่ได้เนื่องจากหนึ่งในบิตของข้อมูลที่ถูกกำหนดเป้าหมายมากที่สุดคือข้อมูลผู้ใช้ โดยเฉพาะรายการชื่อผู้ใช้และรหัสผ่าน หากรหัสผ่านถูกจัดเก็บตามที่เป็นอยู่ ในรูปแบบข้อความธรรมดา ทุกคนที่เข้าถึงฐานข้อมูลจะสามารถเข้าถึงบัญชีของผู้ใช้รายอื่นได้ ราวกับว่าพวกเขาได้รับพวงกุญแจพร้อมกุญแจสำหรับทุกประตูในอาคารอพาร์ตเมนต์
แม้ว่าจะมีความพยายามอย่างมากในการป้องกันการละเมิดข้อมูลตั้งแต่แรก แต่ขอแนะนำให้ใช้กลยุทธ์การป้องกันเชิงลึก โดยเฉพาะอย่างยิ่ง คำแนะนำด้านความปลอดภัยระบุว่ารหัสผ่านควรถูกแฮช โดยเก็บเฉพาะแฮชของรหัสผ่านเท่านั้น ฟังก์ชันแฮชเป็นฟังก์ชันทางเดียวที่จะแปลงอินพุตเดียวกันเป็นเอาต์พุตเดียวกันเสมอ อย่างไรก็ตาม แม้จะมีการเปลี่ยนแปลงเล็กน้อยในอินพุต แต่ก็สร้างเอาต์พุตที่แตกต่างไปจากเดิมอย่างสิ้นเชิง ไม่มีทางที่จะย้อนกลับฟังก์ชันและเปลี่ยนแฮชที่ส่งออกกลับเป็นอินพุตดั้งเดิมได้ อย่างไรก็ตาม สิ่งที่คุณสามารถทำได้คือแฮชอินพุตใหม่และดูว่าผลลัพธ์ตรงกับแฮชที่เก็บไว้ในฐานข้อมูลหรือไม่ หากคุณทราบรหัสผ่านที่ตรงกันโดยที่ไม่เคยทราบรหัสผ่านจริง
นอกจากนี้ยังหมายความว่าหากผู้โจมตีเจาะระบบฐานข้อมูล จะไม่ได้รับรายการรหัสผ่านที่เป็นประโยชน์ในทันที แต่จะได้รับแฮชแทน เพื่อให้สามารถใช้แฮชเหล่านี้ได้ พวกเขาจำเป็นต้องถอดรหัส
ถอดรหัสแฮชรหัสผ่านด้วยกึ๋น
การแคร็กแฮชของรหัสผ่านคือกระบวนการค้นหาว่ารหัสผ่านดั้งเดิมที่แฮชนั้นใช้แทนคืออะไร เนื่องจากไม่มีวิธีย้อนกลับฟังก์ชันแฮชและเปลี่ยนแฮชเป็นรหัสผ่าน วิธีเดียวที่จะถอดรหัสแฮชคือการเดารหัสผ่าน วิธีหนึ่งคือการใช้กำลังดุร้ายโจมตี สิ่งนี้เกี่ยวข้องกับการลองทุกรหัสผ่านที่เป็นไปได้ นั่นหมายถึงการเริ่มจาก "a" พยายามทุกตัวอักษรในทั้งสองกรณี และทุกๆ ตัวเลขและสัญลักษณ์ จากนั้นผู้โจมตีจำเป็นต้องลองใช้ชุดค่าผสมสองอักขระ ชุดค่าผสมสามอักขระ และอื่นๆ การเพิ่มขึ้นของชุดค่าผสมที่เป็นไปได้ของอักขระจะทวีคูณทุกครั้งที่คุณเพิ่มอักขระ สิ่งนี้ทำให้ยากต่อการเดารหัสผ่านยาวๆ อย่างมีประสิทธิภาพ แม้ว่าจะใช้อัลกอริธึมการแฮชที่รวดเร็วร่วมกับอุปกรณ์ถอดรหัส GPU อันทรงพลังก็ตาม
ความพยายามบางอย่างสามารถประหยัดได้โดยการดูข้อกำหนดรหัสผ่านของเว็บไซต์ และไม่ลองใช้รหัสผ่านที่สั้นเกินไปที่จะอนุญาตหรือไม่มีตัวเลข เป็นต้น สิ่งนี้จะช่วยประหยัดเวลาและยังเหมาะกับการโจมตีแบบเดรัจฉานโดยใช้รหัสผ่านที่อนุญาตทั้งหมด การโจมตีด้วยกำลังเดรัจฉานในขณะที่ช้า - หากปล่อยไว้นานพอด้วยพลังการประมวลผลจำนวนมาก ในที่สุดก็จะถอดรหัสรหัสผ่านใด ๆ เนื่องจากจะมีการลองชุดค่าผสมที่เป็นไปได้ทั้งหมด
ปัญหาของการโจมตีด้วยกำลังดุร้ายคือพวกมันไม่ฉลาดนัก การโจมตีด้วยพจนานุกรมเป็นตัวแปรที่มีเป้าหมายมากกว่า แทนที่จะลองใช้รหัสผ่านที่เป็นไปได้ ระบบจะลองรายการรหัสผ่านที่ระบุ ความสำเร็จของการโจมตีประเภทนี้ขึ้นอยู่กับรายการรหัสผ่านและพจนานุกรมที่เป็นปัญหา
การคาดเดาที่มีการศึกษา
พจนานุกรมรหัสผ่านมักจะสร้างจากรหัสผ่านที่แคร็กไว้ก่อนหน้านี้จากการรั่วไหลของข้อมูลอื่นๆ พจนานุกรมเหล่านี้สามารถบรรจุรายการได้เป็นพันหรือล้านรายการ สิ่งนี้สร้างขึ้นจากแนวคิดที่ว่าผู้คนมักสร้างรหัสผ่านที่ไม่ซ้ำใครได้ไม่ดีนัก หลักฐานจากการละเมิดข้อมูลแสดงให้เห็นว่าเป็นกรณีนี้เช่นกัน ผู้คนยังคงใช้รูปแบบต่างๆ ในคำว่า "รหัสผ่าน" หัวข้อทั่วไปอื่นๆ ได้แก่ ทีมกีฬา ชื่อสัตว์เลี้ยง ชื่อสถานที่ ชื่อบริษัท การเกลียดงานของคุณ และรหัสผ่านตามวันที่ ข้อสุดท้ายนี้มีแนวโน้มที่จะเกิดขึ้นเมื่อผู้คนถูกบังคับให้เปลี่ยนรหัสผ่านเป็นประจำ
การใช้พจนานุกรมรหัสผ่านช่วยลดจำนวนการคาดเดาที่ต้องทำลงอย่างมากเมื่อเทียบกับการโจมตีแบบเดรัจฉาน พจนานุกรมรหัสผ่านยังมีแนวโน้มที่จะมีทั้งรหัสผ่านที่สั้นและยาวกว่า ซึ่งหมายความว่าอาจมีการลองใช้รหัสผ่านบางรหัสผ่านซึ่งจะไม่สามารถเข้าถึงได้แม้จะผ่านไปหลายปีหรือใช้การคาดเดาที่ดุร้ายก็ตาม วิธีการนี้พิสูจน์ได้ว่าประสบความสำเร็จเช่นกัน สถิติจะแตกต่างกันไปตามการละเมิดข้อมูลและขนาดและคุณภาพของพจนานุกรมที่ใช้ แต่อัตราความสำเร็จอาจเกิน 70%
อัตราความสำเร็จสามารถเพิ่มขึ้นได้ด้วยอัลกอริธึมการผสมคำ อัลกอริทึมเหล่านี้ใช้แต่ละคำในพจนานุกรมรหัสผ่านแล้วปรับเปลี่ยนเล็กน้อย การแก้ไขเหล่านี้มักจะเป็นการแทนที่อักขระมาตรฐานและเพิ่มตัวเลขหรือสัญลักษณ์ต่อท้าย ตัวอย่างเช่น เป็นเรื่องปกติที่ผู้คนจะแทนที่ตัวอักษร "e" ด้วย "3" และ "s" ด้วย "$" หรือเพิ่มเครื่องหมายอัศเจรีย์ที่ส่วนท้าย อัลกอริทึม Word mangling สร้างรายการที่ซ้ำกันของแต่ละรายการในพจนานุกรมรหัสผ่าน สำเนาแต่ละตัวมีรูปแบบที่แตกต่างกันของการแทนที่อักขระเหล่านี้ สิ่งนี้จะเพิ่มจำนวนรหัสผ่านที่ต้องคาดเดาอย่างมาก และยังเพิ่มอัตราความสำเร็จด้วย ในบางกรณีอาจสูงกว่า 90%
บทสรุป
การโจมตีด้วยพจนานุกรมเป็นเป้าหมายรูปแบบหนึ่งของการโจมตีด้วยกำลังดุร้าย แทนที่จะพยายามผสมอักขระที่เป็นไปได้ทั้งหมด จะมีการทดสอบชุดย่อยของอักขระผสม ชุดย่อยนี้เป็นรายการของรหัสผ่านที่เคยพบและหากจำเป็นในการแคร็กจากการละเมิดข้อมูลที่ผ่านมา ซึ่งช่วยลดจำนวนการเดาลงได้อย่างมากในขณะที่ครอบคลุมรหัสผ่านที่เคยถูกใช้มาก่อน และในบางกรณีก็เห็นได้บ่อยๆ การโจมตีด้วยพจนานุกรมไม่มีอัตราความสำเร็จสูงเท่ากับการโจมตีด้วยกำลังดุร้าย อย่างไรก็ตาม นั่นถือว่าคุณมีเวลาไม่จำกัดและพลังในการประมวลผล การโจมตีด้วยพจนานุกรมมีแนวโน้มที่จะได้รับอัตราความสำเร็จสูงพอสมควรเร็วกว่าการโจมตีด้วยกำลังดุร้าย นี่เป็นเพราะมันไม่เสียเวลาไปกับการผสมผสานตัวละครที่ไม่น่าเป็นไปได้อย่างยิ่ง
สิ่งสำคัญอย่างหนึ่งที่คุณควรทำเมื่อคิดรหัสผ่านคือต้องแน่ใจว่ารหัสผ่านนั้นจะไม่ปรากฏในรายการคำ วิธีหนึ่งในการทำเช่นนั้นคือสร้างรหัสผ่านที่ซับซ้อน อีกวิธีหนึ่งคือสร้างรหัสผ่านที่ยาว โดยทั่วไป ตัวเลือกที่ดีที่สุดคือตั้งรหัสผ่านยาว ๆ ซึ่งประกอบด้วยคำไม่กี่คำ สิ่งสำคัญคือคำเหล่านั้นไม่ได้สร้างวลีที่แท้จริงเนื่องจากอาจเดาได้ พวกเขาควรจะไม่เกี่ยวข้องกันอย่างสมบูรณ์ ขอแนะนำให้คุณเลือกรหัสผ่านที่มีความยาวมากกว่า 10 ตัวอักษร โดย 8 เป็นค่าต่ำสุดที่แน่นอน