Logo Zephyrnet

Các cuộc tấn công mạng dựa trên bộ nhớ trở nên phức tạp hơn, khó phát hiện hơn

Ngày:

Ký ức đang trở thành điểm khởi đầu cho các cuộc tấn công mạng, gây lo ngại về bảo mật cấp hệ thống vì ký ức gần như phổ biến trong thiết bị điện tử và rất khó phát hiện vi phạm.

Không có hồi kết với việc tin tặc nhắm vào hầu hết mọi phân khúc người tiêu dùng, công nghiệp và thương mại, đồng thời ngày càng có nhiều thiết bị được kết nối với internet và với nhau. Theo một cuộc khảo sát được thực hiện bởi Splunk, 54% doanh nghiệp gặp phải sự cố ngừng hoạt động hệ thống/mạng ít nhất hàng tháng do các cuộc tấn công mạng. Nó đã được báo cáo rằng khoảng 70% lỗ hổng trong các sản phẩm của Microsoft có liên quan đến vấn đề an toàn bộ nhớ.

Tấn công bộ nhớ, lỗ hổng
Các cuộc tấn công xảy ra dưới mọi hình thức - vật lý, khoảng cách cục bộ và từ xa. Các cuộc tấn công vật lý xảy ra khi tin tặc chiếm hữu máy tính hoặc thiết bị, như trong trường hợp trộm cắp. Ngay cả khi không có thiết bị, tin tặc vẫn có thể truy cập thông qua các cuộc tấn công kênh phụ nếu chúng ở gần các thiết bị được nhắm mục tiêu. Nhưng loại tấn công mạng phổ biến nhất là từ xa. Trong một cuộc tấn công từ xa, phần mềm độc hại xâm nhập vào mạng hoặc hệ thống, bao gồm cả ký ức. Nói chung, tin tặc tìm kiếm lỗi thiết kế và lỗ hổng hệ thống/bộ nhớ.

Những kẻ xấu có thể cố gắng tấn công bộ nhớ trong hầu hết mọi hệ thống. Marc Greenberg cho biết: “Đó có thể là một điều gì đó tương đối lành tính, chẳng hạn như cài đặt một hệ điều hành mới trên thiết bị do kẻ tấn công sở hữu hoặc nó có thể gây ra hậu quả đáng kể trong trường hợp máy tính xử lý các chức năng tài chính, cơ sở hạ tầng, quân sự hoặc giao thông vận tải”. , Cadence's giám đốc nhóm tiếp thị sản phẩm cho DDR, HBM, flash/storage và MIPI IP. “Tất cả các loại bộ nhớ đều là mục tiêu tiềm năng cho những kẻ tấn công.”

Có hai phân loại rộng rãi của các cuộc tấn công bộ nhớ. Đầu tiên liên quan đến các cuộc tấn công vào thiết bị lưu trữ được sử dụng để khởi động hoặc tải hệ điều hành hoặc phần mềm cho máy. Greenberg nói rằng thường xuyên, nhưng không phải lúc nào cũng vậy, những thứ này yêu cầu quyền truy cập vật lý vào máy để thực hiện một cuộc tấn công hiệu quả vào bộ lưu trữ, mặc dù một máy đã bị xâm nhập có thể làm hỏng thêm bộ lưu trữ khiến máy vẫn bị xâm phạm vĩnh viễn cho đến khi nó bị xóa hoàn toàn và khởi động lại. Mã hóa có thể giúp bảo vệ các thiết bị lưu trữ này.

Thứ hai liên quan đến các thiết bị RAM lưu trữ dữ liệu tạm thời. Các thiết bị này có nhiều khả năng bị tấn công thông qua chính máy, bao gồm cả các cuộc tấn công qua kết nối internet. Các cuộc tấn công vật lý vào RAM cũng là một khả năng.

Hầu hết bảo mật của hệ thống đến từ bảo mật vật lý kết hợp với bảo vệ bộ nhớ tích hợp và bảo mật thời gian chạy được cung cấp qua hệ thống. Greenberg cho biết: “Nhưng khi các cách khai thác điểm yếu an ninh mạng mới được phát hiện theo thời gian, các loại bộ nhớ tiên tiến hơn có xu hướng chứa các tính năng giảm thiểu cho các phương pháp đó. “Ví dụ, DDR5 chứa các chức năng quản lý làm mới có thể giúp bảo vệ chống lại một số cuộc tấn công kiểu rowhammer.”

Tìm các cuộc tấn công bộ nhớ
Việc phát hiện các cuộc tấn công này rất khó khăn, chủ yếu là do thông tin được lưu trữ trong bộ nhớ là dữ liệu hoặc chương trình thông qua các mã thực thi. Các cơ chế bảo vệ an ninh chủ yếu tập trung vào mạng và kết nối, bao gồm khóa bảo mật, ủy quyền và xác thực. Không phải lúc nào họ cũng kiểm tra các hướng dẫn do BIOS hoặc hệ điều hành chạy. Các hướng dẫn thực thi này không có cấu trúc tệp điển hình. Do đó, hầu như không thể phát hiện ra các tập lệnh không có tệp này. Nếu các hướng dẫn này đã bị nhiễm phần mềm độc hại, các cuộc tấn công có thể được thực hiện sau khi các hướng dẫn được thực thi.

Tin tặc tinh vi sử dụng các phương pháp không dùng tệp dựa trên bộ nhớ để thực hiện các cuộc tấn công mà hệ thống phòng thủ dựa trên máy chủ thông thường không thể phát hiện được, chẳng hạn như Tường lửa ứng dụng web (WAF) hoặc Phát hiện và phản hồi điểm cuối (EDR). Các cuộc tấn công không dùng tệp này thậm chí có thể đến từ các nguồn hợp pháp dưới dạng tài liệu từ được nhúng với macro hoặc trang web chạy Flash. Trừ khi những nguồn này có khả năng phòng thủ mạng tốt, phần mềm bị nhiễm có thể được truyền đi mà người dùng không hề hay biết.

Có một số cách tin tặc tấn công thiết bị bộ nhớ.

Tấn công khởi động lạnh
Khi tin tặc sở hữu thiết bị, các cuộc tấn công khởi động nguội có thể được sử dụng để trích xuất thông tin từ thiết bị. Khi một thiết bị đang bị tắt cứng, chẳng hạn như giữ nút nguồn trong vài giây, tin tặc có thể thực hiện kết xuất bộ nhớ từ DRAM và RAM trong vòng vài giây đến một phút. Trong thời gian này, nội dung bộ nhớ vẫn khả dụng. Và trừ khi nội dung được mã hóa, tin tặc có thể sử dụng nó để truy cập vào các mạng hoặc máy chủ khác.

Dana Neustadter, giám đốc tiếp thị sản phẩm cao cấp cho IP bảo mật tại cho biết: “Nhiều chuyên gia rất chú ý đến an ninh mạng. Synopsys. “Nhưng đảm bảo hệ thống hoặc thiết bị được an toàn về mặt vật lý cũng quan trọng không kém. Sau khi tin tặc sở hữu thiết bị, chúng có thể thực hiện các cuộc tấn công khởi động nguội vào RAM và các bộ nhớ khác để đánh cắp thông tin bao gồm cả các khóa mật mã. Điều quan trọng là phải làm mới khóa thường xuyên và mã hóa nội dung bộ nhớ nhạy cảm để đảm bảo tính bảo mật của dữ liệu. Trong trường hợp này, mặc dù tin tặc có thể thực hiện kết xuất bộ nhớ, nhưng chúng không thể giải mã nội dung được mã hóa.”

Các cuộc tấn công kênh bên
Nếu không sở hữu vật lý các thiết bị, tin tặc vẫn có thể tấn công nếu các thiết bị mục tiêu ở gần nhau. Điều này thường được biết đến như là một tấn công kênh bên.

Tin tặc sử dụng một thiết bị cảm biến để phát hiện các mức năng lượng khác nhau mà thiết bị đang phát ra, được gọi là chữ ký năng lượng. Điều đó cho phép tin tặc giải mã và đánh cắp các khóa bảo mật, từ đó thực hiện các cuộc tấn công cấp hệ thống hoặc bộ nhớ.

Các cuộc tấn công bộ nhớ trực tiếp cũng có nhiều dạng khác nhau, bao gồm bộ tải khởi động, rowhammer và RAMBleed (một biến thể của rowhammer).

Các cuộc tấn công bộ tải khởi động
Khi máy tính hoặc thiết bị nhúng đang được cấp nguồn hoặc khởi động lại, hệ thống đầu vào đầu ra cơ bản (BIOS) — một phần sụn nằm trong ROM hoặc EPROM đi kèm với thiết bị — sẽ chạy. Sau đó, BIOS sẽ tìm một thiết bị có khả năng khởi động trong đó chứa mã bộ tải khởi động hoặc trình quản lý khởi động. Chức năng của bộ tải khởi động phụ thuộc hệ điều hành là tải hệ điều hành. Sau đó, hệ điều hành sẽ tiếp quản. Các hệ thống mới hơn, chẳng hạn như Windows 11, đi kèm với BIOS giao diện phần sụn có thể mở rộng hợp nhất (UEFI). Thông số kỹ thuật UEFI xác định cách phần sụn truy cập vào phần cứng. UEFI cuối cùng có thể thay thế BIOS.

Nếu BIOS (hoặc UEFI) bị nhiễm, toàn bộ hệ thống/mạng sẽ bị xâm phạm. Bộ tải khởi động là mục tiêu có giá trị cao đối với tin tặc.

Các lỗ hổng trong GRand Unified Bootloader (GRUB), một bộ tải khởi động hệ điều hành dựa trên Unix phổ biến, đã gây ra những hậu quả nghiêm trọng. Năm 2020, BleepingComputer đã báo cáo một lỗ hổng lớn được gọi là lỗi bộ tải khởi động BootHole GRUB làm gián đoạn quá trình khởi động hệ điều hành. Điều này ảnh hưởng đến tất cả các HĐH dựa trên Unix và một số HĐH Windows. Đáng báo động hơn, cơ chế xác minh khởi động an toàn không thể ngăn chặn cuộc tấn công. Loại phần mềm độc hại này có thể được kích hoạt trong quá trình khởi động và có khả năng ngủ đông trong một khoảng thời gian.

Rowhammer tấn công
Lỗ hổng này xảy ra ở cấp độ mạch DRAM (bao gồm cả DDR). Bằng cách đọc nhiều lần (đập búa) một hàng DRAM (bóng bán dẫn), một điện tích được tạo ra. Điện tích lật các bit của các hàng liền kề hoặc gần đó, cho phép tin tặc thay đổi hoặc làm hỏng dữ liệu bộ nhớ.

Các cuộc tấn công Rowhammer đang trở nên rõ rệt hơn khi mật độ trong chip bộ nhớ tăng lên. Phần mềm độc hại như vậy cũng có thể lấy thông tin từ một hàng liền kề để có được đặc quyền cao hơn.

Để đối phó với các cuộc tấn công, một bản sửa lỗi có tên là Làm mới hàng mục tiêu (TRR) đã được triển khai. Bằng cách phát hiện các hàng bộ nhớ được truy cập thường xuyên, tốc độ làm mới của các hàng liền kề sẽ được tăng lên trước khi rò rỉ dữ liệu (được theo dõi là CVE-2021-42114). Cho đến nay, điều này đã có hiệu quả trong việc ngăn chặn các cuộc tấn công bằng búa, mặc dù các cuộc tấn công gần đây hơn đã cố gắng vượt qua TRR.

Rowhammer thay đổi cuộc tấn công
Giống như biến thể Covid-19, biến thể rowhammer RAMBleed (CVE-2019-0174) đã phát triển và trở nên mạnh mẽ hơn. Ngoài việc sửa đổi thông tin bit DRAM, RAMBleed có thể đánh cắp thông tin đó. Các biến thể khác, bao gồm GLitch, RAMpage, Throwhammer, Nethammer và người viết kịch bản có thể gây ra nhiều thiệt hại hơn, chẳng hạn như kiểm soát điện thoại di động và mạng sử dụng DRAM làm cửa sau.

Stephan Rosner, phó chủ tịch kỹ thuật hệ thống tại Công nghệ Infineon, cho biết sẽ rất hữu ích khi nghĩ về bảo mật trong bối cảnh tài sản có những tài sản cần được bảo vệ. “Một tài sản như vậy là thông tin ở dạng dữ liệu hoặc mã, đã được lưu trữ bởi người dùng. Các nội dung khác là các khóa do nhà cung cấp lưu trữ, đại diện cho nguồn tin cậy gốc và chính thiết bị. Thiết bị này, có thể là một bộ phận ô tô đắt tiền có độ tin cậy cao, không nên bị mạo danh bởi một thiết bị rẻ hơn, chất lượng thấp hơn. Nội dung có thể bị đe dọa bởi nhiều mối đe dọa khác nhau, chẳng hạn như từ việc trở nên nổi tiếng (tính bảo mật), bị sửa đổi (tính toàn vẹn), v.v. Hệ thống an toàn giảm thiểu các mối đe dọa này. Ký ức an toàn là một phần của hệ thống an toàn. Chúng được dự định là một phản ứng đối với các mối đe dọa trong đó việc sử dụng các bộ nhớ không an toàn sẽ yêu cầu các biện pháp giảm thiểu khác có thể tốn kém hơn hoặc hoàn toàn không thể thực hiện được.”

Ví dụ, hãy xem xét một giao dịch hợp lệ trong đó một lần đọc có thể được phát lại sau đó. Đây có thể là trường hợp thông tin đã được cập nhật, nhưng một cuộc tấn công lặp lại trả về thông tin cũ nhưng hợp lệ. Bảo vệ lặp lại yêu cầu bộ nhớ phân biệt các lần lặp lại của cùng một giao dịch và xác định thứ tự của chúng. Điều này có thể được sử dụng để phát hiện các giao dịch được phát lại, nhưng nó yêu cầu một bộ nhớ an toàn như thiết bị RPMC.

Bảo vệ bộ nhớ là một thách thức
Các kỹ thuật tấn công mạng liên tục thay đổi. Do đó, điều quan trọng là phải liên tục nâng cấp các cơ chế phòng thủ. Cài đặt các bản vá lỗ hổng kịp thời là yêu cầu tối thiểu. Việc thường xuyên kiểm tra các lỗ hổng bộ nhớ cũng rất quan trọng.

Mặc dù gần như không thể đạt được bảo mật bộ nhớ 100% thời gian, nhưng làm theo lời khuyên từ các chuyên gia có thể giúp ích rất nhiều.

Marc Witteman, Giám đốc điều hành của Rủi ro, cho biết thiết kế bộ nhớ tốt cần bảo vệ tính bí mật và toàn vẹn của dữ liệu. “Bộ nhớ flash bị hao mòn và ngày nay bao gồm các cơ chế toàn vẹn, bao gồm ánh xạ ảo sang vật lý để hủy kích hoạt các ô bị lỗi. Ngoài ra, chèo thuyền là một rủi ro cần được bảo vệ trong DRAM. Chip bộ nhớ tinh vi sẽ bao gồm mã hóa để lưu trữ dữ liệu nội bộ và có khả năng truyền dữ liệu.”

Trong thiết kế phần cứng, cho dù nó đang hoạt động với ASIC, SoC hay bộ nhớ, thì điều quan trọng là phải đảm bảo rằng có sẵn quy trình xác thực và phát triển “an toàn theo thiết kế”. Mitch Mlinar, phó chủ tịch phụ trách kỹ thuật của chu kỳ. “Sau đó, bạn cần xác thực toàn diện tính bảo mật ở mọi bước của quy trình phát triển.”

Khả năng chống giả mạo bộ nhớ cần đi kèm với mật mã
Một vấn đề chưa được giải quyết của mật mã như một giải pháp cho bảo mật bộ nhớ là khái niệm chống giả mạo. Chỉ riêng mật mã có thể tạo cho kẻ thù một cánh cửa không thể phá vỡ, nhưng nó không mang lại sự bảo mật nào nếu việc truy cập vào các khóa dễ dàng như nhìn dưới tấm thảm chào mừng — hoặc nếu có một cửa sổ mở bên cạnh cửa trước không thể xuyên thủng.

Scott Best, giám đốc kỹ thuật sản phẩm chống hàng giả tại Rambus được giải thích nếu có các khóa mật mã được sử dụng để bảo đảm quyền riêng tư của dữ liệu, thì một kẻ thù có động cơ sẽ có một danh sách các kỹ thuật tấn công — kênh bên, xâm lấn, bán xâm lấn — có thể được sử dụng để tiết lộ khóa. “Hoặc, nếu không phải toàn bộ khóa, họ sẽ tiết lộ ít nhất đủ bit của khóa để không gian khóa còn lại có thể được khôi phục bằng vũ lực. Nếu kiểm tra xác thực được sử dụng để đảm bảo tính xác thực của dữ liệu, thì việc so sánh kết quả được tính toán với kết quả mong đợi thường được thực hiện — trong trường hợp đó, sự so sánh đó trở thành mục tiêu của sửa đổi độc hại.”

Việc dừng lại đòi hỏi phải có đầy đủ các biện pháp bảo mật.

Greenberg của Cadence lưu ý: “Cách tiếp cận tốt nhất là sử dụng nhiều lớp bảo mật để chống lại các cuộc tấn công đã biết, cũng như các cuộc tấn công chưa biết tiềm ẩn. “Lấy RAM làm ví dụ, chúng tôi có thể thực hiện một số cách tiếp cận, tùy thuộc vào mức độ bảo mật tổng thể mà hệ thống yêu cầu. Bảo mật vật lý nên được triển khai để bảo vệ chống lại sự thay thế của các thiết bị bộ nhớ vật lý hoặc bộ xen kẽ hoặc các phương pháp khác có thể được sử dụng để trích xuất hoặc đưa dữ liệu vào. Các hệ điều hành an toàn nên được áp dụng để đảm bảo rằng mã không đáng tin cậy không chạy theo cách đặc quyền. Việc sửa lỗi có thể được thực hiện để ngăn chặn một số lỗi nhất định gây ra tình trạng hư hỏng lan rộng trong hệ thống. Điều cần thiết là phải đảm bảo có biện pháp phòng vệ chống lại rowhammer và các cuộc tấn công tương tự thuộc loại mà mã không đáng tin cậy có thể leo thang các đặc quyền của nó mà không có sự cho phép rõ ràng của hệ điều hành. Ngoài ra, mã hóa bộ nhớ có thể được sử dụng sao cho ngay cả khi mã không đáng tin cậy có thể leo thang đặc quyền, nó vẫn không thể đọc dữ liệu được ghi bởi các quy trình hoặc máy ảo khác. Gắn thẻ bộ nhớ có thể được sử dụng để ngăn chặn các quy trình hoặc máy ảo khác nhau đọc mã hoặc dữ liệu của nhau.”

Rosner của Infineon cho biết các cách bổ sung để tăng cường bảo mật bộ nhớ bao gồm các thuật toán mã hóa, chẳng hạn như đối xứng, bất đối xứng, tạo và dẫn xuất khóa, chứng nhận, chữ ký. Điều đó có thể được kết hợp với bảo vệ chống giả mạo, chẳng hạn như cảm biến xâm nhập, bảo vệ trục trặc nguồn và bảo vệ kênh bên như hoạt động thời gian liên tục và làm xáo trộn chữ ký nguồn. Bên cạnh đó, có rất nhiều tài liệu về các cuộc tấn công phổ biến và có các chứng nhận, chẳng hạn như FIPS 140, Tiêu chí chung, SESIP, v.v., có thể ngăn chặn các cuộc tấn công đã biết.

Tuy nhiên, không có gì trong số này là hoàn hảo và các chuyên gia khuyên bạn nên sẵn sàng phục hồi và ứng phó.

“Mọi nhà phát triển đều cố gắng thiết kế các mạch an toàn nhất có thể,” Witteman của Riscure cho biết. “Nhưng họ vẫn có thể có lỗ hổng. Do đó, điều quan trọng là phải kiểm tra các mạch để phát hiện ra các vấn đề tiềm ẩn. Một số phương pháp thử nghiệm này bao gồm thăm dò vật lý, ngăn chặn sự cố xâm nhập và đánh giá rò rỉ thông qua mức tiêu thụ điện năng hoặc bức xạ điện từ. Trong trường hợp tiêm lỗi, các tác nhân đe dọa có thể sử dụng lỗ hổng này để làm rò rỉ dữ liệu, leo thang đặc quyền hoặc trích xuất khóa và hậu quả có thể nghiêm trọng. Để giảm thiểu điều này, điều quan trọng là phải xem xét tăng khả năng chống lỗi, phục hồi và ứng phó khi các cuộc tấn công xảy ra.”

Kết luận
Thiết kế bảo mật bộ nhớ là một hành động cân bằng. Bộ nhớ được bảo mật cao với thuật toán phức tạp và nhiều lớp bảo vệ yêu cầu các SoC hiệu suất cao, có thể tiêu thụ nhiều điện năng hơn và tốn kém hơn.

“Có một mối lo ngại về sự đánh đổi hiệu suất,” Rambus' Best lưu ý. “Mọi người đều muốn máy tính xách tay hoặc điện thoại thông minh của mình có chức năng miễn nhiễm với phần mềm độc hại, nhưng mọi người cũng muốn thiết bị khởi động trong vòng vài giây sau khi nhấn nút nguồn. Các thuật toán đảm bảo quyền riêng tư của dữ liệu có thể được tăng tốc phần cứng, sao cho độ trễ mã hóa chỉ ảnh hưởng đến phần cứng nhạy cảm với hiệu suất nhất trong CPU. Nhưng các thuật toán đảm bảo tính xác thực của dữ liệu thường là lý do khiến bạn phải đợi nửa phút để máy tính xách tay tải hệ điều hành của nó.

Ngoài ra, khi áp dụng mã hóa cho nội dung bộ nhớ, Neustadter của Synopsys khuyên nên sử dụng thuật toán mã hóa tiêu chuẩn như NIST AES-XTS, với kích thước khóa lớn nhất bất cứ khi nào có thể, để đạt được mức bảo mật cao nhất. “Ngoài ra, hiệu suất phải phù hợp với băng thông bộ nhớ với tác động tối thiểu đến độ trễ và diện tích. Hầu hết các giải pháp mã hóa bộ nhớ tối ưu, như trong trường hợp bộ điều khiển DDR/LPDDR an toàn, đạt được khi công cụ mã hóa nội tuyến và được tích hợp với bộ điều khiển.”

So với việc bảo vệ máy tính biên và mạng, bảo mật bộ nhớ khó khăn và nhiều sắc thái hơn. Trong một số trường hợp, các cuộc tấn công mạng khó phát hiện hơn. Vì những lý do này, ký ức là mục tiêu hàng đầu của tin tặc và các cuộc tấn công diễn ra dưới mọi hình thức, bao gồm các cuộc tấn công khởi động nguội, kênh bên, bộ tải khởi động, búa đập và các biến thể. Các cuộc tấn công này sẽ trở nên nhiều hơn và tinh vi hơn, vì vậy việc làm theo lời khuyên từ các chuyên gia và sử dụng các phương pháp hay nhất đã biết là rất cần thiết.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img