Base de données PostgreSQL : Un trou noir pour vous, une mine d'or pour quelqu'un d'autre
Les cyberattaques sont de toutes formes et de toutes tailles. Parfois, l'intention expresse de l'attaquant est de perturber ou de voler quelque chose de valeur. À d'autres moments, l'attaquant tente d'atteindre un objectif qui n'est pas nécessairement destiné à causer du tort à votre organisation.
Parfois, les logiciels malveillants restent simplement dans votre infrastructure informatique, effectuant tranquillement leur travail sans causer de dommages évidents, mais ils drainent quand même vos ressources, agissant essentiellement comme un trou noir. Ce type de logiciel malveillant vous coûtera beaucoup d'argent, mais il risque aussi de nuire considérablement à votre réputation.
Dans cet article, nous allons aborder le cryptojacking, qui consiste en un malware sournois dont vous ne remarquerez peut-être jamais la présence, mais qui vous coûtera quand même cher. Pire encore, ce malware se cache dans l'un des endroits les plus improbables : votre base de données SQL.
Contenu :
1. Cryptojacking 101
2. Pourquoi le cryptojacking vous coûtera cher
3. Comprendre PostgreSQL
4. Une vulnérabilité de PostgreSQL qui permet le cryptojacking
5. Et en voici une autre...
6. Gérer le cryptojacking dans le monde réel
7. Les correctifs automatisés et en direct sont essentiels
8. TuxCare Live Patching pour PostgreSQL
9. Ne laissez pas votre PostgreSQL devenir un trou noir
Cryptojacking 101
Tout d'abord, voyons ce qu'est le cryptojacking et pourquoi les attaquants utilisent les techniques de cryptojacking. La réponse est simple : l'argent. L'extraction de crypto-monnaies peut rapporter gros, mais pour le cryptomining, les faits sur le terrain ont changé.
Il n'y a pas si longtemps, il était facile de miner de grandes quantités de crypto-monnaies simplement en utilisant un ordinateur standard avec une connexion Internet - vous pouviez le faire à la maison. Cependant, cela a changé au fil des ans, car de nombreux algorithmes de crypto-monnaies populaires sont conçus de telle sorte que l'extraction de pièces devient plus difficile au fil du temps.
Il en résulte qu'aujourd'hui, l'extraction de pièces est extrêmement exigeante en termes de calcul - les mineurs ont besoin de beaucoup de ressources pour extraire des crypto-monnaies, et ces ressources ne sont pas gratuites. Les mineurs ont besoin de beaucoup de ressources pour extraire les crypto-monnaies, et ces ressources ne sont pas gratuites.
Et c'est ce qu'est le cryptojacking : voler des ressources pour les utiliser à des fins de minage de cryptomonnaie. Lorsqu'un pirate pirate des serveurs de cryptojacking, son objectif est d'exploiter les ressources que vous avez payées et de les utiliser pour extraire des crypto-monnaies sans votre permission, et bien sûr sans vous donner aucune des crypto-monnaies extraites à l'aide de votre équipement.
Les cryptojackers sont motivés pour rester cachés aussi longtemps que possible, et ils essaieront bien sûr d'injecter leur code de cryptojacking là où vous avez le moins de chances de le trouver - nous y reviendrons plus loin dans cet article.
Pourquoi le cryptojacking va vous coûter cher
Nous examinerons ensuite les problèmes causés par le cryptojacking et les raisons pour lesquelles votre organisation doit prêter attention à ces risques. Un pirate qui installe un logiciel de cryptomining sur vos systèmes ne le fait pas pour perturber directement vos opérations ni pour voler des données - mais la ponction sur vos ressources informatiques peut être extrêmement coûteuse. Il y a aussi d'autres conséquences. Nous en énumérons quelques-unes ici :
- Augmentation des coûts. Nous avons expliqué précédemment que le cryptomining est très gourmand en ressources. La plupart des entreprises planifient leurs ressources technologiques avec soin : elles n'achètent jamais plus que ce qui est nécessaire et tirent le maximum de chaque dollar dépensé. Le cryptojacking bouleverse cet équilibre, et cela signifie que vos charges de travail peuvent soudainement tomber en panne, ce qui entraîne des interruptions inattendues. Si votre facturation dépend de l'utilisation, vous pouvez vous attendre à des factures beaucoup plus élevées.
- Dommages physiques. Alors que vos charges de travail sont conçues pour fonctionner dans les limites physiques et environnementales de votre matériel, les cryptojackers ne se soucient absolument pas d'abuser de votre matériel par le biais de logiciels de cryptomining installés de manière illicite. Cela peut entraîner une défaillance physique du matériel, car des composants tels que les processeurs sont utilisés au-delà des limites du fabricant et de l'environnement.
- Conformité et problèmes juridiques. Lorsqu'une organisation traite des données personnelles ou d'autres données confidentielles sur ses serveurs, la présence d'un logiciel de cryptomining non autorisé peut constituer une violation des règles de conformité, car le logiciel de cryptomining peut avoir accès à ces données. Cela peut entraîner des problèmes juridiques importants.
- Lescryptomineurs peuvent devenir un problème de sécurité. Le cryptojacking peut commencer comme un simple abus de ressources, mais les pirates peuvent réutiliser le logiciel pour atteindre d'autres objectifs. Il peut s'agir de perturber vos services ou de voler des données. En d'autres termes, un abus de ressources peut rapidement se transformer en une cyberattaque critique.
Comme vous pouvez le constater, le cryptojacking entraîne des coûts réels au quotidien en raison de l'utilisation accrue des ressources, mais aussi des risques de coûts importants et inattendus, car les logiciels de cryptomining transforment véritablement vos solutions technologiques en un trou noir.
Comprendre PostgreSQL
Les cryptojackers doivent cacher leurs logiciels quelque part et il est apparu que votre base de données PostgreSQL est un endroit idéal pour se cacher, comme nous l'expliquerons dans la section suivante. Mais qu'est-ce que PostgreSQL, et l'utilisez-vous dans vos charges de travail ?
Les solutions technologiques d'aujourd'hui sont très complexes, stratifiées et intégrées. La pile technologique typique dépend de nombreux composants, dont certains vous échappent peut-être. Ces composants fonctionnent en arrière-plan pour prendre en charge vos applications.
La plupart des applications reposent sur une base de données d'un type ou d'un autre - y compris, par exemple, MySQL et PostgreSQL. Il s'agit de systèmes de gestion de base de données (SGBD), et PostgreSQL est l'une des options les plus puissantes, publiée pour la première fois en 1997. PostgreSQL est très populaire en partie parce qu'il est peu coûteux à exploiter et facile à mettre en œuvre.
PostgreSQL offre également des capacités importantes qui le rendent très adapté aux applications d'entreprise, ce qui explique peut-être pourquoi une enquête de Stack Overflow a révélé que PostgreSQL est la deuxième solution de base de données la plus populaireaprès MySQL.
Il est raisonnable de penser que des millions d'applications et de solutions reposent sur PostgreSQL - et le font souvent en arrière-plan, simplement parce qu'un développeur a choisi PostgreSQL comme SGBD.
Une vulnérabilité de PostgreSQL qui permet le cryptojacking
Nous avons expliqué pourquoi vous devez vous inquiéter d'une tentative de cryptojacking réussie. Voyons maintenant comment les pirates peuvent introduire un logiciel de cryptomining dans votre base de données PostgreSQL.
En décembre 2020, une équipe de recherche a trouvé le premier exemple de pirates injectant du code de cryptomining dans PostgreSQL.. L'équipe a appelé le logiciel PGMiner, qui fait bien sûr référence à PostgreSQL et au minage - en d'autres termes, il s'agit d'un code installé dans PostgreSQL et utilisé pour miner des crypto-monnaies.
Le code dépend d'une vulnérabilité spécifique dans PostgreSQLune vulnérabilité d'exécution de code à distance qui permet à un pirate d'utiliser l'application PostgreSQL que vous exécutez pour injecter du code de cryptomining dans votre système. Vous pouvez lire une analyse approfondie de l'équipe de Unit 42.qui explique la méthodologie utilisée par PGMiner ici.
Il est intéressant de noter que la "vulnérabilité" associée à cette méthode de cryptojacking est en fait une fonctionnalité de PostgreSQL. Le PostgreSQL Global Development Group affirme que la fonction COPY TO/FROM PROGRAM impliquée dans la vulnérabilité fonctionne en fait comme prévu. Néanmoins, cette fonctionnalité est activement exploitée pour le cryptojacking.
Et en voici un autre...
Il n'y a pas qu'un seul moyen pour les pirates de pénétrer dans votre base de données PostgreSQL. Prenons un autre exemple, juste pour illustrer à quel point le risque de cryptojacking est insidieux.
Dans cet article, l'éditeur de solutions de sécurité Imperva explique comment des pirates injectent du code de cryptomining dans des instances PostgreSQL en utilisant une image de Scarlett Johannsson. Cela peut paraître étrange, mais essentiellement en ajoutant un code malveillant à un fichier image, les pirates peuvent insérer leur code dans une instance PostgreSQL via l'exécution de code à distance.
L'image est hébergée sur un service public d'hébergement d'images et ressemble à l'image d'un acteur populaire, rien d'autre - mais cette image innocente cache un réel danger car elle contient une véritable charge utile. Selon les auteurs de l'article, de nombreuses applications antivirus ne détectent pas la charge utile contenue dans le fichier image.
Cela montre que les attaquants ont de multiples moyens d'injecter du code de cryptomining là où ils le souhaitent.
Pire, ces exploits sont actuellement dans la nature - et les attaquants peuvent utiliser des outils automatisés pour trouver des serveurs PostgreSQL vulnérables. Pire encore, dans le cas de CVE-2019-9193, il n'y a actuellement aucun correctif disponible.
Gérer le cryptojacking dans le monde réel
Nous avons expliqué comment les logiciels de cryptomonnaie peuvent finir par coûter cher à votre organisation - tant en coûts de fonctionnement directs qu'en coûts indirects imprévisibles.
L'équipe qui a créé PGMiner a suggéré que tous ceux qui utilisent PostgreSQL devraient se concentrer sur les meilleures pratiques. Par exemple, minimiser ou abolir complètement l'utilisation de l'accès super-utilisateur dans PostgreSQL et limiter ce que les utilisateurs distants peuvent faire.
Un autre point clé des meilleures pratiques est la capacité à corriger systématiquement les vulnérabilités. Bien que CVE-2019-9193 en soi n'ait pas actuellement de correctif associé, dans l'ensemble, les correctifs ferment les vulnérabilités qui servent de points d'entrée aux attaquants - y compris ceux qui tentent d'installer du code de cryptomining sur vos serveurs.
Notamment, alors que de nombreuses menaces de logiciels malveillants sont limitées à une architecture de processeur spécifique, les menaces PostgreSQL dont nous parlons dans cet article sont une menace pour les architectures de processeurs x86, ARM et MIPS.
Les correctifs automatisés et en direct sont essentiels
Nous avons évoqué le patching dans la section précédente - mais il y a des difficultés associées au patching. L'application de correctifs de manière cohérente et efficace est particulièrement difficile. Les équipes techniques n'accordent pas toujours la priorité aux correctifs et disposent rarement des ressources nécessaires pour déployer des correctifs aussi rapidement que possible, ni pour le faire de manière vraiment cohérente.
Comme c'est souvent le cas en matière de cybersécurité, l'automatisation est la première étape d'une bonne application des correctifs. L'automatisation des correctifs allège la charge de travail des équipes technologiques très occupées, tout en renforçant la cohérence grâce à l'automatisation.
Mais l'automatisation seule ne suffit pas, car l'application des correctifs implique souvent des perturbations. Il peut arriver que les équipes mettent les correctifs en attente parce qu'elles craignent qu'ils n'entraînent des interruptions de service. Le "live patching" atténue ce problème en garantissant que les correctifs peuvent être appliqués sans qu'il soit nécessaire de redémarrer les serveurs.
TuxCare Live Patching pour PostgreSQL
Le live patching n'est pas si largement disponible - et il n'est pas toujours disponible pour tous les systèmes d'exploitation et services dont dépendent vos solutions - comme PostgreSQL. Cependant, nous sommes heureux de vous annoncer que TuxCare travaille activement au déploiement de correctifs en direct pour les serveurs PostgreSQL.
Nous fournissons déjà une solution de correctifs en direct pour les principales distributions de systèmes d'exploitation Linux et même pour les bibliothèques clés de ces distributions. Les utilisateurs de nos solutions de correctifs en temps réel pour les systèmes d'exploitation de serveurs Linux bénéficient du fait que les équipes de maintenance passent beaucoup moins de temps à appliquer les correctifs - TuxCare applique les correctifs automatiquement.
TuxCare est également avantageux pour la maintenance des serveurs car notre solution automatisée de patching en direct applique les patches à la volée. Les patchs en direct signifient que les mises à jour de sécurité critiques sont installées sans qu'il soit nécessaire de redémarrer un serveur - et sans perturber les opérations.
Cette fonction de correction automatique en direct sera bientôt disponible pour les bases de données PostgreSQL et signifie que les organisations qui utilisent TuxCare peuvent améliorer de manière significative leur régime de correction PostgreSQL et donc réduire de nombreuses possibilités d'injection de logiciels malveillants - y compris les cryptomonnaies.
Ne laissez pas votre PostgreSQL devenir un trou noir
En conclusion, vous savez maintenant que des pirates à la recherche de profits peuvent essayer de cacher du code de cryptomining dans vos serveurs - et même dans votre base de données PostgreSQL. Et ce n'est pas une menace que vous pouvez ignorer - les logiciels de cryptomining ne cohabitent pas pacifiquement avec vos solutions logicielles : ils draineront vos ressources et vous feront courir le risque de coûts très importants.
La sensibilisation est un bon début, mais vous devez également agir. Renforcez vos instances PostgreSQL en limitant les autorisations, les utilisateurs et en appliquant régulièrement des correctifs. Vous avez du mal à appliquer des correctifs de manière cohérente ? Surveillez l'arrivée du service de correctifs en direct TuxCare pour les SGBD, y compris PostgreSQL.
