Properly indent Recommendations section.

This commit is contained in:
inference 2023-04-30 21:29:01 +01:00
parent ef04b6f8ac
commit a90a2d83f5
Signed by: inference
SSH Key Fingerprint: SHA256:9Pl0nZ2UJacgm+IeEtLSZ4FOESgP1eKCtRflfPfdX9M

View File

@ -5,7 +5,7 @@
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear --> <!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
<!-- Version: 4.3.0.83 --> <!-- Version: 4.3.0.84 -->
<html> <html>
@ -361,85 +361,111 @@
</tr> </tr>
<tr> <tr>
<td class="table-main">Smartphone</td> <td class="table-main">Smartphone</td>
<td class="table-main"><img src="asset/img/google-pixel_6.png" <td class="table-main"><img src="asset/img/google-
pixel_6.png"
width="100px" height="100px"/><br> width="100px" height="100px"/><br>
<br> <br>
Google Pixel</td> Google Pixel</td>
<td>Google Pixel devices are the best Android devices available on the market for <td>Google Pixel devices are the best Android devices
<a class="body-link" href="https://security.googleblog.com/2021/10/ available on the market for
pixel-6-setting-new-standard-for-mobile.html" <a class="body-link" href="https://security.googleblog
.com/2021/10/pixel-6-setting-new-standard-for-mobile
.html"
>security and privacy</a>.<br> >security and privacy</a>.<br>
<br> <br>
They allow locking the bootloader with a They allow locking the bootloader with a
<a class="body-link" href="https://android.googlesource.com/platform/external/avb/+/ <a class="body-link" href="https://android.googlesource
master/README.md#pixel-2-and-later" .com/platform/external/avb/+/master/README.md#pixel-2-
>custom Android Verified Boot (AVB) key</a> in order to preserve security and privacy and-later"
features when installing a custom operating system, such as >custom Android Verified Boot (AVB) key</a> in order to
<a class="body-link" href="https://source.android.com/docs/security/features/ preserve security and privacy features when installing a
custom operating system, such as <a class="body-link"
href="https://source.android.com/docs/security/features/
verifiedboot/" verifiedboot/"
>verified boot</a> which verifies that the OS has not been corrupted or tampered with, >verified boot</a> which verifies that the OS has not
and been corrupted or tampered with, and
<a class="body-link" href="https://source.android.com/docs/security/features/ <a class="body-link" href="https://source.android.com/
verifiedboot/verified-boot#rollback-protection" docs/security/features/verifiedboot/verified-boot
>rollback protection</a> which prevents an adversary from rolling back the OS or #rollback-protection"
firmware version to a previous version with known security vulnerabilities.<br> >rollback protection</a> which prevents an adversary
from rolling back the OS or firmware version to a
previous version with known security vulnerabilities.<br>
<br> <br>
They also include a They also include a
<a class="body-link" href="https://developer.android.com/training/articles/ <a class="body-link" href="https://developer.android
keystore#HardwareSecurityModule" .com/training/articles/keystore#HardwareSecurityModule"
>hardware security module</a> (Titan M2, improving on the previous generation >hardware security module</a> (Titan M2, improving on
<a class="body-link" href="https://security.googleblog.com/2018/10/ the previous generation <a class="body-link"
building-titan-better-security-through.html" href="https://security.googleblog.com/2018/10/building-
>Titan M</a>) which is extremely resistant to both remote and physical attacks due to titan-better-security-through.html"
being completely isolated from the rest of the system, including the operating system. >Titan M</a>) which is extremely resistant to both
Titan M2 ensures that the device cannot be remotely compromised by requiring the side remote and physical attacks due to being completely
buttons of the device to be physically pressed for some sensitive operations. Titan M2 isolated from the rest of the system, including the
also takes the role of operating system. Titan M2 ensures that the device
<a class="body-link" href="https://source.android.com/docs/security/best-practices/ cannot be remotely compromised by requiring the side
hardware#strongbox-keymaster" buttons of the device to be physically pressed for some
sensitive operations. Titan M2 also takes the role of
<a class="body-link" href="https://source.android.com/
docs/security/best-practices/hardware#strongbox-
keymaster"
>Android StrongBox Keymaster</a>, >Android StrongBox Keymaster</a>,
a <a class="body-link" href="https://source.android.com/docs/security/features/keystore" a <a class="body-link" href="https://source.android.com/
>hardware-backed Keystore</a> containing sensitive user keys which are unavailable to docs/security/features/keystore"
the OS or apps running on it without authorisation from Titan M2 itself. >hardware-backed Keystore</a> containing sensitive user
<a class="body-link" href="https://android-developers.googleblog.com/2018/05/ keys which are unavailable to the OS or apps running on
insider-attack-resistance.html" it without authorisation from Titan M2 itself.
>Insider attack resistance</a> ensures that Titan M2 firmware can be flashed only if the <a class="body-link" href="https://android-developers
user PIN/password is already known, making it impossible to backdoor the device without .googleblog.com/2018/05/insider-attack-resistance.html"
already knowing these secrets.<br> >Insider attack resistance</a> ensures that Titan M2
firmware can be flashed only if the user PIN/password is
already known, making it impossible to backdoor the
device without already knowing these secrets.<br>
<br> <br>
Google Pixel device kernels are compiled with Google Pixel device kernels are compiled with
<a class="body-link" href="https://android-developers.googleblog.com/2018/10/ <a class="body-link" href="https://android-developers
control-flow-integrity-in-android-kernel.html" .googleblog.com/2018/10/control-flow-integrity-in-
android-kernel.html"
>forward-edge control-flow integrity</a> and >forward-edge control-flow integrity</a> and
<a class="body-link" href="https://security.googleblog.com/2019/10/ <a class="body-link" href="https://security.googleblog
protecting-against-code-reuse-in-linux_30.html" .com/2019/10/protecting-against-code-reuse-in-linux_30
>backward-edge control-flow integrity</a> to prevent code reuse attacks against the .html"
kernel. MAC address randomisation is >backward-edge control-flow integrity</a> to prevent
<a class="body-link" href="https://android-developers.googleblog.com/2017/04/ code reuse attacks against the kernel. MAC address
changes-to-device-identifiers-in.html" randomisation is
>implemented well, along with minimal probe requests and randomised initial sequence <a class="body-link" href="https://android-developers
numbers</a>.<br> .googleblog.com/2017/04/changes-to-device-identifiers-in
.html"
>implemented well, along with minimal probe requests and
randomised initial sequence numbers</a>.<br>
<br> <br>
Google releases Google releases
<a class="body-link" href="https://source.android.com/docs/security/bulletin/pixel/" <a class="body-link" href="https://source.android.com/
>guaranteed monthly security updates</a>, ensuring Google Pixel devices are up-to-date docs/security/bulletin/pixel/"
and quickly protected against security vulnerabilities.<br> >guaranteed monthly security updates</a>, ensuring
Google Pixel devices are up-to-date and quickly
protected against security vulnerabilities.<br>
<br> <br>
Pixel 6-series and 7-series devices are a large improvement over the already very Pixel 6-series and 7-series devices are a large
secure and private previous generation Pixel devices. They replace ARM-based Titan M improvement over the already very secure and private
with RISC-V-based Titan M2, reducing trust by removing ARM from the equation. Titan M2 previous generation Pixel devices. They replace
is more resiliant to attacks than Titan M, and is ARM-based Titan M with RISC-V-based Titan M2, reducing
<a class="body-link" href="https://www.tuv-nederland.nl/assets/files/cerfiticaten/2022/ trust by removing ARM from the equation. Titan M2 is
09/nscib-cc-22-0228971-cert-final.pdf" more resiliant to attacks than Titan M, and is
>AVA_VAN.5 certified</a>, the highest level of vulnerability assessment. Google's <a class="body-link" href="https://www.tuv-nederland.nl/
in-house Tensor SoC includes Tensor Security Core, further improving device security.<br> assets/files/cerfiticaten/2022/09/nscib-cc-22-0228971-
cert-final.pdf"
>AVA_VAN.5 certified</a>, the highest level of
vulnerability assessment. Google's in-house Tensor SoC
includes Tensor Security Core, further improving device
security.<br>
<br> <br>
Pixel 6-series and 7-series devices are supported for a Pixel 6-series and 7-series devices are supported for a
<a class="body-link" href="https://support.google.com/nexus/answer/ <a class="body-link" href="https://support.google.com/
4457705#zippy=%2Cpixel-and-later" nexus/answer/4457705#zippy=%2Cpixel-and-later"
>minimum of 5 years from launch</a>, an increase from previous generations' >minimum of 5 years from launch</a>, an increase from
<a class="body-link" href="https://support.google.com/nexus/answer/ previous generations'
4457705#zippy=%2Cpixel-xl-a-a-g-and-a-g" <a class="body-link" href="https://support.google.com/
nexus/answer/4457705#zippy=%2Cpixel-xl-a-a-g-and-a-g"
>support lifecycles of 3 years</a>.</td> >support lifecycles of 3 years</a>.</td>
</tr> </tr>
</table> </table>
@ -464,30 +490,39 @@
</tr> </tr>
<tr> <tr>
<td class="table-main">Operating system</td> <td class="table-main">Operating system</td>
<td class="table-main"><img src="asset/img/logo-gentoo_linux.png" <td class="table-main"><img src="asset/img/logo-
width="100px" height="100px"/><br> gentoo_linux.png" width="100px" height="100px"/><br>
<br> <br>
Gentoo Linux</td> Gentoo Linux</td>
<td><a class="body-link" href="https://www.gentoo.org/" <td><a class="body-link" href="https://www.gentoo.org/"
>Gentoo Linux</a> is a highly modular, source-based Linux-based operating system which >Gentoo Linux</a> is a highly modular, source-based
allows vast customisation to tailor the operating system to suit your specific needs. Linux-based operating system which allows vast
There are many advantages to such an operating system, with the most notable being the customisation to tailor the operating system to suit
ability to optimise the software for security, privacy, performance, or power usage; your specific needs. There are many advantages to such
however, there are effectively unlimited other use cases, or a combination of multiple an operating system, with the most notable being the
use cases.<br> ability to optimise the software for security, privacy,
performance, or power usage; however, there are
effectively unlimited other use cases, or a combination
of multiple use cases.<br>
<br> <br>
I have focused on security hardening and privacy hardening, placing performance below I have focused on security hardening and privacy
those aspects, although my system is still very performant. Some of the hardening I hardening, placing performance below those aspects,
apply includes although my system is still very performant. Some of the
<a class="body-link" href="https://en.wikipedia.org/wiki/Buffer_overflow_protection" hardening I apply includes
<a class="body-link" href="https://en.wikipedia.org/
wiki/Buffer_overflow_protection"
>stack protection</a>, >stack protection</a>,
<a class="body-link" href="https://en.wikipedia.org/wiki/Integer_overflow" <a class="body-link" href="https://en.wikipedia.org/
wiki/Integer_overflow"
>signed integer overflow wrapping</a>, and GrapheneOS' >signed integer overflow wrapping</a>, and GrapheneOS'
<a class="body-link" href="https://github.com/GrapheneOS/hardened_malloc/" <a class="body-link" href="https://github.com/
GrapheneOS/hardened_malloc/"
>hardened_malloc</a> memory allocator.<br> >hardened_malloc</a> memory allocator.<br>
<br> <br>
You can find my personal Gentoo Linux configurations in my personal You can find my personal Gentoo Linux configurations in
<a class="body-link" href="https://git.inferencium.net/inference/cfg/" my personal
<a class="body-link" href="https://git.inferencium.net/
inference/cfg/"
>configuration respository</a>.</td> >configuration respository</a>.</td>
<td class="table-main">Open source<br> <td class="table-main">Open source<br>
<br> <br>
@ -495,26 +530,29 @@
</tr> </tr>
<tr> <tr>
<td class="table-main">Web browser</td> <td class="table-main">Web browser</td>
<td class="table-main"><img src="asset/img/logo-chromium.png" <td class="table-main"><img src="asset/img/logo-chromium
width="100px" height="100px"/><br> .png" width="100px" height="100px"/><br>
<br> <br>
Chromium</td> Chromium</td>
<td><a class="body-link" href="https://chromium.org/" <td><a class="body-link" href="https://chromium.org/"
>Chromium</a> is a highly secure web browser which is often ahead of other web browsers >Chromium</a> is a highly secure web browser which is
in security aspects. It has a dedicated security team and a very impressive often ahead of other web browsers in security aspects.
<a class="body-link" href="https://www.chromium.org/Home/chromium-security/brag-sheet/" It has a dedicated security team and a very impressive
<a class="body-link" href="https://www.chromium.org/
Home/chromium-security/brag-sheet/"
>security brag sheet</a>. >security brag sheet</a>.
Chromium's security features include a strong Chromium's security features include a strong
<a class="body-link" href="https://code.google.com/p/chromium/wiki/LinuxSandboxing" <a class="body-link" href="https://code.google.com/p/
chromium/wiki/LinuxSandboxing"
>multi-layer sandbox</a>, >multi-layer sandbox</a>,
strong <a class="body-link" href="https://www.chromium.org/Home/chromium-security/ strong <a class="body-link" href="https://www.chromium
site-isolation" .org/Home/chromium-security/site-isolation"
>site isolation</a>, >site isolation</a>,
<a class="body-link" href="https://www.chromium.org/Home/chromium-security/ <a class="body-link" href="https://www.chromium.org/
binding-integrity" Home/chromium-security/binding-integrity"
>Binding Integrity</a> memory hardening, and >Binding Integrity</a> memory hardening, and
<a class="body-link" href="https://www.chromium.org/developers/testing/ <a class="body-link" href="https://www.chromium.org/
control-flow-integrity/" developers/testing/control-flow-integrity/"
>control-flow integrity (CFI)</a>.</td> >control-flow integrity (CFI)</a>.</td>
<td class="table-main">Open source<br> <td class="table-main">Open source<br>
<br> <br>
@ -537,63 +575,88 @@
</tr> </tr>
<tr> <tr>
<td class="table-main">Operating system</td> <td class="table-main">Operating system</td>
<td class="table-main"><img src="asset/img/logo-grapheneos.png" <td class="table-main"><img src="asset/img/logo-
width="100px" height="100px"/><br> grapheneos.png" width="100px" height="100px"/><br>
<br> <br>
GrapheneOS</td> GrapheneOS</td>
<td><a class="body-link" href="https://grapheneos.org/" <td><a class="body-link" href="https://grapheneos.org/"
>GrapheneOS</a> is a security-hardened, privacy-hardened, secure-by-default >GrapheneOS</a> is a security-hardened,
Android-based operating system which implements extensive, systemic security and privacy privacy-hardened, secure-by-default Android-based
hardening to the Android Open Source Project used as its base codebase. Its hardening operating system which implements extensive, systemic
includes closing gaps for apps to access sensitive system information, a secure app security and privacy hardening to the Android Open
spawning feature which avoids sharing address space layout and other secrets AOSP's Source Project used as its base codebase. Its hardening
default Zygote app spawning model would share, includes closing gaps for apps to access sensitive
<a class="body-link" href="https://github.com/GrapheneOS/kernel_gs-gs101/" system information, a secure app spawning feature which
avoids sharing address space layout and other secrets
AOSP's default Zygote app spawning model would share,
<a class="body-link" href="https://github.com/
GrapheneOS/kernel_gs-gs101/"
>hardened kernel</a>, hardened memory allocator >hardened kernel</a>, hardened memory allocator
(<a class="body-link" href="https://github.com/GrapheneOS/hardened_malloc/" (<a class="body-link" href="https://github.com/
>hardened_malloc</a>) to protect against common memory corruption vulnerabilties, GrapheneOS/hardened_malloc/"
<a class="body-link" href="https://github.com/GrapheneOS/platform_bionic/" >hardened_malloc</a>) to protect against common memory
corruption vulnerabilties,
<a class="body-link" href="https://github.com/
GrapheneOS/platform_bionic/"
>hardened Bionic standard C library</a>, >hardened Bionic standard C library</a>,
<a class="body-link" href="https://github.com/GrapheneOS/platform_system_sepolicy/" <a class="body-link" href="https://github.com/
>stricter SELinux policies</a>, and local and remote hardware-backed attestation GrapheneOS/platform_system_sepolicy/"
(<a class="body-link" href="https://attestation.app/about/" >stricter SELinux policies</a>, and local and remote
>Auditor</a>) to ensure the OS has not been corrupted or tampered with.<br> hardware-backed attestation
(<a class="body-link" href="https://attestation.app/
about/"
>Auditor</a>) to ensure the OS has not been corrupted or
tampered with.<br>
<br> <br>
GrapheneOS only supports GrapheneOS only supports
<a class="body-link" href="https://grapheneos.org/faq#device-support" <a class="body-link" href="https://grapheneos.org/faq
>high security and well-supported devices</a> which receive full support from their #device-support"
manufacturers, including firmware updates, long support lifecycles, secure hardware, and >high security and well-supported devices</a> which
overall high security practices.<br> receive full support from their manufacturers, including
firmware updates, long support lifecycles, secure
hardware, and overall high security practices.<br>
<br> <br>
For an extensive list of features GrapheneOS provides, visit its For an extensive list of features GrapheneOS provides,
<a class="body-link" href="https://grapheneos.org/features/" visit its
>official features list</a> which provides extensive documentation.</td> <a class="body-link" href="https://grapheneos.org/
features/"
>official features list</a> which provides extensive
documentation.</td>
<td class="table-main">Open source<br> <td class="table-main">Open source<br>
<br> <br>
(MIT)</td> (MIT)</td>
</tr> </tr>
<tr> <tr>
<td class="table-main">Web browser</td> <td class="table-main">Web browser</td>
<td class="table-main"><img src="asset/img/logo-vanadium.png" <td class="table-main"><img src="asset/img/logo-vanadium
width="100px" height="100px"/><br> .png" width="100px" height="100px"/><br>
<br> <br>
Vanadium</td> Vanadium</td>
<td>Vanadium is a security-hardened, privacy-hardened Chromium-based web browser which <td>Vanadium is a security-hardened, privacy-hardened
utilises GrapheneOS' operating system hardening to implement stronger defenses to the Chromium-based web browser which utilises GrapheneOS'
already very secure Chromium web browser. Its hardening alongside Chromium's base operating system hardening to implement stronger
defenses to the already very secure Chromium web
browser. Its hardening alongside Chromium's base
security features includes security features includes
<a class="body-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/ <a class="body-link" href="https://github.com/
0081-Implement-UI-for-JIT-site-settings.patch" GrapheneOS/Vanadium/blob/13/patches/0081-Implement-UI-
>disabling JavaScript just-in-time (JIT) compilation by default</a>, for-JIT-site-settings.patch"
<a class="body-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/ >disabling JavaScript just-in-time (JIT) compilation by
0051-stub-out-the-battery-status-API.patch" default</a>,
>stubbing out the battery status API to prevent abuse of it</a>, and <a class="body-link" href="https://github.com/
<a class="body-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/ GrapheneOS/Vanadium/blob/13/patches/0051-stub-out-the-
0084-Toggle-for-navigating-external-URL-in-incognito.patch" battery-status-API.patch"
>stubbing out the battery status API to prevent abuse of
it</a>, and
<a class="body-link" href="https://github.com/
GrapheneOS/Vanadium/blob/13/patches/0084-Toggle-for-
navigating-external-URL-in-incognito.patch"
>always-on Incognito mode as an option</a>.<br> >always-on Incognito mode as an option</a>.<br>
<br> <br>
Vanadium's source code, including its Chromium patchset, can be found in its Vanadium's source code, including its Chromium patchset,
<a class="body-link" href="https://github.com/GrapheneOS/Vanadium/" can be found in its
<a class="body-link" href="https://github.com/
GrapheneOS/Vanadium/"
>official repository</a>.</td> >official repository</a>.</td>
<td class="table-main">Open source<br> <td class="table-main">Open source<br>
<br> <br>
@ -601,51 +664,59 @@
</tr> </tr>
<tr> <tr>
<td class="table-main">Messenger</td> <td class="table-main">Messenger</td>
<td class="table-main"><img src="asset/img/logo-molly.png" <td class="table-main"><img src="asset/img/logo-molly
width="100px" height="100px"><br> .png" width="100px" height="100px"><br>
<br> <br>
Molly</td> Molly</td>
<td><a class="body-link" href="https://molly.im/" <td><a class="body-link" href="https://molly.im/"
>Molly</a> is a security-hardened, privacy-hardened >Molly</a> is a security-hardened, privacy-hardened
<a class="body-link" href="https://signal.org/" <a class="body-link" href="https://signal.org/"
>Signal</a> client which hardens Signal by using a variety of >Signal</a> client which hardens Signal by using a
<a class="body-link" href="https://github.com/mollyim/mollyim-android#features" variety of
<a class="body-link" href="https://github.com/mollyim/
mollyim-android#features"
>unique features</a>, allowing >unique features</a>, allowing
<a class="body-link" href="https://github.com/mollyim/mollyim-android/wiki/ <a class="body-link" href="https://github.com/mollyim/
Data-Encryption-At-Rest" mollyim-android/wiki/Data-Encryption-At-Rest"
>locking the database when not in use</a>, and >locking the database when not in use</a>, and
<a class="body-link" href="https://github.com/mollyim/mollyim-android/blob/ <a class="body-link" href="https://github.com/mollyim/
a81ff7d120adc9d427be17239107343146bad704/app/src/main/java/org/thoughtcrime/securesms/ mollyim-android/blob/
crypto/MasterSecretUtil.java#L91" a81ff7d120adc9d427be17239107343146bad704/app/src/main/
>utilising Android StrongBox</a> to protect user keys using the device's hardware java/org/thoughtcrime/securesms/crypto/MasterSecretUtil
security module.<br> .java#L91"
>utilising Android StrongBox</a> to protect user keys
using the device's hardware security module.<br>
<br> <br>
Molly is available in Molly is available in
<a class="body-link" href="https://github.com/mollyim/ <a class="body-link" href="https://github.com/mollyim/
mollyim-android#free-and-open-source" mollyim-android#free-and-open-source"
>2 flavours</a>:<br> >2 flavours</a>:<br>
<ul> <ul>
<li>Molly, which includes the same proprietary Google code as Signal to support <li>Molly, which includes the same
more features.</li> proprietary Google code as Signal to
support more features.</li>
<br> <br>
<li>Molly-FOSS, which removes the proprietary Google code to provide an <li>Molly-FOSS, which removes the
proprietary Google code to provide an
entirely open-source client.</li> entirely open-source client.</li>
</ul></td> </ul>
</td>
<td class="table-main">Open source<br> <td class="table-main">Open source<br>
<br> <br>
(GPL-3.0-only)</td> (GPL-3.0-only)</td>
</tr> </tr>
<tr> <tr>
<td class="table-main">Messenger</td> <td class="table-main">Messenger</td>
<td class="table-main"><img src="asset/img/logo-conversations.png" <td class="table-main"><img src="asset/img/logo-
width="100px" height="100px"><br> conversations.png" width="100px" height="100px"><br>
<br> <br>
Conversations</td> Conversations</td>
<td><a class="body-link" href="https://conversations.im/" <td><a class="body-link" href="https://conversations
.im/"
>Conversations</a> is a well-designed Android >Conversations</a> is a well-designed Android
<a class="body-link" href="https://xmpp.org/" <a class="body-link" href="https://xmpp.org/"
>XMPP</a> client which serves as the de facto XMPP reference client and has great >XMPP</a> client which serves as the de facto XMPP
usability.</td> reference client and has great usability.</td>
<td class="table-main">Open source<br> <td class="table-main">Open source<br>
<br> <br>
(GPL-3.0-only)</td> (GPL-3.0-only)</td>