Rate this post

QRLJacking hoặc Quick Response Code Login Jacking là một vectơ tấn công kỹ thuật xã hội đơn giản có khả năng chiếm quyền điều khiển phiên ảnh hưởng đến tất cả các ứng dụng dựa vào tính năng “Đăng nhập bằng mã QR” như một cách an toàn để đăng nhập vào tài khoản. Nói một cách đơn giản, nạn nhân sẽ quét mã QR của kẻ tấn công kết quả về việc chiếm quyền điều khiển phiên.

Các bài viết liên quan:

Đăng nhập Bằng mã QR, một tính năng hay một lỗi?

Khi nói đến xác thực, bất kỳ hệ thống nhất định nào không đạt được trạng thái cân bằng giữa đủ khả năng sử dụng và an toàn về cơ bản là một hệ thống xác thực không thực tế. Ngay từ đầu, hệ thống xác thực dựa trên thông tin xác thực truyền thống đã chiếm ưu thế so với bất kỳ lựa chọn thay thế nào khác. Nhưng không phải không có nhiều thiếu sót, từ những rủi ro như phát lại và tấn công lừa đảo đến các vấn đề nội tại như vấn đề “mệt mỏi mật khẩu” (trong đó người dùng phải nhớ quá nhiều mật khẩu như một phần của thói quen hàng ngày của họ), chúng tôi để lại những sai sót thiết kế không nhỏ cần được giải quyết.

Sau đó, các phương pháp tiếp cận mới đã xuất hiện để giải quyết những vấn đề này. Một cách tiếp cận là hệ thống đăng nhập một lần (còn gọi là SSO), trong đó người dùng chỉ cần có một tài khoản duy nhất cho phép họ xác thực với nhiều dịch vụ. Điều này giải quyết phần nào vấn đề “mệt mỏi mật khẩu” nói trên vì người dùng không còn phải gánh nặng cho mình quá nhiều mật khẩu để nhớ và không còn bị cám dỗ để phát triển các thói quen xấu như sử dụng lại cùng một mật khẩu. Tuy nhiên, điều đó vẫn không xảy ra mà không có những thiếu sót riêng, như trong trường hợp này, việc mất một mật khẩu sẽ ngăn cản quyền truy cập vào tất cả các dịch vụ được liên kết với hệ thống SSO; chưa nói đến nguy cơ tiềm ẩn của việc xâm phạm tài khoản hàng loạt.

Một cách tiếp cận khác đã được giới thiệu là cái được gọi là “mật khẩu dùng một lần (OTP)”, cố gắng giảm thiểu nhiều rủi ro như các cuộc tấn công phát lại và bất kỳ khả năng tấn công lừa đảo nào ở một số phạm vi mở rộng. Nhưng mặt trái của nó, những mật khẩu này thường khó ghi nhớ và do đó, chúng đòi hỏi phải triển khai thêm công nghệ.

Gần đây, một mô hình SSO mới dựa vào mật khẩu dùng một lần dựa trên mã QR đã được giới thiệu để giải quyết thêm những sai sót như vậy. Trong đăng nhập dựa trên mã QR, người dùng có thể chỉ cần quét mã QR được tạo bởi dịch vụ mà họ đang cố gắng xác thực và sau đó ứng dụng khách trên thiết bị đáng tin cậy như điện thoại thông minh sẽ quét và truyền mã QR mã cho một nhà cung cấp danh tính để xác thực nó và xác thực thêm người dùng với dịch vụ đích. Do đó, tiến hành một quy trình đăng nhập liền mạch và an toàn ngay cả trên một thiết bị có khả năng bị xâm phạm. Nhưng như chúng tôi giải thích chi tiết ở phần sau –– tùy thuộc vào việc triển khai –– cách tiếp cận như vậy có thể dễ dàng bị lạm dụng để đánh lừa người dùng xác thực kẻ tấn công ác ý thay mặt cho chính họ đối với các dịch vụ web nhạy cảm, đánh bại toàn bộ quan điểm của cách tiếp cận như vậy!

Các nghiên cứu và dự án liên quan về “Đăng nhập bằng mã QR”

1. Đăng nhập bằng mã QR (Google Patents / US 20130219479 A1)

Các hệ thống và phương pháp được tiết lộ ở đây để người dùng sử dụng thiết bị đáng tin cậy để cung cấp thông tin nhạy cảm cho nhà cung cấp danh tính thông qua mã QR (Phản hồi nhanh) để nhà cung cấp danh tính môi giới đăng nhập trang web hoặc thu thập thông tin cho trang web. Người dùng có thể giao dịch an toàn với trang web từ các thiết bị không an toàn bằng cách nhập thông tin nhạy cảm vào thiết bị đáng tin cậy. Nhà cung cấp danh tính có thể tạo mã QR để trang web hiển thị trên một thiết bị không an toàn. Người dùng đang chạy ứng dụng từ nhà cung cấp danh tính trên thiết bị đáng tin cậy có thể quét mã QR để truyền mã QR đến nhà cung cấp danh tính. Nhà cung cấp danh tính có thể xác thực mã QR và có thể nhận thông tin xác thực để xác thực người dùng hoặc có thể thu thập thông tin cho trang web. Thuận lợi là người dùng có thể thực hiện đăng nhập an toàn vào trang web từ các thiết bị không đáng tin cậy bằng thiết bị đáng tin cậy

2. Đăng nhập bằng điện thoại thông minh bằng mã QR (Google Patents / US 20130167208 A1)

Hệ thống và phương pháp được tiết lộ cho người dùng sử dụng thiết bị di động như điện thoại thông minh để quét mã QR (Phản hồi nhanh) được hiển thị trên trang đăng nhập của một trang web. Mã QR có thể mã hóa URL máy chủ của trang web. Thiết bị di động giải mã mã QR và truyền ID thiết bị và các thông tin được giải mã khác tới nhà cung cấp dịch vụ. Nhà cung cấp dịch vụ định vị thông tin đăng nhập của người dùng được liên kết với ID thiết bị và truyền thông tin đăng nhập tới máy chủ trang web để xác thực người dùng. Ngoài ra, thiết bị di động có thể truyền ID thiết bị của nó đến máy chủ trang web để máy chủ trang web xác định vị trí tài khoản người dùng được liên kết với ID thiết bị để người dùng đăng nhập. Ngoài ra, thiết bị di động có thể truyền thông tin đăng nhập được lưu trữ tới máy chủ trang web. Thuận lợi là người dùng có thể truy cập một trang web mà không cần cung cấp bất kỳ thông tin đăng nhập nào.

3. Dự án SQRL

SQRL hoặc Đăng nhập an toàn, nhanh chóng, đáng tin cậy (phát âm là “squirrel” / ˈskwɝl / Về âm này vi (trợ giúp · thông tin)) (trước đây là Đăng nhập QR an toàn) là một bản nháp open standard for secure website login and authentication. Giải pháp phần mềm thường sử dụng mã QR, cung cấp xác thực, trong đó người dùng xác định ẩn danh thay vì cung cấp ID người dùng và mật khẩu. Phương pháp này được cho là không thể chống lại một cuộc tấn công mật khẩu thô bạo hoặc vi phạm dữ liệu. Nó chuyển gánh nặng bảo mật khỏi bên yêu cầu xác thực và tiến gần hơn đến việc triển khai hệ điều hành về những gì có thể xảy ra trên phần cứng cũng như người dùng. SQRL được Steve Gibson của Gibson Research Corporation đề xuất vào tháng 10 năm 2013 như một cách để đơn giản hóa quy trình của giao thức Xác thực, mà không tiết lộ bất kỳ thông tin nào về giao dịch cho bên thứ ba.

QRLJacking Attack là gì?

QRLJacking hoặc mã phản hồi nhanh Đăng nhập Jacking là một vectơ tấn công đơn giản nhưng khó chịu ảnh hưởng đến tất cả các ứng dụng chuyển tiếp trên tính năng “Đăng nhập bằng mã QR” như một cách an toàn để đăng nhập vào tài khoản, Nói một cách đơn giản, đó là tất cả về việc thuyết phục nạn nhân để quét mã QR của kẻ tấn công.

QRLJacking Attack Flow

Dưới đây là cách hoạt động của cuộc tấn công QRLJacking đằng sau hậu trường:

  • Kẻ tấn công khởi tạo phiên QR phía máy khách và sao chép Mã QR đăng nhập vào một trang web lừa đảo. “Giờ đây, một trang lừa đảo được chế tạo tốt với Mã QR hợp lệ và được cập nhật thường xuyên đã sẵn sàng được gửi đến Nạn nhân.”
  • Kẻ tấn công Gửi trang lừa đảo đến nạn nhân. (tham khảo vectơ tấn công QRLJacking đời thực)
  • Nạn nhân quét mã QR bằng một ứng dụng di động được nhắm mục tiêu cụ thể.
  • Kẻ tấn công giành quyền kiểm soát Tài khoản của nạn nhân.
  • Dịch vụ đang trao đổi tất cả dữ liệu của nạn nhân với phiên của kẻ tấn công.

Mục tiêu của QRLJacking

1. Đánh cắp tài khoản

Tấn công QRLJacking cung cấp cho những kẻ tấn công khả năng áp dụng toàn bộ kịch bản chiếm đoạt tài khoản trên tính năng Đăng nhập dễ bị tấn công bằng Mã QR dẫn đến việc đánh cắp tài khoản và ảnh hưởng đến danh tiếng.

2. Tiết lộ thông tin

Khi nạn nhân quét mã QR, họ sẽ cung cấp cho kẻ tấn công nhiều thông tin hơn, chẳng hạn như (vị trí GPS hiện tại chính xác của họ, Loại thiết bị, IMEI, Thông tin thẻ SIM và bất kỳ thông tin nhạy cảm nào khác mà ứng dụng khách trình bày trong quá trình đăng nhập)

3. Thao tác dữ liệu gọi lại

Khi kẻ tấn công nhận được dữ liệu mà chúng tôi đã làm rõ trong điểm “Tiết lộ thông tin”, Một số dữ liệu này được sử dụng để giao tiếp với các máy chủ dịch vụ nhằm làm rõ một số thông tin về người dùng có thể được sử dụng sau này trong ứng dụng của người dùng. Thật không may, đôi khi dữ liệu này được trao đổi qua kết nối mạng không an toàn, điều này khiến kẻ tấn công dễ dàng kiểm soát dữ liệu này, tạo cho chúng khả năng thay đổi hoặc thậm chí xóa nó.

Yêu cầu của QRLJacking

Như đã đề cập trước đây, một trong những ưu điểm của cuộc tấn công là sự đơn giản, Vì vậy, tất cả những gì những kẻ tấn công cần làm để bắt đầu một cuộc tấn công QRLJacking thành công là viết một tập lệnh để thường xuyên sao chép các Mã QR không mong muốn và làm mới các mã được hiển thị trong trang web lừa đảo họ đã tạo bởi vì như chúng tôi biết quy trình Đăng nhập bằng QR được triển khai tốt nên có khoảng thời gian hết hạn cho mã QR (trong quá trình thử nghiệm của chúng tôi, một số dịch vụ không có điều đó).

Vì vậy, tất cả những gì chúng ta cần ở đây là: Kẻ tấn công (Viết kịch bản cho đứa trẻ là kỹ năng tối thiểu bắt buộc) + Tập lệnh làm mới mã QR (về phía kẻ tấn công) + trang web / tập lệnh lừa đảo được chế tạo tốt và Nạn nhân.

QRLJacking và các vectơ tấn công trong đời thực nâng cao

Như chúng ta đã biết, Nếu chúng ta kết hợp nhiều vector tấn công với nhau, chúng ta có thể có một kết quả tuyệt vời. Cuộc tấn công QRLJacking có thể được kết hợp với các kỹ thuật và vectơ tấn công mạnh mẽ để làm cho nó trở nên đáng tin cậy và đáng tin cậy hơn. Dưới đây là một số ví dụ:

  1. Kỹ thuật Social Engineering (Các cuộc tấn công có mục tiêu)

Một kẻ tấn công kỹ sư xã hội có tay nghề cao sẽ thấy nhiệm vụ này dễ dàng thuyết phục nạn nhân quét Mã QR bằng cách sao chép toàn bộ trang đăng nhập ứng dụng web bằng một trang chính xác nhưng với Mã QR của chính kẻ tấn công của họ.

  1. Các trang web và dịch vụ có độ tin cậy cao bị tấn công

Các trang web bị tấn công dễ bị chèn một tập lệnh hiển thị Quảng cáo hoặc một phần mới được thêm vào hiển thị một đề nghị hấp dẫn nếu người dùng quét Mã QR này bằng một ứng dụng di động được nhắm mục tiêu cụ thể, tài khoản của họ sẽ bị tấn công.

  1. Tước SSL

SSL Stripping là một cuộc tấn công nhằm tước bỏ trang web ssl và buộc nó hoạt động trên một phiên bản không được bảo mật. Các trang web không được kích hoạt “Chính sách HSTS” sẽ dễ bị loại bỏ, điều này cho phép kẻ tấn công có nhiều lựa chọn để thao túng nội dung của các trang web, chẳng hạn như “thay đổi các phần đăng nhập Mã QR”.

  1. Mạng phân phối nội dung (Hạ cấp CDN)

Tính năng Đăng nhập bằng Mã QR được triển khai tốt sử dụng hình ảnh mã QR base64 được tạo và đặt tốt trong một trang được bảo mật, điều này sẽ khiến bạn rất khó bị thao túng nếu trang web này đang hoạt động trên HTTPS và buộc phải sử dụng HSTS, nhưng tiếc là rất nhiều ứng dụng web và dịch vụ sử dụng quy trình tạo hình ảnh QR dựa trên CDN. Bản thân các CDN này đôi khi được lưu trữ trên các máy chủ dễ bị tấn công Hạ cấp HTTPS. Kẻ tấn công

sẽ tìm cách hạ cấp các kết nối an toàn này, chuyển hướng các URL CDN đến Mã QR của riêng chúng và vì Mã QR là một hình ảnh, điều này sẽ dẫn đến “nội dung hỗn hợp thụ động” do đó trình duyệt sẽ không tìm thấy bất kỳ sự cố nào khi xem nó trên trang đăng nhập ứng dụng web thay vì trang gốc.

  1. Lưu lượng không an toàn qua mạng LAN

Đây là vectơ tấn công phù hợp nhất để tấn công người dùng qua Mạng cục bộ bằng cách khai thác các trang web không được bảo mật và thao túng lưu lượng truy cập. đưa một tệp JS vào mọi trang web không được bảo mật.

  1. Triển khai / Logic tồi

Logic triển khai sai của đăng nhập mã QR có thể dẫn đến tình huống tiếp quản tài khoản dễ dàng hơn. Trong quá trình nghiên cứu, chúng tôi đã tìm thấy một ví dụ cụ thể: Một ứng dụng trò chuyện yêu cầu bạn quét mã QR của người khác để thêm họ làm bạn bè, cho đến đây điều đó bình thường và không có vấn đề gì, nhưng khi nói đến quá trình đăng nhập thì đó là một vấn đề lớn. Thật không may, ứng dụng đã triển khai tính năng “đăng nhập bằng mã QR” trên cùng một màn hình mà bạn đang sử dụng để thêm bạn bè, vì vậy hãy tưởng tượng rằng ai đó đã sao chép mã qr đăng nhập của họ và nói với bạn “Này, đây là Mã QR của tôi, hãy quét nó trở thành bạn của tôi, bạn đã quét nó, Boom ”bạn đã mất tài khoản của mình.

QRLJacking và Clickjacking

Như đã biết, clickjacking là việc lạm dụng phong cách của một trang web nhạy cảm ẩn, che và thao túng một số yếu tố để thuyết phục nạn nhân “chẳng hạn” thay đổi địa chỉ email và mật khẩu chính của tài khoản của họ thành địa chỉ email và mật khẩu của kẻ tấn công, nhưng điều gì sẽ xảy ra nếu kẻ tấn công thành công trong đó và một lúc sau chúng muốn đăng nhập vào tài khoản của nạn nhân và phát hiện ra rằng tài khoản này đã được kích hoạt tính năng Xác thực 2 yếu tố !!! Tất nhiên cuộc tấn công bị hủy hoại và toàn bộ điều trở nên vô dụng.

Tính năng Đăng nhập QR được giới thiệu là Đăng nhập một lần và Lớp xác thực 2 yếu tố và vì lý do đó, nó được coi là phòng tuyến cuối cùng mang lại cho người dùng cả tính bảo mật và khả năng sử dụng. “Quét tôi để đăng nhập” đây là cách đăng nhập hàng ngày dễ dàng, an toàn và hiệu quả. QRLJacking ở đây để xáo trộn khả năng sử dụng và triển khai bảo mật.

Bây giờ rõ ràng là tại sao cuộc tấn công QRLJacking lại nghiêm trọng hơn một cuộc tấn công bằng Clickjacking thông thường.

Bảo vệ chống lại QRLJacking

Khuyến nghị hàng đầu của chúng tôi là chỉ ngừng sử dụng Đăng nhập bằng mã QR ngoại trừ trường hợp cần thiết, ngoài ra, có rất nhiều cách để giảm thiểu vấn đề như vậy và đây là một số cách được sử dụng cùng nhau hoặc độc lập:

  1. Xác nhận phiên, Chúng tôi khuyên bạn nên triển khai một thông báo / thông báo xác nhận hiển thị thông tin đặc trưng về phiên được thực hiện bởi máy khách / máy chủ.
  2. Hạn chế IP, Hạn chế bất kỳ quá trình xác thực nào trên các mạng khác nhau (WAN) sẽ thu nhỏ cửa sổ tấn công.
  3. Hạn chế dựa trên vị trí, Hạn chế bất kỳ quá trình xác thực nào dựa trên các vị trí khác nhau sẽ thu nhỏ cửa sổ tấn công.
  4. Xác thực dựa trên âm thanh, Một trong những kỹ thuật để giảm thiểu loại tấn công này [Và duy trì cùng mức độ khả dụng để không yêu cầu bất kỳ tương tác bổ sung nào từ người dùng ngoài việc quét QR] là thêm bước xác thực dựa trên âm thanh vào quy trình, chúng tôi đã thấy loại công nghệ này có thể tạo dữ liệu duy nhất và chuyển đổi nó thành âm thanh có thể được nhận dạng trở lại dạng ban đầu [SlickLogin và Sound-Proof], vì vậy có thể đưa công nghệ này vào quy trình.

Mục đích của bước bổ sung này là để đảm bảo rằng mã QR đã quét được tạo ở cùng một vị trí thực tế với thiết bị di động đang thực hiện quá trình quét và do đó loại bỏ khả năng kẻ tấn công từ xa đánh lừa người dùng quét mã qr của họ.

Kịch bản tấn công (với phần giảm thiểu): Kẻ tấn công truy cập trang web và mở một phiên.

  1. Trang web tạo mã QR giữ khóa phiên.
  2. Kẻ tấn công tạo ra một trang web lừa đảo bằng Mã QR đã nhận được và gửi cho người dùng.
  3. Người dùng quét Mã QR của kẻ tấn công trong trang web lừa đảo.
  4. Ứng dụng dành cho thiết bị di động tạo ra âm thanh xác thực và phát âm thanh đó đến trang web lừa đảo.
  5. Trang web lừa đảo không thể xử lý và thu được âm thanh xác thực vì nó yêu cầu quyền trình duyệt bổ sung.
  6. Ngay cả khi kẻ tấn công cố gắng tạo ra âm thanh xác thực dựa trên (ID người dùng), chúng vẫn thiếu khóa cá nhân.

Leave a Reply

Call now
%d bloggers like this: