SlideShare a Scribd company logo
Network Enhancements on
BitVisor
2024/03/29 @ BitVisor Summit 12
Chen Chuang Jung
Agenda
- Mbed-TLS LTS support
- Brief intro Mbed-TLS
- Advantages for BitVisor
- Changes to adopt Mbed-TLS on BitVisor
- WireGuard support
- Brief intro WireGuard
- Advantages for BitVisor
- Changes to adopt WireGuard on BitVisor
- WireGuard for Guest OS
- Brief intro WireGuard for GuestOS
- Advantages for BitVisor
- Code change
- DEMO
1
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
Mbed-TLS LTS support
- Brief intro Mbed-TLS
- Open-source and Lightweight
- Enables easy and low-impact integration.
- Designed for Embedded Systems
- Ideal for low-resource settings, less demanding than typical
SSL/TLS.
- User-friendly API
- Easily adds security to apps, no deep crypto knowledge needed.
- Support for Latest Crypto Standards
- Keeps data safe, private, and verified during communication.
- Long Term Support (LTS) Version 2.28
2
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
Mbed-TLS LTS support
- Advantages for BitVisor
- Able to pick the libraries to compile
- LWIP stack compatible
- Customized items in header file for platform to select:
- HAVE_TIME,HAVE_TIME_DATE,
MBEDTLS_PLATFORM_TIME_MACRO,MBEDTLS_PLATFORM_C,
MBEDTLS_ENTROPY_HARDWARE_ALT,…
- Support for TLS Extensions :
- MBEDTLS_SSL_MAX_FRAGMENT_LENGTH,
MBEDTLS_SSL_SESSION_TICKETS,
MBEDTLS_SSL_SERVER_NAME_INDICATION,
MBEDTLS_SSL_RENEGOTIATION,...
3
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
Mbed-TLS LTS support
- Changes to adopt Mbed-TLS on BitVisor
- New defconfig items:
- CA_Certification
- Server_Certification
- Server_key
4
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
.tls = {
.ca_cert =
"-----BEGIN CERTIFICATE-----n"
"MIIDQjCCAiqgAwIBAgIUbdMMHizhHnz+psFMmF6Vs4h7wdMwDQYJKoZIhvcNAQELn"
...
"IngZtsfFXq+U8z6sMxaOSJg2/XEHvA==n"
"-----END CERTIFICATE-----n",
.srv_cert =
"-----BEGIN CERTIFICATE-----n"
"MIIC6TCCAdECFDiiW/aGv3Nm+qFpVKxyECyQeH/OMA0GCSqGSIb3DQEBCwUAMBExn"
...
"F7HKk0oI0ZjNOOUjPgWnqgwyYVDP2WyCr5g2cMs=n"
"-----END CERTIFICATE-----n",
.srv_key =
"-----BEGIN PRIVATE KEY-----n"
"MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAn"
...
"6JN9j0Vy/3SCNjleJ3rkVBQ+SmNNi8iyTjl94d+51elwsosY0lMouDJixUN3yvzsn"
"1PABsGsU4X//Us+1DL7/0J4=n"
"-----END PRIVATE KEY-----n",
},
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
Mbed-TLS LTS support
- Changes to adopt Mbed-TLS on BitVisor
- Add two versions of the random number generator:
- random_num_hw and random_num_sw implement the rand()
function. In random_num_hw, the rdrand instruction is
utilized.
- Used to generate the NONCE for handshaking.
- EPOCH time
- During boot, the time is retrieved once from UEFI and stored
in a static variable. Afterwards, each time a request for the
time is received, it is calculated based on the static variable
using CPU time/ACPI.
- Used to calculate the certificate's validity period.
- Echoctl
- Separate out the common features of Echoctl to allow the
future expansion for different protocols.
5
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
Mbed-TLS LTS support
- Changes to adopt Mbed-TLS on BitVisor
- Introduce TLS version echoctl applications
- TLS-ECHO-CLIENT
- TLS-ECHO-SERVER
- Documentation is ready
- Available at /docs/Mbed-TLS.md
- Create The Needed Keys And Certification
- Generate Root Certificate Authority Certificates
- Generate Server Certificates
- BitVisor As The Server
- BitVisor As The Client
6
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
Mbed-TLS
BitVisor
Network
LWIP
LWIP
BitVisor
Application
7
netif->input
ethernet_input
ip_input
altcp_mbedtls_lower_recv
mbedtls_ssl_read
altcp_mbedtls_pass_rx_data
tls_echo_recv
etharp_input
etharp_update_
arp_entry
nicfunc->net_recv_callback
netif->linkoutput
nicfunc->send
etharp_output
ethernet_output
altcp_mbedtls_write
tls_echo_send
mbedtls_ssl_write
altcp_output
etharp_ request
etharp_query
ARP
Response
ETH+IP packet
ARP packet
Found in ARP
table
Mbed-TLS LTS support
BitVisor
Network
Driver
Linux system
eth0:10.16.165.1
TCP/IP OpenSSL Client
TLS-ECHO-SERVER
Host A
Host B
net_main
vm0:10.16.2.15
Plant text
TLS
Encrypted
packet
Mbed-TLS LTS support
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
- Demo
LWIP
LWIP
Mbed-TLS Stack
WireGuard support
- Brief intro WireGuard
- A modern VPN protocol: simple and secure.
- Efficient Performance: Beats traditional VPNs with less
overhead.
- State-of-the-Art Security: Uses the latest cryptographic
techniques for enhanced privacy.
- Ease of Use: Simple to set up and manage. There are
existing websites that help generate a key pair.
- Cross-Platform: Works seamlessly across various
devices and operating systems.
9
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
WireGuard support
- Advantages for BitVisor
- There is a ready-to-use lwIP compatible package available
on Github.
- The total size of the source code files is only 270k bytes.
- Low Latency and lightweight
- Consumes minimal system resources.
- After BitVisor is ready, WireGuard starts working immediately.
- A Tunnel Between BitVisor and the WireGuard Server
- Allowing selective routing of packets through or not through
this tunnel as needed.
10
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
WireGuard support
- Changes to adopt WireGuard on BitVisor
- LWIP compatible package wireguard-lwip
- EPOCH time
- To prevent replay attacks during the initial handshake, a
TAI64N timestamp is included in the first message.
- New defconfig items:
- WG Network parameters
- IP address, netmask, gateway
- allowed ip/netmask
- listening port
- Private key
- Wireguard peer parameters
- IP address (external)
- Public key
11
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
WireGuard support
- Changes to adopt WireGuard on BitVisor
- Use case for BitVisor
- ECHO-CLIENT
- ECHO-SERVER
- Documentation is ready
- Available at /docs/wireguard.md
- Setup wireguard on linux server
- Setup wireguard on BitVisor
- Start handshaking
- Sending message by telnet application
12
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
WireGuard
BitVisor
Network
LWIP
LWIP
BitVisor
Application
13
netif->input
ethernet_input
udp_input
wireguard_decrypt_packet
ip_input
tcp_input
echo_client_recv
etharp_input
etharp_update_
arp_entry
nicfunc->net_recv_callback
netif->linkoutput
nicfunc->send
wireguardif_peer_output
ethernet_output
tcp_output
echo_client_send
ip_output
wireguard_encrypt_packet
etharp_ request
etharp_query
ARP
Response
ETH+IP packet
ARP packet
Found in ARP
table
Encrypted packet
Decrypted packet
Encrypted packet
Find the netif
wireguardif_network_rx
udp_sendto
WireGuard support
BitVisor
WireGuard Stack
Network
Driver WireGuard
Tunnel
WireGuard Supported OS
eth0:10.16.165.1
wg0:192.168.3.1
TCP/IP Server
TCP/IP
Client
Host A
Host B
LWIP
net_main
vm0:10.16.2.15
wg1:192.168.3.2
Plant text
Encrypted
packet
WireGuard support
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
- Demo
WireGuard Stack
WireGuard for GuestOS
- Brief intro WireGuard for GuestOS
- Unlike the previous network setting where 'ip=pass', we
now route all IN/OUT IP packets of the Guest OS
through the WireGuard tunnel.
- BitVisor replies with customized ARP and DHCP packets
to the Guest OS, so that the remote WireGuard server is
treated as the gateway.
- There's no need for configuration efforts on the Guest
OS; In other words, a basic OS installation is sufficient.
15
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
BitVisor
Network
Driver WireGuard
Tunnel
WireGuard Supported OS
eth0:10.16.165.1
wg0:192.168.3.1
Guest OS
eth0:192.168.3.3
Host A
Host B
net_main_wg + LWIP
❏ Reply to the ARP
request for gateway
requesting.
❏ Reply to the the
DHCP request, make
the Guest OS believe
that HOST B is the
default gateway.
DHCP & ARP agent
net_main
vm0:10.16.2.15
wg1:192.168.3.2
Plant text
Encrypted
packet
WireGuard for GuestOS
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
WireGuard Stack
- Brief intro WireGuard for GuestOS
WireGuard for GuestOS
- Advantages for BitVisor
- Security
- Any data sent out by the Guest OS is encrypted, which
helps protect against snooping. This setup also blocks
VPN setting changes without the right permission.
- Isolation
- The Guest OS receives a private IP, which keeps it
separate from other networks.
- Ease of Management :
- It's easier to handle and watch over network traffic at the
VMM level and to enforce security rules.
17
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
WireGuard for GuestOS
- Code change :
- Input Output :
- Leverage the LWIP existed Hook function.
- Injecting packets into the wireguard lwip netif instance.
- DHCP/ARP agent in wg_net_main.c
- New defconfig items:
- WG Network parameters
- Guest OS ip address, dns, mac_gateway
- Documentation is ready:
- Available at /docs/wireguard_guest_os.md
- Setup WireGuard on Linux server
- Setup WireGuard on BitVisor
- Observe handshaking in the log
- Observe the network traffic of the guest OS
18
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
LWIP
WireGuard
BitVisor
Network
LWIP
net_main_wg
BitVisor
Network
19
netif->input
ethernet_input
wireguard_decrypt_packet
ip_input
wg_ip4_input_hook
net_main_send_virt
etharp_input
etharp_update_
arp_entry
nicfunc->net_recv_callback
netif->linkoutput
nicfunc->send
ethernet_output
wg_gos_routing
net_ip_virt_recv
send_to_wg
wireguard_encrypt_packet
etharp_ request
etharp_query
ARP
Response
ETH+IP packet
ARP packet
Found in ARP
table
Encrypted packet
Decrypted packet
Encrypted packet
Inject to wg netif
wireguardif_network_rx
reply_arp
reply_dhcp
wireguardif_peer_output
udp_sendto
udp_input
WireGuard for GuestOS
DEMO
- Mbed-TLS
- BitVisor as an echo server interact with openssl
- WireGuard
- BitVisor as an echo client
- WireGuard Guest OS
- All the input/output packets are through the tunnel
20
Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.

More Related Content

PPTX
4. VPN4. VPN4. VPN4. VPN4. VPN4. VPN.pptx
PDF
CCNAv5 - S4: Chapter 7: Securing Site-to-site Connectivity
PDF
Secure IoT Firmware for RISC-V
PDF
Approaching hyperconvergedopenstack
PPTX
2014/09/02 Cisco UCS HPC @ ANL
PPT
Phifer 3 30_04
PPTX
cisco-nti-Day20
PDF
VMworld 2013: vCloud Hybrid Service Jump Start Part Two of Five: vCloud Hybri...
4. VPN4. VPN4. VPN4. VPN4. VPN4. VPN.pptx
CCNAv5 - S4: Chapter 7: Securing Site-to-site Connectivity
Secure IoT Firmware for RISC-V
Approaching hyperconvergedopenstack
2014/09/02 Cisco UCS HPC @ ANL
Phifer 3 30_04
cisco-nti-Day20
VMworld 2013: vCloud Hybrid Service Jump Start Part Two of Five: vCloud Hybri...

Similar to Network Enhancements on BitVisor for BitVisor Summit 12 (20)

PPTX
Network Security version Virtual Private Networks
PDF
EMEAR_Security_TAC_2021_IPSec_Site_to_Site_VPNs_on_FTD_Overview.pdf
PDF
Ip tunneling and vpns
PDF
Ip tunnelling and_vpn
PPTX
RISC-V 30906 hex five multi_zone iot firmware
PDF
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
PPTX
ENSA_Module_8.pptx_nice_ipsec_presentation
PDF
A better connected world - Beijer Sales Kit 2017
PDF
PPTX
Embedded devices - Big opportunities in tiny packages
PDF
presentación Secure SD WAN FORTINET RESUMIDA
PPTX
ENSA_Module_8.pptx
PDF
IBM z/OS Communications Server z/OS Encryption Readiness Technology (zERT)
PDF
Zero Trust Network Access (ZTNA) Demystified
PDF
Presentation cisco data center security deep dive
PPTX
Nio100 product guide 20150520
PDF
IP security and VPN presentation
PPT
Networking Concepts and Tools for the Cloud
PPTX
ENSA_Module_9 VPN NETWORK SITE TO SITE.pptx
PDF
Enabling embedded security for the Internet of Things
Network Security version Virtual Private Networks
EMEAR_Security_TAC_2021_IPSec_Site_to_Site_VPNs_on_FTD_Overview.pdf
Ip tunneling and vpns
Ip tunnelling and_vpn
RISC-V 30906 hex five multi_zone iot firmware
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
ENSA_Module_8.pptx_nice_ipsec_presentation
A better connected world - Beijer Sales Kit 2017
Embedded devices - Big opportunities in tiny packages
presentación Secure SD WAN FORTINET RESUMIDA
ENSA_Module_8.pptx
IBM z/OS Communications Server z/OS Encryption Readiness Technology (zERT)
Zero Trust Network Access (ZTNA) Demystified
Presentation cisco data center security deep dive
Nio100 product guide 20150520
IP security and VPN presentation
Networking Concepts and Tools for the Cloud
ENSA_Module_9 VPN NETWORK SITE TO SITE.pptx
Enabling embedded security for the Internet of Things
Ad

Recently uploaded (20)

PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
PPT on Performance Review to get promotions
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Digital Logic Computer Design lecture notes
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
web development for engineering and engineering
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
additive manufacturing of ss316l using mig welding
R24 SURVEYING LAB MANUAL for civil enggi
PPT on Performance Review to get promotions
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Digital Logic Computer Design lecture notes
CH1 Production IntroductoryConcepts.pptx
UNIT 4 Total Quality Management .pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Lecture Notes Electrical Wiring System Components
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
web development for engineering and engineering
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Foundation to blockchain - A guide to Blockchain Tech
Operating System & Kernel Study Guide-1 - converted.pdf
Model Code of Practice - Construction Work - 21102022 .pdf
Embodied AI: Ushering in the Next Era of Intelligent Systems
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
additive manufacturing of ss316l using mig welding
Ad

Network Enhancements on BitVisor for BitVisor Summit 12

  • 1. Network Enhancements on BitVisor 2024/03/29 @ BitVisor Summit 12 Chen Chuang Jung
  • 2. Agenda - Mbed-TLS LTS support - Brief intro Mbed-TLS - Advantages for BitVisor - Changes to adopt Mbed-TLS on BitVisor - WireGuard support - Brief intro WireGuard - Advantages for BitVisor - Changes to adopt WireGuard on BitVisor - WireGuard for Guest OS - Brief intro WireGuard for GuestOS - Advantages for BitVisor - Code change - DEMO 1 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 3. Mbed-TLS LTS support - Brief intro Mbed-TLS - Open-source and Lightweight - Enables easy and low-impact integration. - Designed for Embedded Systems - Ideal for low-resource settings, less demanding than typical SSL/TLS. - User-friendly API - Easily adds security to apps, no deep crypto knowledge needed. - Support for Latest Crypto Standards - Keeps data safe, private, and verified during communication. - Long Term Support (LTS) Version 2.28 2 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 4. Mbed-TLS LTS support - Advantages for BitVisor - Able to pick the libraries to compile - LWIP stack compatible - Customized items in header file for platform to select: - HAVE_TIME,HAVE_TIME_DATE, MBEDTLS_PLATFORM_TIME_MACRO,MBEDTLS_PLATFORM_C, MBEDTLS_ENTROPY_HARDWARE_ALT,… - Support for TLS Extensions : - MBEDTLS_SSL_MAX_FRAGMENT_LENGTH, MBEDTLS_SSL_SESSION_TICKETS, MBEDTLS_SSL_SERVER_NAME_INDICATION, MBEDTLS_SSL_RENEGOTIATION,... 3 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 5. Mbed-TLS LTS support - Changes to adopt Mbed-TLS on BitVisor - New defconfig items: - CA_Certification - Server_Certification - Server_key 4 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved. .tls = { .ca_cert = "-----BEGIN CERTIFICATE-----n" "MIIDQjCCAiqgAwIBAgIUbdMMHizhHnz+psFMmF6Vs4h7wdMwDQYJKoZIhvcNAQELn" ... "IngZtsfFXq+U8z6sMxaOSJg2/XEHvA==n" "-----END CERTIFICATE-----n", .srv_cert = "-----BEGIN CERTIFICATE-----n" "MIIC6TCCAdECFDiiW/aGv3Nm+qFpVKxyECyQeH/OMA0GCSqGSIb3DQEBCwUAMBExn" ... "F7HKk0oI0ZjNOOUjPgWnqgwyYVDP2WyCr5g2cMs=n" "-----END CERTIFICATE-----n", .srv_key = "-----BEGIN PRIVATE KEY-----n" "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAn" ... "6JN9j0Vy/3SCNjleJ3rkVBQ+SmNNi8iyTjl94d+51elwsosY0lMouDJixUN3yvzsn" "1PABsGsU4X//Us+1DL7/0J4=n" "-----END PRIVATE KEY-----n", }, Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 6. Mbed-TLS LTS support - Changes to adopt Mbed-TLS on BitVisor - Add two versions of the random number generator: - random_num_hw and random_num_sw implement the rand() function. In random_num_hw, the rdrand instruction is utilized. - Used to generate the NONCE for handshaking. - EPOCH time - During boot, the time is retrieved once from UEFI and stored in a static variable. Afterwards, each time a request for the time is received, it is calculated based on the static variable using CPU time/ACPI. - Used to calculate the certificate's validity period. - Echoctl - Separate out the common features of Echoctl to allow the future expansion for different protocols. 5 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 7. Mbed-TLS LTS support - Changes to adopt Mbed-TLS on BitVisor - Introduce TLS version echoctl applications - TLS-ECHO-CLIENT - TLS-ECHO-SERVER - Documentation is ready - Available at /docs/Mbed-TLS.md - Create The Needed Keys And Certification - Generate Root Certificate Authority Certificates - Generate Server Certificates - BitVisor As The Server - BitVisor As The Client 6 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 9. BitVisor Network Driver Linux system eth0:10.16.165.1 TCP/IP OpenSSL Client TLS-ECHO-SERVER Host A Host B net_main vm0:10.16.2.15 Plant text TLS Encrypted packet Mbed-TLS LTS support Copyright© 2024 IGEL Co., Ltd. All Rights Reserved. - Demo LWIP LWIP Mbed-TLS Stack
  • 10. WireGuard support - Brief intro WireGuard - A modern VPN protocol: simple and secure. - Efficient Performance: Beats traditional VPNs with less overhead. - State-of-the-Art Security: Uses the latest cryptographic techniques for enhanced privacy. - Ease of Use: Simple to set up and manage. There are existing websites that help generate a key pair. - Cross-Platform: Works seamlessly across various devices and operating systems. 9 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 11. WireGuard support - Advantages for BitVisor - There is a ready-to-use lwIP compatible package available on Github. - The total size of the source code files is only 270k bytes. - Low Latency and lightweight - Consumes minimal system resources. - After BitVisor is ready, WireGuard starts working immediately. - A Tunnel Between BitVisor and the WireGuard Server - Allowing selective routing of packets through or not through this tunnel as needed. 10 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 12. WireGuard support - Changes to adopt WireGuard on BitVisor - LWIP compatible package wireguard-lwip - EPOCH time - To prevent replay attacks during the initial handshake, a TAI64N timestamp is included in the first message. - New defconfig items: - WG Network parameters - IP address, netmask, gateway - allowed ip/netmask - listening port - Private key - Wireguard peer parameters - IP address (external) - Public key 11 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 13. WireGuard support - Changes to adopt WireGuard on BitVisor - Use case for BitVisor - ECHO-CLIENT - ECHO-SERVER - Documentation is ready - Available at /docs/wireguard.md - Setup wireguard on linux server - Setup wireguard on BitVisor - Start handshaking - Sending message by telnet application 12 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 15. BitVisor WireGuard Stack Network Driver WireGuard Tunnel WireGuard Supported OS eth0:10.16.165.1 wg0:192.168.3.1 TCP/IP Server TCP/IP Client Host A Host B LWIP net_main vm0:10.16.2.15 wg1:192.168.3.2 Plant text Encrypted packet WireGuard support Copyright© 2024 IGEL Co., Ltd. All Rights Reserved. - Demo WireGuard Stack
  • 16. WireGuard for GuestOS - Brief intro WireGuard for GuestOS - Unlike the previous network setting where 'ip=pass', we now route all IN/OUT IP packets of the Guest OS through the WireGuard tunnel. - BitVisor replies with customized ARP and DHCP packets to the Guest OS, so that the remote WireGuard server is treated as the gateway. - There's no need for configuration efforts on the Guest OS; In other words, a basic OS installation is sufficient. 15 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 17. BitVisor Network Driver WireGuard Tunnel WireGuard Supported OS eth0:10.16.165.1 wg0:192.168.3.1 Guest OS eth0:192.168.3.3 Host A Host B net_main_wg + LWIP ❏ Reply to the ARP request for gateway requesting. ❏ Reply to the the DHCP request, make the Guest OS believe that HOST B is the default gateway. DHCP & ARP agent net_main vm0:10.16.2.15 wg1:192.168.3.2 Plant text Encrypted packet WireGuard for GuestOS Copyright© 2024 IGEL Co., Ltd. All Rights Reserved. WireGuard Stack - Brief intro WireGuard for GuestOS
  • 18. WireGuard for GuestOS - Advantages for BitVisor - Security - Any data sent out by the Guest OS is encrypted, which helps protect against snooping. This setup also blocks VPN setting changes without the right permission. - Isolation - The Guest OS receives a private IP, which keeps it separate from other networks. - Ease of Management : - It's easier to handle and watch over network traffic at the VMM level and to enforce security rules. 17 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 19. WireGuard for GuestOS - Code change : - Input Output : - Leverage the LWIP existed Hook function. - Injecting packets into the wireguard lwip netif instance. - DHCP/ARP agent in wg_net_main.c - New defconfig items: - WG Network parameters - Guest OS ip address, dns, mac_gateway - Documentation is ready: - Available at /docs/wireguard_guest_os.md - Setup WireGuard on Linux server - Setup WireGuard on BitVisor - Observe handshaking in the log - Observe the network traffic of the guest OS 18 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.
  • 21. DEMO - Mbed-TLS - BitVisor as an echo server interact with openssl - WireGuard - BitVisor as an echo client - WireGuard Guest OS - All the input/output packets are through the tunnel 20 Copyright© 2024 IGEL Co., Ltd. All Rights Reserved.