{"id":31729,"date":"2023-05-31T07:13:09","date_gmt":"2023-05-31T11:13:09","guid":{"rendered":"https:\/\/www.kaspersky.co.za\/blog\/fingerprint-brute-force-android\/31729\/"},"modified":"2023-06-01T12:08:58","modified_gmt":"2023-06-01T10:08:58","slug":"fingerprint-brute-force-android","status":"publish","type":"post","link":"https:\/\/www.kaspersky.co.za\/blog\/fingerprint-brute-force-android\/31729\/","title":{"rendered":"BrutePrint: bypassing smartphone fingerprint protection"},"content":{"rendered":"<p>Fingerprint recognition is believed to be a fairly secure authentication method. Publications on different ways to <a href=\"https:\/\/www.kaspersky.com\/blog\/sas2020-fingerprint-cloning\/34929\/\" target=\"_blank\" rel=\"noopener nofollow\">trick the fingerprint sensor<\/a> do pop up now and again, but all the suggested methods one way or another boil down to physical imitation of the phone owner\u2019s finger \u2014 whether using a silicone pad or <a href=\"https:\/\/slate.com\/technology\/2016\/03\/michigan-state-university-research-shows-how-easy-it-is-to-trick-a-fingerprint-scanner.html\" target=\"_blank\" rel=\"nofollow noopener\">conductive ink printout<\/a>. This involves procuring a high-quality image of a finger \u2014 and not any finger, mind, but the one registered in the system.<\/p>\n<p>In a nutshell, all these methods come with lots of real-world hassle. But is it possible to do it somehow more elegantly, without leaving the purely digital world and all its benefits? Turns out, it is: Chinese researchers Yu Chen and Yiling He recently published a study on how to brute-force almost any fingerprint-protected Android smartphone. They called the attack <a href=\"https:\/\/arxiv.org\/pdf\/2305.10791.pdf\" target=\"_blank\" rel=\"nofollow noopener\">BrutePrint<\/a>.<\/p>\n<h2>How unique are fingerprints?<\/h2>\n<p>\nBefore we get to investigate our Chinese comrades\u2019 work, briefly \u2014 some background theory\u2026 To begin with, and you may know this, but fingerprints are truly unique and never alter with age.<\/p>\n<p>Now, way back in 1892, English scientist Sir Francis Galton published a work laconically entitled <a href=\"https:\/\/galton.org\/books\/finger-prints\/galton-1892-fingerprints-1up.pdf\" target=\"_blank\" rel=\"nofollow noopener\">Finger Prints<\/a>. In it, he summarized the then-current scientific data on fingerprints, and Galton\u2019s work laid the theoretical foundation for further practical use of fingerprints in forensics.<\/p>\n<p>Among other things, Sir Francis Galton calculated that fingerprint match probability was \u201cless than 2<sup>36<\/sup>, or one to about sixty-four thousand million\u201d. Forensic experts stick with this value even to this day.<\/p>\n<p>By the way, if you\u2019re into hardcore anatomy or the biological factors behind the uniqueness of fingerprints, here\u2019s a <a href=\"https:\/\/www.cell.com\/action\/showPdf?pii=S0092-8674(23)00045-4\" target=\"_blank\" rel=\"nofollow noopener\">new research paper<\/a> on the subject.<\/p>\n<h2>How reliable are fingerprint sensors?<\/h2>\n<p>Sir Francis\u2019s work and all that stemmed from it, however, relates to the (warm) analog world, covering things like the taking of fingerprints, matching them to those left at, say, a crime scene, and Bob\u2019s your uncle. But things are somewhat different in the (cold) digital reality. The quality of digital fingerprint representation depends on multiple factors: type of sensor, its size and resolution, and \u2014 in no small measure \u2014 \u201cimage\u201d post-processing and matching algorithms.<\/p>\n<div id=\"attachment_48310\" style=\"width: 1473px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132655\/fingeprint-brute-force-android-scr-1.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-48310\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132655\/fingeprint-brute-force-android-scr-1.jpg\" alt=\"Comparing a digital fingerprint captured by an optical sensor to an analog fingerprint copy\" width=\"1463\" height=\"880\" class=\"size-full wp-image-48310\"><\/a><p id=\"caption-attachment-48310\" class=\"wp-caption-text\">Fingerprints as they were seen by Sir Francis Galton 150 year ago (left), and by your cutting-edge smartphone\u2019s optical sensor (right). <a href=\"https:\/\/galton.org\/books\/finger-prints\/galton-1892-fingerprints-1up.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Source<\/a> and <a href=\"https:\/\/arxiv.org\/pdf\/2305.10791.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Source<\/a><\/p><\/div>\n<p>And, of course, the developer needs to make the device dirt-cheap (or no one will buy it), achieve split-second authentication (or get overwhelmed by complaints about slow speed), and avoid false negatives at all costs (or the user will discard the whole thing altogether). The result is not very accurate authentication systems.<\/p>\n<p>So when referring to sensors used in smartphones, much less optimistic figures are quoted for fingerprint fragment match probability than the famous 1 to 64 billion. For example, Apple estimates the probability for <a href=\"https:\/\/support.apple.com\/HT204587\" target=\"_blank\" rel=\"nofollow noopener\">Touch ID<\/a> at 1 to 50,000. So it can be assumed that for budget-friendly sensor models the probability will shrink further by an order or two.<\/p>\n<p>This takes us from billions to thousands. Which is already within reach for <a href=\"https:\/\/en.wikipedia.org\/wiki\/Brute-force_search\" target=\"_blank\" rel=\"nofollow noopener\">brute-forcing<\/a>. So, the potential hacker is only one obstacle away from the prize: the limit on the number of fingerprint recognition attempts. Normally only five of them are allowed, followed by a prolonged fingerprint authentication lockout period.<\/p>\n<p>Can this obstacle be overcome? Yu Chen and Yiling He give an affirmative reply to that in their study.<\/p>\n<h2>BrutePrint: preparing to brute-force fingerprint-protected Android smartphones<\/h2>\n<p>The researcher\u2019s method is based on a flaw in Android smartphones\u2019 generic fingerprint sensor implementation: none of the tested models encrypted the communication channel between the sensor and the system. This opens up the opportunity for an <a href=\"https:\/\/encyclopedia.kaspersky.com\/glossary\/man-in-the-middle-attack\/\" target=\"_blank\" rel=\"noopener\">MITM attack<\/a> on the authentication system: with a device connected to the smartphone via the motherboard\u2019s SPI port, one can both intercept incoming messages from the fingerprint sensor, and send one\u2019s own messages by emulating the fingerprint sensor.<\/p>\n<p>The researchers built such a device (pseudo-sensor) and supplemented it with a gadget for automatic clicking on the smartphone\u2019s sensor screen. Thus the hardware component part was set up to feed multiple fingerprint images to smartphones in automatic mode.<\/p>\n<div id=\"attachment_48309\" style=\"width: 1470px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132707\/fingeprint-brute-force-android-scr-2.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-48309\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132707\/fingeprint-brute-force-android-scr-2.jpg\" alt=\"Device used for the BrutePrint attack\" width=\"1460\" height=\"800\" class=\"size-full wp-image-48309\"><\/a><p id=\"caption-attachment-48309\" class=\"wp-caption-text\">Device for brute-forcing the fingerprint authentication system. <a href=\"https:\/\/arxiv.org\/pdf\/2305.10791.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Source<\/a><\/p><\/div>\n<p>From there, they proceeded to prepare fingerprint specimens for brute-forcing. The researchers don\u2019t disclose the source of their fingerprint database, confining themselves to general speculation as to how the attackers might get it (research collections, leaked data, own database).<\/p>\n<p>As a next step, the fingerprint database was submitted to an AI to generate something like a fingerprint dictionary to maximize brute-forcing performance. Fingerprint images were adapted by AI to match those generated by the sensors installed on the smartphones participating in the study.<\/p>\n<div id=\"attachment_48308\" style=\"width: 1110px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132724\/fingeprint-brute-force-android-scr-3.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-48308\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132724\/fingeprint-brute-force-android-scr-3.jpg\" alt=\"Examples of images generated by fingerprint sensors of different types\" width=\"1100\" height=\"400\" class=\"size-full wp-image-48308\"><\/a><p id=\"caption-attachment-48308\" class=\"wp-caption-text\">Images returned by different types of fingerprint sensors are quite different from one another. <a href=\"https:\/\/arxiv.org\/pdf\/2305.10791.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Source<\/a><\/p><\/div>\n<h2>The two vulnerabilities at the bottom of BrutePrint: Cancel-After-Match-Fail and Match-After-Lock<\/h2>\n<p>The BrutePrint attack exploits two vulnerabilities. The researchers discovered them in the basic logic of the fingerprint authentication framework which, from the looks of it, comes with all Android smartphones without exception. The vulnerabilities were called Cancel-After-Match-Fail and Match-After-Lock.<\/p>\n<h3>The Cancel-After-Match-Fail vulnerability<\/h3>\n<p><strong>Cancel-After-Match-Fail (CAMF)<\/strong><\/p>\n<p> exploits two important features of the fingerprint authentication mechanism. The first is the fact that it relies on multisampling, meaning that each authentication attempt uses not just one but a series of two to four fingerprint images (depending on the smartphone model). The second is the fact that, in addition to <em>fail<\/em>, an authentication attempt can also result in <em>error<\/em> \u2014 and in this case, there\u2019s a return to the start.<\/p>\n<p>This allows sending a series of images ending in a frame pre-edited to trigger an error. Thus, if one of the images in the series triggers a match, a successful authentication will take place. If not, the cycle will end in an error, after which a new series of images can be submitted without wasting the precious attempt.<\/p>\n<div id=\"attachment_48307\" style=\"width: 1610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132735\/fingeprint-brute-force-android-scr-4.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-48307\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132735\/fingeprint-brute-force-android-scr-4.jpg\" alt=\"Cancel-After-Match-Fail fingerprint authentication logic vulnerability diagram\" width=\"1600\" height=\"550\" class=\"size-full wp-image-48307\"><\/a><p id=\"caption-attachment-48307\" class=\"wp-caption-text\">How Cancel-After-Match-Fail works: error gets you back to the starting point without wasting an attempt. <a href=\"https:\/\/arxiv.org\/pdf\/2305.10791.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Source<\/a><\/p><\/div>\n<h3>The Match-After-Lock vulnerability<\/h3>\n<p>The second vulnerability is <strong>Match-After-Lock (MAL)<\/strong>. The fingerprint authentication logic provides for a lockout period following a failed attempt, but many smartphone vendors fail to correctly implement this feature in their Android versions. So even though successful fingerprint authentication is not possible in lockout mode, one can still submit more and more new images, to which the system will still respond with an honest \u2018true\u2019 of \u2018false\u2019 answer. That is, once you detect the correct image, you can use it as soon as the system is out of lockout, thus completing a successful authentication.<\/p>\n<h2>Attacks exploiting Cancel-After-Match-Fail and Match-After-Lock<\/h2>\n<p>The attack exploiting the first vulnerability was successful for all the tested smartphones with genuine Android onboard, but for some reason it didn\u2019t work with <a href=\"https:\/\/en.wikipedia.org\/wiki\/HarmonyOS\" target=\"_blank\" rel=\"nofollow noopener\">HarmonyOS<\/a>. Match-After-Lock was exploited on Vivo and Xiaomi smartphones as well as on both Huawei phones running HarmonyOS.<\/p>\n<div id=\"attachment_48306\" style=\"width: 2210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132755\/fingeprint-brute-force-android-scr-5.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-48306\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132755\/fingeprint-brute-force-android-scr-5.jpg\" alt=\"Table of vulnerability of various smartphones to Cancel-After-Match-Fail and Match-After-Lock\" width=\"2200\" height=\"1500\" class=\"size-full wp-image-48306\"><\/a><p id=\"caption-attachment-48306\" class=\"wp-caption-text\">All the tested smartphones turned out to be vulnerable to at least one attack. <a href=\"https:\/\/arxiv.org\/pdf\/2305.10791.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Source<\/a><\/p><\/div>\n<p>All Android and HarmonyOS smartphones participating in the study were found to be vulnerable to at least one of the described attacks. This means that all of them allowed an indefinite number of malicious fingerprint authentication attempts.<\/p>\n<p>According to the study, it took from 2.9 to 13.9 hours to hack an Android smartphone authentication system with only one fingerprint registered. But for smartphones with the maximum possible number of registered fingerprints for a given model (four for Samsung, five for all the others), the time was greatly reduced: hacking them took from 0.66 to 2.78 hours.<\/p>\n<div id=\"attachment_48305\" style=\"width: 2410px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132818\/fingeprint-brute-force-android-scr-6.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-48305\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/103\/2023\/05\/31132818\/fingeprint-brute-force-android-scr-6.jpg\" alt=\"Smartphone hack time using BrutePrint\" width=\"2400\" height=\"1500\" class=\"size-full wp-image-48305\"><\/a><p id=\"caption-attachment-48305\" class=\"wp-caption-text\">Successful BrutePrint attack probability as a function of spent time: one registered fingerprint (solid line) and maximum number of registered fingerprints (dashed line). <a href=\"https:\/\/arxiv.org\/pdf\/2305.10791.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Source<\/a><\/p><\/div>\n<h2>What about iPhones?<\/h2>\n<p>\nThe Touch ID system used in iPhones turned out to be more resistant to BrutePrint. According to the study, the iPhone\u2019s main advantage is that the communication between the fingerprint sensor and the rest of the system is encrypted. So there\u2019s no way to intercept or to feed the system a prepared fingerprint on a device equipped with Touch ID.<\/p>\n<p>The study points out that iPhones can be partially vulnerable to manipulations used to maximize the number of possible fingerprint recognition attempts. However, it\u2019s not as bad as it may sound: while Android smartphones allow the party to last forever on and on, in iPhones the number of attempts can only be increased from 5 to 15.<\/p>\n<p>So iOS users can sleep peacefully: Touch ID is much more reliable than the fingerprint authentication used in both Android and HarmonyOS. On top of that, nowadays most iPhone models use Face ID anyway.<\/p>\n<h2>How dangerous is all this?<\/h2>\n<p>Android smartphone owners shouldn\u2019t be too worried about BrutePrint either \u2014 in practice the attack hardly poses a major threat. There are several reasons for this:<\/p>\n<ul>\n<li>BrutePrint <strong>requires physical access to the device<\/strong>. This factor alone reduces the probability of anything like it happening to you by a great margin.<\/li>\n<li>Moreover, <strong>to pull off the attack one needs to open the device<\/strong> and make use of a specific connector on the motherboard. Doing that without the knowledge of the owner is hardly easy.<\/li>\n<li>Even in the best case scenario, the attack will <strong>require considerable time<\/strong> \u2014 measured in hours.<\/li>\n<li>And, of course, BrutePrint <strong>requires a peculiar setup<\/strong> \u2014 both hardware and software wise \u2014 including custom equipment, a fingerprint database, and trained AI.<\/li>\n<\/ul>\n<p>Combined, these factors make it extremely unlikely that such an attack could be used in real life \u2014 unless <a href=\"https:\/\/www.theguardian.com\/world\/2023\/apr\/06\/labor-under-pressure-to-ban-use-of-israeli-spyware-in-investigations-of-alleged-welfare\" target=\"_blank\" rel=\"nofollow noopener\">some entrepreneurially-minded folks<\/a> build an easy-to-use commercial product based on the study.<\/p>\n<h2>Protecting Android smartphones against fingerprint brute-forcing<\/h2>\n<p>\nIf, despite the foregoing, you believe you could fall victim to such an attack, here are a few tips on how to protect yourself:\n<\/p>\n<ul>\n<li>Register as few fingerprints as possible (ideally just one). The more fingers you use for authentication, the more vulnerable the system becomes to the described tactic as well as <a href=\"https:\/\/www.nytimes.com\/2017\/04\/10\/technology\/fingerprint-security-smartphones-apple-google-samsung.html\" target=\"_blank\" rel=\"nofollow noopener\">other attacks<\/a>.<\/li>\n<li>Don\u2019t forget to use an extra PIN or password protection for apps that have this option.<\/li>\n<li>By the way, the AppLock function available in the paid version of <a href=\"https:\/\/www.kaspersky.co.za\/mobile-security?icid=en-za_kdailyplacehold_acq_ona_smm__onl_b2c_kdaily_wpplaceholder_sm-team___kisa____f1e79fd4d11f58d1\" target=\"_blank\" rel=\"noopener\">Kaspersky for Android<\/a> allows using separate passwords for any of your apps.<\/li>\n<\/ul>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"kisa-generic-3\">\n","protected":false},"excerpt":{"rendered":"<p>Android fingerprint protection isn&#8217;t that reliable after all: it can be brute-forced even without a copy of your fingerprint.<\/p>\n","protected":false},"author":2726,"featured_media":31731,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[105,359,1232,1269,1250,45],"class_list":{"0":"post-31729","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-news","8":"tag-android","9":"tag-authentication","10":"tag-biometrics","11":"tag-fingerprints","12":"tag-ios","13":"tag-smartphones"},"hreflang":[{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/fingerprint-brute-force-android\/31729\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/fingerprint-brute-force-android\/25733\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/fingerprint-brute-force-android\/21154\/"},{"hreflang":"ar","url":"https:\/\/me.kaspersky.com\/blog\/fingerprint-brute-force-android\/10734\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/fingerprint-brute-force-android\/28428\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/fingerprint-brute-force-android\/26034\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/fingerprint-brute-force-android\/26420\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/fingerprint-brute-force-android\/28907\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/fingerprint-brute-force-android\/27811\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/fingeprint-brute-force-android\/35440\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/fingerprint-brute-force-android\/11484\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/fingerprint-brute-force-android\/48303\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/fingerprint-brute-force-android\/20718\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/fingerprint-brute-force-android\/21407\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/fingerprint-brute-force-android\/30242\/"},{"hreflang":"ja","url":"https:\/\/blog.kaspersky.co.jp\/fingerprint-brute-force-android\/34082\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/fingeprint-brute-force-android\/26342\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/fingerprint-brute-force-android\/32045\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.co.za\/blog\/tag\/biometrics\/","name":"biometrics"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/posts\/31729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/users\/2726"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/comments?post=31729"}],"version-history":[{"count":7,"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/posts\/31729\/revisions"}],"predecessor-version":[{"id":31747,"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/posts\/31729\/revisions\/31747"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/media\/31731"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/media?parent=31729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/categories?post=31729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.co.za\/blog\/wp-json\/wp\/v2\/tags?post=31729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}