(Post 29/10/2012) Chỉ cần nhận tin nhắn SMS chứa nội dung mã USSD độc hại hay truy cập website chứa mã này, thiết bị Android của bạn có thể bị xóa toàn bộ dữ liệu ngay lập tức. Đây là khám phá rất ấn tượng của chuyên viên Ravi Borgaonkar thuộc bộ phận nghiên cứu các nguy cơ bảo mật trong lĩnh vực viễn thông - di động của Đại học Kỹ thuật Berlin...
Nhiều triệu smartphone Samsung Galaxy S2 và Galaxy S3 có thể bị khai thác lỗi khi truy cập website chứa mã độc hại, bản vá đã được phát hành - Ảnh: Reuters
Tuy khởi điểm của khám phá trên xuất phát từ một chuyên viên với bí danh c0rnholio, Ravi Borgaonkar đã nâng tầm phạm vi lẫn mức độ nguy hiểm qua phần trình diễn một kỹ thuật mang tên Dirty use of USSD Codes in Cellular Network (sử dụng mã USSD trong mạng di động với mục đích xấu - PV) ở hội thảo ekoparty Security Conference lần thứ 8, diễn ra từ ngày 19 đến 21-9 tại Argentina.
Phần trình diễn của Ravi Borgaonkar cho thấy chỉ với những tin nhắn dạng WAP Push SMS mang nội dung mã USSD "xấu", thiết bị Android mà cụ thể là dòng smartphone Samsung Galaxy S2 (xem trong video bên dưới) khi tiếp nhận có thể bị xóa toàn bộ dữ liệu cá nhân như ảnh, tin nhắn, danh bạ... hay thậm chí là dữ liệu trên SIM mà nạn nhân không thể làm gì để cứu vãn.
Nguy hiểm hơn, chuyên viên này cho thấy không chỉ qua tin nhắn WAP Push SMS mà còn có thể qua nhiều phương thức khác nhau để xóa dữ liệu từ xa, như dùng mã QR, các website độc hại và thậm chí thông qua các thiết bị có tích hợp và kích hoạt công nghệ giao tiếp tầm gần NFC.
Video trình diễn của Ravi Borgaonkar tại hội thảo ekoparty Security Conference - Nguồn: YouTube
Giải mã lỗi và mã USSD "xấu"
Theo tờ Guardian (Anh), lỗi xuất phát từ một lỗ hổng bảo mật trong vài phiên bản phần mềm gọi điện thoại (Phone) tích hợp trong hệ điều hành Android, vốn cho phép dùng dạng địa chỉ URL "tel:" trên một trang web để thực thi chức năng gọi điện thoại, ví dụ: tel://0908170xxx (tương tự như các liên kết http://, fpt://, mailto://... mỗi dạng có công năng riêng biệt - PV).
Thông thường, chức năng trên thường dùng để cho phép người lướt web có thể gọi nhanh điện thoại ngay trên một trang web. Tuy nhiên, mấu chốt vấn đề ở chỗ dạng liên kết "tel:" còn có thể được dùng để thực thi một chuỗi dữ liệu không phải là số điện thoại.
Các chuỗi ký tự đặc biệt sẽ thực thi các chức năng khác nhau. Bạn đọc có thể hình dung qua hai chuỗi ký tự thường được sử dụng ở nước ta. Đầu tiên là chuỗi ký tự *#06# gõ vào phần gọi điện thoại, thông tin số IMEI sẽ hiển thị ngay lập tức. Hoặc một ví dụ gần gũi hơn cho các thuê bao trả trước thường nạp tiền qua thẻ, ta sẽ gõ: *100*-mã số nạp tiền# rồi nhấn gọi, hay gõ *100# để xem tài khoản thuê bao của mình.
Theo đó, mã USSD xấu được nhắc đến ở trên là chuỗi ký tự thực thi lệnh xóa bỏ toàn bộ dữ liệu (Factory Reset) được gửi đến nạn nhân qua dạng tin nhắn WAP Push SMS (dạng tin nhắn mở website có liên kết tel://...), hoặc nhúng vào một liên kết trên website và đánh lừa nạn nhân mở ra.
USSD (Unstructured Supplementary Service Data) là một cổng GSM theo phiên (protocol), giới hạn nội dung tối đa 182 ký tự, có khác biệt dạng tin nhắn SMS hay MMS, USSD được dùng để gửi các tin nhắn qua lại giữa một điện thoại di động với một máy chủ ứng dụng mạng, tạo ra sự tương tác trực tiếp trong thời gian thực.
Ngày nay, USSD được áp dụng cho nhiều dịch vụ như mobile banking, cập nhật phần mềm qua OTA, mạng xã hội, nạp tiền/ gửi tiền vào tài khoản thuê bao...
Dòng thiết bị nào có thể bị ảnh hưởng?
Về cơ bản, không phải tất cả các thiết bị đều có thể bị xóa dữ liệu qua mã USSD vì ngoài Android, các điện thoại di động Symbian, Bada... cũng hỗ trợ các câu lệnh USSD. Chỉ một số dòng smartphone được các chuyên gia bảo mật thử nghiệm và xác nhận "có thể" bị xóa dữ liệu qua một dòng lệnh mã USSD.
Thử nghiệm chạy mã USSD có chức năng hiển thị số MEID trên Samsung Galaxy S3 - Ảnh: PCMag
Lỗi không ảnh hưởng đến các thiết bị đang chạy một phiên bản "stock" (chính thức) của hệ điều hành Android, do đó các thiết bị dùng bản Android gốc như smartphone Google Galaxy Nexus không phải lo ngại vì Google đã xác định và khắc phục cho bản Android gốc từ ba tháng trước.
Các dòng điện thoại di động không chứa mã "factory reset" cũng không phải an toàn tuyệt đối. Những kẻ tấn công có thể dẫn dụ nạn nhân tự kích hoạt mã như: đánh lừa mở một liên kết (link) website, quét (scan) một mã QR (QR code) dẫn đến trang web chứa link độc hại...
Tuy nhiên, các chuyên gia bảo mật cho rằng tỉ lệ tội phạm mạng lợi dụng lỗi này để khai thác gần như bằng không, vì xóa trắng dữ liệu nạn nhân sẽ không tạo ra nguồn thu nào, thay vì đánh cắp dữ liệu đó hoặc cho mã độc ẩn mình bên trong hệ thống.
Mặc dù vậy, bạn đọc nên cảnh giác vì vẫn có thể có những trò đùa tai hại từ những chủ nhân website hoặc các đối tượng xấu có thể mở rộng dạng mã USSD để trục lợi.
Hầu hết các hãng sản xuất thiết bị di động lớn trên thế giới hiện nay đều phát triển thêm một phiên bản Android hiệu chỉnh riêng để hỗ trợ người dùng khả năng tùy biến, ví dụ điển hình là giao diện TouchWiz trên các dòng smartphone Samsung, HTC có Sense...
Các smartphone Android của Samsung bị ảnh hưởng vì hãng này có thiết lập một mã USSD có chức năng xóa trắng dữ liệu, phần lớn đã được khóa. Do đó, phạm vi ảnh hưởng rộng lớn ra sao chưa thể xác định cụ thể, chỉ tính riêng số lượng Galaxy S3 bán ra đã vượt hơn 20 triệu chiếc. Hơn nữa, rất nhiều dòng thiết bị Android từ các hãng không còn được cập nhật phiên bản Android mới.
Trong phần trình diễn, Ravi Borgaonkar cho biết phần thử nghiệm hiện chỉ thấy một số dòng smartphone dùng Android của Samsung như Galaxy S2, Galaxy S3... Trang công nghệ The Verge cũng xác nhận đã thử nghiệm thành công trên Samsung Galaxy S2 và phiên bản Galaxy S3 do nhà mạng AT&T phân phối. Trong khi đó, trang Tweakers.net xác nhận đối với dòng Galaxy S Advance. Riêng DigitalTrends đưa ra một danh sách dài bao gồm cả HTC Desire HD, Desire Z, One X, Sensation XE (Android 4.0.3), Motorola Artix 4G, Milestone, Razr (Android 2.3.6), Samsung Galaxy Ace, Beam, S Advance, Galaxy S2, Galaxy S3 (Android 4.0.4).
Một trường hợp thử nghiệm từ nhóm bảo mật heise Security trên HTC One XL và Motorola RAZR XT910 với một trang web có chứa câu lệnh mã USSD. Kết quả, thẻ SIM cả hai bị khóa ngay lập tức sau khi mở trang web này. Để mở khóa, người dùng phải điền mã PUK (tối đa 10 lần nhập sai) nhưng nhóm cho rằng có thể thiết lập mã USSD "xấu" khiến thẻ SIM bị khóa hoàn toàn.
Theo Dylan Reeve, biên tập viên truyền hình tại New Zealand, người đã công bố thông tin lỗi rộng rãi đến công chúng, các dòng smartphone Samsung Galaxy dùng phiên bản Android 4.1 (Jelly Bean) an toàn trước các cuộc tấn công khai thác dựa trên lỗi này. Anh công bố trên blog rằng lỗi cũng ảnh hưởng HTC One X (dùng bản HTC Sense 4.0 trên Android 4.0.3) và Motorola Defy (Cyanogen Mod 7 trên Android 2.3.5).
Thông cáo chính thức của phía Samsung do Guardian đăng tải, hãng này cho biết đã cung cấp một bản cập nhật firmware cho Galaxy S3 đến các nhà mạng phân phối dòng smartphone này. Bản cập nhật cho dòng Galaxy S2 vẫn đang được thử nghiệm.
Về phía HTC, hãng này cho biết các thiết bị di động dùng Android của HTC không hỗ trợ một mã USSD thực hiện lệnh xóa trắng dữ liệu (factory reset).
Nếu đang dùng điện thoại Android để đọc bài viết, bạn có thể click tại đây để kiểm tra. Trường hợp bạn thấy số IMEI hiển thị như ảnh bên dưới thì chiếc điện thoại của bạn cũng có nguy cơ ảnh hưởng bởi lỗi.
Thử nghiệm chạy mã USSD có chức năng hiển thị số MEID trên Samsung Galaxy S3 - Ảnh: PCMag
Cách ứng phó cho người dùng thiết bị Android
Điều đầu tiên cần thực hiện ngay là sao lưu toàn bộ dữ liệu trên thiết bị dùng Android của bạn, đặc biệt là các dòng smartphone Android. Bạn có thể sao lưu lên các dịch vụ "đám mây" như DropBox, SkyDrive hay Google Drive hoặc đồng bộ dữ liệu sao lưu lên máy tính, kết nối thiết bị vào PC qua cáp và đồng bộ bằng phần mềm hay sao chép thủ công.
Nếu đang sở hữu các dòng smartphone Android của Samsung có trong danh sách "đã xác nhận", bạn chỉ cần tải bản cập nhật firmware dạng OTA. (Cắm thiết bị vào nguồn điện, kết nối Internet qua Wi-Fi hay 3G, vào Settings > About Phone > Software Update > Update).
Trường hợp dùng điện thoại Android từ các hãng khác, nếu đã có bản cập nhật lên Android 4.1 (Jelly Bean) thì hãy nâng cấp ngay. Nếu không, bạn có thể tải ứng dụng gọi điện thoại thay thế cho Phone có sẵn trong Android. Gợi ý tải DialerOne miễn phí, tương thích Android 2.0 trở lên. DialerOne có thêm chức năng tìm kiếm và đặt số gọi nhanh khá hay so với Phone.
Giao diện ứng dụng DialerOne, thay thế cho Dialer (gọi điện thoại) mặc định sẵn trong điện thoại Android - Ảnh: Internet
Sau khi cài đặt Dialer One, khi bạn có lỡ truy cập vào một trang web chứa dạng link tel:// thì Android sẽ hỏi bạn dùng ứng dụng Phone mặc định hay Dialer One để thực hiện cuộc gọi. Hãy chọn Dialer One và có thể đánh dấu vào "Use by default..." để thiết lập nó thành mặc định về sau - Ảnh: Dylan Reeve blog
Kế đến, để khóa dạng liên kết tel: khi mở trang web, bạn có thể nhờ cậy đến ứng dụng NoTelURL (miễn phí, tương thích Android 2.2 trở lên). Và cuối cùng là app Auto-Reset Blocker để khóa hoàn toàn nguy cơ bị xóa dữ liệu.
Lưu ý: xem kỹ hướng dẫn sử dụng và thông tin về ứng dụng (app) ngay trên Google Play trước khi cài đặt.