<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Security on Brad's Blog</title><link>https://blog.bjdean.id.au/tags/security/</link><description>Recent content in Security on Brad's Blog</description><generator>Hugo -- 0.152.2</generator><language>en-au</language><copyright>Bradley Dean</copyright><lastBuildDate>Mon, 17 Nov 2025 19:02:19 +1100</lastBuildDate><atom:link href="https://blog.bjdean.id.au/tags/security/index.xml" rel="self" type="application/rss+xml"/><item><title>Signal adds Post-Quantum SPQR Protocol</title><link>https://blog.bjdean.id.au/2025/11/signal-adds-post-quantum-spqr-protocol/</link><pubDate>Mon, 17 Nov 2025 19:02:19 +1100</pubDate><guid>https://blog.bjdean.id.au/2025/11/signal-adds-post-quantum-spqr-protocol/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://signal.org/"&gt;Signal&lt;/a&gt; has added post-quantum cryptography with a new protocol called the &lt;strong&gt;SPQR (Sparse Post-Quantum Ratchet)&lt;/strong&gt;. This combines with Signal&amp;rsquo;s existing &lt;a href="https://signal.org/docs/specifications/doubleratchet/#introduction"&gt;Double Ratchet&lt;/a&gt; to form a Triple Ratchet system.&lt;/p&gt;
&lt;p&gt;Signal uses the quantum-secure &lt;a href="https://en.wikipedia.org/wiki/Kyber"&gt;Key-Encapsulation Mechanism (ML-KEM 768)&lt;/a&gt; algorithm alongside traditional elliptic curve cryptography, which means attackers need to break both elliptic curve and ML-KEM cryptography to read messages.&lt;/p&gt;
&lt;p&gt;Signal are rolling out this new protocol in multiple phases - initially allowing older non-SPQR clients to interact with up-to-date clients and for older sessions (which might last for years) to continue working. In their final phase (once Signal have determined that all clients support the new protocol) older sessions will be upgraded to use SPQR. These phases are being planned to ensure nothing changes from an end-user experience.&lt;/p&gt;</description></item><item><title>AI-Powered Spreadsheet Macro Security Analysis with Claude SDK</title><link>https://blog.bjdean.id.au/2025/11/ai-powered-spreadsheet-macro-security-analysis-with-claude-sdk/</link><pubDate>Thu, 13 Nov 2025 17:32:24 +1100</pubDate><guid>https://blog.bjdean.id.au/2025/11/ai-powered-spreadsheet-macro-security-analysis-with-claude-sdk/</guid><description>Building a Python tool that combines traditional parsing with Claude AI to detect and score malicious macros in Excel and OpenOffice spreadsheets</description></item><item><title>Post-Quantum Cryptography (PQC) and SSH/TLS</title><link>https://blog.bjdean.id.au/2025/10/post-quantum-cryptography-pqc-and-ssh-tls/</link><pubDate>Fri, 31 Oct 2025 17:38:31 +0000</pubDate><guid>https://blog.bjdean.id.au/2025/10/post-quantum-cryptography-pqc-and-ssh-tls/</guid><description>&lt;h1 id="preparing-for-the-quantum-future-a-practical-guide-to-post-quantum-cryptography"&gt;Preparing for the Quantum Future: A Practical Guide to Post-Quantum Cryptography&lt;/h1&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Advances in quantum processing capabilities are rapidly bringing forward the estimated date that a &lt;a href="https://www.cyber.gov.au/business-government/secure-design/planning-for-post-quantum-cryptography"&gt;cryptographically relevant quantum computer (CRQC)&lt;/a&gt; will be available and previously strong encryption algorithms will be broken. With the recommended date for ceasing the use of traditional asymmetric cryptography now only years away in 2030, &lt;a href="https://en.wikipedia.org/wiki/Harvest_now%2C_decrypt_later"&gt;&amp;ldquo;Harvest now, decrypt later&amp;rdquo;&lt;/a&gt; attacks mean switching to Post-Quantum Cryptography (PQC) strong encryption algorithms is something to do today.&lt;/p&gt;</description></item><item><title>Project-Based MCP: Targeted on-demand AI Integration</title><link>https://blog.bjdean.id.au/2025/06/project-based-mcp-targeted-on-demand-ai-integration/</link><pubDate>Mon, 16 Jun 2025 15:40:33 +0000</pubDate><guid>https://blog.bjdean.id.au/2025/06/project-based-mcp-targeted-on-demand-ai-integration/</guid><description>&lt;h1&gt;&lt;/h1&gt;
&lt;p&gt;Modern AI assistants are incredibly powerful, but they often lack the specific context needed to be truly effective on your projects. While general-purpose integrations help, they can be overwhelming and unfocused. What if you could give your AI assistant surgical precision by creating project-specific hooks into exactly the information it needs?&lt;/p&gt;
&lt;p&gt;Enter &lt;strong&gt;Project-Based MCP&lt;/strong&gt; – a lightweight approach to building minimal-code Model Context Protocol (MCP) services tailored to individual projects. Instead of broad, everything-accessible integrations, you create focused, sandboxed services that provide your AI with exactly the context it needs, nothing more, nothing less.&lt;/p&gt;</description></item><item><title>openssl s_client - SNI testing with -servername</title><link>https://blog.bjdean.id.au/2019/05/openssl-s_client-sni-testing-with-servername/</link><pubDate>Mon, 13 May 2019 14:05:37 +0000</pubDate><guid>https://blog.bjdean.id.au/2019/05/openssl-s_client-sni-testing-with-servername/</guid><description>&lt;p&gt;When testing network connections to a server using the TLS &lt;a href="https://en.wikipedia.org/wiki/Server_Name_Indication"&gt;SNI&lt;/a&gt; extension to allow a single IP address to respond with different certificates the &lt;a href="https://www.openssl.org/docs/manmaster/man1/s_client.html"&gt;openssl s_client&lt;/a&gt; program supports this with the &lt;strong&gt;-servername&lt;/strong&gt; command-line option:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;-servername name&lt;/strong&gt;
Set the TLS SNI (Server Name Indication) extension in the ClientHello message to the given value. If -servername is not provided, the TLS SNI extension will be populated with the name given to -connect if it follows a DNS name format. If -connect is not provided either, the SNI is set to &amp;ldquo;localhost&amp;rdquo;. This is the default since OpenSSL 1.1.1.
Even though SNI should normally be a DNS name and not an IP address, if -servername is provided then that name will be sent, regardless of whether it is a DNS name or not.
This option cannot be used in conjunction with -noservername.&lt;/p&gt;</description></item><item><title>Which ssh publickey was used to access an account</title><link>https://blog.bjdean.id.au/2017/07/which-ssh-publickey-was-used-to-access-an-account/</link><pubDate>Mon, 10 Jul 2017 01:23:25 +0000</pubDate><guid>https://blog.bjdean.id.au/2017/07/which-ssh-publickey-was-used-to-access-an-account/</guid><description>&lt;p&gt;When you have more than one public key set up to be able to access a single account (ie more than one public key listed in the authorized_keys you may want to check which public key was used to make a login). Since &lt;a href="http://www.openssh.com/txt/release-6.3"&gt;openssh 6.3&lt;/a&gt; (released 2013) the public key fingerprint is logged - for example the below shows a set of made up &amp;ldquo;Accepted publickey&amp;rdquo; entries from an ssh auth.log:&lt;/p&gt;</description></item><item><title>Protecting Joomla : User-Registration Spam Relay</title><link>https://blog.bjdean.id.au/2015/07/protecting-joomla-user-registration-spam-relay/</link><pubDate>Sat, 18 Jul 2015 10:35:05 +0000</pubDate><guid>https://blog.bjdean.id.au/2015/07/protecting-joomla-user-registration-spam-relay/</guid><description>&lt;h1 id="the-problem-a-default-setting"&gt;The Problem: A Default Setting&lt;/h1&gt;
&lt;p&gt;By default user registration is &lt;strong&gt;enabled&lt;/strong&gt;.
It&amp;rsquo;s important to realise that even though links to the user registration page may not have been included in the design of a Joomla site the components are still present and they will be regularly targetted by automatic spiders searching for vulnerable sites. Check access logs  for requests to paths like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/index.php/shop-login&lt;/li&gt;
&lt;li&gt;/index.php/shop-login?view=registration&amp;amp;layout=complete&lt;/li&gt;
&lt;li&gt;/index.php/component/users/?view=registration&lt;/li&gt;
&lt;li&gt;/index.php/component/user/?task=register&lt;/li&gt;
&lt;li&gt;/index.php?option=com_user&amp;amp;view=register&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With user registration enabled scripts can use a Joomla site as an &lt;a href="https://en.wikipedia.org/wiki/Open_mail_relay" title="Open Mail Relay"&gt;open mail relay&lt;/a&gt; by registering users with target email addresses and inserting spam/attack payload into the user details. The Joomla site will send a confirmation email to the target email address, and any email tracing of the source of the email will lead directly to the weakened Joomla server.&lt;/p&gt;</description></item></channel></rss>