Update back-end code to new 100-120 column coding style.
This commit is contained in:
parent
bb5c4f13d4
commit
6b85ffa35c
@ -5,7 +5,7 @@
|
|||||||
<!-- Copyright 2022 Inference -->
|
<!-- Copyright 2022 Inference -->
|
||||||
<!-- License: BSD 3-Clause Clear (with personal content exception) -->
|
<!-- License: BSD 3-Clause Clear (with personal content exception) -->
|
||||||
|
|
||||||
<!-- 0.2.1.3 -->
|
<!-- 0.2.2.4 -->
|
||||||
|
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
@ -38,12 +38,10 @@
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
<h4>Introduction</h4>
|
<h4>Introduction</h4>
|
||||||
<p>The world has become a dangerous, privacy invading, human rights stripping,
|
<p>The world has become a dangerous, privacy invading, human rights stripping, totalitarian place;
|
||||||
totalitarian place; in order to combat this, people are joining a growing,
|
in order to combat this, people are joining a growing, and dangerous, trend, which I will refer to
|
||||||
and dangerous, trend, which I will refer to in this post as the "Free and
|
in this post as the "Free and Open Source (FOSS) movement". With that stated, I will now debunk the
|
||||||
Open Source (FOSS) movement".
|
misinformation being spread inside of this extremely flawed movement.</p>
|
||||||
With that stated, I will now debunk the misinformation being spread inside
|
|
||||||
of this extremely flawed movement.</p>
|
|
||||||
<br>
|
<br>
|
||||||
<p>The
|
<p>The
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Free_software"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Free_software"
|
||||||
@ -51,140 +49,118 @@ of this extremely flawed movement.</p>
|
|||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Privacy"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Privacy"
|
||||||
>privacy</a> and
|
>privacy</a> and
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Control_(psychology)"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Control_(psychology)"
|
||||||
>control</a> over our devices and data, but the entire concept of FOSS-only, at
|
>control</a> over our devices and data, but the entire concept of FOSS-only, at the current time, is
|
||||||
the current time, is severely, and dangerously, flawed. What the FOSS community
|
severely, and dangerously, flawed. What the FOSS community does not seem to understand is the fact
|
||||||
does not seem to understand is the fact that most FOSS software cares not about
|
that most FOSS software cares not about
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Security"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Security"
|
||||||
>security</a>.
|
>security</a>.
|
||||||
"Security"; keep that word in mind as you progress through this article.
|
"Security"; keep that word in mind as you progress through this article. What is security? Security
|
||||||
What is security? Security is being safe and secure from adversaries and
|
is being safe and secure from adversaries and unwanted consequences; security protects our rights
|
||||||
unwanted consequences; security protects our rights and allows us to
|
and allows us to protect ourselves. Without security, we have no protection, and without protection,
|
||||||
protect ourselves. Without security, we have no protection, and without
|
we have a lack of certainty of everything else, including privacy and control, which is what the
|
||||||
protection, we have a lack of certainty of everything else, including
|
FOSS movement is seeking.</p>
|
||||||
privacy and control, which is what the FOSS movement is seeking.</p>
|
|
||||||
<br>
|
<br>
|
||||||
<p>FOSS projects rarely take security into account; they simply look at the
|
<p>FOSS projects rarely take security into account; they simply look at the surface level, rather
|
||||||
surface level, rather than the actual
|
than the actual
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Root_cause_analysis"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Root_cause_analysis"
|
||||||
>root cause</a> of the issues they are
|
>root cause</a> of the issues they are attempting to fight against. In this case, the focus is on
|
||||||
attempting to fight against. In this case, the focus is on privacy and
|
privacy and control. Without security mechanisms to protect the privacy features and the ability to
|
||||||
control. Without security mechanisms to protect the privacy features and
|
control your devices and data, it can be stripped away as if it never existed in the first place,
|
||||||
the ability to control your devices and data, it can be stripped away as
|
which, inevitably, leads us back to the beginning, and the cycle repeats. With this
|
||||||
if it never existed in the first place, which, inevitably, leads us back to
|
|
||||||
the beginning, and the cycle repeats. With this
|
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Ideology"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Ideology"
|
||||||
>ideology</a>, privacy and
|
>ideology</a>, privacy and control will *never* be achieved. There is no foundation to build privacy
|
||||||
control will *never* be achieved. There is no foundation to build privacy
|
or control upon. It is impossible to build a solid, freedom respecting platform on this model.</p>
|
||||||
or control upon. It is impossible to build a solid, freedom respecting
|
|
||||||
platform on this model.</p>
|
|
||||||
<br>
|
<br>
|
||||||
<h4>Example: Smartphones</h4>
|
<h4>Example: Smartphones</h4>
|
||||||
<p>A FOSS phone, especially so-called
|
<p>A FOSS phone, especially so-called
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Linux_for_mobile_devices#Smartphones"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Linux_for_mobile_devices#Smartphones"
|
||||||
>"Linux phones"</a> are completely
|
>"Linux phones"</a> are completely
|
||||||
detrimental to privacy and control, because they do not have the security
|
detrimental to privacy and control, because they do not have the security necessary to enforce that
|
||||||
necessary to enforce that privacy.
|
privacy.
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Bootloader_unlocking"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Bootloader_unlocking"
|
||||||
>Unlocked bootloaders</a> prevent the device
|
>Unlocked bootloaders</a> prevent the device from
|
||||||
from
|
|
||||||
<a class="body-link" href="https://source.android.com/docs/security/features/verifiedboot/"
|
<a class="body-link" href="https://source.android.com/docs/security/features/verifiedboot/"
|
||||||
>verifying the integrity of the boot chain</a>, including the OS, meaning
|
>verifying the integrity of the boot chain</a>, including the OS, meaning any adversary, whether a
|
||||||
any adversary, whether a stranger who happens to pick up the device, or
|
stranger who happens to pick up the device, or a big tech or government entity, can simply inject
|
||||||
a big tech or government entity, can simply inject malicious code into
|
malicious code into your software and you wouldn't have any idea it was there. If that's not enough
|
||||||
your software and you wouldn't have any idea it was there. If that's not
|
of a backdoor for you to reconsider your position, how about the trivial
|
||||||
enough of a backdoor for you to reconsider your position, how about the
|
|
||||||
trivial
|
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Evil_maid_attack"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Evil_maid_attack"
|
||||||
>evil maid</a> and data extraction attacks which could be executed on
|
>evil maid</a> and data extraction attacks which could be executed on your device, without coercion?
|
||||||
your device, without coercion? With Android phones, this is
|
With Android phones, this is bad enough to completely break the privacy and control the FOSS
|
||||||
bad enough to completely break the privacy and control the FOSS movement
|
movement seeks, but "Linux phones" take it a step further by implementing barely any security, if
|
||||||
seeks, but "Linux phones" take it a step further by implementing barely any
|
any at all.
|
||||||
security, if any at all.
|
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Privilege_escalation"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Privilege_escalation"
|
||||||
>Privilege escalation</a> is trivial to achieve on any
|
>Privilege escalation</a> is trivial to achieve on any Linux system, which is the reason Linux
|
||||||
Linux system, which is the reason Linux
|
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Hardening_(computing)"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Hardening_(computing)"
|
||||||
>hardening</a> strategies often include
|
>hardening</a> strategies often include restricting access to the root account; if you
|
||||||
restricting access to the root account; if you
|
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Rooting_(Android)"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Rooting_(Android)"
|
||||||
>root your Android phone</a>, or
|
>root your Android phone</a>, or use a "Linux phone", you've already destroyed the security model,
|
||||||
use a "Linux phone", you've already destroyed the security model, and thus
|
and thus privacy and control model you were attempting to achieve. Not only are these side effects
|
||||||
privacy and control model you were attempting to achieve. Not only are
|
of FOSS, so is the absolutely illogical restriction of not being able to, or making it unnecessarily
|
||||||
these side effects of FOSS, so is the absolutely illogical restriction of
|
difficult to, install and update critical components of the system, such as proprietary
|
||||||
not being able to, or making it unnecessarily difficult to, install and
|
|
||||||
update critical components of the system, such as proprietary
|
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Firmware"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Firmware"
|
||||||
>firmware</a>, which just so happens to be almost all of them.
|
>firmware</a>, which just so happens to be almost all of them. "Linux phones" are not as free as
|
||||||
"Linux phones" are not as free as they proclaim to be.</p>
|
they proclaim to be.</p>
|
||||||
<br>
|
<br>
|
||||||
<p>You may ask "What's so bad about using
|
<p>You may ask "What's so bad about using
|
||||||
<a class="body-link" href="https://lineageos.org/"
|
<a class="body-link" href="https://lineageos.org/"
|
||||||
>LineageOS</a>?", to which I answer with
|
>LineageOS</a>?", to which I answer with "What's not bad about it?".<br>
|
||||||
"What's not bad about it?".<br>
|
|
||||||
<br>
|
<br>
|
||||||
- LineageOS uses
|
- LineageOS uses
|
||||||
<a class="body-link" href="https://github.com/LineageOS/hudson/blob/master/lineage-build-targets"
|
<a class="body-link" href="https://github.com/LineageOS/hudson/blob/master/lineage-build-targets"
|
||||||
>debug builds</a>, not safe and secure release builds.<br>
|
>debug builds</a>, not safe and secure release builds.<br>
|
||||||
- LineageOS requires an unlocked bootloader. Even when installed on devices
|
- LineageOS requires an unlocked bootloader. Even when installed on devices which support custom
|
||||||
which support custom Android Verified Boot (AVB) keys, the bootloader cannot
|
Android Verified Boot (AVB) keys, the bootloader cannot be locked due to lack of the OS being
|
||||||
be locked due to lack of the OS being signed.<br>
|
signed.<br>
|
||||||
- LineageOS does not install critically important firmware without manual
|
- LineageOS does not install critically important firmware without manual flashing, requiring users
|
||||||
flashing, requiring users to perform a second update to install this firmware;
|
to perform a second update to install this firmware; this likely causes users to ignore the
|
||||||
this likely causes users to ignore the notification or miss firmware
|
notification or miss firmware updates.<br>
|
||||||
updates.<br>
|
|
||||||
- LineageOS does not implement
|
- LineageOS does not implement
|
||||||
<a class="body-link" href="https://source.android.com/docs/security/features/verifiedboot/verified-boot#rollback-protection"
|
<a class="body-link" href="https://source.android.com/docs/security/features/verifiedboot/
|
||||||
>rollback protection</a>, meaning any adversary,
|
verified-boot#rollback-protection"
|
||||||
from a stranger who physically picks up the device, to a goverment entity
|
>rollback protection</a>, meaning any adversary, from a stranger who physically picks up the device,
|
||||||
remotely, can simply downgrade the OS to a previous version in order to exploit
|
to a goverment entity remotely, can simply downgrade the OS to a previous version in order to
|
||||||
known
|
exploit known
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Vulnerability_(computing)"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Vulnerability_(computing)"
|
||||||
>security vulnerabilities</a>.<br>
|
>security vulnerabilities</a>.<br>
|
||||||
<br>
|
<br>
|
||||||
LineageOS is not the only Android OS (commonly, and incorrectly, referred
|
LineageOS is not the only Android OS (commonly, and incorrectly, referred to as a "ROM") with such
|
||||||
to as a "ROM") with such issues, but it is one of the worst. The only
|
issues, but it is one of the worst. The only things such insecure OSes can provide you are
|
||||||
things such insecure OSes can provide you are customisation abilities, and
|
customisation abilities, and a backdoor to your data. They are best suited as a development OS, not
|
||||||
a backdoor to your data. They are best suited as a development OS, not a
|
a production OS.</p>
|
||||||
production OS.</p>
|
|
||||||
<br>
|
<br>
|
||||||
<h4>Solution</h4>
|
<h4>Solution</h4>
|
||||||
<p>What can you do about this? The answer is simple; however, it does require
|
<p>What can you do about this? The answer is simple; however, it does require you to use logic,
|
||||||
you to use logic, fact, and evidence, not emotion, which is a difficult
|
fact, and evidence, not emotion, which is a difficult pill for most people to swallow. Use your
|
||||||
pill for most people to swallow. Use your adversaries' weapons against
|
adversaries' weapons against them. The only way to effectively combat the privacy invasion and lack
|
||||||
them. The only way to effectively combat the privacy invasion and lack of
|
of control of our devices and data is to become a
|
||||||
control of our devices and data is to become a
|
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Turncoat"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Turncoat"
|
||||||
>renegade</a> and not take sides.
|
>renegade</a> and not take sides. Yes, that means not taking sides with the closed source,
|
||||||
Yes, that means not taking sides with the closed source, proprietary, big
|
proprietary, big tech and government entities, but it also means not taking sides with any
|
||||||
tech and government entities, but it also means not taking sides with any
|
FOSS entities. The only way to win this war is to take *whatever* hardware and software you can, and
|
||||||
FOSS entities. The only way to win this war is to take *whatever* hardware
|
use it tactically.</p>
|
||||||
and software you can, and use it tactically.</p>
|
|
||||||
<br>
|
<br>
|
||||||
<p>The only solution for phone security, privacy, and control, is to use
|
<p>The only solution for phone security, privacy, and control, is to use a Google Pixel (currently,
|
||||||
a Google Pixel (currently, Pixel 4a-series or newer) running
|
Pixel 4a-series or newer) running
|
||||||
<a class="body-link" href="https://grapheneos.org/"
|
<a class="body-link" href="https://grapheneos.org/"
|
||||||
>GrapheneOS</a>. Google Pixel phones allow you complete bootloader freedom,
|
>GrapheneOS</a>. Google Pixel phones allow you complete bootloader freedom, including the
|
||||||
including the
|
|
||||||
<a class="body-link" href="https://android.googlesource.com/platform/external/avb/+/master/README.md#pixel-2-and-later"
|
<a class="body-link" href="https://android.googlesource.com/platform/external/avb/+/master/README.md#pixel-2-and-later"
|
||||||
>ability to lock the bootloader after flashing a custom OS</a>
|
>ability to lock the bootloader after flashing a custom OS</a>
|
||||||
(GrapheneOS includes a custom OS signing key to allow locking the bootloader
|
(GrapheneOS includes a custom OS signing key to allow locking the bootloader and enabling verified
|
||||||
and enabling verified boot to prevent
|
boot to prevent
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Malware"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Malware"
|
||||||
>malware</a> persistence, evil maid attacks,
|
>malware</a> persistence, evil maid attacks, and boot chain
|
||||||
and boot chain
|
|
||||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Data_corruption"
|
<a class="body-link" href="https://en.wikipedia.org/wiki/Data_corruption"
|
||||||
>corruption</a>),
|
>corruption</a>),
|
||||||
<a class="body-link" href="https://support.google.com/nexus/answer/4457705"
|
<a class="body-link" href="https://support.google.com/nexus/answer/4457705"
|
||||||
>long device support lifecycles</a> (minimum 3 years for
|
>long device support lifecycles</a> (minimum 3 years for Pixel 4a-series to Pixel 5a, minimum 5
|
||||||
Pixel 4a-series to Pixel 5a, minimum 5 years for Pixel 6-series and newer), and
|
years for Pixel 6-series and newer), and
|
||||||
<a class="body-link" href="https://source.android.com/docs/security/bulletin/pixel/"
|
<a class="body-link" href="https://source.android.com/docs/security/bulletin/pixel/"
|
||||||
>guaranteed monthly security updates</a> for the entire support timeframe of the
|
>guaranteed monthly security updates</a> for the entire support timeframe of the devices.</p>
|
||||||
devices.</p>
|
|
||||||
<br>
|
<br>
|
||||||
<h4>Conclusion</h4>
|
<h4>Conclusion</h4>
|
||||||
<p>Use what you can, and do what you can. By neglecting security, you are,
|
<p>Use what you can, and do what you can. By neglecting security, you are, even if unintentionally,
|
||||||
even if unintentionally, neglecting exactly what you are trying to gain;
|
neglecting exactly what you are trying to gain; privacy and control.</p>
|
||||||
privacy and control.</p>
|
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
</body>
|
</body>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user