From 4b0287c46f10e12dd80d13acba930b0f64532a65 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 3 Sep 2016 17:32:43 +0100 Subject: docs: move hw security documents to hw maintenance section --- docs/hardware/dock.html | 190 ++++++++++++++++ docs/hardware/index.html | 6 +- docs/hardware/t60_security.html | 484 ++++++++++++++++++++++++++++++++++++++++ docs/hardware/x60_security.html | 344 ++++++++++++++++++++++++++++ docs/index.html | 3 +- docs/security/dock.html | 190 ---------------- docs/security/index.html | 76 ------- docs/security/t60_security.html | 484 ---------------------------------------- docs/security/x60_security.html | 344 ---------------------------- 9 files changed, 1023 insertions(+), 1098 deletions(-) create mode 100644 docs/hardware/dock.html create mode 100644 docs/hardware/t60_security.html create mode 100644 docs/hardware/x60_security.html delete mode 100644 docs/security/dock.html delete mode 100644 docs/security/index.html delete mode 100644 docs/security/t60_security.html delete mode 100644 docs/security/x60_security.html diff --git a/docs/hardware/dock.html b/docs/hardware/dock.html new file mode 100644 index 00000000..9b114ab2 --- /dev/null +++ b/docs/hardware/dock.html @@ -0,0 +1,190 @@ + + + + + + + + + Notes about DMA and the docking station (X60/T60) + + + +
+

Notes about DMA and the docking station (X60/T60)

+
+ +
+
+
+Use case:
+---------
+Usually when people do full disk encryption, it's not really full disk,
+instead they still have a /boot in clear.
+
+So an evil maid attack can still be done, in two passes:
+1) Clone the hdd, Infect the initramfs or the kernel.
+2) Wait for the user to enter its password, recover the password,
+luksOpen the hdd image.
+
+I wanted a real full-disk encryption so I've put grub in flash and I
+have the following: The HDD has a LUKS rootfs(containing /boot) on an
+lvm partition, so no partition is in clear.
+
+So when the computer boots it executes coreboot, then grub as a payload.
+Grub then opens the LUKS partition and loads the kernel and initramfs
+from there.
+
+To prevent hardware level tempering(like reflashing), I used nail
+polish with a lot of gilder, that acts like a seal. Then a high
+resolution picture of it is taken, to be able to tell the difference.
+
+The problem:
+------------
+But then comes the docking port issue: Some LPC pins are exported
+there, such as the CLKRUN and LDRQ#.
+
+LDRQ# is "Encoded DMA/Bus Master Request": "Only needed by
+peripherals that need DMA or bus mastering. Requires an
+individual signal per peripheral. Peripherals may not share
+an LDRQ# signal."
+
+So now DMA access is possible trough the dock connector.
+So I want to be able to turn that off.
+
+If I got it right, the X60 has 2 superio, one is in the dock, and the
+other one is in the laptop, so we have:
+                            ________________
+ _________________         |                |
+|                 |        | Dock connector:|
+|Dock: NSC pc87982|<--LPC--->D_LPC_DREQ0    |
+|_________________|        |_______^________|
+                                   |
+                                   |
+                                   |
+                                   |
+                ___________________|____
+               |                   v    |
+               | SuperIO:        DLDRQ# |
+               | NSC pc87382     LDRQ#  |
+               |___________________^____|
+                                   |
+                                   |
+                                   |
+                                   |
+                ___________________|___
+               |                   v   |
+               | Southbridge:    LDRQ0 |
+               | ICH7                  |
+               |_______________________|
+
+
+The code:
+---------
+Now if I look at the existing code, there is some superio drivers, like
+pc87382 in src/superio/nsc, the code is very small. 
+The only interesting part is the pnp_info pnp_dev_info struct.
+
+Now if I look inside src/mainboard/lenovo/x60 there is some more
+complete dock driver:
+
+Inside dock.c I see some dock_connect and dock_disconnect functions.
+
+Such functions are called during the initialisation (romstage.c) and
+from the X60 SMI handler (smihandler.c).
+
+Questions:
+----------
+1) Would the following be sufficent to prevent DMA access from the
+outside:
+> int dock_connect(void)
+> {
+>          int timeout = 1000;
+> +        int val;
+> +        
+> +        if (get_option(&val, "dock") != CB_SUCCESS)
+> +                val = 1;
+> +        if (val == 0)
+> +                return 0;
+>          [...]
+> }
+>
+> void dock_disconnect(void) {
+> +        if (dock_present())
+> +                return;
+>          [...]
+> }
+2) Would an nvram option be ok for that? Should a Kconfig option be
+added too?
+
+> config DOCK_AUTODETECT
+>         bool "Autodetect"
+>         help
+>           The dock is autodetected. If unsure select this option.
+>
+> config DOCK_DISABLED
+>         bool "Disabled"
+>         help
+>           The dock is always disabled.
+>
+> config DOCK_NVRAM_ENABLE
+>         bool "Nvram"
+>         help
+>           The dock autodetection is tried only if it is also enabled
+> trough nvram.
+
+
+
+ +
+ +

+ Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
+ Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license can be found at ../gfdl-1.3.txt +

+ +

+ Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html +

+ +

+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. +

+

+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. +

+

+ The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. +

+ +
+ + + diff --git a/docs/hardware/index.html b/docs/hardware/index.html index 3b11f25b..549e764a 100644 --- a/docs/hardware/index.html +++ b/docs/hardware/index.html @@ -8,13 +8,13 @@ @import url('../css/main.css'); - Hardware maintenance + Hardware modifications
-

Hardware maintenance

+

Hardwarei modifications

This section relates to hardware maintenance on supported targets.

@@ -27,6 +27,8 @@
  • ThinkPad X60/X60s: How to change the LCD panel (incomplete. pics only for now)
  • ThinkPad T60 15.1" changing LCD panel
  • ThinkPad T60: change the fan/heatsink
  • +
  • ThinkPad X60/X60S: hardware security
  • +
  • ThinkPad T60: hardware security
  • diff --git a/docs/hardware/t60_security.html b/docs/hardware/t60_security.html new file mode 100644 index 00000000..5a2d8d55 --- /dev/null +++ b/docs/hardware/t60_security.html @@ -0,0 +1,484 @@ + + + + + + + + + Libreboot documentation: Security on the ThinkPad T60 + + + + +
    +

    Security on the ThinkPad T60

    +

    Hardware modifications to enhance security on the ThinkPad T60. This tutorial is incomplete at the time of writing.

    +

    Back to previous index

    +
    + +
    +

    Table of Contents

    + +

    Hardware requirements

    + +

    Software requirements

    + +
    + +
    +

    + Rationale +

    +

    + Most people think of security on the software side: the hardware is important aswell. +

    +

    + This tutorial deals with reducing the number of devices that have direct memory access that + could communicate with inputs/outputs that could be used to remotely + command the system (or leak data). All of this is purely theoretical for the time being. +

    +
    + +
    + +

    Disassembly

    + +

    + Remove those screws and remove the HDD:
    + +

    + +

    + Lift off the palm rest:
    + +

    + +

    + Lift up the keyboard, pull it back a bit, flip it over like that and then disconnect it from the board:
    + +

    + +

    + Gently wedge both sides loose:
    + +

    + +

    + Remove that cable from the position:
    + +

    + +

    + Now remove that bezel. Remove wifi, nvram battery and speaker connector (also remove 56k modem, on the left of wifi):
    +
    + Reason: has direct (and very fast) memory access, and could (theoretically) leak data over a side-channel.
    + Wifi: The ath5k/ath9k cards might not have firmware at all. They might safe but could have + access to the computer's RAM trough DMA. If people have an intel + card(most T60 laptops come with Intel wifi by default, until you change it),then that card runs + a non-free firwamre and has access to the computer's RAM trough DMA! So + the risk-level is very high. +

    + +

    + Remove those screws:
    + +

    + +

    + Disconnect the power jack:
    + +

    + +

    + Remove nvram battery (we will put it back later):
    + +

    + +

    + Disconnect cable (for 56k modem) and disconnect the other cable:
    + +

    + +

    + Disconnect speaker cable:
    + +

    + +

    + Disconnect the other end of the 56k modem cable:
    + +

    + +

    + Make sure you removed it:
    + +

    + +

    + Unscrew those:
    + +

    + +

    + Make sure you removed those:
    + +

    + +

    + Disconnect LCD cable from board:
    + +

    + +

    + Remove those screws then remove the LCD assembly:
    + +

    + +

    + Once again, make sure you removed those:
    + +

    + +

    + Remove the shielding containing the motherboard, then flip it over. Remove these screws, placing them on a steady + surface in the same layout as they were in before you removed them. Also, you should mark each screw hole after removing the + screw (a permanent marker pen will do), this is so that you have a point of reference when re-assembling the system:
    + + +

    + +

    + Remove microphone (soldering iron not needed. Just wedge it out gently):
    +
    + Rationale:
    + Another reason to remove the microphone: If your computer gets[1] compromised, it can + record what you say, and use it to receive data from nearby devices if + they're compromised too. Also, we do not know what the built-in microcode (in the CPU) is doing; it could theoretically + be programmed to accept remote commands from some speaker somewhere (remote security hole). In other words, + the system could already be compromised from the factory. +

    + +

    + Remove infrared:
    + +

    + +

    + Remove cardbus (it's in a socket, no need to disable. Just remove the port itself):
    +
    + Rationale:
    + It has direct memory access and can be used to extract sensitive details (such as LUKS keys). See + 'GoodBIOS' video linked at the end (speaker is Peter Stuge, a coreboot hacker). The video covers X60 + but the same topics apply to T60. +

    + +

    + Before re-installing the upper chassis, remove the speaker:
    +
    + Reason: combined with the microphone issue, this could be used to leak data.
    + If your computer gets[1] compromised, it can be used to + transmit data to nearby compromised devices. It's unknown if it can be + turned into a microphone[2].
    + Replacement: headphones/speakers (line-out) or external DAC (USB). +

    + +

    + Remove the wwan:
    +
    + Wwan (3g modem): They run proprietary software! It's like AMT but over the GSM network which is + probably even worse.
    + Replacement: external USB wifi dongle. (or USB wwan/3g dongle; note, this has all the same privacy issues as mobile phones. wwan not recommended). +

    + +

    + This is where the simcard connector is soldered. See notes above about wwan. Remove simcard by removing battery + and then it's accessible (so, remember to do this when you re-assemble. or you could do it now?)
    + +

    + +

    + Put those screws back:
    + +

    + +

    + Put it back into lower chassis:
    + +

    + +

    + Attach LCD and insert screws (also, attach the lcd cable to the board):
    + +

    + +

    + Insert those screws:
    + +

    + +

    + On the CPU (and there is another chip south-east to it, sorry forgot to take pic) + clean off the old thermal paste (with the alcohol) and apply new (Artic Silver 5 is good, others are good too) + you should also clean the heatsink the same way
    + +

    + +

    + Attach the heatsink and install the screws (also, make sure to install the AC jack as highlighted):
    + +

    + +

    + Reinstall that upper bezel:
    + +

    + +

    + Do that:
    + +

    + +

    + Attach keyboard and install nvram battery:
    + +

    + +

    + Place keyboard and (sorry, forgot to take pics) reinstall the palmrest and insert screws on the underside:
    + +

    + +

    + Remove those covers and unscrew:
    + +

    + +

    + Gently pry off the front bezel (sorry, forgot to take pics). +

    + +

    + Remove bluetooth module:
    + +

    + +

    + Re-attach the front bezel and re-insert the screws (sorry, forgot to take pics). +

    + +

    + It lives!
    + +

    + +

    + Always stress test ('stress -c 2' and xsensors. below 90C is ok) when replacing cpu paste/heatsink:
    + +

    + +
    + +
    +

    + Not covered yet: +

    + +

    + Go to http://media.ccc.de/browse/congress/2013/30C3_-_5529_-_en_-_saal_2_-_201312271830_-_hardening_hardware_and_choosing_a_goodbios_-_peter_stuge.html + or directly to the video: http://mirror.netcologne.de/CCC/congress/2013/webm/30c3-5529-en-Hardening_hardware_and_choosing_a_goodBIOS_webm.webm. +

    +

    + A lot of this tutorial is based on that video. Look towards the second half of the video to see how to do the above. +

    +
    + +
    +

    + Also not covered yet: +

    + +
    + +
    +

    + Extra notes +

    +

    + EC: Cannot be removed but can be mitigated: it contains non-free + non-loadable code, but it has no access to the computer's RAM. + It has access to the on-switch of the wifi, bluetooth, modem and some + other power management features. The issue is that it has access to the + keyboard, however if the software security howto (not yet written) is followed correctly, + it won't be able to leak data to a local attacker. It has no network + access but it may still be able to leak data remotely, but that + requires someone to be nearby to recover the data with the help of an + SDR and some directional antennas[3]. +

    +

    + Intel 82573 Ethernet controller + on the X60 seems safe, according to Denis. +

    + +
    +

    + Risk level +

    +
      +
    • Modem (3g/wwan): highest
    • +
    • Intel wifi: Near highest
    • +
    • Atheros PCI wifi: unknown, but lower than intel wifi.
    • +
    • Microphone: only problematic if the computer gets compromised.
    • +
    • Speakers: only problematic if the computer gets compromised.
    • +
    • EC: can be mitigated if following the guide on software security.
    • +
    +
    +
    + +
    +

    + Further reading material (software security) +

    + +
    + +
    +

    + References +

    +
    +

    [1] physical access

    +

    + Explain that black hats, TAO, and so on might use a 0day to get in, + and explain that in this case it mitigates what the attacker can do. + Also the TAO do some evaluation before launching an attack: they take + the probability of beeing caught into account, along with the kind of + target. A 0day costs a lot of money, I heard that it was from 100000$ + to 400000$, some other websites had prices 10 times lower but that + but it was probably a typo. So if people increase their security it + makes it more risky and more costly to attack people. +

    +
    +
    +

    [2] microphone

    +

    + It's possible to turn headphones into a microphone, you could try + yourself, however they don't record loud at all. Also intel cards have + the capability to change a connector's function, for instance the + microphone jack can now become a headphone plug, that's called + retasking. There is some support for it in GNU/Linux but it's not very + well known. +

    +
    +
    +

    [3] Video (CCC)

    +

    + 30c3-5356-en-Firmware_Fat_Camp_webm.webm from the 30th CCC. While + their demo is experimental(their hardware also got damaged during the + transport), the spies probably already have that since a long time. + http://berlin.ftp.media.ccc.de/congress/2013/webm/30c3-5356-en-Firmware_Fat_Camp_webm.webm +

    +
    +
    + +
    + +

    + Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
    + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license can be found at ../gfdl-1.3.txt +

    + +

    + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html +

    + +

    + UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. +

    +

    + TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. +

    +

    + The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. +

    + +
    + + + diff --git a/docs/hardware/x60_security.html b/docs/hardware/x60_security.html new file mode 100644 index 00000000..ba82bca9 --- /dev/null +++ b/docs/hardware/x60_security.html @@ -0,0 +1,344 @@ + + + + + + + + + Libreboot documentation: Security on the ThinkPad X60 + + + + +
    +

    Security on the ThinkPad X60

    +

    Hardware modifications to enhance security on the ThinkPad X60. This tutorial is incomplete at the time of writing.

    +

    Back to previous index

    +
    + +
    +

    Table of Contents

    + +
    + +
    + +

    Hardware requirements

    + + +

    Software requirements

    + + +
    + +
    + +

    + Rationale +

    +

    + Most people think of security on the software side: the hardware is important aswell. +

    +

    + This tutorial deals with reducing the number of devices that have direct memory access that + could communicate with inputs/outputs that could be used to remotely + command the system (or leak data). All of this is purely theoretical for the time being. +

    + +

    Disassembly

    + +

    + Firstly remove the bluetooth (if your X60 has this):
    + The marked screws are underneath those stickers (marked in those 3 locations at the bottom of the LCD assembly):
    +
    + Now gently pry off the bottom part of the front bezel, and the bluetooth module is on the left (easily removable):
    +
    +

    + +

    + If your model was WWAN, remove the simcard (check anyway):
    + Uncover those 2 screws at the bottom:
    +
    + SIM card (not present in the picture) is in the marked location:
    +
    + Replacement: USB dongle. +

    + +

    + Now get into the motherboard. +

    + +

    + Remove those screws:
    + +

    +

    + Push the keyboard forward (carefully):
    + +

    +

    + Lift the keyboard up and disconnect it from the board:
    + +

    +

    + Grab the right-hand side of the chassis and force it off (gently) and pry up the rest of the chassis:
    + +

    +

    + You should now have this:
    + +

    + +

    + The following is a summary of what you will remove (already done to this system):
    +
    + Note: the blue lines represent antenna cables and modem cables. You don't need to remove these, but you can if you want + (to make it tidier after removing other parts). I removed the antenna wires, the modem jack, the modem cable and + also (on another model) a device inside the part where the wwan antenna goes (wasn't sure what it was, but I knew it wasn't needed). This is optional +

    + +

    + Remove the microphone (can desolder it, but you can also easily pull it off with you hands). Already removed here:
    +
    + Rationale:
    + Another reason to remove the microphone: If your computer gets[1] compromised, it can + record what you say, and use it to receive data from nearby devices if + they're compromised too. Also, we do not know what the built-in microcode (in the CPU) is doing; it could theoretically + be programmed to accept remote commands from some speaker somewhere (remote security hole). In other words, + the system could already be compromised from the factory. +

    + +

    + Remove the modem:
    +
    + (useless, obsolete device) +

    + +

    + Remove the speaker:
    +
    + Reason: combined with the microphone issue, this could be used to leak data.
    + If your computer gets[1] compromised, it can be used to + transmit data to nearby compromised devices. It's unknown if it can be + turned into a microphone[2].
    + Replacement: headphones/speakers (line-out) or external DAC (USB). +

    + +

    + Remove the wlan (also remove wwan if you have it):
    +
    + Reason: has direct (and very fast) memory access, and could (theoretically) leak data over a side-channel.
    + Wifi: The ath5k/ath9k cards might not have firmware at all. They might safe but could have + access to the computer's RAM trough DMA. If people have an intel + card(most X60s come with Intel wifi by default, until you change it),then that card runs + a non-free firwamre and has access to the computer's RAM trough DMA! So + the risk-level is very high.
    + Wwan (3g modem): They run proprietary software! It's like AMT but over the GSM network which is + probably even worse.
    + Replacement: external USB wifi dongle. (or USB wwan/3g dongle; note, this has all the same privacy issues as mobile phones. wwan not recommended). +

    + +

    + Not covered yet: +

    + +

    + Go to http://media.ccc.de/browse/congress/2013/30C3_-_5529_-_en_-_saal_2_-_201312271830_-_hardening_hardware_and_choosing_a_goodbios_-_peter_stuge.html + or directly to the video: http://mirror.netcologne.de/CCC/congress/2013/webm/30c3-5529-en-Hardening_hardware_and_choosing_a_goodBIOS_webm.webm. +

    +

    + A lot of this tutorial is based on that video. Look towards the second half of the video to see how to do the above. +

    + +

    + Also not covered yet: +

    + + +
    + +
    +

    + Extra notes +

    +

    + EC: Cannot be removed but can be mitigated: it contains non-free + non-loadable code, but it has no access to the computer's RAM. + It has access to the on-switch of the wifi, bluetooth, modem and some + other power management features. The issue is that it has access to the + keyboard, however if the software security howto (not yet written) is followed correctly, + it won't be able to leak data to a local attacker. It has no network + access but it may still be able to leak data remotely, but that + requires someone to be nearby to recover the data with the help of an + SDR and some directional antennas[3]. +

    +

    + Intel 82573 Ethernet controller + on the X60 seems safe, according to Denis. +

    + +
    +

    + Risk level +

    +
      +
    • Modem (3g/wwan): highest
    • +
    • Intel wifi: Near highest
    • +
    • Atheros PCI wifi: unknown, but lower than intel wifi.
    • +
    • Microphone: only problematic if the computer gets compromised.
    • +
    • Speakers: only problematic if the computer gets compromised.
    • +
    • EC: can be mitigated if following the guide on software security.
    • +
    +
    +
    + +
    +

    + Further reading material (software security) +

    + +
    + +
    +

    + References +

    +
    +

    [1] physical access

    +

    + Explain that black hats, TAO, and so on might use a 0day to get in, + and explain that in this case it mitigates what the attacker can do. + Also the TAO do some evaluation before launching an attack: they take + the probability of beeing caught into account, along with the kind of + target. A 0day costs a lot of money, I heard that it was from 100000$ + to 400000$, some other websites had prices 10 times lower but that + but it was probably a typo. So if people increase their security it + makes it more risky and more costly to attack people. +

    +
    +
    +

    [2] microphone

    +

    + It's possible to turn headphones into a microphone, you could try + yourself, however they don't record loud at all. Also intel cards have + the capability to change a connector's function, for instance the + microphone jack can now become a headphone plug, that's called + retasking. There is some support for it in GNU/Linux but it's not very + well known. +

    +
    +
    +

    [3] Video (CCC)

    +

    + 30c3-5356-en-Firmware_Fat_Camp_webm.webm from the 30th CCC. While + their demo is experimental(their hardware also got damaged during the + transport), the spies probably already have that since a long time. + http://berlin.ftp.media.ccc.de/congress/2013/webm/30c3-5356-en-Firmware_Fat_Camp_webm.webm +

    +
    +
    + +
    + +

    + Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
    + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license can be found at ../gfdl-1.3.txt +

    + +

    + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html +

    + +

    + UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. +

    +

    + TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. +

    +

    + The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. +

    + +
    + + + diff --git a/docs/index.html b/docs/index.html index bbb0d017..fc4e3dc8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -43,8 +43,7 @@

    Other information

    diff --git a/docs/security/dock.html b/docs/security/dock.html deleted file mode 100644 index 9b114ab2..00000000 --- a/docs/security/dock.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - - Notes about DMA and the docking station (X60/T60) - - - -
    -

    Notes about DMA and the docking station (X60/T60)

    -
    - -
    -
    -
    -Use case:
    ----------
    -Usually when people do full disk encryption, it's not really full disk,
    -instead they still have a /boot in clear.
    -
    -So an evil maid attack can still be done, in two passes:
    -1) Clone the hdd, Infect the initramfs or the kernel.
    -2) Wait for the user to enter its password, recover the password,
    -luksOpen the hdd image.
    -
    -I wanted a real full-disk encryption so I've put grub in flash and I
    -have the following: The HDD has a LUKS rootfs(containing /boot) on an
    -lvm partition, so no partition is in clear.
    -
    -So when the computer boots it executes coreboot, then grub as a payload.
    -Grub then opens the LUKS partition and loads the kernel and initramfs
    -from there.
    -
    -To prevent hardware level tempering(like reflashing), I used nail
    -polish with a lot of gilder, that acts like a seal. Then a high
    -resolution picture of it is taken, to be able to tell the difference.
    -
    -The problem:
    -------------
    -But then comes the docking port issue: Some LPC pins are exported
    -there, such as the CLKRUN and LDRQ#.
    -
    -LDRQ# is "Encoded DMA/Bus Master Request": "Only needed by
    -peripherals that need DMA or bus mastering. Requires an
    -individual signal per peripheral. Peripherals may not share
    -an LDRQ# signal."
    -
    -So now DMA access is possible trough the dock connector.
    -So I want to be able to turn that off.
    -
    -If I got it right, the X60 has 2 superio, one is in the dock, and the
    -other one is in the laptop, so we have:
    -                            ________________
    - _________________         |                |
    -|                 |        | Dock connector:|
    -|Dock: NSC pc87982|<--LPC--->D_LPC_DREQ0    |
    -|_________________|        |_______^________|
    -                                   |
    -                                   |
    -                                   |
    -                                   |
    -                ___________________|____
    -               |                   v    |
    -               | SuperIO:        DLDRQ# |
    -               | NSC pc87382     LDRQ#  |
    -               |___________________^____|
    -                                   |
    -                                   |
    -                                   |
    -                                   |
    -                ___________________|___
    -               |                   v   |
    -               | Southbridge:    LDRQ0 |
    -               | ICH7                  |
    -               |_______________________|
    -
    -
    -The code:
    ----------
    -Now if I look at the existing code, there is some superio drivers, like
    -pc87382 in src/superio/nsc, the code is very small. 
    -The only interesting part is the pnp_info pnp_dev_info struct.
    -
    -Now if I look inside src/mainboard/lenovo/x60 there is some more
    -complete dock driver:
    -
    -Inside dock.c I see some dock_connect and dock_disconnect functions.
    -
    -Such functions are called during the initialisation (romstage.c) and
    -from the X60 SMI handler (smihandler.c).
    -
    -Questions:
    -----------
    -1) Would the following be sufficent to prevent DMA access from the
    -outside:
    -> int dock_connect(void)
    -> {
    ->          int timeout = 1000;
    -> +        int val;
    -> +        
    -> +        if (get_option(&val, "dock") != CB_SUCCESS)
    -> +                val = 1;
    -> +        if (val == 0)
    -> +                return 0;
    ->          [...]
    -> }
    ->
    -> void dock_disconnect(void) {
    -> +        if (dock_present())
    -> +                return;
    ->          [...]
    -> }
    -2) Would an nvram option be ok for that? Should a Kconfig option be
    -added too?
    -
    -> config DOCK_AUTODETECT
    ->         bool "Autodetect"
    ->         help
    ->           The dock is autodetected. If unsure select this option.
    ->
    -> config DOCK_DISABLED
    ->         bool "Disabled"
    ->         help
    ->           The dock is always disabled.
    ->
    -> config DOCK_NVRAM_ENABLE
    ->         bool "Nvram"
    ->         help
    ->           The dock autodetection is tried only if it is also enabled
    -> trough nvram.
    -
    -
    -
    - -
    - -

    - Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
    - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license can be found at ../gfdl-1.3.txt -

    - -

    - Updated versions of the license (when available) can be found at - https://www.gnu.org/licenses/licenses.html -

    - -

    - UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. -

    -

    - TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. -

    -

    - The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. -

    - -
    - - - diff --git a/docs/security/index.html b/docs/security/index.html deleted file mode 100644 index a354e43e..00000000 --- a/docs/security/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - Security topics - - - - -
    -

    Security topics

    -

    - Or Back to main index. -

    - -
    - -
    - -

    - Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
    - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license can be found at ../gfdl-1.3.txt -

    - -

    - Updated versions of the license (when available) can be found at - https://www.gnu.org/licenses/licenses.html -

    - -

    - UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. -

    -

    - TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. -

    -

    - The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. -

    - -
    - - - diff --git a/docs/security/t60_security.html b/docs/security/t60_security.html deleted file mode 100644 index 5a2d8d55..00000000 --- a/docs/security/t60_security.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - - - - Libreboot documentation: Security on the ThinkPad T60 - - - - -
    -

    Security on the ThinkPad T60

    -

    Hardware modifications to enhance security on the ThinkPad T60. This tutorial is incomplete at the time of writing.

    -

    Back to previous index

    -
    - -
    -

    Table of Contents

    - -

    Hardware requirements

    - -

    Software requirements

    - -
    - -
    -

    - Rationale -

    -

    - Most people think of security on the software side: the hardware is important aswell. -

    -

    - This tutorial deals with reducing the number of devices that have direct memory access that - could communicate with inputs/outputs that could be used to remotely - command the system (or leak data). All of this is purely theoretical for the time being. -

    -
    - -
    - -

    Disassembly

    - -

    - Remove those screws and remove the HDD:
    - -

    - -

    - Lift off the palm rest:
    - -

    - -

    - Lift up the keyboard, pull it back a bit, flip it over like that and then disconnect it from the board:
    - -

    - -

    - Gently wedge both sides loose:
    - -

    - -

    - Remove that cable from the position:
    - -

    - -

    - Now remove that bezel. Remove wifi, nvram battery and speaker connector (also remove 56k modem, on the left of wifi):
    -
    - Reason: has direct (and very fast) memory access, and could (theoretically) leak data over a side-channel.
    - Wifi: The ath5k/ath9k cards might not have firmware at all. They might safe but could have - access to the computer's RAM trough DMA. If people have an intel - card(most T60 laptops come with Intel wifi by default, until you change it),then that card runs - a non-free firwamre and has access to the computer's RAM trough DMA! So - the risk-level is very high. -

    - -

    - Remove those screws:
    - -

    - -

    - Disconnect the power jack:
    - -

    - -

    - Remove nvram battery (we will put it back later):
    - -

    - -

    - Disconnect cable (for 56k modem) and disconnect the other cable:
    - -

    - -

    - Disconnect speaker cable:
    - -

    - -

    - Disconnect the other end of the 56k modem cable:
    - -

    - -

    - Make sure you removed it:
    - -

    - -

    - Unscrew those:
    - -

    - -

    - Make sure you removed those:
    - -

    - -

    - Disconnect LCD cable from board:
    - -

    - -

    - Remove those screws then remove the LCD assembly:
    - -

    - -

    - Once again, make sure you removed those:
    - -

    - -

    - Remove the shielding containing the motherboard, then flip it over. Remove these screws, placing them on a steady - surface in the same layout as they were in before you removed them. Also, you should mark each screw hole after removing the - screw (a permanent marker pen will do), this is so that you have a point of reference when re-assembling the system:
    - - -

    - -

    - Remove microphone (soldering iron not needed. Just wedge it out gently):
    -
    - Rationale:
    - Another reason to remove the microphone: If your computer gets[1] compromised, it can - record what you say, and use it to receive data from nearby devices if - they're compromised too. Also, we do not know what the built-in microcode (in the CPU) is doing; it could theoretically - be programmed to accept remote commands from some speaker somewhere (remote security hole). In other words, - the system could already be compromised from the factory. -

    - -

    - Remove infrared:
    - -

    - -

    - Remove cardbus (it's in a socket, no need to disable. Just remove the port itself):
    -
    - Rationale:
    - It has direct memory access and can be used to extract sensitive details (such as LUKS keys). See - 'GoodBIOS' video linked at the end (speaker is Peter Stuge, a coreboot hacker). The video covers X60 - but the same topics apply to T60. -

    - -

    - Before re-installing the upper chassis, remove the speaker:
    -
    - Reason: combined with the microphone issue, this could be used to leak data.
    - If your computer gets[1] compromised, it can be used to - transmit data to nearby compromised devices. It's unknown if it can be - turned into a microphone[2].
    - Replacement: headphones/speakers (line-out) or external DAC (USB). -

    - -

    - Remove the wwan:
    -
    - Wwan (3g modem): They run proprietary software! It's like AMT but over the GSM network which is - probably even worse.
    - Replacement: external USB wifi dongle. (or USB wwan/3g dongle; note, this has all the same privacy issues as mobile phones. wwan not recommended). -

    - -

    - This is where the simcard connector is soldered. See notes above about wwan. Remove simcard by removing battery - and then it's accessible (so, remember to do this when you re-assemble. or you could do it now?)
    - -

    - -

    - Put those screws back:
    - -

    - -

    - Put it back into lower chassis:
    - -

    - -

    - Attach LCD and insert screws (also, attach the lcd cable to the board):
    - -

    - -

    - Insert those screws:
    - -

    - -

    - On the CPU (and there is another chip south-east to it, sorry forgot to take pic) - clean off the old thermal paste (with the alcohol) and apply new (Artic Silver 5 is good, others are good too) - you should also clean the heatsink the same way
    - -

    - -

    - Attach the heatsink and install the screws (also, make sure to install the AC jack as highlighted):
    - -

    - -

    - Reinstall that upper bezel:
    - -

    - -

    - Do that:
    - -

    - -

    - Attach keyboard and install nvram battery:
    - -

    - -

    - Place keyboard and (sorry, forgot to take pics) reinstall the palmrest and insert screws on the underside:
    - -

    - -

    - Remove those covers and unscrew:
    - -

    - -

    - Gently pry off the front bezel (sorry, forgot to take pics). -

    - -

    - Remove bluetooth module:
    - -

    - -

    - Re-attach the front bezel and re-insert the screws (sorry, forgot to take pics). -

    - -

    - It lives!
    - -

    - -

    - Always stress test ('stress -c 2' and xsensors. below 90C is ok) when replacing cpu paste/heatsink:
    - -

    - -
    - -
    -

    - Not covered yet: -

    - -

    - Go to http://media.ccc.de/browse/congress/2013/30C3_-_5529_-_en_-_saal_2_-_201312271830_-_hardening_hardware_and_choosing_a_goodbios_-_peter_stuge.html - or directly to the video: http://mirror.netcologne.de/CCC/congress/2013/webm/30c3-5529-en-Hardening_hardware_and_choosing_a_goodBIOS_webm.webm. -

    -

    - A lot of this tutorial is based on that video. Look towards the second half of the video to see how to do the above. -

    -
    - -
    -

    - Also not covered yet: -

    - -
    - -
    -

    - Extra notes -

    -

    - EC: Cannot be removed but can be mitigated: it contains non-free - non-loadable code, but it has no access to the computer's RAM. - It has access to the on-switch of the wifi, bluetooth, modem and some - other power management features. The issue is that it has access to the - keyboard, however if the software security howto (not yet written) is followed correctly, - it won't be able to leak data to a local attacker. It has no network - access but it may still be able to leak data remotely, but that - requires someone to be nearby to recover the data with the help of an - SDR and some directional antennas[3]. -

    -

    - Intel 82573 Ethernet controller - on the X60 seems safe, according to Denis. -

    - -
    -

    - Risk level -

    -
      -
    • Modem (3g/wwan): highest
    • -
    • Intel wifi: Near highest
    • -
    • Atheros PCI wifi: unknown, but lower than intel wifi.
    • -
    • Microphone: only problematic if the computer gets compromised.
    • -
    • Speakers: only problematic if the computer gets compromised.
    • -
    • EC: can be mitigated if following the guide on software security.
    • -
    -
    -
    - -
    -

    - Further reading material (software security) -

    - -
    - -
    -

    - References -

    -
    -

    [1] physical access

    -

    - Explain that black hats, TAO, and so on might use a 0day to get in, - and explain that in this case it mitigates what the attacker can do. - Also the TAO do some evaluation before launching an attack: they take - the probability of beeing caught into account, along with the kind of - target. A 0day costs a lot of money, I heard that it was from 100000$ - to 400000$, some other websites had prices 10 times lower but that - but it was probably a typo. So if people increase their security it - makes it more risky and more costly to attack people. -

    -
    -
    -

    [2] microphone

    -

    - It's possible to turn headphones into a microphone, you could try - yourself, however they don't record loud at all. Also intel cards have - the capability to change a connector's function, for instance the - microphone jack can now become a headphone plug, that's called - retasking. There is some support for it in GNU/Linux but it's not very - well known. -

    -
    -
    -

    [3] Video (CCC)

    -

    - 30c3-5356-en-Firmware_Fat_Camp_webm.webm from the 30th CCC. While - their demo is experimental(their hardware also got damaged during the - transport), the spies probably already have that since a long time. - http://berlin.ftp.media.ccc.de/congress/2013/webm/30c3-5356-en-Firmware_Fat_Camp_webm.webm -

    -
    -
    - -
    - -

    - Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
    - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license can be found at ../gfdl-1.3.txt -

    - -

    - Updated versions of the license (when available) can be found at - https://www.gnu.org/licenses/licenses.html -

    - -

    - UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. -

    -

    - TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. -

    -

    - The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. -

    - -
    - - - diff --git a/docs/security/x60_security.html b/docs/security/x60_security.html deleted file mode 100644 index ba82bca9..00000000 --- a/docs/security/x60_security.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - Libreboot documentation: Security on the ThinkPad X60 - - - - -
    -

    Security on the ThinkPad X60

    -

    Hardware modifications to enhance security on the ThinkPad X60. This tutorial is incomplete at the time of writing.

    -

    Back to previous index

    -
    - -
    -

    Table of Contents

    - -
    - -
    - -

    Hardware requirements

    - - -

    Software requirements

    - - -
    - -
    - -

    - Rationale -

    -

    - Most people think of security on the software side: the hardware is important aswell. -

    -

    - This tutorial deals with reducing the number of devices that have direct memory access that - could communicate with inputs/outputs that could be used to remotely - command the system (or leak data). All of this is purely theoretical for the time being. -

    - -

    Disassembly

    - -

    - Firstly remove the bluetooth (if your X60 has this):
    - The marked screws are underneath those stickers (marked in those 3 locations at the bottom of the LCD assembly):
    -
    - Now gently pry off the bottom part of the front bezel, and the bluetooth module is on the left (easily removable):
    -
    -

    - -

    - If your model was WWAN, remove the simcard (check anyway):
    - Uncover those 2 screws at the bottom:
    -
    - SIM card (not present in the picture) is in the marked location:
    -
    - Replacement: USB dongle. -

    - -

    - Now get into the motherboard. -

    - -

    - Remove those screws:
    - -

    -

    - Push the keyboard forward (carefully):
    - -

    -

    - Lift the keyboard up and disconnect it from the board:
    - -

    -

    - Grab the right-hand side of the chassis and force it off (gently) and pry up the rest of the chassis:
    - -

    -

    - You should now have this:
    - -

    - -

    - The following is a summary of what you will remove (already done to this system):
    -
    - Note: the blue lines represent antenna cables and modem cables. You don't need to remove these, but you can if you want - (to make it tidier after removing other parts). I removed the antenna wires, the modem jack, the modem cable and - also (on another model) a device inside the part where the wwan antenna goes (wasn't sure what it was, but I knew it wasn't needed). This is optional -

    - -

    - Remove the microphone (can desolder it, but you can also easily pull it off with you hands). Already removed here:
    -
    - Rationale:
    - Another reason to remove the microphone: If your computer gets[1] compromised, it can - record what you say, and use it to receive data from nearby devices if - they're compromised too. Also, we do not know what the built-in microcode (in the CPU) is doing; it could theoretically - be programmed to accept remote commands from some speaker somewhere (remote security hole). In other words, - the system could already be compromised from the factory. -

    - -

    - Remove the modem:
    -
    - (useless, obsolete device) -

    - -

    - Remove the speaker:
    -
    - Reason: combined with the microphone issue, this could be used to leak data.
    - If your computer gets[1] compromised, it can be used to - transmit data to nearby compromised devices. It's unknown if it can be - turned into a microphone[2].
    - Replacement: headphones/speakers (line-out) or external DAC (USB). -

    - -

    - Remove the wlan (also remove wwan if you have it):
    -
    - Reason: has direct (and very fast) memory access, and could (theoretically) leak data over a side-channel.
    - Wifi: The ath5k/ath9k cards might not have firmware at all. They might safe but could have - access to the computer's RAM trough DMA. If people have an intel - card(most X60s come with Intel wifi by default, until you change it),then that card runs - a non-free firwamre and has access to the computer's RAM trough DMA! So - the risk-level is very high.
    - Wwan (3g modem): They run proprietary software! It's like AMT but over the GSM network which is - probably even worse.
    - Replacement: external USB wifi dongle. (or USB wwan/3g dongle; note, this has all the same privacy issues as mobile phones. wwan not recommended). -

    - -

    - Not covered yet: -

    - -

    - Go to http://media.ccc.de/browse/congress/2013/30C3_-_5529_-_en_-_saal_2_-_201312271830_-_hardening_hardware_and_choosing_a_goodbios_-_peter_stuge.html - or directly to the video: http://mirror.netcologne.de/CCC/congress/2013/webm/30c3-5529-en-Hardening_hardware_and_choosing_a_goodBIOS_webm.webm. -

    -

    - A lot of this tutorial is based on that video. Look towards the second half of the video to see how to do the above. -

    - -

    - Also not covered yet: -

    - - -
    - -
    -

    - Extra notes -

    -

    - EC: Cannot be removed but can be mitigated: it contains non-free - non-loadable code, but it has no access to the computer's RAM. - It has access to the on-switch of the wifi, bluetooth, modem and some - other power management features. The issue is that it has access to the - keyboard, however if the software security howto (not yet written) is followed correctly, - it won't be able to leak data to a local attacker. It has no network - access but it may still be able to leak data remotely, but that - requires someone to be nearby to recover the data with the help of an - SDR and some directional antennas[3]. -

    -

    - Intel 82573 Ethernet controller - on the X60 seems safe, according to Denis. -

    - -
    -

    - Risk level -

    -
      -
    • Modem (3g/wwan): highest
    • -
    • Intel wifi: Near highest
    • -
    • Atheros PCI wifi: unknown, but lower than intel wifi.
    • -
    • Microphone: only problematic if the computer gets compromised.
    • -
    • Speakers: only problematic if the computer gets compromised.
    • -
    • EC: can be mitigated if following the guide on software security.
    • -
    -
    -
    - -
    -

    - Further reading material (software security) -

    - -
    - -
    -

    - References -

    -
    -

    [1] physical access

    -

    - Explain that black hats, TAO, and so on might use a 0day to get in, - and explain that in this case it mitigates what the attacker can do. - Also the TAO do some evaluation before launching an attack: they take - the probability of beeing caught into account, along with the kind of - target. A 0day costs a lot of money, I heard that it was from 100000$ - to 400000$, some other websites had prices 10 times lower but that - but it was probably a typo. So if people increase their security it - makes it more risky and more costly to attack people. -

    -
    -
    -

    [2] microphone

    -

    - It's possible to turn headphones into a microphone, you could try - yourself, however they don't record loud at all. Also intel cards have - the capability to change a connector's function, for instance the - microphone jack can now become a headphone plug, that's called - retasking. There is some support for it in GNU/Linux but it's not very - well known. -

    -
    -
    -

    [3] Video (CCC)

    -

    - 30c3-5356-en-Firmware_Fat_Camp_webm.webm from the 30th CCC. While - their demo is experimental(their hardware also got damaged during the - transport), the spies probably already have that since a long time. - http://berlin.ftp.media.ccc.de/congress/2013/webm/30c3-5356-en-Firmware_Fat_Camp_webm.webm -

    -
    -
    - -
    - -

    - Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
    - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license can be found at ../gfdl-1.3.txt -

    - -

    - Updated versions of the license (when available) can be found at - https://www.gnu.org/licenses/licenses.html -

    - -

    - UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. -

    -

    - TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. -

    -

    - The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. -

    - -
    - - - -- cgit v1.2.3-70-g09d2