نشریه دانشکده کامپیوتر دانشگاه صنعتی اصفهان
صدات نمیاد، اونجا لامپ نیست؟!!
مقاله این هفتمون کمی با دفعههای قبل فرق میکنه. این بار سری میزنیم به دنیای امنیت از دید شنود و جاسوسی. اول کمی درباره حملههای کانال-جانبی میخونیم و بعد سری به انواع روشهای جالب شنود میزنیم. این مقاله رو یکی از فارغ التحصیلهای کامپیوتر صنعتی اصفهان با اسم مستعار مینیمکس برای فرامتن نوشته.
حملههای کانال-جانبی (Side-Channel Attacks) یکی از جالب ترین حملههایی هستند که تعدادشون در سالهای اخیر رو به افزایش بوده، به طور کلی این حملهها از ضعفهای پیادهسازی یک سیستم، مثل اطلاعات زمانی، توان مصرفی، نشست الکترومغناطیسی یا صدای تولید شده استفاده میکنند.
عبارت «تحلیل رمز کانال جانبی» برای اولین بار در مقالهای در سال ۱۹۹۸ به کار برده شد که توی اون چندین محقق دانشگاه برکلی کالیفرنیا و کانترپین سیستمز توضیح دادند که چهطور میشه از حملههای کانال جانبی برای شکستن رمزگذاری سیستمها استفاده کرد. ولی این ایده در اصل خیلی پیشتر از این ابداع شده بود و به کار گرفته میشد بدون این که اسم خاصی داشته باشه، یکی از معروفترین مثالهاش هم حملهای تحت عنوان TEMPEST هست که توسط سازمان امنیت ملی آمریکا ابداع شده بود. در سال ۱۹۴۳ محققین Bell Labs متوجه شدند که هر موقع کلیدهای ماشینهای تلهتایپ (نوعی ماشین تحریر که از اون برای فرستادن پیامهای تایپ شده از طریق کانالهای مختلف ارتباطی استفاده میشه) فشرده میشن، اسیلوسکوپی که نزدیک ماشین قرار داره واکنش نشون میده و به زودی فهمیدن که این یه مشکل خیلی بزرگ هست. ماشین تلهتایپ وعدهی ارتباطی امن و رمزنگاری شده رو به کاربران داده بود اما هر کسی که میتونست امواج الکترومغناطیسی ساطع شده از دستگاه رو بخونه، میتونست پیام فرستاده شده رو هم رمزگشایی کنه. این پدیده تا سال ۱۹۸۵ در اسناد عمومی عنوان نشد تا زمانی که یه محقق کامپیوتر به اسم "ویم ون اک[1]" مقالهای رو منتشر کرد که به ون اک فریکینگ[2] معروف شد، که توی اون، تصاویر روی صفحهی کامپیوتر توسط روشِ "خوانش از راه دور سیگنالهای الکتریکی منتشر شده از مانیتور" بازسازی میشدند. از مثالهای دیگهی کاربرد این روش پیش از نامگذاری شدنش میشه به ادعای "پیتر رایت[3]"، مأمور سابق MI5، مبنی بر تحلیل سیگنالهای منتشر شده از دستگاههای رمزنگاری فرانسوی توسط سرویس امنیتی بریتانیا در دههی شصت و کار گذاشتن دستگاههای شنود سیگنال الکترونیکی داخل ماشینهای تحریر آیبیام[4] توسط جماهیر شوروی در دههی هشتاد اشاره کرد.
در ادامه میریم تا چند تا از جالبترین حملههای کانال-جانبی که برای شنود صدا استفاده میشن رو به طور مختصر بررسی کنیم و ببینیم چرا موضوع، اون قدر نگران کننده هست که به فکر راه حلهای اساسی باشیم. اول از همه بیاید اجزای میکروفون رو بررسی کنیم و ببینیم برای داشتن دستگاهی که بتونه صدا رو ضبط کنه یا به اصطلاح، میکروفون، چه چیزهایی لازم داریم.
میکروفون سه بخش داره:
- ۱- دیافراگم: امواج صدا یک قطعهی نازک از یک ماده مثل پلاستیک یا آلومینیوم رو به لرزش در میارن و اون رو به حرکت مکانیکی تبدیل میکنند.
- ۲- ترنسدیوسر[5]: در مرحلهی بعد، لرزش دیافراگم باعث حرکت یک سیمپیچ داخل یک میدان مغناطیسی میشه و یک جریان متغیر در سیمپیچ با القای الکترومغناطیسی تولید میشه.
- ۳- مبدل آنالوگ به دیجیتال: در قدم بعد سیگنال الکتریکی آنالوگ تولید شده نمونهبرداری میشه و تبدیل به سیگنال دیجیتال میشه.
طبق تعریف بالا روشهای شنود صدا رو به دو دستهی درونی و بیرونی میشه تقسیم کرد; روشهایی که در اون همهی سه جزء یک میکروفون در یک دستگاه قرار داره و اون دستگاه در نزدیکی منبع صدا هست رو روشهای درونی و روشهایی که در اون این سه جزء در کنار هم قرار ندارند رو روشهای بیرونی میگن. توی روشهای درونی نیاز هست که دادههای دستگاه از طریقی مثل اینترنت جمعآوری بشن (عکس زیر بیشتر مشخص میکنه).
تحلیل دادههای هر دو دسته(بیرونی و درونی) میتونه از طریق دو روش طبقه بندی یا بازیابی باشه; در روش طبقهبندی، با استفاده از یک مدل یادگیری ماشین (قاعدتاً از طریق طبقهبندی[6])، سیگنال به دست اومده رو به یک کلمه توی یک دیکشنری از پیش تعریف شده اختصاص میده ولی در روش بازیابی، صدای اصلی رو بازسازی میکنه به طوری که گوش انسان اون رو میتونه تشخیص بده.
حالا که فهمیدیم میکروفون چه طور کار میکنه، بیاید روشهای شنود صدا با استفاده از دستگاههایی که با هدف ضبط صدا ساخته نشدند رو ببینیم. توی جدول زیر میتونید لیستی از این روشها رو مشاهده کنید.
در ادامه تک تک این روشها رو به اختصار بررسی میکنیم و میبینیم که شما یک آدم مدرن با وسایل الکترونیکی عادی مثل موبایل و لپتاپ باشید، چه یک انسان غارنشین(!)، در هر صورت از شنود و استراق سمع در امان نخواهید بود.
بیاید فرض کنیم آدم قصهی ما میخواد یه رمز ساده رو به دوستش منتقل کنه، و فکر میکنه امنترین راه، ملاقات حضوری با دوستش و گفتن رمز به اون هست، اما اشتباهی که میکنه اینه که موبایلش رو هم با خودش میبره!
روش اول که توی سمپوزیوم یوزنیکس[7] سال ۲۰۱۴ معرفی شد، به جایروفون[8] معروف هست. توی این روش نشون داده شده که ژیروسکوپهای موبایل اون قدر حساس هستند که بتونن به سیگنالهای صدای اطرافشون واکنش نشون بدن و هر چند فقط میتونن دادههای فرکانس پایین (تا حدود ۲۰۰ هرتز) رو ضبط کنند ولی با روشهای پردازش سیگنال و یادگیری ماشین، میشه اطلاعات گفتگو رو بدست آورد. از اون جایی که سیستمهای عامل موبایل برای دسترسی به اطلاعات ژیروسکوپ از کاربران اجازه نمیگیرند، کافی هست شما کاربر رو به یک اپلیکیشن یا وبسایتی که از ژیروسکوپ استفاده میکنه هدایت کنید و اطلاعات رو استخراج کنید. باید توجه داشت که این روش از طبقهبندی سیگنالها استفاده میکنه و نمیتونه صدای اصلی رو بازسازی کنه. بنابراین اگه رمز به طور مثال فقط یک سری عدد باشه برای حملهکننده داشتن زمان ملاقات و دسترسی به ژیروسکوپ در نقاب یک برنامهی بیخطر کافی هست تا اون رو بتونه با دقت بالایی استخراج کنه.
خب، انسان امروزی و مدرن داستان ما تصمیم میگیره از یک موبایل قدیمیتر و بدون ژیروسکوپ استفاده کنه تا کسی نتونه صداش رو شنود کنه، هر چی نباشه حریم شخصی ارزشش رو داره! اما این کار هم مشکلی رو حل نمیکنه چون توی روش دوم نشون داده شده که شتابسنج موبایل هم همین مشکل رو داره و حتی میتونه با نرخ نمونهبرداری بیشتری (تا ۵۰۰ هرتز) صدا رو ضبط کنه و به یک مدل یادگیری عمیق داده بده تا کلمات رو طبقهبندی و حتی بازسازی کنه!
خب انگار اوضاع برای آدم قصهی ما اصلاً خوب نیست، و این دفعه اصلاً تصمیم میگیره یک موبایلی بخره که نه ژیروسکوپ و نه شتابسنج داشته باشه! اما اشتباه اولی که میکنه اینه که جایی با دوستش قرار میگذاره که پر از سنسورهایی هستن که با اینترنت اشیا کار میکنند. توی روش سوم، از ترکیبی از حسگرهای داخل یک شبکه برای استراق سمع استفاده میشه. متأسفانه اکثر سنسورها به ارتعاشات صوتی واکنش نشون میدن و توی این روش که اسمش رو پیچاین[10] گذاشتند نشون داده شده که اگه یه شبکه از سنسورهای غیر-صوتی داشته باشید و دادههای اونها رو به صورت آفلاین جمعآوری کنید، با دقت ۷۹ درصدی میشه کلمات رو تشخیص داد و این یک خطر جدی برای شبکههای سنسوری و اینترنت اشیا محسوب میشه.
و اما اشتباه دوم آدم نگونبخت داستان ما اینه که همچنان در انتخاب موبایل بدوی که خریده دقت نکرده و موبایلی گرفته که به تکنولوژی بسیار نوین ویبره مجهز هست! بنابراین برای حملهکننده هیچ جای نگرانی نیست اگه شبکهای از سنسورها اون اطراف نباشن، موتور ویبرهی داخل موبایل هم حتی میتونه کارش رو راه بندازه. توی روش چهارم که اسمش وایبرافون[11] هست محققها نشون دادن که کلمات ثبت شده توسط موتور ویبره رو آدمها با دقت ۸۰ درصد میتونن بفهمند و حتی الگوریتمهای تشخیص گفتار هم با دقت ۶۰ درصد اونها رو به متن تبدیل میکنند.
توی این نقطه، دوست ما دلش میخواد دیگه یا سرش یا موبایلش رو به دیوار بکوبه، تا این که راضی میشه با قلبی اندوهگین از دنیای موبایل خداحافظی کنه و از این به بعد با لپتاپش به ملاقاتهاش بره.
متأسفانه ما برای اون و شما خبر بدی داریم! اگه فکر کردید دسترسی میکروفون رو به برنامهای ندادید پس کسی با اسپیکر شما نمیتونه صداتون رو بشنوه، سخت در اشتباهید! اسپیکر و میکروفون برعکس هم عمل میکنند اما تبدیل اسپیکر به میکروفون کار سختی نیست و فقط کمی خلاقیت لازم داره! در روش پنجم نشون داده میشه که با یک بدافزار کامپیوتری که در سطح کاربر و یک ماژول که در سطح کرنل اجرا میشه، صدای شما رو حتی از فاصلهی نه متری تا بلندگو میشه بازسازی کرد و تشخیص داد!
تا این جای کار شاید پروتاگونیست[13] ما فکر کنه اگه هر چیز اضافهای که توی لپتاپش هست رو در بیاره و دور بندازه دیگه راهی برای حملهکننده نیست، اما اگه هارد دیسک مغناطیسی توی لپتاپش داشته باشه هنوز مونده تا از دست حملهکننده نجات پیدا کنه! اجزای مکانیکی هارد دیسک شما اون قدر به صدا حساس هستند که بتونن صدای یک آهنگ رو طوری بازیابی کنند که برنامههای تشخیص موسیقی قادر به شناساییشون باشند. برای این کار کافیه از یک معیار به اسم سیگنال خطای مکان، که فاصلهی سرعت خوندن/نوشتن هارد دیسک از ترک فعلی رو مشخص میکنه استفاده بشه. تغییری که لرزش صدا توی این معیار ایجاد میکنه اطلاعاتی به دست میده که میشه باهاش صدا رو بازسازی کرد. نرخ نمونهبرداری روش ششم ۱۷ کیلوهرتز هست و با کیفیت قابل قبولی میتونه صدای شما در اختیار شنود کننده قرار بده.
همهی روشهایی که تا اینجا گفتیم روشهای درونی بودند که شاید برطرف کردنشون با درخواست اجازه دسترسی و از طریق نرمافزار ممکن باشه. اما این کار در روشهای بیرونی به مراتب سختتر میشه چون حملهکننده نیازی نداره تا به طریقی دادهها رو از دستگاهی که در نزدیکی شماست و به عنوان میکروفون عمل میکنه استخراج کنه.
بنابراین اگه دوست ما موبایل و لپتاپتش رو هم از پنجره پرت کنه بیرون و به کل با تکنولوژی قهر کنه باز هم در امان نخواهد بود، چون به احتمال قریب به یقین تعدادی روتر[14] وایفای در اطراف مکان ملاقاتش میشه پیدا کرد! روش هفتم به اسم وایهیر[15] برای شنود، انعکاسات رادیویی حرکات دهان رو از روی CSI پکتهای وایفای طبقهبندی و تحلیل میکنه، و از اون جایی که سیگنالهای وایفای نیازی به دید مستقیم ندارند، میتونه حرفهای شما رو در محدودهی رادیویی با دقت ۹۱ درصدی طبقهبندی کنه و اگه روتر MIMO در اطراف شما باشه روز بسیار خوبی برای حملهکننده خواهد بود چون امکان شنود سه نفر رو با دقت ۷۴ درصد براش فراهم میکنه! اما این به شرطی هست که بدونه شما قراره در مورد چه چیزی صحبت کنید و بتونه یک دیکشنری از کلمات احتمالی درست کنه.
این دفعه بیاید دست از سر پروتاگونیست بدبخت که توی خونهاش نشسته و به آهنگای غمگین گوش میده برداریم و فرض کنیم حملهکنندهی ما به طبقهبندی حرفها راضی نشده و دلش میخواد آهنگهای دوست ما رو هم بشنوه تا مطمئن بشه خیلی ناراحته! و اما روش بعدی! بلندگوها به هنگام پخش صدا ارتعاشات کوچکی دارن که شاید برای چشم انسان غیرقابل تشخیص باشه اما میتونه با امواج رادیویی که از یه فرستندهی وایفای که در نزدیکی اون هست رزونانس داشته باشه و این امواج توسط یه دریافتکنندهی رادیویی گرفته و از روی RSS پکت تحلیل بشن و در نهایت صدا بازیابی بشه. جالبی این روش اینه که نرخ نمونهبرداری اون تا ۵ مگاهرتز هست و اگر حملهکننده فقط گیرنده یا جفت گیرنده و فرستندهی وایفای رو تقبل کنه با کیفیت بسیار بالایی میتونه از آهنگ یا ناراحتی قربانیش لذت ببره!
موسیقی هم نخواستیم! دادن یه رمز که نباید این قدر سخت باشه! دوست ما پا میشه و یه قرار ملاقات دیگه توی یه کافه که مطمئنه نه لپتاپ هست نه موبایل نه سنسور و نه وایفای میگذاره و در حالی که نوشیدنی گوارایی که سفارش داده رو کنار دستش گذاشته، رمز رو به دوستش میگه. اما متأسفانه حملهکنندهی عزیز بیکار نبوده و با یک دوربین فوق مجهز به سراغ قربانی ما اومده و رفته پشت سرش، جایی که اون رو نبینه مخفی شده و داره از لرزههای سطح نوشیدنی فیلم برداری میکنه! سال ۲۰۱۴ مقالهای با عنوان «میکروفون تصویری: بازیابی منفعلانهی صدا از ویدیو» با همکاری امآیتی، مایکروسافت و ادوبی منتشر شد که سر و صدای زیادی به پا کرد. توی این مقاله نشون داده شد که اگه یک دوربین با فریمریت بالا رو به سمت یک جسم که در معرض امواج صدا هست بگیرید، به راحتی میشه صدا رو از روی تصاویر ارتعاشات گرفته شده بازسازی کرد. باید توجه داشت که این روش کاملاً منفعلانه هست و بنابریان لازم نیست حملهکننده مداخلهای از طرف خودش برای به دست آوردن داده داشته باشه و به همین دلیل، تشخیصش برای افراد و سازمانها کار بسیار سختتری خواهد بود. اما ضعف این روش جدای از بحث مالی (دوربینهای با فریمریت بالا و با کیفیت، معمولاً بسیار گرون هستن)، عدم امکان پردازش سریع ویدیو و تبدیل اون به گفتار هست، به طوری که بازیابی فقط چند ثانیه از یک گفتگو به ساعتها زمان برای پردازش تصاویر حجیم گرفته شده نیاز داره و به همین دلیل هم نمیشه این روش رو به صورت بههنگام به کار برد.
حملهکنندهی ما نگرانه که رمز به زودی عوض بشه بنابراین یه سری تجهیزات دیگه هم با خودش آورده! مثل یک لیزر! و این ما رو میرسونه به روش بعدی یعنی میکروفون لیزری که از یک فرستنده/گیرندهی لیزری برای فرستادن یک پرتوی لیزر به یک جسم مرتعش و گرفتن پرتوی بازگشتی و تبدیلش به سیگنال صدا استفاده میکنه. بر خلاف روش قبلی، از این روش برای بازیابی "بههنگام" گفتگو میتوان استفاده کرد. اما ضعفش امکان شناسایی اون با استفاده از یک سنسور اپتیکال مخصوص هست و این روش به اصطلاح منفعلانه نیست. علاوه بر این تجهیزات لازم برای این کار هم مثل روش قبل به شدت گرون هستن و اصلاً برای حملهکننده مقرون به صرفه نیست. از اونجایی که حمله کنندهی ما هدف اولش به دست آوردن رمز و هدف دومش دیوانهکردن قربانی هست، بعد از به دست آوردن رمز به قربانی اطلاع میده تا این بازی ادامه پیدا کنه و حملهکننده بتونه برای آخرین بار هم شانسش رو برای قدرتنمایی امتحان کنه!
دیگه بازی جدی شده، دوست بیچاره ما که به استیصال رسیده، یه ساختمون اداری شیشهای در حال ساخت پیدا میکنه که با نگهبانش آشناست و فقط یه راه ورود و خروج داره و ساعت ۳ نیمه شب با دوستش قرار میگذاره تا این رمز لعنتی رو با موفقیت به اون بده، به طبقهی دهم میره و همهی ساختمونهای اطراف رو شعاع ده متری بررسی می کنه و بعد از این که خیالش راحت شد، لامپ رو روشن میکنه و منتظر دوستاش میمونه. غافل از این که حملهکنندهی ما هم ۲۵ متر اون طرفتر توی یک ساختمون تاریک داره با یه تلسکوپ نگاه میکنه، اما نه قربانی، بلکه لامپ دفتر رو! توی کنفرانس بلکهت[17] ۲۰۲۰، یک روش جدید با انتشار مقالهای تحت عنوان «لمپفون[18]: بازیابی منفعلانهی بههنگام صدا از روی ارتعاشات لامپ» در دسترس قرار گرفت. لمپفون مشکل تمام روشهای قبلی که یا بیرونی نبودن یا بههنگام نبودن و یا منفعلانه نبودن و یا حتی گرون تموم میشدن رو به ادعای خودش حل کرده و راهی رو جلوی پای حملهکننده گذاشته تا بشه با استفاده از یک سنسور الکترو-اپتیکال، ارتعاشات فشار هوای ناشی از صدا بر روی یک لامپ که باعث لرزش میلی درجهای اون میشن رو تحلیل و تبدیل به صدای اصلی کرد. و به جز سنسور برای این کار فقط به یک تلسکوپ و یک کامپیوتر و زاویه دید مناسب به لامپ داخل اتاق قربانی نیاز خواهد بود! محققهای این روش نشون دادن که حتی از فاصلهی ۲۵ متری میتونن به راحتی صدای پخش شده رو با کیفیت بالا بازسازی کنند.
پایان این داستان رو باز میگذارم تا خودتون تصور کنید قربانی نگونبخت، آخر داستان چه بلایی بر سر خودش میاره ولی اگه حس پارانویاتون تا اینجا به سقف رسیده بگذارید با گفتن این که داخل هر کدوم از مقالههای بالا روشهایی برای جلوگیری از حمله هم ذکر شده کمی بهتون آرامش خاطر بدم. اما اگه مکالمه مهمی رو دارید انجام میدید مواظب باشید که حتی از لامپ اتاقتون هم نباید دریغ کنید!
جوهر قلم (مجازی) من خشک نشده بود که یک روش دیگه هم معرفی شد به اسم لایدارفون[19] رو میشه دید که چقدر توجه به این حملهها رو به افزایش هست. به قول یکی از متخصصین این حوزه، علت اینه که کامپیوترها روی کاغذ و تئوری اجرا نمیشن بلکه با قواعد فیزیک و در دنیای واقعی کار میکنند و حتی اگه مراقب باشیم باز هم ممکنه جایی اطلاعاتی نشت پیدا کرده باشه که بشه دادههای محرمانه رو از روی اونها بازیابی کرد و این باگ/فیچری هست که دنیای ما داره: یک علت با چندین معلول یا عارضهی جانبی.
منابع:
مقالهی لمپفون و منابع آن
ویکیپدیای حملهی کانال-جانبی
مقالهی وایرد با عنوان «حملهی کانال جانبی چیست؟»
برای مطالعهی بیشتر:
وبلاگ نور صدیقی درمورد بزرگترین موفقیتها در حملات کانال جانبی
مقالهی لایدارفون
پانویس ها:
[1] Wim van Eck
[2] Van Eck Phreaking
[3] Peter Wright
[4] IBM
[5] Transducer
[6] Classification
[7] USENIX
[8] Gyrophone
[9] AccelEve
[10] PitchIn
[11] VibraPhone
[12] Spectrogram
[13] Protagonist (قهرمان داستان)
[14] Router
[15] WiHear
[16] Access Point
[17] Black Hat Briefings
[18] Lamphone
[19] LidarPhone
مطلبی دیگر از این انتشارات
چگونه برنده شویم؟(نگاهی بر نظریه بازیها و طراحی مکانیزم)
مطلبی دیگر از این انتشارات
۲۵ نکته که زندگی من رو متحول کرد!
مطلبی دیگر از این انتشارات
یونیکد: سنگ روزتای دنیای مدرن