مقالات

جستجو در مقالات

ورود کاربران ویژه

learn1

 

سه شنبه, 05 شهریور 1398 15:27

نگاهی نزدیك تر به امنیت Ledger: عنصر امنیت S​E

نگاهی نزدیك تر به امنیت Ledger: عنصر امنیت S​E

ما در دو هفته آینده درباره آنچه که كیف پول های سخت افزاری Ledger را متمایز و برتر می سازد، بحث خواهیم کرد​. در این هفته درباره آنچه که امنیت محصولات ما را متمایز می‏كند، بحث می كنیم در هفته آینده نیز شما را با چگونگی حفظ جایگاه و موقعیت خود آشنا خواهیم كرد. در مقاله امروز، بیایید در مورد مولفه کلیدی تکنولوژی Ledger یعنی عنصر امنیت (SE) کاوش کنیم​.

​کیف پول های سخت افزاری Ledger استفاده از یک تراشه امنیتی خاص موسوم به عنصر امنیت یا SE را میسر می سازد. این تراشه ها بالاترین سطح امنیتی را برای یک تراشه فراهم می‌کنند و بسیار قوی‌تر از تراشه‌های سنتی هستند SEها برای راه‌حل‌های امنیتی مانند کارت‌های اعتباری و گذرنامه ها استفاده می‌شوند.

مربع سیاه سمت چپ داخل Ledger Nano S، دقیقاً همان گونه است كه SE به نظر می رسد​.

SE  چیست؟

یک SE یک تراشه امنیتی است که یک لایه اضافی از امنیت را در مقایسه با نمونه‌های استاندارد فراهم می‌کند. این تراشه، اقدامات متقابل مناسب در برابر بسیاری از حملات شناخته‌شده را انجام می‌دهد. این نوع تراشه در مقابل دستكاری و خرابكاری مقاوم است و از دستگاه شما در مقابل طیف متنوعی از حملات محافظت می‌کند. این كارت هوشمند، در سال ۱۹۷۴ توسط یك شخص فرانسوی با نام رولان مورنو اختراع شد. هدف از اختراع وی مدیریت و تامین دسترسی به داده‌های خصوصی بود این اتفاق را می‌توان به عنوان شروعی برای SEها دانست.

این عناصر امنیتی امروزه برای بسیاری از کاربردهای مختلف، مورد استفاده قرار می‌گیرند. در همه موارد، این امر مربوط به اطلاعات بسیار محرمانه ایست که باید به طور ایمن ذخیره شود. برخی از مثال‌های کاربردی کارت‌های هوشمند عبارتند از کارت‌های اعتباری، گذرنامه و سیم‌کارت در تمامی این موارد، اطلاعات بسیار حساسی مثل اطلاعات بیومتریک، بانکداری و اطلاعات تراکنشی وجود دارد. بدون یک تراشه امنیت، این اطلاعات به راحتی هك می‌شود و هر کسی به راحتی می‌تواند تمام پول شما را بگیرد یا هویت شما را جعل نماید درون کیف پول سخت افزاری Ledger، ما از یک SE برای تولید و ذخیره کلیدهای خصوصی دارایی‌های رمزنگاری شده، استفاده می‌کنیم. به لطف SE، هك اطلاعات محرمانه شما امكان پذیر نخواهد بود​.

کارت‌های هوشمند اغلب در کارت‌های اعتباری استفاده می‌شوند، اما به همان اندازه در کارت‌های دیگر مانند پاسپورت و سیم‌کارت که اطلاعات حساس را ذخیره می‌کنند، نیز كاربرد دارند.

یک عنصر امنیت یا SE چه نوع محافظتی را تامین می‌کند؟

​چندین نوع حمله وجود دارد که SE دستگاه را در برابر آن ها محافظت می‌کند. تراشه های سنتی دارای این میزان از سطح امنیتی نیستند و قادر به مقاومت در برابر این نوع حملات نیز نخواهند بود. ما در اینجا سه نوع حمله را كه توسط SE قابل رفع است را مورد بحث و بررسی قرار می‌دهیم که عبارتند از​:

Side Channel Attack یک "Shazam" برای مصرف برق

زمانی كه یک دستگاه الکترونیکی ورودی را پردازش می‌کند، نشتی فیزیکی (مانند مصرف برق یا ساطع كردن الکترومغناطیس) تولید می‌کند. این نشتی فیزیکی به داده‌هایی که توسط مدار دستکاری می‌شوند، بستگی دارد و Side Channel یا كانال جانبی نامیده می‌شوند. شنونده از یک پروب و دامنه برای دریافت تمامی متن ها -هم ورودی و هم آنچه بر روی تراشه ذخیره‌شده است- در یک منحنی واحد، استفاده می‌کند. ​

منحنی ها مصرف برق و تابش الکترومغناطیسی یک تراشه در حین یك عملیات بحرانی نشان می دهد كه از ابزار اندازه گیری كلید رمزنگاری شده شامل پروب ها و دامنه دیجیتال، استفاده می نماید​.

عملیات مهم در دستگاه شما از کلیدهای رمزنگاری شده استفاده می‌کنند. یك مهاجم یا هكر می‌تواند از این وابستگی مصرف برق، سواستفاده کند. آن‌ها همچنین نیازمند دسترسی فیزیکی به دستگاه شما نیز هستند تا این کار را انجام دهند​.

یکی از این حملات می‌تواند با برنامه معروف تشخیص موسیقی Shazam مقایسه شود. زمانی که یک آهنگ در رادیو پخش می شود، Shazam می‌تواند به آن گوش دهد و به شما بگوید که در حال حاضر چه آهنگی پخش می شود. برای انجام این کار، Shazam سعی می‌کند در کتابخانه گسترده‌ای از آهنگ‌های اصلی که ساخته شده اند، مطابقت پیدا کند با ابزار مناسب، می‌توانید به طور مشابه به مصرف برق گوش دهید. فرض کنید مهاجم دارا​ی دسترسی فیزیکی به دستگاه شماست سپس می‌توانند مصرف برق دستگاه شما را اندازه‌گیری کنند. درست مانند Shazam كه صدا را گوش داده و مطابقت آن را می یابد، یک روند حمله Side-Channel می‌تواند با اندازه گیری و تعیین الگوی مصرف برق و جستجوی آن در پایگاه‌داده متناظر با کلید رمزنگاری شده، كلید مورد نظر را بیابد​.

فرایند گوش دادن از طریق یک حمله side-channel كه به طور مستقیم روی تراشه و یا جایی نزدیک آن رخ می‌دهد تا به کیفیت سیگنال خوب دست یابد. از اینجا، شنونده تلاش خواهد کرد تا عناصر خاصی را تطبیق داده و پایگاه‌داده "Shazam" خود را پر کند، که در نهایت به شنونده اجازه می‌دهد کد PIN را استخراج کند.

با این حال، این تنها یک شکل خاص از حمله side-channel اس​ت.

چندین مورد دیگر نیز وجود دارد. ممکن است یکی از آن ها سعی کند بایت های نتیجه گوش دادن به مصرف برق را بخواند. نوع دیگر نیز این است که زمان لازم برای پردازش یک عملیات خاص را بررسی کند به عنوان مثال، پردازش یک شماره PIN صحیح ممکن است کمی طولانی‌تر باشد كه این مسئله در مصرف برق دستگاه مشهود خواهد بود.

​یک SE به طور خاص با اقدامات متقابل پیچیده درون تراشه، طراحی شده‌است. این امر به پنهان کردن تابش الکترومغناطیسی و میزان مصرف برق کمک می‌کند و از آن در برابر کسانی که می‌خواهند به تابش ها گوش دهند، حفاظت می‌کند و به مقاومت در برابر حملات side channel نیز کمک می نماید

حملات خطا: اعمال تغییرات بر روی مدار هنگام اجرا

حمله خطا در واقع به عمل مداخله در مدار هنگام اجرای عملیات در آن است. این امر باعث ایجاد خطا در دستگاه یا ماشین می‌شود که می‌تواند منجر به یادگیری بیشتر در مورد توابع آن شود و یا حتی یک رفتار متفاوت و اشتباه را اعمال کند. چنین رفتاری می‌تواند شامل حذف مراحل یک فرآیند یا ارائه خروجی نادرست باشد. تمام اینها هدف حمله خطاست. ​

به عنوان مثال، حملات خطا می توانند از طریق تغییر ولتاژ آن با یک اختلال پالس ساعت یا بیشتر یا اختلال پیچیده با میدان های الکترومغناطیسی یا لیزر، به وجود آیند​.

اختلال ولتاژ: همانطور که می توان مشاهده کرد، برآمدگی بزرگی به سمت پایین وجود دارد که برای آزمایش و اعمال رفتار اشتباه به کار می‌رود. این حملات حساس به زمان هستند، در نتیجه تنها برای مدت بسیار کوتاهی باقی می مانند.

در مورد مثال ما، شکل بالا نشان می‌دهد که چگونه یک بررسی کد PIN رخ می‌دهد شما PIN خود را وارد می کنید، تراشه تایید می‌کند که ورود PIN شما درست است و سپس نتیجه مناسبی را نشان می‌دهد.

اگر ولتاژ ورودی را تغییر دهید، تراشه ممکن است شروع به نمایش رفتار غیر منتظره کند لازم است ولتاژ برای یک بازه زمانی بسیار کوتاه و در زمان بسیار خاص افزایش یابد، یعنی زمانی که بررسی و تایید PIN صورت می‌گیرد. این امر می‌تواند باعث شود که آن به طور ناگهانی از مرحله بررسی صحت کد PIN صرف‌نظر شود​.

یک SE، اجرای اقدامات متقابل برای جلوگیری از موفقیت این گونه حملات را بر عهده دارد این موارد امکان تشخیصکارآمد خطاها و تعیین واکنش‌های امنیتی مناسب را فراهم می‌کنند.

حملات نرم‌افزاری: یادگیری آنچه که باعث می شود دستگاه این گونه عمل نماید​.

هدف از حملات نرم‌افزاری برملا كردن، تغییر دادن، غیرفعال کردن، تخریب یا به سرقت بردن اطلاعات است حملات نرم‌افزاری را می توان به چندین نوع حمله تقسیم کرد که همگی سعی در یافتن رفتارهای غیر منتظره به‌دست‌آمده با هدف قرار دادن نرم‌افزار دارند. این رفتارهای غیر منتظره در نرم‌افزار توسط ورودی ها ایجاد می‌شوند که معمولا افشا نمی‌شوند و در واقع می‌توانند آسیب‌پذیری یا اطلاعات حساس را نشان دهند برای مثال Heartbleed را در نظر بگیرید. Heartbleed یکی از معروف‌ترین کتابخانه‌های رمزنگاری (OpenSSL) است که در زیر توصیف شده‌است​.

مگ از سرور خواست تا به کلمه "سیب‌زمینی" که دارای ۶ حرف است، پاسخ دهد مگ به سرور می گوید که او به یک پاسخ ۶ حرفی نیاز دارد​.

سرور به طور صحیح به مگ با کلمه "سیب‌زمینی" پاسخ می‌دهد​.

مگ تصمیم می‌گیرد که سعی کند و ببیند که چگونه سرور چگونه با دادن ورودی اشتباه، پاسخ می‌دهد: او برای کلمه "کلاه" درخواست پاسخ می كند، اما به طور نادرست ادعا می‌کند که این ۵۰۰ حرف دارد. بازی كردن با ورودی راه خوبی برای كشف آسیب پذیری های نرم افزار است​.

نرم‌افزار سرور انتظار درخواست‌های نادرست را ندارد. کلمه "کلاه" را درست تشخیص داده و متعاقبا به آن پاسخ می‌دهد، با این حال برای ارائه اطلاعات بیشتر فریب داده می‌شود. در اینجاست كه رفتار غیر منتظره‌ اتفاق می‌افتد. نرم‌افزار سرور برای اجبار به درخواست ۵۰۰ نامه کدگذاری شده و در واقع این کار را انجام می‌دهد. در این مثال خاص، سرور اطلاعات حساس از قبیل کلید اصلی سرور و تغییر گذرواژه کارن را به مگ می‌دهد.

باگ Heartbleed تنها یک نمونه از حمله های نرم‌افزاری است، اما به خوبی نشان می‌دهد که آن‌ها چطور عمل می‌کنند. با بازی کردن با ورودی‌ها، می‌توانید اطلاعات بیشتری در مورد اینکه چگونه نرم‌افزار یک دستگاه برای واکنش به ورودی‌های نادرست برنامه‌ریزی شده‌است، بیاموزید. این درک از نرم‌افزار می‌تواند منجر به این شود که بتوانیم نقاط ضعف و آسیب پذیری های آن را تشخیص دهیم. ​ با این حال، عنصر امنیت SE به جلوگیری از این نوع حملات کمک می‌کند. در واقع، با نگه داشتن یک سیستم ساده که از رابط‌های بسیار کمی استفاده می‌کند، سطح حمله را به شدت کاهش می‌دهد​.

جمع بندی

SE یک تراشه بسیار پیشرفته است که تعداد زیادی از انواع حملات را کاهش می‌دهد این تراشه پیشرفته، که در راه‌حل‌های امنیتی سطح بالا مورد استفاده قرار می‌گیرد، Ledger را به عنوان یک راه‌حل امنیتی پایانی برای دارایی رمزنگاری شده، از سایر راه حل های موجود در بازار، متمایز می سازد. همه محصولات و دستگاه های ما از SE استفاده می‌کنند که امنیت آن‌ها را به شدت افزایش می‌دهد Ledger از آن‌ها برای تولید و ذخیره کلیدهای خصوصی برای دارایی‌های رمزنگاری شده استفاده می‌کند و آن‌ها را از هر دستگاه متصل به اینترنت دور نگه می‌دارد.

به طور خلاصه، عناصر امنیت یک مولفه مهم امنیتی از دستگاه Ledger شما هستند، زیرا​:

  • عناصر امنیت راه حلی عالی برای محافظت از داده های حیاتی و مهم، استانداردی برای بانكها جهت حفظ اطلاعات كارت اعتباری و دولتها به منظور حفظ داده های بیومتریك گذرنامه هاست​.
  • عناصر امنیتی برای مقاومت در برابر حملات بسیار پیچیده و پرهزینه طراحی شده‌اند​.
  • تراشه های عنصر امنیت توسط شخص ثالثی ارزیابی کامل می شود و باید در مقابل حملاتی كه در این متن به آن ها اشاره شد، مقاومت نماید تا بتواند گواهی امنیت را دریافت كند​.
  • بدون یک عنصر امنیت، اطلاعات حیاتی (مانند كد PIN یا حتی كلیدهای خصوصی) می توانند خیلی راحتتر استخراج شوند​.

Ledger، علاوه بر استفاده از یک عنصر امنیت، تنها کیف پول سخت‌افزاری است که آن را با یک سیستم‌عامل سفارشی که BOLOS نامیده می‌شود، ترکیب می‌کند. در مقاله بعدی درباره امنیت Ledger، ما نگاهی دقیق‌تر به سیستم‌عامل اختصاصی خود می‌اندازیم.

تمامی حقوق مادی و معنوی برای ارز مدرن محفوظ می باشد.

طراحی سایت : ایران مدرن