Có rất nhiều phương pháp để tin tặc có thể tấn công vào các thiết bị điện tử, chip, lõi mạch tích hợp (integrated circuit - IC) nhằm phá khóa bảo mật và đánh cắp thông tin bên trong. Một trong những phương pháp thường được tin tặc sử dụng là tấn công tiêm lỗi (Fault Injection Attack - FIA) [1].
FIA là một phương pháp tấn công cố ý gây ra một lỗi trong thiết bị để điều chỉnh việc thực thi của hệ thống nhằm tạo ra các lỗ hổng bảo mật của thiết bị. FIA đã được biết đến từ những năm cuối của thế kỷ XX, được mô tả khi các lỗi ngẫu nhiên gây ra bởi các hạt phóng xạ được tạo ra bởi các phần tử có mặt tự nhiên trong các vật liệu thiết kế vi mạch [2]. Các hạt này gây ra hiện tượng lật bit ở một số khu vực bên trong chip và gây ra các lỗi không mong muốn.
Tấn công FIA đang trở thành chủ đề được quan tâm khi số lượng tin tặc ngày càng gia tăng, cũng như phương thức hoạt động của chúng tập trung và được quản lý tốt hơn. Các nhà thiết kế hệ thống trên chip nhận thức sâu sắc rằng, cần có những giải pháp được thiết kế ngay từ đầu để chống lại các cuộc tấn công chip đang ngày càng phát triển hiện nay.
Ngày nay, tin tặc phải đối mặt với lớp phòng thủ bảo mật đầu tiên là các thuật toán mật mã rất mạnh mẽ, điển hình như thuật toán AES và thuật toán RSA [3]. Một trong những phương pháp để phá vỡ các thuật toán này là tấn công vét cạn (brute force), tức là cố gắng thử toàn bộ tổ hợp khóa để mở khóa. Phương pháp này đòi hỏi nhiều công sức và thời gian của kẻ tấn công.
Thay vì phải tốn thời gian và công sức như vậy, kẻ tấn công sử dụng phương pháp tấn công kênh kề để bẻ khóa, ví dụ tấn công FIA hoặc tấn công phân tích năng lượng đơn giản (Simple Power Analysis - SPA). Phương pháp này tuy không dễ dàng nhưng có thể thành công trong thời gian ngắn hơn so với các cuộc tấn công tổng lực như đã đề cập.
Tấn công FIA khiến các thiết bị điện tử thực hiện công việc gì đó khác với những gì mà nó dự định làm. Mục đích của kẻ tấn công là tạo ra lỗi tạm thời trong quá trình thực thi một số hoạt động chip cụ thể, do đó dẫn đến việc giảm hoặc vô hiệu hóa các tính năng bảo mật và biện pháp ứng phó.
Tấn công phân tích năng lượng đơn giản là phương pháp tấn công lợi dụng sự tiêu thụ năng lượng không chủ ý sẽ cung cấp thông tin về hoạt động bên trong của chip. Đây là phương pháp tấn công không xâm lấn và cho phép các kẻ tấn công trích xuất các khóa bí mật được sử dụng trong quá trình hoạt động bình thường của thiết bị [4],[5].
Khi các khóa được trích xuất, kẻ tấn công có thể dễ dàng truy cập trái phép vào thiết bị, giải mã, giả mạo tin nhắn, đánh cắp danh tính, sao chép thiết bị, tạo chữ ký trái phép và thực hiện giao dịch trái phép. Kẻ tấn công có thể thử tấn công FIA trước, sau đó là tấn công SPA hoặc kết hợp cả hai kỹ thuật trên để làm cho cuộc tấn công trở nên dễ dàng hơn.
Hình 1. Sơ đồ mạch điện tạo ra sự cố trong đường dây cung cấp năng lượng
Hình 1 mô tả sơ đồ mạch điện tạo ra sự cố nguồn (Glitch power) trên đường truyền cung cấp năng lượng của thiết bị. Sự cố tín hiệu (Glitch signal) sẽ gây ra lỗi có chủ đích vào nguồn cung cấp cho mạch. Lỗi này chỉ đủ vừa để không làm hư hại đến các thiết bị trong mạch. Từ đây, những kẻ tấn công thu thập thông tin bên trong và phân tích.
Để bắt đầu tấn công, kẻ tấn công cố gắng lựa chọn những con chip có firmware phù hợp. Hầu hết các hệ thống khởi động firmware đều từ tín hiệu bên ngoài. Kẻ tấn công có thể dễ dàng thay đổi nội dung của tín hiệu đó. Đây chưa phải là tấn công FIA mà chỉ là hành động tiền đề để thực hiện tấn công FIA. Ngay tại thời điểm đó, chức năng khởi động an toàn xác nhận và chấp nhận firmware từ tín hiệu ngoài. Nó kiểm tra tất cả các byte, thực hiện tính toán và kết thúc bằng câu lệnh chấp nhận “yes”.
Tại đây, kẻ tấn công bắt đầu công việc của mình. Câu lệnh “yes” trong các mạch kỹ thuật số có thể là các xung lên hoặc xung xuống, ví dụ tín hiệu bên trong đi từ 0 đến 1 hoặc 1 xuống 0 trong một chu kỳ xung nhịp, báo hiệu cho CPU rằng hệ thống đã sẵn sàng để khởi động. Nếu phần mềm khởi động kiểm tra không thành công, tín hiệu sẽ không thực hiện và CPU sẽ hiểu rằng hệ thống không thể khởi động. Kẻ tấn công sẽ làm trục trặc hệ thống bằng cách tăng xung điện áp hoặc tạo ra sự cố giả như trong Hình 2.
Hình 2. Kẻ tấn công làm tăng điện áp hoặc tạo ra sự cố giả
Để thực hiện được việc này, kẻ tấn công cần phải biết chính xác tại thời điểm nào CPU sẵn sàng thực hiện câu lệnh đó. Hành động làm rối xung điện áp này phải đủ ngắn và đủ thấp để không làm hỏng chip. Xung này có thể dẫn đến một số tín hiệu bên trong tăng lên và chờ đợi tín hiệu hợp lệ khởi động an toàn. Nếu điều này không thành công, tin tặc sẽ thử lại, thay đổi kích thước và thời gian liên quan cho đến khi chúng thực hiện được.
Sau khi thành công, tin tặc có thể yêu cầu CPU chấp nhận bất kỳ chương trình cơ sở nào, bao gồm cả mã không được phép chạy. Mã độc này có thể có các chương trình lặp bổ sung, tức là không cần phải thực hiện tấn công nhiều lần mà chỉ một lần thành công là có thể lấy được các khóa mật mã hoặc dữ liệu bí mật. Sau khi lấy cắp thông tin, chúng sẽ để lại các ám hiệu để người dùng biết được dữ liệu có giá trị đã bị đánh cắp.
Hầu hết các bộ vi xử lý hay các thiết bị điện tử đều sử dụng xung clock (glitch clock) [6]. Vì vậy phương pháp lợi dụng sự cố xung clock được tin tặc sử dụng rất phổ biến hiện nay. Để thực hiện sự cố này, tần số của xung clock thường được tăng lên trong một hoặc nhiều chu kỳ, nói cách khác một hoặc nhiều xung clock ngắn được kích thích để tăng tốc tạm thời cho clock của chip như Hình 3. Hành động này có tác dụng gây ra một lỗi khi một lệnh đang được thực thi. Ví dụ, CPU đọc một ô nhớ chính xác tại thời điểm xảy ra sự cố. Kết quả được đọc trước khi dữ liệu ổn định trên bus bộ nhớ nhưng dữ liệu khác vẫn chưa kịp thực hiện được, dẫn đến giá trị không chính xác được đọc. Một ví dụ khác, CPU lấy một lệnh từ bộ nhớ, ngay lúc này thực hiện tấn công sự cố xung clock và lệnh đó không được thực hiện vì xung clock nhanh đã kích hoạt CPU tìm nạp câu lệnh tiếp theo.
Hình 3. Một hoặc nhiều xung ngắn được thêm vào để tạm thời tăng tốc xung clock bên ngoài chip
Các nhà thiết kế và phát triển chip đã phát triển hai phương pháp phát hiện tấn công FIA: phương pháp trình biên dịch và phương pháp kiểm tra mô hình. Phương pháp trình biên dịch là phương pháp phát hiện dựa trên phần mềm, còn phương pháp kiểm tra mô hình phát hiện dựa trên phần cứng.
Các cuộc tấn công FIA có thể được phát hiện bằng cách lưu trữ dữ liệu dư thừa và xử lý tín hiệu dự phòng. Từ quan điểm trên, phương pháp trình biên dịch được chia ra gồm: tổng kiểm tra tính toàn vẹn dữ liệu, sao chép đơn giản, dự phòng bổ sung, mặt nạ dự phòng và trích dẫn tính toán [7]:
- Phương pháp tổng kiểm tra tính toàn vẹn dữ liệu được thiết lập bởi một hàm phi tuyến tính và được sử dụng rộng rãi trong kỹ thuật truyền thông để phát hiện ra các lỗi đường truyền.
- Phương pháp sao chép đơn giản là sao chép một biến để tạo ra các biến có cùng kích thước, kiểu chữ. Tất cả các hoạt động của đường dẫn dữ liệu thông thường được sao chép và thực hiện trong nhiều đường dẫn dữ liệu. Thứ tự các đường dẫn khác nhau không phụ thuộc vào nhau và các đường dẫn dữ liệu khác nhau có thể được trộn lẫn ngẫu nhiên, khiến tin tặc không nhắm được đúng mục tiêu cần tấn công.
- Phương pháp dự phòng bổ sung sử dụng kiểu dữ liệu nghịch đảo so với dữ liệu gốc. Thay vì lấy cùng một giá trị để dự phòng, giá trị đảo ngược nhị phân có thể được sử dụng để thay thế.
- Phương pháp mặt nạ dự phòng thường được biết đến như là một biện pháp hiệu quả để chống lại các cuộc tấn công kênh kề hay tấn công FIA. Sự phụ thuộc giữa mức tiêu thụ năng lượng và các biến đã xử lý được loại bỏ bằng cách áp dụng mặt nạ ngẫu nhiên cho giá trị v:
vm = v.m (1)
với v – giá trị năng lượng của các linh kiện điện tử, vm – giá trị năng lượng ngẫu nhiên của linh kiện điện tử, m – hằng số ngẫu nhiên.
- Phương pháp trích dẫn tính toán là một phương pháp phát hiện lỗi xảy ra trong một hoặc tập hợp hoạt động. Kết quả của một thuật toán được xác minh bằng cách sử dụng các đặc tính của các hoạt động đang được thực hiện. Mặc dù phương pháp này có thể sẽ yêu cầu bộ nhớ tạm thời để thực hiện, như tất cả bộ nhớ đó sẽ được giải phóng ngay sau khi hoàn thành trích dẫn.
Phương pháp kiểm tra mô hình được sử dụng để kiểm tra mô hình sử dụng so với mô hình mẫu của nhà nhiết kế đưa ra, nhằm đảm bảo trong mạch hay chip không được gắn thêm phục vụ cho mục đích khác. Phương pháp này đòi hỏi thời gian và chi phí nên thường rất ít được sử dụng.
Ngoài hai phương pháp trình biên dịch và kiểm tra mô hình, hiện nay còn có một phương pháp khác là kết hợp của hai phương pháp này, hay được gọi là FedS [8]. FedS là khung tự động đầu tiên có thể xác định khả năng khai thác lỗi trong triển khai phần mềm, xem xét các thuộc tính mật mã phức tạp và các mô hình lỗi.
Các nhà thiết kế chip và thiết bị điện tử đã cố gắng thiết lập các giải pháp để bảo vệ các lỗ hổng của chip và FIA, trong đó bao gồm một số biện pháp điển hình như: dự phòng các tín hiệu logic điều khiển quan trọng, canary logic, mã Hamming, logic bus tách biệt. Những biện pháp này nằm trong Rambus Root-of-Trust core – phần mềm được phát triển dựa trên kỹ thuật nhúng, nhằm đảm bảo không có bất kỳ con đường tấn công nào để tin tặc có thể lợi dụng [9 - 11].
Logic điều khiển là một môi trường dễ bị tấn công FIA. Việc trục trặc tín hiệu điều khiển ngay lập tức dẫn đến sự cố xảy ra trong mạch điện, nghĩa là kiểm tra bảo mật bị vô hiệu hóa. Khi đó Rambus Root-of-Trust core sẽ duy trì dự phòng cho các tín hiệu điều khiển quan trọng. Điều này có nghĩa là tất cả các tín hiệu điều khiển được thực hiện nhiều lần, nhưng chúng được thực hiện khác nhau. Nếu một tin tặc tấn công FIA vào một tín hiệu điều khiển nào đó, ngay lập tức tín hiệu đó sẽ không được thực hiện và Rambus Root-of-Trust core sẽ đưa ra lệnh dự phòng. Lệnh này sẽ được thực thi vì rất khó để tin tặc có thể tấn công nhiều lần cùng một thời điểm.
Một biện pháp khác nữa là mã Hamming tín hiệu điều khiển. Cách thức hoạt động của biện pháp này là sử dụng các máy chủ được điều khiển trong CryptoManager Root of Trust (CMRT), là một thiết kế đồng xử lý bảo mật phần cứng độc lập để tích hợp vào các thiết bị bán dẫn, chạy một chuỗi lệnh được xác định trước để thực hiện hành động điều khiển. Điều này rất quan trọng để đảm bảo rằng các máy chủ hoạt động đúng thứ tự và đúng thời điểm. Tấn công FIA có thể ảnh hưởng đến các máy chủ, vì vậy cần đảm bảo rằng các mã Hamming luôn lớn hơn 1. Đây là một biện pháp đối phó hiệu quả rất cao nhằm phát hiện và đưa ra cảnh báo trạng thái bị tấn công trong các thiết bị điện tử hoặc chip.
Biện pháp cung cấp một cơ chế để xác định xem tin tặc có đang tấn công vào tín hiệu xung clock hay không. Đây là phương pháp thay thế thời gian để biết được một sự kiện cần phải xảy ra trong bao lâu. Khi clock hoạt động chính xác thì chip hay thiết bị điện tử hoạt động theo đúng thông số kỹ thuật chính xác. Để thực hiện được phương pháp này thì cần có thêm một kiểm tra bảo mật ở cuối nữa là “yes” hoặc “no”. Nếu tin tặc tấn công tín hiệu xung clock thông qua FIA, canary logic sẽ ngưng thực hiện câu lệnh đó. Điều này khiến màn hình an ninh hiển thị sự cố và ngay lập tức tài liệu quan trọng sẽ bị xóa để không bị đánh cắp thông tin.
Biện pháp logic bus tách biệt là một biện pháp ứng phó quan trọng khác. Khóa mật mã là dữ liệu kỹ thuật số. Trong hầu hết các trường hợp, nó được truyền qua các bus thông thường, phần lớn trên các chip. Tuy nhiên để bảo mật chặt chẽ hơn thì cần truyền trên các bus riêng. Nếu một hệ thống đang bị tấn công và mã độc đang chạy trên chip, nó không thể truy cập các khóa đó vì chúng ở trên một bus khác.
Ngày nay, cùng với sự phát triển của khoa học công nghệ trong lĩnh vực an toàn thông tin, ngày càng có nhiều phương pháp mà kẻ tấn công có thể sử dụng để bẻ khóa, đánh cắp dữ liệu. Tấn công FIA là vấn đề cấp bách cần phải được nghiên cứu nhiều và chuyên sâu hơn. Từ đó có thể chủ động phát hiện và ngăn chặn tấn công FIA nói riêng và tấn công mạng nói chung, đảm bảo an toàn thông tin cho các hệ thống.
Tài liệu tham khảo 1. A. Vosoughi and S. Köse. Leveraging on-chip voltage regulators against fault injection attacks. In Proceedings of the 2019 on Great Lakes Symposium on VLSI, pages 15–20, May 2019. 2. Timothy C. May and Murray H. Woods. A New Physical Mechanism for Soft Errorsin Dynamic Memories. In16th International Reliability Physics Symposium, pages 33–40, April 1978. 3. C. Aumüller and et al. Fault attacks on RSA with CRT: Concrete results and practical countermeasures. In International Workshop on Cryptographic Hardware and Embedded Systems, pages 260–275. Springer, August 2002. 4. Loïc Zussa, Jean-Max Dutertre, Jessy Clédière, Assia Tria. Power supply glitch induced faults on FPGA: an in-depth analysis of the injection mechanism. On-Line Testing Symposium (IOLTS), 2013 IEEE 19th International, Jul 2013, Chania, Greece. 5. A. Barenghi, G. M. Bertoni, L. Breveglieri, M. Pellicioli, and G. Pelosi, “Low Voltage Fault Attacks to AES,” in Proc. International Symposium on Hardware-Oriented Security and Trust, pp. 7–12, 2010. 6. Yifei Qiao, Zhaojun Lu, Hailong Liu, and Zhenglin Liu, “Clock Glitch Fault Injection Attacks on an FPGA AES Implementation”, in Journal of Electrotechnology, Electrical Engineering and Management (2017) Vol. 1, Number 1 Clausius Scientific Press, Canada. 7. Hillebold Christoph, Compiler-Assisted IntegrityagainstFault Injection Attacks, Institute for Applied Information Processing and Communications Graz University of Technology In eldgasse 16a8010 Graz, Austria. 8. K, K., Roy, I., Rebeiro, C., Hazra, A., & Bhunia, S. (2020). FEDS: Comprehensive Fault Attack Exploitability Detection for Software Implementations of Block Ciphers. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2020(2), pp. 272-299. 9. F. Armknecht and W. Meier, “Fault attacks on combiners with memory,” in Proc. Selected Areas in Cryptography, vol. 3897, pp. 36–50, 2006. 10. W. G. Halfond and A. Orso. Combining Static Analysis and Runtime Monitoring to Counter SQL-Injection Attacks. In Proceedings of the Third International ICSE Workshop on Dynamic Analysis (WODA 2005), pages 22–28, St. Louis, MO, USA, May 2005. 11. Barenghi, L. Breveglieri, I. Koren, and D. Naccache. Fault Injection Attacks on Cryptographic Devices: Theory, Practice, and Countermeasures.Proceedings of theIEEE, 100(11):3056–3076, Nov 2012. |
TS. Phạm Văn Tới, ThS. Bạch Hồng Quyết
15:00 | 23/11/2020
09:00 | 05/06/2023
14:00 | 23/05/2024
14:00 | 14/01/2021
14:00 | 03/10/2009
22:00 | 26/01/2025
Các sản phẩm được thiết kế an toàn là những sản phẩm được các nhà sản xuất phần mềm tạo ra, phân phối và bảo trì, trong đó bảo mật là yếu tố cốt lõi cần quan tâm ngay từ những giai đoạn đầu tiên của vòng đời phát triển sản phẩm. Điều này giúp đảm bảo rằng các sản phẩm mà tổ chức mua sắm và sử dụng được thiết kế an toàn, có khả năng chống lại mã độc tống tiền và các cuộc tấn công mạng khác. Hiện nay, các nhà sản xuất phần mềm đang cố gắng cung cấp các tính năng bảo mật theo yêu cầu của khách hàng, vì vậy điều quan trọng là bản thân khách hàng phải hiểu và đưa ra được những yêu cầu rõ ràng về bảo mật như một phần của quy trình mua sắm.
14:00 | 06/12/2024
Một tập hợp gồm 15 ứng dụng phần mềm độc hại SpyLoan Android mới với hơn 8 triệu lượt cài đặt đã được phát hiện trên Google Play, chủ yếu nhắm vào người dùng từ Nam Mỹ, Đông Nam Á và châu Phi.
16:00 | 04/08/2024
Với sự phát triển mạnh mẽ của công nghệ số, số lượng các phần mềm chương trình được công bố ngày càng lớn. Song hành với đó là việc tin tặc luôn tìm cách phân tích, dịch ngược các chương trình nhằm lấy cắp ý tưởng, bẻ khóa phần mềm thương mại gây tổn hại tới các tổ chức, cá nhân phát triển phần mềm. Đặc biệt, trong ngành Cơ yếu có những chương trình có tích hợp các thuật toán mật mã ở mức mật và tối mật thì việc chống phân tích, dịch ngược có vai trò hết sức quan trọng. Do đó, việc phát triển một giải pháp bảo vệ các chương trình phần mềm chống lại nguy cơ phân tích, dịch ngược là rất cấp thiết.
09:00 | 25/07/2024
Thế vận hội Olympics – một sự kiện thể thao lớn nhất trong năm 2024 sẽ được bắt đầu vào ngày 27/7 tại Paris, Pháp. Đây sẽ là thời điểm tội phạm mạng tìm kiếm cơ hội tấn công nhắm vào các tổ chức, cá nhân với động cơ trực tiếp là tài chính thông qua các hình thức như lừa đảo, gian lận kỹ thuật số hoặc thu thập dữ liệu có giá trị từ người tham dự, người xem và nhà tài trợ.
Trong bối cảnh chuyển đổi số và ứng dụng rộng rãi của công nghệ thông tin (CNTT) thì xu hướng kết nối liên mạng để chia sẻ cơ sở dữ liệu (CSDL) trở nên tất yếu. Các hệ thống công nghệ vận hành (Operational Technology - OT) cũng không nằm ngoài xu hướng này, quá trình đó được gọi là Hội tụ IT/OT. Do vậy, nhu cầu truyền dữ liệu một chiều giữa các mạng độc lập ngày càng tăng để phục vụ cho mục đích khai thác dữ liệu. Bài viết này giới thiệu một giải pháp mới dựa trên công nghệ vi mạch tích hợp khả trình (Field-Programmable Gate Array - FPGA), sử dụng cơ chế xử lý đa luồng tốc độ cao, giúp duy trì băng thông hệ thống mà không gây ra tình trạng treo hoặc nghẽn mạng, cho phép các kết nối yêu cầu thời gian thực. Đồng thời, bài viết cũng sẽ trình bày giải pháp giả lập giao thức TCP/IP hỗ trợ cho các giao thức truyền thông trong các hệ thống mạng điều khiển IT/OT.
09:00 | 06/01/2025
Trong bối cảnh phát triển mạnh mẽ của Trí tuệ nhân tạo (AI), vấn đề khai thác lỗ hổng (Jailbreak) đã trở thành một thách thức đáng chú ý trong việc quản lý và kiểm soát mô hình ngôn ngữ lớn tạo sinh (Generative Pre-trained Transformer - GPT). Trong phạm vi bài viết này, nhóm tác giả sẽ giới thiệu tổng quan về mô hình ngôn ngữ lớn GPT hiện nay, một số phương thức khai thác lỗ hổng trong mô hình GPT và cung cấp một góc nhìn về khai thác lỗ hổng trong tương lai.
22:00 | 30/01/2025