10. Appendice Windows: rilevamento errato di blunderDB come malware

Nota

Quanto segue riguarda i sistemi operativi Windows 10 e 11.

Oggi Windows richiede alle società di editoria software o agli sviluppatori software indipendenti di certificare digitalmente le proprie applicazioni o addirittura di distribuirle tramite il Windows Store. È quindi consigliato rivolgersi a società esterne per ottenere un certificato digitale al costo di diverse centinaia di euro (vedere ad esempio https://learn.microsoft.com/en-us/archive/blogs/ie_fr/certificats-de-signature-de-code-ev-extended-validation-et-microsoft-smartscreen ).

Offrendo blunderDB gratuitamente, non desidero orientarmi verso queste opzioni onerose. È stata esplorata una via gratuita riservata al software libero (la SignPath Foundation, https://signpath.org/), ma la candidatura non è andata a buon fine; i binari Windows non sono quindi firmati digitalmente. Di conseguenza, è molto probabile che Windows vi avvisi di un potenziale pericolo o addirittura blocchi completamente l’esecuzione di blunderDB. Le sezioni seguenti spiegano le operazioni da eseguire per superare le riserve di Windows e come verificare l’integrità del binario scaricato.

10.1. Avviso Windows SmartScreen

Dopo aver scaricato blunderDB, durante la sua esecuzione è possibile che Windows mostri un avviso del tipo

_images/smartscreen_en.png

Se desiderate autorizzare un eseguibile specifico bloccato da SmartScreen:

  1. Provare a eseguire l’eseguibile:

    • Quando provate ad avviare l’eseguibile, SmartScreen può bloccarlo e mostrare un avviso.

  2. Fare clic su «Ulteriori informazioni»:

    • Nella finestra di avviso di SmartScreen, fate clic su Ulteriori informazioni.

  3. Selezionare «Esegui comunque»:

    • Se vi fidate dell’eseguibile, fate clic su Esegui comunque per aggirare l’avviso di SmartScreen per questa istanza.

10.2. Blocco di Windows Defender

Per alcune impostazioni di sicurezza di Windows, può capitare che nonostante lo sblocco di SmartScreen (vedere la sezione precedente), Windows Defender impedisca l’esecuzione di blunderDB con messaggi del tipo

_images/blunderdb_potential_virus.png

oppure

_images/threat_found_action_needed.png

o addirittura metterlo in quarantena.

Windows Defender è noto per generare falsi positivi. Questo problema è esplicitamente menzionato nelle FAQ del sito ufficiale di Golang ( https://go.dev/doc/faq#virus ) o in ticket Github di alcuni progetti programmati in Go ( https://github.com/golang/vscode-go/issues/3182 ).

Se desiderate impedire alla Sicurezza di Windows di analizzare blunderDB:

  1. Aprire la Sicurezza di Windows:

    • Andate su Start e digitate Sicurezza di Windows.

_images/win1.png
  1. Andare su «Protezione da virus e minacce»:

    • Fate clic su Protezione da virus e minacce.

_images/win2.png
  1. Gestire le impostazioni:

    • Scorrete verso il basso e fate clic su Gestisci impostazioni sotto Impostazioni di protezione da virus e minacce.

_images/win3.png
  1. Aggiungere o rimuovere esclusioni:

    • Scorrete fino alla sezione Esclusioni e fate clic su Aggiungi o rimuovi esclusioni.

_images/win4.png
  1. Aggiungere un’esclusione:

    • Fate clic su Aggiungi un’esclusione e selezionate File. Navigate quindi fino all’eseguibile che desiderate escludere e selezionatelo.

_images/win5.png
_images/win6.png
_images/win7.png

10.3. Verificare l’integrità del download (SHA256)

Ogni binario pubblicato nella pagina delle releases è accompagnato da un file .sha256 che ne contiene l’impronta crittografica. Verificare questa impronta permette di assicurarsi che il file scaricato sia autentico e non sia stato alterato, il che costituisce una garanzia utile in assenza di firma del codice.

Su Windows (PowerShell), nella cartella dei download:

Get-FileHash .\blunderDB-windows-<version>.exe -Algorithm SHA256

Confronta il valore visualizzato con quello del file blunderDB-windows-<version>.exe.sha256. I due devono essere identici.

Su Linux o macOS:

sha256sum -c blunderDB-linux-<version>.sha256      # Linux
shasum -a 256 -c blunderDB-macos-<version>.zip.sha256   # macOS