ماوس های بلوتوث می توانند باعث آشکار شدن کلمه های عبور شما شوند!

ما در این مقاله یک آسیب پذیری پنهان در ارتباط ماوس های بلوتوث که ممکن است باعث درز و آشکار شدن اطلاعات شما، شامل کلمه های عبور شوند را به شما معرفی می کنیم.ارتباطاتی که از طریق ماوس های بلوتوث ایجاد می...
دوشنبه، 3 بهمن 1390
تخمین زمان مطالعه:
موارد بیشتر برای شما
ماوس های بلوتوث می توانند باعث آشکار شدن کلمه های عبور شما شوند!

ماوس های بلوتوث می توانند باعث آشکار شدن کلمه های عبور شما شوند!
ماوس های بلوتوث می توانند باعث آشکار شدن کلمه های عبور شما شوند!


 






 
ما در این مقاله یک آسیب پذیری پنهان در ارتباط ماوس های بلوتوث که ممکن است باعث درز و آشکار شدن اطلاعات شما، شامل کلمه های عبور شوند را به شما معرفی می کنیم.
ارتباطاتی که از طریق ماوس های بلوتوث ایجاد می شوند، عموماً رمزگذاری نشده است هستند. وقتی شتاب دهی پیش فرض ماوس فعال باشد با Sniffing (بو کشیدن) ارتباط ماوس، ما می توانیم حرکات و خط سیر ماوس بر روی صفحه نمایش را از نو بازسازی کنیم. در نتیجه اگر کلمه های عبور با استفاده از یک صفحه کلید نرم افزاری تایپ شوند حرکات ماوس Sniff شده کلمه های عبور را آشکار می سازند. ما در سیستم های لینوکس بازسازی خط سیر ماوس را به شکلی بسیار واضح و عالی و در سیستم های ویندوز و مکینتاش این بازسازی را در حدی نزدیک به عالی مشاهده نمودیم.

مقدمه
 

ارتباط ماوس بلوتوث عموماً رمزگذاری نشده است. چنین به نظر می رسد که تولید کنندگان ماوس، مثلاً Logitech عقیده دارند که رمزگذاری کاری بیهوده ای است. البته خوشبختانه ما چنین نظری نداریم! در این مقاله ما به شما نشان خواهیم داد که چگونه یک نفر حتی وقتی 30 متر دورتر از شما باشد می تواند با استفاده از یک Bluetooth Sniffer از کلمه های عبور و الگوهای استفاده شما از کامپیوتر آگاهی پیدا کند و این کار را به سادگی و با ثبت حرکات و کلیک های ماوس انجام دهد. Sniffer ی که ما در این مقاله استفاده می کنیم یک FTS4BT Bluetooth Protocol Analyzer است که به شکل تجاری در دسترس قرار دارد.
با استفاده از این Sniffer، ما قادر خواهیم بود یک hexadump/trace رمزگذاری نشده از حرکات خام منتشر شده توسط ماوس را به شکل پسیو به دست آوریم. چنین ردی، اگر چه بی حاصل به نظر می رسد اما از پتانسیل آشکار نمودن کلمه های عبور کاربر از طریق بازسازی حرکات نشان گر ماوس بر روی صفحه نمایش برخوردار است. سناریویی را در نظر بگیرید که در آن یک نفر با استفاده از یک صفحه کلید نرم افزاری نظیر نمونه های مبتنی بر وب که توسط بانک HSBC مورد استفاده قرار می گیرد اطلاعات محرمانه مربوط به حساب خود را تایپ می کند. اگر فعالیت این فرد Sniff شده باشد، امکان دارد ردی از کلمه عبور که اساساً مجموعه ای ازکلیک های ماوس در محل های گوناگون است در حرکات خام ماوس Sniff شده پنهان شده باشد. یک mapping صحیح از حرکات خام در مقایسه با مکان های نشان گر بر روی صفحه نمایش ممکن است منجر به آشکار شدن یک رونوشت عالی از کلمه عبور شود. بدین ترتیب، ما اعتقاد داریم که ارتباطات بی سیم از طریق ماوس بلوتوث/RF باید رمزگذاری شود. در غیر این صورت، این نوع ارتباط ممکن است منجر به تهاجمی عمیق و قابل توجه به حریم خصوصی کاربر گردد.
ما در کوشش خود برای Sniff کلمه های عبور به موفقیت های نسبتاً خوبی دست پیدا کردیم. علی الخصوص، ما توانستیم در یک سیستم لینوکس کلمه های عبور را به خوبی حدس بزنیم در حالی که در سیستم های تحت ویندوز و Mac OS X تا حدودی موفق به بازسازی دوباره کلمه های عبور شدیم. چالش بزرگی که در این جا وجود دارد دامنه محدود و برد کوتاه ارتباطات بلوتوث است زیرا تصور این که یک قربانی الزاماً در مجاورت ما قرار دارد فرضی غیر عملی است. برای غلبه بر این مشکل ما از یک رادیوی USRP2 نرم افزاری با آنتن های ویژه که می تواند ارتباطات بلوتوث را از فاصله 30 متری Sniff کند استفاده کردیم. شکل (1)، حرکات پیش بینی شده یک نشان گر ماوس بلوتوث در سیستم های لینوکس، ویندوز و Mac OS را نشان می دهد.
به روشنی مشاهده می شود که می توانیم به خوبی حرکت های واقعی ماوس را در لینوکس پیش بینی کنیم. همانگونه که بعداً مفصلاً توضیح خواهیم داد، نقصانی که از این منظر در دو سیستم دیگر وجود دارد به واسطه استراتژی های خاص آن ها در زمینه mapping حرکات خام مکان نشان گر؛ مثلاً شتاب دهی ماوس حاصل می شود. تا جایی که به دانش ما مربوط می شود آسیب پذیری پنهان در ارتباطات ماوس بلوتوث قبلاً نامکشوف یا به طور گسترده ای نادیده گرفته شده بود. به عنوان مثال Logitech در مطلبی که در یک white paper در هفتم جولای 2009 به چاپ رسید اشاره کرده بود از آن جائی که تغییر مکان یک ماوس نمی تواند هیچ اطلاعات مفیدی در اختیار یک هکر قرار دهد در نتیجه نیازی به رمزگذاری آن وجود ندارد. بنابراین هدف ما به صدا درآوردن زنگ هشداری برای این صنعت است تا به آن ها بگوئیم ارتباطات رمزگذاری نشده از طریق ماوس بلوتوث ممکن است باعث به خطر افتادن حریم خصوصی و امنیت کاربران شود. ما قصد داریم تولید کنندگان ماوس های بلوتوث/RF را به رمزگذاری داده ها و تقویت مکانیزم و اصول امنیتی مورد استفاده در device pairing ترغیب کنیم.

Sniffing (بو کشیدن) ارتباطات بلوتوث
 

بلوتوث به منظور تقسیم کردن فرکانس ‎2.4GHz به 79 کانال طراحی شده است. دو وسیله synchronize شده بلوتوث برای برقراری ارتباط اطلاعاتی از طریق این فرکانس ها با هم جفت می شوند. در هر فرکانس، یک وسیله برای 625 میکروثانیه اقامت می گزیند که به این زمان dwell time (زمان اقامت ) گفته می شود.
به ترتیب فرکانس ها hopping sequence گفته می شود. شمای frequency-hopping می تواند از تداخل سایر سیگنال ها در محیط هایی که از نظر فرکانس رادیویی شلوغ هستند جلوگیری به عمل آورد.
ما در اصل از یک Sniffer بلوتوث تجاری ساخت Frontline که یک وسیله USB است استفاده کردیم. این وسیله، داده های Snif شده را با فرمت hexdump بیرون می دهد.
برای انجام Sniffing، ابزار FTS4BT باید فرکانس hopping sequence توافق شدن بین یک ابزار بلوتوث Master و Slave را جمع آوری کند. این وسیله تنها زمانی می تواند شروع به Sniffing کند که ساعت خود را با وسیله Master؛ که معمولاً ماوس است سینک نماید. هر چند برای فعال نمودن Sniffing از فواصل دورتر، ما می توانیم از چندین رادیوی تعریف شده توسط نرم افزار (SDR)، رادیوی GNU و (Universal Software Radio Peripheral 2 (USRP2 استفاده کنیم. این کار به ما اجازه داد ارتباطات بلوتوث را از فاصله ای 30 متری Snif کنیم. یک Sniffer کامل با استفاده از USRP2 هنوز تحت توسعه قرار دارد. ما در این مقاله نتایج به دست آمده از Frontline Sniffer را برای شما تشریح می کنیم.

از حرکات خام ماوس تا حرکات نشان گر بر روی صفحه نمایش
 

به منظور بازسازی حرکت های نشان گر ماوس از حرکت های خام یک ماوس بر روی نمایش گر، داشتن درکی دقیق از چگونگی استفاده از شتاب دهی ماوس (mouse acceleration) الزامی است. شتاب دهی ماوس، که به آن شتاب دهی نشان گر نیز گفته می شود نوعی ویژگی است که امروزه در اغلب سیستم عامل های معروف یعنی ویندوز، لینوکس و Mac OS X وجود دارد. این ویژگی، ارتباط بین حرکت نشان گر ماوس بر روی صفحه نمایش و حرکت های فیزیکی /خام ماوس را تعریف و تبیین می کند. این ویژگی، توانایی پیمایش کارآمد ماوس را با رزولوشن بالا بر روی صفحه نمایش با حداقل حرکت فیزیکی و جابجایی یک ماوس برای کاربران فراهم می کند. علاوه بر این، به کاربران اجازه می دهد از دقت pixel-level نمایش گرهای (high-dpi(dots-per-inch استفاده کنند. توجه داشته باشید که واژه رزولوشن که به شکل گسترده ای مورد استفاده همه قرار دارد به شکل نادرستی به معنای ابعاد پیکسلی نمایش گر یک کامپیوتر به کار می رود. در حقیقت رزولوشن براساس پیکسل های موجود در هر اینچ (pixels-per-inch) یا نقطه های موجود در هر اینچ (dots-per-inch) اندازه گیری می شود.
مشخصات و چگونگی به کارگیری شتاب دهی ماوس در سیستم عامل های مختلف فرق می کند. در ادامه این مقاله ما نتایج به دست آمده از ویژگی شتاب دهی ماوس در سیستم عامل های مختلف را برای شما تشریح خواهیم کرد.

شتاب دهی ماوس در لینوکس
 

شتاب دهی ماوس در لینوکس خیلی ساده انجام می گیرد: اگر مشخص شد که ماوس به طور فیزیکی برای T دفعه از threshold unit ها حرکت کرده است، سپس آن یونیت ها را به طور جداگانه در محور های X وY در M ضرب کن تا حرکت نشان گر ماوس در پیکسل به دست آید. در این معادله T و M عدد هستند. توجه به این نکته مهم است که T با فاصله manhat-tan حرکات گزارش شده ماوس مقایسه می شود. به عنوان مثال اگر حرکت یک ماوس 3.4 گزارش شود در نتیجه وقتی بر روی محور XوY؛ T=6 و M=2 باشد حرکت نشان گر ماوس 6.10 خواهد بود. شتاب دهی ماوس در لینوکس را می توان به سادگی و از گزینه Mouse and Keyboard در منوی Configuration تنظیم کرد و یا آن را از برنامه Terminal و با استفاده از فرمان xset m acceleration M threshold T ست کرد.
سایر تنظیمات مربوط به ماوس را می توان در بخش InputDevice در /etc/X11/xorg.comf‏‎ پیدا کرد.
در لینوکس برنامه های کاربردی چگونه رخدادهای ماوس را دریافت می کنند؟
شکل (2)، پُشته درایور ورودی در لینوکس را نشان می دهد. برنامه های کاربردی لینوکس؛ مثلاً سیستمX11 از طریق گره ها یا فایل هایی که در دایرکتوری dev/‎ قرار گرفته اند با سایر ابزار ارتباط برقرار می کنند. به طور خاص،dev/input/mice/‎ برای تمام ماوس های متصل به سیستم مورد استفاده قرار می گیرد. درایور (mousedev(PS2-emulator این فایل های ابزار را ایجاد می کند. فرمت داده های مربوط به حرکت خام ماوس که برای تمام برنامه های کاربردی در دسترس قرار دارد استاندراد PS/2 است. به طور خاص، برای یک ماوس 5 دکمه ای که ما معمولاً به کار می گیریم، از Intellimouse extension استاندارد PS/2 استفاده می شود. ما می توانیم از طریق فایلی به نام device file به ابزار متصل به سیستم لینوکس دسترسی پیدا کنیم.

ماوس های بلوتوث می توانند باعث آشکار شدن کلمه های عبور شما شوند!

Semantics داده های خام ماوس بلوتوث
 

Semantics از طریق مهندسی معکوس درک می شود. hexadump نمایش داده شده در این جا از ابزار Bluetooth packet Logger در Mac OS X گرفته شده است. هر چند، این hexadump ها برای تمام ابزار sniffer/logger ساختار یکپارچه ای دارند. نکته مهم در این جا این است که بحث زیر بر حرکت های خام ماوس متمرکز است و نه بر حرکت های نشان گر ماوس بر روی صفحه نمایش حاصل از داده های SNIF شده بلوتوث .
Microsoft Bluetooth Mouse 5000
hexadump-[ACL RECEIVE]2E 20 0B 00 07 00 41 00 A1
‎11 00
{‎FE}00 00 01 ‏‎
فیلدهایی که در پرانتزها دیده می شوند حرکت X و Yماوس را نشان می دهند. این داده ها در فرمت دوتایی نمایش داده می شوند.
Logitech V470-Cordless Laser mouse
hexadump-[ACL RECEIVE]2E 20 0C 00 08 00 41 00 A1
‎02‎ 00
{F3 FF FF} 00 00‏
در این جا سه فیلد موجود در پرانتزها برای محاسبه حرکت ماوس به کار برده می شود.
قوانین زیر به حرکت اعمال می شود: اولین فیلد را (X-raw(F3، دومین فیلد را (Y1-raw(FFو سومین فیلد را
Y2-raw (FF)‎ در نظر بگیرید. X-mouse و Y-mpuse نشان دهنده حرکت های خام ماوس بر روی محورهای X و Y است.
ما همچنین استراتژهای شتاب دهی ماوس را در ویندوز و مکینتاش مورد بررسی قرار دادیم. آن ها در مقایسه با لینوکس پیچیده تر هستند. ما الگوریتم های مربوط به مهندسی معکوس حرکت های نشان گر ماوس از داده های خام را برای ویندوز و مکینتاش نیز طراحی کردیم.
با توجه به نتایج حاصل از بازسازی حرکت ماوس در شکل(1)، می توانیم مشاهده کنیم که مسیر پیش بینی شده در ویندوز و مکینتاش دقیقاً با مسیر واقعی تطبیق نمی کند. ما اعتقاد داریم که تفاوت اندکی که در این جا وجود دارد به واسطه استراتژی محاسبات در ویندوز و مکنیتاش ایجاد شده است. در لینوکس، رخداد ماوس بدون هر نوع باقی مانده ای از یک رخداد به رخداد دیگر به صورت رخداد به رخداد پردازش می شود.
هر چند در ویندوز و مکینتاش، الگوریتم های شتاب دهی ماوس ممکن است مکان ماوس را از گروهی از رخدادهای ماوس محاسبه کنند که این کار منجر به ایجاد خطایی اندک در پیش بینی مسیر حرکت می شود زیرا ما به عنوان یک شخص ثالث در مورد رخدادهایی که در کنار هم در یک batch مشابه پردازش می شوند علم و آگاهی لازم را نداریم.

نتیجه گیری و کارهای آتی
 

در این مقاله ما پیام واضح و روشنی در مورد وجود آسیب پذیری در ارتباطات ماوس بلوتوث و چگونگی سوءاستفاده افراد مهاجم از آن را اعلام کردیم. تحقیقات ما مسائل زیر را نشان داد:
آسیب پذیری پنهان در ارتباطات ماوس بلوتوث که به شکل گسترده ای نادیده گرفته شده است. این موضوع باعث درز کلمه های عبور و آشکار شدن آن برای دیگران می شود.
وجود حرکت های غیرمستقیم اما کاملاً مشهود نشان گر ماوس در hexadump خام ارتباطات ماوس بلوتوث.
نظریه شتاب دهی ماوس /نشان گر و این که چگونه چنین مفهومی می تواند در سه سیستم عامل عمده برای بازسازی مختصات نشان گر ماوس بر روی صفحه نمایش مورد استفاده قرار گیرد.
ما اعتقاد داریم که تمام ماوس های RF در معرض حمله قرار دارند.
منبع: بزرگراه رایانه، شماره ی 140



 



نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط