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/156 Thanks!
So then let me introduce Mr. Patrick
Stewart, he is security researcher
at Tubulin, and he talks today
about the UM
about placing malware in
the Intel AMTI
chips, which are in all modern
into based computers that
have been produced in the last five,
six or seven years.
And please give a warm round of applause
to Mr. Patrick Stewart.
Yeah, welcome to my talk
about resistance, stealthy, remote
controlled, dedicated hardware.
All of them. You also see a second
name on the TARDIS night healer.
This trough, that means that everything
that I will be presenting in the next
hour is joint work what I did
together of Huey.
OK.
A prominent example for
resistance. The Femara is a
rootkit, and the question is now why
not just deploying
a rootkit and userspace to attack a
computer platform?
Well, the point is that
countermeasures applied in a more
privileged layer here, and the current
layer are more powerful,
and that enables
the defense not to reveal
root kits that are applied in
the user space.
But it didn't take so long that
the modern developers also
recognized that the kernel space
is more powerful, and that's why
malware developers developed malware for
the current space.
And this resulted
that the countermeasures
moved to the hypervisor layer
or to the virtual machine monitor layer.
That's a layer. But can the privilege the
operating system kernel to be
able to host several operating
systems in parallel
on the same computer hardware?
But guess what happens next?
Also, the rootkits
move to the hypo azalea.
Prominent example is a blue
pill or separate, and
we can continue this arms race
to the system management mode.
That's the most privileged
host processor mode on Intel platforms
until we reach
platform peripherals and
platform peripherals
are the focus of of
our mother, but I will be presenting
the next minutes
when we talk about peripherals, we mean
network interface cards, for example, or
the video card or special
microcontrollers that
are somewhere in the chipset.
And the point of peripherals
is that they actually
provide an own execution environment
that means and on processor
own RAM, and they can
access the runtime memory
of the host via a mechanism called direct
memory access.
And the good point for the attacker is
that these environments are unconsidered
by antivirus software, for
example.
And at this point, the
anti-malware community has a problem
because there is no more, more
privileged layer that can be exploited
for countermeasures.
And that's why we
did our research with peripherals,
OK?
This is an overview of the rest
of my talk in the first
part.
I will present you a DMA
based keystroke logger.
Let me call Dega and charge.
In the second part of my talk, I
will present you an hour of bent
network channel that is somehow isolated
from the host system, and we explore
that channel to stealthily exfiltrate
captured keystroke to an external
platform.
And in the third part, we
also did some research with a covert
network channel because they are
different. Network channels only
stealthily fall off of the host system,
but other systems that are monitoring
the network can, of course, reveal the
network packets sent by our keystroke
logger.
OK, now let's come
to our DMA based
keystroke logger.
What is going?
Some days ago, I was asked if
Dagar has something to do with the Dego
complex.
The Dagar complex is a base
of for US intelligence organizations
that is operated on behalf of the NSA
here in Germany and Darmstadt, to be more
precise.
And of course, one could think that
keystroke logger is somehow related
to surveillance attacks,
but be assured the danger of it I will
be presenting here is not related
to the Dagar complex.
So our our US actually part of
an academic research project.
It's written in C and AG for assembly.
I will later explain why after an
assembly, and it's
actually not only a keystroke
logger anymore, the updated
Dega and I would later
explain the updates.
Of course, they can access the host
runtime memory via DMA reads
and writes.
It uses the Adelaide, a network channel,
and we can attack 32
bit and 64.
Orbit operating systems.
So here on this slide, you see
more detail to view of our
tech environment, and what you see
here is actually
an Intel based Q30 five chipset.
You see the memory controller, also
known as Northbridge and the input
output controller, also known as
Southbridge.
And our device that
we explored to implement Dega is the
so-called manageability engine,
also known as management engine.
And this device is incorporated
into the memory controller.
It consists of an arc for processor,
and that's why we implemented some parts
of Dega using ARC for assembly,
and that processor is a 32
bit risk processor.
And it's not x86 compatible.
The management engine also consists of
some setup, some room
for the put up code and, of course,
a DMA engine.
So for runtime
data, for runtime code and data,
the management engine uses some
isolated part of the normal
deram chip and the chipset
and forces that only the management
engine can access that part of
the normal DRM.
That means the operating system, your
Windows, your Linux cannot access
that part of the memory.
So then he and the southbridge
you have four out of 10 Channel
Retrieval Data Explorer to exfiltrate our
keystroke codes, and
the management engine
is used to execute some firmware.
The firmware is based on the Threat
X Real-Time Operating System
and firmware, which can be executed on
the management engine is, for example,
Intel's active management technology.
On the right hand side, you see an
administrator tool that uses the Intel
Active Management Technology to remotely
boot into the bios of
the target system.
And as you can see here,
the the actual operating system
and the networks think of the operating
system is not up and running if you boot
into the bios.
That means that this administration
tool is quite quite powerful.
Into its active management technology
is mainly deployed
on business computers.
On other platforms,
you find other firms such
as Intel's Identity Protection Technology
or anti-theft.
OK, here's some more background
information.
First of all, you should know that
there are actually two generations
of the management engine.
The first generation is
based on the ARC tangent, A4 processor
or in short, four, and the second
generation is based on the outcompeted
architecture.
We use the first generation for
Dego, but there's also
some research related to
to the second generation available.
You should have a look at
Igor's Gonski slides
to talk rootkit in your
laptop and
that he published the first results
regarding the second generation.
And there's also
another relatively new project
that is related to the management engine,
and that project wants
to deploy free software
on the management engine.
And the goal is to to actually deploy
and replacement compatible
with the core boot from them.
If you are more interested in that
project, then you can visit
the web page of Project That page
into repro web page.
Or if you want to talk with
these guys face to face, just visit
the assembly here at the Congress.
Okay.
Another point is, or another
important point is
that the management engine
had actually a predecessor,
and maybe you remember a
Super Nintendo video game from the
beginning of the 90s.
That's a screenshot on the right hand
side.
The game is called starring and attached,
had amazing computer graphics for that
time and to implement such
kind of graphics.
The cartridge that you had to plug
into your Super Nintendo had an
additional chip that was called the Mario
Chip, and that Mario
Chip was later renamed
to super effects and
again later it was renamed to
ARG because it was a predecessor
of the ARC technology.
What we have nowadays and our entire
platforms and
the main character of the styling
game was called Star Fox
and.
Staff wonks use the art technology
to, of course, rescue
the universe, and this clearly
demonstrates or also demonstrates how
powerful the art technology
actually is and.
Do. Do we know what what happened to
Star Fox?
I don't know.
And neither us into and
that's why into this,
um, completely alone
responsible for making
the environment bulletproof.
And they do so by applying
a bunch of security mechanisms.
For example, they use signed
firmware images, and they also
apply a measured launch mechanism.
That means before the firmware
gets executed, the hash value is still
rife and that hash value is compared with
a well known reference
value and for the lock in
or remote locking in capabilities.
And there are also some excess control
mechanisms in place.
So the question is now how do we
infiltrate the target platform of our
data? Yeah, we just
use a known exploit that was
covered by the invisible things lab guys.
And if you are also interested in this
kind of research, you should check
their slides from the Black Hat 2009
conference. I think because
it's a very good starting point.
OK.
Back to Dega I want to actually
target is the keyboard buffer.
Um, because we want to capture keystroke
codes and the
operating system loads a driver
for the keyboard. And then that driver,
you can find the keyboard
buffer.
So now let's dig into the kernel
memory to find the keyboard buffer.
We implemented
two search strategies one for
Linux targets and the other one
for wellness targets.
You see
the strategy for our Linux targets.
What we try to do is we try
to find two
memory snapshots.
The first one is called USP Request
Block, and the other one is called use
wise and.
We check if
the pointer is aligned
to zero x 400
and if another feel
it's called transfer DMA,
it's a nine to zero x 20,
and the transfer DMA field
actually represents the keyboard buffer
or the physical address of the keyboard
buffer. And if both conditions
are true, we follow the point
on two of the.
You the device structure
to check the product string because you
have more than just one USB device
plucked to your computer.
And if the product string contains
some strings, USB and keyboard,
then we know that we found
the correct structure for the USB
keyboard.
The last final check is that we
look into the keyboard of this
any garbage, okay,
to be able to follow the pointer.
You have to note that
the atenco that uses the DMA engine
works with physical memory addresses, but
the operating system actually works with
virtual memory addresses, and you have to
found a way to map the virtual memory
addresses to physical ones.
And the Linux that is actually quite
simple you have to subtract
a constant offset for
32 bit Linux systems, it's
zero XY, zero zero zero and so
on. And for 64 bit
Linux operating systems, you can
just look up the offsets
in the documentation.
The MDOT text
file consists a table that is
visualized on the right hand side, and
then you can just pick the correct
offset that you have to subtract to
follow your point on.
OK. That was the
strategy for Linux.
Now let's come to Windows.
Um, for Windows, everything gets
more complicated.
First of all, because
of you now,
you haven't had any access to the source
code source code, of course.
And we had to to to reverse
engineer a lot of things using
IDE approach. The Windows debugger and
also debug symbols provided by Microsoft.
And another point is that if you want to
follow point us,
you cannot just subtract offsets
and the windows. You have to work with
the page tables that are also
used by the operating system.
So that means you had to find the page
tables and the runtime memory of
the operating system.
And we also had to to implement
a page table for us.
I rhythm and dig up.
This is what we did.
And still we had
to find the keyboard boyfriend.
And after hours and hours
using Ida and Co, we came up
with the following search path.
He figured out what a good starting point
is a so-called K I initial
picture structure k i
means kernel image PCR
means process or control region,
and that structure,
uh, led us
to another structure called
debug a data block.
And that led us to
the next structure called Object
Manager Namespace Directory.
And that namespace directory
contains a UM
object directory driver
and that
includes the keyboard
human input device driver.
That means the device driver for the USB
keyboard.
Um, that?
In turn, contains a device object,
and the device object contains a device
extension, and the device extension
finally contains the keystroke
code performed by
the way, the figure here is simplified.
And.
One one point are still missing on
the slide.
So far, we don't know how to find the
starting point, the initial picture
structure.
And this is explained on this slide.
We analyzed
the boots process, the witness boot up
process, and we figured out that the
VIN load executable
calls a function
of the load.
All modules function, and that function
allocates a memory buffer for two
images for the hardware section image
and the kernel image.
But the function also applies
some editors randomization.
That means the function determines which
inmates get a load at first.
And in a second step,
it also determines the target address of
the of the images that means
or the function uses of five but
randomization seed and five, but
means 32
target addresses per load order.
And that finally means for us to find
the K I initial PCR
structure that is part of the kernel
image. We had to scan
64 addresses
and this is what we actually do.
The figure we scanned 64 addresses
and applies signature scan to be
sure that we found the initial PCR
structure to find the initial
PCR structure.
OK. This was
where.
Now let's come back to our tech
environment if we really want to
implement that stuff.
We have to control certain
features.
First of all, we want to read from
the runtime memory.
That means we need to know
how to use a DMA engine to to
to read from the runtime memory.
This was actually quite simple due to
previous work.
Um, we just had to change
to bits.
But we also wanted to use the out-of-band
feature to incorporate it in
Southbridge to exfiltrate captured
keystroke codes.
And for doing
so, we had to change
and to bits.
We had to do some more reverse
engineering.
So this brings me to the second
part the out of Bent
Network channel.
We know that the AMTI
firmware runs a web server for
the administrator to remotely log in
to the platform to do some administration
stuff.
And we know that when the
administrator sends a request
that the web server will send a reply
and the code
that is responsible for
sending the reply is actually
the code that we want to isolate.
Um, because we
want to exploit it.
And the best thing to do so is,
um, using
a developer bot, as shown here, for
example, on the left hand side, because
you can turn it around and you will find
a nice interface where you can
connect debugging hardware
to do some programing with the
manageability engine.
Unfortunately, if you don't
work for Inter or for one of
its business partners and you don't have
any access to such to it.
And that's why we had to develop our
own research tools
and for Linux reported
the exploit to a character
device driver.
This just because,
yeah, it's more comfortable if you
want to use one on command line
tools such as x64
example, we can use SSD to
access the AMTI runtime
memory.
Another tool is our AMTI
memory monitor that you can
also use to look into the M.2
runtime memory,
but it also highlights
changes in the runtime
memory that you won't see if
you just use x64 example.
So but the most important tool
is our aim
breakpoint her Batuu.
That's a tool that dumps
the whole empty runtime memory
on the fly.
Disassembled on the fly represents
a disassembly to the user,
and the user can choose a
location to set a breakpoint.
And this tool
is actually the two of used to
isolate the code for sending network
packets, and
we started to send replies to the empty
net web server.
But then we figured out that
they are just happened too much
and this was actually a better
strategy.
But more or less by by
chance, we figured out that
when we plug in the network cable
into the network can't empty.
Sends exactly one network packet,
a DHC packet.
And this is what we
eventually explore to find the the
network could be set a
break point.
Then we plugged in the cable.
We checked off. The breakpoint was
triggered, if not to set a new breakpoint
plugged into the probe again and so on
and so on.
And finally, we were able to
to isolate the code.
What you see here on the left hand
side and there's a code red,
you need to send a network package.
On the right hand side, you see the
the empty ring buffer
that is used to to
or for the outgoing network packets.
And with that knowledge, you can
prepare a network packet, copy it into
the ring buffer and then triggers a code
on the right hand side and then your
packet ascend to an external platform.
And this is what I would like to
demonstrate with
a demo video.
What you see here is
the target platform on the left hand side
and the external attack, a platform on
the right hand side.
We take a 64bit.
System here.
You know, just to show you where it's
really two different machines.
Both platforms run Wireshark.
The attacker platform also runs the empty
web interface, this is just to
demonstrate that the anti-farmer are
still up and running, even if it's
infiltrated with dega and
on the button on the right hand side,
just a keystroke code mapping
application.
OK.
So at first, I demonstrate
that the firm was up and running, I asked
for the processor information.
Of course, until processor Intel
platform.
So then I infiltrate
data of the target platform
with some zero day.
And if Ortega has
found the key buffer, it sends an initial
package to the attacker,
this is what you see in the wires.
Shock instance on the right hand side
because the Wireshark instance on the
left hand side is unable
to see the packet.
So let's check the firmware.
It's also working.
So now I try to.
Exfiltrate some keystroke quotes.
You see that on the right hand side.
We got some packets with keystroke
codes. This is the end to keystroke
code.
Here's a key release
code.
Wait, wait, wait, wait, wait.
So now I'm entering a pseudo command.
And as you can see, on the right hand
side, the captured
keystroke codes are translated
into my standard password that is Secret
100.
So that is what I actually
wanted to show you.
OK.
But this was
or is not enough, we
up there to dig out a bit because
we find if you can use the
out-of-band channel to exfiltrate
information, you could also
use the channel to to update
dig us a tech behavior.
And we did it the following
configuration.
We know that the empty firmware
has several threats.
One threat is
for danger.
And in that threat, we have still some
space for a new attack coach.
And another threat and threat is
responsible for incoming network packets.
And this is
a threat that we want to hook,
and the hook
is actually responsible
for analyzing incoming network packets
for a new attack code.
And if new attack code is identified,
we hope to extract the
new attack code and copies it to two
Dega.
And if the last packet of new attack
could, as received a flag a set,
if tiger sees that the flag is
set, it jumps to the new attack code
and afterwards it returns
to the monitoring mode.
He and our example it's
a privilege escalation attack, which we
uploaded today.
But the question is now
how to find the code that is responsible
for handling incoming network packets.
So far, we only know of a code that is
responsible for outgoing network packets
and to do so.
We developed a new research
tool that is a bit more complicated,
but it has much, much more features.
It's a witness to it.
You can set conditional break points, for
example. You can also dump the register
content and the memory.
You can emulate some some firmware
parts and firmware parts.
But the most important feature of our new
tool is the Trace
Lock feature, so we are able
to record trace logs.
We can record the instructions
with a code, including the
relevant register content.
And this tool
actually revealed as the code, which
is responsible for incoming network
packets.
This is what you see here
or what you exactly.
See here is a memo copy code
and the registers are there
are one or two contain the
parameters for the copy code.
That means the destination and
the source address and number of bytes
to be copied.
Um, this is our
main hook of our trace tool.
It's not important at the moment.
And here you can see
that the MEM copy function copies
byte per byte and the bytes
with a copy to the
OR is the Mac address
of the destination platform.
And what we do now is
we just place our hook
just before the
incoming packet is copied to
the actual empty environment.
So now
you know that we found the
court to tool to examine
incoming packets, but you don't know
how we realized the privilege escalation
attack.
And the first thing we do is we check
the kernel version.
If we know of a kernel version,
then we can derive
certain addresses and offsets
and size of structures.
And what we want to do is we want
to find four in the task structure
be caught in a task as a first task,
which is executed on a little system.
And this task runs for full privileges.
And the structure also contains
a task list of all tasks executed on
the system. And we use the task
to find the the targeted task
where we want to have more
privileges.
And what we actually do is we
copy the root privileges
from the entire structure to our
target task structure.
And this is what we
implemented and see the
resulting binaries called DMA
a proof of concept remote privilege
escalation not afforded Earth.
And we send this binary
wire to record keeping
to the AMTI environment.
We just use Ping three
four
to keep things simple.
The tool is able to send almost
arbitrary TCP IP packets
to network hosts.
So, OK, now we know
that we can also control
incoming network packets and
we can also implement the privilege
escalation attack.
It's time for the next all right
for the.
Here again, you see the target
platform on the right hand side
left inside and the external tech
platform on the left hand side, both
platforms run Wireshark
again.
The target platform was already
infiltrated.
We also run the AMTI
Web interface to convince
you that the film was still up and
running.
Who also runs the Keystone Code mapping
command line to a.
And we also run a
such h command to remotely log
into the target platform.
So, OK now.
To show you that us already up
and running, I use an editor
to type that goes running.
So no big deal.
So and then I look
into the target platform.
Using my standard password secured 100
sonar on the
tile platform.
Yeah, let's check if it's really the
target platform and is I check, who
am I?
As you can see, I'm Patrick X..
But that's not enough.
That's why I.
Oh, yeah. OK, I check it first.
If I can execute privileged commands,
I obviously cannot because
I am not rude.
But I would like to be rude.
That's why I send
the privilege escalation attack.
To the target platform.
Then I can check again,
who am I?
Now I'm route.
And now I'm sure they should be able
to execute privileged
commands.
Yeah. Also works.
I think there should also be a last
check of the film is
up and running it.
Yeah, it is.
OK.
So.
Now you saw our
hour of bent network channel features,
but you also saw that external platforms
can also see all the traffic
that is generated by dig up.
And that's why we also did
some research
related to a Koch network channel
and the cohort network channel that we
implement that is based on a so-called
JADA.
We got the idea from an academic
paper called Kibbutz and Kilwa
Chemnitz, and
the authors of that paper used
an additional device, but the
wanted to award an additional
device. And that's why
we implemented the jitterbug using
also Intel AMD and Intel
AMD environment and.
We use the following set up we
have the Intel AMD
machine on the left hand side.
On the right hand side is the
administrator platform and in between
somewhere and the network is via take
over, take our platform and the data
back works as follows as follows.
Information are encoded by slightly
delaying outgoing network packets,
and the attacker can measure
the entire arrival times of the
network packets to
decode the leaked information.
So that means that the deployed
member of the MTA environment
to slightly delay network packets
and the attacker can
decode the network packet
arrival times to to get the leaked
information.
Obviously, the bentworth of
the network channel decreases, but it's
still enough to leak passwords.
And another advantage is
that it doesn't matter if the
outgoing network traffic is encrypted
or not because you just use
the packets.
OK.
And in our set up, we
will wait until the administrator
initiates a new administration session
with the target platform.
And if the administrator
did so, we can exfiltrate
our password roughly capture
to stagger.
OK.
To do so, we also require
some features of the manageability
engine. The first one is we need to
control outgoing network packets.
This is what we already did.
So no big deal.
But another point is that we
also need, um
yeah, we need to measure time to be able
to delay outgoing
network packets and.
We found a time that is
related to MMT using our
trace look to it, and we figured
out that we can access a timer
at a special register at
zero x 811,
and this timer has a resolution of
approximately nine hundred ninety six
thousand five hundred hats
and.
This is good enough to slightly delay
or little pickets, and then a third
point is that we have to
know which traffic we actually
can delay
because the delays must look like
random noise too to
all the other
monitors present in the network
before I demonstrate this in my last
video. Just a
short overview of the execution stages
of the jitterbug base diagram
in the first phase.
If you find the keyboard by far, this
takes approximately 100 milliseconds,
and in the second phase,
we wait for user input.
We wait for
a look in them.
And after once we capture the passport
and the first phase, we wait
that the administrator triggers
a session to be able to leak the
passwords to the jitterbug receiver.
OK. Um
yeah.
The movie three.
Here you see the attack, a platform.
And.
We start the jitterbug receiver.
It shows a network adapter.
And we use a pattern to define
rotating timing when no.
This is just to to, um,
introduce more randomness.
There's also a terminal with some
statistics.
There you see the decoded bits
and the distribution in the window and
frame start sequence to synchronize
and then receiver.
So now.
We start a
administrator session
and you can see that
the receiver receives something.
But.
It's actually correct.
Because we haven't captured the password
so far.
So now we.
Are on the target platform,
the reuse,
the exploit that we also use
before.
So you see nothing because we
want to be stuffy.
To convince you that we really
infiltrated the platform, you can start.
The driver again, and you see
that low key, so global is removed.
So now we infiltrate the platform
again and we found the keyboard
buffer.
And now we wait for user input.
This is the submission
system of the 44 coin conference
where I gave this talk the first time.
By the way, we did not change the
password.
So you can.
Check if the person still works in a few
seconds.
So the password is kept shut, and now
the administrator initiates
a new session.
And now you can see.
That it passed more slowly,
but it comes is
revealed.
It takes some time.
So I told you before the benefit of the
jitterbug based channel isn't that high?
So.
Now we got the complete password,
and fortunately, there are also
other administrator tools.
That enabled
us to exfiltrate the passport
a bit faster.
You just have to remotely log in using
the tool and.
Than the already got the password.
So now let's check if the password
is the correct one.
And of course, it is so.
But I was stunned at the video, sorry.
OK.
So some final remarks,
and if you talk
about a we also have to talk
about countermeasures and
a countermeasure that is proposed quite
often when talking about Air Texas
and Input Output
Memory Management Unit into
also implemented a Input-Output
memory management unit in the courts,
the technology until
we deem virtualization
technology for directed ill.
But this technology also has some some
issues.
It was demonstrated that
the aim of you can be tricked,
among other things, also with a dramatic.
And there are other issues.
For example, the Windows operating system
doesn't include a driver for the iPhone.
There are also some academic
countermeasures.
But I actually wanted to point you to
Peter O'Toole Tong target he gave
two days ago.
And he proposes to
harden the hardware and to chose a good
bios. And of course, Peter proposes
to use Corbould as a It's
a good bios.
He should definitely have a look at
his slides or at his talk.
So and now I
would like to shortly conclude
this figure here represents our
conclusion because if
you want to
implement a keystroke logger like
Dagar, you have to reach certain
milestones and what
you see is importance estimated
by you and me of the milestones.
The importance is not related
to the effort we had to put in
to reaching the milestone.
Of course, the most important milestone
is infiltration.
Here we were lucky we could re-use
and exploit that was provided
by the other guys.
Then we had to to find some
valuable information of the host runtime.
Memory in our case was a keyboard
buffer, but you could also search for
other valuable data, such as
cryptographic keys, online banking
credentials or,
I don't know, the Skype session key.
And of course, if you found
valuable data, you also want to be able
to exfiltrate that data
to an external platform.
That's why we say
network access is also quite important.
And in the case of our
jetpack based
Taraba based covert network channel, we
also need to figure out how
we can reliably measure time.
And this is what you
have to do if you want to implement
persistent stuff fully remote control,
dedicated hardware malware.
That's it for my sites.
Yes, thank you very much, Patrick.
If you leave during the Q&A session,
please do so quietly.
And if you leave, please take
with you all your trash
and all your other belongings.
So we will have time for your questions
and other questions from the internet.
Yes, I have one.
So on notebooks, you can
disable this entire aim to you.
Some bios to say that you can disable it
permanently.
But how can I verify that?
Unfortunately, you can't.
So on our board, we also tried to
disable AMTI.
Why are bios functions?
And we did so, and then we use
our AMD memory monitor to
check if it's really turned off.
But it wasn't.
It was still working.
I think Peter Sugo mentioned at his talk
that he completely wiped bios,
overwriting it with zeros and still
started sending some
stuff off the good bios
code.
So the follow up on that one?
Can you do that somehow by measuring,
yeah, power consumption?
We actually tried it.
But this is
a kind of anomaly detection,
and it can't
be sure what what the user will be doing
and yeah, what
the users will be doing with this
computer. And it's quite difficult
to to
determine what is correct behavior
and what is the wrong behavior.
And it was, I think, called consumption.
I propose a countermeasure where I
measure the memory accesses
using certain performance counters.
Maybe that is a correct approach.
OK, we have a question from microphone
number eight.
But at the moment, you'll still
need to execute the exploit
locally on the attack system.
Have you tried to find remote
exploits into the management engine?
Um, we
did not try so far.
But of course, that would
be much, much nicer to
have a remote exploit.
And as I said, until Mty runs
a web server. So most probably
you will or you can find a vulnerability,
but we didn't so far.
Okay, thanks.
Yeah. OK, one question from microphone
number two.
Yeah. Two questions, actually.
First of all, uh, well,
what's really the prevalence of those
devices? This is only on servers is
on desktops and the second one,
does it actually do anything useful?
It seems like a huge attack surface, so
you really want to remove it?
Or does it actually do something you
would want
to think for for companies
where you have
a bunch of computer platforms that
can crash?
It's actually a useful tool this empty
because the administrator can remotely
reinstall the operating system, for
example.
Um, what was the first question?
Is it only on servers or is it on
desktops or?
Um, on servers you actually have,
uh, similar, um,
similar solutions.
Um, this is for desktop and
for desktop and laptop systems.
So you have something like the base
for management, control
or stuff like that.
Okay, thanks.
You're welcome.
Okay, next question from microphone
number two.
Yep.
Yeah, maybe I was missing it, but I'm
kind of not seeing like any kind of
persistence there.
So I again, like
maybe clarify what what exactly
you exploit locally,
what you exploit while remotely, which is
like nothing, I think.
And what changes
to the systems do you actually do to
after it's switched off, plugged in
another network so that it's still there?
OK, yeah, I forgot to
to mention how we get the persistency.
Um?
OK. AMTI is so powerful
that you can turn off the platform
or you can can put the
platform in standby mode and is
still up and running, even if you power
off the platform.
It's only required that the platform is
plugged into a power source.
And if we infiltrate
the target platform and we shut down
the system as usual, AMTI
our Dega is still up and running
together. And if you turn
on the platform again, um,
also Dega is up and running.
We tested this with the platform
encryption mechanism.
Um, the filename
system.
He infiltrated the platform
during runtime.
Then we turned off the platform, turned
it on again. We had to type in the
heartless encryption password and we got
it so completely.
Removing the pop lock or having a
completely dead battery would actually
remove it.
Have to remove the power block
and the battery.
OK.
So now the question from number two.
Yeah, I actually want to know if you
experienced any difference between host
based provisioning management engines
and I
don't know the other name right now.
So the one this whole space provision in,
I think the other one is something
like enterprise provisions,
which overrides the config all the time
when and management service contacted.
So do you expect any difference in
your expectations?
Um.
I don't really got a question or
your point.
Sorry.
So to use interactivity,
you have to provision the chip
by default is enabled but not used, and
you have to provision it to to enable.
Yeah, there are two
methods in the actual version right now,
though so whole space provisioned which
you do on the house, on the operating
system. Yeah. In the enterprise
space. So for example,
why the system boots you plug in and USB
stick and the system gets provisioned
and configured it contacts.
And so for example, in you
send certificate to
do the whole configuration it overrides.
It's all at the time.
It contacts the
enterprise server, for example,
on your exploit to you.
What method methods do you use
to prove it? Provision of these chips
into management engine?
And I don't have any
experience of the provisions, but.
I know that certain
systems are delivered to the customer
that are already somehow provisioned
because we are
already asking for a provisioning server
at least.
So that means they are at least
configured to ask for the provision
server.
Um, I don't know
if this is.
Useful for any exports so far.
OK, one question from microphone number
three.
Yeah, I can mention that.
It's actually for a remote deployment.
That's one of the selling points of
the manufacturer can ship the laptop
directly to a user.
Yeah. The company can then
push their software.
But I had a question.
This has been in laptops
since 2011.
Do you know how many laptops
have been shipped?
How do you know how many laptops
have been shipped with this lovely
feature?
I think all business laptops.
Yeah, but
I don't know if you can ask a
manufacturer to
leave it out. I don't know.
OK, one more question from microphone
number two,
especially on laptops.
Yeah, the keyboard is usually connected
using PCs to do support
that, too.
Um, the Windows version is also
able to find the driver object for
the peers to keyboards
and the Linux. We didn't implement it,
but at the end of
the day, it doesn't matter which keyboard
offer, you have to find, right?
Yeah, true.
Thanks.
OK. Then again, the warm round of
applause to Mr. Steven.
And please, when you leave, take
all your trash with you.
We don't like collecting your trash and
we will be back for the next talk later.