Closing tags which don't have an end tag provides more correctness for XML and XHTML tools, and is not against HTML standards despite closing such tags not being mandatory in HTML.
626 lines
35 KiB
HTML
626 lines
35 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<!-- Inferencium - Website - About -->
|
|
|
|
<!-- Copyright 2022 Jake Winters -->
|
|
<!-- SPDX-License-Identifier: BSD-3-Clause -->
|
|
|
|
<!-- Version: 6.2.3-alpha.6 -->
|
|
|
|
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<title>Inferencium - About</title>
|
|
<link rel="stylesheet" href="main.css"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<div><a href="index.html"><img src="asset/img/logo-inferencium-no_text.png" width="110px" height="110px"/></a></div>
|
|
<div><a href="index.html" class="title">Inferencium</a></div>
|
|
<div><a href="about.html">About</a></div>
|
|
<div><a href="contact.html">Contact</a></div>
|
|
<div><a href="blog.html">Blog</a></div>
|
|
<div><a href="documentation.html">Documentation</a></div>
|
|
<div><a href="source.html">Source</a></div>
|
|
<div><a href="key.html">Key</a></div>
|
|
<div><a href="changelog.html">Changelog</a></div>
|
|
</nav>
|
|
<h1>About</h1>
|
|
<nav id="toc">
|
|
<h2 id="toc"><a href="#toc">Table of Contents<a/></h2>
|
|
<ul>
|
|
<li><a href="#about_me">About Me</a></li>
|
|
<ul>
|
|
<li><a href="#about_me-gnulinux_or_linux">Is it GNU/Linux or Just Linux?</a></li>
|
|
</ul>
|
|
<li><a href="#licensing">Licensing</a></li>
|
|
<ul>
|
|
<li><a href="#licensing-code">Code<a/></li>
|
|
<ul>
|
|
<li><a href="#licensing-bsd-3-clause">BSD 3-Clause License</a></li>
|
|
<li><a href="#licensing-gpl-2.0">GNU General Public License v2.0</a></li>
|
|
</ul>
|
|
<li><a href="#licensing-noncode">Non-code</a></li>
|
|
<ul>
|
|
<li><a href="#licensing-cc-by-4.0">Creative Commons Attribution 4.0 International</a></li>
|
|
</ul>
|
|
<li><a href="#licensing-open_source_vs_free_software">Do I Distinguish Between Open-source and Free Software?</a></li>
|
|
</ul>
|
|
<li><a href="#services">Services</a></li>
|
|
<ul>
|
|
<li><a href="#services-websites">Websites</a></li>
|
|
</ul>
|
|
<li><a href="#recommendations">Recommendations</a></li>
|
|
<ul>
|
|
<li><a href="#recommendations-hardware">Hardware</a></li>
|
|
<ul>
|
|
<li><a href="#recommendations-hardware-smartphone">Smartphone</a></li>
|
|
</ul>
|
|
<li><a href="#recommendations-software">Software</a></li>
|
|
<ul>
|
|
<li><a href="#recommendations-software-desktop">Desktop</a></li>
|
|
<li><a href="#recommendations-software-smartphone">Smartphone</a></li>
|
|
</ul>
|
|
<li><a href="#recommendations-music">Music</a></li>
|
|
</ul>
|
|
</ul>
|
|
</nav>
|
|
<section id="about_me">
|
|
<h2 id="about_me"><a href="#about_me">About Me</a></h2>
|
|
<p>I am Jake Winters, also known by my pseudonym "Inference", a security
|
|
researcher based in United Kingdom.<br>
|
|
I am the founder, lead developer, and administrator, of Inferencium.<br>
|
|
All opinions are my own, and are not necessarily shared with projects or people
|
|
I am affiliated with.</p>
|
|
<p>I write about my research and experience in cybersecurity and also physical
|
|
security. Most of my postings are security-related, but I occasionally post
|
|
about other aspects of my life.</p>
|
|
<p>I am an open source advocate for the preservation and modifiability of source
|
|
code. I believe source code should be considered human knowledge as much as past
|
|
knowledge and teachings were; it is how modern humanity survives and runs.<br>
|
|
Source code being modifiable allows it to be adapted for use by anyone, whether
|
|
to add features, harden it for increased security and/or privacy, or provide
|
|
accessibility for disabled users.<br>
|
|
I am also a modular design advocate for the ability to securely and robustly
|
|
make changes to hardware and software without the entire system being
|
|
affected.</p>
|
|
<p>I run the public Systems Hardening XMPP channel dedicated to systems security
|
|
and privacy hardening at <code>sys-hardening@muc.xmpp.inferencium.net</code>,
|
|
and its respective off-topic channel at
|
|
<code>sys-hardening-ot@muc.xmpp.inferencium.net</code>.</p>
|
|
<p>If you wish to contact me for any reason, you can use my
|
|
<a href="https://inferencium.net/contact.html">contact methods</a>.</p>
|
|
<h3 id="about_me-gnulinux_or_linux"><a href="#about_me-gnulinux_or_linux">Is it GNU/Linux or Just Linux?</a></h3>
|
|
<p>It's just Linux. GNU is completely unrelated to Linux, which is a
|
|
kernel developed by Linus Torvalds. Linux can be used entirely without
|
|
GNU software in userspace, and the kernel can be compiled without the
|
|
use of GNU tools. Just because GNU tools were used to initally develop
|
|
and compile the kernel, and were initially the only available tools for
|
|
userspace, does not make this true today, and it never made GNU a part
|
|
of Linux itself at any point of time. Where are all of the other
|
|
forward-slashes for every other piece of software on your Linux-based
|
|
system which makes it just as usable? If you're using "GNU/Linux", you
|
|
should be using more than a single forward-slash when there is more to
|
|
your system than only GNU.</p>
|
|
</section>
|
|
<section id="licensing">
|
|
<h2 id="licensing"><a href="#licensing">Licensing</a></h2>
|
|
<p>I care about upstreaming and sharing code, strongly preferring licenses which
|
|
have high license compatibility in order to permit sharing code with as many
|
|
other projects as possible; for this reason, permissive licenses are my
|
|
preferred choice, while avoiding copyleft licenses and other licenses which
|
|
place restrictions on how my code may be used, and prevent me from including
|
|
important proprietary code, such as firmware, which can patch security
|
|
vulnerabilities, privacy issues, and stability issues. All of my code is and
|
|
will be permissively licensed unless specific circumstances make it impractical
|
|
or infeasible to do so. My goal is to share code which has the least amount of
|
|
restrictions as possible, to allow wider propagation of my code and allow more
|
|
use cases and possibilities, as well as ensuring proprietary code, whenever
|
|
required, is permitted to be included.</p>
|
|
<p>My preferred licenses and rationale for using them are below; any licenses
|
|
not listed are chosen on a case-by-case basis.</p>
|
|
<p><a href="https://iso.org/standard/81870.html">ISO 5962:2021</a>
|
|
is used for licensing, in the format
|
|
<code>SPDX-License-Identifier: <license></code>; see the
|
|
<a href="https://spdx.org/licenses/">SPDX license list</a>
|
|
for the full list of available licenses under this standard.</p>
|
|
<h3 id="licensing-code"><a href="#licensing-code">Code</a></h3>
|
|
<h4 id="licensing-bsd-3-clause"><a href="#licensing-bsd-3-clause">BSD 3-Clause License</a></h4>
|
|
<code>SPDX-License-Identifier: BSD-3-Clause</code>
|
|
<p>Type: Permissive</p>
|
|
<p><a href="https://spdx.org/licenses/BSD-3-Clause.html">BSD 3-Clause License</a>
|
|
is a highly permissive license which allows content
|
|
licensed under it to be used in any way, whether in
|
|
source or binary form, and allows sublicensing under a
|
|
different license, with the only restrictions being the
|
|
original copyright notice must be kept in order to
|
|
attribute the original creator of the licensed content,
|
|
and the name of the project and/or its contributors may
|
|
not be used to endorse or promote products derived from
|
|
the original project.</p>
|
|
<h4 id="licensing-gpl-2.0"><a href="#licensing-gpl-2.0">GNU General Public License v2.0</a></h4>
|
|
<code>SPDX-License-Identifier: GPL-2.0-only</code>
|
|
<p>Type: Copyleft</p>
|
|
<p><a href="https://spdx.org/licenses/GPL-2.0-only.html">GNU General Public License v2.0</a>
|
|
is a strong copyleft license which restricts use of
|
|
content licensed under it by requiring all source code
|
|
of the content to be publicly available, making
|
|
binary-only form and inclusion of proprietary code
|
|
impossible, requiring all derivatives to be licensed
|
|
under the same license (allowing sublicensing under only
|
|
newer GPL licenses if <code>GPL-2.0-or-later</code> is
|
|
specified in the SPDX license identifier), and requiring
|
|
the original copyright notice to be kept in order to
|
|
attribute the original creator of the licensed
|
|
content.<br>
|
|
Due to the restrictive and invasive nature of this
|
|
license, it is avoided unless such restrictions would be
|
|
beneficial to my code; whenever this is the case, the
|
|
GNU General Public License v2.0 will be used, rather
|
|
than the more restrictive
|
|
<a href="https://spdx.org/licenses/GPL-3.0-only.html">GNU General Public License v3.0</a>,
|
|
and relicensing derivatives under the GNU General Public
|
|
License v3.0 will be disallowed.</p>
|
|
<h3 id="licensing-noncode"><a href="#licensing-noncode">Non-code</a></h3>
|
|
<h4 id="licensing-cc-by-4.0"><a href="#licensing-cc-by-4.0">Creative Commons Attribution 4.0 International</a></h4>
|
|
<code>SPDX-License-Identifier: CC-BY-4.0</code>
|
|
<p>Type: Permissive</p>
|
|
<p><a href="https://spdx.org/licenses/CC-BY-4.0.html">Creative Commons Attribution 4.0 International</a>
|
|
is a highly permissive license which allows content
|
|
licensed under it to be used in any way, in any medium,
|
|
with the only restriction being the original copyright
|
|
notice must be kept in order to attribute the original
|
|
creator of the licensed content.</p>
|
|
<h3 id="licensing-open_source_vs_free_software"><a href="#licensing-open_source_vs_free_software">Do I Distinguish Between Open-source and Free Software?</a></h3>
|
|
<p>No. If code is not released under an open-source license and
|
|
places restrictions on how the code may be used, it is either
|
|
source-available (if viewing the code is permitted) or
|
|
proprietary. "Free software" only causes confusion and exists to
|
|
push an ideology by a specific group of people. If software
|
|
isn't "free", it's not open-source, either.</p>
|
|
</section>
|
|
<section id="services">
|
|
<h2 id="services"><a href="#services">Services</a></h2>
|
|
<p>This list contains the policies and practices of my services.</p>
|
|
<p>My policies and practices are heavily security- and privacy-focused, with
|
|
improvements made on an ongoing basis as new technologies, protocols, and
|
|
software become available.</p>
|
|
<h3 id="services-websites"><a href="#services-websites">Websites</a></h3>
|
|
<ul>
|
|
<li>Unnecessary logging avoided (only logs required for security
|
|
and debugging purposes)</li>
|
|
<li>All server logs purged every 14 days</li>
|
|
<li>User IP addresses used only for security and debugging
|
|
purposes (purged along with logs)</li>
|
|
<li>All connections made via TLS 1.3 (TLS 1.2 and older are
|
|
unsupported) to ensure the most secure AEAD ciphers are used,
|
|
along with forward secrecy (each connection uses a different key
|
|
to previous connections)</li>
|
|
<li>All connections made via high-security AEAD ciphers,
|
|
preferring AES-256-GCM for devices with AES
|
|
hardware-acceleration, and ChaCha20-Poly1305 for devices without
|
|
AES hardware-acceleration, with AES-128-GCM as a fallback
|
|
(AES-128-GCM is mandated for TLS 1.3 by
|
|
<a href="https://datatracker.ietf.org/doc/html/rfc8446#section-9.1">IETF RFC8446 section 9.1</a>)</li>
|
|
<li>All connections are made via high-security key exchange
|
|
protocols, preferring X25519, with secp256r1 as a fallback
|
|
(secp256r1 is mandated for TLS 1.3 by
|
|
<a href="https://datatracker.ietf.org/doc/html/rfc8446#section-9.1">IETF RFC8446 section 9.1</a>)</li>
|
|
<li>DNSSEC implemented to provide a root-of-trust for encryption
|
|
and authentication for domain and server configuration</li>
|
|
<li>Referrer headers disabled to prevent knowing where a user
|
|
was redirected from</li>
|
|
<li>All content sourced from my own domains, with third-party
|
|
content prohibited via Content Security Policy
|
|
configuration</li>
|
|
<li>All servers physically under my control (no VPS or other
|
|
hosting providers)</li>
|
|
<li>No proprietary services, ensuring I have complete control
|
|
over my services, and vendor lock-in does not occur</li>
|
|
</ul>
|
|
</section>
|
|
<section id="recommendations">
|
|
<h2 id="recommendations"><a href="#recommendations">Recommendations</a></h2>
|
|
<h3 id="recommendations-hardware"><a href="#recommendations-hardware">Hardware</a></h3>
|
|
<h4 id="recommendations-hardware-smartphone"><a href="#recommendations-hardware-smartphone">Smartphone</a></h4>
|
|
<div style="overflow-x:auto;">
|
|
<table>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Hardware</th>
|
|
<th>Description</th>
|
|
<th>Source model<br>
|
|
<br>
|
|
(License - SPDX)</th>
|
|
</tr>
|
|
<tr>
|
|
<td>Smartphone</td>
|
|
<td>
|
|
<img src="asset/img/google-pixel_8_pro.png" width="100px" height="100px"/><br>
|
|
<br>
|
|
Google Pixel
|
|
</td>
|
|
<td class="td-desc">
|
|
<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
|
|
<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
|
|
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
|
|
<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>
|
|
<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
|
|
<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
|
|
<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.
|
|
<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 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
|
|
<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
|
|
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
|
|
<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.<br>
|
|
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>
|
|
<p>Pixel 6-series and 7-series
|
|
devices 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>,
|
|
an increase from previous
|
|
generations'
|
|
<a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-a-g-pixel-pixel-a-g-pixel-a-pixel-xl-pixel">minimum support lifecycles of 3 years</a>.<br>
|
|
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>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<h3 id="recommendations-software"><a href="#recommendations-software">Software</a></h3>
|
|
<h4 id="recommendations-software-desktop"><a href="#recommendations-software-desktop">Desktop</a></h4>
|
|
<div style="overflow-x:auto;">
|
|
<table>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Software</th>
|
|
<th>Description</th>
|
|
<th>Source model<br>
|
|
<br>
|
|
(License - SPDX)</th>
|
|
</tr>
|
|
<tr>
|
|
<td>Operating system</td>
|
|
<td>
|
|
<img src="asset/img/logo-gentoo_linux.png" width="100px" height="100px"/><br>
|
|
<br>
|
|
Gentoo Linux
|
|
</td>
|
|
<td class="td-desc">
|
|
<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
|
|
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
|
|
<a href="https://src.inferencium.net/Inferencium/cfg/">configuration respository</a>.</p>
|
|
</td>
|
|
<td>
|
|
Open source<br>
|
|
<br>
|
|
(GPL-2.0-only)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Web browser</td>
|
|
<td>
|
|
<img src="asset/img/logo-chromium.png" width="100px" height="100px"/><br>
|
|
<br>
|
|
Chromium
|
|
</td>
|
|
<td class="td-desc">
|
|
<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
|
|
<a href="https://www.chromium.org/Home/chromium-security/brag-sheet/">security brag sheet</a>.
|
|
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>
|
|
(BSD-3-Clause)
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<h4 id="recommendations-software-smartphone"><a href="#recommendations-software-smartphone">Smartphone</a></h4>
|
|
<div style="overflow-x:auto;">
|
|
<table>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Software</th>
|
|
<th>Description</th>
|
|
<th>Source model<br>
|
|
<br>
|
|
(License - SPDX)</th>
|
|
</tr>
|
|
<tr>
|
|
<td>Operating system</td>
|
|
<td>
|
|
<img src="asset/img/logo-grapheneos.png" width="100px" height="100px"/><br>
|
|
<br>
|
|
GrapheneOS
|
|
</td>
|
|
<td class="td-desc">
|
|
<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,
|
|
<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,
|
|
<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
|
|
(<a href="https://attestation.app/about/">Auditor</a>)
|
|
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
|
|
practices.</p>
|
|
<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>
|
|
</td>
|
|
<td>
|
|
Open source<br>
|
|
<br>
|
|
(MIT)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Web browser</td>
|
|
<td>
|
|
<img src="asset/img/logo-vanadium.png" width="100px" height="100px"/><br>
|
|
<br>
|
|
Vanadium
|
|
</td>
|
|
<td class="td-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
|
|
<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
|
|
<a href="https://github.com/GrapheneOS/Vanadium/">official repository</a>.</p></td>
|
|
<td>
|
|
Open source<br>
|
|
<br>
|
|
(GPL-2.0-only)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Messenger</td>
|
|
<td>
|
|
<img src="asset/img/logo-molly.png" width="100px" height="100px"/><br>
|
|
<br>
|
|
Molly
|
|
</td>
|
|
<td class="td-desc">
|
|
<p><a href="https://molly.im/">Molly</a>
|
|
is a security-hardened,
|
|
privacy-hardened
|
|
<a href="https://signal.org/">Signal</a>
|
|
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
|
|
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>
|
|
</ul>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
Open source<br>
|
|
<br>
|
|
(GPL-3.0-only)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Messenger</td>
|
|
<td>
|
|
<img src="asset/img/logo-conversations.png" width="100px" height="100px"/><br>
|
|
<br>
|
|
Conversations
|
|
</td>
|
|
<td class="td-desc">
|
|
<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>
|
|
</td>
|
|
<td>
|
|
Open source<br>
|
|
<br>
|
|
(GPL-3.0-only)
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
<section id="recommendations-music">
|
|
<h3 id="recommendations-music"><a href="#recommendations-music">Music</a></h3>
|
|
<p>For a curated list of music I enjoy, visit my
|
|
<a href="music.html">music page</a>.</p>
|
|
</section>
|
|
</body>
|
|
</html>
|