Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 2 mai 2024Korben

Nano 8.0 – L’éditeur de texte dans le terminal évolue

Par : Korben
2 mai 2024 à 08:08

Aaah Nano, cet éditeur en ligne de commande si apprécié des geeks ! Simple, léger, accessible… Et il continu de s’améliorer puisque la version 8 vient de sortir et apporte son lot de nouveautés plutôt cool.

Déjà, les développeurs ont revu les raccourcis clavier par défaut pour coller aux standards. Fini le temps où on se mélangeait les pinceaux entre les éditeurs ! On retrouve maintenant les classiques Ctrl+F pour chercher, Ctrl+B pour chercher en arrière, Alt+F / Alt+B pour répéter la recherche et Alt+R pour remplacer. Les devs ont même pensé à ajouter l’option --modernbindings (ou -/ pour les flemmards) pour avoir des raccourcis façon Ctrl+X (quitter), Ctrl+C (copier), Ctrl+V (coller)… Un vrai bonheur !

Mais là où Nano pousse le bouchon encore plus loin (Maurice) c’est avec ses fonctionnalités bien geek. Saviez-vous par exemple qu’on peut désormais ouvrir un fichier directement à une ligne spécifique en rajoutant +numLigne après son nom ?

Les raccourcis Alt+Home et Alt+End permettent aussi de sauter en haut ou en bas du fichier en un clin d’œil, sans bouger le curseur. Idéal pour avoir une vue d’ensemble de son code. Et si vous souhaitez vous repérer dans vos sections avec des ancres et bien avec Alt+ » vous pouvez en placer à la volée et y revenir avec Alt+’. Super pratique pour naviguer dans vos documents !

Côté personnalisation, les amateurs de couleurs seront ravis puisque lorsque les trois chiffres d’un code #RGB sont identiques, Nano le mappe à l’échelle de gris xterm. Résultat, on passe de 4 à 14 nuances de gris pour styliser son terminal.

Et pour les irréductibles de la souris, sachez que la molette permet maintenant de scroller dans le fichier sans changer la position du curseur. C’est tout bête mais tellement pratique pour explorer rapidement un fichier.

Je vous laisse découvrir le reste par vous-même !

Nano 8.0 est disponible au téléchargement sur le site officiel. Vos distrib’ préférées ne devraient pas tarder à le proposer.

A vous de l’apprivoiser maintenant !

Source

À partir d’avant-hierKorben

SerenityOS – Le mariage bien vintage entre une interface des années 90 et la puissance actuelle d’Unix

Par : Korben
28 avril 2024 à 09:00

Ah les années 90… L’époque bénie des interfaces old school, des systèmes bien bruts de décoffrage et du code qui sent bon le bricolage ! C’était le bon vieux temps. Mais si je vous disais qu’on peut avoir le beurre et l’argent du beurre ? Profiter de la beauté vintage d’une interface bien rétro et des muscles d’un UNIX moderne ?

Eh oui, c’est le pari un peu fou de SerenityOS, un OS fait maison avec amour qui marie l’interface cosy des 90s et le power user d’aujourd’hui.

Le look d’un Windows 95 croisé avec un Mac OS 8, mais qui repose sur un kernel custom fait à la main, avec une architecture bien clean, des applis maison et des outils qui déchirent. C’est ça SerenityOS.

Alors oui, c’est sûr que ça va pas remplacer votre Ubuntu ou votre Debian pour bosser (quoique, bossez-vous vraiment ?). Mais franchement, pour le fun, ça vaut grave le détour.

Le truc de ouf, c’est que tout est fait from scratch par une équipe de devs passionnés : le browser, la GUI, les jeux, les démos… Même le kernel et la LibC sont faits maison, c’est dire ! Et pourtant, ça reste super cohérent et intégré, avec une vraie philosophie derrière. C’est pas juste de la nostalgie, c’est aussi des idées neuves et du code au top !

Sous le capot, SerenityOS carbure à un kernel préemptif qui gère le multi-threading, un système de fichiers compatible POSIX, une stack réseau IPv4 qui cause TCP et UDP, et même un serveur graphique maison. Tout ça tourne sur du x86 64 bits, et c’est cross-compilé avec les outils modernes comme GCC et Clang. Et si vous êtes du genre power user à la recherche de la moindre killer feature, vous allez être servis :

  • Un browser digne de ce nom, avec support de JavaScript, WebAssembly et des technos web modernes
  • Des applis pour gérer votre vie numérique : mail, chat, calendar
  • Des outils pour les devs : terminal, éditeur, débogueur, profiler
  • Des jeux old-school : démineur, solitaire, échecs
  • Et même un spreadsheet façon Excel, mais en mieux !

SerenityOS c’est un peu comme si vous vous étiez tous réunis dans un garage pour faire le système de vos rêves, avec les technos d’aujourd’hui mais l’état d’esprit et le goût du pixel d’hier. C’est frais, c’est fun, ça donne envie de bidouiller et de se replonger dans les joies du code et de l’OS DIY.

Alors si vous aussi vous avez gardé votre âme de geek des 90s, foncez sur SerenityOS pour tester tout ça !

LSD – Un ls sous stéroïdes écrit en Rust 🚀

Par : Korben
27 avril 2024 à 09:00

Aujourd’hui, on va parler d’un truc qui s’appelle LSD, mais attention hein, je parle pas de votre dernière soirée chemsex hein… C’est plutôt un clone open-source de la commande ls en mode survitaminé ! Développé par la communauté et écrit en Rust, il rajoute plein de fonctionnalités hyper stylées comme les couleurs, les icônes, la vue en arbre, des options de formatage en pagaille…

L’idée vient du projet colorls qui est vraiment super aussi. Mais LSD pousse le délire encore plus loin. Déjà il est compatible avec quasi tous les OS : Linux, macOS, Windows, BSD, Android…

Et hyper simple à installer en plus… un petit

apt install lsd ou brew install lsd

et c’est réglé.

Ensuite il est ultra personnalisable. Vous pouvez faire votre thème de couleurs et d’icônes sur mesure juste en bidouillant des fichiers de config en yaml. Et il supporte les polices Nerd Font avec des glyphes spéciaux trop classes ! Bon faut avoir la bonne police installée sur son système et le terminal configuré, mais c’est pas bien compliqué. Et si vous êtes sur Putty ou Kitty, y’a des tweaks spécifiques à faire, mais c’est expliqué dans la doc.

Mais attendez c’est pas fini ! LSD gère aussi les liens symboliques, la récursion dans les sous-répertoires (avec une profondeur max en option), des raccourcis pour les tailles de fichiers plus lisibles, des indicateurs pour les exécutables, les dossiers, etc. Il peut même vous sortir des infos de git sur les fichiers de ton repo si vous activez l’option ! Et pleins d’autres trucs que j’ai même pas encore testés…

Depuis que je l’ai installé et que j’ai changé mon alias ls, je me régale à chaque fois que je liste un dossier. J’ai l’impression d’être dans un vaisseau spatial avec des néons partout ! Bon j’exagère à peine, mais franchement ça envoie du lourd.

Allez je vais pas tout vous spoiler non plus, je vous laisse le plaisir de découvrir LSD par vous-même et customiser votre expérience du terminal. Moi en tout cas je suis fan, et je dis pas ça parce que je plane ! 😄

Thx Lorenper pour l’outil !

EB corbos Linux – Le premier OS open source certifié pour l’automobile

Par : Korben
24 avril 2024 à 19:13

Figurez-vous qu’Elektrobit, le géant allemand de l’électronique automobile, vient de nous pondre un truc qui va faire plaisir aux fans de libre : EB corbos Linux, le premier système d’exploitation open source qui respecte les normes de sécurité les plus pointues du monde de la bagnole.

En gros, les constructeurs en ont marre de se trimballer des kilomètres de câbles et des centaines de boîtiers noirs dans leurs caisses-. L’idée, c’est de tout centraliser sur quelques « super ordinateurs » qu’ils appellent des « plateformes de calcul haute performance ». Et chacun gère son domaine : la conduite, l’info-divertissement, les aides à la conduite… Bref, ça simplifie le bordel et ça permet de faire évoluer les fonctionnalités sans toucher au hardware.

Le hic, c’est que tout ce bazar logiciel doit être hyper sécurisé. Parce que si votre autoradio plante, c’est pas bien grave, mais si c’est votre direction assistée qui décide de partir en vacances, bonjour les dégâts ! C’est là qu’EB corbos Linux entre en scène.

Grâce à son architecture unique, ce système d’exploitation prend Linux et le rend compatible avec les exigences les plus draconiennes en matière de sécurité automobile, genre les normes ISO 26262 et IEC 61508 en utilisant un hyperviseur et un système de monitoring externe qui valide les actions du noyau. En gros, Linux peut continuer à évoluer tranquillou sans compromettre la sécurité.

Comme cette distrib est basé sur du bon vieux Linux, il profite de toute la puissance de l’open source. Genre les milliers de développeurs qui bossent dessus, les mises à jour de sécurité en pagaille, la flexibilité, la rapidité d’innovation… Tout ça dans une distrib’ véhicule-compatible, c’est quand même cool. En plus, Elektrobit a développé ce petit miracle main dans la main avec l’équipe d’ingénieurs d’Ubuntu Core chez Canonical. Autant dire que c’est du lourd !

Elektrobit a pensé à tout puisqu’ils proposent même une version spéciale pour les applications critiques, genre les trucs qui peuvent tuer des gens s’ils plantent. Ça s’appelle EB corbos Linux for Safety Applications, et c’est le premier OS Linux à décrocher la certification de sécurité automobile auprès du TÜV Nord.

Mais le plus cool, c’est qu’avec cet OS, vous pouvez laisser libre cours à votre créativité de développeur automobile. Vous voulez intégrer les dernières technos de conduite autonome, d’intelligence artificielle, de reconnaissance vocale… Pas de problème, Linux a tout ce qu’il faut sous le capot.

Imaginez que vous bossiez sur un système de reconnaissance de panneaux pour aider à la conduite. Avec ça, vous pouvez piocher dans les bibliothèques open source de traitement d’image, de machine learning, etc. Vous adaptez tout ça à votre sauce, en respectant les contraintes de sécurité, et voilà ! En quelques sprints, vous avez un truc qui déchire, testé et approuvé pour la route. Et si un autre constructeur veut l’utiliser, il peut, c’est ça la beauté de l’open source !

Autre exemple, vous voulez développer un système de monitoring de l’état de santé du conducteur, pour éviter les accidents dus à la fatigue ou aux malaises. Là encore, EB corbos Linux est votre allié. Vous pouvez utiliser des capteurs biométriques, de l’analyse vidéo, des algorithmes de détection… Tout en étant sûr que votre code ne mettra pas en danger la vie des utilisateurs.

Bref, vous l’aurez compris, c’est le meilleur des deux mondes avec d’un côté, la puissance et la flexibilité de Linux, de l’open source, de la collaboration à grande échelle et de l’autre, la rigueur et la sécurité indispensables au monde automobile, où la moindre erreur peut coûter des vies.

Source

UPT – Le gestionnaire universel de paquets Linux

Par : Korben
16 avril 2024 à 09:00

Vous en avez marre de jongler avec une multitude d’outils de gestion de paquets sur vos différents systèmes Linux et Unix ? apt sur Debian, dnf sur Fedora, pacman sur Arch, emerge sur Gentoo, pkg sur FreeBSD… Et je ne parle même pas de Homebrew sur macOS ou Scoop sur Windows ! Bref, un vrai casse-tête pour s’y retrouver et se rappeler de toutes les commandes spécifiques à chaque plateforme.

Heureusement, y’a un p’tit dev malin qui a décidé de nous faciliter la vie. Un certain Sigoden a créé upt, pour Universal Package-management Tool. L’idée c’est d’avoir une interface unique pour gérer ses paquets, quelque soit le système utilisé. Sous le capot, upt se base sur le gestionnaire natif de chaque OS mais vous permet d’utiliser une syntaxe commune pour les opérations de base : rechercher, installer, mettre à jour ou supprimer un paquet.

Bon alors techniquement, c’est écrit en Rust donc faudra passer par l’installation de cargo et de quelques dépendances. Mais rassurez-vous, c’est assez simple et bien documenté sur le dépôt GitHub du projet. Une fois que c’est fait, vous pourrez utiliser la commande upt de la même façon sur tous vos systèmes. Voici quelques exemples :

upt update pour mettre à jour le gestionnaire
upt install package_name pour installer un paquet
upt upgrade package_name pour le mettre à jour
upt remove package_name pour le désinstaller
upt search keyword pour chercher un paquet

Plutôt cool non ?

Fini les prises de tête à se rappeler si c’est apt search ou dnf search, pacman -S ou emerge… Maintenant on fait tout pareil avec upt !

Et ça supporte tous les outils suivants sous Linux, macOS, Windows, BSD :

Bon, j’avoue qu’il y a quelques petites limitations. Déjà upt n’est qu’une surcouche, donc il faudra quand même connaître les noms exacts des paquets pour chaque distrib. Pas de nom universel type « python3-dev » qui fonctionnerait sur Ubuntu comme sur Fedora.

Ensuite, si un même paquet est dispo dans plusieurs formats (deb, snap, flatpak…), upt va suivre un ordre de priorité pour choisir lequel installer. Mais vous pouvez outrepasser ça en définissant la variable d’environnement UPT_TOOL avec le nom du gestionnaire souhaité.

Par exemple, pour forcer upt à utiliser les paquets snap pour VLC plutôt que apt ou autre :

export UPT_TOOL='snap'
upt install vlc

Dernier point, certaines commandes un peu plus avancées ne seront pas gérées directement par upt. Il faudra alors repasser par le gestionnaire natif. Mais pour une utilisation basique au quotidien, ce petit outil vous fera gagner pas mal de temps et de neurones.

Après, je dis pas que c’est la solution révolutionnaire qui va unifier une bonne fois pour toutes le monde des paquets sur Linux et Unix. Y’a encore du taf pour ça. Mais en attendant, upt est bien pratique pour ceux qui doivent régulièrement passer d’un système à l’autre.

Et puis soyons honnêtes, nous les linuxiens on est un peu maso sur les bords. On aime bien quand c’est compliqué et qu’il faut batailler pour faire un truc. Alors un outil qui simplifie les choses, ça va en rebuter plus d’un ! Mais je suis sûr que ça peut rendre service à pas mal de monde malgré tout.

En attendant, amusez-vous bien et n’oubliez pas : dans le doute, RTFM ! 😄

Source

Quand un chercheur en sécurité publie la faille 0day d’un autre ?

Par : Korben
11 avril 2024 à 11:22

Dans le monde de la cybersécurité, la découverte de failles 0day critiques est un enjeu important, car elles peuvent être exploitées par des acteurs malveillants pour compromettre des systèmes qui n’ont pas encore eu le temps d’être mis à jour.

Récemment, un chercheur en sécurité a fait une découverte plutôt alarmante : 2 failles 0day sont présentes dans les noyaux Linux 6.4 à 6.5. Cependant, cette histoire a pris une tournure inattendue… En effet, il y a quelques jours, le chercheur en sécurité, connu sous le pseudonyme YuriiCrimson, a publié sur GitHub les détails de 2 exploits pour des failles 0day qu’il avait découverts dans le pilote n_gsm des noyaux Linux.

Sauf que l’une de ces 2 failles avait en réalité déjà été divulguée par un autre chercheur, Jmpeax. D’après YuriiCrimson, celui-ci lui aurait racheté pour la publier comme si c’était sa propre découverte. Il explique sur sa page Github qu’ignorant cette divulgation, il a involontairement « re-divulgué » sa propre découverte.

Face à cette situation assez malaisante, YuriiCrimson a alors décidé de « riposter » en publiant immédiatement un second exploit, encore inconnu, affectant une plage plus large de noyaux Linux, des versions 5.15 à 6.5. Cette nouvelle divulgation un peu précipitée ayant pour but de couper l’herbe sous le pied de Jmpeax et de prouver à tout le monde que c’était bien lui, le papa de la première vuln.

Ah l’égo !

Si tout cela se confirme, ça met en lumière plusieurs problématiques. Tout d’abord, racheter le travail d’un autre chercheur pour se l’attribuer c’est très moche. Et vendre son travail pour ensuite le rendre public, c’est très moche aussi.

De plus, la divulgation non coordonnée de failles 0day peut avoir des conséquences désastreuses. En rendant publics les détails d’exploitation avant que les éditeurs n’aient pu corriger les vulnérabilités, on expose les systèmes à des attaques immédiates. Une divulgation responsable, en collaboration avec les éditeurs concernés, permet donc de laisser le temps nécessaire pour développer et déployer des correctifs, protégeant ainsi les utilisateurs.

Voilà, c’était l’histoire cybersec moche du jour, dont nous sommes maintenant tous victimes, car il y a 2 jolis 0day non encore patchés qui se baladent.

Bref, gaffe à vos systèmes…

OpenSnitch – Le pare-feu interactif qui protège vos données sous GNU/Linux

Par : Korben
8 avril 2024 à 06:27

Vous êtes-vous déjà demandé ce que vos applications faisaient dans votre dos ? Quelles données elles envoyaient sur Internet à votre insu ? Je suis sûr que oui !

C’est pourquoi, si vous êtes soucieux de votre confidentialité et de la sécurité de vos informations, il est temps de faire connaissance avec OpenSnitch, le pare-feu interactif qui va vous permettre de mieux sécuriser et gérer les connexions sur votre ordinateur Linux.

Inspiré du célèbre Little Snitch sur macOS, OpenSnitch agit comme un garde-fou en vous alertant chaque fois qu’un programme tente d’établir une connexion sortante. Comme ça, plus besoin de laisser les applications communiquer sans votre consentement, vous avez le contrôle !

OpenSnitch utilise évidemment iptables couplé à NFQUEUE et ftrace présent par défaut dans le noyau pour détecter et alerter l’utilisateur d’un poste client Linux que quelque chose ne tourne pas rond. Top pour détecter les trucs louches comme l’exploitation d’une faille ou une fuite de données.

L’interface d’OpenSnitch est simple à prendre en main. Lorsqu’une application essaie d’accéder à Internet, une pop-up apparaît, vous donnant toutes les informations nécessaires pour prendre votre décision : le nom de l’application, l’adresse IP et le port de destination, et même le chemin de l’exécutable. Vous pouvez alors choisir d’autoriser ou de bloquer la connexion, de manière ponctuelle ou permanente.

OpenSnitch ne se contente pas de filtrer les connexions puisqu’il vous permet également de garder un œil sur l’activité réseau de votre système. Via son interface graphique, vous pourrez consulter l’historique des connexions, voir quelles applications communiquent le plus, et même exporter les données pour une analyse plus poussée.

Pour l’installer sous Ubuntu, récupérez les .deb ici et lancez la commande :

sudo apt install ./opensnitch*.deb ./python3-opensnitch-ui*.deb

Et pour le lancer :

opensnitch-ui

OpenSnitch est disponible dans les dépôts de la plupart des distributions Linux, et son installation se fait en quelques commandes. Vous pouvez même l’essayer dans une machine virtuelle pour vous faire une idée avant de l’adopter sur votre système principal.

Plus d’infos ici !

Article paru initialement le 13 juin 2017 – Mis à jour le 8 avril 2024

Alacritty – Le terminal nouvelle génération ultra rapide

Par : Korben
7 avril 2024 à 09:00

Envie d’un terminal nouvelle génération qui allie performance et flexibilité ? Ne cherchez plus, Alacritty est fait pour votre bonheur !

Disponible sur toutes les plateformes qui comptent (Linux, macOS, Windows, BSD ^^), ce terminal au look sobre et épuré cache sous son capot une configuration ultra complète. Pas besoin de réinventer la roue, Alacritty s’intègre avec vos applications préférées pour vous offrir une expérience sur-mesure sans compromis sur la vitesse. Bon OK, c’est encore un peu jeune, il est un peu long à configurer et il reste quelques fonctionnalités à ajouter et bugs à corriger, mais ça n’empêche pas de nombreux baroudeurs du shell de l’utiliser quotidiennement. YOLO comme on dit.

Mais Alacritty, c’est pas qu’un simple émulateur de terminal de base. Il embarque des features bien pratiques pour améliorer la vie des accros de la ligne de commande :

  • Vous aimez vim ? Ça tombe bien, avec le mode Vi vous pouvez retrouver vos réflexes pour vous déplacer et sélectionner du texte.
  • Vous avez la flemme de scroller manuellement pour retrouver une commande ou une erreur ? Utilisez la recherche intégrée pour localiser ce que vous voulez en un clin d’œil.
  • Vous en avez marre de jongler entre votre souris et votre clavier ? Avec les hints façon regex, plus besoin de quitter le clavier, interagissez avec n’importe quel texte à l’écran.
  • Votre PC rame quand vous ouvrez 10 terminaux en même temps ? Pas de problème, avec le mode multi-fenêtres , un seul process Alacritty est partagé intelligemment.

Et je vous ai parlé que de quelques fonctionnalités, y’en a bien d’autres à découvrir dans la doc.

Après la théorie, passons à la pratique. Pour l’installer, c’est ultra simple. Si vous êtes sur macOS ou Windows, direction la page des releases GitHub pour chopper le binaire. Sous Linux ou BSD, il est sûrement déjà dans le gestionnaire de paquets de votre distrib. Sinon, les instructions détaillées vous expliqueront comment compiler depuis les sources.

Une fois installé, pas besoin de vous embêter à configurer, les options par défaut sont déjà pas mal. Mais si vous voulez quand même mettre votre patte, le fichier de config en TOML se trouve, en fonction de votre OS, dans $XDG_CONFIG_HOME/alacritty, $HOME/.config/alacritty ou %APPDATA%\alacritty.

Par exemple, pour l’installer sous macOS, vous pouvez faire également :

brew install --cask alacritty

Puis créer un fichier de config comme ceci :

mkdir -p ~/.config/alacritty && touch ~/.config/alacritty/alacritty.toml

Voici un exemple de config à mettre dedans pour obtenir un truc comme ça :

# Configuration du shell et des variables d'environnement
shell = { program = "/bin/zsh", args = ["-l"] }

[env]
TERM = "xterm-256color"

# Activation du rechargement dynamique de la configuration
#live_config_reload = true

# Configuration de la fenêtre pour un look minimaliste et semi-transparent
[window]
decorations = "buttonless"
dynamic_padding = false
opacity = 0.9
padding = { x = 25, y = 20 }

# Configuration de la police personnalisée avec styles spécifiques pour différents états du texte
[font]
size = 20.0
[font.normal]
family = "JetBrains Mono"
style = "Medium"
[font.bold]
family = "JetBrains Mono"
style = "Heavy"
[font.italic]
family = "JetBrains Mono"
style = "Medium Italic"
[font.bold_italic]
family = "JetBrains Mono"
style = "Heavy Italic"

# Configuration des couleurs
[colors]
[colors.primary]
background = '#282a36' # Arrière-plan foncé
foreground = '#f8f8f2' # Texte clair
[colors.cursor]
text = 'CellBackground'
cursor = '#ff79c6' # Couleur du curseur
[colors.selection]
text = 'CellBackground'
background = '#44475a'

# Configuration du curseur
[cursor]
style = { shape = "Block", blinking = "On" }
thickness = 0.25

# Ajout de raccourcis clavier pour améliorer l'efficacité
[keyboard]
bindings = [
  { key = 'N', mods = 'Control|Shift', action = 'CreateNewWindow' },
  { key = 'C', mods = 'Control|Shift', action = 'Copy' },
  { key = 'V', mods = 'Control|Shift', action = 'Paste' },
  { key = '+', mods = 'Control', action = 'IncreaseFontSize' },
  { key = '-', mods = 'Control', action = 'DecreaseFontSize' },
  { key = '0', mods = 'Control', action = 'ResetFontSize' }
]

Mais du coup, c’est vraiment le terminal le plus rapide ?

Difficile à dire… Mesurer les perfs d’un terminal, c’est compliqué. Sur les benchmarks, en tout cas, Alacritty s’en sort bien, surtout grâce à l’accélération GPU. Après, sur des critères plus subjectifs comme la latence ou la fluidité de l’affichage, difficile de départager les challengers. Le mieux est de l’essayer et de voir s’il convient à VOS usages.

Par contre, ne vous attendez pas à retrouver toutes les fonctionnalités de terminaux plus anciens. Pas de tabs, pas de splits, Alacritty se concentre sur son cœur de métier. Pour ces features, votre gestionnaire de fenêtres ou un multiplexeur comme tmux feront très bien l’affaire. Et si vous voulez faire un peu de customisation, il faudra vous plonger dans la doc.

Après, si jamais il vous manque un truc indispensable, le projet est ouvert aux contributions. Alacritty est d’ailleurs distribué sous licence Apache 2.0. Donc si vous vous sentez de rajouter ce p’tit truc manquant, la communauté vous accueillera à bras ouverts. Comme quoi, y’a pas que Microsoft qui sait faire dans l’open source ! mdr.

En attendant de voir vos pull requests pleuvoir sur ce projet, je ne peux que vous conseiller de tester Alacritty. Vous verrez, c’est le genre d’outil auquel on s’habitue vite et qui change la vie. Bon OK, ça reste un terminal, faut pas exagérer non plus. N’empêche que depuis que j’ai goûté à la fluidité de son rendu, j’avoue que j’aurais du mal à revenir en arrière !

Merci à Lorenper

Une backdoor bien critique découverte dans xz Utils / liblzma

Par : Korben
29 mars 2024 à 22:36

Aïe aïe aïe, ça sent le roussi ! Une vilaine backdoor a été dénichée dans l’utilitaire xz Utils, un outil de compression présent dans un paquet de distributions Linux. Et attention, c’est du lourd : cette saloperie est capable de contourner l’authentification SSH et donc de permettre un accès non autorisé aux systèmes. Autant vous dire que c’est la panique générale !

La faille a été découverte le 29 mars 2024 par un dénommé Andres Freund, un développeur qui a flairé l’embrouille dans les versions 5.6.0 et 5.6.1 de xz Utils dont la liblzma. La backdoor se planque dans les fichiers de test bad-3-corrupt_lzma2.xz et good-large_compressed.lzma, et utilise un script appelé par build-to-host.m4 pour s’incruster dans le processus de build. Cerise sur le gâteau, elle exploite le mécanisme IFUNC de la glibc pour détourner l’authentification d’OpenSSH à l’exécution. Machiavélique !

En fait, le code malveillant ne se trouve pas directement dans le dépôt mais uniquement dans les archives de release 5.6.0 et 5.6.1. Un examen du code source ne révèle donc rien de suspect, il faut télécharger les tarballs pour chopper la version vérolée. Vicieux !

Mais le plus dingue dans l’histoire, c’est que cette backdoor a été commitée par un certain JiaT75, aka Jia Tan, l’un des deux principaux développeurs de xz Utils, qui bosse sur le projet depuis 2022 ! En fait, ce type a commencé par introduire une vulnérabilité dans libarchive en 2021 avant de s’attaquer à xz.

Quand des problèmes sont apparus avec Valgrind sur la liblzma juste après la release 5.6.0 en février, ce cher Jia Tan a suggéré qu’il s’agissait d’un bug de GCC. Il a même poussé un commit bidouillant le code pour contourner les erreurs Valgrind, en pointant vers un rapport de bug GCC n’ayant rien à voir. À ce stade, il n’y a plus de doute possible : le compte JiaT75 est contrôlé par un acteur malveillant, point barre. Reste à savoir si Jia Tan a toujours été un méchant ou si son compte a été compromis.

Depuis son entrée en scène, JiaT75 n’a pas chômé. Infrastructure de test vérolée, prise de contrôle progressive du projet, jusqu’à tenter de refiler la version backdoorée à Debian, Fedora et Ubuntu. Et dire que GitHub a attendu le dernier moment pour lui mettre le grappin dessus et bloquer l’accès au dépôt, bien joué les gars. Heureusement qu’Andres veillait au grain, sinon on n’imagine même pas le bordel.

Parce que oui, ces versions 5.6.0 et 5.6.1 ont failli se faufiler dans les releases stables des principales distribs. Par chance, elles ne se sont glissées que dans quelques bêtas, notamment Fedora 40, Fedora Rawhide et les distribs testing, unstable et experimental de Debian. Même Arch Linux y a eu droit dans une release stable. Bref, ça a failli faire très mal !

Comme le souligne Will Dormann, un analyste en sécu chez Analygence, si la backdoor n’avait pas été repérée à temps, ça aurait pu être une véritable hécatombe. Les systèmes les plus à risque sont ceux qui tournent avec glibc et xz 5.6.0 ou 5.6.1, surtout s’ils exposent un serveur SSH public. Là c’est défcon 1, faut mettre à jour TOUT DE SUITE MAINTENANT ! Pour les autres, pas de panique, mais mieux vaut jouer la prudence et updater fissa. Plus d’infos sur les systèmes touchés et comment les patcher dans cet article.

Mais qu’est-ce que SSH vient faire dans cette galère ? En fait, beaucoup de distribs Linux patchent sshd pour ajouter des fonctionnalités systemd, et libsystemd utilise la liblzma. Résultat, le code d’initialisation de liblzma est exécuté au démarrage de sshd. Et devinez quoi ? La backdoor vérifie si le programme lancé est /usr/bin/sshd et remplace des fonctions comme RSA_public_decrypt, utilisée pour valider les clés SSH. On vous laisse imaginer la suite… Une analyse complète est en cours, attendez-vous à d’autres révélations dans les prochains jours.

Depuis, c’est le branle-bas de combat. Les mainteneurs de Fedora et Debian se sont empressés de retirer les versions vérolées et de revenir à une release clean de xz Utils. Et les utilisateurs sont appelés à vérifier s’ils sont affectés en utilisant un script de détection mis à dispo par Andres himself. Mais le mal est fait et la confiance est ébranlée.

L’avenir du projet xz est incertain et il faut s’attendre à un ou plusieurs hard forks et à un gros nettoyage. Pour plus d’infos, jetez un œil aux alertes de sécurité de Redhat et Debian, ainsi qu’au thread oss-security sur le sujet.

Cet épisode rappelle cruellement qu’en matière de sécurité, la vigilance est mère de sûreté, même au sein des projets open source. Il met aussi en lumière la fragilité de notre écosystème, où des pans entiers reposent sur les épaules fatiguées de quelques mainteneurs débordés. Il est grand temps d’avoir une prise de conscience collective et de mieux soutenir ces projets critiques. Parce que mine de rien, on parle quand même des fondations qui font tourner une bonne partie d’Internet et des infrastructures critiques.

Faille critique « WallEscape » dans Linux – Vos mots de passe en danger

Par : Korben
28 mars 2024 à 22:30

Saviez-vous qu’une faille de sécurité plus vicieuse qu’un boss de fin de niveau est tapie dans les entrailles de notre cher Linux depuis plus d’une décennie ? Et attention, on ne parle pas d’un vulgaire bug qui fait planter votre distrib’ préférée, non non. Cette saleté, baptisée « WallEscape » par Skyler Ferrante, un chercheur en sécurité un peu barré (on y reviendra), permet ni plus ni moins à un petit malin de vous subtiliser votre précieux mot de passe Admin !

Tout commence avec une commande anodine appelée « wall« , présente dans le package util-linux. Son petit boulot à elle, c’est d’envoyer des messages à tous les utilisateurs connectés sur une même machine. Jusque-là, rien de bien méchant, vous me direz.

Sauf que voilà, un beau jour, ou plutôt un sale jour de 2013, un commit un peu foireux est venu s’immiscer dans le code de wall tel un cheveu sur la soupe. Depuis, cette brebis galeuse s’est gentiment propagée dans toutes les versions de util-linux, tel un virus informatique qui s’ignore.

Mais qu’est-ce qu’il y avait de si terrible dans ce ce commit ? Eh bien, pour faire simple, le dev qui l’a poussé, a tout bonnement oublié de filtrer correctement les fameuses « escape sequences » dans les arguments de la ligne de commande. Résultat des courses : un petit malin un peu bricoleur peut maintenant s’amuser à injecter tout un tas de caractères de contrôle pour faire des trucs pas très catholiques sur votre terminal.

Et c’est là que notre ami chercheur en sécurité dont je vous parlais au début de l’article, entre en scène. Armé de sa curiosité légendaire et de son sens de l’humour douteux, il a flairé le potentiel de la faille et s’est amusé à monter un scénario d’attaque digne d’un film de ma saga préférée : « Die Hard ». L’idée, diaboliquement géniale, est d’utiliser ces fameuses « escape sequences » non filtrées pour créer de fausses invites sudo sur le terminal de la victime. Ainsi, tel un loup déguisé en agneau, l’attaquant peut vous inciter à gentiment taper votre mot de passe administrateur, pensant avoir affaire à une véritable demande d’authentification système.

Bon, je vous rassure tout de suite, il y a quand même quelques conditions à remplir pour que l’attaque fonctionne. Déjà, il faut que l’option « mesg » soit activée sur votre machine et que la commande wall ait les permissions setgid.

Bien sûr, en tant que vrai geek qui se respecte, vous avez probablement déjà mis à jour votre système avec la dernière version de util-linux qui colmate la brèche. Sinon, vous pouvez toujours vérifier que les permissions setgid ne sont pas activées sur wall ou carrément désactiver cette fonctionnalité de messages avec « mesg« .

En attendant, je ne peux que vous encourager à jeter un coup d’œil au PoC de notre ami chercheur, histoire de voir à quoi peut ressembler une fausse invite sudo des familles. C’est toujours ça de pris pour briller en société.

Allez, amusez-vous bien et n’oubliez pas : sudo rm -rf /*, c’est le mal !

Source

Microsoft prépare une interface graphique pour WSL avec Dev Home

Par : Korben
25 mars 2024 à 17:18

Bonne nouvelle si vous utilisez WSL (Windows Subsystem for Linux), vous devriez bientôt échapper au bon vieux terminal puisque Microsoft travaille actuellement sur une interface qui nous permettra de gérer nos distros Linux adorées directement depuis Windows 11.

Les petits gars de chez Microsoft ont tout prévu puisqu’il y aura un onglet dédié dans Dev Home qui va permettre de voir vos VM, d’afficher leur conso, de les supprimer, de les mettra par défaut…etc. Bref, de tout gérer en mode click-o-drome comme d’hab chez krosoft.

Ils ont également pensé à un système pour y monter des disques formatés sous Linux, gérer les mises à jour et nous tenir au jus des dernières nouveautés. C’est pas beau ça ?

Le but pour Microsoft, c’est surtout de démocratiser WSL et de le rendre accessible au plus grand nombre. Bon, bien sûr pour le moment, tout n’est pas encore parfait et il y a encore du taf pour rendre l’intégration vraiment fluide et trouver le bon équilibre entre simplicité et fonctionnalités. Mais je leur fais confiance ^^.

Bref, surveillez bien les mises à jour de Dev Home dans les prochains mois, parce que ça va bouger ! Et si vous voulez suivre l’avancée du projet, n’hésitez pas à checker régulièrement le repo GitHub.

Source

Brewintosh – Le Macintosh imprimé en 3D

Par : Korben
21 mars 2024 à 16:09

Vous pensiez que les ordinateurs Macintosh vintage étaient condamnés à prendre la poussière au fond d’un placard ?

Ah ! Grave erreur !

Le génial Kevin Noki leur offre une seconde jeunesse grâce à l’impression 3D et un bon paquet d’huile de coude. En effet, après des mois de labeur acharné, ce passionné (comme vous !!) a réussi l’exploit de donner vie à son « Brewintosh« , une réplique complètement fonctionnelle et aux dimensions exactes du mythique Macintosh 128K. Sous son apparence d’ordinateur tout droit sorti des eighties, cette merveille de rétro-informatique cache des entrailles résolument modernes.

La vidéo est sympa car sans blabla… Y’a un petit côté contemplation méditative que j’aime bien.

Fini le processeur Motorola 68000, bonjour le thin client sous Linux !

L’astuce ? Avoir recréé la coque du Mac en impression 3D pour pouvoir y loger tout un tas de composants dernier cri, comme un écran LCD de caisse enregistreuse ou un lecteur de disquettes USB customisé.

Grâce à un savant bricolage de cartes Teensy et Arduino, Kevin a même réussi l’exploit de faire tourner Mini vMac, un émulateur Mac, sur son Brewintosh. On peut ainsi y insérer des disquettes virtuelles pour booter le système ou y brancher une carte SD pour partager des fichiers. Classe !

De quoi vous donner envie de ressusciter votre vieux Mac Plus qui dormait au grenier !

Source

❌
❌