ผมคิดว่าคงไม่ต้องมาเขียนอธิบายแล้วละมั้งว่า “แฮก” คืออะไร เพราะหลังๆ เราได้ยินกันบ่อยมาก แต่ผมต้องขอบอกว่า การแฮกสมัยนี้ หลายครั้งไม่ได้มีความซับซ้อนอะไรมากมายเหมือนในหนังหรือซีรี่ย์ใดๆ เลยนะครับ เดี๋ยวนี้วิธีง่ายสุดที่มิจฉาชีพเขาใช้กันก็คือวิธีหลอกเอารหัสผ่านจากเราด้วยวิธีที่เรียกว่า Phishing (ออกเสียง ฟิชชิ่ง ที่พ้องกับคำว่าตกปลา เพราะขั้นตอนการ Phishing นี่คล้ายๆ กับการตกปลาจริงๆ คือ เอาเหยื่อมาล่อ แล้วให้ปลากินเหยื่อ) และวิธีดั้งเดิม โบราณมาก ก็คือ Brute force แต่ไม่ใช่การใช้กำลังงัดเข้าไปนะครับ มันคือ การเดารหัสผ่านไปเรื่อยๆ จนกว่าจะโดน ซึ่งปัจจุบันก็ยังมีคนใช้อยู่ เช่น เคสที่ QNAP NAS โดนมัลแวร์เรียกค่าไถ่ ซึ่งแฮกเกอร์เข้าถึงระบบได้ก็เพราะช่องโหว่ที่ทำให้แฮกเกอร์ใช้วิธี Brute force เดารหัสผ่านได้นั่นเอง
ราวๆ 12 ปีก่อน Microsoft ก็เผยแพร่งานวิจัยเรื่อง Do Strong Web Passwords Accomplish Anything? ซึ่งได้ตั้งข้อสังเกตว่า คำแนะนำในเรื่องการตั้งรหัสผ่านให้เดายาก อาจไม่ได้ช่วยอะไรผู้ใช้งานในเรื่องการป้องกันการโดนหลอกเอารหัสผ่านไปด้วยวิธี Phishing หรือถูกขโมยรหัสผ่านไปด้วย Keylogger และแฮกเกอร์ก็รู้เรื่องนี้ดี เราถึงได้เห็นพวกอีเมลที่ถูกส่งมาหลอกเอา Username และ Password อยู่เนืองๆ โดยเฉพาะพวกที่อ้างว่ามาจากธนาคารครับ ดูตัวอย่างด้านล่างได้

นอกจากนี้ ยังมีเคสที่แฮกเกอร์ใช้วิธีเดาคำตอบ Security question (คำถามลับที่ใช้ถามเราเวลาที่เราลืมรหัสผ่าน) เพื่อล็อกอินอีกด้วย เช่น กรณีของนักการเมืองสหรัฐอเมริกา Sarah Palin ที่ถูกแฮกอีเมล Yahoo! ไปง่ายๆ เพราะคำตอบของ Security question ของเธอเป็นแค่ ZIP code, วันเดือนปีเกิด และสถานที่ที่เธอพบกับสามี และเพราะว่าแฮกเกอร์เขามีวิธีอื่น นอกเหนือจากการเดารหัสผ่าน ในการที่จะได้ Username และ Password ของเราไปแบบนี้นี่เอง ทำให้การมีรหัสผ่านที่เดายากมันไม่เพียงพอครับ
พวกบริการออนไลน์ของบริษัทใหญ่ๆ ในปัจจุบัน เช่น Google, Microsoft, Apple, Facebook, Twitter และอื่นๆ อีกมากมาย เขาก็เริ่มหันมาใช้วิธีการยืนยันตัวตนที่เรียกว่า 2-Factor Authentication กันมากขึ้น ซึ่งหลักการก็คือ ในการจะล็อกอินนั้น จะต้องใช้ปัจจัยมากกว่าแค่ Username และ Password ในการยืนยันตัวตน ถ้านึกไม่ออกว่าเป็นยังไง ให้นึกถึงตอนใช้อินเทอร์เน็ตแบงก์กิ้ง หรือโมบายล์แบงก์กิ้งครับ ที่ตอนจะโอนเงินเนี่ยจะต้องรับ OTP (One-Time Password) มาทาง SMS ฮะ

หลักการทำงานของ 2-Factor Authentication สำหรับบริการพวกนี้มีหลายวิธีครับ เท่าที่เห็นอยู่ในปัจจุบันก็เป็นแบบนี้ครับ
- เซ็ตอัพแอปจำพวก Authenticator (เช่น Google Authenticator, Microsoft Authenticator) ไว้บนสมาร์ทโฟน แล้วแอปนี้มันจะ Generate รหัสผ่านแบบใช้ครั้งเดียวแบบอิงเวลา (Time-based One-Time Password หรือ TOTP) ซึ่งเอาไว้กรอกเพิ่มหลังล็อกอินเสร็จแล้ว (ดูตัวอย่างรูปด้านบน ที่เป็น 2-Factor Authentication ของ Evernote)
- บริการบางอย่าง เช่น การล็อกอินบริการของ Google หรือ Microsoft มันจะเด้ง Notification มาบนแอป Authenticator บนสมาร์ทโฟนของเรา เพื่อให้กดยืนยันการล็อกอินได้
- บริการออนไลน์หลายแห่ง รองรับการส่ง SMS หรือโทรมาที่หมายเลขโทรศัพท์ของเรา เพื่อบอกรหัสผ่านที่ใช้สำหรับล็อกอินได้

- มีหลายเว็บ ที่รองรับการใช้ USB Key ในการยืนยันตัวตนเป็นขั้นตอนที่สอง ซึ่งจะต้องใช้ USB Key เฉพาะทางนะครับ ต้องดูว่าบริการนั้นๆ เขารองรับหรือเปล่า แล้วก็ต้องดูด้วยว่าเราจะใช้กับอะไรนะครับ ต้องเลือกซื้อ USB Key ให้เหมาะสมด้วย คือ ตัวมันเองอ่ะ รองรับพอร์ต USB แน่นอนอยู่แล้ว แต่ถ้าเกิดจะใช้กับสมาร์ทโฟน อาจจะต้องเลือกอันที่รองรับบลูทูธ หรือ NFC นะครับ … และที่สำคัญ USB Key นี่ราคาไม่ถูกครับ
ขอยุให้ใช้เถิด 2-Factor Authentication
ผมขอยืนยันนั่งยันตอนนี้เลยนะฮะ ว่าถ้าทำได้ ก็อยากให้เปิดใช้บริการกันเถิด ไอ้ 2-Factor Authentication เนี่ย โดยเฉพาะบริการที่เรามักจะเก็บข้อมูลส่วนตัว หรือข้อมูลสำคัญๆ เอาไว้ ไม่ว่าจะเป็น Gmail/Outlook ที่มีอีเมลส่วนตัวของเรา พวกโซเชียลมีเดียอย่าง Facebook/Twitter หรือแม้แต่บริการอื่นๆ เช่น Evernote (บริการเก็บโน้ตออนไลน์) หรือ LastPass (บริการช่วยจำรหัสผ่าน) อะไรพวกเนี้ย เขารองรับ 2-Factor Authentication แล้ว เปิดใช้เถิด จะได้หมดห่วงเรื่องใครจะแอบรู้ Username กับ Password เราแล้วไปล็อกอิน (พวกหนุ่มๆ สาวๆ ที่กลัวแฟนจะแอบจำรหัส Facebook ไปแอบดูอินบ็อกซ์ ก็ใช้ได้นะ)
แต่จะใช้ 2-Factor Authentication ก็ต้องระวังนะ
แต่การใช้ 2-Factor Authentication ก็มีเรื่องต้องระวังเช่นกันนะครับ คือ นอกจากเดิมที่จะต้องระวังไม่ให้ลืมรหัสผ่านแล้ว ต้องมาระวังเรื่องลืมไปว่าผูก 2-Factor Authenticator ไว้กับอะไรนะครับ เช่น เผลอเปลี่ยนเบอร์มือถือทั้งๆ ที่ผูกให้ส่ง OTP มาทาง SMS หรือลงแอป Authenticator เอาไว้ แล้วดันเปลี่ยนสมาร์ทโฟนเป็นต้น ถ้าเผลอแบบนี้ คือ เราจะเสียวิธีการยืนยันตัวตนในขั้นตอนที่สองไป เราจะล็อกอินไม่ได้เอานะครับ
แต่จริงๆ แล้ว ก็ไม่ต้องห่วงเรื่องนี้หรอกนะครับ เพราะมันก็มีทางป้องกันได้อยู่ หลายๆ บริการเนี่ย เขาจะมีการสร้าง Backup code ให้เราพิมพ์เก็บไว้หรือก็อปปี้ไปจดเก็บไว้ที่อื่นกันเหนียว (เราควรเก็บไว้ในที่ปลอดภัยนะครับ) โดย Backup code นี่จะเป็นโค้ดที่ใช้ได้ครั้งเดียวครับ เขาอาจจะให้มา 6-8 อันกันเหนียวไว้ ถ้าใช้หมดแล้วก็ Generate backup code นี่ใหม่ได้ หรือไม่ก็อาจจะสามารถสร้างวิธียืนยันตัวตนได้หลายวิธี เช่น เลือกใช้แอป Authenticator กับ SMS อย่างใดอย่างหนึ่งก็ได้ เป็นต้น หรือถ้าใครใช้ USB Key ก็อาจจะสร้างไว้ซักสองอัน ใช้อันนึง เก็บสำรองไว้อันนึง (แต่ USB Key แพงหน่อยนะ สองอันมีสองพันได้เลยแหละ)