แฮกเกอร์ใช้วิธีการต่างๆ ในการถอดรหัสผ่าน และหนึ่งในนั้นคือการโจมตีแบบเรนโบว์เทเบิล ในบางกรณี วิธีนี้อาจรวดเร็วกว่าการโจมตีแบบพจนานุกรม หรือการสวมรอยข้อมูลประจำตัว

ในบทความนี้ จะมาสำรวจวิธีการทำงานของการโจมตีแบบ Rainbow table และพูดถึงวิธีป้องกันการโจมตีดังกล่าว

นิยามของการโจมตีแบบ Rainbow table

การโจมตีแบบ Rainbow table คือการโจมตีทางวิทยาการรหัสลับที่แฮกเกอร์ใช้เพื่อบุกรุกเข้าสู่ระบบโดยการหารหัสผ่านจากแฮช ซึ่งทำหน้าที่เหมือนลายนิ้วมือดิจิทัล ฟังก์ชันแฮชจะจับคู่รหัสผ่านแต่ละรหัสกับสตริงอักขระที่สอดคล้องกัน

ต่างจากการโจมตีแบบ Brute-force ที่ลองรหัสผ่านที่เป็นไปได้ทั้งหมดทีละรหัส การโจมตีแบบ Rainbow table ไม่จำเป็นต้องเดาเมื่อมีการคำนวณตารางไว้ล่วงหน้าแล้ว ตารางที่คำนวณไว้ล่วงหน้านี้ (เรียกว่าตารางเรนโบว์เนื่องจากลักษณะที่ปรากฏหากมีการใส่รหัสสี) โดยพื้นฐานแล้วคือฐานข้อมูลขนาดใหญ่ของคู่ค่าแฮชที่ลิงก์กับข้อความธรรมดาที่สอดคล้องกัน

วิธีการทำงานของการโจมตีรหัสผ่านแบบ Rainbow table

1. การสร้างรายการรหัสผ่าน

เมื่อสร้างตารางเรนโบว์ แฮกเกอร์มักจะตั้งเป้าไปที่รหัสผ่านที่มีแนวโน้มว่าจะใช้มากที่สุดและใช้กันทั่วไปซึ่งมีรูปแบบง่ายๆ (เช่น 123456, password หรือ qwerty) คำในพจนานุกรม หรือรหัสผ่านที่หลุดออกมาซึ่งได้รับจากการละเมิดข้อมูล

2. การเลือกฟังก์ชันแฮชและการแปลงรหัสผ่าน

การโจมตีแบบ Rainbow table ทำงานได้ดีกับฟังก์ชันแฮชทางวิทยาการรหัสลับที่ง่ายกว่าและเร็วกว่า เช่น MD-5, SHA-1, LM Hash หรือ NTLM Hash เนื่องจากไม่มีการใช้คุณสมบัติด้านความปลอดภัยอย่างการใส่ซอลต์ (การเพิ่มข้อมูลสุ่มลงในรหัสผ่านแต่ละรหัสก่อนทำการแฮช) หรือการขยายคีย์ (การแฮชรหัสผ่านซ้ำๆ)

รหัสผ่านที่แฮชด้วย MD-5รหัสผ่านแบบข้อความธรรมดา
482c811da5d5b4bc6d497ffa98491e38password123

รหัสผ่านแบบข้อความธรรมดาแต่ละรหัสจะถูกประมวลผลผ่านฟังก์ชันแฮชเพื่อสร้างแฮชที่สอดคล้องกัน ซึ่งมีสตริงอักขระขนาดคงที่และไม่ซ้ำใครเหมือนในตัวอย่างข้างต้น เมื่อรหัสผ่านทั้งหมดได้รับการแฮชแล้ว แฮกเกอร์สามารถใช้เพื่อสร้างตารางเรนโบว์ได้

3. การสร้างตารางเรนโบว์เพื่อเปิดเผยรหัสผ่าน

ตารางเรนโบว์อาจมองได้ว่าเป็นแผ่นงาน Excel ขนาดใหญ่ที่มีรหัสผ่านที่แฮชแล้วในคอลัมน์แรกและรหัสผ่านแบบข้อความธรรมดาในคอลัมน์ที่สอง หากแฮชที่ถูกละเมิดอยู่ในตารางนี้ ก็หมายความว่ารหัสผ่านที่ถูกละเมิดคือเซลล์ที่อยู่ถัดไป

ตัวอย่างการโจมตีแบบ Rainbow table

ต่อไปนี้เป็นตัวอย่างสมมติสองตัวอย่างเพื่อแสดงให้เห็นว่าการโจมตีแบบ Rainbow table อาจเกิดขึ้นได้อย่างไร:

  • แฮกเกอร์ระบุไซต์โซเชียลมีเดียที่ใช้อัลกอริทึมการแฮชที่ล้าสมัยโดยไม่มีการใส่ซอลต์ใดๆ ด้วยการใช้ประโยชน์จากช่องโหว่การแทรกคำสั่ง SQL ผู้โจมตีจะดึงค่าแฮชของรหัสผ่านของผู้ใช้ออกจากฐานข้อมูลของเว็บไซต์ จากนั้นจึงใช้ตารางเรนโบว์ที่คำนวณไว้ล่วงหน้าเพื่อแปลงค่าแฮชเหล่านี้หลายพันค่ากลับเป็นรหัสผ่านแบบข้อความธรรมดาอย่างรวดเร็ว และโจมตีบัญชีของผู้ใช้
  • ในระหว่างการตรวจสอบเครือข่ายตามปกติ แฮกเกอร์พบว่าเว็บไซต์อีคอมเมิร์ซส่งแฮชของรหัสผ่านระหว่างเซิร์ฟเวอร์อย่างไม่ปลอดภัย และใช้เครื่องมือดักจับข้อมูลเครือข่ายเพื่อดักจับข้อมูลนี้ เนื่องจากในขณะนี้สามารถเข้าถึงแฮชของรหัสผ่านได้ แฮกเกอร์จึงใช้การโจมตีแบบเรนโบว์เทเบิลเพื่อถอดรหัสรหัสผ่านของลูกค้า เพื่อเข้าถึงบัญชีสำหรับการซื้อสินค้าและข้อมูลส่วนบุคคล

การละเมิดข้อมูลจากการโจมตีแบบ Rainbow table

การโจมตีแบบ Rainbow table ถูกนำมาใช้ในโลกแห่งความเป็นจริงเพื่อขโมยรายละเอียดการเข้าสู่ระบบหลายล้านรายการ

ตัวอย่างเช่น การเจาะระบบ LinkedIn ในปี 2012(หน้าต่างใหม่) โดยอาชญากรไซเบอร์ชาวรัสเซีย ส่งผลให้เกิดการขโมยรหัสผ่านบัญชีของผู้ใช้เกือบ 6.5 ล้านรหัส ทำให้เกิดการละเมิดข้อมูลครั้งใหญ่ หลังจากการค้นพบในตอนแรก LinkedIn พบที่อยู่อีเมลและรหัสผ่านที่ถูกโจมตีเพิ่มอีก 100 ล้านรายการในปี 2016 ซึ่งเกี่ยวข้องกับเหตุการณ์เดียวกัน รหัสผ่านที่ถูกขโมยไปนั้นได้รับการปกป้องอย่างหละหลวม โดยขาดมาตรการความปลอดภัยเพิ่มเติมอย่างการใส่ซอลต์ ทำให้ผู้โจมตีถอดรหัสได้ง่ายขึ้นโดยใช้ตารางเรนโบว์มาตรฐาน

วิธีป้องกันการโจมตีแบบ Rainbow table

เลือกแพลตฟอร์มที่มีฟังก์ชันแฮชที่แข็งแกร่ง

ฟังก์ชันแฮชที่ปลอดภัย เช่น bcrypt(หน้าต่างใหม่) หรือ Argon2(หน้าต่างใหม่) จะใช้การใส่ซอลต์(หน้าต่างใหม่)เพื่อเพิ่มข้อมูลสุ่มลงในรหัสผ่านก่อนที่จะสร้างแฮช หากไม่มีซอลต์ แฮชของรหัสผ่านจะไม่แสดงในตารางเรนโบว์ ดังนั้นการโจมตีจะล้มเหลว

ในการตรวจสอบว่าบริการหรือแอปเฉพาะเจาะจงใช้ฟังก์ชันแฮชใดในการจัดเก็บรหัสผ่าน ให้ตรวจสอบนโยบายความเป็นส่วนตัว(หน้าต่างใหม่) ส่วนคำถามที่พบบ่อย หน้าฝ่ายสนับสนุน ใบรับรองความปลอดภัย หรือการตรวจสอบ (หากมี) เอกสารทางเทคนิค หรือแหล่งข้อมูลสำหรับนักพัฒนา(หน้าต่างใหม่) การค้นหาทางอินเทอร์เน็ตแบบง่ายๆ น่าจะใช้ได้ หรือสามารถติดต่อฝ่ายสนับสนุนลูกค้าเพื่อสอบถามข้อมูลได้

หากดูแลเว็บไซต์หรือฐานข้อมูล ควรอัปเดตการตั้งค่าความปลอดภัยอยู่เสมอโดยใช้ปลั๊กอินหรือโมดูลที่ใช้อัลกอริทึมการแฮชที่แข็งแกร่ง

ใช้รหัสผ่านที่ซับซ้อน

แทนที่จะใช้รหัสผ่านที่เดาง่าย ให้เลือกใช้รหัสผ่านที่ปลอดภัยซึ่งประกอบด้วยอักขระอย่างน้อย 12 ตัว ซึ่งรวมถึงอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ตัวเลข และสัญลักษณ์ ตัวอย่างของรหัสผ่านที่แข็งแกร่ง เช่น ?GmmM1Z[c5:F หรือ beht=ty]P:)Gf^c?p?+7 เป็นเรื่องยากที่ผู้โจมตีทางไซเบอร์จะตั้งเป้าโจมตีรหัสผ่านที่ซับซ้อนเช่นนี้ด้วยการโจมตีแบบ Rainbow table

เปิดใช้งานการยืนยันตัวตนหลายปัจจัย

การยืนยันตัวตนหลายปัจจัย (MFA) เช่น การยืนยันตัวตนผ่านสองขั้นตอน (2FA) จะเพิ่มรูปแบบการยืนยันตัวตนอีกอย่างน้อยหนึ่งรูปแบบในการร้องขอรหัสผ่าน เช่น รหัสบนแอปยืนยันตัวตน 2FA หากผู้โจมตีค้นพบรหัสผ่านได้สำเร็จหลังจากการโจมตีแบบ Rainbow table ก็จะไม่สามารถผ่านขั้นตอนต่อไปของการยืนยันตัวตนได้

นอกจากนี้ หากมีการร้องขอการยืนยันเพิ่มเติมที่ไม่คาดคิด นั่นเป็นสัญญาณที่ชัดเจนว่ามีผู้พยายามเข้าสู่บัญชี สามารถตอบสนองได้อย่างรวดเร็วโดยการเปลี่ยนรหัสผ่าน

ใช้ที่อยู่อีเมลนามแฝง

ที่อยู่อีเมลนามแฝง(หน้าต่างใหม่)สามารถป้องกันการละเมิดข้อมูลที่อาจนำไปสู่การโจมตีแบบ Rainbow table ได้ เนื่องจากไม่ได้เชื่อมต่อกับที่อยู่อีเมลหลัก ตัวอย่างเช่น สามารถใช้อีเมลหลักสำหรับข้อความที่สำคัญและการเงินต่อไปได้ ขณะที่สำรองนามแฝงอีเมลไว้สำหรับกิจกรรมที่มีความปลอดภัยน้อยกว่า เช่น การลงทะเบียนสำหรับบริการที่ไม่น่าเชื่อถือ หากที่อยู่อีเมลนามแฝงถูกแฮก ก็สามารถปิดใช้งานได้ทันที

ตรวจสอบอินเทอร์เน็ตเพื่อหาการละเมิดข้อมูล

การรับรู้ข้อมูลเกี่ยวกับการละเมิดข้อมูลล่าสุดช่วยให้ระบุได้ว่ามีบริการใดที่ใช้งานอยู่ถูกโจมตีหรือไม่ และข้อมูลรั่วไหลหรือไม่ วิธีนี้ช่วยให้สามารถดำเนินการเชิงรุกได้ เช่น การเปลี่ยนรหัสผ่านทันที เพื่อป้องกันไม่ให้แฮกเกอร์ใช้ข้อมูลที่อาจถูกเปิดเผยเพื่อเข้าถึงบัญชีโดยไม่ได้รับอนุญาต

Proton Pass ช่วยได้อย่างไร

Proton Pass สามารถป้องกันการโจมตีแบบ Rainbow table ได้โดยการสร้างรหัสผ่านที่แข็งแกร่ง(หน้าต่างใหม่)และจัดการรหัสผ่านเหล่านั้นในที่เดียว อีกทั้งยังรองรับตัวยืนยันตัวตน TOTP (รหัสผ่านแบบใช้ครั้งเดียวตามเวลา) สำหรับโทเค็น 2FA นอกจากนี้ แอปยังมีนามแฝง hide-my-email เพื่อป้องกันไม่ให้ที่อยู่อีเมลหลักถูกเปิดเผยทางออนไลน์

สมาชิก Proton Pass ทุกคนสามารถใช้ Pass Monitor(หน้าต่างใหม่) เพื่อตรวจสอบความแข็งแกร่งของรหัสผ่านทั้งหมด และการตรวจสอบดาร์กเว็บเพื่อติดตามแหล่งข้อมูลต่างๆ สำหรับการละเมิดข้อมูล โมเดลความปลอดภัยใช้อัลกอริทึมการแฮช bcrypt ที่ปลอดภัย ซึ่งจะใส่ซอลต์ให้กับรหัสผ่านก่อนที่จะแฮชเพื่อป้องกันการโจมตีแบบเรนโบว์เทเบิล นอกจากนี้ ยังมีการรันโปรแกรมระบบรักษาความปลอดภัยขั้นสูงที่เรียกว่า Proton Sentinel เพื่อตรวจจับและป้องกันการโจมตีเพื่อยึดครองบัญชี

เริ่มต้นปกป้องบัญชีจากการโจมตีแบบ Rainbow table โดยลงทะเบียนสำหรับบัญชี Proton Pass ฟรีตั้งแต่วันนี้