ارایه‌ یک حمله‌ زمانی جدید بر روی پردازنده‌ ARM و پیاده‌سازی عملی آن بر روی برد Raspberrypi3

نوع مقاله : مقاله پژوهشی

نویسندگان

1 دانشجوی کارشناسی ارشد، مخابرات امن و رمزنگاری، دانشگاه شهید بهشتی، تهران،

2 استادیار، گروه امنیت شبکه و رمز نگاری، پژوهشکده فضای مجازی دانشگاه شهید بهشتی

چکیده

دسته مهمی از حملات کانال جانبی از این حقیقت استفاده می­کنند که حافظه نهان منجر به تغییرات زمانی در اجرای الگوریتم­های رمزنگاری و در نتیجه نشت اطلاعات می­شود. علی­رغم آن­که حملات کانال جانبی مبتنی‌بر  وجود حافظه نهان به علت کارایی زیاد، از مهمترین و پرکاربردین حملات کانال جانبی محسوب می­شوند، نسبت به سایر حملات کانال جانبی کمتر مورد مطالعه قرار گرفته­اند. بر همین اساس تحقیقات گسترده­ای توسط جامعه رمزنگاری در حوزه حملات کانال جانبی مبتنی‌بر وجود حافظه نهان صورت گرفته است. تمرکز تحقیقات صورت گرفته عمدتا بررسی امنیت اجرای الگوریتم­های رمزنگاری توسط پردازنده‌های اینتل و پنتیوم بوده است که با توجه به ساختار متفاوت حافظه نهان در پردازنده­های مختلف، قابل تعمیم به پرازنده­های پرکاربرد دیگر، نظیر ARM نیست. در پاسخ به این چالش، تحقیقات جدید به اعمال حملات کانال جانبی مبتنی‌بر حافظه نهان بر روی پردازنده‌های انواع تلفن­های همراه و برد‌های کاربردی دیگر از جمله پردازنده‌های ARM، معطوف شده ‌است. متفاوت بودن ساختار حافظه‌ نهان و عدم پشتیبانی از بعضی دستورات مورد ‌نیاز جهت اجرای حمله‌های مبتنی‌بر حافظه‌ نهان، اجرای این دسته از حملات را بر روی پردازنده‌های ARM دشوار کرده ‌است. در این مقاله ما برای اولین بار به بررسی اعمال حمله‌ کانال‌جانبی زمانی مبتنی‌بر حافظه‌ نهان با استفاده از رویداد تصادم بر روی یکی از پردازنده‌های ARM می­پردازیم. حمله‌ ارایه‌شده در این مقاله، از نوع حملات کاربردی time-driven است که در آن مهاجم تنها باید زمان اجرای عملیات رمزنگاری را اندازه­گیری کند و برخلاف حملات access-driven، مهاجم نیازی به دسترسی به حافظه نهان قربانی را ندارد. همچنین حمله ارائه­شده را با استفاده از یک برد پراستفاده در صنعت با نام Raspberrypi3 که مجری سامانه‌‌عامل رزبین است، پیاده­سازی کردیم که نتایج نشان­دهنده صحت حمله ارائه ­شده است.

کلیدواژه‌ها


عنوان مقاله [English]

Introducing a new timing attack on the ARM processor and its practical implementation on the Raspberrypi3 board

نویسندگان [English]

  • V. Meraji 1
  • H. Soleimany 2
1 Shahid beheshti of university
2 Shahid beheshti of university
چکیده [English]

An important category of the side-channel attacks takes advantage of the fact that cache leads to temporal changes in the execution of encryption algorithms and thus information leakage. Although side-channel attacks based on high cache memory are among the most widely used side-channel attacks, they have been less studied than other side-channel attacks. Accordingly, extensive research has been conducted by the cryptographic community in the area of ​​side-channel attacks based on cache memory.The focus of research has mainly been on the security of encryption algorithms implemented by Intel and Pentium processors, which due to the different cache structure of different processors, cannot be extended to other commonly used processors such as ARM. In response to this challenge, new research is focusing on cache-based side-channel attacks on various mobile processors and other applications including ARM processors. The different cache structure and lack of support for some of the commands needed to execute cache attacks have made it difficult to execute these attacks on ARM processors. In this paper, we first investigate the cache-timing attack using a collision event on one of the ARM processors. In this attack, the attacker only needs to measure the timing of the encryption, and unlike the access-driven attacks, the attacker does not need access to the victim's cache. We also implemented the attack using an industrial automation board called Raspberrypi3, which runs the router operating system, the results of which show the accuracy of the attack.

کلیدواژه‌ها [English]

  • AES
  • cortex-A53 processor
  • collision attack
  • exclusive architecture
  • clflush instruction
  • replacement policy
[1]       D. J. Bernstein, “Cache-timing attacks onAES,” 2005.
[2]          J. Bonneau and I. Mironov, “Cache-collision timing attacks against AES,” In International Workshop on Cryptographic Hardware and Embedded Systems, Springer, pp. 201-215, 2006.##
[3]          E. Tromer, D. A. Osvik, and A. Shamir, “Efficient cache attacks on AES, and countermeasures,” Journal of Cryptology, vol. 23, no. 1, pp. 37-71, 2010.##
[4]          Y. Yarom and K. Falkner, “FLUSH+ RELOAD: A High Resolution, Low Noise, L3 Cache Side-Channel Attack,” In USENIX Security Symposium, pp. 719-732, 2014.##
[5]          D. Gruss, R. Spreitzer, and S. Mangard, “Cache Template Attacks: Automating Attacks on Inclusive     Last-Level Caches,” In USENIX Security Symposium, pp.   897-912, 2015.##
[6]          D. Gruss, C. Maurice, K. Wagner, and S. Mangard, “Flush+ Flush: a fast and stealthy cache attack,” In International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, Springer, pp.  279-299, 2016.##
[7]          A. Bogdanov, T. Eisenbarth, C. Paar, and M. Wienecke, “Differential cache-collision timing attacks on AES with applications to embedded CPUs,” In Cryptographers’ Track at the RSA Conference, Springer, pp. 235-251, 2010.##
[8]          M. Weiß, B. Heinz, and F. Stumpf, “A cache timing attack on AES in virtualization environments,” In International Conference on Financial Cryptography and Data Security, Springer, pp. 314-328, 2012.##
[9]          R. Spreitzer and T. Plos, “On the Applicability of Time-Driven Cache Attacks on Mobile Devices (Extended Version⋆),” 2013.## 
[10]        M. Lipp, D. Gruss, R. Spreitzer, C. Maurice, and S. Mangard, “ARMageddon: Cache Attacks on Mobile Devices,” In USENIX Security Symposium, pp. 549-564, 2016.##
[11]  D. Gruss, C. Maurice, and S. Mangard, “Rowhammer. js: A remote software-induced fault attack in javascript,” In International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, Springer, pp.  300-321, 2016.##
[12]      M. Lipp, M .Schwarz, D.Gruss, T. Prescher, W. Haas, S. Mangard, P. Kocher, D. Genkin, Y. Yarom, M. Hamburg, Meltdown, arXiv, 2018.##