Công nghệ Control-Flow Enforcement được cho là sẽ ra mắt cùng vi kiến trúc Tiger Lake.
Hack là một cuộc chơi qua lại, trong đó những kẻ tấn công tìm ra một kỹ thuật nào đó để xâm nhập hệ thống, người phòng thủ phải xây dựng nên một giải pháp chống trả để ngăn chặn kỹ thuật đó, và rồi hacker lại nghĩ ra một cách mới để vượt qua hàng rào bảo mật của hệ thống. Hôm qua, Intel vừa công bố kế hoạch tích hợp một "tấm khiên" trực tiếp vào các CPU của hãng – một rào chắn được thiết kế để ngăn chặn những lỗ hổng phần mềm có khả năng thực thi mã độc trên máy tính bị nhiễm.
Công nghệ Control-Flow Enforcement, hay CET, cho thấy một thay đổi mang tính nền tảng trong phương thức các vi xử lý thực thi chỉ lệnh từ các ứng dụng như trình duyệt web, trình quản lý email, hay trình đọc PDF. Do Intel và Microsoft hợp tác phát triển, CET được thiết kế để ngăn một kỹ thuật gọi là "return-oriented programming" (ROP – lập trình hướng trở lại) mà hacker sử dụng để qua mặt các giải pháp chống khai thác lỗ hổng do các nhà phát triển phần mềm giới thiệu khoảng 1 thập kỷ trước. Dù Intel lần đầu công bố sẽ triển khai CET vào năm 2016, nhưng đến hôm thứ hai này, công ty mới chính thức tuyên bố vi kiến trúc CPU Tiger Lake của hãng sẽ là vi kiến trúc đầu tiên được trang bị công nghệ này.
ROP là lời phản đáp của những kẻ chuyên lợi dụng lỗ hổng phần mềm đối với các giải pháp bảo vệ như "Executable Space Protection" và "ngẫu nhiên hóa bố cục không gian địa chỉ", vốn đã được đưa vào Windows, macOS và Linux chưa đầy 2 thập kỷ trước. Những giải pháp phòng thủ này được thiết kế để làm giảm thiểu đáng kể thiệt hại mà những lỗ hổng phần mềm có thể gây ra, thông qua thực hiện những thay đổi trong bộ nhớ hệ thống nhằm ngăn việc thực thi mã độc. Kể cả khi lợi dụng thành công lỗi tràn bộ đệm hay các lỗ hổng khác, hành vi khai thác cũng chỉ khiến hệ thống hoặc ứng dụng bị treo chứ không thể can thiệp một cách thô bạo vào hệ thống được.
ROP cho phép những kẻ tấn công chiếm lại được ưu thế. Thay vì sử dụng mã độc viết bởi kẻ tấn công, các cuộc tấn công ROP sẽ tái tận dụng các chức năng mà các ứng dụng thông thường, hay các tác vụ định kỳ của hệ điều hành, đặt vào một vùng bộ nhớ được biết đến với tên gọi "ngăn xếp" (stack). Từ "trở lại" (return) trong ROP ám chỉ việc sử dụng chỉ lệnh RET vốn đóng vai trò trung tâm trong tái sắp xếp trình tự dòng mã lệnh.
Minh họa CPU Tiger Lake của Intel
Rất hiệu quả
Alex Ionescu, một chuyên gia bảo mật Windows dày dạn kinh nghiệm, đồng thời là Phó giám đốc kỹ thuật tại công ty bảo mật CrowdStrike, thường nói rằng nếu một chương trình thông thường được ví như một tòa nhà tạo nên từ những khối Lego sắp xếp theo một trình tự cụ thể, thì ROP sử dụng chính những khối Lego đó nhưng theo một trình tự khác. Nhờ đó, ROP có thể biến một tòa nhà thành một con tàu vũ trụ. Kỹ thuật này có khả năng qua mặt các giải pháp anti-malware bởi nó sử dụng mã nằm trong bộ nhớ vốn đã được hệ thống cấp phép cho thực thi.
CET mang lại những thay đổi trong CPU, tạo ra một ngăn xếp mới gọi là "ngăn xếp kiểm soát" (control stack). Ngăn xếp này không thể bị chỉnh sửa bởi kẻ tấn công và không lưu trữ bất kỳ dữ liệu nào. Nó chứa các địa chỉ trở lại của các khối Lego vốn đã nằm trong ngăn xếp. Nhờ vậy, kể cả khi kẻ tấn công đã thay đổi được một địa chỉ trở lại trong ngăn xếp dữ liệu, ngăn xếp kiểm soát vẫn lưu giữ địa chỉ trở lại đúng như ban đầu. Vi xử lý có thể phát hiện ra điều này và ngăn quá trình thực thi diễn ra.
"Bởi không có giải pháp phần mềm nào hiệu quả trước ROP, CET sẽ rất hiệu quả trong việc phát hiện và ngăn chặn loại hình xâm nhập này" – Ionescu nói. "Trước đây, các hệ điều hành và các giải pháp bảo mật phải đoán hoặc suy luận xem ROP đã xảy ra hay chưa, hoặc tiến hành phân tích pháp y, hoặc phát hiện các dấu hiệu/hiệu ứng trong giai đoạn 2 của quá trình khai thác lỗ hổng".
CET không chỉ có khả năng phòng thủ trước ROP, nó còn mang lại một loạt các giải pháp bảo vệ khác, một vài trong số đó có thể ngăn ngừa các kỹ thuật khai thác như "lập trình hướng nhảy" (jump-oriented programming), "lập trình hướng gọi" (call-oriented programming)… Tuy nhiên, ngăn chặn ROP là một trong những điểm đáng chú ý nhất của CET.
Intel từng tích hợp các chức năng bảo mật khác vào CPU của hãng, nhưng kết quả thu được không cao. Ví dụ, Intel SGX (viết tắt của Software Guard eXtension), được thiết kế để tạo ra những mẩu bộ nhớ được bảo vệ không thể xuyên thủng phục vụ cho các chức năng yêu cầu bảo mật cao như phát sinh khóa mã hóa. Hay "Coverged Security and Management Engine", gọi ngắn gọn là "Management Engine" (ME), một hệ thống con bên trong các CPU và chipset của Intel, bao gồm một loạt các chức năng nhạy cảm như Trusted Platform Module tích hợp trong firmware dùng cho mã hóa chip, xác thực firmware UEFI BIOS, và Microsoft System Guard và BitLocker.
Tuy nhiên, những lỗi bảo mật liên tục được phát hiện ẩn sâu trong các tính năng của CPU đã khiến chúng trở thành miếng mồi ngon cho vô số các kỹ thuật tấn công trong nhiều năm qua. Lỗ hổng SGX gần đây nhất mới chỉ bị phát hiện vào tuần trước mà thôi!
Một số người cho rằng CET cũng sẽ dễ dàng bị đánh bại, hoặc tệ hơn là đặt người dùng trước nguy cơ bị ảnh hưởng bởi những cuộc tấn công không thể thực hiện được trước khi CET được đưa vào. Nhưng Joseph Fitzpatrick, một hacker phần cứng và là nhà nghiên cứu tại SecuringHardware.com cho biết anh lạc quan rằng CET sẽ làm tốt hơn thế. Theo anh, một điểm khác biệt lớn của CET so với SGX hay ME là hai giải pháp trước đây đều là những tính năng bảo mật thêm vào, trong khi CET là tính năng tồn tại sẵn trên CPU ngay từ đầu. ME về cơ bản thêm một lớp quản lý bên ngoài hệ điều hành. SGX thêm vào các chế độ hoạt động mà trên lý thuyết không thể bị thao túng bởi một mã đọc hay hệ điều hành đã bị kiểm soát. CET đơn thuần là thêm vào các cơ chế nhằm ngăn hoạt động bình thường – trả lại nguyên vẹn các địa chỉ bị đưa ra khỏi ngăn xếp và nhảy ra/vào các vị trí không phù hợp trong mã chương trình – được thực hiện thành công. Nếu CET thất bại trong việc đó, hoạt động bình thường vẫn diễn ra. Nó không cho phép kẻ tấn công truy xuất thêm được gì cả.
Một khi các CPU tích hợp CET được tung ra thị trường, "tấm khiên" này sẽ hoạt động nhưng chỉ trong trường hợp vi xử lý chạy một hệ điều hành có hỗ trợ CET. Windows 10 phiên bản 2004 ra mắt hồi tháng trước đã hỗ trợ tính năng này. Intel vẫn chưa tiết lộ thời điểm ra mắt của CPU Tiger Lake. Dù giải pháp bảo vệ mới có thể mang lại cho người dùng một công cụ mới quan trọng, Ionescu và nhà nghiên cứu đồng nghiệp Yarden Shafir đã tìm ra cách để qua mặt nó. Có lẽ sẽ chỉ mất chưa đến một thập kỷ để CET bị đánh bại như những giải pháp trước đây!
Hack là một cuộc chơi qua lại, trong đó những kẻ tấn công tìm ra một kỹ thuật nào đó để xâm nhập hệ thống, người phòng thủ phải xây dựng nên một giải pháp chống trả để ngăn chặn kỹ thuật đó, và rồi hacker lại nghĩ ra một cách mới để vượt qua hàng rào bảo mật của hệ thống. Hôm qua, Intel vừa công bố kế hoạch tích hợp một "tấm khiên" trực tiếp vào các CPU của hãng – một rào chắn được thiết kế để ngăn chặn những lỗ hổng phần mềm có khả năng thực thi mã độc trên máy tính bị nhiễm.
Công nghệ Control-Flow Enforcement, hay CET, cho thấy một thay đổi mang tính nền tảng trong phương thức các vi xử lý thực thi chỉ lệnh từ các ứng dụng như trình duyệt web, trình quản lý email, hay trình đọc PDF. Do Intel và Microsoft hợp tác phát triển, CET được thiết kế để ngăn một kỹ thuật gọi là "return-oriented programming" (ROP – lập trình hướng trở lại) mà hacker sử dụng để qua mặt các giải pháp chống khai thác lỗ hổng do các nhà phát triển phần mềm giới thiệu khoảng 1 thập kỷ trước. Dù Intel lần đầu công bố sẽ triển khai CET vào năm 2016, nhưng đến hôm thứ hai này, công ty mới chính thức tuyên bố vi kiến trúc CPU Tiger Lake của hãng sẽ là vi kiến trúc đầu tiên được trang bị công nghệ này.
ROP là lời phản đáp của những kẻ chuyên lợi dụng lỗ hổng phần mềm đối với các giải pháp bảo vệ như "Executable Space Protection" và "ngẫu nhiên hóa bố cục không gian địa chỉ", vốn đã được đưa vào Windows, macOS và Linux chưa đầy 2 thập kỷ trước. Những giải pháp phòng thủ này được thiết kế để làm giảm thiểu đáng kể thiệt hại mà những lỗ hổng phần mềm có thể gây ra, thông qua thực hiện những thay đổi trong bộ nhớ hệ thống nhằm ngăn việc thực thi mã độc. Kể cả khi lợi dụng thành công lỗi tràn bộ đệm hay các lỗ hổng khác, hành vi khai thác cũng chỉ khiến hệ thống hoặc ứng dụng bị treo chứ không thể can thiệp một cách thô bạo vào hệ thống được.
ROP cho phép những kẻ tấn công chiếm lại được ưu thế. Thay vì sử dụng mã độc viết bởi kẻ tấn công, các cuộc tấn công ROP sẽ tái tận dụng các chức năng mà các ứng dụng thông thường, hay các tác vụ định kỳ của hệ điều hành, đặt vào một vùng bộ nhớ được biết đến với tên gọi "ngăn xếp" (stack). Từ "trở lại" (return) trong ROP ám chỉ việc sử dụng chỉ lệnh RET vốn đóng vai trò trung tâm trong tái sắp xếp trình tự dòng mã lệnh.
Minh họa CPU Tiger Lake của Intel
Rất hiệu quả
Alex Ionescu, một chuyên gia bảo mật Windows dày dạn kinh nghiệm, đồng thời là Phó giám đốc kỹ thuật tại công ty bảo mật CrowdStrike, thường nói rằng nếu một chương trình thông thường được ví như một tòa nhà tạo nên từ những khối Lego sắp xếp theo một trình tự cụ thể, thì ROP sử dụng chính những khối Lego đó nhưng theo một trình tự khác. Nhờ đó, ROP có thể biến một tòa nhà thành một con tàu vũ trụ. Kỹ thuật này có khả năng qua mặt các giải pháp anti-malware bởi nó sử dụng mã nằm trong bộ nhớ vốn đã được hệ thống cấp phép cho thực thi.
CET mang lại những thay đổi trong CPU, tạo ra một ngăn xếp mới gọi là "ngăn xếp kiểm soát" (control stack). Ngăn xếp này không thể bị chỉnh sửa bởi kẻ tấn công và không lưu trữ bất kỳ dữ liệu nào. Nó chứa các địa chỉ trở lại của các khối Lego vốn đã nằm trong ngăn xếp. Nhờ vậy, kể cả khi kẻ tấn công đã thay đổi được một địa chỉ trở lại trong ngăn xếp dữ liệu, ngăn xếp kiểm soát vẫn lưu giữ địa chỉ trở lại đúng như ban đầu. Vi xử lý có thể phát hiện ra điều này và ngăn quá trình thực thi diễn ra.
"Bởi không có giải pháp phần mềm nào hiệu quả trước ROP, CET sẽ rất hiệu quả trong việc phát hiện và ngăn chặn loại hình xâm nhập này" – Ionescu nói. "Trước đây, các hệ điều hành và các giải pháp bảo mật phải đoán hoặc suy luận xem ROP đã xảy ra hay chưa, hoặc tiến hành phân tích pháp y, hoặc phát hiện các dấu hiệu/hiệu ứng trong giai đoạn 2 của quá trình khai thác lỗ hổng".
CET không chỉ có khả năng phòng thủ trước ROP, nó còn mang lại một loạt các giải pháp bảo vệ khác, một vài trong số đó có thể ngăn ngừa các kỹ thuật khai thác như "lập trình hướng nhảy" (jump-oriented programming), "lập trình hướng gọi" (call-oriented programming)… Tuy nhiên, ngăn chặn ROP là một trong những điểm đáng chú ý nhất của CET.
Intel từng tích hợp các chức năng bảo mật khác vào CPU của hãng, nhưng kết quả thu được không cao. Ví dụ, Intel SGX (viết tắt của Software Guard eXtension), được thiết kế để tạo ra những mẩu bộ nhớ được bảo vệ không thể xuyên thủng phục vụ cho các chức năng yêu cầu bảo mật cao như phát sinh khóa mã hóa. Hay "Coverged Security and Management Engine", gọi ngắn gọn là "Management Engine" (ME), một hệ thống con bên trong các CPU và chipset của Intel, bao gồm một loạt các chức năng nhạy cảm như Trusted Platform Module tích hợp trong firmware dùng cho mã hóa chip, xác thực firmware UEFI BIOS, và Microsoft System Guard và BitLocker.
Tuy nhiên, những lỗi bảo mật liên tục được phát hiện ẩn sâu trong các tính năng của CPU đã khiến chúng trở thành miếng mồi ngon cho vô số các kỹ thuật tấn công trong nhiều năm qua. Lỗ hổng SGX gần đây nhất mới chỉ bị phát hiện vào tuần trước mà thôi!
Một số người cho rằng CET cũng sẽ dễ dàng bị đánh bại, hoặc tệ hơn là đặt người dùng trước nguy cơ bị ảnh hưởng bởi những cuộc tấn công không thể thực hiện được trước khi CET được đưa vào. Nhưng Joseph Fitzpatrick, một hacker phần cứng và là nhà nghiên cứu tại SecuringHardware.com cho biết anh lạc quan rằng CET sẽ làm tốt hơn thế. Theo anh, một điểm khác biệt lớn của CET so với SGX hay ME là hai giải pháp trước đây đều là những tính năng bảo mật thêm vào, trong khi CET là tính năng tồn tại sẵn trên CPU ngay từ đầu. ME về cơ bản thêm một lớp quản lý bên ngoài hệ điều hành. SGX thêm vào các chế độ hoạt động mà trên lý thuyết không thể bị thao túng bởi một mã đọc hay hệ điều hành đã bị kiểm soát. CET đơn thuần là thêm vào các cơ chế nhằm ngăn hoạt động bình thường – trả lại nguyên vẹn các địa chỉ bị đưa ra khỏi ngăn xếp và nhảy ra/vào các vị trí không phù hợp trong mã chương trình – được thực hiện thành công. Nếu CET thất bại trong việc đó, hoạt động bình thường vẫn diễn ra. Nó không cho phép kẻ tấn công truy xuất thêm được gì cả.
Một khi các CPU tích hợp CET được tung ra thị trường, "tấm khiên" này sẽ hoạt động nhưng chỉ trong trường hợp vi xử lý chạy một hệ điều hành có hỗ trợ CET. Windows 10 phiên bản 2004 ra mắt hồi tháng trước đã hỗ trợ tính năng này. Intel vẫn chưa tiết lộ thời điểm ra mắt của CPU Tiger Lake. Dù giải pháp bảo vệ mới có thể mang lại cho người dùng một công cụ mới quan trọng, Ionescu và nhà nghiên cứu đồng nghiệp Yarden Shafir đã tìm ra cách để qua mặt nó. Có lẽ sẽ chỉ mất chưa đến một thập kỷ để CET bị đánh bại như những giải pháp trước đây!
Theo Genk