امروزه یکی از روشهای احرازهویت، استفاده از اثر انگشت هستش. این شیوه خیلی در گوشی ها بکار میره. اما به تازگی حمله ای معرفی شده بنام ، BrutePrint که با استفاده از حملات بروت فورس، میتونه این ویژگی امنیتی رو بشکنه.
در سال 1892 ، یه دانشمند انگلیسی بنام Francis Galton ، یه مقاله ای منتشر کرد بنام Finger Prints که در اون اعلام کرده بود ،احتمال اینکه دو تا اثر انگشت شبیه به هم باشه، ۱ به ۶۴ میلیارد هستش. این عدد نشون دهنده منحصر به فرد بودن اثر انگشت هستش و میشه از اون بعنوان یه روش احراز هویت استفاده کرد.
اما نکته ای که وجود داره، تحقیقات این دانشمندان، در دنیای آنالوگ کاربردی هستش، مثلا در صحنه جرم و جنایات . اما بازی در دنیای دیجیتال یکمی متفاوت هستش.
کیفیت نمایش اثر انگشت در دنیای دیجیتال به عوامل مختلفی بستگی داره از جمله : نوع سنسور ، اندازه و وضوح اون ، الگوریتم های پردازشی و تطابق تصاویر.
مثلا در شکل های زیر، سمت چپیه متعلق به اثر انگشت جمع آوری شده از Francis Galton در 150 سال پیش هستش و سمت راستیه، اثر انگشتی هست که توسط گوشی هوشمند شما گرفته شده.
همچنین ، توسعه دهنده باید یه محصول مقرون به صرفه تولید کنه تا همه بتونن بخرن، تایید اثر انگشت در چند ثانیه رخ بده و از False negative هم اجتناب کنه. در نتیجه میشه این نتیجه گیری رو داشت که احرازهویت دیجیتالی خیلی هم دقیق نمیتونه باشه.
هنگام اشاره به سنسورهایی که در گوشی ها استفاده میشه، دیگه مقدار ۱ به ۶۴ میلیارد نداریم. مثلا اپل احتمال شباهت دو اثر انگشت در Touch ID رو 1 به 50هزار تخمین زده. بنابراین برای سنسورهای ارزونتر، این مقدار میتونه خیلی کمتر باشه.
با این اوصاف ما از میلیارد به هزار رسیدیم و امکان استفاده از بروت فورس رو میتونیم داشته باشیم. حملات بروت فروس، حملاتی هستن که در اون ، همه ترکیبات برای بدست آوردن کد، پسورد و … ،کنار هم قرار میگیرن تا در نهایت ترکیب درست رو بدست بیاریم.
اما برای اینکه جلوی حملات بروت فورس در گوشی ها گرفته بشه، یه ویژگی امنیتی در نظر گرفتن. اونم تعداد تلاش برای وارد کردن ترکیب هستش. یعنی 5 بار میتویند اثرانگشت رو وارد کنید و اگه بعد از 5 بار تلاش، موفقیت آمیز نبود، یه دوره زمانی این ویژگی قفل میشه و نمیشه مورد جدیدی رو وارد کرد.
محققای Tencent Labs و دانشگاه Zhejiang یه روش جدیدی رو معرفی کردن بنام BrutePrint که این محدودیت رو در گوشی های اندرویدی دور میزنه. در این روش یسری اثر انگشت به دستگاه ارسال میشه، تا اینکه اثرانگشت صحیح پیدا بشه.
روشی که این محققا معرفی کردن از دید کلی ،رو این اصل هستش که در گوشی های تست شده ، ارتباط بین سنسور و سیستم رمز نشده و میشه روشون حملات MITM رو برای دور زدن احرازهویت انجام داد. فقط در این روش باید گوشی در دسترس باشه. برای این منظور هم یه دستگاهی رو ساختن که از طریق پورت SPI مادربرد، به گوشی وصل میشه و با اون پیامهای ارسالی از سنسور رو میگیرن، و با شبیه سازی سنسور اثرانگشت، داده های خودشون رو ارسال میکنن. این دستگاه رو با یه کلیک کننده خودکار روی صفحه هوشمند گوشی تکمیل کردن.
محققا یه دیتابیس از اثر انگشت ها رو هم دارن که به گفته خودشون از تحقیقات قبلی ، داده های لو رفته و … بدست آوردن. این دیتابیس رو به هوش مصنوعی دادن تا بتونن یه دیکشنری از اثر انگشت تولید کنن تا بتونن عملکرد بروت فروس رو بالا ببرن. کاری که هوش مصنوعی با این دیتابیس کرده اینه که اونا رو به نمونه هایی تبدیل کرده که انگار سنسور گوشی هدف ، اونارو اسکن و تولید کرده.
حمله BrutePrint از دو آسیب پذیری ، Cancel-After-Match-Fail (CAMF) و Match-After-Lock سوء استفاده میکنه. این آسیب پذیری ها در منطق اولیه چارچوب های احرازهویت اثرانگشت در گوشی های اندرویدی ،کشف شده.
Cancel-After-Match-Fail (CAMF): از دو ویژگی Multi-sampling و Error-cancel در سیستم های احراز هویت اثر انگشت سوء استفاده میکنه. منظور از Multi-sampling اینه که، نمونه هایی که برای تایید وارد میشن، بسته به نوع گوشی ، میتونن مختلف باشن. منظور از Error-cancel هم اینه که، نتیجه یه اثر انگشت ورودی، میتونه دارای خطا هم باشه.
اگه به شکل زیر نگاه کنید، ما چهار نمونه اثر انگشت داریم، Error ، Matched ، Non-Live و UnMatched . اگه Matched باشه که نتیجه موفقیت آمیز هستش و احراز هویت تایید میشه. اگه Error باشه، احرازهویت کنسل میشه و فرایند بر میگرده. اگه UnMatched باشه، احراز هویت شکست خورده و به تعداد احرازهویت های شکست خورده (M) یه واحد اضافه میشه که اگه به مقدار 5 برسه، برایه یه مدتی قفل میشه.
کاری که CAMF میکنه اینه که، اثر انگشت می فرسته، اگه تطابق داشته باشه که حله، اما اگه نه ، اونو تبدیل به Error میکنه تا کانتر دور بزنه و با این روش میتونه بی نهایت اثر انگشت برای تست وارد سیستم کنه.
Match-After-Lock (MAL) : وقتی ما اثرانگشت نادرستی رو وارد میکنیم، گوشی از یه مکانیسم امنیتی استفاده میکنه و گوشی رو مدتی در حالت lockout قرار میده. اما نکته ای که هست، خیلی از سیستم های احراز هویت اثر انگشت، این مکانیسم رو به درستی پیاده سازی نکردن. بنابراین میشه در این دوره هم باز تصاویری رو ارسال کرد و از سیستم نتیجه درست یا نادرست گرفت. یه نکته ای هم که هست اگه در این دوره زمانی، اثر انگشت صحیح رو هم پیدا کنید، امکان ورود نیست و باید منتظر بود تا این دوره تموم بشه.
این حمله روی گوشی های زیر تست شده:
- Xiaomi Mi 11 Ultra
- Vivo X60 Pro
- OnePlus 7 Pro
- OnePlus 5T
- OPPO Reno Ace
- Samsung Galaxy S10+
- Huawei Mate30 Pro 5G
- Huawei P40
- Apple iPhone SE
- Apple iPhone 7
حمله ای که از CAMF استفاده کرده، روی همه گوشی های اندرویدی به غیر از HarmonyOS جواب داده. آسیب پذیری MAL روی Vivo و Xiaomi و گوشی که سیستم عامل HarmonyOS داشته جواب داده.
تمام گوشی هایی که در این آزمایش بودن، بطور خلاصه با یکی از دو آسیب پذیری مطرح شده در این گزارش آسیب پذیر بودن و امکان حمله بروت فورس رو دادن.
زمان لازم برای بروت فروس گوشی های هوشمندی که در این مطالعه تست شدن و فقط یک اثر انگشت ثبت شده داشتن، بین 2.9 تا 13.9 ساعت بوده. اما برای گوشی هایی که امکان ثبت چندین اثر انگشت وجود داشته، 4 تا برای سامسونگ و 5 تا برای بقیه، هک کردن اونا کمتر هم شده، زمان لازم بین 0.66 تا 2.78 ساعت بوده.
گوشی های آیفون در این حمله مقاومتر بودن، دلیلش هم اینه که ارتباط بین سنسور و سیستم رمزنگاری شده بود. بنابراین راهی برای وارد کردن تصاویر اثر انگشت در دستگاههایی که از Touch ID استفاده میکنن نیست.
فقط موردی که در گوشی های آیفون هست اینه که در گوشی های اندرویدی میشه، این تست تا بی نهایت انجام داد، اما در آیفونها میشه تعداد تست از 5 به 15 اثر انگشت افزایش داد.
بنابراین کاربران iOS در برابر این حملات امن هستن. بخصوص اینکه مدلهای جدید از Face ID استفاده میکنن.
این حمله تا چه حد میتونه خطرناک باشه:
کاربران اندروید هم نباید زیاد نگران حمله BrutePrint باشن، چرا :
- این حمله نیاز به دسترسی فیزیکی به گوشی داره.
- برای ارتباط نیاز به باز کردن گوشی و اتصال به مادربرد داره که برای این کار نیاز به دانش خاصی هستش.
- در نهایت اینکه این حمله نیاز به تجهیزات سخت افزاری و نرم افزاری و دیتابیس و مدل هوش مصنوعی داره.
فقط زمانی میتونه خطرناک باشه، که یه عده ای با هدف کارآفرینی بیان و محصول رو تجاری سازی کنن.
اگه فکر میکنید در برابر این حمله آسیب پذیر هستید و شما رو تهدید می کنه :
تا جایی که میتونید از اثر انگشت کمتری استفاده کنید. یه مورد دیدید که زمان رسیدن رو افزایش میده.
علاوه بر اثر انگشت از گزینه های امنیتی دیگه مثله پین و رمز هم استفاده کنید
از محصولات امنیتی مانند AppLock در نسخه اندرویدی کسپرسکی، استفاده کنید