การโจมตีด้วยเสียงแบบใหม่ ขโมยข้อมูลการกดแป้นพิมพ์ได้แม่นยำ 95%
(bleepingcomputer.com)- การโจมตีแบบ side-channel ทางเสียง ที่คาดเดาปุ่มที่ผู้ใช้กดจากเสียงพิมพ์คีย์บอร์ดเพียงอย่างเดียว เมื่อผสานกับ deep learning สามารถทำความแม่นยำได้สูงสุด 95%
- ผู้โจมตีสามารถใช้ไมโครโฟนที่อยู่ใกล้ ๆ, สมาร์ทโฟนที่ติดมัลแวร์และมีสิทธิ์เข้าถึงไมโครโฟน หรือ เสียงกดแป้นพิมพ์ ในสาย Zoom เพื่อเปิดเผยข้อมูลอ่อนไหวอย่างรหัสผ่าน บทสนทนา และข้อความ
- การทดลองทำโดยเก็บเสียงจากการกด 36 ปุ่ม บน MacBook Pro รุ่นล่าสุด ปุ่มละ 25 ครั้ง จากนั้นสร้าง waveform และ spectrogram แล้วฝึก ตัวจำแนกภาพ CoAtNet
- ในสภาพแวดล้อมที่ใช้แล็ปท็อปเครื่องเดียวกันและ iPhone 13 mini ที่อยู่ห่าง 17 ซม. การบันทึกจากสมาร์ทโฟนทำความแม่นยำได้ 95%, การบันทึกจาก Zoom ได้ 93%, และ Skype ได้ 91.7%
- มีการกล่าวถึงการเปลี่ยนวิธีพิมพ์, การใช้รหัสผ่านแบบสุ่ม, white noise, ตัวกรองเสียง, การยืนยันตัวตนด้วยชีวมิติ และตัวจัดการรหัสผ่านว่าเป็นแนวทางลดความเสี่ยง แต่การเปลี่ยนไปใช้คีย์บอร์ดที่เงียบเพียงอย่างเดียวป้องกันได้ยาก
การขโมยข้อมูลโดยใช้เสียงกดแป้นพิมพ์
- นักวิจัยจากมหาวิทยาลัยในสหราชอาณาจักรฝึก โมเดล deep learning เพื่อคาดเดาข้อมูลการกดแป้นพิมพ์ โดยใช้เสียงพิมพ์คีย์บอร์ดที่บันทึกด้วยไมโครโฟน
- ในการโจมตีที่อาศัยการบันทึกจากไมโครโฟน โมเดลทำความแม่นยำได้ 95%
- เมื่อฝึกด้วยเสียงที่เก็บผ่าน Zoom ความแม่นยำลดลงเหลือ 93% แต่ก็ยังถือว่าสูงมากและเป็นผลลัพธ์ระดับสถิติใหม่ตามเกณฑ์ของสื่อนั้น
- หากการโจมตีสำเร็จ รหัสผ่าน บทสนทนา ข้อความ และข้อมูลอ่อนไหวอื่น ๆ อาจรั่วไหลไปยังบุคคลที่สามที่มีเจตนาร้ายได้
เหตุผลที่ side-channel ทางเสียงเป็นภัยที่เกิดขึ้นได้จริง
- การโจมตีแบบ side-channel ประเภทอื่น ๆ บางครั้งได้รับผลกระทบจากเงื่อนไขเฉพาะ อัตราการส่งข้อมูล และข้อจำกัดด้านระยะทาง
- เมื่ออุปกรณ์ที่มีไมโครโฟนแพร่หลายและสามารถจับเสียงคุณภาพสูงได้ ความยากในการดำเนินการโจมตีด้วยเสียงจึงลดลง
- การโจมตีแบบ side-channel ที่อาศัยเสียง เมื่อผสานกับความก้าวหน้าของ machine learning กลายเป็นวิธีโจมตีที่ทำได้จริงและอันตรายกว่าที่เคยคาดไว้
ขั้นตอนการโจมตีและการเก็บข้อมูล
- ขั้นตอนแรกคือ การบันทึกเสียงกดแป้นพิมพ์ ของคีย์บอร์ดเป้าหมาย
- สามารถบันทึกด้วยไมโครโฟนที่อยู่ใกล้ ๆ ได้
- หรือทำได้ด้วยโทรศัพท์ที่ติดมัลแวร์และมีสิทธิ์เข้าถึงไมโครโฟน
- ในสาย Zoom ผู้เข้าร่วมประชุมที่มีเจตนาร้ายสามารถเชื่อมโยงข้อความที่เป้าหมายพิมพ์กับเสียงที่บันทึกได้
- นักวิจัยบันทึกเสียงที่เกิดจากการกดแต่ละครั้ง โดยกด 36 ปุ่ม บน MacBook Pro รุ่นล่าสุด ปุ่มละ 25 ครั้ง
- จากไฟล์บันทึกเสียง นักวิจัยสร้าง waveform และ spectrogram เพื่อแสดงความแตกต่างที่ระบุได้ของแต่ละปุ่ม
- จากนั้นนำสัญญาณผ่านขั้นตอนประมวลผลข้อมูลเฉพาะ เพื่อให้ใช้ระบุการกดแป้นพิมพ์ได้
การฝึกโมเดลและสภาพแวดล้อมการทดลอง
- ภาพ spectrogram ถูกใช้ในการฝึก CoAtNet ซึ่งเป็นตัวจำแนกภาพ
- นักวิจัยทดลองปรับ epoch, learning rate และพารามิเตอร์การแบ่งข้อมูล เพื่อให้ได้ความแม่นยำในการทำนายที่ดีที่สุด
- สภาพแวดล้อมการทดลองมีดังนี้
- แล็ปท็อปเครื่องเดียวกันที่มีคีย์บอร์ดแบบที่ใช้ในแล็ปท็อป Apple ช่วง 2 ปีล่าสุด
- iPhone 13 mini ที่อยู่ห่างจากเป้าหมาย 17 ซม.
- Zoom
- ความแม่นยำของตัวจำแนกแตกต่างกันตามสื่อที่ใช้
- การบันทึกจากสมาร์ทโฟน: 95%
- การบันทึกจาก Zoom: 93%
- การบันทึกจาก Skype: 91.7%
แนวทางลดความเสี่ยงที่เป็นไปได้
- งานวิจัย แนะนำให้ผู้ใช้ที่กังวลมากเกี่ยวกับการโจมตีแบบ side-channel ทางเสียง เปลี่ยนวิธีพิมพ์หรือใช้รหัสผ่านแบบสุ่ม
- แนวทางป้องกันอื่น ๆ รวมถึงซอฟต์แวร์ที่เล่นเสียงกดแป้นพิมพ์, white noise และตัวกรองเสียงการกดแป้นพิมพ์แบบซอฟต์แวร์
- โมเดลการโจมตีนี้แสดงประสิทธิภาพสูงแม้กับคีย์บอร์ดที่เงียบมาก ดังนั้นการเพิ่มวัสดุดูดซับเสียงให้คีย์บอร์ดแมคคานิคัล หรือเปลี่ยนไปใช้คีย์บอร์ดแบบเมมเบรน จึงอาจช่วยได้ยาก
- หากทำได้ การใช้ การยืนยันตัวตนด้วยชีวมิติ และการใช้ตัวจัดการรหัสผ่านเพื่อหลีกเลี่ยงการป้อนข้อมูลอ่อนไหวด้วยตนเอง ก็เป็นปัจจัยที่ช่วยลดความเสี่ยงได้
คำแนะนำเพิ่มเติมจาก Zoom
- Zoom ระบุว่าให้ความสำคัญกับความเป็นส่วนตัวและความปลอดภัยของผู้ใช้
- นอกเหนือจากแนวทางลดความเสี่ยงที่นักวิจัยเสนอ ผู้ใช้ Zoom สามารถรักษาข้อมูลให้ปลอดภัยยิ่งขึ้นด้วยการตั้งค่าต่อไปนี้
- ตั้งค่าฟีเจอร์ลดเสียงรบกวนพื้นหลังให้อยู่ในระดับที่สูงขึ้น
- ปิดไมโครโฟนเป็นค่าเริ่มต้นเมื่อเข้าร่วมประชุม
- ปิดไมโครโฟนขณะพิมพ์ระหว่างการประชุม
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ข้อมูลฝึกและข้อมูลทดสอบถูกสร้างขึ้นใน แล็ปท็อป·ไมโครโฟน·สภาพแวดล้อมเดียวกัน และอาจถึงขั้นเป็นคนคนเดียวกันที่กดแป้นด้วยซ้ำ
โมเดล Zoom ก็ถูกฝึกใหม่ด้วยข้อมูลที่เก็บจาก Zoom เช่นกัน แม้จะเรียกสิ่งนี้ว่าเป็นการโจมตีแบบ side-channel ที่ใช้งานได้จริง แต่ดูเหมือนจะไม่ได้ตรวจสอบเลยว่าแนวทางนี้ generalize ได้หรือไม่
ไม่ใช่การพยายามเรียนรู้เสียงคีย์บอร์ดแบบสุ่ม ๆ แต่เป็นการโจมตีที่เรียนรู้ เสียงของเป้าหมายเฉพาะ
เช่น หากสตรีมเมอร์ Twitch พิมพ์ตอบแชตตอนที่ไมค์ไลฟ์เปิดอยู่ แล้วภายหลังพิมพ์รหัสผ่าน Twitch ก็สามารถฝึกจากเสียงในสถานการณ์แรก แล้วนำไปใช้กับสถานการณ์ที่สองได้
ข้อดีของการโจมตีผ่าน Zoom คือ หากทำให้เป้าหมายพิมพ์ในช่องแชตได้ ก็จะได้ “ข้อความธรรมดา” ทันทีหลังจากได้ยิน “ข้อความเข้ารหัส”
การพิมพ์ที่ได้ยินในบริบทอื่น ๆ ก็มักมีแนวโน้มจะตรงกับไวยากรณ์บางแบบที่ LLM รู้จักอยู่แล้ว เช่น ภาษาธรรมชาติ ภาษาโปรแกรม คำสั่ง หรืออินพุตการคำนวณ และถ้าไม่ใช่ ก็น่าจะเป็นรหัสผ่าน
ช่วงหลังการตัดเสียงรบกวนรุนแรงมากจนแม้จะพูดว่า “ขอโทษเรื่องเสียงเครื่องยนต์/รถพยาบาล/เสียงเมือง” แต่คนอื่นกลับมักไม่รู้ด้วยซ้ำว่าหมายถึงอะไร
เสียงคีย์บอร์ดค่อนข้างแยกแยะได้ชัด ดังนั้นไม่น่าจะเป็นงานยากขนาดนั้น
ตอนทำโปรเจกต์จบมหาวิทยาลัย ผมเคยทำ การโจมตี side-channel ทางเสียง คล้าย ๆ กัน สาขานี้มีผลงานอยู่ค่อนข้างมาก และเหมือนกำลังรอแค่ให้ใครสักคนเอาวิธีวิทยาต่าง ๆ มาผสมกัน
การผสานโมเดลเชิงเรขาคณิต โมเดลสถิติแบบฝึก/ไม่ฝึกทำนองนี้ และโมเดลภาษาหลายแบบ ให้ผลค่อนข้างดี
ตัวอย่างงานวิจัยบางส่วนที่เคยอ่านมีดังนี้
https://doi.org/10.1007/s10207-019-00449-8 - SonarSnoop ใช้ลำโพงมือถือปล่อยอัลตราซาวนด์เพื่อทำโปรไฟล์การโต้ตอบของผู้ใช้ เช่น การป้อนรหัสแบบปัดหน้าจอ
https://people.eecs.berkeley.edu/~daw/papers/ssh-use01.pdf - “Timing Analysis of Keystrokes and Timing Attacks on SSH” งานปี 2001 ที่ใช้โมเดลสถิติของจังหวะการกดแป้นเพื่อกู้รหัสผ่านจากทราฟฟิก SSH ที่เข้ารหัส
https://doi.org/10.1145/1609956.1609959 - “Keyboard acoustic emanations revisited” ใช้ hidden Markov model และคุณลักษณะของภาษาอังกฤษ เพื่อกู้ข้อความจากการจำแนกที่อิง cepstral features
https://doi.org/10.1145/2660267.2660296 - “Context-free Attacks Using Keyboard Acoustic Emanations” ใช้แนวทางเชิงเรขาคณิตที่ประมาณตำแหน่งทางกายภาพแบบความน่าจะเป็นจากความต่างของเวลาที่เสียงเดินทางมาถึง
ไม่ค่อยเข้าใจว่าทำไมถึงลดทอนเรื่องนี้เหมือนไม่ใช่เรื่องใหญ่
จากมุมมองด้านความปลอดภัยและข่าวกรอง มันมีความหมายมากทีเดียว และหมายความว่า การเรียนรู้จากเสียง มาถึงระดับที่ทำให้อุปกรณ์ดักฟังอ่อนไหวกลายเป็น keylogger ได้ในทางปฏิบัติ
มีหลายบริบทที่การติดตั้งอุปกรณ์ดักฟังเสียงทำได้ง่ายกว่าการโจมตีเครือข่ายแบบดั้งเดิมมาก และถ้าเป็นไมค์ shotgun รุ่นใหม่ ๆ อาจไม่จำเป็นต้องเข้าไปในอาคารด้วยซ้ำ
สิ่งนี้นำไปใช้ได้กว้างกว่าการขโมยรหัสผ่านมาก
ผมสนใจเวกเตอร์การโจมตีนี้มานานแล้ว และสงสัยจริง ๆ ว่ามันจะมาถึงจุดนี้ได้ไหม
น่าสนใจจริง ๆ
ไม่ใช่เสียงนามธรรม แต่เอาไฟล์อัดเสียงที่ผมพิมพ์จริงบนคีย์บอร์ดนั้น มา mix เป็นวลีหรือลำดับที่ฟังสมจริงแล้วเปิดทับ
ถ้าหยุดสั้นมาก ๆ เพื่อให้เสียงกดจริงผสมเข้าไปได้ ก็น่าจะทำให้ถอดรหัสหรือจับสหสัมพันธ์กับเหตุการณ์อื่น เช่น ช่วงเวลาป้อนรหัสผ่าน ได้ยากมาก
ทางที่ดีกว่านั้นคือเปิด white noise ไว้รอบ ๆ และได้ยินมาว่าในการประชุมที่สำคัญมาก ๆ บางครั้งก็ทำแบบนั้นจริง
ถ้าไม่ได้เป็นบุคคลสำคัญขนาดนั้น ก็พิมพ์เรื่องสำคัญเฉพาะในโทรศัพท์ก็พอ หวังว่าจอสัมผัสจะไม่ส่งเสียงมากพอ
ดูไม่ใช่เรื่องใหญ่เท่าไร
น่าสนใจมาก อยากรู้จริง ๆ ว่ามันรับรู้ คุณลักษณะทางเสียง แบบไหน
เป็นสิ่งที่ใกล้เคียงลายนิ้วมือทางกายภาพของแต่ละแป้นหรือเปล่า ดังนั้นถ้าเปลี่ยน keycap หรือสปริงก็ต้องอัปเดตโมเดลไหม คล้ายกับการระบุตัวตนเครื่องพิมพ์ดีดสมัยก่อนในงานนิติวิทยาศาสตร์จากความไม่สม่ำเสมอในการผลิตหรือเปล่า?
หรือว่าแป้นเองเหมือนกัน แต่เพราะรูปทรงของวัตถุรอบ ๆ ทำให้แต่ละแป้นสร้างรูปแบบเรโซแนนซ์ต่างกันภายในคีย์บอร์ดหรือแล็ปท็อป? ถ้าย้ายคีย์บอร์ดไปอีกตำแหน่งในห้อง ต้องฝึกโมเดลใหม่ไหม?
อยากรู้ด้วยว่าความแรงในการกดแป้นไม่มีผลต่างเลย หรือมีผลมากแค่ไหน
เมื่อเทียบระหว่างคีย์บอร์ดแต่ละแบบ เช่น แป้น MacBook แบบบางกับคีย์บอร์ดภายนอก full-height ฝั่งไหนจะระบุแต่ละแป้นได้ง่ายหรือยากกว่ากัน
เช่น ไปถึงแต่ละแป้นเร็วแค่ไหน จังหวะการพิมพ์ แนวโน้มที่จะกดบางแป้นแรงแค่ไหน น่าจะมีผล
ให้ความรู้สึกว่าเป็นการทำโปรไฟล์คนมากกว่าคีย์บอร์ด
อ้างอิงเพิ่มเติม ซอฟต์แวร์ประชุมวิดีโอบางตัว หรืออาจจะส่วนใหญ่ จะลบเสียงคีย์บอร์ดออกจากเสียง
เพราะในแล็ปท็อป ไมโครโฟนอยู่ติดกับปุ่ม จึงกลายเป็นปัญหาที่รบกวนสมาธิเป็นพิเศษ
ผมค่อนข้างแน่ใจว่า Zoom ทำสิ่งนี้ตามค่าเริ่มต้นในฐานะส่วนหนึ่งของการตัดเสียงรบกวน การใช้เหตุการณ์ keydown อาจช่วยระบุตัวตนได้ ไม่ใช่แค่สตรีมเสียง จึงอาจทำให้ง่ายขึ้น
แค่เปิดการตัดเสียงรบกวนพื้นฐานไว้ ก็น่าจะป้องกันการโจมตีแบบนี้ในการประชุมวิดีโอทั่วไปได้
ดังนั้นในสถานการณ์ที่ผู้โจมตีไม่ได้มีสิทธิ์เข้าถึงทางกายภาพมากพอที่จะติดตั้ง keylogger ทั่วไปหรือกล้องที่ซ่อนไว้ ผมนึกไม่ค่อยออกว่านี่จะกลายเป็นภัยคุกคามที่สมจริงได้เมื่อใด
ระหว่างโทร ถ้ามีใครเริ่มพิมพ์ จะได้ยินชัดมาก
Georgi Gerganov เคยทำไว้แล้วเมื่อหลายปีก่อน
https://github.com/ggerganov/kbd-audio
ภาพตัวอย่างแสดงการกดปุ่มหนึ่งปุ่มทุก 0.5 วินาที ซึ่งบ่งชี้ว่าเป็นการพิมพ์แบบ จิ้มดีด ราว 24 wpm
ด้วยวิธีนี้ โมเดลจะได้รูปคลื่นที่สะอาดมาก
ผมสงสัยว่าวิธีนี้จะทำงานได้ดีหรือไม่กับคนพิมพ์ทั่วไปหรือคนพิมพ์เร็ว การเชื่อมโยงโปรไฟล์เสียงกับตัวอักษรอาจยากกว่ามาก
ถ้ามีข้อมูลฝึกเพียงพอ ก็น่าจะหารูปแบบที่ทำซ้ำได้จากคนพิมพ์มาตรฐาน
ตัวอย่างเช่น บนผัง QWERTY อาจมี รูปแบบจังหวะรายคู่ เช่น หลังจากกด “A” แล้ว การกด “Q” ใช้เวลาป้อนนานกว่า “J” ประมาณ 1.2~2.3 เท่า
สิ่งนี้ช่วยลดพื้นที่ค้นหาได้มากกว่าการ brute force ตัวอักษรผู้สมัครทั้งหมด
หากเป้าหมายใช้ passphrase เมื่อระบุตัวอักษรอ้างอิงบางตัวได้ด้วยความน่าจะเป็นสูง เช่น “hXXXse battXXX stXXXXX cXXXXXX” ก็จะตีความได้
หลังจากเห็นบทความนี้ ผมได้เปิดซอร์สโปรเจกต์เริ่มต้นสำหรับรูปแบบดัดแปลงของไอเดียนี้: https://github.com/secretlessai/audio-mnist
ผมสนใจการนำเทคนิคจำแนกรูปภาพอย่าง CNN ไปใช้กับข้อมูลเสียงมานานแล้ว
หลายปีก่อน ผมเคยทำโปรเจกต์สุดสัปดาห์ สร้างชุดข้อมูล “audio-mnist” ง่าย ๆ จากการบันทึกเสียงตัวเลขที่เขียนด้วยมือ แต่หลังจากทำไปไม่กี่วันก็ไม่ได้ทำต่อ
ถึงอย่างนั้น ผมก็คิดมาสักพักแล้วว่าควรเปิดซอร์ส และบทความนี้ทำให้ลงมือจริง
หากรวบรวมข้อมูลเพิ่มและใส่ตัวอย่าง CNN พื้นฐาน ฯลฯ ก็อาจเป็นจุดเริ่มต้นที่ดีสำหรับงานวิจัยและเครื่องมือต่าง ๆ
โค้ดแยกสำหรับสร้างการบันทึกและแบ่งไฟล์เสียงยังต้องค้นหาและจัด整理ให้อ่านเข้าใจได้
หวังว่าส่วนหนึ่งของกระบวนการนี้จะเป็นประโยชน์ต่อคนที่เห็นว่าน่าสนใจหรือมีประโยชน์
ถ้ามี คีย์บอร์ดไร้สาย ที่ทำงานด้วยสิ่งนี้ก็คงดี
ไม่ต้องใช้แบตเตอรี่ ไม่ต้องชาร์จ และไม่ต้องซิงก์
เป็นรีโมต Space Command ที่ Zenith ผลิต และว่ากันว่านี่คือเหตุผลที่บางครั้งเรียกรีโมตทีวีว่า “clicker”
https://www.theverge.com/23810061/zenith-space-command-remot...
ผลกระทบของโอกาสล้มเหลว × ต้นทุน น่าจะทนได้ยากแม้อัตราความผิดพลาดจะดีขึ้นอีกหนึ่งหลักก็ตาม
ตอนนี้ถึงเวลาฉีด เสียงพื้นหลัง ที่เป็นเสียงผมพิมพ์ “fuck you” เข้าไปในการโทร Zoom แล้ว
เป้าหมายคือทำให้ผู้ดักฟังต้องประเมินการเลือกชีวิตของตนเองใหม่ทั้งหมด และบางทีอาจติดเรื่องราวนั้นไปเลย
เพราะมันเป็นจุดอ้างอิงที่ดี