شاید در حال حاضر امنترین راه برای ذخیره رمزارزها، استفاده از کیف پولهای سختافزاری باشد. کیف پولهای سختافزاری به صورت تخصصی برای ذخیرهسازی کلیدهای خصوصی و رمزارزها طراحی شدهاند و از این رو از امنیت بسیار بالایی برخوردارند. یکی از نقاط قوت این کیف پولها نسبت به کیف پولهای نرمافزاری عدم اتصال دائم آنها به اینترنت است. این مزیت باعث میشود کیف پولهای سختافزاری در برابر بسیاری از بد افزارها در امان بوده و احتمال هک شدن آنها بسیار پایین باشد؛ اما در کیف پولهای سختافزاری نیز امکان هک شدن و افشا شدن اطلاعات از جمله عبارت بازیابی، از طریق حمله کانال جانبی وجود دارد. در این مقاله به این میپردازیم که حمله کانال جانبی چیست و هکرها چگونه با استفاده از این حملات میتوانند کیف پولهای سختافزاری را مورد حمله قرار دهند. با میهن بلاکچین همراه باشید.
حمله کانال جانبی چیست؟
حمله کانال جانبی (Side Channel Attack) اولین بار در سال ۱۹۹۶ (۱۳۷۴) توسط پائول کوچر (Paul Kocher) معرفی شد. در این روش سارقان میتوانند با دستیابی به اطلاعات حساس دستگاههای سختافزاری، این دستگاهها را رمزگشایی کرده و مورد سو استفاده قرار دهند. در این روش مهاجم با محاسبه کلیدهای رمزنگاری شده یا جزئیات دستورالعملها و دادههای اجرا شده در یک دستگاه سختافزاری، میتواند آنها را رمزگشایی کرده و مورد سرقت قرار دهد.
حملات کانال جانبی دستهای از حملات به دستگاههای سختافزاری هستند. هکرها در این روش اقدام به سرقت کلیدهای رمزنگاری شده و اطلاعات مهم تولید شده توسط یک سختافزار کرده و میتوانند کنترل آنها را بهدست بگیرند. در این حملات هدف اصلی هکرها سرقت اطلاعات حساس دستگاههای سختافزاری با استفاده از اندازهگیری پارامترهای مرتبط با هر دستگاه مثل اطلاعات زمانبندی، مصرف برق، لرزش و صدای دستگاه، نشت الکترومغناطیس، طیفهای نوری، پهنای باند و غیره است.
این نوع حملات به دسترسی مستقیم به دستگاههای سختافزاری نیاز نداشته و میتوان با استفاده از یک نرمافزار و یک دستگاه سخت افزاری دامنه تغییرات پارامترهای دستگاه مورد هک را اندازهگیری کرده و به آن نفوذ انجام شود. در حملات کانال جانبی هکرها با استفاده یک نرمافزار مخصوص و دستگاههای مخصوص اندازهگیری پارامترهای یک دستگاه سختافزاری، مانند اسیلوسکوپ (oscilloscope) اقدام به اندازهگیری بعضی پارامترها کرده و بدون اینکه تغییری در حالت فیزیکی دستگاه مورد هک رخ دهد، آن را مورد سو استفاده قرار میدهند.
حمله کانال جانبی چگونه اتفاق میافتد؟
رمزنگاری مبتنی بر سختافزار، سنگ بنای امنیت سیستمها است. از جمله استفاده از سختافزارها برای رمزنگاری میتوان به رمزگذاری دادههای تلفن، ذخیرهسازی اثر انگشت، تراشههای کارتهای اعتباری و سیم کارتها و کیف پولهای سختافزاری به منظور ذخیرهسازی ارزهای دیجیتال اشاره کرد. رمزنگاری سختافزاری در تمامی دستگاهها و به منظور ایمنسازی آنها استفاده میشود.
حملات کانال جانبی انواع مختلفی دارد و در هر کدام از این حملات سارق نوع خاصی از اطلاعات دستگاه سختافزاری را مورد هدف قرار داده و آن را سرقت میکند. به طور کلی حملات کانال جانبی در فاصله زمانی ارسال اطلاعات بین کاربر و سرور اتفاق میافتد؛ به طور مثال هنگامی که کاربر در حال وارد کردن اطلاعات خود در سایت بانک، اپلیکیشنهای مالی و غیره است، سارق با استفاده از دستگاههای مخصوص فرکانس رد و بدل شدن اطلاعات، توان مصرفی برق دستگاه هنگام انجام محاسبات و یا مدت زمان ارسال درخواست از کاربر و پاسخ از سرور را مورد بررسی قرار داده و اطلاعات رمزنگاری شده را به سرقت میبرد.
تفاوتی بین این نیست که از چه دستگاهی استفاده میکنید، سارقان میتوانند اطلاعات شما را از طریق تلفن همراه، کامپیوتر شخصی، کیف پول سختافزاری و یا هر دستگاه سختافزاری دیگری به سرقت ببرند. سارقان برای انجام این کار به یک آنتن برای دریافت اطلاعات، به یک دستگاه به نام اسیلوسکوپ برای آنالیز و استخراج اطلاعات و یک نرمافزار برای رمزگشایی اطلاعات دریافتی نیاز دارند.
البته شایان ذکر است که حملات کانال جانبی یک روش بسیار پیچیده است و نیاز به دستگاههای بسیار گرانقیمت و پارامترهای بسیار زیادی دارد. به همین علت یعنی گران بودن استفاده از این روش و نیاز به دانش بسیار بالا، در اکثر مواقع از این روش برای سرقتهای بسیار بزرگتر نسبت به سرقت کیف پولهای سختافزاری افراد عادی استفاده میشود؛ اما ممکن است سارق با علم به اینکه مقادیر زیادی از رمزارزها در یک کیف پول موجود است اقدام به استفاده از این روش برای سرقت آن کند.
اسیلوسکوپ چیست؟
اسیلوسکوپ دستگاهی الکترونیکی برای مشاهده شکل موج سیگنالها یا ولتاژ است. در اسیلوسکوپ دامنه سیگنالهای ورودی در یک نمودار دو بعدی نمایش داده میشود. در این نمودار محور افقی نشاندهنده زمان و محور عمودی نشاندهنده مقدار ولتاژ است. از دستگاه oscilloscope به منظور نمایش دقیق شکل موج استفاده میشود. این دستگاه علاوه بر موارد گفته شده میتواند پارامترهای دیگر مانند عرض پالس ورودی، دوره تناوب، فاصله زمانی بین دو رویداد را نیز در نمایشگر خود نشان دهد.
استفاده از اسیلوسکوپها صرفا به منظور اهداف خرابکارانه و فعالیتهای منجر به هک نیست. از این دستگاه در علوم پزشکی، مهندسی، خودرو، صنعت مخابرات و غیره استفاده میشود. به عنوان مثال از این دستگاه به منظور طراحی فرکانس رادیویی (RF) در طراحی مدارهای الکترونیکی لوازم الکترونیکی و یا شناسایی و رفع ایرادات این دستگاهها استفاده میشود.این دستگاه در صنعت پزشکی نیز کاربرد داشته و با نام الکتروکاردیوگرافی برای نمایش ضربان قلب به کار میرود.
در حملات کانال جانبی از oscilloscope به منظور آنالیز امواج دریافتی از دستگاههای سختافزاری استفاده میشود. مهاجمان با استفاده از دستگاههای سختافزاری مختلف، از جمله یک آنتن دریافت کننده امواج الکترومغناطیس و یک دستگاه اسیلوسکوپ و نرمافزاری برای رمزگشایی اطلاعات ثبت شده توسط این دستگاهها، میتوانند به کلیدهای رمزنگاری شده دستگاههای سختافزاری دسترسی پیدا کنند.
انواع حملات کانال جانبی چیست؟
همانطور که پیشتر بیان شد حملات کانال جانبی روشهای مختلفی دارد یکی از روشهایی که از آن به منظور سرقت اطلاعات رمزنگاری شده در کیف پولهای سختافزاری استفاده میکنند، حمله کانال جانبی مبتنی بر زمان (Timing Attack) است. در این حمله مهاجم از اندازهگیری زمان اجرای یک الگوریتم روی سختافزار و انجام محاسباتی به منظور رمزگشایی آن میتواند اطلاعات رمزنگاری شده را بدست بیاورد.
در حمله مبتنی بر زمان مهاجم میتواند با اندازهگیری زمان هر بیت یک کلید را محاسبه کرده و آن را بازیابی کند. این روش در الگوریتمهای رمزنگاری مانند RSA که نیاز به اعداد بزرگ دارند را میتوان با بررسی زمان در رمزنگاری با محاسبه صفر یا یک بودن بیت، کلیدهای را استخراج کرده و رمزگشایی انجام داد. روش استفاده شده در الگوریتم رمزنگاری RSA یک رابطه خطی بوده و مهاجم با سو استفاده از مدت زمانبندی برای انجام محاسبات کلیدهای RSA میتواند تعداد بیتهای ۱ را در این کلیدها استخراج کرده و دستگاه را رمزگشایی کند.
به طور کلی حمله کانال جانبی را میتوان به هر حملهای نسبت داد که در آن با اندازه گیریهای غیر مستقیم مهاجم با استفاده از دستگاههای مختلف، برای بازیابی یک کلید رمزنگاری شده استفاده میکند. انواع حملات کانال جانبی را میتوان به دستهبندیهای زیر تقسیم کرد.
- توان مورد استفاده در طول محاسبات (power analysis attacks)
- مدت زمان محاسبه (timing attacks)
- نشت الکترومغناطیس (EM attacks)
حملات کانال جانبی در کیف پولهای سختافزاری چگونه است؟
حملات کانال جانبی یکی از موثرترین راهها برای حمله به سختافزارهای امن مانند کیف پولهای سختافزاری رمزارزها است. دلیل این امر این است که مهاجم به جای حمله به خود الگوریتم رمزنگاری شده، که به خوبی در برابر حملات ایمن شده است، کانالهای جانبی الگوریتم را مورد هدف قرار میدهد که نسبت به خود الگوریتم از ایمنی پایینتری برخوردار است.
پیادهسازی الگوریتمهای امنیتی در دستگاههای سختافزاری امری بسیار سخت و هزینهبر است، که اغلب به همین دلیل شرکتهای سازنده کیف پولهای سختافزاری هزینه زیادی برای آن صرف نمیکنند؛ اگر این شرکتها بخواهند محصولات خود را در برابر اینگونه حملات حفظ کنند، نه تنها باید زمان اجرای دستورات را ثابت کنند و هر گونه نشت الکترومغناطیس را متوقف کنند بلکه باید هرگونه بارگیری و خارج شدن اطلاعات در حافظه فیزیکی را نیز محدود کرده که این مساله نیاز به اجرای نرمافزارها و تغییرات عمده به منظور رمزنگاری در ساختار کیف پولهای سختافزاری دارد. همچنین این اقدامات باعث میشود که قیمت این کیف پولها افزایش زیادی پیدا کرده و برای خریداران توجیه اقتصادی نداشته باشد.
انجام تمامی راهکارهای جلوگیری از نشتی کانالهای جانبی با حفظ هزینه تولید و عملکرد ایمن تقریبا غیر ممکن است. به عنوان مثال و در حوزه رمزارزها در سال ۲۰۱۵ (۱۳۹۳) فردی به نام جوکن هونیکه (Jochen Hoenicke) توانست کلید خصوصی کیف پول بیت کوین کیف پول سختافزاری ترزور (Trezor) را با استفاده از یک حمله کانال جانبی قدرتمند، بازیابی کند.
به طور کلی متخصصان امنیتی معتقدند که بازیابی کلیدهای خصوصی با استفاده از روشهای گوناگون حملات کانال جانبی امکانپذیر است و هر چند که الگوریتم رمزنگاری شده شبکههای بلاک چینی غیر قابل نفوذ هستند، اما حتی امنترین راه نگهداری از ارزهای دیجیتال یعنی کیف پولهای سختافزاری در مقابل حمله کانال جانبی ایمن نیستند.
طبق نظر متخصصان حوزه رمزنگاری کیف پولهای سختافزاری در مقابل حملات کانال جانبی آسیبپذیر بوده و مهاجمان میتوانند از طریق این حملات کلیدهای خصوصی در این کیف پولها را بازیابی کنند؛ اما سوالی که در اینجا وجود دارد این است، که چنین حملاتی چقدر هزینه میبرد و به چه میزان تلاش نیاز دارد؟ این مساله نقطه کلیدی سنجش قابلیت تراشههای سخت افزاری رمزنگاری شده است.
به طور کلی تراشههای رمزنگاری شده بر اساس مجموعه هزینه و مهارتهای مورد نیاز مهاجم برای بازیابی کلیدهای رمزنگاری، گواهینامه امنیت دریافت میکنند. هر چه یک دستگاه گواهینامه بالاتری داشته باشد، بازیابی کلیدهای رمزنگاری شده آن دستگاه برای مهاجم هزینه بیشتری خواهد داشت. هر چه کلیدهای خصوصی یک دستگاه ارزشمندتر و سطح گواهینامه آن بالاتر باشد، سختافزار به کار برده شده در آن به دلیل توسعه و اجرای اقدامات متقابل ضد حملات کانال جانبی گرانتر بود و طبیعتا قیمت دستگاه نیز به مراتب بالاتر از سایر دستگاهها خواهد بود.
راههای جلوگیری از حملات کانال جانبی چیست؟
استفاده از حملات کانال جانبی فقط مربوط به حوزه رمزارزها و کیف پولهای سختافزاری نبوده و میتوان از این روش برای بدست گرفتن هرگونه دستگاه سختافزاری استفاده کرد؛ اما راهکار جلوگیری از این حملات، بیشتر به شرکتهای سازنده دستگاههای سختافزاری مربوط میشود.
به طور مثال شرکتهای ساخت کیف پولهای سختافزاری باید با استفاده از تراشههای قدرتمندتر از نشت اطلاعات از کانالهای جانبی دستگاههای خود جلوگیری به عمل آورند. یکی از روشهایی که آنها میتوانند با استفاده از آن از بروز چنین حملاتی استفاده کنند، اضافه کردن تراشههای فلزی و تعداد زیادی از خازنهای مختلف به منظور فیلتر کردن نشت اطلاعات از کیف پولهای سختافزاری است. همچنین با تقویت تراشههای سختافزاری و پیادهسازی روشهای پیچیدهتری به منظور افزایش سرعت، ثابت نگاه داشتن زمان اجرای دستورات و غیره میتوان از انجام حملات کانال جانبی جلوگیری کرد.
کاربران نیز میتوانند با به روز کردن فرمور (Firmware) کیف پولهای خود تا حدود زیادی امنیت کیف پولهای خود را بالا ببرند. با آپدیت میانافزار کیف پولهای سختافزاری، باگها و مشکلات امنیتی این کیف پولها که توسط سازندگان آنها شناسایی شده برطرف میشود و امنیت آنها در هربار بهروزرسانی افزایش مییابد.
جمع بندی
حملات کانال جانبی یکی از حملاتی است که مهاجم بواسطه آنها میتواند اطلاعات حساس از جمله دادههای رمزنگاری شده در دستگاههای سختافزاری مختلف را رمزگشایی کرد. حملات کانال جانبی در دنیای رمزارزها نیز وجود داشته و سارقان میتوانند یکی از امنترین روشهای نگهداری از ارزهای دیجیتال یعنی کیف پولهای سختافزاری را توسط این روش مورد هجوم قرار داده و رمزارزهای کاربران را به سرقت ببرند. در این مقاله به این پرداختیم که حمله کانال جانبی