Add section "Recommendations" tables IDs/headers

Add IDs and headers to the "Recommendations" section of the "About"
webpage on the website, in order to improve accessibility. Improvements
to table layout have also been developed, along with extended code line
length for content under heading level 5 or higher.
This commit is contained in:
inference 2023-11-23 23:15:30 +00:00
parent 89e0ba937f
commit e80f271613
Signed by: inference
SSH Key Fingerprint: SHA256:FtEVfx1CmTKMy40VwZvF4k+3TC+QhCWy+EmPRg50Nnc

View File

@ -1,7 +1,7 @@
<!DOCTYPE html>
<!-- Inferencium - Website - About -->
<!-- Version: 6.3.0-alpha.9 -->
<!-- Version: 6.3.0-alpha.10 -->
<!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause -->
@ -227,157 +227,108 @@
<div style="overflow-x:auto;">
<table>
<tr>
<th>Type</th>
<th>Hardware</th>
<th>Description</th>
<th>Source model<br>
<br>
(License - SPDX)</th>
<th id="hardware-smartphone-type">Type</th>
<th id="hardware-smartphone">Hardware</th>
<th id="hardware-smartphone-description">Description</th>
<th id="hardware-smartphone-source_model">Source model<br>
(License)</th>
</tr>
<tr>
<td>Smartphone</td>
<td>
<th id="hardware-smartphone-smartphone">Smartphone</th>
<th id ="google-pixel" headers="hardware hardware-smartphone-smartphone">
<img src="asset/img/google-pixel_8_pro.png" width="100px" height="100px"/><br>
<br>
Google Pixel
</td>
<td class="desc">
</th>
<td class="desc" headers="hardware-description google-pixel">
<h5>Security/Privacy</h5>
<p>Google Pixel devices
are the best Android
devices available on the
market for
<p>Google Pixel devices are the best Android
devices available on the market for
<a href="https://security.googleblog.com/2021/10/pixel-6-setting-new-standard-for-mobile.html">security and privacy</a>.</p>
<p>They allow locking
the bootloader with a
<p>They allow locking the bootloader with a
<a href="https://android.googlesource.com/platform/external/avb/+/master/README.md#pixel-2-and-later">custom Android Verified Boot (AVB) key</a>
in order to preserve
security and privacy
features when installing
a custom operating
in order to preserve security and privacy
features when installing a custom operating
system, such as
<a href="https://source.android.com/docs/security/features/verifiedboot/">verified boot</a>
which verifies that the
OS has not been
corrupted or tampered
with, and
which verifies that the OS has not been
corrupted or tampered with, and
<a href="https://source.android.com/docs/security/features/verifiedboot/verified-boot#rollback-protection">rollback protection</a>
which prevents an
adversary from rolling
back the OS or firmware
version to a previous
version with known
security vulnerabilities.</p>
which prevents an adversary from rolling
back the OS or firmware version to a
previous version with known security
vulnerabilities.</p>
<p>They also include a
<a href="https://developer.android.com/training/articles/keystore#HardwareSecurityModule">hardware security module</a>
(Titan M2, improving on
the previous generation
(Titan M2, improving on the previous
generation
<a href="https://security.googleblog.com/2018/10/building-titan-better-security-through.html">Titan M</a>)
which is extremely
resistant to both remote
and physical attacks due
to being completely
isolated from the rest
of the system, including
the operating system.
Titan M2 ensures that
the device cannot be
remotely compromised by
requiring the side
buttons of the device to
be physically pressed
for some sensitive
operations. Titan M2
also takes the role of
which is extremely resistant to both remote
and physical attacks due to being completely
isolated from the rest of the system,
including the operating system. Titan M2
ensures that the device cannot be remotely
compromised by requiring the side buttons of
the device to be physically pressed for some
sensitive operations. Titan M2 also takes
the role of
<a href="https://source.android.com/docs/security/best-practices/hardware#strongbox-keymaster">Android StrongBox Keymaster</a>,
a
<a href="https://source.android.com/docs/security/features/keystore">hardware-backed Keystore</a>
containing sensitive
user keys which are
unavailable to the OS or
apps running on it
without authorisation
from Titan M2 itself.
containing sensitive user keys which are
unavailable to the OS or apps running on it
without authorisation from Titan M2 itself.
<a href="https://android-developers.googleblog.com/2018/05/insider-attack-resistance.html">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.</p>
<p>Google Pixel device
kernels are compiled
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.</p>
<p>Google Pixel device kernels are compiled
with
<a href="https://android-developers.googleblog.com/2018/10/control-flow-integrity-in-android-kernel.html">forward-edge control-flow integrity</a>
and
<a href="https://security.googleblog.com/2019/10/protecting-against-code-reuse-in-linux_30.html">backward-edge control-flow integrity</a>
to prevent code reuse
attacks against the
kernel. MAC address
randomisation is
to prevent code reuse attacks against the
kernel. MAC address randomisation is
<a href="https://android-developers.googleblog.com/2017/04/changes-to-device-identifiers-in.html">implemented well, along with minimal probe requests and randomised initial sequence numbers</a>.</p>
<p>Google releases
<a href="https://source.android.com/docs/security/bulletin/pixel/">guaranteed monthly security updates</a>,
ensuring Google Pixel
devices are up-to-date
and quickly protected
against security
ensuring Google Pixel devices are up-to-date
and quickly protected against security
vulnerabilities.</p>
<p>Pixel 6-series and
7-series devices are a
large improvement over
the already very secure
and private previous
generation Pixel
devices. They replace
ARM-based Titan M with
RISC-V-based Titan M2,
reducing trust by
removing ARM from the
equation. Titan M2 is
more resiliant to
attacks than Titan M,
and is
<p>Pixel 6-series and 7-series devices are a
large improvement over the already very
secure and private previous generation Pixel
devices. They replace ARM-based Titan M with
RISC-V-based Titan M2, reducing trust by
removing ARM from the equation. Titan M2 is
more resiliant to attacks than Titan M, and
is
<a href="https://www.tuv-nederland.nl/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
System-on-Chip includes
Tensor Security Core,
further improving device
security.</p>
<p>Pixel 8-series
includes Armv9's
the highest level of vulnerability
assessment. Google's in-house Tensor
System-on-Chip includes Tensor Security
Core, further improving device security.</p>
<p>Pixel 8-series includes Armv9's
<a href="https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enhanced-security-through-mte">Memory Tagging Extension</a>,
which dramatically
increases device
security by eliminating
up to 95% of all
security issues caused
by memory-unsafety.</p>
which dramatically increases device security
by eliminating up to 95% of all security
issues caused by memory-unsafety.</p>
<h5>Support</h5>
<p>Pixel 4a (5G), Pixel
5, and Pixel 5a, are
<p>Pixel 4a (5G), Pixel 5, and Pixel 5a, are
supported for a
<a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-a-g-pixel-pixel-a-g-pixel-a-pixel-xl-pixel">minimum of 3 years from launch</a>.</p>
<p>Pixel 6-series, Pixel
7-series, Pixel Fold,
and Pixel Tablet, are
supported for a
<p>Pixel 6-series, Pixel 7-series, Pixel
Fold, and Pixel Tablet, are supported for a
<a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-a-pixel-pixel-pro-pixel-a-pixel-pixel-pro-pixel-fold">minimum of 5 years from launch</a>.
<p>Pixel 8-series is supported for
a
<p>Pixel 8-series is supported for a
<a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-pro">minimum of 7 years from launch</a>,
putting it on the same support
level as Apple; Google have even
surpassed Apple in this regard,
as Apple does not commit to a
support timeframe for their
devices.</p>
putting it on the same support level as
Apple; Google have even surpassed Apple in
this regard, as Apple does not commit to a
support timeframe for their devices.</p>
</td>
<td headers="hardware-smartphone-source_model google-pixel">
</td>
</tr>
</table>
@ -387,85 +338,67 @@
<div style="overflow-x:auto;">
<table>
<tr>
<th>Type</th>
<th>Software</th>
<th>Description</th>
<th>Source model<br>
<br>
(License - SPDX)</th>
<th id="software-desktop-type">Type</th>
<th id="software-desktop">Software</th>
<th id="software-desktop-description">Description</th>
<th id="software-desktop-source_model">Source model<br>
(License)</th>
</tr>
<tr>
<td>Operating system</td>
<td>
<th id="software-desktop-os">Operating system</th>
<th id="gentoo_linux" headers="software-desktop software-desktop-os">
<img src="asset/img/logo-gentoo_linux.png" width="100px" height="100px"/><br>
<br>
Gentoo Linux
</td>
<td class="desc">
</th>
<td class="desc" headers="software-description gentoo_linux">
<p><a href="https://www.gentoo.org/">Gentoo Linux</a>
is a highly modular,
source-based, Linux-based
operating system which allows
vast customisation to tailor the
operating system to suit your
specific needs. There are many
advantages to such an operating
system, with the most notable
being the 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.</p>
<p>I have focused on security
hardening and privacy hardening,
placing performance below those
aspects, although my system is
still very performant. Some of
is a highly modular, source-based, Linux-based
operating system which allows vast customisation to
tailor the operating system to suit your specific
needs. There are many advantages to such an
operating system, with the most notable being the
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.</p>
<p>I have focused on security hardening and privacy
hardening, placing performance below those aspects,
although my system is still very performant. Some of
the hardening I apply includes
<a href="https://en.wikipedia.org/wiki/Buffer_overflow_protection">stack protection</a>,
<a href="https://en.wikipedia.org/wiki/Integer_overflow">signed integer overflow trapping</a>,
and GrapheneOS'
<a href="https://github.com/GrapheneOS/hardened_malloc/">hardened_malloc</a>
memory allocator.</p>
You can find my Gentoo Linux
configurations in my
You can find my Gentoo Linux configurations in my
<a href="https://src.inferencium.net/Inferencium/cfg/">configuration respository</a>.</p>
</td>
<td>
Open source<br>
<br>
<td headers="software-desktop-source_model gentoo_linux">
Open-source<br>
(GPL-2.0-only)
</td>
</tr>
<tr>
<td>Web browser</td>
<td>
<th id="software-web_browser">Web browser</th>
<th id="chromium" headers="software-desktop software-web_browser">
<img src="asset/img/logo-chromium.png" width="100px" height="100px"/><br>
<br>
Chromium
</td>
<td class="desc">
</th>
<td class="desc" headers="software-description chromium">
<p><a href="https://chromium.org/">Chromium</a>
is a highly secure web browser
which is often ahead of other
web browsers in security
aspects. It has a dedicated
security team and a very
impressive
is a highly secure web browser which is often ahead
of other web browsers in security aspects. It has a
dedicated security team and a very impressive
<a href="https://www.chromium.org/Home/chromium-security/brag-sheet/">security brag sheet</a>.
Chromium's security features
include a strong
Chromium's security features include a strong
<a href="https://code.google.com/p/chromium/wiki/LinuxSandboxing">multi-layer sandbox</a>,
strong
<a href="https://www.chromium.org/Home/chromium-security/site-isolation">site isolation</a>,
<a href="https://www.chromium.org/Home/chromium-security/binding-integrity">Binding Integrity</a>
memory hardening, and
<a href="https://www.chromium.org/developers/testing/control-flow-integrity/">control-flow integrity (CFI)</a>.</p></td>
<td>
Open source<br>
<br>
<td headers="software-desktop-source_model chromium">
Open-source<br>
(BSD-3-Clause)
</td>
</tr>
@ -475,170 +408,132 @@
<div style="overflow-x:auto;">
<table>
<tr>
<th>Type</th>
<th>Software</th>
<th>Description</th>
<th>Source model<br>
<br>
(License - SPDX)</th>
<th id="software-smartphone-type">Type</th>
<th id="software-smartphone">Software</th>
<th id="software-smartphone-description">Description</th>
<th id="software-smartphone-source_model">Source model<br>
(License)</th>
</tr>
<tr>
<td>Operating system</td>
<td>
<th id="software-smartphone-os">Operating system</th>
<th id="grapheneos" headers="software-smartphone software-smartphone-os">
<img src="asset/img/logo-grapheneos.png" width="100px" height="100px"/><br>
<br>
GrapheneOS
</td>
<td class="desc">
</th>
<td class="desc" headers="software-smartphone-description grapheneos">
<p><a href="https://grapheneos.org/">GrapheneOS</a>
is a security-hardened,
privacy-hardened,
secure-by-default, Android-based
operating system which
implements extensive, systemic
security and privacy hardening
to the Android Open Source
Project used as its base
codebase. Its hardening includes
closing gaps for apps to access
sensitive 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,
is a security-hardened, privacy-hardened,
secure-by-default, Android-based operating system
which implements extensive, systemic security and
privacy hardening to the Android Open Source Project
used as its base codebase. Its hardening includes
closing gaps for apps to access sensitive 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 href="https://github.com/GrapheneOS/kernel_gs-gs101/">hardened kernel</a>,
hardened memory allocator
(<a href="https://github.com/GrapheneOS/hardened_malloc/">hardened_malloc</a>)
to protect against common memory
corruption vulnerabilties,
to protect against common memory corruption
vulnerabilities,
<a href="https://github.com/GrapheneOS/platform_bionic/">hardened Bionic standard C library</a>,
<a href="https://github.com/GrapheneOS/platform_system_sepolicy/">stricter SELinux policies</a>,
and local and remote
hardware-backed attestation
and local and remote hardware-backed attestation
(<a href="https://attestation.app/about/">Auditor</a>)
to ensure the OS has not been
corrupted or tampered with.</p>
to ensure the OS has not been corrupted or tampered
with.</p>
<p>GrapheneOS only supports
<a href="https://grapheneos.org/faq#device-support">high security and well-supported devices</a>
which receive full support from
their manufacturers, including
firmware updates, long support
lifecycles, secure hardware, and
overall high security
which receive full support from their manufacturers,
including firmware updates, long support lifecycles,
secure hardware, and overall high security
practices.</p>
<p>For an extensive list of
features GrapheneOS provides,
visit its
<p>For an extensive list of features GrapheneOS
provides, visit its
<a href="https://grapheneos.org/features/">official features list</a>
which provides extensive
documentation.</p>
which provides extensive documentation.</p>
</td>
<td>
Open source<br>
<br>
<td headers="software-smartphone-source_model grapheneos">
Open-source<br>
(MIT)
</td>
</tr>
<tr>
<td>Web browser</td>
<td>
<th id="software-smartphone-web_browser">Web browser</th>
<th id="vanadium" headers="software-smartphone software-smartphone-web_browser">
<img src="asset/img/logo-vanadium.png" width="100px" height="100px"/><br>
<br>
Vanadium
</td>
<td class="desc">
<p>Vanadium is a
security-hardened,
privacy-hardened Chromium-based
web browser which utilises
GrapheneOS' operating system
hardening to implement stronger
defenses to the already very
secure Chromium web browser. Its
hardening alongside Chromium's
base security features includes
</th>
<td class="desc" headers="software-smartphone-description vanadium">
<p>Vanadium is a security-hardened, privacy-hardened
Chromium-based web browser which utilises
GrapheneOS' operating system hardening to implement
stronger defenses to the already very secure
Chromium web browser. Its hardening alongside
Chromium's base security features includes
<a href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0081-Implement-UI-for-JIT-site-settings.patch">disabling JavaScript just-in-time (JIT) compilation by default</a>,
<a href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0051-stub-out-the-battery-status-API.patch">stubbing out the battery status API to prevent abuse of it</a>,
and
<a 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>.</p>
<p>Vanadium's source code,
including its Chromium patchset,
can be found in its
<p>Vanadium's source code, including its Chromium
patch-set, can be found in its
<a href="https://github.com/GrapheneOS/Vanadium/">official repository</a>.</p></td>
<td>
Open source<br>
<br>
<td headers="software-smartphone-source_model vanadium">
Open-source<br>
(GPL-2.0-only)
</td>
</tr>
<tr>
<td>Messenger</td>
<td>
<th rowspan="2" id="software-smartphone-messenger">Messenger</th>
<th id="molly" headers="software-smartphone software-smartphone-messenger">
<img src="asset/img/logo-molly.png" width="100px" height="100px"/><br>
<br>
Molly
</td>
<td class="desc">
</th>
<td class="desc" headers="software-smartphone-description molly">
<p><a href="https://molly.im/">Molly</a>
is a security-hardened,
privacy-hardened
is a security-hardened, privacy-hardened
<a href="https://signal.org/">Signal</a>
client which hardens Signal by
using a variety of
client which hardens Signal by using a variety of
<a href="https://github.com/mollyim/mollyim-android#features">unique features</a>,
allowing
<a href="https://github.com/mollyim/mollyim-android/wiki/Data-Encryption-At-Rest">locking the database when not in use</a>,
and
<a href="https://github.com/mollyim/mollyim-android/blob/a81ff7d120adc9d427be17239107343146bad704/app/src/main/java/org/thoughtcrime/securesms/crypto/MasterSecretUtil.java#L91">utilising Android StrongBox</a>
to protect user keys
using the device's hardware
to protect user keys using the device's hardware
security module.</p>
<p>Molly is available in
<a href="https://github.com/mollyim/mollyim-android#free-and-open-source">2 flavours</a>:
<ul>
<li>Molly, which
includes the
same proprietary
Google code as
Signal to
support more
features.</li>
<li>Molly-FOSS,
which removes
the proprietary
Google code to
provide an
entirely
open-source
client.</li>
<li>Molly, which includes the same
proprietary Google code as Signal to
support more features.</li>
<li>Molly-FOSS, which removes the
proprietary Google code to provide
an entirely open-source client.</li>
</ul>
</p>
</td>
<td>
Open source<br>
<br>
<td headers="software-smartphone-source_model molly">
Open-source<br>
(GPL-3.0-only)
</td>
</tr>
<tr>
<td>Messenger</td>
<td>
<th id="conversations" headers="software-smartphone software-smartphone-messenger">
<img src="asset/img/logo-conversations.png" width="100px" height="100px"/><br>
<br>
Conversations
</td>
<td class="desc">
</th>
<td class="desc" headers="software-smartphone-description conversations">
<p><a href="https://conversations.im/">Conversations</a>
is a well-designed Android
<a href="https://xmpp.org/">XMPP</a>
client which serves as the de
facto XMPP reference client and
has great usability.</p>
client which serves as the de facto XMPP reference
client and has great usability.</p>
</td>
<td>
Open source<br>
<br>
<td headers="software-smartphone-source_model conversations">
Open-source<br>
(GPL-3.0-only)
</td>
</tr>