โปรดอัพเดตเบราว์เซอร์

เบราว์เซอร์ที่คุณใช้เป็นเวอร์ชันเก่าซึ่งไม่สามารถใช้บริการของเราได้ เราขอแนะนำให้อัพเดตเบราว์เซอร์เพื่อการใช้งานที่ดีที่สุด

ไลฟ์สไตล์

เมื่อการแฮ็กพาสเวิร์ดง่ายกว่าที่คิด : เหตุผลที่เราควรตั้งรหัสผ่านมากกว่า 8 ตัวอักษร

The MATTER

เผยแพร่ 24 ก.พ. 2563 เวลา 10.17 น. • Have a Geek Time

เมื่อวันก่อนมีอีเมลจากเว็บไซต์เดินทางแห่งหนึ่งส่งมาบอกว่า

“We’ve noticed an unusual activity on your account. Please log in to change your password”

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

การแฮ็กพาสเวิร์ดนั้น คือกระบวนการที่ใครสักคนกำลังพยายามเข้าไปยังส่วนของระบบของคนอื่นโดยไม่ได้รับอนุญาต โดยอาจจะใช้พาสเวิร์ดแบบมั่วๆ ที่คนใช้กันทั่วไป (พาสเวิร์ดอย่าง 1234567890, password, password1 ฯลฯ พวกนี้ถือว่าอันตรายมาก ขนาดอดีตประธานธิบดีของอเมริกาอย่าง บารัก โอบามา (Barack Obama) ยังยอมรับเลยว่าเมื่อก่อนเขาเคยใช้พาสเวิร์ด 1234567 และ password) หรือใช้อัลกอริทึมเพื่อหาทางคาดเดาพาสเวิร์ดออกมา พูดอีกอย่างมันก็เหมือนวิธีการสะเดาะกุญแจเพื่อเปิดประตูห้องลับไปที่ไหนสักแห่งนั้นแหละ

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

ก่อนอื่นขออธิบายเรื่องการเก็บรหัสผ่านในรูปแบบของ Hash หรือชื่ออย่างเป็นทางการคือ Cryptographic Hash ว่ามันเป็นการสร้างข้อมูลใหม่ขึ้นแทนข้อมูลเก่า เป็นกระบวนการที่ใช้ตัวอักษร ตัวเลข อักขระพิเศษ มารวมกันแล้วสร้างเป็นบางอย่างที่เข้าใจไม่ได้ มีความซับซ้อน และคนอ่านไม่มีทางเข้าใจ (ลองเล่นฟังก์ชั่น SHA256) สมมติว่าพาสเวิร์ดของผมคือ “hOly$hitDamn04” เมื่อทำการ hash แล้วมันจะออกมาเป็น “a12d0c0716a860326d87bf3b593bdc1f4febbba6a52e8f2df55d9a0f10fa4566” เมื่อเปลี่ยนตัวอักษร เล็ก ใหญ่ ใส่ตัวเลข เพิ่มตัวอักขระพิเศษ คำตอบที่ได้ก็จะเปลี่ยนไป

วิธีการแฮ็กพาสเวิร์ดมีหลายอย่างตั้งแต่ Phishing (เราน่าจะเจอบ่อยที่สุด) ที่เป็นเทคนิคราคาถูกและมีประสิทธิภาพ เหล่าแฮ็กเกอร์จะสร้างเว็บปลอม แอพพลิเคชั่นปลอม หรือข้อความปลอมๆ ขึ้นมาแล้วส่งให้ผู้ใช้งาน เพื่อให้หลงกลใส่ข้อมูลต่างๆเข้าไป อาจจะเป็นพาสเวิร์ด หมายเลขบัญชีธนาคาร ที่อยู่ เบอร์ติดต่อ ฯลฯ​ ต่อมาคือ Dictionay attack ซึ่งเป็นการนำลิสต์ของคำต่างๆ มาเทียบกับพาสเวิร์ดของผู้ใช้งาน หรือ Rainbow Table attack ที่เป็นฐานข้อมูลของพาสเวิร์ดที่มีการใช้บ่อยๆ ผ่านการ Hash มาเรียบร้อยแล้ว และเก็บไว้เพื่อเรียกใช้แบบง่ายๆ อีกอันหนึ่งคือ Spidering ที่เป็นการไปเก็บข้อมูลมาจากหน้าเฟซบุ๊กของบริษัทหรือองค์กรต่างๆ แล้วนำมาสร้างเป็นลิสต์ของพาสเวิร์ดเช่น (1974(ปีที่ก่อตั้ง)+John Smith(ชื่อของผู้ก่อตั้ง), missiontomars (ชื่อบริษัท) ฯลฯ)

อีกเทคนิคหนึ่งที่จะพูดถึงต่อไปและที่ใช้กันบ่อยๆคือ Brute Force attack ที่เป็นขั้นตอนการแฮ็กพาสเวิร์ดโดยใช้การผสมตัวอักษร ตัวเลข และตัวอักขระตามที่เราเจาะจง ยกตัวอย่างเช่นเว็บไซต์หนึ่งใช้พาสเวิร์ด 8-16 ตัวอักษร โปรแกรมที่จะแฮ็กพาสเวิร์ดก็จะเริ่มด้วย 00000000 ต่อด้วย 00000001, 00000010, 00000100…ไปเรื่อยๆ และลองทุกตัวอักษรจนครบตามที่เรากำหนด

สถิติจาก Statista บ่งบอกว่าจำนวนตัวอักษรเฉลี่ยของพาสเวิร์ด

ที่หลุดรอดออกมาจากผู้ใช้งานทั่วโลกนั้นคือ 8 ตัวอักษร

โดยถ้าเราใช้กฎที่ว่าพาสเวิร์ดต้องประกอบไปด้วยตัวอักษรใหญ่+เล็ก+ตัวเลข+อักขระพิเศษ ความเป็นไปได้ของพาสเวิร์ด 8 ตัวอักษรจะอยู่ที่3,025,989,069,143,040 หรือประมาณ 3 พันล้านล้าน ความเป็นไปได้

ถึงตรงนี้หลายคนเริ่มโล่งอกว่าพาสเวิร์ดของตัวเองนั้นน่าจะรอดพ้นจากเงื้อมมือของแฮ็กเกอร์ เพราะความเป็นไปได้นั้นเยอะเหลือเกิน ยิ่งถ้าให้เข้าเว็บไซต์สักอันแล้วค่อยๆ ลองใส่พาสเวิร์ดทีละอันกว่า 3 พันล้านล้านครั้ง (ในมุมที่เว็บไซต์ไม่บล็อกไปก่อน) และทุกครั้งต้องรอเว็บโหลดสัก 3 วินาที ก่อนจะลองพาสเวิร์ดอันใหม่ พวกเขาต้องใช้เวลากว่า 280 ล้านปีเลยทีเดียว

แต่นั้นไม่ใช่สิ่งที่เกิดขึ้น

ความเป็นจริงก็คือว่าข้อมูลของเรานั้นบ่อยครั้งหลุดออกมาจากการรั่วไหลของข้อมูลหรือที่เรียกกันว่า Data Breach นั้นแหละครับ มันเกิดขึ้นบ่อยกว่าที่เราคิด ซึ่งก็มาในสองรูปแบบ

Plain-Text - อันนี้ถือว่าเป็นความซวยของผู้ใช้งานที่ผู้ให้บริการเก็บข้อมูลไว้ในรูปแบบของตัวอักษรแบบไม่มีการใส่รหัสผ่านใดๆ ทั้งสิ้น สมมติว่าพาสเวิร์ดของเราคือ “password” ข้อมูลที่รั่วไหลออกมาก็เป็น “password” เลย คนที่ได้ไปก็เอาไปใช้ได้ทันที Hashed Data - เหมือนอย่างที่อธิบายเบื้องต้นไปด้านบน พาสเวิร์ดของเราจะถูกใส่รหัสเอาไว้ การนำไปใช้งานก็ยากขึ้นมาอีกนิด ตรงนี้ก็นำมาสู่ความแตกต่างระหว่างกระบวนการ Hash และความซับซ้อนของมัน โดยถ้าลองคลิกลิงก์อันนี มันจะเป็นการ Hash แบบ SHA256 ที่ปลอดภัยกว่า แต่ถ้าลองใช้ Hash แบบ MD5 นั้นคำตอบที่ได้จะสั้นกว่า เร็วกว่า แต่ในเวลาเดียวกันก็ปลอดภัยน้อยกว่า

สิ่งที่น่าสนใจต่อมาก็คือว่ามาตรฐานของเว็บไซต์ทั่วไปนั้นยังเป็นการ Hash แบบ MD5 อยู่เลย บทความของ ZDNet บอกว่า 25% ของเว็บไซต์แบบ CMS (Content Management System) อย่าง Wordpress หรือ SugarCRM ยังใช้ MD5 อยู่ และ 30% ของเว็บไซต์บนอินเทอร์เน็ตนั้นใช้ ​Wordpress อยู่เบื้องหลัง

ถึงตรงนี้สิ่งที่น่ากลัวก็คือ แม้ว่าการเก็บพาสเวิร์ดด้วย MD5 นั้นจะปลอดภัยกว่า Plain-Text แต่ว่ามันก็ไม่ได้ปลอดภัยกว่าอะไรมากมายเท่าไหร่นัก คอมพิวเตอร์ที่เร็วมากๆ สามารถประมวลผลการแฮชได้ 2 แสนล้านครั้งต่อวินาที หรือประมาณ 720 ล้านล้านครั้งต่อชั่วโมง และเมื่อเทียบกับตัวเลขขนาดใหญ่ของความเป็นไปได้จากพาสเวิร์ด 8 ตัวที่ 3 พันล้านล้าน คอมพิวเตอร์ตัวนี้สามารถหาพาสเวิร์ดได้ภายในเวลาแค่ 4.2 ชั่วโมงหรือน้อยกว่านั้นด้วยซ้ำ

ซึ่งกระบวนการ Brute Force ก็จะเอาข้อมูลที่รั่วไหลมา (ส่วนใหญ่แล้วก็จะอยู่ในรูปแบบ e-mail : hash ยกตัวอย่างเช่น syoungacer@yahoo.com:a4d923396a47fc83dfcb71bae1b17788) ตอนนี้สิ่งที่แฮ็กเกอร์ต้องทำมีสองอย่างคือหาซอฟแวร์ที่ใช้เพื่อสร้างรหัสแฮชจากการผสมคำตามที่เราต้องการแล้วเทียบมันกับแฮชที่เราได้มา ซึ่งก็มีเครื่องมือแบบ open-source ออนไลน์ให้ใช้กันอยู่แล้ว และอีกอย่างคือการหาฮาร์ดแวร์เพื่อความเร็วและแรงพอที่จะใช้ในการแฮ็กพาสเวิร์ดที่ต้องการ การจะซื้อกราฟิกการ์ดแบบไฮเอนด์ก็มีราคาค่อนข้างสูงจึงทำให้บริการแพลตฟอร์มคลาวด์คอมพิวติ้งตามความต้องการอย่าง Amazon AWS ที่สามารถเช่าคอมพิวเตอร์ออนไลน์ที่มีประสิทธิภาพสูงเป็นรายชั่วโมงได้รับความนิยม เพราะทำให้การแฮ็กพาสเวิร์ดไม่ใช่เรื่องยากอีกต่อไป และสิ่งที่ทำให้มันง่ายขึ้นไปอีกก็คือว่าพาสเวิร์ดของหลายๆ คนมักคาดเดาได้ไม่ยากเท่าไหร่

เหตุผลหนึ่งที่ทำให้มนุษย์แตกต่างจากสมองกลก็คือ ความจำเราไม่ค่อยดีสักเท่าไหร่

ซึ่งก็นำมาสู่เรื่องพาสเวิร์ดที่เราสร้างขึ้นมาใช้กันในทุกๆ วัน โดยมีบทความหนึ่ง บอกว่าใน 10 ล้านพาสเวิร์ดที่รั่วไหลออกมานั้น อันดับหนึ่งที่ครองใจประชาชนคือ 1234567 ต่อด้วย password, 12345678, qwerty, 123456789 และ 12345 (ใครยังใช้อยู่บ้าง?) ต่อมาคือตัวเลขที่ต่อท้ายพาสเวิร์ดของเราซึ่งตัวที่ถูกใช้งานบ่อยที่สุดคือเลข 1 (เช่น password1) ซึ่งนับเป็น 23.84%

เหล่าแฮ็กเกอร์ทั้งหลายอาจจะไม่ต้องเสียเวลากว่า 4.2 ชั่วโมงเพื่อแฮ็กพาสเวิร์ดเหล่านี้เลยก็ได้ แค่เอาแฮชที่ได้มาไปเทียบกับฐานข้อมูลพาสเวิร์ดที่ถูกใช้งานบ่อยๆ แล้วไล่ไปทีละตัว หรืออาจจะหา hash พาสเวิร์ดที่มีคำว่า password อยู่ในนั้นด้วยอย่าง password___ (โดยตัวเลขก็ไล่ไปตั้งแต่ 0-999)

มาถึงตรงนี้สิ่งที่เราทำได้ (และควรทำเลย) คือการเพิ่มความปลอดภัยให้กับพาสเวิร์ดของตัวเอง สำหรับใครที่สังเกตเวลาใส่พาสเวิร์ดเข้าไปในเว็บไซต์ที่มีมาตรฐานความปลอดภัยสูงๆ (อย่าง Google หรือ Dropbox) จะมีแถบของความแข็งแรงของพาสเวิร์ดเราขึ้นมาตอนที่สร้างพาสเวิร์ดอันใหม่ ซึ่งเจ้าแถบวัดพลังนี้จะขึ้นอยู่กับสามอย่างคือ ความยาว, ความซับซ้อน และ ความคาดเดาไม่ได้

ยกตัวอย่าง password, password1 และ #password1$, เราก็พอเห็นได้ว่าอันสุดท้ายน่าจะแข็งแรงที่สุด

เพราะฉะนั้นการใช้พาสเวิร์ดที่มีความยาวแค่ 8 ตัวเหมือนกับค่ามาตรฐานนั้นไม่เพียงพอ, การเพิ่มขึ้น 1 ตัวอักษร จะทำให้ความเป็นไปได้เพิ่มขึ้นเกือบ 100 เท่า และถ้าลองเพิ่มความยาวพาสเวิร์ดจาก 8 ตัวเป็น 16 ตัว ความเป็นไปได้จาก 3 พันล้านล้าน จะกลายเป็น 36 ล้านล้านล้านล้านล้าน เลยทีเดียว (เรียกว่า nonillion, ตัวเลขตามด้วยศูนย์สามสิบตัว) กลับมาที่การแฮ็กพาสเวิร์ดความยาว 16 ตัวด้วย NVIDIA GTX 1080ti กราฟิกการ์ด 8 อัน ต้องใช้เวลามากกว่า 5.7 พันล้านปี (แต่ตัวเลขนี้ก็จะลดลงเรื่อยๆ ตามความสามารถของฮาร์ดแวร์ในอนาคต)

บริการอื่นๆอย่าง two-factor-authentication หรือ password manager ก็สามารถช่วยได้ แต่อีกอย่างหนึ่งที่ทำได้ตอนนี้คืออย่าปล่อยปละละเลยความสำคัญของพาสเวิร์ดที่ใช้ในแต่ละวัน การที่มีใครพยายามจะลอง log in เข้ามาที่บัญชีของคุณในเว็บไซต์/บริการใดๆ อาจจะไม่ใช่สัญญาณที่บ่งบอกว่าพวกเขากำลังจะพยายามมาเอาพาสเวิร์ดของคุณ แต่พวกเขามีพาสเวิร์ดที่หามาได้ไว้ในมือเพื่อลองแล้วต่างหาก

เขียนถึงตรงนี้ ผมเองก็คงถึงเวลาไปเปลี่ยนพาสเวิร์ดเป็น 16 ตัวของเว็บไซต์ที่ส่งเมลเข้ามาวันก่อนบ้างแล้ว

อ้างอิงข้อมูลจาก

https://bit.ly/394grnv

https://bit.ly/2VjIhYD

https://bit.ly/2STU5iw

https://go.aws/2VgyW3G

https://bit.ly/38Thd6z

https://bit.ly/38R3qxq

https://bit.ly/32rWZ1q

https://bit.ly/39XMF3x

https://bit.ly/37Sgb9B

https://bit.ly/2VdUpu6

https://bit.ly/2Pjws0H

https://bit.ly/3c4vWxg

Illustration by Kodchakorn Thammachart

0 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0