Secure Out-of-Band Remote Management Using Encrypted Virtual Serial Consoles in IaaS Clouds

 
Secure Out-of-band Remote
Management Using Encrypted Virtual
Serial Consoles in IaaS Clouds
 
Kenichi Kourai
Tatsuya Kajiwara
Kyushu Institute of Technology
 
IaaS Clouds
 
Provide users with virtual machines (VMs)
Users manage their systems through SSH
In-band remote management is usually used
A user connects an SSH client to an SSH server
running in his VM
Not usable when a user failed network configurations
 
user VM
 
cloud
 
firewall
 
Virtual Serial Console (VSC)
 
IaaS provides 
out-of-band
 remote management
An SSH server runs in the management VM
Access a user VM via a VSC
A VSC consists of a virtual serial device and a serial
driver
A user can access his VM without relying on VM's
network
 
management VM
 
user VM
 
VSC
 
firewall
 
Untrusted Admins in IaaS
 
The management VM is not always trustworthy
Honest-but-curious 
admins
 take information that they
can easily look at
Malicious 
admins
 act as inside attackers
Skill-less 
admins
 cause a vulnerable management VM
to be penetrated by outside attackers
 
management VM
 
user VM
 
untrusted
admins
 
outside
attackers
 
Attacks against
Remote Management
 
Attackers can eavesdrop on inputs and outputs
of out-of-band remote management
By modifying
 an SSH server in the management VM
Attack examples
Extract passwords from inputs to login prompts
Steal displayed secrets
 
management VM
 
user VM
 
SCCrypt
 
Provide an encrypted VSC to prevent information
leakage
Receive encrypted inputs from the management VM
Decrypt and send them to a user VM
Receive unencrypted outputs from a user VM
Encrypt and send them to the management VM
 
management VM
 
user VM
 
encrypted
VSC
 
de
crypt
 
en
crypt
 
Where to Encrypt/Decrypt?
 
Virtual serial device in the management VM?
The 
entire 
management VM is untrusted
Attackers can tamper with the virtual device
Serial driver in a user VM?
Modifying the existing device driver is not desirable
Users cannot use favorite OSes
 
management VM
 
user VM
 
Leveraging the Trusted VMM
 
SCCrypt encrypts/decrypts data in the virtual
machine monitor (VMM)
The integrity of the VMM can be guaranteed
At boot time:
 remote attestation with TPM
At runtime:
 HyperGuard 
[Rutkowska+ '08]
, HyperCheck
[Wang+ '10]
, and HyperSentry 
[Azab+ '10]
 with SMM
 
management VM
 
user VM
 VMM
 
encrypted
VSC
SCCrypt
 
How to Identify Inputs/Outputs?
 
The traditional VMM does not recognize a virtual
serial device or a serial driver
Cannot rely on information from the untrusted device
in the management VM
Cannot obtain information from the unmodified driver
in a user VM
 
management VM
 
user VM
 VMM
SCCrypt
 
?
 
Tracking Device States
 
The VMM identifies inputs/outputs without the
cooperation of the device or the driver
Track the state of a virtual serial device
From the interactions between 
the device
 and the driver
Extract only inputs/outputs
Based on the knowledge of the standard of serial devices
 
management VM
 
user VM
 VMM
SCCrypt
 
Implementation
 
We have implemented SCCrypt in Xen 4.1.3 and
the OpenSSH 6.0p1 client
Support HVM guests
Emulate hardware as is
Support PV guests (see the paper)
Define interfaces suited for virtualization
 
Output Delivery
 
A serial driver writes data using OUT instruction
The VMM traps this instruction using Intel VT-x
It encrypts the written data using RC4
Only if the specified I/O port address is 3F8
A session key is exchanged for each connection
 
management VM
 
user VM
 VMM
encrypt
 
trap
 
State Tracking
 
The VMM encrypts the written data if
The FIFO buffers are enabled
Neither in the divisor latch access nor loopback mode
Devisor latch access mode: set a baud rate
Loopback mode: test a device
It watches all the writes to recognize the context
 
 
FIFO
disabled
 
divisor latch
access mode
 
looback
mode
 
FIFO
enabled
 
Input Delivery
 
A serial driver reads data using IN instruction
The VMM traps this instruction
Receive input data
 from a virtual serial device
It
 decrypts input data using RC4
If the same conditions as in output delivery are satisfied
 
management VM
 
user VM
 VMM
decrypt
 
trap
 
Pending Outputs at Reconnection
 
An SSH client cannot decrypt pending outputs
correctly
 at reconnection
Console outputs are stored in a virtual serial device
While an SSH client is not connected
Pending outputs are sent to the client at reconnection
Encrypted with an 
old
 session key
 
management VM
 
?
 
Re-encryption of Outputs
 
The VMM re-encrypts pending outputs
Restore unencrypted data with an old session key
Cannot 'decrypt' it
Reverse the encryption process in RC4
Encrypt the data with a new session key
 
management VM
  VMM
re-encrypt
 
pending
data
 
!#$
 
A
#$
 
A
B
$
 
AB
C
 
!#$
 
!#
C
 
!
B
C
 
A
BC
 
decrypt
 
reverse
 
Experiments
 
We confirmed the effectiveness of SCCrypt
Response time in an SSH client
T
hroughput of 
console
 outputs
CPU utilization
We compared results between
SCCrypt and vanilla Xen
CPU: Intel Xeon E5630
Mem: 6 GB
Net: Gigabit Ethernet
OS: Linux 3.2.0
SSH: OpenSSH 6.0p1
CPU: Intel Core i7 870
Mem: 4 GB
Net: Gigabit Ethernet
VMM: Xen 4.1.3
 
client
 
server
vCPU: 8
Mem: 1 GB
OS: Linux 3.2.0
 
user VM
vCPU: 8
Mem: 3 GB
OS: Linux 3.2.0
SSH: OpenSSH 5.9p1
 
management VM
 
Response Time (Input)
 
We measured the response time of inputs
An SSH client sent an input to an SSH server
It received an output caused by its remote echo
 
Result
2.9% shorter in SCCrypt
The reason was unclear
 
Throughput (Output)
 
We measured the throughput of outputs
We wrote large text to a VSC in a user VM
 
Result
5.6% higher in SCCrypt
The reason was unclear
 
CPU Utilization (Input)
 
We measured the CPU utilization under the
keyboard auto-repeat at a client
Management VM:
 0.8% point
 lower in 
SCCrypt
User VM:
 almost the same
management VM
user VM
 
CPU Utilization (Output)
 
We measured the CPU utilization under periodic
write to a VSC from a user VM
Management VM:
 1.3% points difference at most
User VM:
 almost the same
management VM
user VM
 
Related Work
 
FBCrypt [Egawa et al.'12]
Encrypt keyboard/mouse inputs and video outputs in
out-of-band remote management using VNC
Strongly depend on VNC
Xoar [Colp et al.'11]
Run a virtual serial device in trusted Console VM
Console VM can be compromised via an SSH server
VMware vSphere
Run virtual devices and a VNC server in the VMM
The VMM can be compromised via the VNC server
 
Conclusion
 
SCCryp
t for enabling secure out-of-band remote
management in untrusted IaaS clouds
Provide encrypted VSCs
Inputs/outputs are securely decrypted/encrypted in
the trusted VMM
Future work
Apply SCCrypt to other remote management systems
using VSCs
E.g., web-based Ajaxterm
Slide Note

I'm Kenichi Kourai from Kyushu Institute of Technology.

I'm gonna talk about secure out-of-band remote management using encrypted virtual serial consoles in IaaS clouds.

This is joint work with my student, who has graduated.

Embed
Share

IaaS clouds provide virtual machines for users to manage through SSH. In scenarios where in-band remote management is not feasible, out-of-band remote management using Virtual Serial Consoles (VSC) offers a secure solution. However, challenges such as untrusted admins and potential attacks exist, which can be mitigated with encrypted VSC like SCCrypt to prevent information leakage.

  • Secure remote management
  • Encrypted VSC
  • IaaS clouds
  • Virtual Serial Consoles

Uploaded on Oct 01, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Secure Out-of-band Remote Management Using Encrypted Virtual Serial Consoles in IaaS Clouds Kenichi Kourai Tatsuya Kajiwara Kyushu Institute of Technology

  2. IaaS Clouds Provide users with virtual machines (VMs) Users manage their systems through SSH In-band remote management is usually used A user connects an SSH client to an SSH server running in his VM Not usable when a user failed network configurations user VM cloud SSH client SSH server firewall

  3. Virtual Serial Console (VSC) IaaS provides out-of-band remote management An SSH server runs in the management VM Access a user VM via a VSC A VSC consists of a virtual serial device and a serial driver A user can access his VM without relying on VM's network management VM user VM SSH server firewall SSH client VSC virtual serial device serial driver

  4. Untrusted Admins in IaaS The management VM is not always trustworthy Honest-but-curious admins take information that they can easily look at Malicious admins act as inside attackers Skill-less admins cause a vulnerable management VM to be penetrated by outside attackers management VM user VM outside attackers untrusted admins

  5. Attacks against Remote Management Attackers can eavesdrop on inputs and outputs of out-of-band remote management By modifying an SSH server in the management VM Attack examples Extract passwords from inputs to login prompts Steal displayed secrets management VM user VM SSH server SSH client virtual serial device serial driver

  6. SCCrypt Provide an encrypted VSC to prevent information leakage Receive encrypted inputs from the management VM Decrypt and send them to a user VM Receive unencrypted outputs from a user VM Encrypt and send them to the management VM management VM user VM encrypted VSC SSH server SSH client decrypt virtual serial device serial driver encrypted inputs/outputs encrypt

  7. Where to Encrypt/Decrypt? Virtual serial device in the management VM? The entire management VM is untrusted Attackers can tamper with the virtual device Serial driver in a user VM? Modifying the existing device driver is not desirable Users cannot use favorite OSes user VM management VM en-/de- crypt? en-/de- crypt? serial driver virtual serial device

  8. Leveraging the Trusted VMM SCCrypt encrypts/decrypts data in the virtual machine monitor (VMM) The integrity of the VMM can be guaranteed At boot time: remote attestation with TPM At runtime: HyperGuard [Rutkowska+ '08], HyperCheck [Wang+ '10], and HyperSentry [Azab+ '10] with SMM management VM user VM encrypted VSC serial driver virtual serial device trusted authority SCCrypt VMM

  9. How to Identify Inputs/Outputs? The traditional VMM does not recognize a virtual serial device or a serial driver Cannot rely on information from the untrusted device in the management VM Cannot obtain information from the unmodified driver in a user VM user VM management VM untrusted virtual serial device unmodified serial driver ? SCCrypt VMM

  10. Tracking Device States The VMM identifies inputs/outputs without the cooperation of the device or the driver Track the state of a virtual serial device From the interactions between the device and the driver Extract only inputs/outputs Based on the knowledge of the standard of serial devices management VM user VM serial driver virtual serial device SCCrypt VMM

  11. Implementation We have implemented SCCrypt in Xen 4.1.3 and the OpenSSH 6.0p1 client Support HVM guests Emulate hardware as is Support PV guests (see the paper) Define interfaces suited for virtualization

  12. Output Delivery A serial driver writes data using OUT instruction The VMM traps this instruction using Intel VT-x It encrypts the written data using RC4 Only if the specified I/O port address is 3F8 A session key is exchanged for each connection user VM management VM SSH server SSH client OUT serial driver virtual serial device trap encrypt VMM

  13. State Tracking The VMM encrypts the written data if The FIFO buffers are enabled Neither in the divisor latch access nor loopback mode Devisor latch access mode: set a baud rate Loopback mode: test a device It watches all the writes to recognize the context divisor latch access mode looback mode FIFO disabled FIFO enabled

  14. Input Delivery A serial driver reads data using IN instruction The VMM traps this instruction Receive input data from a virtual serial device It decrypts input data using RC4 If the same conditions as in output delivery are satisfied user VM management VM SSH server SSH client IN serial driver virtual serial device decrypt trap VMM

  15. Pending Outputs at Reconnection An SSH client cannot decrypt pending outputs correctly at reconnection Console outputs are stored in a virtual serial device While an SSH client is not connected Pending outputs are sent to the client at reconnection Encrypted with an old session key management VM ? new session key pending data encrypted with an old session key SSH server SSH client virtual serial device

  16. Re-encryption of Outputs The VMM re-encrypts pending outputs Restore unencrypted data with an old session key Cannot 'decrypt' it Reverse the encryption process in RC4 Encrypt the data with a new session key decrypt reverse management VM !#$ !#$ SSH client SSH server A#$ !#C pending data virtual serial device !BC AB$ old/new session keys ABC re-encrypt ABC VMM

  17. Experiments We confirmed the effectiveness of SCCrypt Response time in an SSH client Throughput of console outputs CPU utilization We compared results between SCCrypt and vanilla Xen management VM vCPU: 8 Mem: 3 GB OS: Linux 3.2.0 SSH: OpenSSH 5.9p1 client server CPU: Intel Xeon E5630 Mem: 6 GB Net: Gigabit Ethernet OS: Linux 3.2.0 SSH: OpenSSH 6.0p1 CPU: Intel Core i7 870 Mem: 4 GB Net: Gigabit Ethernet VMM: Xen 4.1.3 user VM vCPU: 8 Mem: 1 GB OS: Linux 3.2.0

  18. Response Time (Input) We measured the response time of inputs An SSH client sent an input to an SSH server It received an output caused by its remote echo Result 2.9% shorter in SCCrypt The reason was unclear vanilla Xen SCCrypt response time (ms) 2.0 1.5 1.0 0.5 0.0

  19. Throughput (Output) We measured the throughput of outputs We wrote large text to a VSC in a user VM Result 5.6% higher in SCCrypt The reason was unclear vanilla Xen SCCrypt 50 throughput (cps) 40 30 20 10 0

  20. CPU Utilization (Input) We measured the CPU utilization under the keyboard auto-repeat at a client Management VM: 0.8% point lower in SCCrypt User VM: almost the same vanilla Xen SCCrypt vanilla Xen SCCrypt CPU utilization (%) 25 1.5 CPU utilization (%) management VM user VM 20 1.0 15 10 0.5 5 0 0.0

  21. Related Work FBCrypt [Egawa et al.'12] Encrypt keyboard/mouse inputs and video outputs in out-of-band remote management using VNC Strongly depend on VNC Xoar [Colp et al.'11] Run a virtual serial device in trusted Console VM Console VM can be compromised via an SSH server VMware vSphere Run virtual devices and a VNC server in the VMM The VMM can be compromised via the VNC server

  22. Conclusion SCCrypt for enabling secure out-of-band remote management in untrusted IaaS clouds Provide encrypted VSCs Inputs/outputs are securely decrypted/encrypted in the trusted VMM Future work Apply SCCrypt to other remote management systems using VSCs E.g., web-based Ajaxterm

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#