อยากรู้ว่าเราต้องลองใช้รหัสนั้นกี่ครั้งถึงจะสามารถถูกล็อกได้หรือไม่? ต่อไปนี้จะอธิบายหลักการของสามวิธีการคือ “การถูกล็อกด้วยวิธีรุนแรง, การโจมตีด้วยพจนานุกรม, และการโจมตีด้วยวิธีอื่นๆ” พร้อมทั้งอธิบายว่าทำไมรูปแบบไฟล์ต่างๆ จึงมีความยากในการถูกล็อกแตกต่างกันมาก และอธิบายถึงความแตกต่างในด้านประสิทธิภาพของการประมวลผลระหว่างการ์ดจอและ CPU อีกด้วย.
| รายการเปรียบเทียบ | ดาวน์โหลดซอฟต์แวร์แคร็ก | ฝากไว้กับเรา |
|---|---|---|
| พลังการประมวลผล | คอมพิวเตอร์ที่บ้านส่วนใหญ่จะมีการ์ดกราฟิกในตัวเท่านั้น | เครื่องถอดรหัส GPU หลายเครื่องทำงานเดียวกันในเวลาเดียวกัน |
| พจนานุกรมรหัสผ่าน | ฉันพบข้อความหลายแสนข้อความบนอินเทอร์เน็ต และมีข้อความซ้ำและไม่ถูกต้องจำนวนมาก | พจนานุกรมที่สะสมและทำความสะอาดมาหลายปี แบ่งตามนิสัยการใช้งาน |
| กลยุทธ์แคร็ก | ฉันจะพยายามทีละคนตั้งแต่ต้นจนจบเท่านั้น | ขั้นแรกพจนานุกรม จากนั้นมาสก์ จากนั้นปริมาณเต็ม กลยุทธ์หลายระดับจะก้าวหน้าทีละชั้น |
| คุณสามารถวิ่งต่อไปได้ไหม | ต้องเปิดคอมพิวเตอร์ตลอดเวลา หากคุณปิดหรือรีสตาร์ท ความพยายามทั้งหมดของคุณจะสูญเปล่า | ทำงานบนเซิร์ฟเวอร์ 7×24 และคุณจะไม่ได้รับผลกระทบแม้ว่าคุณจะปิดคอมพิวเตอร์ก็ตาม |
| ความเป็นไปได้ในการคลี่คลาย | ทุกอย่างขึ้นอยู่กับโชค โดยพื้นฐานแล้วรหัสผ่านจะยาวกว่านี้เล็กน้อย | ก่อนอื่นให้ครอบคลุมชุดค่าผสมที่เป็นไปได้มากที่สุด รหัสผ่านสั้น ๆ มักจะให้ผลลัพธ์ภายในไม่กี่สิบนาที |
| ค่าใช้จ่ายในการเริ่มต้น | ติดตั้งไดรเวอร์ กำหนดค่าบรรทัดคำสั่ง และรายงานข้อผิดพลาดโดยไม่มีใครสนใจ | เพียงอัปโหลดไฟล์แล้วคุณจะได้รับแจ้งผล |
การค้นหารหัสผ่านนั้นเป็นกระบวนการทดลองในความเป็นไปได้ทั้งหมด จนกระทั่งพบรหัสที่ถูกต้อง ยิ่งทดลองมากขึ้น และมีตัวเลือกน้อยลง โอกาสที่จะประสบความสำเร็จก็จะยิ่งสูง ในทางกลับกัน ยิ่งมีตัวเลือกมากขึ้น และการทดลองแต่ละครั้งมีต้นทุนสูงขึ้น ความหวังในการค้นพบรหัสก็จะยิ่งน้อยลง เครื่องคำนวณนี้จะช่วยวัดจำนวนครั้งที่ต้องทดลอง และเวลาที่ใช้ในการทดลอง เพื่อให้คุณสามารถประเมินความปลอดภัยของไฟล์ของคุณได้อย่างชัดเจน และเข้าใจว่าทำไมบางไฟล์สามารถเปิดได้ในเวลาไม่กี่นาที ในขณะที่บางไฟล์ถึงกับทำให้คอมพิวเตอร์เสียหายโดยไม่สามารถเปิดได้
การถูกล็อกด้วยวิธี brute force ไม่ต้องพึ่งพาความรู้ก่อนหน้านี้ใดๆ เลย โดยจะลองทุกความเป็นไปได้โดยตรง: สำหรับรหัสผ่านที่มี 8 ตัวอักษร ก็มีโอกาสเกิดขึ้นได้เพียง 100 ล้านชุดเท่านั้น แต่สำหรับรหัสผ่านที่มีทั้งตัวอักษรตัวใหญ่ตัวเล็ก ตัวเลข และสัญลักษณ์ ก็มีโอกาสเกิดขึ้นมากกว่า 6×10¹⁴ ชุดเลยทีเดียว. การถูกล็อกด้วยวิธีนี้จะเริ่มจากตัวอักษร aaaaaaaa ไปจนถึงชุดสุดท้ายที่มีอยู่ ซึ่งมีจุดเด่นคือ “แม้จะเป็นวิธีที่ซับซ้อนที่สุด แต่ก็ยังคงเป็นวิธีที่ปลอดภัยที่สุด” – หากมีเวลามากพอ ในทางทฤษฎีแล้ว ก็สามารถลองทุกอย่างได้. แต่ข้อเสียก็คือ จำนวนชุดรหัสผ่านจะเพิ่มขึ้นอย่างรวดเร็วตามความยาวของรหัสและชุดตัวอักษรที่มีอยู่ ดังนั้น รหัสผ่านที่ยาวขึ้นมาอีกนิด ก็อาจต้องใช้เวลาหลายชั่วอายุคนในการลองจนหมด.
คนส่วนใหญ่ไม่นิยมใช้รหัสที่เกิดขึ้นโดยบังเอิญเป็นรหัสล็อกอิน แต่จะใช้วันเกิด ชื่อ ลำดับตัวอักษรบนแป้นพิมพ์ หรือคำศัพท์ที่พบบ่อย การโจมตีแบบใช้พจนานุกรมจะจัดรหัสเหล่านี้ให้อยู่ในรูปแบบของคำศัพท์ต่างๆ และจะลองใช้คำเหล่านั้นทีละคำ ซึ่งมักจะสามารถเจาะระบบได้ภายในไม่กี่นาที วิธีนี้มีประสิทธิภาพสูงกว่าการโจมตีแบบใช้ความพยายามอย่างเดียว แต่ต้องอาศัยการที่รหัสล็อกอินนั้นอยู่ในพจนานุกรมจริงๆ หากเจอกรหัสที่เกิดขึ้นโดยบังเอิญที่แข็งแกร่ง ก็จะไม่สามารถเจาะระบบได้ เราได้รวบรวมและทำการล้างพจนานุกรมรหัสล็อกอินมาหลายปี เพื่อเพิ่มโอกาสในการเจาะระบบนี้.
การโจมตีแบบมาสก์ (Mask Attack) เป็นรูปแบบหนึ่งของการถอดรหัสอย่างรุนแรง: หากคุณจำได้ว่า “รหัสมี 8 ตัวอักษร, เริ่มต้นด้วยตัวใหญ่, และท้ายสุดคือ 2024” คุณสามารถบอกเงื่อนไขเหล่านี้ให้กับโปรแกรมที่ใช้ในการถอดรหัส เพื่อให้มันสร้างคู่รหัสที่ตรงตามเงื่อนไขเท่านั้น จากเดิมที่มีทั้งหมด 6×10¹⁴ คู่รหัส อาจกลายเป็นเพียงไม่กี่ร้อยล้านคู่ในเวลาไม่นาน ทำให้เวลาที่ต้องใช้ในการถอดรหัสลดลงจาก “อายุของจักรวาล” เหลือเพียง “ไม่กี่ชั่วโมง” นั่นคือเหตุผลว่าทำไมเมื่อสมัครงาน ควรเติมข้อมูลที่คุณจำได้ไว้มากขึ้น เพื่อเพิ่มโอกาสในการประสบความสำเร็จ.
ไฟล์ไม่ได้เปรียบเทียบรหัสผ่านโดยตรง แต่จะเปรียบเทียบค่า "ฮาสซี" ที่ได้จากการคำนวณรหัสผ่าน ในแต่ละครั้งที่พยายามใช้รหัสผ่าน ระบบจะต้องทำการคำนวณฮาสซีก่อน และยิ่งมีการทำการคำนวณมากเท่าไร ก็จะยิ่งช้าลง รูปแบบเก่ามีความปลอดภัยน้อยมาก: Office 97 ใช้ MD5/RC4 ซึ่งสามารถทดสอบรหัสผ่านได้หลายล้านครั้งต่อวินาที ส่วน Office 2013 ใช้ PBKDF2 เพื่อทำการคำนวณประมาณหนึ่งแสนครั้งต่อวินาที ซึ่งก็ยังเร็วกว่า Office 97 ประมาณหนึ่งหมื่นเท่า PDF ใช้ RC4 ซึ่งมีความแข็งแกร่งน้อย ส่วน AES ก็แข็งแกร่งกว่าเล็กน้อย; RAR5 มีการทำการคำนวณประมาณสามหมื่นครั้งต่อวินาที ซึ่งช้ากว่า RAR3 หลายสิบเท่า; 7Z มีการทำการคำนวณมากถึงห้าหมื่นครั้งต่อวินาที ซึ่งถือเป็นรูปแบบที่ยากที่สุดในบรรดารูปแบบที่พบบ่อย รหัสผ่านเดียวกัน อาจต้องใช้เวลาหลายสิบนาทีในการถูกลับมาใช้ได้บนเครื่องของคนอื่น แต่สำหรับคุณเอง อาจต้องใช้เวลาหลายวันกว่าจะสามารถถูกลับมาใช้ได้ นี่คือเหตุผลที่ทำให้รูปแบบต่างๆ มีความแตกต่างกันมาก.
การคำนวณแบบฮาสสามารถถือเป็นตัวอย่างของการประมวลผลที่มีการทำซ้ำหลายครั้ง แต่แต่ละครั้งนั้นแยกออกจากกันได้อย่างชัดเจน ซึ่งเหมาะอย่างยิ่งสำหรับโครงสร้างการประมวลผลแบบขนานของจอแสดงผลกราฟิก: จอแสดงผลกราฟิกสำหรับเกมทั่วไปมีหลายพันโครงสร้างการประมวลผล ซึ่งสามารถประมวลผลฮาสได้หลายล้านครั้งในเวลาเดียวกัน โดยมีความเร็วสูงกว่าคอมพิวเตอร์ธรรมดาถึงหลายสิบถึงหลายร้อยเท่า คอมพิวเตอร์ธรรมดามักจะมีเพียงจอแสดงผลกราฟิกแบบรวมอยู่ในเครื่อง หรือต้องใช้คอมพิวเตอร์ CPU เพื่อทำงานแทน ซึ่งทำให้ความเร็วช้าลงมาก วิธีการประมวลผลของเราคือการให้หลายเซิร์ฟเวอร์ GPU ทำงานพร้อมกันเพื่อทำงานเดียวกัน รวมถึงการใช้กลยุทธ์ต่างๆ เช่น การจำกัดขอบเขตการประมวลผล และการใช้ดิกชันนารีเพื่อลดขอบเขตการประมวลผลลงอีก ทั้งหมดนี้คือความแตกต่างระหว่างการทำงานเองเป็นเวลาหลายเดือนกับการปล่อยให้เราทำงานเพียงไม่กี่นาทีเพื่อให้ได้ผลลัพธ์
ดังนั้น ยิ่งความยาวของรหัสเพิ่มขึ้นหนึ่งตัว หรือชุดอักขระกว้างขึ้นอีกหนึ่งระดับ ความยากในการค้นหารหัสก็จะเพิ่มขึ้นเป็นสองเท่า แต่ถ้าเลือกใช้รูปแบบไฟล์ที่รวดเร็วขึ้น หรือจดจำรหัสได้มากขึ้น ก็จะช่วยลดเวลาได้อย่างมาก คำนวณด้านบนได้แสดงค่าที่เกิดจากปัจจัยเหล่านี้ไว้แล้ว—เพียงกรอกประเภทไฟล์และช่วงรหัสของคุณ คุณจะเห็นว่าคอมพิวเตอร์ของคุณและคลัสเตอร์ของเราต้องใช้เวลาเท่าไหร่ หากผลลัพธ์ทำให้คุณผิดหวัง ก็สามารถส่งไฟล์มาให้เราพิจารณาได้เลย.
ขึ้นอยู่กับความยาวของรหัสผ่าน, ข้อมูลตัวอักษรที่ใช้, และวิธีการเข้ารหัสไฟล์ หากเป็นรหัสผ่านที่มีความยาว 8 หลัก ซึ่งประกอบด้วยตัวเลขเพียงอย่างเดียว จะมีโอกาสเกิดขึ้นประมาณ 100 ล้านชุด ส่วนรหัสผ่านที่มีทั้งตัวอักษรตัวใหญ่และตัวเล็ก, ตัวเลข, และสัญลักษณ์ ความยาว 12 หลัก จะมีโอกาสเกิดขึ้นมากกว่า 10 ยกกำลัง 24 ชุด ซึ่งอาจต้องใช้เวลาหลายพันปีในการคำนวณ คุณสามารถใช้นักคำนวณในหน้านี้เพื่อคำนวณค่าได้ทันที.
การโจมตีด้วยความรุนแรงไม่จำเป็นต้องอาศัยความรู้ล่วงหน้า โดยจะพิจารณาทุกความผิดปกติที่เป็นไปได้ การโจมตีด้วยคำศัพท์ที่พบบ่อยจะมีประสิทธิภาพมากกว่า การโจมตีด้วยกลวิธีอื่นๆ จะเพิ่มข้อมูลที่รู้อยู่แล้วเข้ามา (เช่น 8 ตัวอักษร, ตัวอักษรตัวแรกเป็นตัวใหญ่) เพื่อลดขอบเขตของการค้นหาให้แคบลงมาก
เนื่องจากจำนวนครั้งของการทำซ้ำขั้นตอนต่างๆ ในรูปแบบที่แตกต่างกันนั้นมีความแตกต่างกันอย่างมาก โปรแกรม Office 97 ใช้รูปแบบการเข้ารหัส MD5/RC4 ที่มีประสิทธิภาพต่ำมาก โดยการ์ดจอสามารถทดลองการเข้ารหัสได้หลายล้านครั้งต่อวินาที ส่วนโปรแกรม Office 2013 นั้น มีจำนวนครั้งของการทำซ้ำประมาณหนึ่งแสนครั้งต่อวินาที หรือช้ากว่าประมาณหนึ่งพันเท่า โปรแกรม 7Z นั้นมีจำนวนครั้งของการทำซ้ำมากกว่าหนึ่งแสนครั้ง ซึ่งถือเป็นรูปแบบที่ยากที่สุดในบรรดารูปแบบที่พบบ่อย
มอบไฟล์ให้เราและเรียกใช้ชุดค่าผสมที่มีแนวโน้มสูงที่สุดก่อนนั้นสมเหตุสมผลกว่าการวิ่งที่บ้านเป็นเวลาสองสามวัน