Nils: Thank you so much.
I am so, so psyched to be here and to tell you a very interesting
story, I hope, today about this thing here, a children's
smartwatch, specifically one from the manufacturer called Explorer.
And these smartwatches are usually sold to parents offering promises of safety and security.
And if we look into what the actual function of this watch
and this app looks like, we can see, for example, that I can
locate my child and I can see where it's currently hanging out.
And then I can also send my child text messages and say, when will you be home?
And then my kid can receive that on the watch and can say, no. Good luck.
And send me this cool emoji. So, that's what we are working with here.
And this presents a problem.
Because for the purposes of this talk, we are a child eating witch that lives in the forest.
And now, in the past, children just used to wander here to
our oddly constructed hut in the forest and we could eat them.
But nowadays, this is becoming a lot more difficult because
all of these children are running around with smartwatches
that tell their parents their location at all times.
And so, if we want to keep with the times and not starve to death, I think we
have to do some research on who's behind these watches, who is our enemy here.
And it turns out this is Stan Kutbak, the founder of Explora,
a Norwegian guy who founded this company some years ago.
This is what he looks like when he is selling to investors.
And things seem to be going rather well for him and for Explora.
They have been launching an exclusive collab with
major German soccer clubs just a couple of months ago.
And, they are also being sold by major telecommunication
providers in bundle deals together with your data contract.
much. I am so, so psyched to be here and to tell you a very interesting
story, I hope, today about this thing here, a children's smartwatch, specifically one
Explorer. And these smartwatches are usually sold to parents
security. And if we look into what the actual function
of this watch and this app looks like, we can see, for example, that I can locate my
out. And then I can also send my child text
home? And then my kid can receive that on the watch and
emoji. So, that's what we are working with
problem. Because for the purposes of this talk, we are a child
forest. And now, in the past, children just used to wander
them. But nowadays, this is
becoming a lot more difficult because all of these
children are running around with smartwatches
times. And so, if we want to keep with the
times and not starve to death, I think we have to
do some research on who's behind these watches,
here. And it turns out this is Stan Kutbak, the founder of Explora, a Norwegian
ago. This is what he looks like when he is selling Explora. They have been
ago. And,
they are also being sold by major telecommunication
providers in bundle deals together with your
contract. And, if we look at their internal investors reports, we can also find this very
interesting excerpt where they say that they estimate
that in their home country of Norway, where they
have their strongest and longest standing, about every
fifth child from the age of four to ten is using an
active Explora subscription. That's a lot of children.
And, if we browse this investors report a bit further,
we can also gather some intel to some OSINT collection and
we'll find out that in 2018, the company started out in an
exclusive supplier relationship with a company called
Qiho 360. Now, Qiho 360 is a Chinese IT security company.
They do antivirus and, for some reason, they also do
children's smartwatches and they also sell their own
smartwatches domestically in China. Now, interestingly, if
you look them up, you'll find that not only do they have
a controversy section on their Wikipedia page,
they actually have an entirely dedicated page.
And, when I was researching this, I was delighted
to find out that they really stayed true to their
reputation because just last year they were involved
in an entirely new controversy where an AI chatbot that
they slapped onto their domestic Chinese children's
smartwatches turned out to be really racist sometimes.
Who would have thought? And then, this sort of
reputation, I feel like, has rubbed off a bit on
Explora in the past when, in 2020, some researchers
at Mnemonic found security issues in Explora's watches
where you could basically send specifically crafted
SMS messages to a device to enable a backdoor and
turn this into a listening device, which at the
time made this watch very illegal to sell in Europe.
And if we compare the images from these two blog
posts, we can also very nicely see that the hardware
that is being sold here by Qiho domestically in China and
by Explora in Europe in the US is identical at this point.
And I would like to think that this whole deal was a bit of a wake-up call for Explora.
I have no way of telling that this is true or that it's at all related, but in 2023, again,
going from the investors report, they switched over
to a new hardware platform that might be a fresh
start to build a more secure system, right? And
to me, it seems like in this move, they also moved
a lot of the firmware development in-house to
Norway. And now, in good cybersecurity fashion,
the only thing I have behind this assumption is a
misspelled string in their API, which happens to
neatly match the Norwegian spelling of the word incoming. And so, that felt like a hint.
So, what we have there at this point is something
that could be kind of cool. Because I'm not convinced
that my child needs to run around with a GPS tracker all the time, and I think a lot of you
aren't either. But I see that there's a lot of
parents out there who have come to expect this.
And so, if there's a market for it, I would love for there to be an independent European
company that is not part of the big tech corporations and that takes this privacy and
security super seriously and makes sure that my
children's and my communication, like intimate data,
is adequately protected. And Explora also uses
that as a selling point in their marketing. There's
this statement from their CEO from back when Apple
announced that you would be able to use Apple
watches for children as well. And then Explora
published this post on their website where they
say that they are very skeptical about how a big
company like Apple might use this data, like the
sensitive data from our children's activities. And
that then, by contrast, at Explora, they had the
strictest security and transparency standards to ensure
that this highly sensitive data is not misused and
doesn't get into the wrong hands. So, that's a big
claim. That's a nice narrative. I think this is not
the conference where we buy into vendor narratives.
So, when Explora started a big physical advertising
campaign in my hometown, I got kind of curious. And
I thought, someone should look into this. And so, I
bought one of these watches, the one I'm wearing
right now, and I handed this off to a student of
mine who did his master's thesis on a comprehensive
security analysis of this device. So, I handed this
to Malte and said, hey, Malte, dig into this thing,
see what you can find, see how we can break this.
Now, Malte, unfortunately, can't be here today, so
you'll have to stick with me for the technical details
of this. But a very good starting point for when someone just hands you a device and says,
break this, turns out to be compliance reports.
Because everything that has an antenna in it,
if you want to sell it in the U.S., for example,
you need FCC approval, and these FCC reports are
publicly accessible on the internet. And that includes
things like photos of the hardware. So, we have
external photos, we also have photos of the main
board, so we could start seeing which chips and
debug ports are on there. But what we found was
this. This is a picture of the charger that comes
with the watch. And this made us kind of curious,
because the charger that we had in the box looked
different. That one has only two pins. So, clearly,
what is in the report here is some sort of internal
development charger that has four pins and presumably
runs some sort of protocol like USB over that.
And then, in the finished consumer version, we
remove these pins and we only have power and ground
for charging. And so, what we did, logically, is
we Frankensteined together something that we could
clamp onto the back of the watch to connect to all
four of these pins. And if you plug that into your
computer at this point, this will actually be recognized as a USB device, which is cool, but
doesn't really get us anything yet. We can't access
any data. We can't pull anything from it. And so, at
this point, Malta and I started thinking, and we were
like, okay, how do we approach this? Can we get a
firmware image from somewhere? Do we have to desolder
the flash chip and dump the content? And then, at one
point, we were like, wait, what's the dumbest
possible solution that could work here? And so,
do you know how you enable developer mode on an
Android phone? You tap the version number in the
settings a bunch of times. And so, we tried that,
and that worked. And that got us this secret menu
pin entry screen. And now, again, of course, I start
thinking, how do we brute force this? Can we hook
up a USB keyboard to this and kind of automate this
in a rubber ducky type fashion? And I'm thinking and
thinking and thinking and thinking. And meanwhile,
Malta is going home and he's sitting down for two
hours and he's typing in every single four-digit
pin. And that worked. And now we have this screen
where we can just flip the switch and say, yes, USB
debugging, that sounds great. And once we do that,
this watch behaves exactly like any Android device.
So, we can use ADB, I can mirror the screen of the
watch to my laptop, and I can also browse the file
system. Now, we don't have root on this, but the
access that we do have is enough to pull all of
the Explorer-defined custom apps from the device
onto our laptop, and then we can use standard reverse engineering tools to take them apart.
And so, that's what Malta did next, right? He's
sifting through this giant pile of decompiled Java
code and analyzing these internal vendor-specific
apps that power the features like the chat and the
location tracking and everything that's happening
on this watch. And then over the next couple weeks,
what kind of crystallized was a structure that
looks like this. So, we have the phone with the
parents app on the one hand, and that's talking
over HTTPS to some API server. And then we also have
the watch, which is also talking to another API
server over HTTPS, but is also receiving notifications
over a messaging protocol called MQTT. I think quite a few of you may be familiar with that.
And that's being provided by AWS IoT Core. So, this is an AWS service that they offer.
And if with this understanding we look a bit deeper
into what's going on there, we can see one request
that kind of stands out. And that's this request
to an init endpoint. And that's being called a lot.
Basically, before any API call, we will see an init
call. And so, we figure that this is related to
authentication. And this is how we receive short-lived
tokens to authenticate our requests to the server.
If we look at these parameters and headers that are
being set there, there's a lot of them that look
kind of high entropy, random, encrypted. And if we
squint our eyes enough, that might look like security.
And so, we can see right off the bat, we have a
time stamp in there. And then the blue thing that
I partly censored here is a static secret that's
just found in the firmware. And these other three
things come from three different functions that we
can look into next. So, I have two of them on the
slide here. And already at first glance, this is not
looking great. Right? Every time you see MD5 in an
application, that's usually not a good sign. But
so, essentially, we can find out that this get
email secret function is basically just taking a
time stamp and the email and hashing it together.
And the encrypt email function does some mental
gymnastics to encrypt that with another static
secret. If we annotate that into our bigger picture request, we'll find out that we actually
can reduce all of these blobs to more or less
publicly accessible information. Right? We have
timestamps in there. We have two different static
secrets that we can find in the firmware. And then
the email, like the serial number of the watch also
plays a role, but that can be easily enumerated.
And so, we are now in a position where we, as an
attacker, could forge such an init request for
an arbitrary watch, basically. What does that get us? Well, the response looks like this.
And that has API keys in it that we can use to
authenticate further requests from this watch.
And it also has certificates and a topic name that we can use to access the MQTT service.
And with this data, we can more or less do anything that the real watch could do.
That's good. But I think it's much nicer to actually
see what we can do here instead of just imagining it.
So, let's go back into our witch's hut and see how we can use our newfound knowledge.
Well, first of all, this might be very useful
for communication. So, what we can do is we can
actually read the message history for any given
watch, so we can see what the parents and the
children are talking about. And then we can also
send our own messages to let the parents know that
their child won't be home for a bit. So, that's a
good start. Next up, it might also be good to let
the children know where to find us, right? Because
they are so busy always looking at their phone,
they won't find the forest anymore. And so, this
is a bit hacky. This is not intended to work this
way because we can only do what the watch can do
and not what the parents app can do. But through
some trickery, we can actually get an instant
messaging notification onto the child's watch with
a text that we define. All right. So, that's a good
start. Now, one of these problems with these watches
is that they always let the parent know where their
child is, right? And so, one other spell that we
could work here is teleportation. And so, we can
just use this nice UI interface MQTT client, plug in
the certificates that we got from the API response,
and then when the parent requests a location update,
we copy a push ID from an MQTT message that we find there. We paste that into our exploit.
And this is not going to work on the first try, but on the second try, it will be.
And now, suddenly, our child is no longer in Darmstadt.
It is instead standing next to the grave of the
Soviet soldier in Pyongyang, North Korea. And then, finally, we can do some power cycling.
It turns out that we can remotely initiate a
factory reset for any given watch. This doesn't look
very interesting on screen, but if I just send
this custom MQTT message, you'll see that the watch
here will start to shut down, and then the window is
just going to close. There we go. So, stepping out
of our witch's role here for a second. This is bad.
This is very bad. What we have here is essentially
one for loop away from reading the messages, getting the contacts, sending spam to, sending
threats to parents, teleporting children to Pyongyang
for all of the other watches that use this model
and this static key. And that's a lot of watches.
And there's some other small stuff that Ma also
found in his thesis that I won't have the time to go
into here today, but there's stuff about the firmware
update process, there's stuff about SMS handling,
and so on. So, there's a lot of things that are
wrong here. And that gets us to the fun part of the
talk, which is trying to get the vendor to listen
to us and to actually fix their shit. Now, luckily,
Explora has a vulnerability disclosure program.
This is actually, or it was linked under a wrong title
on their website, so you had to, like, try all the
links and eventually you'll find it. And then if you
send an email there, no one's going to reply to you.
At least until a week before the talk.
So, what we do instead is we actually go through
the customer support. We send a very long customer
support ticket. And to that credit, the customer
support responds rather quickly and says, okay,
yes, we got this. We forwarded this to the correct
internal team. And then a few months go by and we check in
again and say, hey, how's this going? And at this
point, they tell us that they can't engage in a
coordinated disclosure process at that time. So,
we're just like, okay, we'll give them a bit of time
and leave them to work at it. And then in August,
we notice that there is a new firmware update
available for our watch. So, presumably, cool.
This is fixed. Job done. Let's look inside, though.
So, I'm sitting in my office and I have this watch
that has the update firmware button on there.
And I'm thinking, okay, if I press this button,
what are the odds that that's just going to break
my device? That they're going to change the pin
that mounted brute force and I really don't want
to do that again. So, I figured, hey, we currently
have debug access to this watch. So, what if I just
install my own app? And my app is very simple. My
app is essentially three lines of code that will
manually spawn this debug menu thing without the pin
protection. And then I feel safe enough to do the
firmware update and wouldn't you know it, the pin
doesn't work anymore. But we have prepared for this,
and so now I can just launch my nice custom app and
we have access again. And now we can once again pull
the firmware and compare it and see what changed. And
it turns out that this pin thing, yeah, that's the
only thing that changed. So, in the new firmware, in
the new firmware, we have this get password function,
which is what generates the pin for the debug menu.
I've heavily censored it here. But what you can
see is there is now six different calls to this
string builder append function. So, the pin that we
need now has six digits instead of four. And we are
also getting locked out after three incorrect tries.
So, good that we installed this app. But all our
exploits continue to work without any modification.
They didn't even rotate the credentials. So, at
this point, we are a bit tired of going through
customer support. So, we turn to the BSI to help
kind of navigate this communication issue with the
vendor. They are very helpful in that process. Shout
out to the BSI. And they get back to us in October
and November telling us that Explorer is indeed
working on a new authentication mechanism and that the
update is rolling out. Then an update is released on
October 25th. And in preparation for this talk here,
I figured, hey, you know, I should probably look at
this before I give the talk. And well, they changed
some stuff. But with two changes to the code base in
our exploit, we can still make all the exploits work
again. So, we are back talking to the BSI again.
And well, we hear what we hear now is that there is
going to be an update available in January 2026. But
to kind of bring in a different perspective again,
I just want to say I really want to believe in
this. I want this cool independent European company.
And I want them to have great security. But for
that, we need to see significant security culture
changes for Explorer and for other manufacturers,
I guess. But it turns out that getting some
attention onto this really helps. Because just a week
before this talk, Explorer finally found my email
and we are now in actual direct contact, which is
great. Thank you, Explorer, for that. I like talking
to you. So, I actually had a call with the people
from Explorer on December 22nd, where we discussed
this and we talked all about this. And I now do
believe that the update that they are planning to roll
out in January will actually fix the root cause
behind all this, which is nice. And I did get
the impression that they do care about this stuff and they are trying to fix it.
We also, this is the part of the presentation that
I revised a lot because it kept changing as new
things kept happening. But Explorer has now updated their vulnerability disclosure program.
So, it's now correctly linked on their website.
They also have some, I don't know if that's public
yet, but they have new tiers of actual bug bounty
amounts that they're going to pay out. And I'm
very happy to say that my student Malte is going
to receive quite a decent payout for this work that
he did from Explorer. And they are also very open
to more security research. And I think with the
protocols and the proper handling of vulnerability
disclosure now hopefully in place, this would be
a cool thing for some of you to look into because
maybe there's more. There's other devices that work
in different ways and maybe you can find something and make this a little more secure.
Now, in the meantime, until January 2026, when this will hopefully all be fixed,
well, remember that we have debug access on the
watch currently. We can just run our own apps
apps on there. And so, if you right now want to
securely communicate with your child, well, we have
a way to do that. We know how this works. So, this
is an actual signal APK running on a children's
smartwatch. I had to divide all of the DP size
values by 10 to make this, like, barely fit on the
screen. But you can technically run signal on your
child's smartwatch, which I think is very cool.
And the takeaway message there being, we can
work with the vendors to make stuff more secure,
but we don't have to. We can also just do our own
thing and make stuff more secure in our own way,
because we know how to do this. Thank you. Also,
please do check out Malte He did most of the research
on this. He found all the cool vulnerabilities. I
put a link to his LinkedIn if you want to connect,
if you have some opportunities for him. I am not
a LinkedIn person, but do check him out. He did
really good work here.
Thank you for the talk. And now we have mics in the hall. So, please,
Herald: if you have a question, I think mic four.
Attendee: Hi. Thanks. Do I understand correctly that the
debug features are still locked behind the pin that is the same across all smartwatches?
Nils: The debug feature is locked behind the pin. The
pin actually differs between smartwatches. The pin
is somehow dynamically calculated. I have a beautiful
tool where you can generate the pin for your watch,
but before the update is out, that would be putting
a lot of children in danger. So, at some point,
if you want to unlock your Explorer watch, send me a message. I'll send you a pin. Thanks.
Herald: Do we have any more questions also from the internet? Yes, then from the internet, please.
The internet wants to know if tracking children
seems to be a shady business to begin with. Have you
looked at other products in this space? The internet suspects them to be equally bad.
Nils: That's a very interesting question. So, in this
children's smartwatch market, I want to say there's
like two levels of products. There is glorified GPS
trackers on a wrist. That's the kind of stuff that
you can pick up on Amazon for like 20 euros or
something. Those are just going to be the same
hardware that you would find in any other shady
GPS tracker. And those tend to be horrible in terms
of security. But then you also have this other tier
of actual smartwatches for children that also have
features that go beyond just tracking your child. And
in this space, the watches get much more expensive.
So, you'll pay similar prices for an entry-level
Apple watch compared to these children's smartwatches.
An Explora watch without a contract is going to cost you like 200 euros or something.
And in that space, there's much fewer vendors.
So, there's Explora that's really big. You can
technically use an Apple watch for your child. They
also have features to support that. And then there's
some watches also from Garmin and from Fitbit or
Google. And I am assuming that for these established
vendors, which have a much longer history in this
embedded device, IoT device, smartwatch space,
that security is going to be better. But we don't know. Maybe we should find out.
Herald: Okay. Thank you. Then, mic number four, please.
Attendee: What do you think about a company claiming,
we don't trust Apple, let's use Amazon, and then not
implementing some kind of end-to-end encryption for
using GPS?
Nils: Yes. Great question. Thank you. I don't want to blame them for using AWS because
everyone does, right? And if you do it well, you
can build secure products on AWS. So, I mean, sure,
ideally, host your own servers or whatever, but I
don't blame them for that. But I did also find it
funny that they have this blog post that, in hindsight,
didn't age too well, where they criticize Apple.
Because I've done a lot of research on Apple and
on the Apple Watch before, and that's an entirely
different level of thought that is being put into
the cryptographic protocols and the security of all
this. So, that is kind of ironic, but I do get the
general vibe of saying, hey, we are not a big tech
corporation. Apple kind of is, so maybe you distrust
Apple and you want to go to a smaller corporation that
is more trustworthy and only does one thing and
ideally does it well. I can see the sentiment
behind that.
Herald: Okay. Then mic free, please.
Attendee: Yeah. I wasn't so familiar with those smart watches,
but I just Googled them and found out that they
also have a microphone through which the parents
can listen in on their children. And I was wondering if you also try to hijack that.
Nils: Yes. Well, I have to clarify there that this is
that listening feature that the researchers from
Mnemonic were also able to activate. That, at the
time, made the watch illegal to sell in Europe. So,
now, Explora is very clear that they do not have
this function. As a parent, you cannot listen on your
child. I know that a lot of the cheaper glorified
GPS trackers, smart watches, they may have a feature
like that and they don't care about being technically
legal to sell in Europe. But yes, the watch has a
camera and a microphone, but as far as we know,
there's not really a way to access that remotely
because, essentially, this is an Android phone on
a wrist. So, access to this microphone and camera
would follow the same restrictions that an Android phone has as an intuition.
Herald: Okay. And the signal
Angel has another question. Yeah, kind of a follow
-up. While talking to the BSI, did I tell you
something about if they want to look into child toys
more generally because they often have those flaws?
Nils: You mean if the BSI is going to look into that?
Herald: Yeah, in a general perspective.
Nils: Okay, okay, okay,
thank you. No, not that I know. Like, we only turn
to the BSI to not negotiate, but to mediate in this
single vulnerability disclosure, which is a service that they offer to security researchers.
Herald: Okay, thank you. Then my two, please.
Attendee: What are the terms and conditions of the bug bounty program? Because I
couldn't find it online.
Nils: The link has changed since it was, like, the link that I had inside was the
old one. You will find it on their German website
in the footer section, I think, if you look.
The terms and conditions are, to me, they read rather
standard. It's like something about not disclosing
the vulnerability until they had an opportunity to
fix it and so on. There's nothing super out of the
ordinary in there, but I also haven't read them that closely.
Herald: Okay, then mic number four.
Attendee: Thanks for your talk. If I understand it correctly,
the authentication is based on the email. So,
if they now change the firmware and close the access,
is it still possible for you to connect to the
server as a smartwatch and do some changes or some things?
Nils: Can you rephrase that, please?
Attendee: Okay,
if I understand correctly, the authentication between
the watch and the server is based on the email.
Yeah, so even if they still close now the firmware
on all of the watches in the world, but you can still
access the server?
Nils: Okay, I get what you mean. That's a good question. So, in the updates that we have
observed so far, they did a sort of staged rollout
of the firmware, where once a watch has updated and
contacted the server with a new firmware, the server
will remember that this new watch, that this watch
has a new firmware and will only use the updated
authentication protocols with that watch. So,
once a watch updates and they actually fix the
underlying issue and don't only rely on the email
anymore, you can't access it. And currently, the
problem was that if you still have debug access on
the watch, you can just grab the new keys from
the new firmware and then the exploit works again.
But if they move to a model where every watch
actually has its own keys, that will no longer be
possible.
Herald: Thanks. Then mic number two, please.
Attendee: You have one question. So, you're from Norway,
you live in Europe, and why do you turn to the
BSI? Actually, just to get to the BSI Hall of Fame?
Or why?
Nils: No, no, no, no, no, no. The Hall of Fame is not that glamorous. I've seen it.
No, I live and work in Germany. I have no particular
connection to Norway, although I lived for a couple
of months quite close to the Explorer headquarters
in Oslo, it turns out, but that doesn't have any
impact on the research.
Herald: Then, please, mic number three.
Attendee: In this talk, you went over things in the
watch itself. Did you or Malte look at the mobile app at all?
Nils: Malta did also look at the mobile app.
From what I recall, we didn't find any super
significant vulnerabilities there. I haven't read
it in a bit, but I think the authentication there
looked much more like a standard sort of OAuth
protocol, and nothing obviously wrong with that.
Herald: Thank you. So, if there are no further questions,