شیوهی جدیدی برای سرقت پینکد تلفنهای همراه
موسسه خبری سایبربان: پژوهشگران امنیتی شیوههای مختلفی را برای دور زدن کدهای امنیتی در تلفن توسعه دادهاند که برخی از آنها خطاهای نرمافزاری و برخی دیگر شیوههای مهندسی اجتماعی هستند. اکنون دو پژوهشگر دانشگاه کمبریج یک حملهی side-channel را ترتیب دادند که آنها را قادر میسازد پینکد تلفنهمراه را با استفاده از یک دوربین و میکروفون حدس بزنند.
این شیوه از لحاظ مفهوم ساده به نظر میرسد و اینگونه است که نرمافزار این پژوهشگران در دستگاه تلفنهمراه شخص اجرا شده و زمانی که کاربر پینکد خود را وارد میکند، این برنامه صدای ضربه زدن به کلیدها را از طریق میکروفون ضبط میکند و از دوربین برای جهتیابی تلفن و تماشای چهرهی کاربر در زمان وارد کردن رمز استفاده میکند. با استفاده از این ورودیها، نرمافزار مورد نظرِ پژوهشگران در گلکسی S3 نشان داد پس از ۵ بار تلاش میتواند پینکد چهار رقمی فرد را در بیش از ٪۵۰ مواقع حدس بزند.
راساندرسون و لوران سیمون در مقالهی خود با عنوان PIN Skimmer: Inferring PINs Through the Camera and Microphone توضیح دادند: «با ضبط صدا حین وارد کردن پینکد میتوانیم رخدادهای تماس صفحهی نمایش را شناسایی کنیم و با ضبط ویدئو حین وارد کردن پینکد از دوربین جلو، میتوانیم فریمهای مربوط به رخدادهای تماس را بازیابی کنیم. ما تغییر جهات را از فریمهای تماس استخراج میکنیم و نشان میدهیم که میتوان حدس زد کدام بخشهای صفحهی نمایش توسط کاربر لمس شده است.»
با منظور اجرای حمله مهاجمان نیاز دارند که برنامهی PIN Skimmer خود را در دستگاه شخص داشته باشند. برای این منظور آنها فرض کردند که شخص قربانی برنامهی مخرب را از گوگلپلی یا هر فروشگاه نرمافزاری دیگر بارگیری کرده و برنامهی مذکور پایلود مورد نظر مهاجمان را شامل میباشد.
این دو پژوهشگر در ابتدا نشان دادند که برنامهشان نیاز به بهرهبرداری از یک آسیبپذیری در دستگاه دارد تا بتواند به عنوان روت یا کاربر ممتاز اجرا شود؛ اما کمی بعد دریافتند که این اقدام ضروری نیست و این برنامه میتواند با چند حقهی فریبنده به دوربین و میکروفون دست پیدا کند. PIN Skimmer در تلفنهمراه در حالتهای مختلفی قابل اجراست از جمله حالت پایش، جمعآوری، یادگیری و گزارشگیری. حالت جمعآوری حالتی است که برنامه اطلاعات مورد نظر خود را جمعآوری میکند تا کلیدهای لمس شده توسط کاربر را حدس بزند.
دوربین با فشردن هر کلید عکسی را میگیرد و سپس اطلاعات ذخیره شده را در کارگزار راه دوری بارگذاری میکند. این اطلاعات، ورودی الگوریتمی هستند که رفتار کاربر را میآموزد و توانایی بدافزار را در حدس پینکد کاربر بهبود میبخشد.
این بدافزار دارای قابلیتهای اختفای زیادی است از جمله این که میتواند نور LED را در زمان روشن بودن دوربین غیرفعال کند و با داشتن مذاکرات پنهانی با سامانهعامل تعداد بستههای ارسالی را پنهان نماید. همچنین PIN Skimmer این توانایی را دارد که سر و صداهای محیط اطراف را حین ضبط توسط تلفن کاهش دهد و دقت میکروفون را بهبود بخشد.
مقابله با چنین حملاتی کار دشواری است اما به گفتهی این افراد میتوان با چند اقدام کوچک اثر چنین حملاتی را کاهش داد؛ به گفتهی آنها «کاهش خطر در سطح سامانهعامل راه خوبی است. در اندروید اساساً ۲ راه برای ترغیب کاربر به وارد کردن پینکد وجود دارد. اولین راه استفاده از AlertDialog با گزینهی android:password=true در پروندهی manifest است. این گزینه به سامانهعامل دستور میدهد که به جای ارقام وارد شده، نویسهی ستاره(*) را نمایش دهد. همچنین با نمایش AlertDialog با این گزینه به سامانهعامل دستور میدهیم از دسترسی به منابع سختافزاری اشتراکی از سایر برنامههای نصب شده توسط کاربر ممانعت کند. دومین راه برای درخواست پینکد از طریق مولفهی رابط گرافیکی (Activity) است.»
سایر گزینهها مثل تصادفی کردن موقعیت کلیدها در صفحهکلید و یا وادار کردن کاربر به استفاده از کدهای طولانی ممکن است برای وی خستهکننده یا آزاردهنده باشد.