เคยสงสัยกันไหมว่าการแชร์หน้าจอส่งผลกระทบต่อความเป็นส่วนตัวของท่านหรือไม่ หากเราพิมพ์รหัสผ่านระหว่างนั้นเรายังปลอดภัยอยู่หรือเปล่า แม้ว่ารหัสผ่านจะถูกปิดไม่ให้เห็นโดยบราวเซอร์ก็ตาม ในหัวข้อนี้คุณ Chissando Ryan, Security Researcher ของ Bina Nusantara University จะมาเล่าถึงอัลกอริทึมที่เขาใช้ในการวิเคราห์แยกแยะพฤติกรรมการพิมพ์แต่ละคนจากวีดีโอที่บันทึกการแชร์หน้าจอ พร้อมเลียนแบบพฤติกรรมที่นำไปสู่รหัสผ่านของเหยื่อ

เป็นเรื่องธรรมดาในปัจจุบันที่เรามักต้องแชร์หน้าจอในระหว่างการประชุมออนไลน์ พร้อมมีการพิมพ์ข้อความบางอย่าง นั่นจึงเป็นการเปิดโอกาสให้ผู้ไม่หวังดีสามารถดักจับพฤติกรรมการพิมพ์ของเราได้ โดยเฉพาะการพิมพ์รหัสผ่านในระหว่างนั้น แม้ว่าจะถูกปิดบังจากบราวเซอร์ด้วยจุดสีดำแล้วก็ตาม แต่ยังมีโอกาสที่ผู้โจมตียังสามารถเลียนแบบพฤติกรรม หรือถอดลักษณะการพิมพ์ที่คาดเดาถึงรหัสผ่านได้
Keystroke Biometrics เป็นคำที่ใช้เรียกพฤติกรรมการพิมพิ์ ซึ่งในบางหน่วยงานอาจมีการนำไปใช้ประโยชน์บ้าง ส่วนใหญ่มักเกิดขึ้นในการใช้เพื่อยืนยันตัวตน การทำ Fraud detection หรือการทำนิติวิทยาศาสตร์ดิจิทัล โดยมีปัจจัยช่วยสังเกตพฤติกรรมได้คือ
- ระยะเวลาระหว่างคีย์ที่พิมพ์ (inter-key latency)
- ระยะเวลาในการกดค้างแต่ละคีย์ (Hold latency)
- ความแรงในการกดคีย์
โดยงานวิจัยของ Ryan นั้นเลือกใช้ระยะเวลาระหว่างคีย์ที่พิมพ์ ซึ่งต้องเผชิญกับความท้าทาย 4 ด้านคือ
- จะรู้ได้อย่างไรเมื่อเหยื่อทำการพิมพ์
- จะรู้ได้อย่างไรว่าเหยื่อกดคีย์อะไร
- จะเรียนรู้ละจำลองพฤติกรรมการพิมพ์ของเหยื่ออย่างไร
- จะคาดเดาว่าเหยื่อพิมพ์รหัสผ่านอะไร จากการจำลองพฤติกรรมการพิมพ์ได้อย่างไร

ซึ่ง Ryan ได้ศึกษาและนำ Machine Learning มาใช้งานเพื่อเอาชนะอุปสรรคผ่านขั้นตอนเหล่านี้
- การดึงเอาส่วนของวีดีโอที่มีการพิมพ์เกิดขึ้น: ใช้ image processing ตรวจสอบถึง Cursor หรือวัตถุทรงสี่เหลี่ยมที่เคลื่อนที่ได้หรือไม่ เพื่อระบุว่ามีการพิมพ์เกิดขึ้น
- แยกอักขระที่ผู้ใช้พิมพ์ในแต่ละมิลลิวินาทีของวิดีโอ: สร้างขอบเขตของกล่องที่เรียกว่า Isolation Bounding Box (IBB) ซึ่งอยู่ทางด้านซ้ายของ cursor ที่ประกอบด้วยอักษรมากกว่า 1 ตัว โดยสามารถหาอักษรที่อยู่ด้านขวาสุดก่อน (มักติดกับฝั่งซ้ายของ cursor) จากนั้นค่อยทำการหาอักษรก่อนหน้าถัดไป
- สร้างรูปแบบการพิมพ์ของเหยื่อใหม่ (ดึงข้อมูลจังหวะ/การหน่วงเวลาของการกดแป้นพิมพ์แต่ละครั้ง): เมื่อได้ตัวอักษรมาแล้วก็จะทำการแปลงอักษรเหล่านั้นเป็นข้อมูลดิจิทัลโดยการใช้ OCR (Optical Character Recognition) และคำนวณดีเลย์ระหว่างตัวอักษรร่วมกับ FPS ของวีดีโอ
- ทำนายรหัสผ่านของเหยื่อจากรูปแบบการพิมพ์: หลังจากทราบรูปแบบการพิมพ์แบบเห็นตัวอักษร หรือที่ถูกปิดบังในส่วนรหัสผ่านแล้ว ก็ทำการป้อนข้อมูลสู่โมเดล Deep Learning ทำนายรหัสผ่าน ในอัลกอริทึมหลายแบบร่วมกันทั้ง LSTM, seq2seq model และ Beam Search เพื่อช่วย Brute-force อักษรแต่ละตัว
ผลลัพธ์ที่ได้คือ
- โมเดลสามารถปลอมแปลง keystroke biometrics ของเหยื่อได้ โดยอัตราความสำเร็จ อยู่ที่ 67%
- รหัสผ่านเกิดขึ้นจากการทำ Brute-force โดยหากใช้โมเดลของ LSTM และ Beam Search จะสามารถคาดเดารหัสผ่าน 1,200 ตัวจาก 1,600 ด้วยการคาดเดาไม่เกิน 100 ครั้ง
Ryan ได้ให้คำแนะนำว่าวิธีการเหล่านี้ป้องกันได้ เพียงแค่ปรับพฤติกรรมของผู้ใช้ มีสติทุกครั้งในการพิมพ์สิ่งต่างๆขณะแชร์หน้าจอ และไม่ควรแชร์หน้าจอขณะพิมพ์กับผู้ที่ไม่ไว้ใจ