<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/assets/feed-rss.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Ryan Basden</title>
    <link>https://ryanbasden.com</link>
    <description>Writing on security, technology, and related topics.</description>
    <language>en-us</language>
    <atom:link href="https://ryanbasden.com/rss_content.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Infosec Training Is Weird Now</title>
      <link>https://ryanbasden.com/blog/infosec-training-is-weird-now.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/infosec-training-is-weird-now.html</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate>
      <description>Enshittification comes for us all.</description>
      <content:encoded><![CDATA[<p>The platform is the product. Your education is a convenient side
effect. And when training becomes a commodity, there’s a good chance the
skill set is in its final demand stages.</p>
<hr />
<h2 id="before-the-gold-rush">Before the Gold Rush</h2>
<p>Back in 2009 when I made the jump from shoddy game hacking to - ahem
- hacktivism (no, I will not elaborate further), the only well known
certification of ability was the Certified Ethical Hacker (CEH) from
EC-Council. They <a
href="https://www.eccouncil.org/ec-council-in-news/ec-councils-launches-the-worlds-first-performance-based-ethical-hacker-certification-ceh-master">claimed
the honor</a> of creating the “first performance based ethical hacker
certification”.</p>
<p>Whether that was accurate or not will have to be verified by truer
veterans, but it certainly wouldn’t stay “performance based” for very
long. The exam eventually got shorter and there was nothing practical
about it, at least not when I took it in 2016.</p>
<p>CEH existed but was irrelevant to me. As a broke middle-schooler
discovering computer hacking, one meager year after the release of the
infamous <em>Hacking: The Art of Exploitation, 2nd Edition</em>, any
money I had to my name was going to Lego sets and airsoft. All my
learning took place in forums and IRC channels, the logical successors
of the post-BBS online hacking scene.</p>
<p>I learned how to use Nmap by reading <a
href="https://nmap.org/book/man.html">the documentation</a>.</p>
<p>I learned SQL injection <em>after</em> learning SQL first, how to use
Linux by setting up file shares and web servers for my friends, and how
to write malware by convincing the right people that I was worth sharing
source code with.</p>
<p>Then came the OSCP. The certification that proved you knew your
shit.</p>
<p>24 hours in a lab with machines to hack, points to earn, and a report
to write with what little energy you had left. It was a badge of honor
that demanded respect, and few people had it. But enshittification comes
for all, and once the OSCP landed in a job posting under “preferred
qualifications” for the first time, our journey as an industry to where
we are now officially began.</p>
<p>The OSCP became a nigh-invincible staple for recruiters in the 2010s.
Offensive Security, the company who designed the course and proctored
the exam, realized they could make it a revenue engine — and so began
what would eventually become a certification “ecosystem.”</p>
<p>Soon came other certifications like the original OSCE, a more
advanced version of the OSCP that placed heavy emphasis on binary
exploitation, as well as web and Wi-Fi oriented courses, all of which
became household names for security professionals across the world.</p>
<p>OffSec had struck a gold mine, but they weren’t going to get away
with keeping it to themselves.</p>
<hr />
<h2 id="the-disruptions-that-learned-nothing">The Disruptions That
Learned Nothing</h2>
<p>See, the value of the certification itself had gone up. Now there was
demand for it in the job market. When you purchased <em>Penetration
Testing with Kali Linux</em>, the companion course for the OSCP, it came
with an exam voucher. The certification itself was the value holder, not
the course content, since it was what proved you knew what you were
doing.</p>
<p>With the demand increase came rising costs, and the price hikes made
room for disrupters. HackTheBox and TryHackMe undercut the education
piece for a fraction of the cost by removing the credential from the
equation — with a far more accessible format than OffSec’s
do-it-yourself PDF and lab approach.</p>
<p>In a single, polished web platform where much of the content was
completely free, the early chapters of the penetration testing
methodological corpus had been effectively democratized. However, though
they had decoupled the credentials from the coursework and made
education more accessible, the signal was starting to get lost in the
noise.</p>
<p>The inevitable convergence of democratized training and credentials
that boosted hirability was not far off: PNPT, eJPT, and others, where
previously only CEH had any sway against the OSCP (not much, for obvious
reasons).</p>
<p>The skill set that had previously derived its value from context and
pre-existing technical background was now modularized, packaged, and
sold in shiny bundles built on publicly available resources. Credentials
attached, resume parsers happy.</p>
<hr />
<h2 id="the-vc-deal-that-always-ends-the-same-way">The VC Deal That
Always Ends the Same Way</h2>
<p>Running training platforms costs money. You can’t just have hundreds
of thousands of aspiring hackers spinning up little virtual machines to
run Nmap against 24/7 without bleeding money. Luckily, there’s a whole
industry that has made capital hemorrhaging their modus operandi:
venture capital.</p>
<p>Taking on external funding meant adopting the same primary directive
as every Silicon Valley unicorn that came before that always ends the
same way: make more money so we can all exit handsomely.</p>
<p>Investors need recurring revenue more than life itself. And it has to
go up, of course, so training platforms and companies turned to creating
their own certification ecosystems, leaderboards, all while keeping the
dream of employment alive, hoping to ride on the success of OSCP with HR
reps reviewing job applications.</p>
<p>HackTheBox introduced “VIP” that allowed you to hack on your own
target machine instead of the public ones that were getting reset all
the time. TryHackMe added premium learning paths that you could access
with a subscription.</p>
<p>One by one, they switched to recurring “all access” models — one easy
platform, a stack of acronyms, and a promise that it’s all you need to
land your dream hacking job.</p>
<hr />
<h2 id="the-ai-pivot-is-just-the-latest-version-of-this">The AI Pivot Is
Just the Latest Version of This</h2>
<p>TryHackMe founder Ben Spring has a new company. NoScope sells an
AI-powered pentesting platform — not to practitioners, but to the
companies that hire them.</p>
<p>I’ve seen many reactions, the gist of which seems to be that a
company that made its name educating people to do actual work has
potentially used training data from people to build NoScope.</p>
<p>I get it - to an extent. There are approaches to practitioner
augmentation that are like Praetorian’s, <a
href="https://www.praetorian.com/blog/deterministic-ai-orchestration-a-platform-architecture-for-autonomous-development/">releasing</a>
what I imagine are open-source versions of internal tooling. Then, there
are profit-seeking approaches like NoScope, which sell their AI
augmentation tooling to companies for a fee.</p>
<p>This dichotomy has always existed. Sliver and Cobalt Strike, Nuclei
and Nessus - the open-source vs. paid divide has always been with us.
What’s different now is who is doing the <em>buying</em> and what
they’re being told it <em>replaces</em>.</p>
<p>AI “autonomous pentesting” — and even worse, “autonomous red team” —
is poised to be the next thing companies, not practitioners, want to
see. The race to a profitable exit is blatant, and it’s not going to
change.</p>
<p>Those two things are being sold to people who <em>buy</em> tools, not
<em>use</em> them. I’ll give you one guess which group is most upset by
it.</p>
<hr />
<h2 id="what-to-do-about-it">What To Do About It</h2>
<p>The goal is money. It is almost always money.</p>
<p>If you learn genuinely useful tradecraft and grab a cert along the
way, great. But your professional development is not the primary purpose
of any flashy training platform — especially one backed by venture
capital or private equity.</p>
<p>So it’s up to you. Instead of outsourcing your education to companies
that don’t actually care about it, take it upon yourself to explore.</p>
<p>Set up a home lab. Augment your <em>own</em> workflow (you do have a
documented methodology, don’t you?) with open-source agentic tooling.
Use it to make yourself a force multiplier that can stand up one day in
the future and show a customer exactly why buying an expensive AI
pentesting tool was a risk calculation error.</p>
<p>Or, you know, don’t. Just don’t be surprised when you’re staring at
the back of the industry’s head as it flies away on this rocket
ship.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Lessons in Project Management</title>
      <link>https://ryanbasden.com/blog/management-lessons.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/management-lessons.html</guid>
      <pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate>
      <description>A largely unfiltered and slightly refined response to upper management's annoying idealisms.</description>
      <content:encoded><![CDATA[<p>The worst thing you can do to a team of experts is make them explain
themselves in a language designed for amateurs.</p>
<p>A while back, a red team friend asked in a group chat how to handle
management pushing agile on their offensive security team. My answer got
really long really quickly.</p>
<p>Since red team management and practice leadership is my bread and
butter, I have a lot of experience with fielding the sort of misguided
idealism about KPIs and “stories” that comes from disconnected
executives who mistake familiarity for wisdom, assuming that because one
thing works somewhere, it must work everywhere.</p>
<p>What follows is a refined reproduction of my reply.</p>
<hr />
<p>The first thing every project manager has to understand is that your
app/platform/tool/whatever isn’t what <em>gets</em> the work done.</p>
<p>It isn’t the reason work doesn’t get done, deadlines get missed, or
anyone misunderstood the requirements.</p>
<p>So changing the tooling every six months isn’t going to do anything
except keep upper management off your ass because they usually don’t
know better and annoy your team with more meaningless changes.</p>
<h2 id="no-end-state-no-solution.">No end state, no solution.</h2>
<p>It is the job of the project manager to define this and test whether
it’s feasible with the people who will be executing the work.</p>
<p>Most of the time, especially in security consulting, the <em>end
result</em> is outlined in a contract as a report or deliverable of some
kind. For freeform projects like research efforts or tool development,
replace the <em>end result</em> with an <em>end state</em>.</p>
<p>To do this well, you have to ask the right questions. What is the
actual problem? How are we currently working and how do we <em>want</em>
to be? Where are the bottlenecks?</p>
<p>Here are a few real-world examples from my career and the solutions
my team came up with all on their own that were better than anything I
could have come up with myself:</p>
<hr />
<p><strong>END STATE:</strong> We need a way to quickly and painlessly
deploy access to client environments from which to conduct pentests.</p>
<p><strong>SOLUTION:</strong> Vagrant VM templates that could be
automatically uploaded to S3 for downloading by the client and, on boot,
connected up to a Tailscale server and provided us remote access without
the client having to punch holes in their firewall.</p>
<hr />
<p><strong>END STATE:</strong> <code>$projectmanagementtool</code>
doesn’t support natural language due date setting, which is crucial to
our project structures, so we need a way to deploy projects that saves
us from manually selecting a bunch of dates from shitty dropdown
menus.</p>
<p><strong>SOLUTION:</strong> A custom Python script that builds
projects entirely through $projectmanagementtool’s API.</p>
<hr />
<p><strong>END STATE:</strong> Our standard operating procedures for
pentests (i.e., the bare minimum actions to take against a target)
aren’t getting updated and therefore aren’t getting used.</p>
<p><strong>SOLUTION:</strong> Make the SOP checklists the backbone for
connected wiki articles so that new articles about vulnerabilities or
exploit methods can’t be added without creating a reference in the SOP
first.</p>
<hr />
<p>If you can’t come up with a desired <em>end state</em>, your
limitations become their constraints.</p>
<p><em>Bonus thought exercise: How many of the problems above have you
seen “fixed” with a new product or piece of software?</em></p>
<hr />
<h2 id="make-your-project-templates-freeing-not-restrictive.">Make your
project templates freeing, not restrictive.</h2>
<p>The most common types of projects your team works on should be
templated and purely logistical.</p>
<p>Start date, end date, status update cadence, and that’s it.
Everything else should be filled in by the practitioner. How they
research, what they try, how they try it, etc. is all up to them. In a
project management tool, that looks like this:</p>
<ul>
<li>Fieldwork Start + date</li>
<li>Client Status Call + date</li>
<li>Fieldwork End + date</li>
<li>Report Draft to QA + date</li>
<li>Report Draft Delivered + date</li>
</ul>
<p>Quality isn’t a field in the template. It shows up in the work, or it
doesn’t, and the status call is where that becomes <em>everyone’s</em>
problem. This works really well for things like 5-day web app pentests
that sales sends your way.</p>
<p>The less common, less rigid, and more freeform projects can still be
templated as long as the template is purely logistical. Track what
matters for the sake of billing milestones and contract terms. Leave the
rest up to the experts doing the work.</p>
<p>A good attacker doesn’t need a script — they need a target and a
scope. The rest is tradecraft. Give them enough constraints to ensure
the delivery is to spec without suffocating them.</p>
<hr />
<h2 id="pick-a-tool.-any-tool.-stick-to-it.">Pick a tool. Any tool.
Stick to it.</h2>
<p>Calendar events with notes, a project management tool, dedicated
Slack threads, whatever. Just make sure everyone can go to the same
place and see what the expectations are. Project management tools are
references, not crutches. If you think a project management tool is
going to make work easier, you’re delusional and avoiding the real
problems.</p>
<hr />
<h2 id="project-managers-should-leave-doers-alone.">Project managers
should leave doers alone.</h2>
<p>If you’re going to check in, build the check-in into the template
upfront so it’s expected. Otherwise you’re just going to annoy
everyone.</p>
<p>The person executing the work, or leading the project if there’s a
team, is most likely going to come up with a better route or product
than you could’ve come up with on your own.</p>
<p>Practitioners, especially hackers, tend to thrive with autonomy and
room to experiment. Ask me how I know.</p>
<hr />
<h2 id="learn-to-tell-upper-management-to-back-off-politely.">Learn to
tell upper management to back off, politely.</h2>
<p>Get desired end states from them, not dumb shit like “number of
projects completed” or “number of tools integrated into methodology”.
Ask them what they want to be able to say was accomplished.</p>
<p>What tangible improvements are they looking for? What gaps in the
current product offering/security posture/etc. do they see that they
want rectified? What are their true concerns?</p>
<p>This will help you cut through all the bullshit they heard on some
podcast or from the board about “agile” and “story points” and get to
the root of the problem, which is why the work needs to be done. Do not
let them turn you against our boy <a
href="https://web.archive.org/save/https://quickonomics.com/terms/goodharts-law/">Goodhart</a>
by making good measures into targets and, therefore, into bad
measures.</p>
<hr />
<h2
id="fix-the-communication-problem-fix-the-project-management-problem.">Fix
the communication problem, fix the project management problem.</h2>
<p>People treat project management as some kind of equation to solve
when it’s really just about communication.</p>
<p>The trouble is that communicating effectively is hard and requires
more time spent on actually knowing, training, and trusting people than
most companies have the time or energy for.</p>
<p>The irony is that it produces better outcomes than the alternative,
just not the kind that light up a quarterly report.</p>
<p>Over time, taking this approach will make your team happier, give
them more time to do what they’re actually good at, and outperform any
version of this story where management got exactly what they asked
for.</p>
<p>But be ready for upper management to see that and ask you to do 5-10%
better year-over-year, killing the soul of your team for the
shareholders.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Less Pager For Persistence</title>
      <link>https://ryanbasden.com/blog/less-is-more.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/less-is-more.html</guid>
      <pubDate>Tue, 16 Sep 2025 00:00:00 +0000</pubDate>
      <description>New research for using `less` as a persistence mechanism.</description>
      <content:encoded><![CDATA[<p>The skill floor for Linux server administration is pretty low in my
experience, which makes it one of my favorite places to land in a red
team engagement. I can find all kinds of weird, convoluted ways to stay
on the machine long after you’ve stopped looking.</p>
<p>My friend Jordan Mussman found a novel way of abusing regular
functionality in the <code>less</code> binary to maintain persistence as
a regular user OR root. Go read <a
href="https://osdfir.blogspot.com/2025/09/less-is-more.html">his
research</a>, and maybe give your environment variables a look while
you’re at it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Stop Breaking Your Feeds</title>
      <link>https://ryanbasden.com/blog/stop-breaking-feeds.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/stop-breaking-feeds.html</guid>
      <pubDate>Fri, 18 Jul 2025 00:00:00 +0000</pubDate>
      <description>RSS is supposed to be for the readers, not you.</description>
      <content:encoded><![CDATA[<p>Please stop updating your sites and breaking your RSS feeds.</p>
<p>By breaking, I mean any of the following:</p>
<ol type="1">
<li>Truncating the XML entries to only be the first chunk of the body
content.</li>
<li>Only publishing the title and summary of the body content.</li>
<li>Killing the feed altogether (likely because you didn’t know you had
one).</li>
</ol>
<p>If you set up your site yourself with a static generator like Hugo or
something more comprehensively painful like Wordpress, you may not even
know that your site has an RSS feed built in by default. Anyone can
point a piece of software known as a feed reader at the URL your RSS
feed lives at and read what you write wthout having to visit your site
to check for new content.</p>
<p>This is because the reader routinely checks the feed URL for new
posts in the form of XML entries that <em>should</em> contain the title
of the post and the full content.</p>
<p>Plaintext is not that heavy, and it is certainly not as heavy as all
the third-party plugins and JavaScript abominations behind your
frontend.</p>
<p>I have a list of blogs and channels I like to follow in the bar up
top. I’ve updated it to reflect feeds that, at this time, do not adhere
to RSS feed best practices of publishing, at a bare minimum, the title
of the post and the full body content, as well as the feeds that used to
work but have stopped.</p>
<p>For the sake of the open web - and especially for the sake of not
hating your audience - stop breaking your feeds.</p>
]]></content:encoded>
    </item>
    <item>
      <title>C2 via Legitimate Services</title>
      <link>https://ryanbasden.com/blog/lolc2.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/lolc2.html</guid>
      <pubDate>Tue, 25 Feb 2025 00:00:00 +0000</pubDate>
      <description>A collection of legitimate services and how to use them for evil.</description>
      <content:encoded><![CDATA[<p><a href="https://lolc2.github.io/">LOLC2</a> is a collection of
legitimate services and how to use for command-and-control. The
detection sections for Microsoft services are especially interesting
(funny) to look at:</p>
<pre><code># Microsoft Sharepoint
    
## C2 Projects:
  https://github.com/looCiprian/GC2-sheet
  https://github.com/RedSiege/GraphStrike
    
## Detection:
  url: https://graph.microsoft.com/v1.0/sites/*/lists/*/items/
  url: https://graph.microsoft.com/v1.0/sites/*/lists/*</code></pre>
]]></content:encoded>
    </item>
    <item>
      <title>Link Blogs</title>
      <link>https://ryanbasden.com/blog/link-blogs.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/link-blogs.html</guid>
      <pubDate>Fri, 21 Feb 2025 00:00:00 +0000</pubDate>
      <description>A nice way to share without writing an essay.</description>
      <content:encoded><![CDATA[<p>I recently came across the idea of a <a
href="https://xuanwo.io/links/2025/01/link-blog/">link blog</a> and
loved it immediately.</p>
<p>One of the biggest barriers to me writing anything at all is usually
feeling like I need to say something long and profound, when in reality
I more often have short commentary to make on what I’ve read (which I do
a lot):</p>
<blockquote>
<p>I decided to follow simon’s approach to creating a link blog, where I
can share interesting links I find on the internet along with my own
comments and thoughts about them.</p>
</blockquote>
<p>I am deciding to follow Xuanwo’s approach to Simon’s approach for
some of the early content here so I can fill it up without the pressure
of changing the world with an essay.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Recommended Blogs</title>
      <link>https://ryanbasden.com/blog/blogroll.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/blogroll.html</guid>
      <pubDate>Mon, 20 Jan 2025 00:00:00 +0000</pubDate>
      <description>A collection of blogs/feeds I read on a regular basis.</description>
      <content:encoded><![CDATA[<h2 id="developmentengineering">Development/Engineering</h2>
<ul>
<li><a
href="https://codemadness.org/atom_content.xml">Codemadness</a></li>
<li><a href="https://computer.rip/rss.xml">computers are bad</a></li>
<li><a href="https://jvns.ca/atom.xml">Julia Evans</a></li>
<li><a href="https://ludic.mataroa.blog/rss/">Ludicity</a></li>
<li><a href="https://nyxt.atlas.engineer/feed">Nyxt Browser</a></li>
<li><a href="https://buttondown.email/ownyourweb/rss">Own Your
Web</a></li>
<li><a href="https://mntre.com/reform_md.atom">Reform</a></li>
<li><a
href="https://secluded.site/posts/index.xml">Secluded.Site</a></li>
<li>(videos) <a
href="https://www.youtube.com/feeds/videos.xml?channel_id=UCEEVcDuBRDiwxfXAgQjLGug">Dreams
of Autonomy</a></li>
<li>(videos) <a
href="https://www.youtube.com/feeds/videos.xml?channel_id=UCWQaM7SpSECp9FELz-cHzuQ">Dreams
of Code</a></li>
<li>(videos) <a
href="https://www.youtube.com/feeds/videos.xml?channel_id=UCsBjURrPoezykLs9EqgamOA">Fireship</a></li>
<li>(videos) <a
href="https://www.youtube.com/feeds/videos.xml?channel_id=UC_zBdZ0_H_jn41FDRG7q4Tw">Vimjoyer</a></li>
<li>(summary only) <a href="https://dataswamp.org/~lich/rss.xml">out
there in space</a></li>
<li>(summary only) <a
href="https://dataswamp.org/~solene/rss.xml">Solene</a></li>
<li>(summary only) <a
href="https://fasterthanli.me/index.xml">fasterthanli.me</a></li>
</ul>
<h2 id="hacking">Hacking</h2>
<ul>
<li><a href="https://0xrick.github.io/feed">0xRick’s Blog</a></li>
<li><a href="https://aff-wg.org/feed/">Adversary Fan Fiction Writers
Guild</a></li>
<li><a href="https://blog.isosceles.com/rss/">Isosceles Blog</a></li>
<li><a href="https://posts.specterops.io/feed">SpecterOps Blog</a></li>
<li><a href="https://threat.tevora.com/feed/">Tevora</a></li>
<li><a href="https://trustedsec.com/feed.rss">TrustedSec</a></li>
<li><a href="https://dirkjanm.io/feed.xml">dirkjan</a></li>
<li><a href="https://hausec.com/feed/">hausec</a></li>
<li><a href="https://malicious.link/posts/index.xml">mubix</a></li>
<li>(videos) <a
href="https://www.youtube.com/feeds/videos.xml?channel_id=UCPeJcqbi8v46Adk59plaaXg">webpwnized</a></li>
<li>(videos) <a
href="https://www.youtube.com/feeds/videos.xml?channel_id=UCa6eh7gCkpPo5XXUDfygQQA">IppSec</a></li>
<li>(summary only) <a href="https://0ut3r.space/atom.xml">0ut3r
Space</a></li>
<li>(summary only) <a
href="https://www.blackhillsinfosec.com/feed/">Black Hills Information
Security</a></li>
<li>(summary only) <a href="https://grahamhelton.com/rss.xml">Graham
Helton</a></li>
<li>(summary only) <a href="https://jericho.blog/feed/">Rants of a
deranged squirrel.</a></li>
<li>(title only) <a href="https://chomp.ie/rss.xml">chompie at the
bits</a></li>
<li>(broken) <a href="https://www.hackingarticles.in/feed/">Hacking
Articles</a></li>
<li>(broken) <a href="https://makemyday.io/index.xml">Make My Day
[IO]</a>)</li>
<li>(broken) <a
href="https://exploit.ph/feeds/all.rss.xml">eXploit</a></li>
</ul>
<h2 id="security-and-privacy">Security and Privacy</h2>
<ul>
<li><a href="https://blog.badsectorlabs.com/feeds/all.atom.xml">Bad
Sector Labs Blog</a></li>
<li><a href="https://blogs.coreboot.org/feed/">coreboot</a></li>
<li><a href="https://blog.archive.org/feed/">Internet Archive
Blogs</a></li>
<li><a href="https://libreboot.org/feed.xml">News for
libreboot.org</a></li>
<li><a href="https://www.schneier.com/feed/atom/">Schneier on
Security</a></li>
<li><a href="https://blog.scrt.ch/feed/">Sec Team Blog</a></li>
<li><a href="https://blog.yaelwrites.com/rss/">String Literal</a></li>
<li><a href="https://blog.thenewoil.org/feed/">The New Oil</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Burnout Recovery and Prevention 101 (Part 0)</title>
      <link>https://ryanbasden.com/blog/burnout-prevention-part-0.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/burnout-prevention-part-0.html</guid>
      <pubDate>Sun, 13 Aug 2023 00:00:00 +0000</pubDate>
      <description>An introduction to burnout and how to recover from it.</description>
      <content:encoded><![CDATA[<p><em>Note: This is the written version of a talk I gave at BSides
Atlanta 2022 called “These Violent Delights”. Since it wasn’t recorded,
I thought I would make it more available to people by blogging it. You
can see the slides on Github here.</em></p>
<hr />
<p>It’s been about two years since I wrote all of this for the first
time.</p>
<p>The reception of the talk version at BSides Atlanta last year was
good enough that I figured publishing these ideas and lessons for
everyone to access would be beneficial.</p>
<p>But in trying to make it all perfect and complete, I’ve
procrastinated publishing anything at all.</p>
<p>So, to remedy this, I’m going to publish in parts.</p>
<p>This is Part 0. Based on my massive list (mess) of talking points,
here’s what’s coming up:</p>
<ul>
<li>Part 1: Where To Start</li>
<li>Part 2: Improving Your Personal Health</li>
<li>Part 3: Setting Professional Boundaries</li>
<li>Part 4: Smash In Case Of Emergency</li>
</ul>
<hr />
<h2 id="recovery-first-prevention-after">Recovery First, Prevention
After</h2>
<p>I will talk about burnout and how to prevent it, but more
importantly, I want to talk about recovery.</p>
<p>Why?</p>
<p>Because most people have already experienced burnout, and I suspect a
lot are still in it. I have to suspect because, though I have tried, I
cannot find any data on how many people have recovered.</p>
<p>There are plenty of data sources for how many people have been or are
currently burnt out, and prevention only matters if you’re not burnt out
already.</p>
<hr />
<h2 id="why-even-talk-about-this">Why even talk about this?</h2>
<p>Because the working world has a burnout problem, and to make matters
worse. Infosec as an industry also has a talent problem.</p>
<p>According to plenty of sources, there were 2.72 million job openings
in 2021. That number is going down, but it’s not one to laugh at.</p>
<p>Meanwhile, 75% of employees said they’ve experienced burnout, and 56%
of employers admitted to have retention issues, 36% of those surveyed by
Eagle Consulting said their organization isn’t doing anything to help
them NOT be burnt out, Gallup found that burned-out employees are 2.6
times as likely to be actively seeking a different job, AND that only
60% of workers can strongly agree that they know what is expected of
them at work.</p>
<p>The bottom line is that people are burning out, a lot of them aren’t
getting help, and almost as many have no idea what standard they’re even
supposed to be meeting.</p>
<p>Maybe you can see why I’m not confident about that number going down
reliably. What are we missing out on because the talented people we
already have are at or near the end of their rope?</p>
<hr />
<h2 id="crime-pays-a-lot-actually">Crime pays a lot, actually</h2>
<p>Adversaries are making more money, their jobs are easier, and they
work remotely. I’ve talked to people I know who were in ransomware gangs
or are currently in them, and most of them say their work lives are
easier.</p>
<p>What they told me boils down to a few simple points:</p>
<ul>
<li>No one is asking them to return to the office and commute through
traffic hell</li>
<li>The pay is better than what they might make legitimately</li>
<li>The work is generally easier (since many targets aren’t as
mature)</li>
</ul>
<p>How are salaried, commuting, underfunded infosec professionals
supposed to keep up?</p>
<p>There is a greater mission and much of the industry is not prepared
to accomplish it.</p>
<h3 id="disclaimer">Disclaimer</h3>
<p>Before I go any further, I need to get some things out of the
way:</p>
<ul>
<li>I am not an expert, a medical professional, or a psychiatrist</li>
<li>I cannot diagnose or account for existing mental illnesses, personal
situations, or other variables</li>
</ul>
<p>But rest assured, I have had my fair share of hard times. I am no
stranger to mental illness nor trauma. I know that life can be hard and
there are a lot of factors at play.</p>
<p>I get it. I’m not here to sell you a cure-all, or even a cure-most.
I’m here to share what worked for me and maybe impart something useful
to you.</p>
<hr />
<h2 id="how-i-got-here">How I Got Here</h2>
<p>Like many, I spent the majority of 2020 working too hard, burning too
hot, and not getting the things I needed to be happy.</p>
<p>The company I worked at was in a period of intense growth where we
had plenty of new pentesting work to do, but some of us still needed to
make audits happen to pay the bills.</p>
<p>During that time, I started to study for my OSCP, and after seven
months, it had knocked me out. I would study for 3-4 hours per night and
all weekend in the labs, grabbing flags and honing my methodology.</p>
<p>I failed my first exam attempt in late September but came back with a
vengeance by the end of October. Then I descended into one of the
deepest ruts of my life.</p>
<hr />
<h2 id="collecting-debt-from-yourself">Collecting debt from
yourself</h2>
<p>What confounded me is that I was just doing something I loved:
learning and improving my pentesting skill set.</p>
<p>But the price I ended up paying was steep, and it took a lot longer
to cover my debt to my passion than it did to destroy my passion.</p>
<p>The year after (2021) was filled with attempts to pursue my passion
without the energy I needed, leaving me feeling unfulfilled and
frustrated at my sudden lack of progress in my career, but even more
disappointingly, lack of appreciation for something I was once
fascinated by.</p>
<p>I would listen to my favorite security podcasts and roll my eyes when
people would talk about how energized they were and could spend hours
just learning. My cynicism was through the roof, and the problem wasn’t
them - it was me. I needed to feel better. My new state was not
sustainable, and I needed a solution. That’s how I came up with what’s
in this blog.</p>
<p>It took me a long time, but I made it, and I want to share that with
anyone who’s in that same place.</p>
<hr />
<p><em>Look out for “Part 1: Where To Start”, coming soon.</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>Mastodon, Musk, and Mythbusting: The Case for Federation</title>
      <link>https://ryanbasden.com/blog/federation-myths.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/federation-myths.html</guid>
      <pubDate>Sun, 06 Nov 2022 00:00:00 +0000</pubDate>
      <description>The old internet was better anyway.</description>
      <content:encoded><![CDATA[<p>In the wake of Elon Musk’s acquisition of Twitter, Mastodon instances
have seen some of the highest sign-up volume ever.</p>
<p>This has sent my typical corner of Twitter into somewhat of a
debate.</p>
<p>Dubbed “Infosec Twitter”, exploit researchers, red teams, SOC
analysts, CISOs, DFIR teams, and more can reliably be found commenting
on the news of the day, sharing research, discussing breaches, and
more.</p>
<p>When I joined Twitter in early 2020, I did it primarily because I was
starting to present at conferences and knew that it would benefit me to
have some kind of network, and LinkedIn still grossed me out.</p>
<p>What I found there was a mixture of enlightenment and confusion, of
insight and of disappointment.</p>
<p>Amid my newfound source of threat intel, tradecraft, and (of course),
memes, was something I didn’t expect: the hacker culture I grew up in
was surprisingly absent.</p>
<p>Instead of discussing information freedom, privacy, or technology
that helped people, I found arguments about whether offensive tooling
was okay to publish, whether EDR is good, and whether infosec is an
entry-level field (to list only a few).</p>
<p>The kinds of topics I used to see regularly on forums and IRC were
rare to see.</p>
<p>Luckily, curating who you follow helps a lot with this. A muted word
here, a muted account there, and you can end up with a feed of topics
you mostly care about.</p>
<p>This has changed even in the short time I’ve had an account, though,
in that Twitter has been serving more and more advertisements and
struggling to be profitable.</p>
<p>As Elon Musk has taken over Twitter and cleaned most of the house
out, it’s become evident that a platform up for purchase by any
individual is not a platform conducive to user freedom and control.</p>
<p>This is not a blog about ideological statements for or against Musk.
It does not matter to me <em>who</em> is able to take over Twitter for
$44B, only that <em>someone can</em>, and only as long as there are
alternatives.</p>
<p>However, in disappointingly predictable fashion, certain sections of
Infosec Twitter have been outspoken about the most popular platform,
Mastodon, being unrealistic and a non-answer to the problem of unitary
platform control.</p>
<p>This would be entirely reasonable if many accounts with large
audiences were not stating inaccurate information about it as
insurmountable downsides of the federated alternative.</p>
<hr />
<h2 id="federation-mythbusting">Federation Mythbusting</h2>
<p>The purpose of this blog is to address as many of these myths as
possible with accurate information. So here we go.</p>
<h3 id="you-have-to-host-your-own-server">You have to host your own
server</h3>
<p>Though it would solve a lot of problems outlined in sections after
this one, no you do not have to host your own.</p>
<p>You can join any instance you want and see content from users on any
instance that is federating with yours. Conversely, any instances not
federating with yours (for any reason), will be invisible to you by
default.</p>
<h3 id="you-cant-verify-yourself-and-can-be-impersonated">You can’t
verify yourself and can be impersonated</h3>
<p>Again, not a problem if you host your own, but let’s assume you’re
not able to or don’t want to. That’s fine.</p>
<p>You can verify yourself via a relative link in a different place,
such as Keybase or your own website. By simply creating a link like this
on the homepage of your website:</p>
<div class="sourceCode" id="cb1"><pre
class="sourceCode html"><code class="sourceCode html"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="dt">&lt;</span><span class="kw">a</span><span class="ot"> rel</span><span class="op">=</span><span class="st">&quot;me&quot;</span><span class="ot"> href</span><span class="op">=</span><span class="st">&quot;https://infosec.exchange/@rybaz&quot;</span><span class="dt">&gt;</span>mastodon<span class="dt">&lt;/</span><span class="kw">a</span><span class="dt">&gt;</span></span></code></pre></div>
<p>…a Mastodon instance will show a green checkmark in my profile,
verifying me as the owner of that domain, which I use as my primary
source of identity on the internet.</p>
<p>The blue check on Twitter is only a luxury for certain high-profile
people anyway. If anything, those most at-risk for impersonation are
those who Twitter doesn’t deem worth verifying, rendering them helpless
to stop it.</p>
<h3 id="content-moderation-is-a-problem">Content moderation is a
problem</h3>
<p>Aside from this being a problem on every social media platform,
Twitter included, Mastodon instances can block entire other instances
themed around content they want nothing to do with.</p>
<p>If you join a mainstream instance with lots of people, you’re likely
to run into content you’d rather not see, but that’s why:</p>
<ol type="1">
<li>There are so many instances to potentially join, often centered
around interests or subcultures.</li>
<li>You can host your own.</li>
</ol>
<h3 id="dms-can-be-read-by-admins-of-instances">DMs can be read by
admins of instances</h3>
<p>Also a problem on Twitter and most any other platform owned or
operated by someone else.</p>
<p>Have sensitive conversations over channels you trust, like XMPP,
Matrix, Signal, Session, whatever.</p>
<h3 id="its-confusing">It’s confusing</h3>
<p>Of the people I interact with on a daily basis, including on Twitter,
I am on the lower end of the intelligence scale, and that’s a good
thing.</p>
<p>If I can spend 10 minutes Googling how Mastodon works, so can
everyone else.</p>
<p>This goes without saying that, in my short time on a Mastodon
instance, people have been more than willing to help new users figure
out how things work. All anyone has to do is ask.</p>
<h3 id="we-should-just-start-a-forum">We should just start a forum</h3>
<p>I love forums. I miss forums. I learned a ton from them.</p>
<p>Luckily, there are federated forum platforms like Lemmy that
accomplish that goal of asynchronous, topic-based discussion, while
being interoperable with other ActivityPub-based implementations.</p>
<h3 id="we-dont-need-another-social-media-site">We don’t need ANOTHER
social media site</h3>
<p>I agree. Completely.</p>
<p>I hate social media, but it’s the way of the world, and I want a
professional network. But apart from LinkedIn and Twitter, I don’t have
any other social media accounts, so the “too many platforms” exhaustion
isn’t very strong for me.</p>
<p>Federated platforms and protocols are meant to <em>clean up and
change</em> the noise, not add to it. It must be viewed as a different
way of interacting with digital communities in order for value to be
extracted.</p>
<hr />
<h2 id="the-ethos-of-federation">The Ethos of Federation</h2>
<p>Switching to Mastodon or any other federated technology shouldn’t be
driven by the volume of content there is to consume there, but a desire
to invest in systems that are controlled by users instead of
corporations, investors, or executives.</p>
<p>Or where content isn’t force-fed to you by an algorithm to make you
angry, sad, happy, entertained, and lonely all in a single session of
scrolling.</p>
<p>Or where your dopamine levels aren’t corporate growth metrics,
measured by variance of spiking and sinking and correlated to
profit.</p>
<p>Federated services aren’t meant to be Twitter or Facebook
competitors. If you’re looking for one to replace the other, you’re
going to be disappointed, especially if you have a large audience on one
of them.</p>
<p>But large audiences and maximum reach is not what federation is
about.</p>
<p>It’s about taking back platform control and using open protocols.</p>
<p>It is about quality over quantity.</p>
<p>It’s about fostering the free and open exchange of information,
interoperability, and highly censorship resistant content. The same
arguments for Signal relays or Tor nodes in oppressive countries can be
made for Mastodon, Matrix, or any other federated tech.</p>
<p>If sufficient amounts of content is the #1 value driver for you to
use a platform, that’s fine, and centralized media may be what you
actually want, as it’s more conducive to quantity.</p>
<p>You’ll ultimately be disappointed with platforms that emphasize user
freedom over how long they can entertain you.</p>
<p>For better or for worse, that is the current dichotomy.</p>
<p>Federated platforms won’t get there overnight, but the dynamic of
“where everyone else is” only changes based on the decisions of
individuals, something the Twitter algorithm would rather you not
do.</p>
<p>If everyone waits for everyone else to go first, nothing will
change.</p>
<p>There is nothing to stop someone else from taking control of Twitter
or whatever comes next, be it a competitor or clone-like
alternative.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Secure Messaging for Paranoid Realists: Vol. 2</title>
      <link>https://ryanbasden.com/blog/secure-messaging-paranoid-realists-vol2.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/secure-messaging-paranoid-realists-vol2.html</guid>
      <pubDate>Sat, 11 Jun 2022 00:00:00 +0000</pubDate>
      <description>Reasons for not using Conduit anymore.</description>
      <content:encoded><![CDATA[<p>I’ve disabled <code>conduit.rs</code>, the Matrix service I had
running on my VPS.</p>
<p>There are several reasons for this, the first being that I don’t want
to deal with the bugs and resulting mishaps of an implementation in beta
(not right now, at least).</p>
<p>Though I’ve read that this has been fixed recently, as soon as I spun
up my Conduit server, I couldn’t communicate with most of the rooms
created on existing Synapse servers due to later versions of rooms not
being supported yet.</p>
<p>The second reason is that I’ve been evaluating some other options,
mainly Session. Though it’s not perfect, there are some things I like
about it that are impactful enough for me to put the Matrix ecosystem on
pause for now. To be clear, I still love what Matrix is doing, but
running my own instance is just a little more than I want to deal with
at the moment, and federation is the only way to truly realize the full
range of benefits offered by the protocol.</p>
<hr />
<h2 id="session-messenger-breakdown-pros-and-cons">Session Messenger
Breakdown: Pros and Cons</h2>
<h3 id="pros">Pros</h3>
<ul>
<li>Uses Tor by default</li>
<li>Decentralized by default via volunteer-run nodes</li>
<li>APK is available via F-Droid</li>
<li>Doesn’t require any personal information on account creation</li>
</ul>
<h3 id="cons">Cons</h3>
<ul>
<li>Uses Google for notification services*</li>
<li>Desktop client is Electron-based</li>
</ul>
<p>*There is an option to not use Google’s notification servers, but
it’s a lot slower and you can’t set the check interval. <a
href="https://getsession.org/faq">From their FAQ:</a></p>
<blockquote>
<p>If you choose slow mode, the Session application runs in the
background and periodically polls its swarm (see What is a swarm) for
new messages. If a new message is found, it is presented to you as a
local notification on your device.</p>
<p>If you choose fast mode, Session will use Google’s FCM push
notification service to deliver push notifications to your device. This
requires that your device IP address and unique push notification token
are exposed to a Google operated push notification server. Additionally,
you will expose your Session ID and unique push notification token to an
OPTF operated push notification server, for the purpose of providing the
actual notifications to the Google FCM server.</p>
</blockquote>
<hr />
<h2 id="session-vs-signal-and-why-i-will-use-both">Session vs Signal,
and Why I Will Use Both</h2>
<p>I see Signal and Session as complimentary layers. Session is arguably
more privacy-friendly than Signal for a few big reasons:</p>
<ul>
<li>Signal servers are centralizedconduit</li>
<li>Signal APK is not available on F-Droid</li>
<li>Phone number required for account creation</li>
</ul>
<p>Despite this, Signal has an advantage where Session does not: the
ability to replace SMS apps. Signal has basically become a catch-all for
anyone who might be using it with their phone number. This only applies
to around 3% of my contacts, but that’s better than 0%.</p>
<p>For anyone else who I communicate with on a regular basis, most of
them care about communications privacy and security enough to use a
separate app to achieve it.</p>
<hr />
<h2 id="the-ideal-future-setup">The Ideal Future Setup</h2>
<p>More recently, Rocket.chat <a
href="https://rocket.chat/press-releases/rocket-chat-leverages-matrix-protocol-for-decentralized-and-interoperable-communications">announced
it’s building federation capability</a> via the Matrix protocol, which
is a refreshing move. Matrix has only ever wanted to be a protocol in
the same way that XMPP is a protocol, leaving the frontend messenger
client responsibility to others if you don’t want to use the one they
provide.</p>
<p>A single protocol that can be audited by the community is the best
case we can hope for outside of complete decentralization. There’s a
reason why e-mail with PGP is still considered one of the best ways to
communicate securely and privately: you at least control the keys.</p>
<p>If the answer to the problem of walled messenger gardens is Matrix,
it’s Matrix. I would love to see more of these platforms begin to adopt
interoperability so that people can finally stop juggling digital
communication channels based on contexts and pros/cons lists.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Exploit Development for Free</title>
      <link>https://ryanbasden.com/blog/learn-exploit-dev-for-free.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/learn-exploit-dev-for-free.html</guid>
      <pubDate>Wed, 23 Mar 2022 00:00:00 +0000</pubDate>
      <description>A free guide to free resources for learning exploit development.</description>
      <content:encoded><![CDATA[<p>The most frustrating thing about hacking has become finding good
learning resources without breaking the bank.</p>
<p>While studying for CEH (hold the judgment, please, I was young and
naive), I had to resort to far more than just the EC-Council curriculum.
If you’ve ever tried for one of their certifications, you’ll know why:
the material isn’t good enough.</p>
<p>For the OSCP, I had the same experience. The PWK lab was not diverse
enough to make me feel truly prepared, and looking back, I’m glad I
resorted to sites like HackTheBox, Vulnerable Hacking Labs, and Vulnhub
for extra practice. Luckily, many outstanding individuals like TJNull
had compiled lists of practice machines for me to reference.</p>
<p>After spending time learning advanced pentesting and red team tactics
in a useful-but-never-too-deep manner, I’ve landed on exploit
development as my next deeper learning path. I’ve built a roadmap for
myself entirely made up of free resources and compiled it here.</p>
<p>I may edit this as I go, and I will post reviews as separate blogs if
warranted. If I do make a meaningful update, I’ll be sure to mention
that.</p>
<hr />
<h2 id="prerequisite-x86-assembly-and-c">(Prerequisite) x86 Assembly and
C</h2>
<p>NASM and C are more important than I realized at first. A strong
understanding of both will help you tremendously as you get into the
actual exploit development and research parts of this.</p>
<p>Resources will be mostly focused around Linux to ensure that the
barrier to entry is as low as possible. Once I get into Windows, I’ll
add resources around that OS, but I’ll stick with what I know best for
now.</p>
<ul>
<li><a
href="https://p.ost2.fyi/courses/course-v1:OpenSecurityTraining2+Dbg1012_GDB_1+2021_v1/about">OpenSecurityTraining2
- Debuggers 1012: Introductory GDB</a></li>
<li><a
href="https://p.ost2.fyi/courses/course-v1:OpenSecurityTraining2+Arch1001_x86-64_Asm+2021_v1/about">OpenSecurityTraining2
- Architecture 1001: x86-64 Assembly</a></li>
<li><a
href="https://p.ost2.fyi/courses/course-v1:OpenSecurityTraining2+Arch2001_x86-64_OS_Internals+2021_v1/about">OpenSecurityTraining2
- Architecture 2001: x86-64 OS Internals</a></li>
<li><a href="https://learn-c.org/">Learn-C.org</a></li>
</ul>
<p>Books:</p>
<ul>
<li><a href="https://www.biblio.com/9780131103627">The C Programming
Language 2e</a></li>
</ul>
<hr />
<h2 id="linux-exploit-development">Linux Exploit Development</h2>
<p>This list contains a healthy mix of challenges, guides, course
material, and books. These resources are invaluable and I cannot believe
they are free.</p>
<ul>
<li><a href="https://exploit.education/phoenix/">Exploit.Education -
Phoenix</a></li>
<li><a href="https://exploit.education/nebula/">Exploit.Education -
Nebula</a></li>
<li><a
href="https://opensecuritytraining.info/Exploits1.html">OpenSecurityTraining
- Intro to Software Exploits</a> &amp; Course Textbook: <em>The
Shellcoder’s Handbook</em></li>
<li><a href="https://pwn.college/">pwn.college</a></li>
<li><a href="https://exploit.education/fusion/">Exploit.Education -
Fusion</a></li>
</ul>
<h3 id="books">Books</h3>
<ul>
<li><a
href="https://www.biblio.com/search.php?stage=1&amp;result_type=works&amp;keyisbn=the+art+of+exploitation">The
Art of Exploitation 2e</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Secure Messaging for Paranoid Realists</title>
      <link>https://ryanbasden.com/blog/secure-messaging-paranoid-realists.html</link>
      <guid isPermaLink="true">https://ryanbasden.com/blog/secure-messaging-paranoid-realists.html</guid>
      <pubDate>Tue, 01 Mar 2022 00:00:00 +0000</pubDate>
      <description>...like me.</description>
      <content:encoded><![CDATA[<p>In honor of the EARN IT Act clawing its way back out of the grave
(again), I want to discuss resilience to anti-encryption measures of all
kinds.</p>
<p>But first, what is paranoid realism, and what makes someone a
paranoid realist?</p>
<h2 id="healthy-doses-of-paranoia">Healthy Doses of Paranoia</h2>
<p>Having worked in security for so long, it’s difficult to not see most
technology as fundamentally broken. Web apps are built on APIs without
any access control, EDR can’t keep up with some of the most basic bypass
techniques, and on and on we go.</p>
<p>Test turning your own webcam on via Meterpreter and you’ll understand
what I’m getting at: this shit is easy, and you may not know when you’re
being watched.</p>
<p>There are three ways of approaching this new, substantiated feeling
of paranoia: ignorance, fatalism, and realism.</p>
<p>The first is the easiest and just involves sticking your head in the
sand. The second is deciding that because there are things you can’t
control, you might as well not do anything about anything.</p>
<p>Finally, realism (or pragmatism, if you prefer it) involves doing the
best with what you have. Technology will never be hack-proof, but it’s
also never been easier to take some meaningful steps to improve your
resiliency against the inevitable.</p>
<p>All three can be characterized by their response to the idealism of
perfect security:</p>
<ul>
<li>Ignorance is simply unaware of it or refuses to be aware of it.</li>
<li>Fatalism is aware of it but sees it as unattainable and therefore
worthless wholesale.</li>
<li>Realism is aware of it and knows that something is better than
nothing at all.</li>
</ul>
<p>One of my favorite books, “Absolute OpenBSD, 2nd Edition: Unix for
the Practical Paranoid”, was written for this mindset. From the book’s
introduction:</p>
<blockquote>
<p>It’s not that everyone on the Internet is trying to attack you, but
there’s always <em>someone</em> who wants to break into your system.
Even if you think you have nothing of value, someone wants to own your
computer. And you won’t realize the value of what you have until someone
else has it. That’s just human nature.</p>
<p>If you’re not paranoid on the Internet, you’re in trouble.</p>
<p>Michael W. Lucas, <em>“Absolute OpenBSD, 2nd Edition: Unix for the
Practical Paranoid”</em></p>
</blockquote>
<h2 id="dispelling-fatalist-mythology-and-threat-model-ism">Dispelling
Fatalist Mythology and Threat-model-ism</h2>
<p>Choosing to remain ignorant is the choice of each individual. I can
do nothing about this, and I wish you luck if that’s your path.</p>
<p>Fatalism, on the other hand, I have a refutation for. Additionally,
fatalism’s close cousin, threat-model-ism, this is for you, too.</p>
<p>The argument that you should only care about encryption if your
personal threat model requires it, whether for messaging only or for as
much internet traffic as possible, is made by many seemingly
knowledgable people, much to my concern.</p>
<p>For example, a VPN will not make you anonymous on the internet. Sure,
it can hide your source IP from the destination and it keeps your ISP
from snooping on a good portion of your traffic, but it doesn’t do much
more than that.</p>
<p>Keeping my ISP out of my data in transit is a good enough reason for
me to use one, even if it’s just to keep them from throttling certain
services, as Comcast did with <a
href="https://mattvukas.com/2014/02/10/comcast-definitely-throttling-netflix-infuriating/">Netflix
not long ago</a>.</p>
<p>I also would rather them not sell my browsing habits to advertisers
or tell me what proper use of the internet constitutes. Even if these
practices are not predatory to an Orwellian level yet, they could get
there in the future.</p>
<p>And even if they don’t, caring about privacy as a principle is the
only reason you need to run a VPN, encrypt your messages, et cetera.</p>
<p>Lastly, threat models evolve. Many small businesses probably wouldn’t
have considered themselves very interesting to multi-million-dollar
ransomware gangs 10 years ago, but they’ve been such easy targets
recently that they’re now one of the most common victim types.</p>
<p>I could go on for much longer about this, and I may do so in future
posts, but that’s not the goal of this one.</p>
<h2 id="what-is-the-earn-it-act">What is the EARN IT Act?</h2>
<p>The EARN IT Act is yet another government attempt at breaking
encryption in order to protect children online. While protecting
children is a noble and worthy enterprise, like any other effort, there
are methods that work and methods that don’t.</p>
<p><a
href="https://cyberlaw.stanford.edu/blog/2022/02/earn-it-act-back-and-it%E2%80%99s-more-dangerous-ever">According
to Stanford, not only does EARN IT not work</a>, but it will actually do
the opposite of what it intends to do:</p>
<blockquote>
<p>…the EARN IT Act would do little to protect child sex abuse victims –
to the contrary, it risks making it even harder to track down and
convict offenders.</p>
</blockquote>
<p>I encourage to read the entire article linked above. In the end, true
to form for over a decade, this is a case of people with power
exercising said power in areas they fundamentally misunderstand. What is
unclear is how long this phenomenon will continue to plague us.</p>
<p>While we have no answer to that question, we can at the very least
take steps to reduce the impact of weaponized ignorance of this sort by
utilizing systems that are the opposite of fragile, or as Nassim Taleb
puts it, “anti-fragile”.</p>
<p>Communication channels that are not fragile are the true resilience
to legislation like this, so we need a way to evaluate them and choose
the ones that really work.</p>
<h2 id="evaluating-anti-fragility-aaa">Evaluating Anti-fragility
(AAA)</h2>
<p>In order to objectively evaluate communication platforms and
protocols for anti-fragility, we have to establish criteria. The
information security industry has been using confidentiality, integrity,
and availability (CIA) for a long time and it’s a good measurement set,
but it doesn’t really cover enough for me.</p>
<p>Instead, I’ve come up with the three As to evaluate a platform or
protocol: availability, anonymity, and autonomy.</p>
<ul>
<li><strong>Availability</strong>: it does not have to suffer impact of
external events.</li>
</ul>
<p>Something that is completely out of my control, such as downtime of a
server I don’t own or maintain, should not inhibit my ability to
communicate. Whether it’s the Signal servers, a CDN, or the entirety of
us-east-1, my communications should be unaffected.</p>
<ul>
<li><strong>Anonymity</strong>: the ultimate privacy is pure anonymity,
and this must be possible.</li>
</ul>
<p>I should be able to completely control the details of my identity,
from source IP to registration details. No phone numbers, email
addresses, physical addresses, or anything that sits outside the
function of the platform/protocol.</p>
<ul>
<li><strong>Autonomy</strong>: it can be used without third-party
permission or interference.</li>
</ul>
<p>I should be able to use it without anyone else’s input. No one,
including my ISP, VPS provider, domain name registrar, smartphone app
store, federal government, et al should be in control of how I
communicate, nor should they be able to easily place an injunction on my
use.</p>
<p><em>Note: These metrics operate on the idea of perfection, so nothing
will likely</em> <em>ever fully meet them. This is on purpose so that we
can remain objective and</em> <em>honest as we are realists here, and we
prefer better over stagnant.</em></p>
<h2 id="case-studies-of-popular-platforms">Case Studies of Popular
Platforms</h2>
<p>Below are some examples of how common messaging platforms and
protocols match up to AAA. Let’s use a 1-5 scale.</p>
<p><em>Note: This is not a comprehensive or systematic list, nor are
each of the</em> <em>platforms I mention in the list comprehensively or
systematically scored. I am</em> <em>trying to make a point with some
fuzzy numbers, though I may soon catalog these</em> <em>by metrics and
score them more consistently.</em></p>
<h3 id="sms">SMS</h3>
<p><strong>Availability:</strong> 0 <strong>Anonymity:</strong> 0
<strong>Autonomy:</strong> 0</p>
<p>Not much to say here. It’s horribly insecure, out of our control, and
dependent on cell towers we don’t own.</p>
<h3 id="imessage">iMessage</h3>
<p><strong>Availability:</strong> 3 <strong>Anonymity:</strong> 2
<strong>Autonomy:</strong> 1</p>
<p>This is probably my favorite one to pick on because some iPhone users
see non-iMessage users (or, derogatorily, the undesirable green bubbles)
as members of lower socioeconomic castes, which is profoundly
cringe.</p>
<p>I’m not exaggerating either. I’ve spoken to people who purposely
exclude Android users from group chats with friends for not having
iMessage. This has happened to me personally, also, and all I can do is
look at all my Signal conversations and not care.</p>
<p>It’s a great communication channel for iPhone-to-iPhone
communication, but it is by no means anti-fragile. The servers and OS
(the user gateway) are fully in Apple’s control, as is the
encryption.</p>
<p>I’ve heard that it’s also a uniquely American thing to use iMessage
universally, which brings me to my next platform.</p>
<h3 id="whatsappany-social-media-chat-feature">WhatsApp/any social media
chat feature</h3>
<p>In Europe, Asia, and many other areas of the world, WhatsApp is the
staple communication plaform. However, like any platform run by a giant
company (Facebook), it scores fairly low on all three As.</p>
<p>The data is definitely being collected, the traffic runs through
centralized locations…need I say more?</p>
<p><strong>Availability:</strong> 3 <strong>Anonymity:</strong> 1
<strong>Autonomy:</strong> 1</p>
<h2 id="case-studies-for-niche-non-mainstream-platforms">Case Studies
for Niche (Non-Mainstream) Platforms</h2>
<h3 id="signal">Signal</h3>
<p><strong>Availability:</strong> 2 <strong>Anonymity:</strong> 3
<strong>Autonomy:</strong> 1</p>
<p>Signal is the app that actually made me write this blog because I
resisted it for a very long time.</p>
<p>I wanted a perfect solution for all my non-SMS communication that
wouldn’t add to my existing paranoia, but many of the alternatives at
the time were difficult to adopt for most people or were being bought up
by bigger corporations with unclear motives (Keybase and Wire, looking
at you).</p>
<p>However, I had to realize that some encrypted chats were better than
no encrypted chats. This is paranoid realism at work and is how you have
to approach this stuff sometimes.</p>
<p>Now if they would just build an F-Droid version…</p>
<h3 id="telegram">Telegram</h3>
<p><strong>Availability:</strong> 2 <strong>Anonymity:</strong> 3
<strong>Autonomy:</strong> 1</p>
<p>This is the one I really want to drive some points home about.</p>
<p>It’s not the only service that masquerades as an end-to-end
encryption service for chat while maintaining a master encryption key
and centralized servers.</p>
<p>Telegram’s clients are open-source, but their back-end infrastructure
is not. This is where everything is stored and where all the data
travels through, so this is a big red flag.</p>
<p>Any possibility of compromising any part of AAA is not acceptable.
There has to be trust between developers, the platform, and the users,
and this is not possible without completely open-source code and
standards, front to back.</p>
<h3 id="matrixxmpp">Matrix/XMPP</h3>
<p><strong>Availability:</strong> 4.5 <strong>Anonymity:</strong> 4.5
<strong>Autonomy:</strong> 5</p>
<p>I am well aware that these are not the same thing, but I’ve lumped
them together because, in my opinion, there are the best options we
currently have.</p>
<ul>
<li>The code is all open-source, server to client and back.</li>
<li>The encryption is truly E2E, which we know because we can look at
it.</li>
<li>You can host your own server for yourself or anyone else.</li>
<li>Communication is federated, meaning no central server controls who I
talk to.</li>
</ul>
<p>That said, I’ve only given them both 4.5 for the first two As. This
is because without a central server, they are dependent on external
factors such as your VPS provider and other infrastructure you have no
control over.</p>
<p>Perhaps if you were to self-host them at home, that would change, but
I haven’t thought through that one.</p>
<p>Between the two of them, the cons that they don’t share cancel each
other out and, I think, provide the best option for secure messaging at
the moment.</p>
<h2 id="honorable-mentions">Honorable Mentions</h2>
<p>These are some projects that I think have promise, mainly because
they’re doing things differently. I don’t use them personally and never
have, but I expect that they will eventually have niche followings of
their own and am watching them with great interest.</p>
<ul>
<li><a href="https://briarproject.org/">Briar</a></li>
<li><a href="https://briarproject.org/">DeltaChat</a></li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
