Aller au contenu principal

📩 bits est en disponibilitĂ© gĂ©nĂ©rale — quatre agents signĂ©s que vous pouvez tĂ©lĂ©charger et vĂ©rifier

· 7 minutes de lecture
Cert-IX Team
Platform Development Team

La famille bits — les agents qui s'exĂ©cutent sur vos propres machines — est dĂ©sormais tĂ©lĂ©chargeable depuis la page des tĂ©lĂ©chargements. Quatre binaires, tous signĂ©s avec la mĂȘme clĂ©, tous vĂ©rifiables avant que vous ne les exĂ©cutiez.

AgentVersionCe qu'il faitPlateformes
bitcollectorv0.1.0-gaUne vérité sur les actifs de qualité probante, depuis un hÎte : processus, paquets, ports, comptes, postureLinux amd64/arm64, macOS amd64/arm64, Windows amd64
bitscannerv0.1.3-gaTrouve les équipements que votre inventaire ne contient pasLinux amd64/arm64
bitenforcerv0.1.0-gaValidation de politique de durcissement et contrÎle préalableLinux amd64/arm64
bitmapperv0.1.0-gaCapture des connexions en direct — extrĂ©mitĂ©s, ports, protocole, compteurs, Ă©tat de la connexion. Aucune attribution par processus dans cette versionLinux amd64
Correction : bitmapper v0.1.0-ga n'attribue pas les flux Ă  des processus

La ligne ci-dessus indiquait d'abord « Capture des connexions en direct, avec attribution par processus », et l'entrĂ©e bitmapper de la section À quoi sert chaque agent affirmait que bitmapper rapporte « quels processus parlent rĂ©ellement Ă  quoi, avec une attribution par connexion ». Ces deux affirmations Ă©taient fausses pour le binaire que ce billet annonce, et elles l'Ă©taient dans le sens qui vous coĂ»te : l'attribution par processus est ce qui distingue bitmapper d'un scanner hors hĂŽte, et c'est la raison mĂȘme de le dĂ©ployer.

MesurĂ© sur le 0.1.0-ga publiĂ© — commit 64ebc64, l'artefact prĂ©sent aujourd'hui sur la page des tĂ©lĂ©chargements — 0 flux capturĂ© sur 12 portait la moindre attribution de processus, y compris un flux de 60 secondes dont le processus propriĂ©taire est restĂ© vivant et interrogeable de bout en bout. destination_process n'a jamais Ă©tĂ© renseignĂ© ailleurs que dans le code de test. Dans cette compilation, la recherche n'est tentĂ©e qu'une seule fois, Ă  la crĂ©ation de la connexion, face Ă  un instantanĂ© de la table des sockets qui ne peut pas contenir le socket d'une connexion sortante qui vient de naĂźtre ; aucun paquet ultĂ©rieur ne rĂ©essaie, et il n'existe aucune infĂ©rence Ă  partir des sockets en Ă©coute sur laquelle se rabattre, car ce code est tout simplement absent de 64ebc64.

Ce que fait rĂ©ellement v0.1.0-ga, c'est de la capture passive de flux, et cette partie-lĂ  est bien rĂ©elle. Chaque connexion suivie est exportĂ©e sous forme d'enregistrement de flux : extrĂ©mitĂ©s source et destination, ports, protocole, Ă©tat de la connexion, sens, interface, premiĂšre et derniĂšre observation, durĂ©e, compteurs d'octets et de paquets — sans jamais aucun octet de charge utile. C'est une rĂ©ponse utile Ă  « Ă  quoi cette machine parle-t-elle ». Ce n'est pas une rĂ©ponse Ă  « quel processus le fait ».

L'attribution par processus est implĂ©mentĂ©e et vĂ©rifiĂ©e — elle n'est simplement pas dans le binaire que vous pouvez tĂ©lĂ©charger. Sur le banc d'essai mĂȘme qui a mesurĂ© 0 sur 12, le remplacement attribue 12 flux sur 12, inscrit la rĂ©ponse du cĂŽtĂ© qui dĂ©tient rĂ©ellement le socket, et distingue une correspondance directe de socket d'une infĂ©rence, en refusant de nommer qui que ce soit lorsqu'un port compte plusieurs processus en Ă©coute. Cela arrivera dans la prochaine version de bitmapper. Nous n'y accolons pas de date ici : nous vous avons dĂ©jĂ  dit une fois que cette capacitĂ© Ă©tait livrĂ©e alors qu'elle ne l'Ă©tait pas.

Si vous avez téléchargé bitmapper sur la foi de la phrase d'origine, l'erreur est la nÎtre. L'attribution de processus expose exactement ce que le binaire d'aujourd'hui résout, et ce qui le remplacera.

Pourquoi certains agents affichent moins de plateformes que d'autres​

Parce qu'un binaire qui s'installe, se déclare sain et ne collecte rien est pire que pas de binaire du tout.

Chaque plateforme de ce tableau est une plateforme oĂč l'agent fait son travail. LĂ  oĂč il ne le ferait pas, nous ne l'avons pas publiĂ©, et nous prĂ©fĂ©rons le dire plutĂŽt que vous laisser le dĂ©couvrir aprĂšs un dĂ©ploiement :

  • bitenforcer est rĂ©servĂ© Ă  Linux. Toute sa surface, c'est iptables, sysctl, systemd et SELinux. Sur macOS, ces Ă©lĂ©ments n'existent pas : l'agent ne validerait rien, et ses primitives de retour arriĂšre n'auraient rien Ă  restaurer.
  • bitmapper est rĂ©servĂ© Ă  Linux amd64. Il lui faut une vĂ©ritable bibliothĂšque de capture de paquets compilĂ©e dedans. Une compilation qui en est dĂ©pourvue produit malgrĂ© tout un binaire exĂ©cutable — un binaire qui ne capture strictement rien — c'est pourquoi notre chaĂźne de publication refuse de signer un artefact incapable de dĂ©montrer qu'il capture.
  • bitscanner est rĂ©servĂ© Ă  Linux, pour la mĂȘme catĂ©gorie de raison : ses lecteurs de voisins et de routes sont implĂ©mentĂ©s pour Linux.

Nous nous attendons à ce que ces listes s'allongent. Quand ce sera le cas, ce sera parce que l'agent aura été éprouvé sur cette plateforme, pas parce qu'il aura compilé.

VĂ©rifiez avant d'exĂ©cuter​

Chaque version publiée livre une signature détachée, un SBOM et une attestation de compilation par binaire, ainsi qu'un SHA256SUMS signé couvrant l'ensemble. Les compilations sont reproductibles : la chaßne compile deux fois en repartant de zéro et refuse de publier si les deux résultats ne sont pas identiques au bit prÚs.

La clĂ© de signature est publiĂ©e Ă  trois endroits indĂ©pendants qui doivent concorder : le site de documentation, un enregistrement DNS TXT portant son empreinte, et un second enregistrement TXT portant la clĂ© elle-mĂȘme. Recoupez-en au moins deux. Une signature ne vaut que l'ancre de confiance qui la sous-tend, et une source unique relĂšve du rituel plutĂŽt que de la vĂ©rification.

# RĂ©cupĂ©rer la clĂ© via DNS — fonctionne dans la CI, oĂč la protection anti-bots bloque les rĂ©cupĂ©rations HTTPS simples
dig +short TXT _cosign-key.cert-ix.com | tr -d '"' | sed 's/.*key=//' \
| base64 -d | openssl pkey -pubin -inform DER -out cosign.pub

# Confirmer que c'est bien NOTRE clé, face à l'empreinte publiée sur le site de documentation
openssl pkey -pubin -in cosign.pub -outform DER | sha256sum
# attendu : 552839f6b1b1eb0934557e1886326c7270584fa602fbf56f84754a98be3de822

# Puis vérifier la version que vous avez téléchargée
cosign verify-blob --key cosign.pub --bundle SHA256SUMS.sig \
--insecure-ignore-tlog=true SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
Le DNS est le transport, pas l'ancre de confiance

cert-ix.com ne publie pas encore d'enregistrement DS : les rĂ©ponses DNS ne sont donc pas validĂ©es cryptographiquement de bout en bout. RĂ©cupĂ©rer la clĂ© via DNS est pratique et fonctionne lĂ  oĂč HTTPS est bloquĂ©, mais c'est la comparaison de l'empreinte avec celle du site de documentation — chargĂ© en HTTPS, avec un certificat validĂ© — qui Ă©tablit la confiance. Ne l'omettez pas.

Les instructions complÚtes, y compris à quoi sert chaque fichier d'une version publiée et à quoi ressemble une vérification qui échoue, se trouvent dans Vérifier vos téléchargements.

À quoi sert chaque agent​

  • bitcollector — ce qui se trouve sur cette machine, sous forme de preuve plutĂŽt que d'affirmation. Chaque lot est attestĂ© et la chaĂźne peut ĂȘtre vĂ©rifiĂ©e hors ligne, sans aucun accĂšs Ă  Cert-IX.
  • bitscanner — les Ă©quipements qu'un inventaire fondĂ© sur des agents ne peut pas voir par construction, parce que rien n'y est installĂ©. LivrĂ© inerte : il ne met aucun paquet sur votre rĂ©seau tant que vous ne l'avez pas explicitement armĂ©, et l'autorisation ne peut pas venir d'une variable d'environnement.
  • bitenforcer — ce qu'une politique de durcissement changerait, avant qu'elle ne change quoi que ce soit. La v1 valide et rapporte ; elle n'applique rien.
  • bitmapper — Ă  quoi cette machine parle rĂ©ellement, flux par flux : extrĂ©mitĂ©s, ports, protocole, compteurs et Ă©tat de la connexion, capturĂ©s en direct sur ses propres interfaces. En v0.1.0-ga, ces flux ne portent aucune attribution par processus — lisez le correctif ci-dessus avant de bĂątir quoi que ce soit dessus.

Par oĂč commencer​

Téléchargez un agent, vérifiez-le, puis lisez la page de celui que vous avez choisi. Si vous hésitez, Qu'est-ce que bits ? explique comment les quatre s'articulent et, tout aussi important, ce que chacun ne fait délibérément pas.