جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
ماوس هاي بلوتوث مي توانند باعث آشکار شدن کلمه هاي عبور شما شوند!
-(0 Body) 
ماوس هاي بلوتوث مي توانند باعث آشکار شدن کلمه هاي عبور شما شوند!
Visitor 144
Category: دنياي فن آوري
ما در اين مقاله يک آسيب پذيري پنهان در ارتباط ماوس هاي بلوتوث که ممکن است باعث درز و آشکار شدن اطلاعات شما، شامل کلمه هاي عبور شوند را به شما معرفي مي کنيم.
ارتباطاتي که از طريق ماوس هاي بلوتوث ايجاد مي شوند، عموماً رمزگذاري نشده است هستند. وقتي شتاب دهي پيش فرض ماوس فعال باشد با 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
Add Comments
Name:
Email:  
User Comments:
SecurityCode: Captcha ImageChange Image