Update back-end code to new 100-120 column coding style.
This commit is contained in:
parent
8fc5a336d6
commit
c9fe43c970
227
about.html
227
about.html
@ -5,7 +5,7 @@
|
||||
<!-- Copyright 2022 Inference -->
|
||||
<!-- License: BSD 3-Clause Clear (with personal content exception) -->
|
||||
|
||||
<!-- 0.3.1.6 -->
|
||||
<!-- 0.3.2.7 -->
|
||||
|
||||
|
||||
<html>
|
||||
@ -33,25 +33,23 @@
|
||||
<!-- About me. -->
|
||||
<h3>About Me</h3>
|
||||
<p>I am Inference, a cybersecurity researcher based in United Kingdom.<br>
|
||||
I am the founder, lead developer, and administrator, of Inferencium, a
|
||||
security-focused, privacy-focused, brand of software.<br>
|
||||
All opinions are my own, and are not necessarily shared with projects or
|
||||
people I am affiliated with.<br>
|
||||
I am the founder, lead developer, and administrator, of Inferencium, a security-focused,
|
||||
privacy-focused, brand of software.<br>
|
||||
All opinions are my own, and are not necessarily shared with projects or people I am
|
||||
affiliated with.<br>
|
||||
<br>
|
||||
<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 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>
|
||||
<br>
|
||||
<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 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>
|
||||
<br>
|
||||
<p>If you want to contact me for any reason, you can use my
|
||||
<a class="body-link" href="https://inferencium.net/contact.html"
|
||||
@ -73,70 +71,85 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Smartphone</td>
|
||||
<td class="table-main"><img src="img/google-pixel_6.png" width="100px" height="100px"/><br>
|
||||
<td class="table-main"><img src="img/google-pixel_6.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
Google Pixel 6</td>
|
||||
<td>Google Pixel devices are the best Android devices available on
|
||||
the market for
|
||||
<a class="table-link" href="https://security.googleblog.com/2021/10/pixel-6-setting-new-standard-for-mobile.html"
|
||||
<td>Google Pixel devices are the best Android devices available on the market for
|
||||
<a class="table-link" href="https://security.googleblog.com/2021/10/
|
||||
pixel-6-setting-new-standard-for-mobile.html"
|
||||
>security and privacy</a>.<br>
|
||||
<br>
|
||||
They allow locking the bootloader with a
|
||||
<a class="table-link" 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 class="table-link" 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 class="table-link" 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.<br>
|
||||
<a class="table-link" 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 class="table-link" 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 class="table-link" 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.<br>
|
||||
<br>
|
||||
They also include a
|
||||
<a class="table-link" href="https://developer.android.com/training/articles/keystore#HardwareSecurityModule"
|
||||
<a class="table-link" href="https://developer.android.com/training/articles/
|
||||
keystore#HardwareSecurityModule"
|
||||
>hardware security module</a> (Titan M2, improving on the previous generation
|
||||
<a class="table-link" 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 class="table-link" href="https://source.android.com/docs/security/best-practices/hardware#strongbox-keymaster"
|
||||
<a class="table-link" 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 class="table-link" href="https://source.android.com/docs/security/best-practices/
|
||||
hardware#strongbox-keymaster"
|
||||
>Android StrongBox Keymaster</a>,
|
||||
a <a class="table-link" 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 class="table-link" 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.<br>
|
||||
<a class="table-link" 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.<br>
|
||||
<br>
|
||||
Google Pixel device kernels are compiled with
|
||||
<a class="table-link" href="https://android-developers.googleblog.com/2018/10/control-flow-integrity-in-android-kernel.html"
|
||||
<a class="table-link" href="https://android-developers.googleblog.com/2018/10/
|
||||
control-flow-integrity-in-android-kernel.html"
|
||||
>forward-edge control-flow integrity</a> and
|
||||
<a class="table-link" 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 class="table-link" 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>.<br>
|
||||
<a class="table-link" 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 class="table-link" 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>.<br>
|
||||
<br>
|
||||
Google releases
|
||||
<a class="table-link" 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.<br>
|
||||
>guaranteed monthly security updates</a>, ensuring Google Pixel devices are up-to-date
|
||||
and quickly protected against security vulnerabilities.<br>
|
||||
<br>
|
||||
Pixel 6-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 class="table-link" href="https://www.tuv-nederland.nl/assets/files/cerfiticaten/2022/09/nscib-cc-22-0228971-cert-final.pdf"
|
||||
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 class="table-link" 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 SoC includes Tensor Security Core, further improving device security.<br>
|
||||
<br>
|
||||
Pixel 6-series devices are supported for a
|
||||
<a class="table-link" href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-and-later"
|
||||
>minimum of 5 years from launch</a>, an increase from
|
||||
previous generations'
|
||||
<a class="table-link" href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-xl-a-a-g-and-a-g"
|
||||
<a class="table-link" href="https://support.google.com/nexus/answer/
|
||||
4457705#zippy=%2Cpixel-and-later"
|
||||
>minimum of 5 years from launch</a>, an increase from previous generations'
|
||||
<a class="table-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>
|
||||
</tr>
|
||||
</table>
|
||||
@ -156,16 +169,17 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Operating system</td>
|
||||
<td class="table-main"><img src="img/logo-gentoo_linux.png" width="100px" height="100px"/><br>
|
||||
<td class="table-main"><img src="img/logo-gentoo_linux.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
Gentoo Linux</td>
|
||||
<td><a class="table-link" 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.<br>
|
||||
>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.<br>
|
||||
<br>
|
||||
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
|
||||
@ -177,7 +191,7 @@
|
||||
<a class="table-link" href="https://github.com/GrapheneOS/hardened_malloc/"
|
||||
>hardened_malloc</a> memory allocator.<br>
|
||||
<br>
|
||||
You can find my personal Gentoo Linux configuration in my personal
|
||||
You can find my personal Gentoo Linux configurations in my personal
|
||||
<a class="table-link" href="https://git.inferencium.net/inference/cfg/"
|
||||
>configuration respository</a>.</td>
|
||||
<td class="table-main">Open source<br>
|
||||
@ -186,23 +200,26 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Web browser</td>
|
||||
<td class="table-main"><img src="img/logo-chromium.png" width="100px" height="100px"/><br>
|
||||
<td class="table-main"><img src="img/logo-chromium.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
Chromium</td>
|
||||
<td><a class="table-link" 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
|
||||
>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 class="table-link" href="https://www.chromium.org/Home/chromium-security/brag-sheet/"
|
||||
>security brag sheet</a>.
|
||||
Chromium's security features include a strong
|
||||
<a class="table-link" href="https://code.google.com/p/chromium/wiki/LinuxSandboxing"
|
||||
>multi-layer sandbox</a>,
|
||||
strong <a class="table-link" href="https://www.chromium.org/Home/chromium-security/site-isolation"
|
||||
strong <a class="table-link" href="https://www.chromium.org/Home/chromium-security/
|
||||
site-isolation"
|
||||
>site isolation</a>,
|
||||
<a class="table-link" href="https://www.chromium.org/Home/chromium-security/binding-integrity"
|
||||
<a class="table-link" href="https://www.chromium.org/Home/chromium-security/
|
||||
binding-integrity"
|
||||
>Binding Integrity</a> memory hardening, and
|
||||
<a class="table-link" href="https://www.chromium.org/developers/testing/control-flow-integrity/"
|
||||
<a class="table-link" href="https://www.chromium.org/developers/testing/
|
||||
control-flow-integrity/"
|
||||
>control-flow integrity (CFI)</a>.</td>
|
||||
<td class="table-main">Open source<br>
|
||||
<br>
|
||||
@ -221,17 +238,17 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Operating system</td>
|
||||
<td class="table-main"><img src="img/logo-grapheneos.png" width="100px" height="100px"/><br>
|
||||
<td class="table-main"><img src="img/logo-grapheneos.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
GrapheneOS</td>
|
||||
<td><a class="table-link" 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,
|
||||
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 class="table-link" href="https://github.com/GrapheneOS/kernel_gs-gs101/"
|
||||
>hardened kernel</a>, hardened memory allocator
|
||||
(<a class="table-link" href="https://github.com/GrapheneOS/hardened_malloc/"
|
||||
@ -245,9 +262,9 @@
|
||||
<br>
|
||||
GrapheneOS only supports
|
||||
<a class="table-link" 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.<br>
|
||||
>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.<br>
|
||||
<br>
|
||||
For an extensive list of features GrapheneOS provides, visit its
|
||||
<a class="table-link" href="https://grapheneos.org/features/"
|
||||
@ -258,18 +275,22 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Web browser</td>
|
||||
<td class="table-main"><img src="img/logo-vanadium.png" width="100px" height="100px"/><br>
|
||||
<td class="table-main"><img src="img/logo-vanadium.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
Vanadium</td>
|
||||
<td>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 class="table-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0081-Implement-UI-for-JIT-site-settings.patch"
|
||||
<td>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 class="table-link" 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 class="table-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0051-stub-out-the-battery-status-API.patch"
|
||||
<a class="table-link" 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 class="table-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0084-Toggle-for-navigating-external-URL-in-incognito.patch"
|
||||
<a class="table-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>
|
||||
<br>
|
||||
Vanadium's source code, including its Chromium patchset, can be found in its
|
||||
@ -281,7 +302,8 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Messenger</td>
|
||||
<td class="table-main"><img src="img/logo-molly.png" width="100px" height="100px"><br>
|
||||
<td class="table-main"><img src="img/logo-molly.png"
|
||||
width="100px" height="100px"><br>
|
||||
<br>
|
||||
Molly</td>
|
||||
<td><a class="table-link" href="https://molly.im/"
|
||||
@ -290,14 +312,18 @@
|
||||
>Signal</a> client which hardens Signal by using a variety of
|
||||
<a class="table-link" href="https://github.com/mollyim/mollyim-android#features"
|
||||
>unique features</a>, allowing
|
||||
<a class="table-link" href="https://github.com/mollyim/mollyim-android/wiki/Data-Encryption-At-Rest"
|
||||
<a class="table-link" href="https://github.com/mollyim/mollyim-android/wiki/
|
||||
Data-Encryption-At-Rest"
|
||||
>locking the database when not in use</a>, and
|
||||
<a class="table-link" 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.<br>
|
||||
<a class="table-link" 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.<br>
|
||||
<br>
|
||||
Molly is available in
|
||||
<a class="table-link" href="https://github.com/mollyim/mollyim-android#free-and-open-source"
|
||||
<a class="table-link" href="https://github.com/mollyim/
|
||||
mollyim-android#free-and-open-source"
|
||||
>2 flavours</a>:<br>
|
||||
<ul>
|
||||
<li>Molly, which includes the same proprietary
|
||||
@ -312,14 +338,15 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Messenger</td>
|
||||
<td class="table-main"><img src="img/logo-conversations.png" width="100px" height="100px"><br>
|
||||
<td class="table-main"><img src="img/logo-conversations.png"
|
||||
width="100px" height="100px"><br>
|
||||
<br>
|
||||
Conversations</td>
|
||||
<td><a class="table-link" href="https://conversations.im/"
|
||||
>Conversations</a> is a well-designed Android
|
||||
<a class="table-link" href="https://xmpp.org/"
|
||||
>XMPP</a> client which serves as the de facto XMPP reference client and
|
||||
has great usability.</td>
|
||||
>XMPP</a> client which serves as the de facto XMPP reference client and has great
|
||||
usability.</td>
|
||||
<td class="table-main">Open source<br>
|
||||
<br>
|
||||
(GPLv3-only)</td>
|
||||
|
Loading…
x
Reference in New Issue
Block a user