We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Your secret files are mine: Bug finding and exploit techniques on file transfer app of all top android vendors

00:00

Formal Metadata

Title
Your secret files are mine: Bug finding and exploit techniques on file transfer app of all top android vendors
Alternative Title
Your Secret Files are Mine: Bugfinding & Exploit Techniques Android File Transfer Apps
Title of Series
Number of Parts
335
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Nearby sharing apps are very convenient and fast when you want to transfer files and have been pre-installed on billions of devices. However, we found that most of them will also open a door for attackers to steal your files and even more. First, we did a comprehensive research about all top mobile vendors' pre-installed nearby sharing apps by reverse engineering. Many serious vulnerabilities are found on most of them and reported to vendors. Algorithm and design flaws in these apps can lead to file leaking and tampering, privacy leaks, arbitrary file downloads and even remote code execution. We will present all the related vulnerabilities' details and exploit techniques. Next, we conducted the same research on lots of third-party file sharing apps and found that they are even worse about security and are used by surprising more than 1 billion users. Files transferred between them are nearly naked when our MITM attack devices are nearby. Finally, we will summarize all the attack vectors and two common attack models. We will also present the attack demos and related tools. Besides, we will present our practical mitigations. Currently, we are working with most of the top vendors to mitigate these vulnerabilities. Through this talk, we want to notify users and mobile vendors to pay more attention to this serious situation and fix it better and sooner.
Heat transferComputer fileData miningHeat transferExploit (computer security)Multiplication signMobile appInformation securityAndroid (robot)Software bugGoodness of fitClassical physicsLetterpress printingHypermedia
Information securityHypermediaSocial softwareExploit (computer security)Demo (music)Content (media)SurfaceData transmissionDirected setAndroid (robot)Drop (liquid)Android (robot)Information securityHypermediaSurfaceShared memoryMobile WebDemo (music)Presentation of a groupPhysical systemMobile appVulnerability (computing)Kernel (computing)Software developerExploit (computer security)Data transmissionPlastikkarteInternet der DingeMereologyHeat transferWindowLetterpress printingForm (programming)Computer animation
Heat transferMobile appAndroid (robot)Axiom of choiceTheory of relativity2 (number)NumberSmartphoneShared memoryAndroid (robot)Heat transferWindowMobile appUsability
Android (robot)Mobile appAndroid (robot)outputMobile appProfil (magazine)TouchscreenComputer animation
Mobile appAndroid (robot)CodeGame theoryMaizeDifferent (Kate Ryan album)Information securityHeat transferHeat transferMobile appMultiplication signQR codeComputer animation
Android (robot)Mobile appData typeProcess (computing)Computer fileProcess (computing)Mobile appShared memoryMultilaterationThumbnailConnected spaceKey (cryptography)Type theorySoftwareHeat transferComputer animation
SurfaceComputer fileInformationLink (knot theory)Data transmissionServer (computing)Computer networkPasswordEncryptionAuthenticationRemote procedure callPasswordMobile appSoftwareCodeInformation securitySpywareConnected spaceHeat transferSchlüsselverteilungInformationLink (knot theory)Real numberDirection (geometry)SurfaceEncryptionCASE <Informatik>Metropolitan area networkComputer animation
Level (video gaming)InformationDirectory serviceServer (computing)Component-based software engineeringGoogolReverse engineeringInformation securityAndroid (robot)Android (robot)Demo (music)InformationServer (computing)SurfaceMobile appWeb 2.0Shared memoryConnectivity (graph theory)Vulnerability (computing)Connected spaceSource codeComputer animation
Android (robot)Mobile appCategory of beingLogicAndroid (robot)Mobile appFocus (optics)Vulnerability (computing)CodeNumberLatent heatLogicShared memoryCategory of beingBuildingSmartphoneWindowCovering spaceFlow separationPlastikkarteMetropolitan area networkComputer animation
Mobile appMotion capturePasswordPeer-to-peerSchlüsselverteilungProcess (computing)outputFood energyInformation securityHeat transferComputer animation
Food energyRevision controlInterface (computing)Frame problemComputer wormEmailDependent and independent variablesAddress spaceInformationPort scannerDependent and independent variablesEncryptionMotion captureFlagComputer animationSource code
Communications protocolAttribute grammarDependent and independent variablesFrame problemWritingOpcodeData transmissionMultiplication signConnected spaceMobile appDifferent (Kate Ryan album)CryptographyCore dumpAlgorithmComputer animation
Reverse engineeringFluid staticsBarrelled spaceOvalMotion blurNP-hardConvex hullRevision controlAlgorithmProcess (computing)CryptographyEncryptionFunctional (mathematics)Computer animation
Revision controlException handlingEncryptionFunctional (mathematics)Electric generatorLogicEncryptionInformation securityRevision controlKey (cryptography)Loop (music)InformationSlide ruleRootSource codeComputer animation
Advanced Encryption StandardException handlingEncryptionRevision controlString (computer science)EncryptionFunctional (mathematics)Context awarenessInformation securityDirection (geometry)Key (cryptography)Data recoveryString (computer science)RandomizationRandom number generationSource codeMobile appRevision controlControl flowProcess (computing)
EncryptionRootDirected setPasswordReverse engineeringMedical imagingRevision controlProcess (computing)Function (mathematics)Information
EncryptionInformationDirected setPasswordRevision controlCryptographyLattice (order)Local GroupRevision controlPasswordRight angleSource code
NeuroinformatikRight angleProcess (computing)InformationDigital photographyComputer animation
Demo (music)Computer animation
MIDIInformation securityDemo (music)Mobile appVideoconferencingRevision controlHeat transferShared memorySource codeComputer animation
Demo (music)Mobile appDigital photographyLeakInformationCategory of beingVulnerability (computing)Shared memoryWindowStandard deviationComputer animation
Identity managementComputer iconProfil (magazine)Uniform resource locatorSlide ruleMobile appPort scannerDependent and independent variablesComputer animation
Port scannerDependent and independent variablesAsynchronous Transfer ModeMessage passingBlock (periodic table)Metropolitan area networkMessage passingHoaxDependent and independent variablesProcess (computing)Identical particlesAsynchronous Transfer ModeComputer animation
Inclusion mapLogicLimit (category theory)Category of beingMultiplication signDemo (music)Identical particles
Demo (music)LogicProcess (computing)Link (knot theory)Vulnerability (computing)LogicConnected spaceProcess (computing)SubsetLink (knot theory)Arithmetic meanSoftware developerShared memoryMobile appComputer animation
Peer-to-peerSurfaceSoftware developerThumbnailDoubling the cubeConnected spaceInformation securityInsertion lossCommunications protocolSurfaceOpen setMedical imagingVulnerability (computing)Computer animation
Computer networkCASE <Informatik>SpywareSlide ruleHeat transferSoftwareComputer animation
Server (computing)Computer networkServer (computing)Mobile appDemo (music)SoftwareInternetworkingCAN busConnected spaceInteractive televisionSpyware
Demo (music)Mobile appInternetworkingWeb browserTouchscreenHeat transferDemo (music)Computer animation
Directory serviceZugriffskontrolleoutputPasswordVulnerability (computing)Mobile appRemote procedure callTraverse (surveying)Directory serviceData managementCASE <Informatik>Communications protocolPasswordConnected spaceComputer animation
Communications protocolAuthenticationDirectory serviceInformationDirection (geometry)Vulnerability (computing)2 (number)LogicTraverse (surveying)Directory serviceServer (computing)Demo (music)Heat transferUniform resource locatorWeb 2.0Data storage deviceCASE <Informatik>Computer animation
Demo (music)Data managementComputerWide area networkMedical imagingCASE <Informatik>Shared memoryNeuroinformatikLocal area networkData managementMobile appSmartphoneVulnerability (computing)Server (computing)Computer animation
AuthenticationMobile appVulnerability (computing)Near-ringLocal area networkShared memoryConnected spacePattern language
Mobile appArchaeological field surveyInformation securityAuthenticationMobile appInformation securityCategory of beingShared memoryMeasurementVulnerability (computing)Archaeological field surveyGame controllerGreen's functionArithmetic meanComputer animation
Mobile appMobile appShared memoryAndroid (robot)ResultantServer (computing)Software testingInformation securityConnected spaceArchaeological field surveyPasswordComputer animation
EncryptionKey (cryptography)Heat transferPublic key certificateMechanism designPersonal identification numberPrimary biliary cirrhosisInternetworkingAuthenticationUniqueness quantificationServer (computing)Computer networkIdentifiabilityFrequencyDefault (computer science)Key (cryptography)Information securityEncryptionInternetworkingMultiplication signUniqueness quantificationPublic key certificateConnected spaceCorrespondence (mathematics)Server (computing)Default (computer science)Filesharing-SystemMobile appSoftwareMechanism designAxiom of choiceSchlüsselverteilungHeat transferContext awarenessPersonal identification numberAuthenticationGoodness of fitCodeInternational Date LineTransport Layer SecuritySign (mathematics)Public-key cryptographyFrequencyState of matterComputer animation
Inclusion mapServer (computing)Key (cryptography)AuthenticationEncryptionLoginComputer networkMobile appPrimary biliary cirrhosisServer (computing)Information securityInternetworkingPersonal identification numberPeer-to-peerVector spaceKey (cryptography)Measurement
Mobile appVector graphicsShared memoryVulnerability (computing)Vector spaceFlow separationSound effectMobile app
Mobile appComputer animation
Transcript: English(auto-generated)
We have a talk today from Liu Huimin about bug finding and exploit techniques for file transfer apps on Android phones. So, if you've have your file transfer apps open at DefCon, really? But if, if so, this might be a good time to turn it off. This is Liu's, uh, first
time speaking at DefCon although he has given talks at CanSecWest, Black Hat 8, basically all over the world he's given this so, uh, give him a welcome and we're going to give him a classic DefCon welcome with, uh, the speaker shots. Cheers. Good morning everyone. My
name is Liu Huimin and Zhang Xiangchen is my colleague but he won't come here
because I'm beside you so, uh, I will do this, I will do this talk alone. Yeah. Uh, now we will show, print you a comprehensive research about, uh, exploits or nearby file transfer apps. The title is Your Secret File Mine and bug finding and exploit techniques on all
transfer apps or all top Android phones. First, let's introduce ourselves briefly. We are from Advanced Technology Research Team or Tencent Security Xianwu Lab. Tencent is the
largest social media and entertainment company in China and we focus on mobile security and IoT security and we found many Android kernel and system security vulnerabilities and accomplished, uh, many fancy attacks and we have presented many, uh, slides like this. Uh, this is our presentation online. First, we will
give an introduction about the nearby sharing technologies and talk about our motivation to do this talk. Secondly, we will present, uh, attack surfaces and some
previous work. Next, we will show you the real vulnerabilities and exploit and the demos. Uh, next we will show you the real, uh, then we will talk about the mitigation method. Uh, okay. Finally, it's, it will be our conclusion. Now, let's begin our part
one, introduction. There are many nearby transform, uh, transmission technologies such as Bluetooth, Android Beam, Wi-Fi direct, but we focused our research on nearby sharing apps on Android including, uh, smart phone, Windows built-in apps and third party
developers apps. Many users want nearby firing, uh, file sharing apps. Why? We believe that, uh, uh, Bluetooth and Android Beam based on NFC have two weaknesses. First, not user friendly enough and sec- secondly, not fast enough. When you want to
share a picture to your friend, it, uh, usually takes seconds or minutes to transfer a big picture. But, uh, this technology based on Wi-Fi technology will be transferred, uh,
fastly. When we want to send or receive a Blu-ray movie, it will be not capable at all. So, nearby transfer apps that are based on Wi-Fi related technology are people's new choice. Based on our research, we found that nearly all top smart phone vendors have their,
uh, sharing, sharing apps. So, uh, based on the IDC's data, we can find that the shipment last year is, uh, nearly a billion phones. A billion within a single year, that's a
big number. If they are vulnerable, a huge number of people will be affected. So, we began our research. This is what the Android sharing apps look like. It's, it is, uh, a little like the AirDrop on the, uh, iOS and, uh, iPhone that. There are several ways to connect
and send files on Android. In this example, when the both sides are all active status, the sender just select a file and the receiver will be shown on the screen and then the receiver
can tap the, uh, tap the profile picture of the receiver and, uh, the receiver will click the accept, just like the AirDrop. Then the file will be transferred. Some apps use another approach. The receiver clicks the receive button and then the sender can see the
receiver and establish the link and accomplish the file transferring. There are little difference here, but there are many difference in the security design. There are some other ways such as scanning the QR code to transfer apps, uh, to transfer files or, uh, shake the phones at the same time. On the other hand, many nearby file sharing apps will
show the thumbnail. This will introduce a new attack vector, we will detail it later. Yeah. The sharing process or nearby sharing apps are shown here. In general, there are 4 steps. First, discover a BL advertising name, ID, ID device, ID device type and so on.
Secondly, we can pair, so most apps pair and exchange keys automatically, which is very convenient, but it is vulnerable. Thirdly, connect via Wi-Fi or Wi-Fi network.
Finally, we can transfer files such as pictures, APKs and so on. Since we know the general sharing process, let's analyze the attack surfaces. First, uh, the, uh, the adversaries are nearby. The, the, the attackers can be SNF and sender or Bluetooth and Wi-Fi
packets. Then, what the attackers can eventually get when attack succeeded. First, the attacker can get the transfer files and more, such as hijack and the traffic, hijack the traffic, getting more information and even remote code execution. Here, the attack
surface are as follows. Link establishing, secure transmission, device and ID spoofing, main and middle and others. First, when link is establishing automatically, attackers may
join to a network without user's permission. On the other hand, attacker may obtain the established network's password because of unsecure connection. When files are transferring, there may be no encryption at all, so we can get the file directly. And
sometimes, the key exchange are not safe, so attackers can recover all the real file from the encrypted traffic. Next, device and ID spoofing. Uh, the, uh, uh, uh, uh, uh, uh, uh, device and ID spoofing. Many apps fail to authenticate the real device or users. For
example, when Alice wants to send the Bob file, then the attacker can collect all the Bobs, the, the, the advertised information and advertise themselves to create a fake Bob. In this case, many apps fail to distinguish between the fake and the real Bob. We
call it device and ID spoofing. Based on the device spoofing, the attackers may accomplish main the middle attack so the normal user will feel nothing. We'll show the demo later but the technique details will be explained later too. What's more, we found some other
interesting attack surfaces. For example, some sharing apps will start a web server which will open more doors for attackers. And there are other information decoder we can't even think about it. And Android components related to attack surfaces. Uh we are not the
first researchers to uh notify uh notice the near nearby communi-communication apps. We research about the zero conf on OS 10 and iOS, research by Xiao Long, Excelto, analyzed the AirDrop and found some vulnerabilities. And on the 19th some, some
researchers analyzed the Google Nearby Connection API. However, there are nothing about file sharing apps on Android. My colleague and I will present this on this talk. To the best of our knowledge, our research is the first comprehensive research about Android
nearby sharing apps. We analyzed many related apps include pre-installed and third party apps. And we found a lot of vulnerabilities in these apps. And then we arranged them in
several common attack methods. Um here let's show you some the real vulnerabilities. Notice that in this talk we will focus on the specific uh we won't focus on specific apps
or vendors. Uh so I will cover all the vendors and uh apps name here uh for just for uh security. Yeah. Besides there are huge number of users will be affected. Uh so uh I will
cover all the all the critical code too. Yeah. Some of the vulnerabilities are not fixed here so. We will present four vulnerabilities categories. Sniffer attack related vulnerabilities. To the main the middle attack related vulnerabilities. Then we will
talk about logic vulnerabilities. Finally we will present all the uh other vulnerabilities here. First let's talk about sniff attack. This is a building app or smart phone and we will take it as our example. This three picture shows a normal file sharing process. The
receiver don't need to input any password. Or something uh else. The whole process is totally automatic. However more convenience can often means less security. This app use Bluetooth low energy to advertise and discover other peers and transfer files by Wi-Fi P2P. Can
it accomplish a secure key exchange here to capture Bluetooth data? We can use a Bluetooth sniffer such as Ubertooth, NRF, File 1 and so on. This is a BLE package we
captured. It is a scan response packet which is send when someone some other person scanning. It contains your ID, device name and some other information such as some flags and spotted cipher, spotted cipher variants. The packet is a advertising packet which is
often easy to understand. And this is a BLE data packet. The BLE send data in 37, 38, 39 channels but Ubertooth can only sniff one channel at a time. So we need to sniff several times to get the data packet. The picture shows encrypted data transfer when
establishing connection between different variant apps. So we extracted the data here and it looks like this. What does it mean? The answer lies in the app itself. So we reverse engineering app. This is a core crypto algorithm. We can see that it is um obfuscated
badly so uh but we managed to recover a function which mainly rely rely on an AES crypto and some other transform- transformational data. Uh to make it more clear we can show you
an older version which is different but without any obfuscation but the whole process is just the same. In this older version there are nothing but an AES encryption which was different from the new version. But the overall logic was still the same. Yeah. So the P2P info is uh P2P info you can see in the slide is the encrypted information. And the P2P
CFGX here is a plain text decryption by calling decrypt function. And the key was generated by the function generate secure key and generate root key. This particular
shows a decrypt function which we can see the AES decryption here. Yeah. To decrypt the data we need to get the AES encryption keys which rely on the source string array and the M secure random. A secure string array can be gotten from the BLE packet. What about the M
secure random? It's it's name contains random. However we think that uh it must must not be the random number because the sender and receiver must be uh have the same uh number of this. So we found that it was stored in some XML file and it is fixed. That's
interesting here. So now the whole encryption can be break and we can recover data directly. This is a decrypt process for older version of the app. The latest version was
far more complicated. But we managed to reverse enjoy it. But uh it is similar in the design. We break it too and we will show you the output. The upper image shows a recovered P2P info old version. The second image here shows a recovered P2P info new
latest version so we can see the SSID and password are golden bars. So everything they transferred will be get directed by us. Based on the recovered password we can join
the network and get the transferred files through ARP spoofing. And let's show you two demos. Here the right phone take picture. Then here we will send the picture to the
left phone. And the computer act as an attacker. So we can see that info's are working. Collected there. Then the left phone got uh uh notification and then when he click the
accept here we can see that the computer will get it too. And this is a full photo we
just take picture of that. There. Here is demo two. It is the process is a little
different but there are some more interesting here. Some something very interesting I think. The left phone want to share a picture to the right phone. And we can see that
the picture was golden bars. Can see that pop out on the computer. We checked it it's a latest uh uh when we recorded the video. And when transfer apps actually uh they see
the picture here. And this shows that what using uh what all apps you installed on your phone. When sharing apps uh want to uh sharing uh photo here. Here we will send all
you installed all the apps you installed on your phone to the other phone. Uh it's a terrible info leak here I think. Next let's move on to the stack in the category. Main and middle attack related vulnerability. In nearby sharing apps, Windows standards
want to select a receiver. He can see profile picture, device name, URL ID and so on. Our question is how can you authenticate that it is a real one? We found that it is very tricky. In this slide we can see that we can emulate as receiver by use a BLE scan
sender app to send advertising and scan response packets. The left phone shows uh uh profile picture of someone but uh it is actually uh um BLE sender app. Yeah. Then the
receiver will be shown on the sender screen. And in this picture we modify a real device to spoof another device. There are two active receivers here but the senders can only see one
device. So when he want to send a file he will never know which device it will be sent to. Now we can spoof another real device. Then the attacker can accomplish perfect main and middle attack when emulated a fake receiver and a fake sender. And we can secure if A send B a file there will be 50 percent chance that the file will be sent to
the attacker and chances can be improved by many ways. Now perfect main and middle attack can be designed like this. Uh A can find the uh uh the attacker because the attacker will not send a scan response to A by our design. B can't find the attacker because B is not
in discovery mode. Then and then the attacker can distinguish between A and fake A, B and B. Because he can't choose to block or receive any message. So the normal user A and B can
fill anything. Uh this is a demo. We didn't implement the whole process or the main and middle here due to time limitation. In this demo we just verify that the sender can distinguish between the real and fake receiver. So our main and middle attack will work
properly. Here we can see the normal user send the file and sometimes the users, the normal user get the file and sometimes the attackers will get the file. So here the
attacker will get the file here. Oh yeah now let's go to the third category. Logic
vulnerabilities. First let's think about a question. How to design a secure process to establish connection between sender A and the receiver B. We think it should be
like this. User A request to send and B accept. And then the link will be established. Then A send the file and B will receive it successfully. But actually most
nearby sharing apps will establish the Wi-Fi connection as soon as the sender A just sends the request. But why the app developers choose an un- an secure way? We think that they might have their own consideration here. Mm more clicks often means less
convenience. So the developers don't want their users to double confirm. And the receiver uh often want to steal a thumbnail about the file to decide whether or not the accept the file or not. So convenience wins and sometimes security lose. Firstly the
non-confirmed connection brings more attack surface here and the attackers can now establish the Wi-Fi or Wi-Fi P2P connection without any interaction. It will open door for attacks to exploit other vulnerabilities and even choose zero click attack here.
Just exploit the uh fi- file image protocol here. Secondly we can hijack the victims network. In these two cases shown on this slide we can see that when transfer uh transfer
files that one device creates a Wi-Fi hotspot and the other device connect to it directly. However it is not this easy to hijack network successfully. First if attackers want to hijack the network they must be the hotspot server. Can we choose to be a server? We
found it that we can. For some apps the senders are definitely the server creator. It is okay because here we attackers are always senders. For many other apps we found that when an app running on Android 7 and another app running on Android 8 want to establish
a connection. Android 7 is always the server because some compatibility issues here. Secondly we will make the other user to connect to my Wi-Fi without without
interaction. Can we do that? We found yes because it was designed like this. Yeah. Let's show a demo here. The victim just check his internet access and he just open the uh
file transfer apps and just leave it here or make it in background or turn turn the off turn the screen off here. The attacker request to send him file and then when victims
open his browser and he'll be hijacked. Yeah. Finally it's our fourth category, other
vulnerabilities. We will share three examples here. One, accept automatically via Wi-Fi P2P. Two, directory traversal. And three, remote code, remote file
management vulnerabilities. In this case when sharing files, this app will establish a Wi-Fi P2P connection. We can see that when other device want to join them it will need pro-
pro- provide the correct password. However, when we use Wi-Fi P2P protocol to directly connect it, we found that anyone can join them without any confirmation here. And the normal users we won't feel anything. So we'll get the file directly. The
second logic vulnerability example. And in this case, it is a directory traversal vulnerability. The file transfer was accomplished by web server. So the uh senders may create a web server and send the receiver a URL to get. Then, mmm, the receiver can
modify it to get any files here. Let's show the demo here. The right phone is the sender. Then he got a secret image. But he want to send another normal image to the left
phone. But here, the left phone will get anything he want. And in this case, we will share a file management related vulnerabilities. If an app want to open the active FCP server,
computer within the same local area network can manage the file in smart phone. We found that many apps didn't have any authentication here and secure design. Any users have read
and write permissions here. So if the attackers are in the same length, they can get and write all your files here. This is a summary of vulnerabilities in nearby sharing apps. First, non-confirm before Wi-Fi connection established. Two, no well protected
access to Wi-Fi or Wi-Fi P2P. Three, unsecure transport. And finally, no anti-spooting at all. Those vulnerabilities patterns affect nearly all the nearby sharing apps. We finished our four common vulnerability categories and now we present you our security
story about nearby sharing apps. With uh, the red X mean no security measures at all. A yellow O means have security measures but can be bypassed here. There are no one green
here. But I will show no one here. There are little security measures such as access control when Wi-Fi uh was established here. Then we have the security measures, then we did a security survey for top 10 third party nearby sharing apps. And the results are
shown here. Uh most of them are vulnerable too. Only 20% of them can prevent sniffer attack and only 10% of them can prevent spoofing. And notice that this is a test result on
Android 8. If we test them on Android 7 or lower, nearly all of them will be vulnerable. Because Android allow the app to create uh uh hotspot with their self-defined password on
Android 7. So when Android 7 and Android 8 were connection, make a connection, the Android 7 will always uh be the star and will be vulnerable. Yeah. Finally, let's talk about the mitigation. This is our four devices uh uh devices about mitigation.
Sorry. First, we need more secure Wi-Fi and Wi-Fi P2P key exchange. And two, we need, we need transport encryption. And three, it must designed to pro- prevent spoofing. And
finally, there are other small tips. First, the app must have secure Wi-Fi and Wi-Fi P2P key exchange. So we recommend that the app transfer the key over secure channel such as NFC,
certificate based key exchange mechanism and the internet. On the other hand, the ping code is a good choice too. Now, nearly all apps transfer files without any transport layer encryption. When we recommended that the app use TLS HTTPS instead of TCP, we
recommend HTTP and transferring keys over internet security or pre-exchange keys for contacts. It is not very easy to prevent spoofing. We prevent a method here, we
prevent here but uh we use the certificate based authentication. When the app launch for the first time, it will get a unique ID dis- dis- distributed by the server and corresponded certificate signed with predefined trust anchor. So attacker can't sign the
unique ID correctly. We can make sure that the device had- can distinguish between the real user and the attackers. Hm, there are some other tips. First, we must prevent attacker
from joining the network and state file sharing turned off by default. We must and turned off the uh by- turned off them and after a period of idle time. And confirm before connection established. And finally, do not establish connection
automatically with users who are not familiar. This is our recommended design. When users are logged in, we recommended pre-exchange public keys and authenticate
automatically for contacts. And exchange keys through the server when they are internet access for other peers. When your users are not logged in or have no internet access at all, we recommended pin code, NFC, to exchange keys. PBC and DB human here uh
is easy to deploy and um have some uh security measure here but it is not very recommended because it can prevent main and middle attack. Now, this is our
conclusion. We analyze the attacker vectors on nearby sharing apps and did the first comp- comprehensive research about them. And we found many vulnerabilities here and we categorized in several common attack methods. And finally, we present some
effective mitigation methods here. Thank you. Now, the mitigations will be deployed on many
apps here but we can't tell which app uh is secure because the vendor didn't want to say that. Sorry about that.