Commit e9c90749 authored by Riccardo Fiorelli and Laura Bonini's avatar Riccardo Fiorelli and Laura Bonini Committed by Valerie Aurora
Browse files

Many useful small clarifications and typo fixes

parent a24a8fd5
Loading
Loading
Loading
Loading
+64 −60
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@ Physical network interfaces are products with digital elements that directly con

Virtual network interfaces are products with digital elements that directly or indirectly connect a device to a network via an API that emulates that of device drivers of physical network interfaces, typically operating at the data link layer.

This category includes but is not limited to wired and wireless network interface cards, controllers and adapters, such as for Wi-Fi, Ethernet, IrDA, USB, Bluetooth, NearLink, Zigbee, or Fieldbus, and Infiniband. It also includes modems that are designed to connect directly to a system bus on the host and provide connection from the host to an analog transmission media.
This category includes but is not limited to wired and wireless network interface cards, controllers and adapters, such as for Wi-Fi, Ethernet, IrDA, USB, Bluetooth, NearLink, Zigbee, or Fieldbus, and Infiniband. It also includes modems that are designed to connect directly to a system bus on the host and provide connection from the host to analog transmission media, as for example Power Line Communication devices.

It also includes purely virtual standalone products, such as virtual network interface cards, container network interfaces, VPN interfaces, and loopback interfaces.

@@ -239,25 +239,25 @@ This section provides terms and definitions based on CEN/CLC JTC13 WG09's work o

For the purposes of the present document, the following terms apply:

**Device driver:** A device driver is software running on the host that facilitates the transmission of network data
**Device driver:** A device driver is a piece of software or firmware running on the host that enables communication on the network via the network interface

**Network Device Driver Interface (NDDI)** A standardized interface provided by the host operating system or software framework that abstracts the underlying network hardware or virtualized network devices.

**Firmware:** Software stored within a device's non-volatile memory, such as ROM or flash memory, used to allow different types of hardware to communicate with the operating system
**Firmware:** Software stored within a device's non-volatile memory, such as ROM or flash memory, and executed by different types of hardware which can include the physical network interface and the host

**Host:** Any equipment which has complete user functionality when not connected to the network interface part and to which the network interface part provides additional functionality and to which connection is necessary for the network interface part to offer functionality
**Host:** Any equipment to which the network interface part provides additional functionality, mainly network connectivity, and to which connection is necessary for the network interface to operate

**Network Interface:** A physical device or software component that provides a host with a connection to a network
**Network Interface (NI) :** A physical device or software component that provides a host with a connection to a network

**Physical transmission media:** The physical instantion of a network
**Physical transmission medium :** The physical instantiation of a network, which can be wired or wireless

**Physical transmission media adapter:** A physical adapter on a network interface that transmits data on the medium
**Physical transmission media adapter :** A physical adapter on a network interface that transmits and receives data on the medium

**Physical Interface:** A network interface that represents an actual hardware network device.
**Physical (network) interface:** A network interface that represents an actual hardware network device.

**System bus:** A data transmission bus connecting physical network interfaces to a host processor
**System bus:** A data transmission bus connecting one or more physical network interfaces to a host

**Virtual Interface (VNI):** A software-based network interface that simulates the functionality of a physical network adapter.
**Virtual Network Interface (VNI):** A software-based network interface that simulates the functionality of a physical network adapter.

## 3.2 Abbreviations

@@ -268,6 +268,7 @@ For the purposes of the present document, the following abbreviations apply:
| API          | Application Programming Interface        |
| ISP          | Internet Service Provider                |
| IT           | Information Technology                   |
| NI           | Network Interface                        |
| NDDI         | Network Device Driver Interface          |
| OS           | Operating System                         |
| VNI          | Virtual Network Interface                |
@@ -310,8 +311,8 @@ Out of scope use cases and environments include those explicitly carved out by t

A physical network interface consists of:

* A communications bus to the host
* A hardware transmission adapter
* A local bus interface to connect to the host via a communications bus
* A hardware transceiver to communicate on the network
* Hardware and firmware to process incoming signals and host commands

It also includes the following parts if they are sold with the interface:
@@ -324,7 +325,7 @@ A virtual network interface consists of a device driver only.

### 4.3.2 Types of network interface

A physical network interface connects via its communications bus to the host. The host transmits and receives data to the network by means of the I/O interface provided by the network interface.
A physical network interface connects via the local communications bus to the host. The host transmits and receives data to the network by means of the local bus interface provided by the network interface.

![~~Physical network device architecture~~](media/physical_network_interface.drawio.png)

@@ -332,9 +333,9 @@ A physical network interface connects via its communications bus to the host. Th

> FIXME change Host OS to be more generic

A wired network interface transmits data via a solid transmission media such as Ethernet cable, fiber optic cable, or coaxial cable. A wireless network interface uses radiofrequency transmissions to transmit data. A virtual network interface transmits data within the memory of a host system.
A wired network interface transmits data via a wired medium such as Ethernet cable, fiber optic cable, coaxial cable or power lines. A wireless network interface uses radiofrequency transmissions to transmit data over the air. A virtual network interface transmits data only within the memory of a host system.

Wireless network interfaces often have an independent real-time operating system on the network interface itself. Wireless transmission media often requires real-time response to modulate the radio frequency transmissions properly. The network interface also must prevent improper settings of radio frequency transmission parameters, which is often implemented by having the internal firmware set the parameters, rather than exposing them to the host. The complexity of this firmware may increase the risk of a wireless interface.
Wireless network interfaces often have an independent real-time operating system on the network interface itself. Wireless medium access often requires real-time response to manage the radio frequency transmissions properly. The network interface must also prevent improper settings of radio frequency transmission parameters, which is often implemented by having the internal firmware set the parameters, rather than exposing them to the host. The complexity of this firmware may increase the risk of a wireless interface.

A virtual interface emulates the device driver interface of a network interface to the host operating system. Instead of a physical network interface, it may send and receive packets to a hypervisor, a container, another device driver, another part of the network stack, an application, or other software.

@@ -344,84 +345,84 @@ A virtual interface emulates the device driver interface of a network interface

### 4.3.3 Device drivers for network interfaces

A device driver is software running on the host that facilitates the transmission of network data. The device driver communicates with the host software, if any, by means of a network device driver interface. This interface abstracts the implementation details of the underlying network interface. This network device driver interface is typically defined by the host operating system and is used by its network stack to send or receive data through any device driver that supports this interface.
The device driver communicates with the host software or firmware by means of a network device driver interface. This interface abstracts the implementation details of the underlying network interface. Such network device driver interface is typically defined by the host operating system or by the network interface manufacturer and is used by the host network stack to send or receive data through the network interface.

> FIXME phsyical dveice can access host memory

Physical interfaces require device drivers to make use of the physical hardware. Virtual interfaces are effectively all device driver since there is no underlying hardware, only software.
Physical interfaces require device drivers to make use of the physical hardware through the local communication bus. Virtual interfaces are effectively device drivers only, since they are made of software only without underlying hardware.

The device driver often needs elevated privileges to read and write memory. Device drivers for physical network interfaces often must also have access to address space mapped to the network interface's control registers, and sometimes to enable or disable interrupts or other host hardware functions. This usually requires that the device driver have a high degree of privilege on the host system.
The device driver often needs elevated privileges to read and write memory. Device drivers for physical network interfaces often must have access also to the network interface control registers, directly or via host memory address space mapped to them; sometimes device drivers must as well enable or disable interrupts or other host hardware functions. This usually requires that the device driver has a high level of privilege on the host system.

## 4.4 Use cases

This list of use cases is an informative resource to the manufacturer to simplify choosing a set of security requirements. Each use case is mapped to a security profile, which is a collection of risks and the security requirements necessary to mitigate them.
This list of use cases describes several system scenarios for network interfaces, intended as an informative resource to the manufacturer to simplify the choice of a set of security requirements. Each use case is mapped to a security level, which is a collection of risks and the security requirements necessary to mitigate them.

### 4.4.1 Wired network interface use cases

> FIXME do wired IoT, etc. versions of wireless

* UC-WD-1 Wired enterprise device in isolated internal infrastructure
  * Data center for internal job processing
  * Behind a firewall, no direct route to internet
  * Users are administrators and approved applications
  * Interface implements performance optimizations
* UC-WD-1 Wired professional device in isolated internal infrastructure
  * E.g. Data center for internal job processing, smart meter in an isolated private network
  * Behind a firewall/gateway, no direct route to internet
  * Users are administrators and approved (predefined, fixed) applications
  * Network interface implements performance optimizations
  * Professional administration by enterprise IT

* UC-WD-2 Wired enterprise internal infrastructure device
  * Switches behind edge firewall devices
* UC-WD-2 Wired professional device in internal infrastructure
  * E.g. switches behind edge firewall devices
  * Behind a firewall, routing filtered internet traffic
  * Users are administrators
  * Interface implements performance optimizations
  * Network interface implements performance optimizations
  * Professional administration by enterprise IT

* UC-WD-3 Wired enterprise edge device or internet infrastructure
  * Firewalls, VPN servers, switches in IXPs and ISPs
  * Exposed to entire internet
* UC-WD-3 Wired professional edge device or internet infrastructure
  * E.g. firewalls, VPN servers, switches in IXPs and ISPs, smart meter gateways and data concentrators in a smart metering system
  * Exposed to entire internet on the public network side
  * Users are administrators and approved applications
  * Interface implements performance optimizations
  * Network interface implements performance optimizations
  * Professional administration by enterprise IT

* UC-WD-4 Wired enterprise worker device on internal network
  * Stationary personal computer, registration terminal, cash register
* UC-WD-4 Wired professional worker device on internal network
  * E.g. stationary personal computer, registration terminal, cash register
  * Behind a corporate firewall
  * Users are company employees
  * Interface implements performance optimizations
  * Network interface implements performance optimizations
  * Professional administration by enterprise IT

* UC-WD-5 Wired stationary home device
  * Stationary personal computer, IoT hub
  * E.g. stationary personal computer, IoT hub
  * Behind home gateway firewall
  * Host access limited to people within the home
  * Simple, low feature implementation
  * May be administered by anyone in the home
  * Simple, low-feature network interface implementation
  * May be administered by anyone in the premises

* UC-WD-6 Wired stationary home gateway
  * ISP-managed access point, smart meter
  * Exposed to the entire internet, potentially some ISP filtering
  * E.g. ISP-managed access point
  * Exposed to the entire internet, with potentially some ISP filtering
  * Host access limited to trusted users/systems
  * Simple, low feature implementation
  * Professionally administered
  * Simple, low-feature network interface implementation
  * Professional administration

* UC-WD-7 Wired stationary public server
  * Shared webhosting
  * E.g. shared webhosting
  * Behind some firewall
  * Can be used by anyone who can open an account
  * Interface implements performance optimizations
  * Network interface implements performance optimizations
  * Professional administration

* UC-WD-8 Wired stationary device for public use
  * Public library computer, vending machine
  * E.g. public library computer, vending machine
  * Behind some firewall, network accessible by physically nearby attackers
  * Can be used by literally anybody
  * Simple, low feature implementation
  * Can be used by anybody
  * Simple, low-feature network interface implementation
  * Professional administration but probably underfunded

* UC-WD-9 Wired mobile device
  * Laptop
  * E.g. laptop
  * Exposed to entire internet, physically nearby attackers
  * Users limited to owner and a few people they trust
  * Simple, low feature implementation
  * May be administered professionally by anyone in the home
  * Users limited to owner and a limited number of people they trust
  * Simple, low-feature network interface implementation
  * May be administered by anyone in the home

### 4.4.2 Wireless network interface use cases

@@ -570,16 +571,18 @@ Security profiles are associated with sets of risk factor levels.
### 4.7.1 Physical interface essential functions

* Receive and transmit data between host and network at data link layer
* Carry out host commands (power, config, tx/rx)
* Execute host commands (power, config, tx/rx)
* Send commands/data to host hardware (wake on LAN)
* Keep and report network statistics
* Update firmware with image provided by host

Optional:

* Packet processing at layers higher than data link
* Send commands/trigger actions on host (e.g. wake on network messages)
* Packet processing (receive/transmit) at layers higher than data link
* Packet encryption at data link layer
* Packet encryption at network layer
* Packet encryption at higher layer
* Manage firmware update autonomously (image received from the network)

### 4.7.2 Device driver essential functions

@@ -587,11 +590,11 @@ Optional:
* Handle interrupts, set up tx/rx, copy statistics, etc.
* Configure the network interface
* Set up and execute firmware update/load with image provided by host software
* Monitor network interface health
* Monitor device interface and network interface health

Optional:

* Support optional features of the underlying hardware or software
* Support optional features of the underlying device hardware or software

### 4.7.3 Virtual interface essential functions

@@ -726,9 +729,10 @@ https://portal.etsi.org/webapp/workprogram/Report_WorkItem.asp?WKI_ID=69549
> What data is stored on the product?

* Firmware
* All network packets going in and out
* Device configuration
* All network packets going in and out (packets from host/self-generated protocol packets)
* Device configuration (transmit power/channel configuration/options)
* Statistics
* Security keys (firmware encryption/decryption, MAC level encryption/decryption)

> FIXME add assets for device driver and virtual interface

@@ -751,10 +755,10 @@ Virtual interfaces: all the same issues as device drivers: bad pointer, buffer o

Physical interfaces:

* Copying data beyond end of packet and putting it on the network
* Copying data beyond end of packet and putting it on the network (overflow attack?)
* Incoming packets that trigger bad behaviour
* Bugs in chipset allowing unauthorized access to interface
* Malicious firmware updates - do this securely
* Bugs in chipset allowing unauthorized/malformed access to interface
* Malicious/corrupted firmware updates - do this securely
  * IoT things updated over wifi
* Bluetooth is exposed to the world and very common
  * development/debug commands on wireless things