ubsd: le daemon qui ne connaît pas SIGTERM

Table of Contents

Du débat suisse sur les fonds propres au problème de l’arrêt de Turing: pourquoi une banque programmée pour croître ne produira jamais son propre signal d’arrêt

Préambule

je ne suis pas économiste. Je suis admin sys depuis presque trente ans, culture BSD/UNIX, licence radioamateur en poche, et une vie entière passée à lire des logs. Ma crédibilité sur les ratios CET1 pondérés au risque est strictement nulle, et je vous invite à ne pas me croire sur ce terrain.

En revanche, il y a une chose que je sais faire depuis 1995: reconnaître un processus dont le code ne contient aucune condition de sortie.Cet été, en lisant sur le débat suisse au sujet des fonds propres d’UBS, j’ai eu ce petit frisson qu’on connaît quand on regarde top et qu’un daemon tourne en root depuis des années.

Ce qui suit est une analogie. Elle est audacieuse, elle est perfectible, et je la construirai honnêtement — vous verrez si elle tient la charge.

Spoiler alert: je crois qu’elle tient, et c’est justement ce qui est dérangeant.

Quelques définitions des termes techniques

Unix, BSD et compagnie

Terme Signification
Daemon Programme qui tourne en permanence en arrière-plan sur un serveur (imprimante, réseau…). Souvent terminé en -d, comme ubsd.
Processus Un programme en cours d’exécution. Chaque application lancée sur votre ordinateur en est un.
top Commande affichant les processus actifs et leur consommation. L’équivalent du moniteur d’activité.
ps aux Autre commande listant tous les processus en cours, y compris ceux lancés par le système.
PID Process Identifier : numéro unique attribué à chaque processus.
Root Superutilisateur : compte disposant de tous les droits sur la machine. Un daemon « en root » peut tout faire.
Signal Message envoyé par le système à un processus pour lui demander quelque chose — notamment de s’arrêter.
SIGTERM Signal demandant au processus de se terminer proprement, en rangeant derrière lui. Version courtoise de l’arrêt.
SIGSTOP Signal qui met un processus en pause suspendue, sans le tuer.
SIGKILL (kill -9) Arrêt immédiat et sans négociation. Le processus n’a rien à dire. On y recourt quand le courtois a échoué.
cron / crontab Planificateur de tâches : exécute automatiquement des commandes à heures fixes. Il ne fait rien d’autre — c’est pour ça qu’on l’installe.
Log Journal d’événements produits par un système. Lecture de logs ≈ lecture attentive des historiques.
rc.conf Fichier de configuration d’un système BSD : c’est là que quelqu’un a écrit les règles par défaut. Rééversible, par définition.
git commit --amend Commande Git qui réécrit le dernier enregistrement des modifications. Fait passer une modification rapide, hors procédure, pour l’état officiel.
Théorème de l’arrêt (Turing, 1936) Démonstration qu’aucun programme ne peut déterminer de l’intérieur s’il va un jour s’arrêter. La réponse, si elle existe, vient toujours de l’extérieur.
Documentation manquante État d’un système dont personne ne sait pourquoi il est configuré ainsi. Se caractérise par la réponse « c’était comme ça à l’install ».

Banques et régulation

Terme Signification
Fonds propres (CET1) Capital qu’une banque détient pour absorber ses pertes. Plus le coussin est épais, moins la chute est dangereuse pour le contribuable.
Ratio pondéré au risque Mesure de ce capital, ajustée selon la dangerosité des activités financées.
Crash de 2023 Effondrement de Credit Suisse, sauvetage négocié sur un week-end et rachat par UBS en régime d’urgence.
Capture réglementaire Situation où le régulateur finit par défendre les intérêts de ceux qu’il est censé encadrer. Ici, sans complot : par simple gravité.
Méta-niveau L’étage d’où l’on voit le système entier — pour un serveur, l’administrateur ; pour une économie, le législateur.
DMA Digital Markets Act : réglementation européenne qui encadre les géants du numérique a priori, avant l’abus plutôt qu’après.
Lobbying Action d’influence d’un intérêt privé auprès des décideurs publics. Documenté, budgété, fonctionnel — voir la section correspondante.

Radioamateur

Terme Signification
OM Old Man : terme traditionnel d’appel entre radioamateurs, sans âge requis.
ITU Union internationale des télécommunications : organisme qui découpe le spectre radio en bandes attribuées.
Licence / pas de licence, pas d’émission Le radioamateur doit prouver ses compétences avant d’émettre. L’article suggère d’appliquer la même logique au-delà d’un certain seuil de taille bancaire.
Puissance d’émission Intensité maximale autorisée du signal. Bornée par le régulateur, sans que personne n’y voie la mort de la place RF.

Le fait divers qui dérange

Le gouvernement suisse portait un plan, exigeant qu’UBS capitalise ses filiales étrangères à 100 % en fonds propres CET1 — environ 20 milliards de dollars de capital additionnel, portant le ratio du groupe autour de 15,5 %, niveau qualifié d’aligné sur les pairs internationaux (Leman Finance).

Les commissions parlementaires ont ensuite entrepris de vider cette exigence de sa substance. Selon Reuters, la commission de l’économie du Conseil des États a travaillé sur des hypothèses à 70 %, 80 %… voire 50 %. UBS, de son côté, avait officiellement prié la Suisse de « réexaminer les alternatives » (WSJ), et en mars, le Financial Times rapportait que des parlementaires avaient dû demander publiquement à la banque de modérer son lobbying et la visibilité de son PDG (Global Banking and Finance).

Cela demande de prendre conscience de ce qui vient d’être écrit: des élus ont dû supplier une banque de faire moins de pression sur eux. Petit détail technique: le jour où le premier compromis s’est échappé du tiroir secret, l’action UBS a bondi à son plus haut niveau depuis 2008 (Reuters). Le marché, lui, a voté — et son bulletin est entré en bourse.

Le sens que cela porte: une seule entreprise privée, non élue, oriente la politique économique d’un pays de neuf millions d’habitants. Ce n’est pas une fatalité. C’est un choix — le nôtre.

Qu’est-ce qu’un processus ?

Je veux apporter une nuance nécessaire: « ces banques n’ont aucune morale ». Correct — et c’est documenté, ce qui pour une fois nous arrange. Néanmoins, si je m’arrêtais à cette position, je ne fournirais pas le cadre complet — ce serait une faute intellectuelle.

Une entreprise n’est pas un citoyen. C’est une entité juridique dont le mandat statutaire est de croître. Ce n’est pas un reproche, c’est sa spécification. Pour référence: en 1919, la décision Dodge v. Ford; en 1970, l’essai de Milton Friedman dans le New York Times Magazine. On peut contester cette doctrine — beaucoup d’économistes le font — mais le point logique subsiste.

$ whatis lobbying
lobbying (8) - fonctionnalité documentée du processus entreprise, pas un bug

Le lobbying n’est pas un abus de fonction. C’est la fonction. Demander à UBS de ne pas faire pression sur le législateur, c’est demander à cron de refuser d’exécuter sa crontab. Il va l’exécuter. C’est pour ça qu’on l’a installé.

Diagnostiquer sans conspiration

Ici je marque alors l’élément clé, car il n’y a ni complot illuminati, ni Joker suprême aux commandes: il n’y a besoin d’aucune malveillance. Le politologue Charles Lindblom l’a montré dès 1977 (Politics and Markets): dans une démocratie capitaliste, l’entreprise occupe une « position privilégiée » — elle contrôle l’investissement, donc l’emploi, donc l’électorat, donc l’élu. Tenons compte aussi de l’asymétrie d’expertise (qui, au Palais fédéral, calcule un ratio CET1 de tête ?) et l’asymétrie de moyens (budget lobbying quasi illimité contre des équipes législatives sous-dotées), et vous obtenez de la capture réglementaire par simple gravité.

Pas de salle enfumée. Pas de cigares. Pas d’organisation S.P.E.C.T.R.E. Juste des dirigeants intègres, sincèrement convaincus de sauver la place financière, qui produisent exactement le même résultat qu’un cartel de méchants.

C’est précisément ce qui doit nous inquiéter: le système tourne conformément à sa config, et son optimum n’est pas démocratique. Quand un daemon en root fait des bêtises, la première question n’est jamais « est-il méchant? ». Elle est: « qui a écrit sa configuration? ».

Nature ou fichier par défaut?

Les éléments de langage quasi religieux: « la compétitivité l’exige », « sans UBS, la place meurt », « dans un monde globalisé, on n’a pas le choix ». Ce lexique transforme des décisions historiques — humaines, datables, réversibles — en météorologie.

Or la config actuelle date de 2023. UBS est devenue cette mégabanque par le rachat de Credit Suisse, négocié sur un week-end sous régime d’urgence, doublant d’un coup un bilan désormais de l’ordre de deux fois le PIB suisse. Deux PIB. Sous git commit --amend de crise. Voilà la « nature » qu’on nous présente comme immémoriale: elle a moins d’historique que les time series de mes capteurs dans mon serveur Grafana.

Une règle économique est exactement aussi naturelle que le droit qui l’écrit — c’est-à-dire pas du tout. C’est du /etc/rc.conf: quelqu’un l’a écrite, quelqu’un peut la réécrire, et « c’était comme ça à l’install » n’est pas un argument, c’est la définition de la documentation manquante.

L’arbre et la tumeur

Si je me sers de la biologie, aucun système vivant ne croît indéfiniment: l’arbre atteint sa hauteur d’équilibre, puis change de fonction — abriter, nourrir, réguler. La croissance sans signal d’arrêt a un nom: cancer. La différence majeure, et elle est politique: l’entreprise externalise les coûts de sa croissance, alors que l’arbre, lui, ne peut pas payer ses feuilles en dette souveraine.

Le moment Turing

Maintenant, le coeur — l’analogie audacieuse annoncée. En 1936, Alan Turing démontre qu’aucun programme ne peut déterminer, de l’intérieur, s’il va s’arrêter. Ce n’est pas une question d’intelligence ou de bonne volonté du programme: c’est structurel. La preuve d’arrêt ne peut venir que de l’extérieur du programme.

Regardez la fiche du process:

$ ps aux | grep croissance
USER  PID  %CPU  COMMAND
root    1   ∞    ubsd [since 1998]

Et son code source, tel que compilé par le droit des sociétés :

/* ubsd.c — build: 1998 (fusion SBC/UB), major release: 2023 (acquisition CS) */

int main(void) {
    while (true) {
        analyser_marché();
        identifier_opportunités_croissance();
        influencer_cadre_réglementaire(); /* pas de quota, pas de throttle */
        exécuter_croissance();
        rendre_comptes_aux_actionnaires(); /* chaque trimestre : retour à la ligne 1 */
    }
    /* Aucun signal : SIGTERM non géré, SIGSTOP non déployé,
       aucune clause "IF taille > capacité_de_sauvetage_nationale THEN exit". */
}

Demandez à ce programme: « quelle est ta limite? » Question indécidable de l’intérieur. Et la seule réponse qu’il puisse produire — « nos régulateurs nous surveillent » — confirme précisément le point de Turing: le signal d’arrêt est exogène. Il n’appartient pas au programme. Il appartient au méta-niveau.

Un sysadmin le sait depuis toujours: ce n’est pas le daemon qui décide de mourir proprement au bon moment. Si c’était le cas, aucun daemon ne s’éterniserait en mémoire. C’est l’administrateur — celui qui voit le système entier, de l’extérieur — qui envoie SIGTERM, accorde un délai gracieux, puis, le cas échéant, SIGKILL. En démocratie, le méta-niveau s’appelle la loi.

MÉTA-NIVEAU (en attente d'exécution) :
    opérateur      = législateur démocratique
    statut         = capture démontrée (cf. supra, commissions, été 2026)
    tâche pendante = écrire le signal d'arrêt

Précaution épistémique, obligatoire: l’analogie de Turing est un éclairage, pas une preuve. Une vraie banque n’est pas un programme; elle contient des humains capables d’altruisme, de scrupules, parfois même de résignation stratégique. Le théorème de 1936 porte sur des machines abstraites. Ce que l’analogie montre — et c’est déjà beaucoup — c’est la structure du mandat: tant que la maximisation de la valeur actionnariale est la clause unique et invérifiable de terminaison, personne à l’intérieur ne peut décréter un arrêt, et l’attendre est une erreur de catégorie.

Ce que ça implique concrètement

Un diagnostic sans patch n’est qu’un niveau de log. Si le signal d’arrêt doit venir du méta-niveau, alors:

  • Ex ante, pas seulement ex post. Le modèle existe: le DMA européen régule structurellement avant l’abus, comme Swissmedic exige les essais avant la mise sur le marché. On ne traite pas un démon de croissance en réparation après crash — le crash de 2023 aurait dû le démontrer.
  • Inverser la charge de la preuve au-delà d’un seuil calculable: la taille à partir de laquelle la défaillance dépasse la capacité de sauvetage de l’État. En dessous, circulez. Au-dessus, prouvez-vous viable — comme un proverbe radio que chaque OM connaît: pas de licence, pas d’émission.
  • Des contraintes structurelles, pas comportementales: plafonds, périmètres d’activités, structure de propriété. On ne demande pas poliment au code de se comporter. On change ce que le process est autorisé à faire, dans sa config de lancement. Un frewall n’est pas une charte de bonnes intentions.
  • Transparence du lobbying comme condition préalable absolue: sinon les règles seront rédigées par ceux qu’elles visent. Le thème existe malheureusement au-delà d’UBS: l’affaire des Rolex offertes à Trump, signalée pénalement, montre ce que l’opacité du lobbying princier produit (RTS).

Conclusion: SIGTERM ou SIGKILL

Le constat: une entité privée oriente la politique nationale.

Le diagnostic: ce n’est pas une dérive, c’est une ontologie — un programme sans condition d’arrêt.

Le patch: le signal ne peut venir que du méta-niveau démocratique, et l’été 2026 a démontré que ce méta-niveau est capturé.

Je conçois l’objection, et elle est légitime: « tu compares une banque à un daemon, c’est simpliste ». Oui. À ceci près que je ne conclus pas de l’analogie. Les faits, sourcés, concluent avant elle. L’analogie ne fait qu’expliquer pourquoi attendre de l’intérieur est une erreur de catégorie.

Et puis, une dernière confession de radioamateur: je ne connais aucun OM qui appelle l’ITU un tyran parce que les plans de fréquences sont écrits par le régulateur et non négociés avec l’émetteur. Personne ne prétend que « borner la puissance d’émission, c’est la mort de la place RF ». Le spectre a toujours été régulé de l’extérieur, et il n’en a jamais été plus vivant pour ça.

Un arbre adulte ne s’élève pas sans fin. Un programme sans instruction d’arrêt, si — jusqu’à ce que quelqu’un décide de l’interrompre.

Le théorème de Turing ne dit pas que l’arrêt est impossible. Il dit seulement qu’il ne viendra jamais de la machine elle-même. Quant à savoir si nous préférons envoyer SIGTERM maintenant — voter la loi pendant qu’il reste un délai gracieux — ou attendre d’en être réduits au kill -9 de la prochaine nuit de mars 2023, ce n’est pas une question de météo. C’est une question de choix. Le nôtre.