<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Himazawa - Autore - appsec &amp; stuff</title><link>https://appsec.space/it/authors/himazawa/</link><description>Himazawa - Autore - appsec &amp; stuff</description><generator>Hugo -- gohugo.io</generator><language>it</language><lastBuildDate>Sat, 30 Mar 2024 19:49:24 +0100</lastBuildDate><atom:link href="https://appsec.space/it/authors/himazawa/" rel="self" type="application/rss+xml"/><item><title>La backdoor di xz dalla prospettiva di un Security Engineer</title><link>https://appsec.space/it/posts/xz-backdoor/</link><pubDate>Sat, 30 Mar 2024 19:49:24 +0100</pubDate><author><name>himazawa</name></author><guid>https://appsec.space/it/posts/xz-backdoor/</guid><description><![CDATA[<div class="featured-image">
                <img src="/posts/xz-backdoor/xz.png" referrerpolicy="no-referrer">
            </div><p>Come probablilmente già sai, <code>xz</code> è stato compromesso.
Per i non addetti ai lavori <code>xz</code> è una libreria per la compressione dei dati molto utilizzata sopratutto su Linux.</p>
<p>Il pacchetto è stato usato come entrypoint per l&rsquo;injection di codice malevolo in <code>sshd</code>, modificandone il flusso di autenticazione. <a href="https://bsky.app/profile/filippo.abyssdomain.expert/post/3kowjkx2njy2b" target="_blank" rel="noopener noreferrer">Sembrerebbe che ci sia una code execution direttamente tramite i parametri della chiave</a>.</p>
<p>Questa vulnerabilità, introdotta deliberatamente attraverso una backdoor, è conosciuta come <a href="https://nvd.nist.gov/vuln/detail/CVE-2024-3094" target="_blank" rel="noopener noreferrer">CVE-2024-3094</a>.</p>
<div class="details admonition note open">
    <div class="details-summary admonition-title">
        <span class="icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"/></svg></span>Note<span class="details-icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"/></svg></span>
    </div>
    <div class="details-content">
        <div class="admonition-content">La situazione si sta ancora evolvendo, maggiori dettagli emergeranno nel prossimo futuro e aggiornerò il post di conseguenza.</div></div></div>
<p>Si tratta probabilmente di un&rsquo;operazione a tutti gli effetti vista la metodologia e la durata (quasi due anni), ma non sono la persona giusta per parlare di attributions,  OpSec e Threat Actors.
Nella sezione &ldquo;Risorse&rdquo; in fondo alla pagina ci sono link che riportano ad analisi più dettagliate.</p>
<p>La situazione non sembra rosea quindi sto provando a scrivere questo blogpost in modo tale da fare un pò di chiarezza.</p>
<p>Non voglio trattare aspetti troppo tecnici della compromissione ma voglio guardare alla issue dalla prospettiva di un Security Engineer, riassumendo cosa è andato storto e quali sono le possibili remediation a questo problema.</p>
<h2 id="timeline" class="headerLink">
    <a href="#timeline" class="header-mark"></a>1 Timeline</h2><div class="details admonition tip">
    <div class="details-summary admonition-title">
        <span class="icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"/></svg></span>tip<span class="details-icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"/></svg></span>
    </div>
    <div class="details-content">
        <div class="admonition-content">Controlla la sezione Risorse per i link ad una timeline più dettagliata</div></div></div>
<ul>
<li>
<p><strong>2023</strong>:</p>
<ul>
<li>Un nuovo maintainer appare sul progetto <code>xz</code></li>
</ul>
</li>
<li>
<p><strong>29 Mar 2024</strong>:</p>
<ul>
<li>
<p>Andres Freund invia un&rsquo;email alla mailing list oss-security che riguarda una backdoor in <code>xz/liblzma</code>.
Stava ottimizzando la sua infrastruttura e si è accorto che ssh era &ldquo;sospettosamente&rdquo; lento (parliamo di 400ms di differenza, difficilmente notabili a meno che non si stia facendo micro ottimizzazione). Qualche debug dopo si è accorto che la problmatica di performace era probabilmente causata dal codice della backdoor. L&rsquo;analisi iniziale è stata fatta con l&rsquo;aiuto di Florian Weimer.</p>
</li>
<li>
<p>Le distribuzioni impattate (che quindi contenevano il pacchetto <code>xz</code>) hanno cominciato a rilasciare patch di downgrade a una versione precedente</p>
</li>
</ul>
</li>
<li>
<p><strong>30 Mar 2024</strong>:</p>
<ul>
<li>
<p>GitHub ha bloccato l&rsquo;accesso al repository e ha sospeso l&rsquo;account di entrambi i maintainer di <code>xz</code></p>
</li>
<li>
<p>Un <a href="https://tukaani.org/xz-backdoor/" target="_blank" rel="noopener noreferrer">comunicato ufficiale</a> è stato rilasciato dal maintainer del progetto</p>
</li>
</ul>
</li>
<li>
<p><strong>31 Mar 2024</strong>:</p>
<ul>
<li>Un <strong>potenziale</strong> <a href="https://gist.github.com/sgammon/ec604c3fabd1a22dd3cdc381b736b03e" target="_blank" rel="noopener noreferrer">killswitch</a> è stato identificato, prendete questa informazione con le pinze.</li>
</ul>
</li>
</ul>
<h2 id="componenti-impattate" class="headerLink">
    <a href="#componenti-impattate" class="header-mark"></a>2 Componenti impattate</h2><p>L&rsquo;estensione di questo breach è ancora poco chiaro di seguito è riportata una (parziale) lista dei componenti che contiengono la versione malevola di <code>xz</code>:</p>
<p>Distribuzioni:</p>
<ul>
<li><a href="https://archlinux.org/news/the-xz-package-has-been-backdoored/" target="_blank" rel="noopener noreferrer">Arch</a></li>
<li><a href="https://security-tracker.debian.org/tracker/CVE-2024-3094" target="_blank" rel="noopener noreferrer">Debian Sid</a></li>
<li><a href="https://bugs.gentoo.org/928134" target="_blank" rel="noopener noreferrer">Gentoo</a></li>
<li><a href="https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users" target="_blank" rel="noopener noreferrer">Fedora 40</a></li>
<li>Manjaro Testing</li>
<li><a href="https://www.parabola.nu/news/arch-announce-the-xz-package-has-been-backdoored/" target="_blank" rel="noopener noreferrer">Parabola</a></li>
<li>NixOS Unstable</li>
<li>Slackware</li>
<li><a href="https://news.opensuse.org/2024/03/29/xz-backdoor/" target="_blank" rel="noopener noreferrer">SUSE Tumbleweed</a></li>
<li><a href="https://infosec.exchange/@kalilinux/112180505434870941" target="_blank" rel="noopener noreferrer">Kali Linux</a></li>
</ul>
<p>Il pacchetto con la backdoor è inoltre contenuto nei repository dei seguenti package manager:</p>
<ul>
<li>Homebrew</li>
<li>MacPorts</li>
<li>pkgsrc</li>
</ul>
<p>Al momento sappiamo che ci sono dei controlli nel codice della backdoor che riguardano <a href="https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27#design" target="_blank" rel="noopener noreferrer">specificatamente le istanze di Linux x86_64/amd64</a> quindi il numero dei target effettivi potrebbe essere ridotto (relativamente) ma la situazione è poco chiara, non raccomanderei di tenere un pacchetto compromesso sul sistema.</p>
<h2 id="considerazioni" class="headerLink">
    <a href="#considerazioni" class="header-mark"></a>3 Considerazioni</h2><h3 id="il-comportamento-di-github" class="headerLink">
    <a href="#il-comportamento-di-github" class="header-mark"></a>3.1 Il comportamento di GitHub</h3><p>Le ragioni dietro il blocco dei repository di <code>xz</code> è ancora un mistero per me, specialmente sapendo che con il codice disponibile è possibile anche fare ulteriori analisi e avere uno scenario più chiaro della compromissione.</p>
<p>Il blocco dell&rsquo;accesso ai sortgenti di <code>xz</code> è un fattore che rallenterà l&rsquo;arrivo delle analisi, che è un male  in una situazione time-critical come questa.</p>
<h3 id="i-downgrade" class="headerLink">
    <a href="#i-downgrade" class="header-mark"></a>3.2 I downgrade</h3><p>La patch strategy per praticamente tutti è stata di forzare il downgrade dalle versioni <code>5.6.0</code>-<code>5.6.1</code> ad una precedente.
Qualcuno(homebrew, per esempio), ha forzato il downgrade alla versione <code>5.4.6</code>.</p>
<p>Questo è interessante perchè sicurametne sappiamo che c&rsquo;è una backdoor sulle versioni <code>5.6.0</code>-<code>5.6.1</code>, ma sappiamo anche che l&rsquo;attaccante ha lavorato sul repository per più di due anni.</p>
<p>La versione <code>5.4.6</code>, ad esempio, è stata anch&rsquo;essa compilata dall&rsquo;attaccante e non dovrebbe essere considerata safe.
Ancora una volta, grazie GitHub per aver bloccato l&rsquo;accesso ai sorgenti e contribuito a far capire ancora meno la situazione.</p>
<h2 id="come-si-previene-questo-fenomeno" class="headerLink">
    <a href="#come-si-previene-questo-fenomeno" class="header-mark"></a>4 Come si previene questo fenomeno?</h2><p>Come ho detto all&rsquo;inizio del post, non voglio scendere troppo in profondità con l&rsquo;analisi tecnica della backdoor, per due ragioni principali: con l&rsquo;accesso al codice sorgente bloccato <a href="https://github.com/xz-mirror/xz" target="_blank" rel="noopener noreferrer">solo un archivio</a> (al momento della scrittura) è disponibile, le informazioni sono incomplete e non vorrei davvero reversare il binario di <code>xz</code>.</p>
<p>Inoltre, e questo è il motivo più importante, persone con più conoscienze di me sul modo di operare dei Threat Actors ci stanno già lavorando.
Non appena verranno pubblicati i primi articoli tecnici saranno disponibili nella sezione &ldquo;Risorse&rdquo;, in fondo alla pagina</p>
<p>Una cosa che però posso fare qui è mostrare il punto di vista di un Security Engineer sul problema, come avrei mitigato la situazione e quali step sono andati storti.</p>
<div class="details admonition note">
    <div class="details-summary admonition-title">
        <span class="icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"/></svg></span>Note<span class="details-icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"/></svg></span>
    </div>
    <div class="details-content">
        <div class="admonition-content">TL;DR: non esiste una reale soluzione al problema</div></div></div>
<h3 id="problemi-di-fiducia" class="headerLink">
    <a href="#problemi-di-fiducia" class="header-mark"></a>4.1 Problemi di fiducia</h3><p><img class="tw-inline" loading="lazy" src='https://imgs.xkcd.com/comics/dependency_2x.png'     ></p>
<p><code>xz</code> è un software mantenuto (fino al 2023) da una singola persona. Successivamente un altro maintainer è arrivato ma sfortunatamente per noi, è la stessa persona che ha inviato la backdoor upstream. Questo ovviamente va in conflitto col fatto che <code>xz</code> sia un pacchetto incredbilimente popolare in tantissime distribuzioni e parte delle dipednenze di numerosi software.</p>
<p>Probabilmente questo è stato visto dall&rsquo;attaccante come una miniera d&rsquo;oro dal momento che risultava facile riuscire a farsi affidare il ruolo di maintainer e pubblicare codice malevolo.</p>
<p>Dovendo fare affidamento a  codice di terze parti per la supply chain, è necessario avere fiducia in qualcuno a un certo punto.
Quando si parla di Supply Chain security, le raccomandazioni sono sempre le stesse: pin degli hash e verifica delle firme.</p>
<p>Questo funziona fino a quando ci troviamo in scenari dove un attaccante ha compromesso la CICD della dipedenza e invia build malevole, un account è stato compromesso etc.</p>
<p>Ma cosa si può fare se, tutto a un tratto, un maintainer fidato si rivela malevolo?</p>
<p>Da utente standard, a meno che tu non voglia (e sia capace) di fare code review a ogni singolo commit di ogni singolo pezzo di software con cui interagisce il tuo sistema operativo: più o meno nulla.</p>
<p>Dall&rsquo;altro lato, i developers e gli owner dei repsitory dovrebbero aumentare i controlli della loro supply chain includendo metriche più strette al fine di escludere pacchetti con alto rischio.</p>
<p>Una delle cose più ricorrenti che si sentono quando si parla si Open Source e Security sono le persone che credono che, dal momento che il codice sorgente è disponibile, magicamente risulta sicuro.</p>
<p>Uno dei fattori spesso trascurato è l&rsquo;assunzione che avere accesso al sorgente si traduce automaticamente in un pool maggiore di occhi che cercano problemi e vulnerabilità.</p>
<p>L&rsquo;efficacia di queste review dipende principamente dal livello di coinvolgimento della community e dall&rsquo;esperienza delle persone che poi quel codice effettivamente lo leggono, e di solito non è tanto. Molti progetti ricevono pochissima attenzione e solo pochi contribuiscono attivamente ai processi di review. Come risultato, le vulnerabilità (intenzionali o meno) possono passare inosservate per lunghi periodi di tempo, creando un rischio significante per gli utenti.</p>
<p>Ogni volta che una discussione come questa si riapre, mi torna in mente il <a href="https://blog.infosectcbr.com.au/2018/11/pitfalls-using-strcat.html" target="_blank" rel="noopener noreferrer">&ldquo;Mese di Kali&rdquo; di InfosectCBR</a>, dove <a href="https://twitter.com/silviocesare" target="_blank" rel="noopener noreferrer">Silvio Cesare</a> ha passato un mese a trovare e pubblicare vulnerabilità nei software contenuti nei repository di Kali Linux.</p>
<p>Di seguito riporto una lista (parziale) di fattori che potrebbero contribuire a ridurre il rischio:</p>
<h3 id="statistiche-di-github" class="headerLink">
    <a href="#statistiche-di-github" class="header-mark"></a>4.2 Statistiche di GitHub</h3><p>Giusto per essere chiaro fin dall&rsquo;inizio: No, non si può fare affidamento su queste metriche.</p>
<p>Esiste un mercato sulla compravendita di statistiche di GitHub come stelle, fork etc.
Puoi trovare un buon articolo qui: <a href="https://dagster.io/blog/fake-stars" target="_blank" rel="noopener noreferrer">https://dagster.io/blog/fake-stars</a></p>
<h3 id="engagement-della-community" class="headerLink">
    <a href="#engagement-della-community" class="header-mark"></a>4.3 Engagement della community</h3><p>Valutare sempre la dimensione e l&rsquo;engagement della community che circonda il progetto.</p>
<p>Una community grande ed attiva può fornire occhi aggiuntivi sulle code review, i bug report etc.</p>
<p><code>xz</code> aveva letteralmente 2 maintainers e uno dei due è risultato essere l&rsquo;attore malevolo.</p>
<h3 id="fondi-e-supporto" class="headerLink">
    <a href="#fondi-e-supporto" class="header-mark"></a>4.4 Fondi e supporto</h3><p>Condsiderare sempre l&rsquo;aspetto economico del progetto e da chi sta venendo finanziato. I progetti con dei fondi dedicati tendono ad avere risorse aggiuntive per i security audit e la manutenzione del codice e soprattutto è meno probabile che vengano abbandonati.</p>
<div class="details admonition tip open">
    <div class="details-summary admonition-title">
        <span class="icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"/></svg></span>Tip<span class="details-icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"/></svg></span>
    </div>
    <div class="details-content">
        <div class="admonition-content">Ricorda: si vuole fare affidamento su quel codice per l&rsquo;intera settimana, non solo durante il tempo libero del maintainer. I progetti con un buon supporto finanziario è molto più probabile divengano lavori a tempo pieno che solo hobby da portare avanti sporadicamente.</div></div></div>
<h3 id="sdlc" class="headerLink">
    <a href="#sdlc" class="header-mark"></a>4.5 SDLC</h3><p>Una buona porzione della valutazione dovrebbe concentrarsi sul ciclo si sviluppo del software per assicurarsi che i gate (di sicurezza e qualità più in generale) siano implementati correttamente, le pull request abbiano bisogno di approvazione e ci siano delle pratiche sane che non permettano ad un singolo contributor di inviare codice malevolo senza approvazione.</p>
<p>Inoltre è necessario tenere in cosiderazione che siamo umani e commettiamo errori. Passare una code review non significa automaticamente che il codice sia sicuro, come ho detto prima: non esiste una vera soluzione al problema, solo modi per abbassare la probabilità che le cose brutte accadano.</p>
<h3 id="enterprise-vs-individual" class="headerLink">
    <a href="#enterprise-vs-individual" class="header-mark"></a>4.6 Enterprise vs Individual</h3><p>Questo è un argomento abbastanza controverso perchè ci sono progetti mantenuti da persone individuali che sono ben strutturati.
Di solito però, utilizzando cdice prodotto da (grandi) aziende renderà più probabile l&rsquo;avere delle best practice di sviluppo, avere un continuo stream di fondi per mantenere il progetto in piedi e soprattuto difficilmente una grande azienda metterebbe una backdoor di proposito nel proprio codice. Di nuovo, questo aumenta solo le probabilità, non va preso come concetto assoluto ;)</p>
<h3 id="controlli-ricorsivi" class="headerLink">
    <a href="#controlli-ricorsivi" class="header-mark"></a>4.7 Controlli Ricorsivi</h3><p>Il progetto che stai includendo probabilmente avrà anch&rsquo;esso delle dipendenze, assicurati che i maintainers applichino a loro volta lo stesso scrutinio sulla loro supply chain per evitare compromissioni indirette.</p>
<h2 id="risorse" class="headerLink">
    <a href="#risorse" class="header-mark"></a>5 Risorse</h2><ul>
<li>OSS-Security List: <a href="https://www.openwall.com/lists/oss-security/2024/03/29/4" target="_blank" rel="noopener noreferrer">https://www.openwall.com/lists/oss-security/2024/03/29/4</a></li>
<li>Comprehensive timeline: <a href="https://boehs.org/node/everything-i-know-about-the-xz-backdoor" target="_blank" rel="noopener noreferrer">https://boehs.org/node/everything-i-know-about-the-xz-backdoor</a></li>
<li>Compromise link roundup: <a href="https://shellsharks.com/xz-compromise-link-roundup" target="_blank" rel="noopener noreferrer">https://shellsharks.com/xz-compromise-link-roundup</a></li>
<li>Obfuscation Analysis: <a href="https://gynvael.coldwind.pl/?lang=en&amp;id=782" target="_blank" rel="noopener noreferrer">https://gynvael.coldwind.pl/?lang=en&id=782</a></li>
<li>Backdoor Analysis: <a href="https://gist.github.com/smx-smx/a6112d54777845d389bd7126d6e9f504" target="_blank" rel="noopener noreferrer">https://gist.github.com/smx-smx/a6112d54777845d389bd7126d6e9f504</a></li>
<li>Additional info: <a href="https://bsky.app/profile/filippo.abyssdomain.expert/post/3kowjkx2njy2b" target="_blank" rel="noopener noreferrer">https://bsky.app/profile/filippo.abyssdomain.expert/post/3kowjkx2njy2b</a></li>
</ul>]]></description></item><item><title>Security Theatre? Direi quasi Security Circus</title><link>https://appsec.space/it/posts/security-theatre/</link><pubDate>Mon, 13 Feb 2023 20:20:00 +0100</pubDate><author><name>himazawa</name></author><guid>https://appsec.space/it/posts/security-theatre/</guid><description><![CDATA[<div class="featured-image">
                <img src="/posts/security-theatre/cargocult.jpg" referrerpolicy="no-referrer">
            </div><p>Lavorando nel campo, ho visto molte organizzazioni investire una quantita&rsquo; significativa di tempo e risorse (che si traduce in persone e soldi), in misure che garantiscono poca se non zero, reale sicurezza.</p>
<p>Ho assistito a organizzazioni che si esibiscono in un eterno clown show nel nome della security.</p>
<p>Questo fenomeno e&rsquo; comunemente chiamato &ldquo;security theatre&rdquo;.</p>
<h2 id="cosa-e-il-security-theatre" class="headerLink">
    <a href="#cosa-e-il-security-theatre" class="header-mark"></a>1 Cosa e&rsquo; il Security Theatre</h2><p>Il security theatre, nella sua forma piu&rsquo; semplice, e&rsquo; una grande illusione. E&rsquo; l&rsquo;insieme di misure di sicurezza messe in piedi non perche&rsquo; prevengano realmente i data breach, ma solo perche&rsquo; sulla carta sembrano buoni, tranquillizzano gli stakeholders e fanno sentire tutti come se stessero davvero facendo qualcosa di utile per proteggersi.</p>
<p><a href="https://www.youtube.com/watch?v=MzQPTdDwtVk" target="_blank" rel="noopener noreferrer">Lo senti? Lo senti l&rsquo;odore? <em>compliance</em> figliolo, non c&rsquo;e&rsquo; nient&rsquo;altro al mondo che odora cosi&rsquo;. </a>.</p>
<p>Come esempio, prendiamo il requisito di avere password complesse che devono essere regolarmente cambiate. Questo e&rsquo; il classico esempio di security theatre.</p>
<p>Per quanto possa sembrare una buona fa molto poco per prevenire un data breach. E non dimentichiamoci il downside principale: la cosiddetta &ldquo;password fatigue&rdquo;, che porta i dipendenti a usare password che sono piu&rsquo; facili da ricordare o sempli variazioni di quelle usate in precedenza. Del resto c&rsquo;e&rsquo; un motivo (molti in realta&rsquo;) se <a href="https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/expansion-of-fido-standard-and-new-updates-for-microsoft/ba-p/3290633" target="_blank" rel="noopener noreferrer">Microsoft</a>, <a href="https://blog.google/technology/safety-security/one-step-closer-to-a-passwordless-future/" target="_blank" rel="noopener noreferrer">Google</a> ed <a href="https://www.apple.com/newsroom/2022/05/apple-google-and-microsoft-commit-to-expanded-support-for-fido-standard/" target="_blank" rel="noopener noreferrer">Apple</a> vogliono abbandonare del tutto le password.</p>
<figure><img src="https://imgs.xkcd.com/comics/password_strength.png"><figcaption>
      <h4>sistema la tua password policy</h4>
    </figcaption>
</figure>

<p>Un altro esempio di security theatre e&rsquo; il fatto di implementare sistemi che dovrebbero dare un livello aggiuntivo di sicurezza come firewall, IDS e IP (in realta&rsquo; potremmo aprire un dibattito sul fatto che aumentino o diminuiscano la superficie d&rsquo;attacco), per poi non aggiornali.</p>
<h2 id="cause" class="headerLink">
    <a href="#cause" class="header-mark"></a>2 Cause</h2><p>Quindi, cosa possono fare le aziende per evitare questo circo infinito? Prima di tutto dovrebbero capire quali sono i veri rischi che corrono e implementare contromisure che li indirizzino in maniera adeguata. Questo deve includere in primo luogo la formazione dei dipendenti su come riconoscere e rispondere ad un attacco.</p>
<p>Dopotutto, la cybersecurity non e&rsquo; altro che la Corsa all&rsquo;Oro 2.0, ci sono moltissimi soldi sul tavolo e tutti ne vogliono una fetta, questo causa pero&rsquo; difficolta&rsquo; nel trovare genete realmente preparata e se per caso ci si volesse affidare a dei consulenti esterni sarebbe ancora peggio, in quanto si dipenderebbe completamente da un&rsquo;entita&rsquo; esterna per la propria Security Posture.</p>
<h2 id="tirando-le-somme" class="headerLink">
    <a href="#tirando-le-somme" class="header-mark"></a>3 Tirando le somme</h2><p>In conclusione, il security theatre e&rsquo; un problema comune nel mondo dell&rsquo;IT Security. Per evitare di far parte di questo pessimo show le organizzazioni dovrebbero concentrarsi nell&rsquo;implementare controlli funzionia, nel testarne regolarmente l&rsquo;efficacia e nell&rsquo;avere un piano di risposta comprensivo.
A, per favore, smettiamola con le policy inutili.</p>
<div class="details admonition tip open">
    <div class="details-summary admonition-title">
        <span class="icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"/></svg></span>Tip<span class="details-icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"/></svg></span>
    </div>
    <div class="details-content">
        <div class="admonition-content"><a href="https://www.philvenables.com/post/ceremonial-security-and-cargo-cults" target="_blank" rel="noopener noreferrer">Qui</a> puoi trovare un articolo di Phil Venables, CISO di Google, sulla Cerimonial Security e i Cargo Cults.</div></div></div>]]></description></item><item><title>Tanto tempo che non ci si vede</title><link>https://appsec.space/it/posts/long-time-no-see/</link><pubDate>Mon, 06 Feb 2023 00:01:18 +0100</pubDate><author><name>himazawa</name></author><guid>https://appsec.space/it/posts/long-time-no-see/</guid><description><![CDATA[<div class="featured-image">
                <img src="/posts/long-time-no-see/header.jpg" referrerpolicy="no-referrer">
            </div><p>Tanto tempo che non ci si vede, eh? Sono successe tante cose dall&rsquo;ultimo post nel 2018 sul <a href="https://bsod.dev" target="_blank" rel="noopener noreferrer">vecchio blog</a>.</p>
<p>Sfortunatamente non ho scritto molto, sia per mancanza di tempo sia per l&rsquo;impossibilita&rsquo; di condivider cio&rsquo; che ho imparato.
Questo post contiene un&rsquo;introduzione a questo nuovo sito e come funzionera&rsquo; d&rsquo;ora in poi.</p>
<p>Innanzitutto, sono ancora nel campo della security, ma mi sono spostato alla parte di Product Security (di piu&rsquo; su questo argomento piu&rsquo; avanti ma TL;DR: noia, carriera e opportunita&rsquo; di cresita, frustrazione e paura di andare in burnout).</p>
<p>Fortunatamente nel mio attuale lavoro mi vengono concessi tempo e risorse per fare anche vulnerability research quindi occasionalmente postero&rsquo; alcune vulnerabilita&rsquo; interessanti che ho trovato.</p>
<p>Vorrei inoltre parlare degli aspetti dell&rsquo;Application Security a applicata al SDLC, vedremo se funzionera'.</p>
<h2 id="il-funzionamento-di-questo-blog" class="headerLink">
    <a href="#il-funzionamento-di-questo-blog" class="header-mark"></a>1 Il funzionamento di questo blog</h2><p>Il setup e&rsquo; molto semplice, uso <a href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">hugo</a> per buildare pagine statiche che vengono pubblicate su una GithubPage.</p>
<p>C&rsquo;e&rsquo; una <a href="https://github.com/peaceiris/actions-hugo" target="_blank" rel="noopener noreferrer">Github Action</a> che builda e deploya le pagine ogni volta che una Pull Request viene approvata sul branch <code>main</code>.</p>
<p><figure><img  loading="lazy" src='/posts/long-time-no-see/blog_CI_CD.png'    height="746" width="1104"><figcaption class="image-caption">Un grafico che rappresenta il flusso logico dietro il sistema di deployment del blog</figcaption>
</figure></p>
<p>Il tema che uso e&rsquo; <a href="https://hugoloveit.com/" target="_blank" rel="noopener noreferrer">LoveIt</a>. E&rsquo; molto carino e ricco di funzionalita&rsquo; ma ha alcuni bug che devono essere fixati; per esempio, se stai leggendo questa pagina in Italiano ti sarai accorto che l&rsquo;header ha le traduzioni abbastanza fatte a caso.</p>
<p>La localization del tema e&rsquo; una feature molto carina ma dover riscrivere ogni volta lo stesso post per ogni linguaggio e&rsquo; abbastanza tedioso quindi penso che aggiungero&rsquo; il supporto a DeepL.</p>
<p>Infine, il blog ha un nuovo logo:
<figure><img  loading="lazy" src='/images/logo.png'     ><figcaption class="image-caption">appsec.space logo</figcaption>
</figure></p>
<p>E&rsquo; stato generato da <a href="https://midjourney.com" target="_blank" rel="noopener noreferrer">Midjourney</a> e non significa assolutamente nulla!</p>
<h2 id="il-futuro" class="headerLink">
    <a href="#il-futuro" class="header-mark"></a>2 Il futuro</h2><p>Ho intenzione di cambiare molte cose: prima di tutto vorrei migrare tutti i post del vecchio blog perche&rsquo; vorreri mantenere un archivio. Successivamente potro&rsquo; cominciare a scrivere nuovi post.
<div class="details admonition note open">
    <div class="details-summary admonition-title">
        <span class="icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"/></svg></span>Note<span class="details-icon"><svg class="icon"
    xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"/></svg></span>
    </div>
    <div class="details-content">
        <div class="admonition-content">Se il vecchio blog risponde con un redirect a quello nuovo significa che la migrazione e&rsquo; stata completata.</div></div></div></p>
<p>Nonostante il nome sia <code>appsec.space</code> mi piacerebbe parlare di diversi argomenti, spaziando dall&rsquo;Application security, al Malware Development (a scopo formativo, <a href="https://www.youtube.com/watch?v=zlbe6BsLCNc" target="_blank" rel="noopener noreferrer">ovviamente</a>), al mio setup per la produttivita&rsquo; a lamentele varie.</p>
<p>Il prossimo post sara&rsquo; sul <a href="https://en.wikipedia.org/wiki/Security_theater" target="_blank" rel="noopener noreferrer">Security Theater</a> quindi, come diceva qualcuno, ci vediamo li.</p>]]></description></item></channel></rss>