Archives de l’auteur : Janiko

Kerberos

Kerberos est un service d’authentification permettant d’accéder à des ressources sur réseau, en se reposant sur un mécanisme de distribution de clés symétriques. Il est utilisé notamment par Windows pour le service d’Active Directory. Le Kerberos Consortium gère ce projet en accès libre.

Différence entre Kerberos et NTLM

NTLM était utilisé autrefois par Windows. Il fonctionnait à la façon classique d’un mot de passe, avec stockage en base du mot de passe que l’utilisateur devait fournir pour s’authentifier. La principale différence entre les deux systèmes est la vérification tierce partie et la capacité de chiffrement plus efficace de Kerberos. 

Voici le principe d’une authentification via Kerberos.

Principe de fonctionnement de Kerberos

Faut s’accrocher un peu pour comprendre. En gros, le client (C) peut se connecter au serveur (S) sans rien connaître de (S). Tout passe par une infrastructure tierce, appelée Centre de Distribution de Clés (KDC) qui comprend un serveur d’authentification et un serveur d’émission de tickets.

En termes imagées, le client va auprès d’un bureau de sécurité (le serveur d’authentification) et demande un badge ayant une durée limitée. A l’aide de ce badge, il se rend à un service d’émission de tickets (celui qui est responsable de la ressource), et demande un ticket pour accéder à la ressource. Sauf qu’à chaque étape, tout est chiffré avec des clés symétriques.

Pré-requis

Pour cela, des clés privées doivent au préalable avoir été échangées entre tiers. Ainsi :

  • La clé privée spécifique au client doit être connue du serveur d’authentification. La clé est (toujours ?) dérivée du mot de passe servant à l’authentification sur l’AS via une fonction string2key ;
  • La clé privée du serveur de tickets (TGS) doit être connue du serveur d’authentification ;
  • La clé privée du serveur ressource (S) doit être connue du serveur de tickets (TGS).

Comme autre pré-requis, le client (C) doit avoir un principal, c’est-à-dire être connu du réseau. Côté client, il faut également savoir gérer ce protocole, ce qui est le cas pour Windows (GSSAPI).

Les différentes étapes

Pour cela, voici les opérations :

  1. Le client s’authentifie auprès du serveur d’authentification (Authentication Server, AS), en général via login/mot de passe ;
  2. Le serveur d’authentification lui renvoie un ticket d’authentification (Ticket Granting Ticket, ou TGT), qui l’authentifie durant un certain temps. Ce TGT est chiffré avec la clé du serveur de tickets, et ne peut donc pas être déchiffré par le client. A côté de cela, le serveur d’authentification envoie également une clé de session à utiliser pour l’échange avec le serveur de tickets (TGS) ;
  3. Pour accéder au serveur (S), le client (C) va utiliser ces éléments : il envoie le ticket d’authentification (TGT) au serveur de tickets (TGS) en le chiffrant avec la clé de session ;
  4. Le serveur de tickets déchiffre le TGT, le vérifie, et envoie alors au client une clé d’échange finale entre le client et le serveur (en bleu), chiffrée avec la clé de session, ainsi qu’un ticket de service chiffré avec la clé du serveur ;
  5. Le ticket de service est chiffré avec la clé du serveur : le client ne peut donc ni le lire, ni le modifier.

Cache

Le ticket d’authentification (TGT) ayant une certaine durée de validité, il doit être protégé convenablement dans un cache approprié, dont Kerberos exige qu’il soit en mémoire non swappable (pour éviter qu’il soit écrit sur un disque), accessible uniquement au niveau noyau, etc.

Le protocole interdit également tout stockage du mot de passe ou du secret obtenu via string2key.

MIT Kerberos Consortium – Protocol Tutorial

Les attaques

Sources

Voir aussi

Anatomie d’un phishing (presque) ordinaire

Le phishing fait des ravages depuis longtemps, mais force est de constater qu’il évolue sans cesse afin de déjouer la vigilance des utilisateurs et des outils de sécurité en charge d’éradiquer les mails douteux. Une campagne récente (active en décembre 2020) visant le portefeuille Ledger constitue une excellente occasion de voir, par l’exemple, les techniques employées en ce moment.

Continuer la lecture →

Signal, WhatsApp, Telegram…

Ou olvid ? Quelle messagerie instantanée choisir pour espérer garder un semblant de vie privée et de confidentialité, à l’heure où WhatsApp change ses conditions d’utilisation (dans certains pays) pour partager plus de données avec Facebook ?

Continuer la lecture →

Active Directory

Un Active Directory est un annuaire de type LDAP pour Windows, avec deux fonctions principales : identifier des façon unique les ressources (matérielles ou humaines) et les authentifier. Mais ça n’est pas tout, Active Directory Domain Services permet également :

  • L’installation, la configuration et la mise à jour d’applications ;
  • La gestion de l’infrastructure de sécurité ;
  • L’activation du service d’accès à distance et de DirectAccess ;
  • L’émission et la gestion de certificats numériques.
Continuer la lecture →

Ransomware Task Force

Ça pète. Avec un nom pareil, les ransomwares n’ont qu’à bien se tenir. Trêve de plaisanterie, cette initiative est louable, et montre bien les préoccupations dans ces années 20 : autrefois on luttait joint contre les botnets, maintenant il faut ajouter une corde à l’arc de la SSI : la lutte contre le ransomware.

Continuer la lecture →

SolarWinds

L’attaque via SolarWinds, un éditeur de logiciels, restera dans les annales (avant de passer à la méga-attaque suivante). Une bourde de cet éditeur a conduit à une attaque à la fois sophistiquée, étendue, et particulièrement grave. Beaucoup de commentaires suivront, mais regardons les grandes lignes.

Continuer la lecture →

FireEye piratée

Arroseur arrosé ou cible particulièrement intéressante ? FireEye est une société réputée et performante dans le domaine de la sécurité informatique, notamment dans la réponse à incident (Madiant étant une des sociétés du groupe), mais aussi dans la protection contre les menaces même les plus avancées. Et pourtant, fin 2020, elle a été ciblée et l’attaque a abouti.

Continuer la lecture →

DSP2

La DSP2 est l’exemple de directive idiote, ma fichue, et mal conçue. Elle est censée apporter de la sécurité dans les moyens de paiement informatiques bancaires, et favoriser l’éclosion de fintechs.

Or cette directive semble vraiment avoir été écrite par des gens qui n’y connaissent rien à la sécurité informatique, rien aux banques, et rien aux startups.

Continuer la lecture →

Technologie humaine

Facebook n’a pas aimé le documentaire de Netflix sur son réseau social (the Social Network), et le fait savoir. Les réseaux sociaux sont une plaie. Certes ils ont des vertus mais conduisent aussi à de trop nombreux vices, en particulier lorsqu’on les associe au politiquement correct, une plaie venue des universités américaines. Et pour mieux combattre son ennemi, il faut le connaître.

Continuer la lecture →