Dear viewer, these subtitles were generated by a machine via the service Trint and therefore are (very) buggy. If you are capable, please help us to create good quality subtitles: https://c3subtitles.de/talk/837 Thanks!
Our speakers for the next talk are going
to be
ego.
So Kinsky and
Nicola Corner,
both of them do reverse interning full
for fun and for living.
Nicola wrote a couple of Python scripts
to disable the into the management
engine
and is studying electrical engineering at
the University of Milano.
And today is they gonna speak about
it to management and
lay out research and
facts for a lot of myths that were
traveling around the world and around
the Internet for the past year?
I would say.
All right. Please welcome Zone were for
big applause.
Hero.
Okay.
Thank everyone for coming.
That's quite all the people.
It's the first time I speak with
so many in front of feedback, but
we'll see.
Anyway,
just a little bit about me.
Yeah, I'm a software
developer at a little company called X
Rays.
But in my free time, I do some reverse
engineering and so happens that
the company develops the software
for reverse engineering.
So that's a bit of a good fit, I think.
I am not a security researcher.
So some might.
My day job is just software development.
So this was just my hobby,
so to speak.
But does MacRobert did a bit of
hacking of it either.
This is the Amazon Kindle, the first
version, the ugly one.
Yeah, I did a bit of both blogging back
then.
Yeah. This was, uh, that was
what I found this little Portmans and did
some exciting filesystem.
Anyway, it's not related to this one.
Just just a bit of background.
And then I get interested in me and
the result is this top cop, you'll find
it interesting.
I'm Nicola Khanum.
I do hope you reverse engineer
and I'm interested in Do-It-Yourself
Hardware.
I'm currently an electronics engineers to
enter in the Polytechnical de Milano.
And I'm not a researcher.
A security researcher.
I like to build my own stuff from
scratch. And I really like
BCB Mulenga like this one.
Okay. Yeah, just a little disclaimer
that all that describe
here is information either from public
sources or from our armed forces
hearing.
Of course, as always, you can be sure
that everything that we say is
100 percent correct.
It's just our opinion
and it may turn out wrong in future.
And we don't have any ideas within the or
any special relationship.
So everything is dealt with,
we say is not
endorsed by India or anything like that.
Okay, let's go one
so just a little bit about what does
Intelli mean.
Amy is a nowadays
it it means management, manageable
management engine. But the reason it was
called manageability engines was quite a
big scene in early 2000.
Then a bit
later.
Now, now it'll test tends to code
Comverse Security and manageability
engine or just Converse
ticker-Tape engine.
So depending on which
generation or which document editing,
it may be called different things, but
it's basically all the same thing.
And in mobile, what embedded
platforms there is a variation called
trust execution, engine or deoxy.
It's a little cut down and smaller
firmware, but it's also similar thing.
And then servers sort of platform cental
sort of profiles. There is also
a version of me running different for
Mercal surplus for services.
So basically most Intel platforms
nowadays, they have some rotation of it.
And what is it? What is it?
Well, Intel Intel says this
on their frequently asked question page
Gilden to many Intel chipset based
platforms is a small portable lobar
computer subsystem which performs
various tasks.
Yeah, I got some some things because I
didn't have tasks during
a while.
A computer is running or during
sleep and so on.
It must function correctly to get the
most reformism capability from ABC.
So it's a bit vaguer, but
that's what they say
and what other people say.
Yeah.
For example, some people say that it's a
barmaid for NSA
and it has no useful purpose.
And of course, I
guess you can blame me as well, because
my first presentation on this topic was
called Get to Know a lot of
You. Just a bit of explanation about
it.
When they submitted the abstract at
the beginning, I was looking just at the
antitheft feature
that Intel was using back then,
and that one did indeed work
like like a rootkit.
But in the process, you have this habit
of Hebert's
that I get easily distracted.
And once I started looking at
this and just left, I found that it
simply meant incidental.
Amy.
And then from there, it's kind of
was all all kinds of things opened.
So I started looking into what what else
is it inside Amy and so on.
So anyway,
my point is that it's not Messaggero to
get as it was just kind
of maybe a bit of cliqued by title
to get my submissions accepted, which I
succeeded.
Yeah, so anyway.
And that is, for example, article from
Hockaday.
It's a bit difficult to read, I guess.
So I will I will read
some of it.
It says, among other things.
It's a microcontroller which has direct
access to everything in the computer.
Every computer was an Intel chip made in
the last few years, has one.
And if you're looking for a perfect
tector for a stock, you won't find
anything better than Zanmi.
It's a scary scene in your computer.
And this fear is compounded by ignorance
with no one knows what it can actually
do. And without being able to audit
the Quadrani on Zimmy, no one knows
exactly what will happen when it's broken
open.
Yeah. So anyways, this is just one
article, but there are many similar
articles in the recent years.
And so on.
So, for example, on
ratings, all this this discussion
and and one post says
the conspiracy theorist in me also makes
me believe that Intel is not entirely
responsible for Zanmi.
I imagine that NSA and other people,
letter agencies, have had their
fair share of responsibility for it to.
No, of course, the.
Who knows who is pushing it.
You know, another example
on foreign forums.
The U.S. government can still make
demands of what it should or shouldn't
contain.
The U.S. government has a long term plan
to control the entire Internet.
The army is, of course, part of that
plan.
Or in I.R.S., just random channel
and some guy says, yes, there was
a discussion about limiting risks with
Amy.
And there's a guy replies, How can I
limit my risk when there is a dedicated
computer on top of a computer that has
full access? Get to be disabled.
There is no need for a because it's a
built in hardware store, bypasses
any firewall, latches on to any Wi-Fi
signal, cannot be disabled and so on.
So he has that's all sounds pretty scary.
But is it all of his a straw?
So in my opinion, after looking at this,
all the senior I think that's
most of this kind of
scary things are quite far fetched.
And just
to answer part of the first
question, that is it
has no no useful purpose.
And I say no.
It does have purpose.
Just because it's personal, it has no
purpose. That you don't see a purpose.
Doesn't mean that there is no purpose.
So initially it was created to
implement something called empty to
solve real I.T. problems.
And let's see, what
are those problems.
So just a bit of history on the remote
management.
So in the late 90s, there was.
It began well when people had many
computers, but they didn't want
to have monitor a keyboard for
each one of them.
They had something called keyboard
video speech will later keyboards with
your mouse.
Then later
appeared the standard called Wildfire
Management, which included, among
other things, we can learn and
rebuild execution environment which are
still in use of nowadays.
Then IBM introduced a online
that allowed the network
card to sound very Salyers in case
something happens with the computer.
But it was just one way.
Then in 2001, introduced
understand that format, one
which allowed to sense some more things.
But it was you could be UDP only and
it had no encryption.
Two to two years later, they added
encryption and impro some things, but it
still was not completely enough
for many
purposes. And just yet,
in the background, they did some research
with Mesnier Enterprises
and they announced something called Empty
in 2004 on Interleaving Little
Forum.
And the Enron presentations, they showed
this picture that
we have new technology which allows all
this and HSF
was on raises and of course,
anyone in enterprise courses, this
picture.
She says all those green nancies,
they think that's really
good for early Guzzi.
I need to have it.
And it was very popular.
So one year later, say, there it is, the
first version had
it hidden inside the
network card.
Well, not not card, but network chip,
which was on the motherboard.
It had the features which were not
supported by
people, stopped by just one, the format
ISF, for example, to get idea
direction so you could
mount an image over the network
and put the remote computer over it.
It had several overlain so
you could have Sayo console.
Yeah, for some reasons, they used soap
API, so ximo over htp
ximo was a scene back then.
Yeah, Zan's eh.
They said they started the work, aren't
improving it. It was very popular
and they decided, why do we need to put
it isn't Rakolta let's put it inside the
North Bridge.
We have some space is justice
since a sizable car.
It's not a big deal.
And the more platforms
can have it.
Then they did some more improvements, for
example, in 2007.
They started the reasons the first
varanus of this year were without ADT
to support first mobile
users, for example, QST is a
quiet system, didn't quite, uh,
system technology, I think basically
fund management.
So when the process gets hot,
it tells it in birth control,
your Twitter underfunds.
So it it gets a little colder.
So basically, it's something that works
without the involvement of the main
c.p.u.
And I guess they just had
some spare space and they decided we can
add this feature and it will really
improve the work
of our hardware.
So why not do it?
And they also TPM because
people started well, not people, but
staff.
Yes, it was, uh,
initiative by Microsoft, the trusted
computing and TPM
Standard appeared and
they decided why. Right.
People need to have an extra chip and
spend spend more money.
Well, we can just add
it inside and it
will be cheaper for people and
so on.
So and then the other there's
the first version of yourself.
I didn't look at it, but that's the first
time it appeared.
Then eight, nine say
they move to so-called.
We call it generation two.
They switched it to a different c.p.u, to
a more efficient instruction set.
And they added also Kadim supports
previously. What what what had to be done
in hardware using external
switches.
Now, it could be done over the network.
So we could have full control of the
computer,
like says, if we do use the
mouse and keyboard and so on.
They used the version of the V.A.
protocol.
Anyway, just some milestones.
They're not really interesting.
I guess I'll skip them.
So.
So. So somebody is that the
original?
It was created for this empty
advancement management technology, I
think,
or what what they called it.
We process umbrella term, which is not
really concretely defined,
but eventually they they they also added
other features which which
were not related to empty, but
just because they could be useful and
they had the opportunity.
So they other main many things, for
example, one I didn't mention
is ICESCR Integrated Core Control.
So previously you had to have a separate
chip on Sunday onto the motherboard,
which was responsible for controlling the
clocks.
Now it could be integrated all in the
chipset.
And again, the customer
safety on the
bill of materials and the.
It was also a bit more secure because
once the clocks were set, they were
locked and they could not
be controlled by other software
inside the. So you couldn't overheat your
computer accidentally.
Of course, until was added.
Also part of it
then a dynamic application order
for the applets.
They implemented that one time password,
for example.
And one feature, I think, was that they
really liked was silicon work out
capability for
for patching bugs and hardware that
previously had.
They had to replace the entire
chips and nowadays they could just
release the new firmware and the box
would be fixed.
So that's, I guess, their kind of
motivation for all of this seems
so I think
it's kind of reasonable that they they
added this to Amy because
they had the opportunity and it
saves them their money and their
customers.
And when you also say that
it was and they say and they control what
they say is then,
as you know recently, is that it was
discovered that
on request of government agencies into
that a bit
that would allow you to disable
it earlier so it doesn't run
for the rest of the operating
period of your computer.
And then if they had control over Zinta,
why would they request this bit?
It doesn't it doesn't really make sense,
in my opinion.
And here's a post from
from one guy on Hacker News, and he
claims to be an internal engineer.
Unfortunately, a bit hard to
read.
And he says,
I worked at Intel on a meal for four
for three years and they killed Kantos.
Two things. And he was not born out of
desire to spy on people, nor
was it two, to the best of my knowledge,
created at the request of U.S.
government or others.
It wasn't an honest attempt at providing
functionality that we believed was useful
for sysadmins.
It was initially to be going much worse.
Early pilots with actual customers,
such as the British bank, were
going to run out of more stuff.
Think a full JVM and have a lot
more direct access to the Euroland.
Security concerns it.
This idea is pretty early on
in the 8th. I personally believe the
whole thing was a bad idea and everybody
else feels lucky to feel is
fit to cap on end of it.
But the scene was never let the bucket or
anything like that.
So I kind of totally agree with this guy.
So I think it's kind of something that
kind of spun out of control and it was
not really meant to be
as bad as it turned
out.
So a bit more
about us, our moves.
So people say that it's always on when
the opposite is off.
Well, it's kind of true, but
it has some some circumstances.
So it's a little
bit about, I mean, our states.
So when the ABC is on and is
also working and everything is fully
powered, but
when it is sleeping and ECan
can be in different states and for
example, one of state is called and won.
So my NCP was suspended,
but Emmy functions it hatzakis it.
It has been a bit of drama which is which
is working.
It has US system and Amee systems are
working.
And
once as some timeout
expires, it goes to Zolf state.
And in that case, it's completely powered
off. So it works for a bit and then it
goes off, but it can
have so-called wake mode.
So when the packet comes out on the one
and empty is active, it wakes up and
can handle the request.
So it's kind of fourth,
but not completely off.
But anyway, it's.
When you power down your computer,
usually it's off.
In some cases, you can cut Fullerton's
a bias. If you have empty,
here's a picture. You can you can
configure that.
It should still be only on
in once the computer is on
or one computer is in the slip.
It can be also be powered
if it's on a power and so on.
So this set in depends on the on your
system. And then sometimes it's
configurable, sometimes it's not.
So another one,
it can look as if it was a common sound
over there.
Yes, it was kind of true.
It's for sometime, but it's not anymore.
So if you still need the Zemi, which has
this TGT, which means of deterrence,
models of antitheft,
and it was only
present in the air since four
four nine nine zero
in 10, it was removed.
And for this to be possible,
the antitheft needs to be
enabled.
And your computer needs to be enrolled in
zanti software gram because it has to be
periodically pinging the
server
that this is it is not stolen.
And yes, it had for
some time, it has support for 3G
and this readerships had to be connected
directly to the chipset.
For example, if you had the use be
key was 3G, it wouldn't work,
only was the built in module.
And this comment to turn off
to to kind of because you had to
be signed by the intel,
so it had to go through Intel servers
to be really active.
And eventually in 2015, Intel,
Intel, they moved it and
it's completely gone. So it's not
president in the modern PCs
and all the other side.
I just have solutions which are offered.
They don't use Emmi.
They all use a.
And a bio. So you if I module
which works on the operating system
level. So it's a software agent.
So another one is
going to need all that and might be seen.
And it's it's a bit complicated,
so it can it can
read the cost memory,
so, for example, it cannot read your
contract directly.
It can maybe push some driver
or whatever that it would cause
the data, Brett, from from hard
drive and then fetch this data from
Xenome.
But it cannot access the heart
of darkness, as far as I know.
Of course.
And according to the documentation
in the in the book come
about. I mean, the sensitive areas
are blocked terms of trees.
So, for example, this Amam is
blocked and cannot be read by this
DMA engine.
It has a bit of fox as to the internal
GPO.
But as far as I know, it has it has no
actual real access to the pixels.
So it can kind of
redirect data from from from the drivers
to the GPO and and does a
key exchange, but it cannot directly
decrypt the data.
However, there is a bit of a
footnote, so to speak.
It can emulate the idea or you'll be
device on the horse. So it could put
a different image.
Well, that man could definitely
much use an empty.
And then, of course, he could access the
file system or whatever.
But this is not directly in itself.
It's something that use use me.
And one more note that this is all about
generation to have me.
So in in Emilien,
Maxine was talking yesterday and he
claims that it has access to Maust
devices on the cost.
So much so maybe this situation has
changed.
So I don't know.
So it can ease some, some stuff but
not everything.
And then people say it's a black box.
We can't. I would do that.
Just give up.
And I said, not really.
So for example, there is a tweet from
Daniel Behler on on Twitter
and he quotes his friend who says
it was, uh, a follow up to
the croc attack, which was basically
is a bug in the space
in the implementation of the
specification.
And he says whenever he comes,
justification, how do you
break it?
So it is a specific thing.
I've seen every time he says must
check that they really did
this every time.
It says must not checks that they did
not every, he says, should
assume that they did not do it and test
for it every time it mentions
the requirements. That does not affect
functionality, assuming it was done
wrongly by one company and nobody, not
just because it still works.
So anyway, I think this scene also
plays like, well, for
Intel, we don't really have
specifications, but you have some
documentation which escapes various
flows, for example, for activation
for the remote aromas and so on.
So you can also do the same thing just
for suspects and and
see if they really
followed correctly.
And maybe you can find some bugs.
And the notion
there is blackbox auditing.
So plenty of products can
can be audited without source code.
And our did this Housel source.
And just as a kind of
points to the my previous slide,
there is a master status
by what she does.
There are various in
in 2010 called security operation
of Intel's active management technology.
So it was all his work.
It did not at all enough.
And yet it reverse engineering.
He just read the documentation provided
by Intel and he tried to talk
to activate until a meet or
not. I mean empty
and see if it's really activated the way
they describe.
And he tried to find some kind of
holes in that specification.
And he did find some things which you
have to fix it later by Intel.
But at the time, they were really
kind of bugs.
For example, Intel says that
Empty should not be pinging the
activation server before it goes into
step mode.
But she lost.
He found that in some cases
it does because the activation server.
So apparently
it was not completely implemented
correctly by Intel.
And in the later versions, it'll change
the way you activate and detect
motivation works.
And now it's more correct.
So you don't have to
have the source code to.
Sometimes even the jurors adhere to to
just avoid it.
And even if you don't have source code,
you have the binary code.
There's also a former is available in
flash. It's not encrypted for
now.
So you can just figure out how to extract
the just
symbols, the code and see what it does.
And in my opinion, it's a superior
approach.
So when you have the binary code,
you see what is actually being executed.
So you don't see the comments.
You're not confused by comments by it, by
the variable names or whatever or code
formatting. Like, remember the go to
files that Apple had in their
encryption code?
Not encryption. I don't remember.
Somebody was whisky's anyone
that there was a goto which was indented
a bit wrongly.
And it was not obvious when you're just
glance at the code.
So what do you do when you have it in
binary? It's kind of hard to miss
such things.
Yeah, and you don't have the comments,
but sometimes comments, so they tend to
go stale and they made
they made this Capsis, which are not true
anymore.
And Mr. Binder, it's a bit harder.
Yeah. One downside, of course, it's it's
much it takes a lot of more time.
But that's life.
And so just to summarize it, there were
some bucks as a lotto fund until
recently.
And the judge just mentioned previously
that just by virtue of Cerveris, he found
some issues by
but just monetary incentives work during
the activation process and in trying
to change some things
sends us or we'll not believe that was
found this year, earlier this year
about the empty Digest's that could be
sent to to log into the empty.
And that's one of the ways forward, just
looking as a different network traffic
again and and trying
things so without source code again.
And the last one with
a buffer overflow
again was found was also scored just
by the computer company,
the binary code.
So just to summarize.
Even if his black box and you don't have
such code, you can audit.
And maybe you can even get by without
resources, Genea, of course, is better
reservists. Gene might be on.
But you can.
I was out in my work.
Now, one more thing
I you can write
the undetectable third kit for its
stealthy and undetectable.
And indeed the there were some
attempts of making their targets for the
national army in particular.
In 2009 at the black
huts, there was a presentation
by Invisible since love
was probably the first one is the first
research on this on this topic.
They found the bug in some viruses
which allowed access to the Intel's
memory area.
And at that time it was just plain
text code.
So not predictive, not anything.
And they could inject some code into imir
memory and could zip code.
So.
This allowed them to kind of
have to get like seen, but
it has some advantages.
It has to be in Chapter 20 on nature
about.
And
and since then, Apple's
sorry, not Apple interface, that they
implemented the in, so you cannot get
the city or modifications
will be detected and rejected.
The the machine will reboot.
I was.
Patrick Stayman home, who might some
who wrote a book on detecting their
attacks.
So I think it's not it can
be considered undetectable anymore.
So we can detect there may by some side
effects.
And it's not so stealthy anymore.
And some people say,
okay, it's just saying it's there and
you can't remove it and you cannot do
anything.
So
I think it's a myth. Let's see what what
can be done about it.
So about one year ago, I started
playing with Corbould and I asked myself
if I could remove the let me fear.
And unfortunately, the aliber boot fake
you page, I had the answer.
And it seems that the before versions six
say it was possible to disable Internet
Emmi just by removing the Fermor
from this by flash.
Unfortunately, this isn't
available anymore, because starting from
version six, if you remove
the intel, let me fill in where
the C will turn on that and we'll
turn off of. After 30 minutes.
So it seems that
it is not technically required.
It seems like an artificial lock.
So I started looking for a way at least
to reduce its fear.
And they found this message on the
Corbould mailing list by Tremolite Son,
in which he tried to remove parts
of the interlinear femur, and
he found out that the
p.c still turned on that without
turning off.
After 30 minutes and
in a few days, he found out that
he could actually remove parts of him,
telling me without
compromising the correct boot of the
system.
So I tried to do his
work again.
And to avoid doing things
by hand, though, with an X-ray it or I
started writing AMMU Cleaner, which
is a Python script that able to reduce
any MTel, any film or image to the
minimal image needed
for a corrective boot of APEC.
So first of all, where's the intel?
Let me feel, Mirwaiz.
Where is it located?
It is located on the same chip as
the BIOS EFI.
So reading and writing it
is quite simple because you can either
use an external program marro, which can
be a cheap Linux board
with an SBI interface or
a dedicated program matter.
Or in some cases you can also use
the vendor toolset to flesh out
the bias to dump her and write
again that you are modified the major.
Now this is possible because the
spy chiefs in the intel
assistance are partitioned them.
So this is this Quima.
You have the Intel Flesche descriptor,
which contains different partitions
inside that they
s.p.i cheap. So we have this critter
regiona, which is like a partition
table and then different partition.
For example, Dubai bias region and
the intel let me fill my region.
All we want is the intel.
Let me fumer. So we just have to extract
it. And we can do it with the help of
HFT tool from the Corbould project.
So first step, but let's try
to remove every partition from the femur
except for DFT Pyar, which seems
to be the fundamental one needed for the
correct.
Indeed, the intel, let me fear more, is
partition. That this is the simplified
schema. So we have an FBI
team, which is the former partition
table, which contains a list
of the partitions inside that the fumer
image.
In this image, we can see that there is
the F TPR, which is the core partition
and the NFTE partition, which is the
partition with the network stack and
EMT.
Removing this partition is quite easy
because the inside the FBT we have
these entries and the Channel three has
the offset and the size.
So all we have to do is just to remove
the cord from the offset to the offset,
plus the size
the partition are signed.
But that they are assigned individually
so we can remove the whole partition
without any major effect because that the
signal was inside the partition.
So we removed both the code and the
signator.
Moreover, the FTT is not signed.
It just has a check some.
So it's quite easy to remove everything
we want.
So I tried it.
I fleshed backtrace out the result on my
DC and it worked.
So this was the first step.
The next step was to try to remove
the ls that the main modules?
Now things are becoming a bit
complicated. So let's review the
layout of the entire
hemisphere.
So we have the SBI Cheap
Bouy which contains different regions.
For example, to the script 30 bias and
the Emir region inside that
DMF, you're more wet.
We have different partitions.
For example, the TPR and DNF,
TV and inside the each
code partition.
For example, the F.T.
PR. We have different modules.
The modules can be either Hofferman
compress the or else that compress the.
They use the two different kind
of compressional schemes.
So because else that they may offer
Subedar compressions, but
it needs a loaded
Fermor to be used.
On the contrary, half man, the
compress has a worse
compressor composition of nature,
but that can be done directly by the
Ardler. So they use the half month to
compress the early stages
modules and elser them for
the later stages.
So different partitions have
different structures.
But the CSF, we
kept only D.F., TPR partition.
We are only interested in that.
And that is called the partition.
Moreover, the internal structure of the
devastation changes between the different
that in telling me generations.
So generational one is not of our
interest because that in telling me could
be removed completely.
So no problem for.
And let's focus on generation two because
I started fund that.
So Dieser is
in Turn-off schema of a generation to
quote partition.
So we have a section that is a manifesto
which contains the RSA signature
of the list of the modules.
Here you can see that we have different
modules and each entry has named
the offset this size, the compression
type. And most importantly, hash.
This means that the modules are not
directly signed.
Each module is Heffter.
And the list of the hashes is then
signed.
Luckily for us, the hashes are lazy
evaluated, so invalidating
a hash of a module doesn't prevent
the loading of a previous one.
This is important because it means that
you can that we can stop the boot
of this system by invalidating
a module. All the Cequent module
will not be loaded.
But the previous one.
Ah, okay.
So I tried again.
I updated Ammu cleaner and I tried
to remove every partition in DFT
Piara else that I may compress the
so that only five modules
that were kept.
I fleshed Bekker. There is altor and it
work again.
So at this point I had removed
most of the code, but there were still
the Hofman modules and I wanted to remove
at least that most of them.
Documentation online for the
HALFMAN module so are very poor.
So I relied on the source code of
UNEF me, which is the decompress or for
in telling me generation two for the F my
modules and the Rickover the structure.
So wildy else that I mean modules
were just a single block of data from
the offset to the offset plus this size
D. Huffine Compressed modules
are fragmented, so there
is a single partition
share among
3M and we have
an L. L UTI which stands for Local
Lookup Table which contains
Celesta of and Triste that has
a valid flag and the offset
the offsets point
to the F Munchak.
So we charra fixed that size
uncompressed data.
But from our point of view, since we're
seeing only the compressive data,
they are variable size.
Dieser, let's say complex chemo was
probably used by Intel to
further shrink the HALFMAN
compression because in this way different
chunks can be reused
again in different minor modules.
However, once I understood
the structure of DNA, all
I had to do was to create a white list
of the modules that couldn't be removed
because the B the are
part of a partition of a module
that I want. I don't want to be removed
and remove all the others.
So I tried to remove the module
with the less important name.
And just to start the with trawls,
the FTC s and I fleshed victories
out later and it worked again.
So I moved on that and I tried
to discover which modules that were
really needed for the boot.
And they found out that the only two
modules were needed.
These two modules were they'd be Uki,
which stands for Bring Gapper,
which is the Mod, the first the loaded
modular, which initialize all
the system and turn off
at 30 minutes.
Watchdog.
Dear on Keeper.
Dear on P Modula.
Which is not always present.
Seems to contain some sort of
configuration data read by Dupee,
but it's very small, something like
two kilobyte. So I'm not a problem.
Interestingly, there is not
colonel now because the Colonel Modula
has been removed.
So it seems that on generation
two, it's possible to have a fully
functioning p.c without
a kerchner running in Telhami.
So next step, but Rickover, the free
space.
Why? Because I was
using Corbel term and the intel
telling me a few more imager.
Was that something like five megabytes
while decode remaining after the removal
was much, much less.
And they wanted to recover that space
because I wanted to store a Linux
kernel directly inside my spy chip.
Why not?
So I started that just by truncated
the image just after, let's say,
their last valid module.
And that worked.
But well, not that was
expected because the dead
space that I had removed wasn't met
by anything inside in Clemmy so
I could easily removed it.
But that was that wasn't enough.
Because, let's see, for example,
this Cheam between the FBT,
which is at the beginning of the M.E.
imager and the F DPR, which is our
partition that we must keep.
There may be other partitions
that I had that previously moved.
And now they are not there anymore.
So I have the FBT, something like one
megabyte of F F.
And then finally my code.
And I want to recover that space.
So I have to figure out how I
can move the partitions.
And you may say, well, it's easy.
You just move the code that you correct
the entry inside the FBT.
The offset of that entry.
And that's all.
Unfortunately, on the generation two,
it's not possible because.
Well, it's not that easy because it
seems that that some offsets
inside the DFT PR partition
are not related to the beginning
of the F TVR partition.
But they are related to the FBT,
so you can't move the cord without
adjusting them as well.
It took a bit of time.
But I was able to found them
out. And luckily they
aren't signed.
So after many tries and
breaking my laptop many times
I found out which ones
were they're responsible for this
behavior. And I corrected them as well.
I flashed back the is to end it work
again.
So this is the current situation
starting from a five megabyte C major.
We have now that an 84 kilobytes
imager, which is
moreover full of
free space, because as you can see, there
is the FBT badfinger,
just the head there and some pointers
betting again, the 50 kilobytes of
data, which is the real data, and then
acting. So starting from five
megabytes. Now we have, let's say,
50 kilobytes.
And just to have an idea, this is
the size comparison of
my image. So you can see that most of
this base is dedicated to the network
tech and the two Intel EMT.
We have a small partition of FDCPA,
plus a small partition off EFA
FSL, which is an internal file system
that in time you can read and write.
And inside the F.T.
part, the only thing that we really need
for the core boot of the APC is that
BP plus sometimes the RUMPY,
but it is very, very small.
So I decided also to port
my work on generation three.
Now don't start leaving the room
saying, oh my God, this starting again
from the beginning, not with generation
three, was much, much easier
because the internal structure of their
party, Sharna, have changed.
Without any change, I was able to
remove all the partitions except for
FDCPA because the structure was the same.
But the internal schema of the party,
scholls, had changed.
And this one is the new internat scheme
of the code partitions.
Now they are indexed by the code, the
partition directory, the CBD in.
As depicted in the picture, in the
picture. So we have
three different types of entries,
which are the name of the partition
dot man.
She is the all the manifest, the plus
the extension answer,
a modular metadata and the module
data. As you can see, also the signature
schema had changed.
So there is the old modern manifest that
signs the extensions.
That's that hashes that the kernel
metadata.
That hashes the kernel data.
But luckily for us, that the
lazy evaluation of the hashes is
still valid. So we can exploit, again,
delays, evaluation to remove as many
code as a mini partition, sorry,
as many modules as possible.
So this is the least of the
types.
So I tried again.
By trial and error, I figure out
which modules were really needed and
which one we're not.
And it seems that only four modules are
really needed. So C sleep RB,
which is
sometimes a very small party like
the corresponding of Rumpy
the kernel this time, and they'd be UAP
partition.
After weeks, some weeks later, after
my work there, positive technologies,
the researcher shared the discoveries
of a method that able to disable
in time.
So they conferred my work.
And they found a nice bonus,
let's say, which was
that in telling me generation three.
So starting from Intel, I mean, eleven,
which is Skylake has a killswitch,
which is the HAARP.
If you want to learn more about
the HPV, I suggest you to
read the blog post here.
I just tell you that
it's a beta. You set this beta one
in kilometers off for just after
their system initialization,
just stuff that they're run off the
European module.
Ego's Kuczynski, moreover, found
a different BTD out to Amy Decebal
beat them which with
which should achieve the same result.
But on generation two.
So we have two different beats.
One on generation two and one internation
three that are able to solve the
disable our in telling me without trying
to modify the code.
So the final result is
that a combination
of HGP beat
the end. Out to Amy Decebal
Beta is Ebola.
Plus, the code removal is able to
completely turn off
in telling me just after dehydrating
Zelle in celebration.
Moreover, add to these two
beats.
Forcing Clemmy to turn off.
And the report is saying status
to the system. So it seems that it is
better supported by commercially
biased implementations.
Moreover, to check the status of Internet
me, I use the Internet to learn
it all from the Corbould projector
to receiver the status
of intelli me.
So here you can see its output
with the honor.
Think by the X.
220 with the saw code, the
removal.
So for example, you can see the error
code that which is image failure.
So you tried to load that a module but
that Modula hadn't a
valid hash.
And you can see that the firmware
in it complete has not been
completed.
And the current progress phase
is the Dupee phase.
In telling me is stuck trying to load the
kernel, but it can't load the kernel
because the kernel is not correctly
hash.
With the addition of the Rs to MGD
able beta, you can see that
the status of the intel on me had
changed.
And now the progress data is
disable to different states.
But the result is the same.
Moreover, thanks to the testing
performed by the community.
I found out that Emmi Cleaner is not
limited to my p.c, but works
on NBC from Nikahang
to conflict. So the current
line of Intel products
are covered by any cleaner.
As you can see, the Fermor size.
If you want to retrieve the spacer
is greatly reduced.
So we go from one not five megabytes
or five megabytes, depending on the
Internet. Let me fear to 84 kilobytes
for generation two and from two
megabytes or six tsotsis,
six megabytes for generationally
to 330 kilobytes,
meaning, let's say, a wanted feature
else and are now gone.
So on generation two.
On donation two.
There is no corner running anymore.
We lose the DNF TV
so no more network stack
or EMT forum in Clemmy.
The dynamic application loader is gone.
And the platform trust technology, which
is the framework TPM is gone.
Okay.
Something bad that can happen sometimes.
So on.
Many DDA and these depend
solely on there.
A few more implementation of your p.c.
You can have a break so that it doesn't
turn on at all.
No way you can have is light.
But the delay. So some seconds before
the screen turns on the
on some bias's with dual
bios feature.
There is an automatic rollback of DME
cleaner modifications.
So you flash any cleaner.
You turn on the B, C and you find that
the any fear Murree inside
that your S.P.I flesh has been a
downgrade to the previous version.
And sometimes you can also see these
warning messages.
So careful your
intel. Let me. FEMA is damaged.
Press theft to continue.
Some feature that someone can
lie can now gone on.
So, first of all, you can't have
overclocking with these kind
of removal because the ICC party, SHONN,
which was one of the
modules removed by any cleaner, is
now gone that you don't have.
Obviously intelligent EMT
anymore.
You don't. And the Intel DHP you,
which is the protected audio video pather
anymore. So some kinds of DRM
may be broken now and
some parts of Intel, SGX are gone.
Plus other stuff.
Now you may say, OK, this is good, but
I want to see some proof.
Well, first proof.
You're seeing these slides.
They are. Might be maybe she doesn't have
Internet. Emmi the fool in telling me
anymore.
Let's see, however, a demo.
So we have.
Initially they were using any image,
which is, as you can see, five megabytes.
Let's run them clean on it.
Here it is, the.
Good luck.
And you can see that now they modified
their new images, only 84 kilobytes.
Let's see the difference between these
two. You can see that the original any
image as in in his have
pretty many partitions.
The modified as only one, the
FDR.
So let's dump the
current running FEMA and my see,
you can see these reassuring messages
from my flash zone.
Ignore them.
Everything is safe.
Let's extract the intel,
let me feel more from the dumper.
Okay, with IFB, Twilla, you
can see there you can see Flash region
too, in telling me Dot B now, which is
eighty four kilobytes.
Let's go. Let's compare it with
my modified imager.
You can see it's the same, so I'm running
my modified image on my C
less than see the current status
of Intel let me with in claiming to.
So as you can see, the future unit
hasn't completed its
Thakkar in the initialize anger.
And as you can see him, the Froggies
face state in telling me, has been
disabled.
Moreover, not that the response
from Intel any is not complete.
As, for example, in telling me, I cannot
give you its current capabilities
because that that part of your money is
now gone.
So what can you do?
Well, you can try and clean air or
on your system, however,
be careful because
it's dangerous.
So you may want to have a very
clever way to restore your
P.C.
if it works well, if it doesn't work.
Not well. But please report that both
of them.
And. Well, I also I
would also like to thank all these
people that directly
or indirectly helped me
in this research.
And that's
all.
You can check on my GitHub, I have some
some tools for working with Emmy,
for extracting images.
If you're interested in the reverse,
engineer me.
I have some stuff.
So you can dump the images and extract
Mondiale some dissembles them
I'm playing to.
I'm populated now weekend so that
we will have more information about the
internal structure of Emmi.
And so we can makes more sense of
the assembly.
Hopefully that will help for people to
investigate more about
how it works and discover other things
about it.
And I guess we
can take some questions.
Thank you, Hugo. Thank you, Nicolo.
If she would like to ask a question,
please line up at the microphones
in the early 60s, you just want to close
this one.
If you would like to leave.
Please leave. To my left, your right hand
side only.
Thank you.
Is there a request from the I.R.S.?
Currently not.
All right.
So my phone number one question
can be Enderlin, he access memory
meant I owe
you money, Mopti or
I'm not sure I seen.
Probably not, because it
uses the email.
And I don't I don't think you may walks
over. I'm a male.
But of course I don't have
currently is goosh on the inside than me.
But you can ask Maxim, maybe he can try
and see if it works.
He has a huge one in a million
but as far as I can tell, probably not.
Hope that answers the question.
OK. My friend, I'm afraid your question.
Yes.
In your presentation, you mentioned the
word the laptop quite a number
of times.
If one actually has access
to keep on program one, report the BIOS.
How safe is this?
Can you always city program?
Then that thing can recover and get
everything back to the way it was?
Or can you actually really damage your
laptop beyond repair?
Okay.
First of all, no laptop have been
hurt during these
days during these researcher.
I have here my laptop.
I freaknik the something like
forty or forty five times
something like that.
And it's still working.
So if that's the partially answer your
question.
Yes. If you have access to us, access
to an external program.
And you have a valid dom, but you can
always roll back the modifications.
And that's why if you go on my GitHub
pager, you'll see that I
always recommend using an external
program because once you have a valid
dom, so you you should be really careful
while doing your first time, but you're
always safe.
For example, I've physical.
You broken a
S.P.I cheaper.
I removed it.
I soldered another one.
And they flashed back to the future.
And it's still working.
So if you have an external
program, you should be always safe.
My phone number for your question.
Hi. Hi.
Great talk.
First of all, thank you.
Small question.
Does the removal of the intelli me
reduce the power consumption
of the whole C as well?
A little bit, maybe because of the
reduced bite size?
I think so. But because that you
don't have intellect, me running anymore.
But the point is that the intel,
the prettiest, the intel
let in such a way that
it seemed packed on the power consumption
that was minimal.
So I think that the removal of its femur
shouldn't change much or the situation of
your P.C..
Yes. On the other hand, I think that
since there's a clock control modules
removed, you may lose as a clock
control. So, for example, the reducing
off of the processor speeds
that is sometimes used to reduce the
power. Maybe it may be gone.
So it may actually consume more power.
But I don't think anyone has
actually measured. So it's an open
question for now.
And I guess it depends on so on so on the
board, on the actual firmware, on how we
get configured and so on.
OK. Thank you,
Mike, for number five.
What's your question?
Are you guys in contact with
the company?
So just to me, you could
tell them to make sure that
in future on version four or something,
they do not start signing all
this stuff because I would make these
fixes or cleaning's and possible.
Sorry, I didn't quite get.
Do you want them to start saying or stop
signing?
No, stop signing.
Stop sign anyway.
I mean, in your talk, you mentioned that
certain parts were luckily not signed,
but no,
I said they're not encrypted for now.
Yes.
Well, they did start encrypting one
module for now as they started encrypting
that DADT.
And some people theorize on Twitter that
it's related to some contract with
Netflix.
So Barclays, as they want to hide some
DRM keys or whatever,
but the rest of the firmware is still
open, so you can still extract
it and disassemble.
So I don't think there was a plan to to
start encrypting the rest.
It doesn't really make sense.
There are certain, although I think it
does not rely
on the prosecution.
I think it's just contractual obligations
that they have to keep that part just
because of DRM.
So I I think that it will stay unclipped
it for the foreseeable future
for number two, your question
in the slides
earlier, you have
red area, your map.
To me, it's
just part of the mine.
Computers ran.
How is the research?
How does the army make sure.
Okay. Youso as dozens.
Yes. So.
So this is called the UMAY Unified
Number Architecture.
Not sure why is the name, but this is
this works in a way similar to
as some graphic adapters work.
So it takes a part of the of the drama
of the computer and the resource for the
use of of graphical
device for Amy.
And this is enforced by the chipset.
So it's the cost froster cannot access
it.
So, yeah, it's like
that. There's also the bias has taken
transfigures property to allocate
this memory and laughers registers
and the virus doesn't.
Does not lock the registers.
And you can have access to the memory in
theory.
And that was kind of
the attack in 2009 that they broke
same news the first time.
What was the moment?
It's enforced by the chipset.
So once the register
is configured properly, you cannot access
that memory from the main support you.
But INTUITY, you could you could access
it, for example, by using hardware
attack. So just by accessing the
reliance on the RAM,
however, it will not be enough.
As I mentioned, they started in integrity
check. So once it gets
back as a memory into its own ram,
it checks if if it has
been modified. In that case, it shuts
down the computer.
So there is protection against
modification.
Thank you.
I fully would ask the questions, but
obviously your time's up for this story.
Can people still find you for further
questions on the conference?
I mean.
Okay.
Yeah. Again.
Yeah. If you have other questions, we can
take a look
on the floor.
Thank you.