Một ứng dụng Android có hai lựa chọn để đặt dữ liệu trên thiết bị: bộ nhớ trong, nơi nó an toàn và chặt chẽ, được cách ly bởi hộp cát của hệ điều hành, và bộ nhớ ngoại vi, nơi dữ liệu có thể di chuyển giữa các ứng dụng nhưng không được bảo vệ nhiều. Hầu hết thời gian, cài đặt đó hoạt động rất tốt. Nhưng khi các nhà phát triển sử dụng nó sai cách, họ có thể tạo cơ hội quan trọng cho các hacker.
Đó là tập trung của nghiên cứu mới từ nhà nghiên cứu an ninh Slava Makkaveev của Check Point, người sẽ trình bày các kết quả của mình tại hội nghị an ninh DefCon vào Chủ Nhật. Bằng cách lưu giữ những thứ sai lạc trong bộ nhớ ngoại vi, một ứng dụng có thể làm lộ ra một loạt các cuộc tấn công tiềm ẩn trên điện thoại Android, bao gồm cài đặt bí mật phần mềm độc hại, tắt ứng dụng hợp lệ và thậm chí có thể kiểm soát camera hoặc microphone của điện thoại thông minh.
“Đây là một bề mặt tấn công mà cho đến nay chưa được tài liệu hoặc giải quyết đầy đủ. Mọi nhà phát triển nên cẩn thận hơn trong cách họ sử dụng bộ nhớ ngoại vi,” nói Orli Gan, trưởng phòng ngừng đe dọa của Check Point. Bà thêm rằng đa số các ứng dụng mà Check Point phân tích dường như có thể bị tấn công kiểu này.
Sự phổ biến đó có ý nghĩa trong ngữ cảnh; khả năng của một nhà phát triển để lưu trữ những gì họ muốn vào bộ nhớ ngoại vi là một tính năng, không phải là một lỗi. Và đối với nhiều trường hợp sử dụng, đó là một lựa chọn hợp lý. Khi bạn muốn gửi ai đó một bức ảnh, ví dụ, ứng dụng camera của bạn sẽ ghi nó vào bộ nhớ ngoại vi, để ứng dụng nhắn tin của bạn có thể lấy nó. Không có tác hại trong điều đó.
Trong khi đó, mọi thứ trong bộ nhớ trong được tách biệt với bảo mật cao nhờ vào việc tạo khu vực cách ly của Android, ngăn chặn các ứng dụng khác từ việc ngoại trừng xem. Nhưng đôi khi những nhà phát triển sử dụng bộ nhớ ngoại vi khi thực sự không nên. Có lẽ họ đã hết không gian, có lẽ họ đã sao chép và dán mã lỗi từ đâu đó, có lẽ họ lười biếng, nhưng những thứ như tệp cấu hình hoặc mã cho bản cập nhật tiếp theo của họ cuối cùng lại nằm ở nơi công cộng.
Cuộc tấn công man-in-the-disk của Check Point diễn ra từ đó. Một hacker sẽ cần đầu tiên làm cho ai đó cài đặt một ứng dụng có vẻ vô hại—một yếu tố hạn chế, nhưng không không thể vượt qua—và yêu cầu họ cấp quyền “Bộ Nhớ Ngoại Vi” theo quy trình thông thường. Một khi đã ổn định, tải xuống độc hại sau đó sẽ theo dõi mọi thứ mà các ứng dụng khác trên thiết bị đang giữ trong bộ nhớ ngoại vi một cách tận dụng cơ hội.
“Họ có thể thay thế, hoặc bổ sung, hoặc thao túng nội dung của bộ nhớ này một cách làm họ có quyền đặc biệt trên ứng dụng viết lỏng lẻo,” Gan nói.
Google có đưa ra hướng dẫn cho nhà phát triển, kêu gọi họ không nên đặt mã lập trình nhạy cảm vào bộ nhớ ngoại vi. Nhưng không chỉ Check Point phát hiện nhiều ứng dụng không tuân theo lời khuyên đó, Google chính nó cũng không thoát khỏi vấn đề man-in-the-disk. Các nhà nghiên cứu phát hiện rằng cách sử dụng bộ nhớ ngoại vi không cẩn thận của Google Translate, được cài đặt trên hơn 500 triệu thiết bị, có nghĩa là họ có thể làm tổn thương một số tệp cần thiết cho ứng dụng và làm nó bị crash. Google sau đó đã vá lỗi này, nhưng vẫn là một ví dụ về cách mọi thứ có thể trở nên sai lầm.
“Google Translate trên điện thoại của tôi có quyền truy cập vào Camera của Google,” Gan nói. “Nếu tôi có thể làm đổ vỡ mã đó, và từ đó tôi có thể tiêm mã của mình, bây giờ nó sẽ chạy trong quyền của Google Translate. Do đó, nó sẽ có quyền truy cập vào camera của tôi, và tôi chưa bao giờ cho phép ứng dụng này có quyền truy cập vào camera của tôi.”
Các nhà nghiên cứu phát hiện một hình thức lo lắng khác về lỗ hổng trong LG Application Manager và LG World. Bởi cách họ sử dụng bộ nhớ ngoại vi, các ứng dụng có thể đã bị tổn thương để hoạt động như các kênh cho việc cài đặt ứng dụng không mong muốn một cách im lặng. LG không đáp ứng yêu cầu để có ý kiến.
"Các vấn đề mà họ đã chỉ ra không ảnh hưởng đến hệ điều hành Android chính mà chỉ là đến mã và ứng dụng bên thứ ba trên thiết bị," nói một người phát ngôn của Google. "Cùng với Check Point, chúng tôi đã liên lạc với các đối tác Android bị ảnh hưởng để giải quyết những vấn đề này."
Ít nhất, man-in-the-disk cho thấy cách kiến trúc hệ điều hành có thể có những hậu quả không mong muốn. Tính cho phép của bộ nhớ ngoại vi quay lại thời kỳ khi trên thiết bị thực tế chưa có nhiều không gian, buộc phải sử dụng thẻ SD để đáp ứng sự khác biệt. Bây giờ, khi nhà phát triển sử dụng nó một cách không chịu trách nhiệm, họ đưa ra nguy cơ tấn công cho người dùng của họ. Và trừ khi Google quyết định thực hiện các thay đổi cơ bản về cách Android xử lý bộ nhớ—điều đó cũng có thể làm cho một số tương tác với điện thoại của bạn trở nên khó chịu hơn—điều đó dường như không thay đổi.
"Mong đợi tất cả những nhà phát triển trên thế giới đều hiểu về an ninh của họ là không thực tế," Gan nói. "Hướng dẫn là tuyệt vời. Những nhà phát triển cũng là tuyệt vời. Nhưng chúng không nhất thiết đi đôi với nhau."
Những bài viết tuyệt vời khác trên Mytour
- Đằng sau The Meg, bộ phim mà internet không cho phép chết
- Những bước đơn giản để bảo vệ bản thân trên Wi-Fi công cộng
- Làm thế nào để kiếm triệu bằng cách tính phí tù nhân khi gửi email
- Người nào chịu trách nhiệm về thói quen công nghệ xấu của bạn? Thực sự rắc rối
- Di truyền học (và đạo đức) của việc làm cho con người phù hợp với sao Hỏa
- Đang tìm kiếm thêm? Đăng ký nhận bản tin hàng ngày của chúng tôi và đừng bao giờ bỏ lỡ những câu chuyện mới và tuyệt vời nhất của chúng tôi