Ins0mnia: Lỗ hổng thực thi vô thời hạn trên các thiết bị iOS

Bộ phận nghiên cứu bảo mật thiết bị di động của FireEye đã phát hiện ra một lỗ hổng bảo mật mới cho phép các ứng dụng của hệ điều hành iOS hoạt động liên tục vô thời hạn, kể cả khi ứng dụng đã được người dùng tắt đi và không còn thấy trên thanh chuyển tác vụ.

Nhóm bảo mật của Apple đã xác nhận rằng, lỗ hổng này đã được sửa trên phiên bản iOS 8.4.1.Nhóm bảo mật của Apple đã xác nhận rằng, lỗ hổng này đã được sửa trên phiên bản iOS 8.4.1.

Lỗ hổng này cho phép bất cứ một ứng dụng nào cũng có thể bỏ qua các giới hạn bảo mật quy chuẩn của Apple và tên lỗ hổng này là Ins0mnia. Nhóm bảo mật của Apple đã xác nhận rằng, lỗ hổng này đã được sửa trên phiên bản iOS 8.4.1.

Theo các chuyên gia FireEye, một trong các cơ chế mà Apple bảo vệ người dùng là kiểm soát cách phần mềm của các hãng thứ ba tương tác với iOS như nào. Một ứng dụng chỉ có thể hoạt động ở chế độ “background” trong một khoảng thời gian nhất định trước khi ứng dụng đó bị tạm ngưng bởi hệ điều hành. Khoảng thời gian được thiết lập là ba phút. Việc đặt giới hạn này không chỉ giúp đảm bảo việc phản hồi có thể dự đoán trước trong tương tác người dùng, mà còn ngăn chặn bất kỳ ứng dụng nào nghe lén ở chế độ “background”. Ví dụ, một ứng dụng nghe nhạc có yêu cầu quyền truy cập vị trí qua GPS và micrô thu âm trong lúc đang làm việc ở cửa sổ ứng dụng, nhưng một vài người dùng sẽ muốn ứng dụng vẫn chạy khi cửa sổ ứng dụng đã đóng để liên tục giám sát vị trí GPS và ghi âm. Việc kiểm soát bởi hệ điều hành iOS được cho là để ngăn chặn sự lạm dụng những quyền như vậy.

Thanh chuyển tác vụ iOS là một giao diện người dùng cho thấy danh sách các ứng dụng đang mở gần đây. Khi người dùng đóng một ứng dụng bằng việc ấn nút “Home”, ứng dụng sẽ chuyển sang chạy ẩn, và bị áp dụng một vài giới hạn khắt khe của iOS. Thêm vào đó, người dùng có thể lựa chọn tắt hoàn toàn một ứng dụng bằng cách xóa nó khỏi thanh chuyển tác vụ.

Lỗ hổng Ins0mnia cho phép một ứng dụng vượt qua những giới hạn đó. Một ứng dụng độc hại có thể tận dụng lỗ hổng Ins0mnia để chạy ẩn và lấy cắp các thông tin nhạy cảm của người dùng, với khoảng thời gian không giới hạn và người dùng hoàn toàn không hề biết. Những thông tin nhạy cảm này sau đó có thể liên tục bị gửi ra một máy chủ bên ngoài. Lỗi này cũng có thể bị tận dụng gây suy giảm trầm trọng hiệu suất thiết bị và tính khả dụng hệ thống, thậm chí còn gây tiêu hao pin.

Ins0mnia: Lỗ hổng thực thi vô thời hạn trên các thiết bị iOS ảnh 1
Một ứng dụng độc hại có thể tận dụng lỗ hổng Ins0mnia để chạy ẩn và lấy cắp các thông tin nhạy cảm của người dùng.

Thủ thuật tấn công sẽ đánh lừa thiết bị tin rằng các ứng dụng đang được sửa lỗi. Điều này ngăn chặn hệ thống tạm ngưng ứng dụng và cho phép thời gian chạy ẩn không bị hết hạn.

Để đánh lừa iOS, một ứng dụng độc hại có thể tận dụng câu lệnh “ptrace” để xử lý yêu cầu PT_TRACE_ME, thiết lập cờ P_LTRACED và trả về giá trị 0. Bằng việc thiết lập cờ P_LTRACED, ứng dụng ngăn chặn quá trình xác nhận để tạm ngưng ứng dụng độc hại. Lưu ý ở đây PT_TRACE_ME là một yêu cầu được tạo ra bởi quá trình lần tìm dấu vết để xác minh nguồn gốc ứng dụng.

Nếu có một ứng dụng đã khai thác lỗ hổng này và người dùng xóa ứng dụng đó khỏi thanh chuyển tác vụ, ứng dụng vẫn tiếp tục chạy ẩn, trong khi người sử dụng vẫn tin rằng ứng dụng đó đã được tắt hoàn toàn.

Ứng dụng không cần phải có quyền cho phép hoạt động được thiết lập, cũng không cần bất cứ một quyền cấp phép đặc biệt nào khác hay là chế độ được phép chạy ẩn. Không giống như các mã độc iOS khác chỉ chạy trên những thiết bị đã bẻ khóa jailbroken, hoặc phải có cấp chứng thực của Apple, một phần mềm mã độc Ins0mnia giả định không yêu cầu bất cứ thứ gì cần được cấp phép bởi Apple.

"Chúng tôi tin rằng một ứng dụng như vậy có khả năng cao đi vào kho ứng dụng Apple Store, đây là một thủ thuật né tránh hiếm thấy của những kẻ tấn công mạng phát tán phần mềm độc hại vượt qua được bức tường bảo mật của Apple (các ứng dụng thường phải trải qua một quy trình phê duyệt trước khi được hoạt động trên thiết bị iOS)", các chuyên gia FireEye cho biết...

(PV)