Trong các cuộc tấn công dạng này, kẻ xấu lợi dụng các lỗ hổng làm thay đổi bộ nhớ (tràn bộ đệm, sai kiểu hay tràn số) để thay đổi các con trỏ trong bộ nhớ và thay đổi luồng thực thi của ứng dụng để thực hiện các hoạt động phá hoại. Do Android có rất nhiều biện pháp ngăn chặn việc chèn mã vào nhân hệ điều hành nhưng lại sử dụng rất nhiều con trỏ hàm nên việc sửa đổi con trỏ để dùng lại mã lệnh khá phổ biến khi tin tặc muốn chiếm quyền điều khiển.
Để ngăn chặn kiểu tấn công đó, Google vừa bổ sung tính năng Control Flow Integrity (CFI) vào hệ thống LLVM cho lõi của hệ điều hành Android, qua đó có thể phát hiện những dấu hiệu bất thường khi kẻ xấu can thiệp, thay đổi luồng thực thi của một chương trình.
CFI là một chính sách an ninh nhằm đảm bảo quá trình thực thi phần mềm tuân thủ quá trình đã được định trước bởi trình biên dịch. Sami Tolvanen, kỹ sư phần mềm thuộc nhóm Android Security cho biết: "CFI cố gắng ngăn chặn các cuộc tấn công bằng cách thêm những biện pháp kiểm tra để đảm bảo luồng thực thi của nhân hệ điều hành sẽ theo đúng đồ thị đã được tính trước. Điều này không ngăn được kẻ xấu thay thế một con trỏ hàm nếu có lỗi cho phép ghi, tuy nhiên nó hạn chế đáng kể và chỉ cho phép gọi tới một số hàm hợp lệ - nhờ đó khiến cho việc lợi dụng các lỗi phần mềm trở nên khó khăn hơn nhiều”.
Các biện pháp kiểm tra mà CFI thêm vào sẽ đảm bảo là những ứng dụng hay chương trình có hoạt động khác thường sẽ được tự động chấm dứt.
Tính năng Control-Flow Integrity được bổ sung vào nhân Android phiên bản 4.9 và 4.14
Theo Google, Google Pixel 3 sẽ là thiết bị Android đầu tiên được tích hợp tính năng bảo vệ mới này. Tuy nhiên, CFI đã được bổ sung vào các phiên bản lõi Android 4.9 và 4.14. Google khuyến cáo các nhà sản xuất thiết bị bật tính năng bảo mật mới này trong lõi của hệ điều hành dùng cho các thiết bị arm64 mới chạy Android 9. Google cũng lên kế hoạch bảo vệ các địa chỉ hàm trả về tránh khỏi các tấn công của kẻ xấu bằng cách bổ sung tính năng Shadow Call Stack trong các phiên bản tiếp theo của trình biên dịch.