7 điểm bởi GN⁺ 2023-08-06 | 1 bình luận | Chia sẻ qua WhatsApp
  • Tấn công kênh kề bằng âm thanh suy đoán phím người dùng đã nhấn chỉ từ âm thanh gõ bàn phím, khi kết hợp với deep learning đã đạt độ chính xác tối đa 95%
  • Kẻ tấn công có thể dùng micro ở gần, smartphone nhiễm mã độc có quyền truy cập micro, hoặc âm thanh gõ phím trong cuộc gọi Zoom để làm lộ thông tin nhạy cảm như mật khẩu, hội thoại và tin nhắn
  • Thí nghiệm được thực hiện bằng cách thu thập âm thanh khi nhấn riêng 36 phím trên MacBook Pro mới nhất, mỗi phím 25 lần, tạo dạng sóng và phổ tần rồi huấn luyện bộ phân loại ảnh CoAtNet
  • Trong môi trường dùng cùng mẫu laptop và iPhone 13 mini đặt cách 17 cm, bản ghi từ smartphone đạt 95%, bản ghi Zoom đạt 93%, còn Skype đạt độ chính xác 91,7%
  • Các biện pháp giảm thiểu như thay đổi cách gõ, dùng mật khẩu ngẫu nhiên, white noise, bộ lọc âm thanh và xác thực sinh trắc học được nêu ra, nhưng chỉ đổi sang bàn phím yên tĩnh hơn thì khó có thể phòng vệ

Đánh cắp dữ liệu bằng âm thanh gõ phím

  • Nhóm nghiên cứu tại các trường đại học ở Anh đã huấn luyện mô hình deep learning để suy đoán dữ liệu gõ phím bằng cách dùng âm thanh bàn phím được ghi lại qua micro
  • Trong tấn công dựa trên bản ghi từ micro, mô hình đạt độ chính xác 95%
  • Khi huấn luyện bằng âm thanh thu qua Zoom, độ chính xác giảm xuống 93%, nhưng theo tiêu chuẩn của phương tiện này thì vẫn ở mức rất cao và là kết quả mang tính kỷ lục
  • Nếu tấn công thành công, mật khẩu, hội thoại, tin nhắn và các thông tin nhạy cảm khác có thể bị rò rỉ cho bên thứ ba có ác ý

Vì sao kênh kề bằng âm thanh là mối đe dọa thực tế

  • Các cuộc tấn công kênh kề khác đôi khi chịu ảnh hưởng bởi điều kiện đặc biệt, tốc độ truyền dữ liệu hoặc giới hạn khoảng cách
  • Khi các thiết bị có gắn micro trở nên phổ biến rộng rãi và khả năng thu âm chất lượng cao tăng lên, độ khó triển khai tấn công âm thanh đã giảm xuống
  • Tấn công kênh kề dựa trên âm thanh kết hợp với tiến bộ của machine learning đã trở thành một phương thức tấn công khả thi và nguy hiểm hơn nhiều so với dự đoán trước đây

Quy trình tấn công và thu thập dữ liệu

  • Bước đầu tiên là ghi lại âm thanh gõ phím của bàn phím mục tiêu
    • Có thể ghi bằng micro ở gần
    • Cũng có thể thực hiện bằng điện thoại đã nhiễm mã độc có quyền truy cập micro
    • Trong cuộc gọi Zoom, một người tham gia có ác ý có thể đối chiếu các tin nhắn mà mục tiêu nhập với âm thanh đã được ghi lại
  • Nhóm nghiên cứu đã nhấn 36 phím trên MacBook Pro mới nhất, mỗi phím 25 lần, để ghi lại âm thanh phát sinh từ từng lần nhấn
  • Từ bản ghi, họ tạo dạng sóng và phổ tần để trực quan hóa những khác biệt có thể nhận diện giữa từng phím
  • Tín hiệu sau đó được đưa qua các bước xử lý dữ liệu nhất định để có thể dùng cho việc nhận diện phím nhấn

Huấn luyện mô hình và môi trường thử nghiệm

  • Ảnh phổ tần được dùng để huấn luyện CoAtNet, một bộ phân loại ảnh
  • Nhóm nghiên cứu đã thử nghiệm các tham số như số epoch, learning rate và cách chia dữ liệu để đạt độ chính xác dự đoán tốt nhất
  • Môi trường thử nghiệm gồm có
    • Cùng một mẫu laptop dùng loại bàn phím đã được trang bị trên laptop Apple trong 2 năm gần đây
    • iPhone 13 mini đặt cách đối tượng 17 cm
    • Zoom
  • Độ chính xác của bộ phân loại khác nhau tùy theo phương tiện ghi âm
    • Bản ghi từ smartphone: 95%
    • Bản ghi Zoom: 93%
    • Bản ghi Skype: 91,7%

Các biện pháp giảm thiểu có thể áp dụng

  • Bài báo nghiên cứu đề xuất với những người đặc biệt lo ngại về tấn công kênh kề bằng âm thanh rằng nên thay đổi cách gõ hoặc dùng mật khẩu ngẫu nhiên
  • Các biện pháp phòng vệ khác bao gồm phần mềm phát lại âm thanh gõ phím, white noise và bộ lọc âm thanh gõ phím dựa trên phần mềm
  • Mô hình tấn công này cho thấy hiệu quả cao ngay cả với bàn phím rất yên tĩnh, nên việc thêm vật liệu tiêu âm vào bàn phím cơ hoặc chuyển sang bàn phím màng khó có thể giúp ích nhiều
  • Nếu có thể, việc dùng xác thực sinh trắc học và dùng trình quản lý mật khẩu để tránh phải nhập thủ công thông tin nhạy cảm cũng là yếu tố giảm thiểu rủi ro

Khuyến nghị bổ sung từ Zoom

  • Zoom cho biết họ rất coi trọng quyền riêng tư và bảo mật của người dùng
  • Ngoài các biện pháp giảm thiểu mà nhóm nghiên cứu đề xuất, người dùng Zoom còn có thể giữ an toàn cho thông tin tốt hơn bằng các thiết lập sau
    • Đặt tính năng khử tiếng ồn nền ở mức cao hơn
    • Mặc định tắt micro khi tham gia cuộc họp
    • Tắt micro khi gõ phím trong cuộc họp

1 bình luận

 
GN⁺ 2023-08-06
Ý kiến trên Hacker News
  • Dữ liệu huấn luyện và dữ liệu kiểm thử được tạo trong cùng một laptop, micro và môi trường, thậm chí có khả năng cùng một người đã nhấn phím
    Mô hình Zoom cũng được huấn luyện lại bằng dữ liệu thu thập từ Zoom, nhưng dù gọi đây là một cuộc tấn công kênh kề thực tế, có vẻ họ hoàn toàn chưa kiểm chứng liệu cách tiếp cận này có tổng quát hóa được hay không

    • Tôi nghĩ dạng có thể tổng quát hóa của cuộc tấn công này chính là như vậy
      Nó không nhằm học âm thanh của một bàn phím bất kỳ, mà là học âm thanh của một mục tiêu cụ thể
      Ví dụ, nếu một streamer Twitch nhập câu trả lời vào chat khi micro livestream đang bật, rồi sau đó nhập mật khẩu Twitch, thì có thể học âm thanh từ tình huống đầu và áp dụng cho tình huống sau
    • Với bề mặt tấn công hạn chế như thế này, tôi nghĩ nó có thể hoạt động mà không cần tổng quát hóa một mô hình cho nhiều người hay nhiều bàn phím
      Ưu điểm của tấn công qua Zoom là nếu có thể khiến mục tiêu gõ vào cửa sổ chat, bạn sẽ có được “bản rõ” ngay sau khi nghe “bản mã”
      Việc gõ phím nghe được trong các ngữ cảnh khác cũng thường có khả năng khớp với một vài loại ngữ pháp mà LLM vốn đã nhận ra được, tức ngôn ngữ tự nhiên, ngôn ngữ lập trình, câu lệnh, phép tính nhập vào, v.v.; còn nếu không thì có lẽ rất có khả năng đó là mật khẩu
    • Tôi thắc mắc liệu ngày nay Zoom vẫn truyền nguyên âm thanh gõ phím như vậy không
      Gần đây tính năng khử nhiễu mạnh đến mức khi nói “xin lỗi vì tiếng động cơ/xe cứu thương/tiếng ồn đô thị” thì người khác lại thường không hiểu mình đang nói gì
    • Nếu là để tấn công có chủ đích thì không cần phải tổng quát hóa
    • Tôi không hiểu vì sao khử tiếng bàn phím chưa trở thành tùy chọn tiêu chuẩn trong mọi ứng dụng giao tiếp trực tuyến
      Tiếng bàn phím khá dễ phân biệt, nên việc đó cũng không khó đến vậy
  • Tôi từng làm một tấn công kênh kề âm học tương tự cho đồ án tốt nghiệp đại học; lĩnh vực này đã có khá nhiều kết quả và chỉ đang chờ ai đó kết hợp các phương pháp lại với nhau
    Các cách kết hợp mô hình hình học, mô hình thống kê có học/không học kiểu này, và nhiều mô hình ngôn ngữ cho kết quả khá tốt
    Một vài bài báo tôi từng đọc như sau
    https://doi.org/10.1007/s10207-019-00449-8 - SonarSnoop. Phát siêu âm bằng loa điện thoại để lập hồ sơ tương tác của người dùng, chẳng hạn như nhập mật khẩu dựa trên thao tác vuốt
    https://people.eecs.berkeley.edu/~daw/papers/ssh-use01.pdf - “Timing Analysis of Keystrokes and Timing Attacks on SSH”. Bài báo năm 2001, dùng mô hình thống kê về thời điểm gõ phím để khôi phục mật khẩu từ lưu lượng SSH đã mã hóa
    https://doi.org/10.1145/1609956.1609959 - “Keyboard acoustic emanations revisited”. Dùng mô hình Markov ẩn và đặc trưng tiếng Anh để khôi phục văn bản bằng phân loại dựa trên đặc trưng cepstrum
    https://doi.org/10.1145/2660267.2660296 - “Context-free Attacks Using Keyboard Acoustic Emanations”. Sử dụng cách tiếp cận hình học, ước lượng xác suất vị trí vật lý dựa trên chênh lệch thời gian đến

  • Tôi không hiểu vì sao mọi người lại hạ thấp chuyện này như thể chẳng có gì đáng kể
    Xét từ góc độ an ninh và tình báo, nó khá có ý nghĩa, và cho thấy học từ âm thanh đã tiến đến mức có thể biến thiết bị nghe lén nhạy về thực chất thành keylogger
    Trong nhiều bối cảnh, việc cài thiết bị nghe lén âm thanh dễ hơn rất nhiều so với tấn công mạng truyền thống, và với micro shotgun hiện đại thì thậm chí có thể không cần vào trong tòa nhà
    Điều này có thể áp dụng rộng hơn rất nhiều so với đánh cắp mật khẩu
    Tôi đã quan tâm đến vector tấn công này từ lâu và thật sự từng tự hỏi liệu nó có đi đến mức này không

    • Có vẻ mọi kênh kề vật lý khả dĩ, chẳng hạn như Tempest, giờ đều rất hợp với cách tiếp cận bằng học máy
      Thật sự thú vị
    • Tôi tự hỏi liệu phát liên tục tiếng gõ phím có giúp ích không
      Không phải âm thanh trừu tượng, mà là lấy bản ghi tôi thực sự gõ trên chính bàn phím đó, rồi trộn và phát lại thành các cụm từ hoặc chuỗi nghe như thật
      Nếu dừng rất ngắn để tiếng gõ phím thật có thể lẫn vào, có lẽ sẽ rất khó giải mã hoặc tương quan hóa với các sự kiện khác như thời điểm nhập mật khẩu
      Tốt hơn nữa là bật tiếng ồn trắng xung quanh; tôi nghe nói trong một số cuộc họp cực kỳ quan trọng người ta đôi khi thực sự làm vậy
      Nếu bạn không phải nhân vật quan trọng đến mức đó, thì các nội dung quan trọng chỉ nên nhập trên điện thoại. Hy vọng màn hình cảm ứng không tạo ra đủ âm thanh
    • Cần phải liên kết đầu vào micro với các phím thực sự được nhập, và cũng cần lượng dữ liệu đủ lớn để huấn luyện mô hình
      Nghe có vẻ không phải chuyện gì ghê gớm
  • Thú vị thật. Tôi rất tò mò họ nhận diện những đặc tính âm học nào
    Đó có phải gần giống dấu vân tay vật lý của từng phím, nên nếu đổi keycap hoặc lò xo thì phải cập nhật mô hình không? Có giống cách ngày xưa người ta nhận dạng máy đánh chữ trong pháp chứng học nhờ sai lệch sản xuất không?
    Hay bản thân các phím là giống nhau, nhưng do hình dạng các vật thể xung quanh mà mỗi phím tạo ra mẫu cộng hưởng khác nhau bên trong bàn phím hoặc laptop? Nếu di chuyển bàn phím sang chỗ khác trong phòng thì có phải huấn luyện lại mô hình không?
    Tôi cũng tò mò việc nhấn phím mạnh đến đâu có hoàn toàn không tạo khác biệt, hay khác biệt lớn
    Xét theo từng bàn phím, khi so sánh phím MacBook mỏng với bàn phím rời full-height, không biết bên nào giúp nhận diện từng phím dễ hơn hoặc khó hơn

    • Mở rộng ra thì có thể xét (1) đặc tính của chính phím, (2) đặc tính của phím so với các phím khác, (3) đường truyền âm và môi trường giữa phím và micro, (4) quan hệ giữa phím và ngón tay, (5) quan hệ giữa phím và các dendrite liên quan
    • Phong cách gõ cũng có vẻ quan trọng
      Tốc độ vươn tới từng phím, nhịp điệu, xu hướng gõ mạnh một số phím nhất định, v.v. có lẽ đều ảnh hưởng
      Cảm giác như đang lập hồ sơ con người nhiều hơn là bàn phím
  • Nhân tiện, một số, có lẽ là phần lớn phần mềm họp video đều loại bỏ tiếng bàn phím khỏi âm thanh
    Vì trên laptop, micro nằm ngay cạnh phím nên đây là một vấn đề đặc biệt gây mất tập trung
    Tôi khá chắc Zoom làm việc này theo mặc định như một phần của tính năng khử nhiễu. Có thể còn dễ hơn vì có thể dùng sự kiện nhấn phím để hỗ trợ nhận dạng, không chỉ luồng âm thanh
    Chỉ cần bật khử nhiễu mặc định thì trong các cuộc họp video thông thường cũng có thể chặn kiểu tấn công này
    Vì vậy, trong tình huống kẻ tấn công chưa có quyền tiếp cận vật lý đến mức cài keylogger thông thường hoặc camera ẩn, tôi không dễ nghĩ ra trường hợp nào mà đây là một mối đe dọa thực tế

    • Có vẻ Teams chắc chắn không có tính năng này. Ít nhất không phải mặc định, hoặc không phải mặc định ở công ty chúng tôi
      Khi ai đó bắt đầu gõ trong cuộc gọi, nghe rất rõ
    • Có thể là các cuộc họp giữa các tổ chức, căng tin có nhiều văn phòng lẫn lộn, quán cà phê, v.v.
    • Tôi nghĩ có thể thành vấn đề nếu một trang web bất kỳ có được quyền truy cập micro
  • Georgi Gerganov đã làm một cái từ vài năm trước rồi
    https://github.com/ggerganov/kbd-audio

  • Hình minh họa cho thấy mỗi 0,5 giây nhấn một phím, gợi ý kiểu gõ mổ cò khoảng 24 wpm
    Theo cách này, mô hình thu được dạng sóng rất sạch
    Tôi tự hỏi liệu cách tiếp cận này có hoạt động tốt với người gõ trung bình hoặc nhanh không. Việc liên kết profile âm thanh với ký tự có thể khó hơn nhiều

    • Dù có mơ hồ thì vẫn tốt hơn là không có dữ liệu
      Nếu có đủ dữ liệu huấn luyện, tôi nghĩ có thể tìm ra các mẫu lặp lại được ở người gõ tiêu chuẩn
      Ví dụ trên bố cục QWERTY, sau khi gõ “A”, việc gõ “Q” có thể mất thời gian gấp 1,2~2,3 lần so với “J”, kiểu mẫu nhịp theo từng cặp như vậy
      Điều đó giúp thu hẹp không gian tìm kiếm hơn là brute-force toàn bộ ký tự ứng viên
      Nếu mục tiêu dùng cụm mật khẩu, khi xác định được một số ký tự mốc với xác suất cao, kiểu “hXXXse battXXX stXXXXX cXXXXXX”, thì có thể diễn giải được
    • Liên Xô đã thành công trong việc nghe lén tiếng máy đánh chữ từ thập niên 1970
  • Sau khi xem bài này, tôi đã công khai mã nguồn mở một dự án khởi đầu về một biến thể của ý tưởng này: https://github.com/secretlessai/audio-mnist
    Từ trước tôi đã quan tâm đến việc áp dụng các kỹ thuật phân loại ảnh như CNN cho dữ liệu âm thanh
    Vài năm trước, như một dự án cuối tuần, tôi đã tạo một dataset “audio-mnist” đơn giản từ bản ghi âm chữ số viết tay, nhưng sau vài ngày làm thì không tiếp tục được
    Dù vậy, tôi đã nghĩ một thời gian rằng nên công khai nó dưới dạng mã nguồn mở, và bài viết này đã khiến tôi hành động
    Nếu thu thập thêm dữ liệu và thêm các ví dụ CNN cơ bản, nó có thể trở thành điểm khởi đầu tốt cho nhiều nghiên cứu và công cụ
    Phần mã riêng để tạo bản ghi và cắt âm thanh tôi vẫn cần tìm lại và sắp xếp sao cho dễ hiểu
    Hy vọng nó sẽ hữu ích cho những ai thấy một phần nào đó của quá trình này thú vị hoặc có ích

  • Sẽ hay nếu có bàn phím không dây hoạt động bằng cách này
    Sẽ không cần pin, sạc hay đồng bộ

    • Một số remote TV ngày xưa từng hoạt động kiểu này
      Đó là remote Space Command do Zenith làm, và nghe nói đây là lý do đôi khi remote TV được gọi là “clicker”
      https://www.theverge.com/23810061/zenith-space-command-remot...
    • Hãy tưởng tượng trải nghiệm người dùng khi cứ 20 ký tự nhập vào thì có 1 ký tự bị suy luận sai
      Tác động xác suất thất bại × chi phí có lẽ vẫn khó chấp nhận ngay cả khi tỷ lệ lỗi được cải thiện thêm một chữ số
  • Giờ là lúc chèn âm thanh nền tôi đang gõ “fuck you” vào cuộc gọi Zoom

    • Chỉ cần biến văn bản thành âm thanh gõ phím, nhưng lấy văn bản từ prompt LLM “fanfic thể thơ iambic pentameter dựa trên Love It or List It của HGTV, có một môi giới bất động sản Ewok và một nhà thiết kế nội thất Klingon”
      Mục tiêu là khiến kẻ nghe lén phải đánh giá lại hoàn toàn các lựa chọn trong đời mình, và có khi còn bị cuốn vào chính câu chuyện
    • Ngược lại, nó cũng có thể làm việc giải mã dễ hơn
      Vì nó trở thành một mốc tham chiếu tốt