Commit 2aa2e96b authored by Valerie Aurora's avatar Valerie Aurora
Browse files

Add preliminary list of technical requirements

parent f3054501
Loading
Loading
Loading
Loading
+50 −6
Original line number Diff line number Diff line
@@ -680,6 +680,9 @@ https://www.bsi.bund.de/EN/Themen/Unternehmen-und-Organisationen/IT-Sicherheitsk

https://portal.etsi.org/webapp/workprogram/Report_WorkItem.asp?WKI_ID=69549


### Attacks/bugs/CVEs

### Technical requirements

* Disable all interfaces that intercept incoming packets above data link layer and do not pass them to the to the host
@@ -751,17 +754,60 @@ https://portal.etsi.org/webapp/workprogram/Report_WorkItem.asp?WKI_ID=69549

Virtual interfaces: all the same issues as device drivers: bad pointer, buffer overflow, memory management errors, bad logic, etc.

This will be copied from OS - do not bother now

Physical interfaces:

* Copying data beyond end of packet and putting it on the network (overflow attack?)
* Incoming packets that trigger bad behaviour
  * Bug that processing incoming packets stops packet processing
    * TR: watchdog timeout that resets card if packets aren't coming out right?
    * TR: fuzz testing of network input packets (directed maybe, specify numbers and test?)
    * TR: stress testing with just a lot of packets of different types?
    * TR: general secure design stuff PT1 that we can only do if testable on product
* Bugs in chipset allowing unauthorized/malformed access to interface
* Malicious/corrupted firmware updates - do this securely
  * TR: the firmware update method must verify firmware in some way
  * note that update can be done OS or other stuff
  * IoT things updated over wifi
* Bluetooth is exposed to the world and very common
  * development/debug commands on wireless things

> FIXME lookup CVEs - anything from host-generated packets?
* development/debug commands accessible externally from host
  * TR: debug interfaces disabled by default
  * TR: debug interface is only used by authorized users via SoTA
* extended feature sets not generally used by default
  * TR: disabled by default
* automatically connecting to an open network where a closed/encrypted one was remembered
* buffer overflow (in network interface)
  * TR: bounds check on packet buffer descriptors
  * TR: bounds check on any kind of length field
  * TR: contains only data host wants sent
  * TR: compiler-based checks
* DoS by external packets
  * TR: do validity checks as soon as possible before doing lots of processing
* switching to less secure state without user realiziing it
  * TR: test that it doesn't do this
  * TR: reset of firmware does not lose security configuration
* stack smashing (overwrite return address or value on stack)
  * TR: general stack stuff
* encryption failures in on-interface implementations WPA2, MACSEC
  * TR: 
* bugs in various offload features
  * segmentation offload - recommend specific tests?
* programmable FPGA
  * as long as not doing something by default, this is sophisticated user
* remote management interface
  * TR: disabled by default
  * TR: no default auth by default
  * TR: auth should be done
* remote boot
  * TR: disabled by default
* remote firmware update
  * TR: disabled by default

* TR: tests on source code provided to the MSA (not necessarily public)
* TR: DAST dynamic applications security testing
* TR: open source your code and use open source tools?

FIXME: reference or use IEC 62443 certification? industrial use case, mostly for B2B relationships, suppliers, sophisticated, we are more consumer-related, probably can't base it on but we can find some overlap and inspire this standard

Potential sources of threats:

@@ -793,9 +839,7 @@ https://arxiv.org/abs/2208.09975

https://www.blackhat.com/docs/us-17/wednesday/us-17-Vanhoeft-WiFuzz-Detecting-And-Exploiting_Logical-Flaws-In-The-Wi-Fi-Cryptographic-Handshake-wp.pdf

automatically connecting to an open network where a closed/encrypted one was remembered

seamlessly switching between AP's without ability to check if it's a different network

## C.3 Assumptions