Le piratage de sites web : motivations des pirates
Transcription
Le piratage de sites web : motivations des pirates
Le piratage de sites web : motivations des pirates,conséquences pour les entreprises Arnaud Jacques Le serveur web : une donnée sensible du système d'information Le site internet est la vitrine sur le web de chaque entreprise. Il informe les clients, les fournisseurs, les futurs salariés sur la société et participe à l'image et la notoriété de votre structure et de vos marques. C'est pourquoi, les sites web ont toujours été des éléments sensibles de la sécurité. En effet, par définition, un site web est un serveur public. N'importe qui dans le monde est sensé pouvoir y accéder. Y compris les hackers. Les sites web sont donc continuellement sollicités en terme de tentatives de piratage. Pour s'en convaincre, il suffit de regarder les logs de votre serveur web : Les tentatives d'accès à des pages web "pas très orthodoxes" sautent au yeux. Et il y en a une multitude dans chaque tranche de 24 heures... Exemple de recherche de failles applicatives dans les logs d'un site web. Le piratage d'un serveur web : Un acte simple Sans rentrer dans de purs détails techniques, il faut savoir qu'il existe des trous de sécurité dans la plupart des logiciels applicatifs web, tels que Zope, SPIP ou Joomla par exemple.Certains logiciels de piratage sont dédiés à la recherche de ce type de failles. Généralement, un tel outil peut détecter plusieurs centaines de failles dans une multitude de logiciels applicatifs web. L'utilisation de ces outils est simple : Il suffit de scanner tout ou partie des adresses IP d'Internet afin de trouver des failles dans les serveurs web. Une fois la faille trouvée, il suffit d'appliquer la méthode de son exploitation pour accéder aux fichiers stockés sur le disque dur du serveur web. La méthode en question peut être de l'injection SQL, de l'inclusion de fichier, de l'intrusion FTP, de l'intrusion du service web, de l'URL poisoning, etc. Étant donné que des scanners de failles tournent en permanence sur Internet, il faut bien comprendre que si votre site web comporte une faille de sécurité, elle sera trouvée et exploitée rapidement ! Pour allez un peu plus loin, nous vous conseillons ces statistiques détaillées sur les attaques de serveurs web. Ce qui a changé Depuis quelques années, les pirates informatiques qui s'attaquent aux sites web ont changé de comportement. Ils ne modifient plus les pages web en signant leur réalisation (defacing en anglais). Au contraire, ils ont tendance à rester le plus invisible possible sur le site afin d'y rester le plus longtemps possible. Comment ? Sur la globalité des infections de sites web, deux grands types d'infection ressortent : La modification des pages web : Elle est invisible en terme de rendu. Elle est elle même constituée de deux types de modifications : L'ajout d'un iframe pointant vers un site web hostile, contrôlé par le pirate. L'ajout d'un Javascript hostile. Le dépôt d'un fichier hostile sur le serveur. Voyons en détail ces deux types d'infection. La modification des pages web En ajoutant un iframe dans une page web du serveur, le pirate peut obtenir des informations sur les visiteurs du site web infecté. Par exemple : Leur adresse IP, donc à peu de chose prêt leur zone géographique Leur configuration (résolution graphique, etc.) En déduire les statistiques de fréquentation de site web. Cela peut être utile (donc monnayable) à la concurrence. etc. Bien entendu, l'iframe peut pointer aussi sur un script hostile, de nature HTML ou PHP, qui pourra par exemple, télécharger un malware à l'insu de l'internaute. En ajoutant un Javascript hostile, lorsque la page est vue par un internaute, le javascript hostile s'exécute sur le poste de l'internaute. Il peut donc être victime d'un "exploit" de navigateur, d'un téléchargement de malware sur son poste à son insu, etc. Le dépôt d'un fichier hostile Dans la très grande majorité, les fichiers hostiles déposés sur les sites web sont de nature exécutables (.exe Windows, ELF Linux, ...) ou interprétés (HTML, PHP, Perl, Javascript, ...).On y retrouve les types de malwares suivants : Des prises en main à distance du serveur. Ces scripts, nommés "Shell" ou "Remoteadmin", permettent de lancer n'importe quelle commande sur le serveur, avec les droits du serveur web. Imaginez les possibilités qui s'offrent au pirate via ce biais... Il peut changer les pages web de votre site, effacer des données, explorer la base de données du site web, rechercher une faille dans le système d'exploitation pour obtenir les droits Administrateur sur le serveur, et bien plus encore... Des outils d'identification du serveur. Ils se nomment "PHP.Id". Ils permettent de connaître le système d'exploitation du serveur, le type de CPU utilisé, la quantité mémoire, la configuration d'apache et de PHP, les versions de certaines librairies, etc. Des Mailers. Ces scripts permettent d'envoyer des emails. Ce sont de mailing lists simplifiées. Ils permettent donc d'envoyer en masse du spam ou du phishing. Sur le dos de la bande passante du serveur web bien sûr. Des scripts IRC. Ceux ci sont nommés "IRCBot". Ils permettent une communication avec le pirate par le canal de communication IRC qui reste ouvert 24h/24h. Cette communication permet de lancer des commandes sur le serveur via un simple client IRC. Et bien sûr, une quantité de malwares windows qui sont stockés pour être ensuite téléchargés par des internautes victimes, via le biais de failles de sécurité, ou de programme indésirables de type "Downloaders". Le pirate ne stockant pas ces malwares chez lui, mais sur le site web victime, il devient très difficile de remonter à lui lors d'une enquête. etc. Quel est l'objectif visé par le pirate ? Pourquoi les pirates dépensent-ils autant d'énergie pour modifier les pages web d'un serveur ou y déposer un fichier ? Il y a plusieurs réponses à cela. Le principal intérêt est financier. En effet, si un pirate peut lancer des commandes sur un site web, alors il peut voir le contenu des fichiers, et accéder à la base de données. Souvent sans même décrypter le mot de passe d'accès de la base de données : soit parce qu'il n'y en a pas, soit parce qu'il est stocké "en clair" dans un des fichiers du serveur web. Alors, dans ce cas, posez-vous les questions suivantes : Y a-t-il des données sensibles dans vos fichiers du site web ? Qu'il y a-t-il dans la base de données ? D'expérience, ous savons que dans certains cas, des entreprises stockent les mots de passe de leurs clients ou fournisseurs (pour accéder à une zone privée du site web par exemple). D'autres stockent des devis, des demandes de contact, des listes de personnes, et même des numéros de cartes bancaires... Toutes ces informations ont une valeur pécuniaire, surtout vis-à-vis de la concurrence.Dans le cas des "Mailers", le fait d'envoyer des emails de phishing permet au pirate un gain financier rapide. En effet, il est de notoriété publique de pouvoir récupérer des comptes Paypal valides, et autres comptes bancaires, via le phishing. L'autre intérêt est d'avoir "sous la main" une multitude de serveurs web dont on exploitera la puissance CPU ou la bande passante.La puissance CPU pourra être utilisée pour casser des mots de passe simultanément sur plusieurs serveurs (cracking distribué). La bande passante utilisée sur plusieurs serveurs permettra de perpétrer des dénis de service distribués par saturation du serveur victime. Elle peut aussi être utilisée par l'exécution d'un scanner de failles web pour couvrir une autre grande part des adresses IP d'Internet, et ainsi, couvrir plus rapidement la totalité des adresses IP qui composent Internet. Notons au passage que si votre site web est utilisé à des fins de tentatives de piratage vers d'autres sites web, la responsabilité du propriétaire du site attaquant est engagée. Les conséquences Comme nous l'avons évoqué dans les paragraphes précédents les conséquences sont principalement financières. Comment calculer l'impact de ce type d'incident ? Posons-nous rapidement ces quelques questions : Quel est le coût d'un vol des informations sensibles qui seraient hébergées sur votre site web et quel est le coût si ces mêmes informations sont transmises à la concurrence ? Quel est le coût de se voir blacklisté par Google ? Quelle est la répercussion en terme d'image pour vous ou votre entreprise si votre site web est utilisé à des fins illégales Quel est le coût d'une bande passante saturée lors d'un déni de service effectué à partir de votre serveur web ? Quel est le coût de voir son site web fermé par l'hébergeur pour cause de non respect des conditions générales de vente ? Exemple de blacklist d'un site web sous Firefox. Au delà de l'aspect purement financier, si vous êtes propriétaire d'un site web, votre responsabilité peut être engagée en cas de litige. Par exemple, même si c'est à votre insu, si vous divulguez des malwares via votre site web, ou si vous perpétrez des attaques vers d'autres cibles. Si vous êtes un internaute, vous pouvez être infecté par un malware sur votre poste de travail, de façon transparente, sans vous en rendre compte, par le simple fait de visiter le site web piraté. Protégez-vous efficacement de cette menace Gardez vos serveurs web à jour Tout serveur web doit être impérativement à jour. Cela parait évident et simple au premier abord, mais quand on regarde de plus près, c'est un peu plus compliqué que cela. En effet, pour être efficace, il faut mettre à jour : Le système d'exploitation Le service Web (Apache, IIS, etc) Les briques logicielles du serveur web (PHP, MySQL, et toutes les extensions utilisées par le service web) L'applicatif web (Zope, SPIP, Joomla, etc). C'est là que ça se corse ! Lorsqu'un logiciel est utilisé pour la publication de contenu, il est souvent modifié pour coller au besoin de fonctionnalité, ou d'esthétisme. C'est d'autant plus tentant si l'applicatif web est open source. Cependant, non seulement les modifications peuvent engendrer de nouvelles failles de sécurité qu'il n'y a pas dans le logiciel original, mais en plus cela complexifie énormément la maintenance du logiciel ! Comment mettre une nouvelle version de Joomla lorsqu'une page PHP sur trois à été modifiée ? Installez un antivirus On ne le dira jamais assez : Procurez vous un antivirus pour votre station de travail, mais aussi pour vos serveurs !Nous entendons souvent dire "Notre serveur web ne craint pas les virus, il est sous Linux (ou Mac OS)". Sauf qu'avec un serveur Linux ou Mac OS, il est possible de propager des malwares pour le système d'exploitation Windows...Et mieux vaut un antivirus gratuit plutôt que rien ! Dans le cadre d'une entreprise, notre appliance de sécurité permet le filtrage antiviral en temps réel du surf sur internet. L'intégrité du poste de travail en est renforcée. Optez pour de l'hébergement dédié L'hébergement mutualisé comporte un certain nombre de risques de sécurité pour votre site web. Par exemple : Vous n'avez pas accès au système d'exploitation du serveur. Vous ne pouvez donc pas vous assurer qu'il est à jour en terme de patchs de sécurité. Vous n'avez pas accès à la configuration du service web (Apache, IIS, ...). Vous ne pouvez donc pas vérifier que des directives de configuration renforçant la sécurité sont inclues dans la configuration du service web. Pire encore, ces directives de sécurité ne sont généralement pas appliquées afin que tous les sites hébergés sur le serveur fonctionnent. Vous ne pouvez pas installer de logiciels dédiés à la sécurité de votre serveurs web, par exemple un antivirus, un Système de Détection d'Intrusion (IDS), etc. Et le pire, c'est que la sécurité de votre site web dépend directement des autres sites hébergés sur le serveur ! En effet, dans le cadre d'un hébergement mutualisé, il n'est pas rare de voir plus d'une centaine de sites web hébergés sur le serveur. Que se passe-t-il si l'un d'entre eux comporte une faille si importante qu'elle permet d'exécuter des commandes sur le serveur web ? Pour toutes ces raisons, nous vous conseillons d'utiliser un hébergement dédié pour votre site web. Ainsi, le périmètre de sécurité de votre site web vous appartient ! . Auditez régulièrement votre site web Un audit de votre serveur web permet de faire un état des lieux des failles présentes, de leur implications, et de la mise en œuvre permettant leur correction.Il est conseillé d'en effectuer régulièrement, notamment avant la mise en production d'une nouvelle version de votre site web.