Web Application Firewall (WAF) – l’etat de l’art (3)

Les contre-mesures offerts par un pare-feu applicatif

Protection contre les dénis de service

Cette protection est assez délicate à mettre en œuvre du fait de la variété des méthodes utilisées pour générer un déni de service. Il existe deux types de solutions.

La première se base sur un contrôle comportemental. Différents paramètres sont surveillés : nombre des requêtes par seconde (par utilisateur ou au global), temps de réponse des serveurs, etc. Et des seuils de dépassement sont configurées (ex : augmentation de 200% de temps de réponse moyen d’un serveur). Lorsque ces seuils sont dépassées, des contre-mesures sont mises en place : limitation du nombre de requêtes par seconde, blacklisting de certains sources des requêtes.

Une autre protection utilise des mécanismes de détection des bots ou vers. Pa exemple, un Javascript est injecté dans chaque réponse émise par le serveur. Si le client répond au Javascript, nous avons a faire à un browser (pas forcement honnête), dans l’autre cas, nous avons affaire à un script de génération de requête et nous allons pouvoir d’ores et déjà restreindre son activité ou dérouter son trafic soit en le bloquant soit en le l’envoyant ailleurs (ex : honeypot pour récupérer plus d’informations sur l’attaquant).

Protection contre les élévations de privilèges

Il est possible de protéger une application de cette attaque via des « white-lists » : des règles spécifiant quel contenu doit être accédé sur l’application. Toute requête ne respectant pas ces règles sera rejeté. Il est possible de définir ces contenus selon différents critères :

  • Type d’objets : php, aspx,html, css, js, etc. Toutes les requêtes à destination des objets de types conf, sh, dll, exr, pl,… seront bloquées.
  • URL : seules les requêtes a destination du chemin «/public/ » (par exemple) sont autorisées et ainsi les requêtes sur les path « /conf/ », « /logs/ », « /admin/ », « /root/ »,… seront bloquées.
  • Objets : dans ce cas les objets ne sont plus définis par leur type mais de manière unitaire : index.php, home.asp,… Cette méthode est plus précise, mais plus complexe à maintenir, bien que des outils de découverte et d’apprentissage des applications puissent faciliter l’exploitation.

Protection contre l’injection du code

Pour se protéger contre l’injection du code et spécialement de l’injection du code SQL, plusieurs méthodes peuvent être utilisées et combinées :

  • Mise en place de signature d’attaques : bien qu’il existe une infinité de combinaisons pour procéder à une injection SQL, certaines sont connues et peuvent être facilement identifiées à l’aide d’une expression régulière. Tout contenu de la requête (en général les données d’un POST HTTP) matchant la signature provoquera le blocage de la requête.
  • Inspection des données envoyées à l’application : les injections étant très souvent véhiculées par un POST http ou dans un URL, il est intéressant de soumettre ces données à un contrôle des caractères envoyées. En effet, les injections SQL nécessitent souvent l’emploi de caractères de type «= », « ” », «-», … Une règle bloquant ces caractères dans les formulaires de saisie ou dans certains paramètres permettent de se prémunir contre ces attaques.

Protection contre les Cross-site Scripting

De la même manière que pur sécuriser une application contre les injections SQL, il est possible d’implémenter des règles de contrôle de données envoyées a travers un POST http ou dans les paramètres en interdisant des caractères de type « < », « > », « / », …

Protection contre les vols de sessions  HTTP

Les attaques utilisant un vol de cookie peuvent être contrées de plusieurs manières qui peuvent être combinées pour obtenir le meilleur niveau de sécurité :

  • Chiffrement SSL : le chiffrement permet d’éviter (en tout cas de compliquer) le vol de cookies par un sniffer sur un réseau local. En effet, même si le trafic est capturé, les données ne seront pas exploitables. Une variante consiste à ne chiffrer que le contenu du cookie qui devient ainsi inexploitable. Si le serveur ne possède pas cette capacité, le WAF peut réaliser cette opération en chiffrant le contenu du cookie lors de son envoi vers le client et en le déchiffrant avant de l’envoyer au serveur.
  • Protection contre les attaques XSS : un des moyens les plus utilisés pour voler un cookie est de procéder à une attaque XSS.

Comment choisir son pare-feu applicatif web

Le « Web Application Security Consortium » (WASC) est une organisation a but non lucratif constitué des industriels et des représentants des organisations qui produisent des logiciels libres qui a comme but a faire connaître les meilleures pratiques concernant la sécurité du web.

Parmi les projets menés par WAFEC il y a :

  • The Web Hacking Incidents Database (WHID) : projet dédié au maintien d’une liste d’incidents liées a la sécurité des applications web.
  • The Web Application Security Scanner Evaluation Criteria (WASSEC) : est un ensemble de lignes directrices pour évaluer des scanners pour des application web.
  • The Script Mapping Project : Le but du projet est de fournir avec une liste exhaustive des vecteurs pour exécuter des scripts dans une page web sans l’utilisation de la balise <script>.
  • Web Security Glossary : Le projet est un index alphabétique des termes et la terminologie relatives à la sécurité des applications Web. Le but de ce glossaire est de clarifier davantage le langage utilisé au sein de la communauté

Concernant les WAFs, WASC mène le projet WAFEC (The Web Application Firewall Evaluation Criteria). Le but de ce projet est de développer une analyse détaillée des critères d’évaluation des WAF et la mise en place d’une méthodologie de test qui peut être utilisé par n’importe quel technicien raisonnablement compétent pour évaluer indépendamment la qualité d’une solution WAF.

Le WAFEC sert deux objectifs : d’une part il aide les utilisateurs à comprendre ce qu’est un WAF est quel et son rôle dans la protection des sites web et d’autre part, WAFEC fournit un outil pour les utilisateurs à prendre une décision éclairée lorsque ils choisissent un WAF.

La première version de WAFEC été publié en 2006 et est la première ressource qui a fourni la définition d’un WAF. WAFEC est couramment utilisé par des organisations lors de l’évaluation d’un WAF.

Le WAFEC contiens les critères suivants :

  • L’architecture de déploiement : cette section met en évidence les questions clé pour déterminer la faisabilité du déploiement de pare-feu d’applications Web dans un environnement donné.
  • Le support HTTP et HTML : cette section énumère les versions du protocole HTTP et HTML qui doivent être supportées par les WAF.
  • Les techniques de détection : section contenant les technique de détection possibles, model de sécurité positif, model de sécurité négatif, model de sécurité basé sur les signatures.
  • Les techniques  protection : cette section énumère les exigences spécifiques pour la protection qui ne sont pas couvert en utilisant des mécanismes de protection génériques décrites dans d’autres sections.
  • La journalisation : cette section énumère les exigences spécifiques pour la journalisation des évènements générés par le WAF, le format de logs (text, XML, API), comment les administrateurs peuvent être notifiés (email, SMTP Trap, API).
  • Les rapports générés par le WAF : section contant des informations sur le rapports génères par le WAF, le format du rapport (HTML, XML, PDF), les mécanismes de distribution des rapports (email, FTP).
  • Le management : section contenant les critères pour manager le WAF, l’habilité d’accepter manuellement les faux positives, l’habilité de appliquer des politiques par application, l’habilité de customiser les signatures d’attaques.
  • La performance : sections contenant des informations sur la performance au niveau HTTP, la niveau HTTPS (SSL), la performance sur
  • Les services web : les caractéristiques des WAFs concernant les services web, est-ce que le WAF protège des services web, est-ce que le WAF valide les appelles a des services web.

Web Application Firewall (WAF) – l’etat de l’art (2)

L’architecture d’un pare-feu applicatif web

Le placement du pare-feu applicatif web

Les pare-feu applicatifs qui sont des appliances sont d’habitude placés directement derrière un pare-feu classique et avant les serveurs Web de l’organisation. Habituellement le positionnement du pare-feu applicatif fait que tout le trafic web passe à travers celui-ci. Pourtant, certaines solutions peuvent être positionnées sur un port de surveillance du réseau (network monitoring port) et donc elles reçoivent une copie du trafic réseau.

Les pare-feu applicatifs qui sont intégrées directement dans les serveurs web fournissent des fonctionnalités similaires en traitant le trafic avant qu’il n’atteigne l’application web.

Le modèle de sécurité

Un pare-feu applicatif suit généralement soit un modèle de sécurité positive ou négative quand il s’agit de l’élaboration de politiques de sécurité pour les applications Web.

Le modèle de sécurité négatif autorise par défaut toutes les transactions. Seules les transactions contenant des attaques sont rejetées. Basé sur une signature, le pare-feu applicatif détecte les attaques en exécutant des correspondances de définitions. Et, comme c’est le cas avec les logiciels antivirus et les systèmes de prévention des intrusions (IPS), la vitesse, la qualité et la quantité de mises à jour des signatures publiées par le fournisseur sont cruciaux.

Pour ce qui est du modèle de sécurité positif, le pare-feu applicatif refusera toutes les transactions par défaut et s’appuiera sur les ensembles de règles pour autoriser les seules transactions réputées fiables. Cette méthode exigera du firewall une activité d’apprentissage non négligeable pour détecter les transactions légitimes. Pour le WAF fonctionnant de la sorte, il est important de savoir s’il prendra en charge les mises à jour automatiques pour son modèle de comportement applicatif, sans devoir le former à nouveau lors de chaque mise à jour. En outre, il convient de s’intéresser aux techniques de normalisation qu’il utilise afin que des pirates ne puissent pas esquiver votre firewall en modifiant tout simplement une charge utile malveillante afin qu’elle semble inoffensive.

Le modes de fonctionnement

Les pare-feu applicatifs web peuvent fonctionner dans plusieurs modes distincts.
Chaque mode offre divers avantages et inconvénients qui obligent les organisations à évaluer la place optimale du WAF dans l’infrastructure réseau.

Le mode passif

Dans le mode passif, le WAF écoute le trafic sur un port de control (n’est pas en ligne directe avec le trafic) et donc n’est pas capable de l’influencer. Ce mode est idéal pour tester le WAF dans l’environnement sans nuire au trafic. Le trafic est répliqué au niveau 1 (couche physique) de la couche ISO/OSI.

Le mode de fonctionnement passif
Le mode de fonctionnement passif

Le mode bridge

Le mode bridge est similaire au mode passif. Le WAF fonctionne comme un switch au niveau 2 (couche liaison de données) de la couche ISO/OSI. Ce mode offre des performances élevées et pas des changements importants au niveau de l’infrastructure réseau puisque le WAF n’as même pas besoin d’une adresse IP. Ce mode a quelques inconvénients ; il n’est pas possible de fournir des services de cache.

Le mode de fonctionnement bridge
Le mode de fonctionnement bridge

Le mode routeur

A WAF en mode routeur agit comme un routeur au niveau 3 (couche réseau) de la couche ISO/OSI donc le WAF est en ligne directe avec le trafic Internet. C’est possible en ce mode de remplacer directement un router existant même si ce n’est pas conseillé.

Le mode de fonctionnement router
Le mode de fonctionnement router

Le mode reverse-proxy

Le mode reverse-proxy est le déploiement le plus courant et riche en fonctionnalités. En ce mode, le WAF se trouve en ligne directe avec le trafic venant de l’Internet. Le WAF a une adresse IP publique et toutes les requêtes concernant les applications web lui y sont directement adressées. Le WAF ensuite fait la requête au serveur web au nom du navigateur d’origine. L’inconvénient d’un mode reverse proxy est qu’il peut augmenter la latence des applications web.

Le mode de fonctionnement reverse-proxy
Le mode de fonctionnement reverse-proxy

Le mode embarqué

Dans ce mode le WAF est embarqué dans le serveur web comme un module logiciel. Cette approche a certains avantages pour le déploiement des applications web de complexité réduite parce que aucun matériel supplémentaire n’est nécessaire. Pourtant, pour des raisons de scalabilité c’est recommandé d’installer le WAF sur un serveur web indépendant.

Le mode de fonctionnement embarqué
Le mode de fonctionnement embarqué

Web Application Firewall (WAF) – l’etat de l’art (1)

Introduction

Au cours des dernières années, une tendance claire se dégage au sein du paysage de la sécurité de l’information; les applications Web sont l’objet d’attaques.

Les applications Web continuent d’être un des principaux vecteurs d’attaque
pour les criminels, et la tendance ne montre aucun signe de ralentissement.

En effet, de plus en plus, les pirates évitent les attaques réseau au profit d’attaques par cross-site scripting (XSS), d’injections SQL et de nombreuses autres techniques d’infiltration destinées à frapper plus haut dans le modèle OSI, au niveau de la couche applicative en général, et du Web en particulier.

Aujourd’hui la plus part d’architectures réseaux sont protégées contre des attaques venant de l’extérieur par des firewalls classiques. Mais dans le plus part des cas, les ports http/https ne sont pas du tout protégées ou filtrées. C’est dans ce contexte que les pare-feu applicatifs web (WAF) on vus le jours.

Un pare-feu applicatif Web (WAF) est une application ou une appliance
qui surveille les conversations entre un navigateur client et un serveur web au niveau des packages http. Le WAF a la possibilité d’appliquer des politiques de sécurité fondées sur une variété de critères, y compris des signatures d’attaques connues.

Le pare-feu applicatif Web est donc destiné à prévenir les attaques là où les pare-feu réseau et les systèmes de détection ou de prévention des intrusions cessent d’être efficaces. A noter aussi qu’une mise à jour de la norme PCI DSS (Payment Card Industry Data Security Standard), effective depuis juin 2008, exige de sécuriser les applications Web via l’analyse du code ou des firewalls WAF.

(Quelques) Types d’attaques contre les applications web

Déni de service

La méthode est d’utiliser un réseau de bots pour générer un flux de requêtes vers une application. L’exemple le plus simple est d’envoyer simultanément des milliers de requêtes sur la page d’accueille d’un site public pour rendre hors service le serveur web.

En fonction du type d’application, une requête sur une page dynamique génère sur le serveur et la sur la chaine applicative (serveur d’application et base de données) une charge conséquente (génération des requetés SQL, appel a d’autres instances d’applications telle qu’un service web). Lancer le traitement de cette chaine plusieurs milliers de fois par seconde est en général fatal, le composant le plus faible cédant en premier, en rendant alors l’application indisponible.

Élévation des privilèges

Pour mener cette attaque, il faut que l’attaquant soit déjà connecté sur l’application avec un compte utilisateur. Avec ce compte, il part à la découverte de l’application et tente d’accéder a des fichiers de configuration ou de mot de passe. Par exemple les répertoires suivantes peuvent être accèdes pour tenter d’y découvrir des fichiers de configuration, comptes administrateurs : « /system/ » ; « /passwords/ » ; « /logs/ » ; « /admin/ ».

Injection de code

Une injection de code se produit quand un utilisateur envoie du code au serveur et l’oblige de l’exécuter. Les attaques le plus connus par l’injection du code sont l’injection du SQL et l’injection du PHP.

Une attaque par injection SQL se compose d’insertion d’une requête SQL dans les données  envoyées par le client au serveur. Une attaque réussi  peut lire les données sensibles à partir de la base de données, modifier les données de base de données (INSERT / UPDATE / DELETE), exécuter des opérations d’administration sur la base de données (telles que l’arrêt du SGBD), récupérer le contenu d’un fichier présent sur le système de fichiers de la base de données et dans certains cas d’emmètre des commandes au système d’exploitation.

L’injection PHP est similaire à l’injection SQL mais on remplace le code SQL par du code PHP.

Cross-Site Scripting (XSS)

Une application web est vulnérable aux attaques de type XSS quand un attaquant peut forcer l’application de lui retourner des données soumises non altérées. Ce mécanisme lui permet d’insérer des chaines de caractères spéciales dans la page HTML retournée par le serveur.

Un exemple d’une chaine de caractères spéciale est : <script>alert(« XSS« ) ;</script> qui auras comme résultat l’affichage d’une fenêtre dans le navigateur.

Vol de session HTTP

Un utilisateur d’une application web a le control complet sur la réponse qu’il envoie au serveur. Cette affirmation est spécialement vrais pour les éléments qui stockent de l’information d’état d’une page web comme les cookies http, les champs http cachés, les entêtes http et tous les éléments http  qui peuvent être contenus dans un formulaire http.

Le protocole http est un protocole « sans états » : rien ne permet de lier entre elles les requetés provenant d’un même utilisateur. Les applications utilisent massivement les cookies pour palier ce problème. Les cookies présentent deux vulnérabilités :

  • Les cookies sont facilement manipulable à l’aide d’outils comme Fiddler ou Tamper Data. En envoyant des valeurs de cookies « au hasard » ou en utilisant des algorithmes de génération de cookies connus, il est possible de se faire passer par un autre utilisateur.
  • Les cookies peuvent être volées et réutilisés. On parle d’attaques par vol de session. Sur un réseau local, un simple « sniffer » suffit pour capturer un cookie. Sur Internet, cette attaque est plus complexe, mais les attaques de type XSS permettent de récupérer des cookies. Ces cookies peuvent être ensuite réutilisées pour qu’un attaquant se fasse passer pour un utilisateur légitime.

Une radiographie de la cybercriminalité roumaine

Présentation du sujet

La présentation se propose d’offrir « Une radiographie de la cybercriminalité roumaine » et a deux objectifs principaux

  •  Tout d’abord, trouver des chiffres et des statistiques concernant la cybercriminalité roumaine.
  •  Deuxièmement, faire une liste la plus exhaustive possible des domaines de la cybercriminalité dans lesquels la criminalité roumaine est plus spécialisée.

Un troisième but qui résume et résulte de l’aboutissement des deux premiers  serait de faire une distinction très claire  entre le mythe qui entoure la cybercriminalité (qui est surtout créé et entretenu pas la presse) et la réalité  de la cybercriminalité.

La géographie de la veille

Concernant l’axe temporel, la veille a été amorcée au cours du mois d’avril 2012 avec des premiers résultats concluants vers mi-mai 2012.  Le processus de veille a été arrêté le 1er juillet 2012.

D’un point de vue géographique, la veille concerne uniquement la cybercriminalité provenant de Roumanie, mais sans distinction de la provenance géographique  des victimes. Il n’y a donc pas de limites géographiques en ce qui concerne les victimes.

Démarche

Les mots clés

Le tableau suivant synthétise les informations concernant les mots clés utilisés pour la veille :

Mots clés Efficacité Commentaire
romanian cyber criminality statistics   Très bonne
statistici cibercriminalitate romana  Très bonne Ces mots clés sont en langue roumaine
romanian cybercriminal statistics   Bonne
formes cybercriminalité  Bonne
types d’attaques cybercriminalité roumaine  Faible
Statistiques cyberdélits  Faible

Figure 1. Les mots clés de la veille

Dans la recherche des synonymes pour les mots clés on a utilisé l’outil Touchgraph qui à la base est un outil de cartographie. Ainsi qu’il résulte de l’image suivante, l’outil Touchagraph  présente pour chaque recherche, des recherches associées (« Related Searches »). Parmi ces recherches associées on peut parfois trouver des synonymes pour les mots clés de la recherche d’origine.

Figure 2. Recherches associées a des mots clés calculés par Touchgraph
Figure 2. Recherches associées a des mots clés calculés par Touchgraph

La veille manuelle

Les moteurs de recherches utilisés  pour la veille sont les suivants :

  • Google (google.be, google.fr, google.ro, google.com) – donne des résultats très pertinents et en plus il a des fonctionnalités  qui facilitent le travail de l’utilisateur, tel que l’aperçu des pages (voir Figure 2)
  • Bing – donne des résultats presque aussi bons que Google, mais il n’a pas toutes les fonctionnalités supplémentaires de Google
  • Yahoo – donne des résultats moins bons que les deux précédents moteurs
  • Exalead – donne des résultats plutôt mitigés donc, ce moteur n’as pas été retenu dans notre veille technologique.
Figure 3. L’aperçu des pages dans le moteur Google.
Figure 3. L’aperçu des pages dans le moteur Google.

La veille automatique

Une fois les mots clés identifiés, l’étape suivante a été de mettre en place une veille automatique.

Pour la veille automatique les outils suivants on été utilisés :

  • Google Alerts (voir Figure 4) – très bon outil gratuit qui s’intègre assez bien avec d’autres outils de Google (Gmail, iGoogle). Le nombre d ‘alertes est illimité et l’outil offre la possibilité de recevoir les alertes par email ou  par un flux RSS (qui donc peut être ajouté a n’importe quel outil d’agrégation comme iGoogle ou Netvibes).
  • Alerti –  l’outil offre des fonctionnalités comme des rapports, des tâches   liées à chaque élément d’une alerte, l’archivage des alertes mais tous ces fonctionnalités sont payantes. Alerti cherche les mots clés dans les blogs (n’est pas spécifié quels plateformes de blogs), dans des forums (aussi, sans spécifier quels sont les forums), sur Twitter, sur Facebook et d’autres réseaux sociales (sans indiquer lesquels). L’offre gratuite d’Alerti contient une seule alerte sans toutes les autres fonctionnalités.
  • TweetBeep – « TweetBeep is like Google Alerts for Twitter» outil qui fait des recherches par mots clés sur Tweeter. La version gratuite limite le nombre d’alertes a 5.
  • WatchThatPage – une fois que la veille a donné quelques sites ou pages web intéressantes, on a mis en place des outils de surveillance de ces pages web pour être alerté de la moindre modification. Pour cette tache le meilleur outil s’est avéré d’être WatchThatPage.com. L’outil permet de surveiller les pages web ciblées et rapporte leurs modifications par email (voir Figure 5).
  • Wysigot – est un outil similaire à WatchThatPage qui en plus est capable d’aspirer le contenu d’une page web. Malheureusement, pour pouvoir l’utiliser il faut installer l’application Wysigot sur une machine, ce qui n’est pas très pratique, contrairement a WatchThatPage qui est une application web.
Figure 4. Le page de Google Alerts pour notre veille
Figure 4. Le page de Google Alerts pour notre veille
Figure 5. La page de WathcThatPage pour notre veille
Figure 5. La page de WathcThatPage pour notre veille

La veille cartographique

Pour la veille cartographique les outils suivants on été utilisées :

  • Touchgraph – l’outil permet de faire une cartographie des mots clés et de vérifier le rayonnement des ces mots clés utilisés.   Pour notre veille on a essayé la version gratuite Touchgraph (appelée Touchgraph SEO).  Touchpraph n’as pas donné des résultats probants et il n’a pas été retenu pour la suite de notre veille.
  • PearlTree – est un outil qui a comme but de donner à l’utilisateur la possibilité d’organiser les pages web préférées sous forme des feuilles d’un arbre (appelé « pearl »). Les pearls peuvent être partagées avec d’autres utilisateurs et aussi stockées ensemble sous forme des arbres (appelé «pearlTree»s). L’outil PerlTree est beaucoup plus versatile et facile d’utilisation que Touchgraph. L’arbre de notre veille peux être accédé de façon gratuite a l’adresse suivante : www.pearltrees.com/citu_adrian.
Figure 6. L'arbre PearlTree pour notre veille
Figure 6. L’arbre PearlTree pour notre veille

Résultats

Les chiffres de la cybercriminalité roumaine

La veille de la cybercriminalité roumaine a permis de collecter quelques liens intéressants qui contiennent des données assez précises.

Lien Auteur Commentaire Prix
http://www.diicot.ro/index.php?option=com_content&view=article&id=52&Itemid=69 Ministère de l’Intérieur Roumain Des rapports annuels sur plusieurs domaines : sûreté de l’État, lutte contre le trafiques des drogues, criminalité économique, criminalité informatique 0
http://www.ic3.gov/media/annualreports.aspx IC3 (Internet Crime Compliant Center) Organisation crée par le FBI et le NW3C (National White Collar Crime Center)  pour recevoir les plaintes concernant les fraudes sur Internet. 0
http://ec.europa.eu/eurostat/ Eurostat Eurostat est l’Office statistique de l’Union européenne. Pour l’instant Eurostat ne propose pas des statistiques sur la cybercriminalité mais il devrait le faire dans  le futur. 0

Figure 7. Les liens le plus pertinents de la veille

Les figures suivantes présentent de façon graphique les données trouvées lors de la veille :

Le graphique suivant représente les officielles chiffres de la cybercriminalité roumaine telle que communiquées par le ministère de l’intérieur roumain.

Figure 8. Chiffres de la cybercriminalité roumaine
Figure 8. Chiffres de la cybercriminalité roumaine

L’organisation IC3 maintiens un classement des (10) états a partir desquels les attaques informatiques sont perpétrées.  Comme visible dans la figure suivante, la Roumanie est sortie de ce classement au cours de l’année 2009.

Figure 9. La Roumanie dans le classement américain des états voyous
Figure 9. La Roumanie dans le classement américain des états voyous

Analyse et synthèse

Le sujet lui-même reste très délicat à traiter de façon complète et claire pour des multiples raisons :

  • Par définition, les chiffres fournis correspondent uniquement aux cas avérés et connus de piratage et donc ne représentent que la face visible de la cybercriminalité.
  • Les particuliers ne déposent pas toujours plainte auprès des organes compétents.
  • Les sociétés victimes ne veulent pas qu’on sache que leur sécurité a été compromise, même si la loi les y oblige (aux Etats-Unis d’Amérique et bientôt en Europe aussi) pour des raisons commerciales, d’image de marque, etc…

Références

Valeur1-bon10-mauvais Lien Date Mot clés utilisées
10 http://www.guardian.co.uk/technology/2012/apr/27/cybercrime-ukcrime?newsfeed=true 25/04/2012 romanian cybercrime
9 http://www.bbc.co.uk/news/uk-17851257 27/04/2012 Romania cybercrime
10 http://www.techweekeurope.co.uk/news/host-of-credit-card-data-selling-websites-shut-down-75191 27/04/2012 Romania cybercrime
10 http://www.wired.com/threatlevel/2012/04/36-carding-sites-seized/ 27/04/2012 Romania cybercrime
5 http://www.thewhir.com/web-hosting-news/uk-us-federal-authorities-seize-36-domains-connected-to-financial-fraud 28/04/2012 Romania cybercrime
1 http://www.ic3.gov/crimeschemes.aspx#item-2 29/04/2012 romanian cyber criminality statistics
6 http://www.montrealgazette.com/business/Cybercrime+rise+Canada/6588911/story.html 08/05/2012 romanian cybercriminal statistics
7 http://www.cbc.ca/news/business/story/2012/05/08/cyber-security-phishing-bots-malicious.html 10/05/2012 Romania cybercrime
8 http://normantranscript.com/headlines/x728156592/Internet-crime-is-a-very-big-business-industry-and-asset 20/05/2012 Romanian cybercrime
9 http://www.saamu.net/topic440.html 20/05/2012 cybercriminalité roumanie
4 http://smartdatacollective.com/alexolesker/51898/hackers-and-honeypots-getting-things-done 10/06/2012 Romanian cybercrime
1 http://www.diicot.ro/index.php?option=com_content&view=article&id=52&Itemid=69 12/06/2012 statistici cibercriminalitate romana
10 http://www.wired.com/magazine/2011/01/ff_hackerville_romania/all/1 12/06/2012 Cybercrime romania
7 http://www.q13fox.com/news/kcpq-man-charged-with-stealing-more-than-40000-credit-cards-more-than-100-in-washington-20120611,0,4383016.story 12/06/2012 Romania cybercrime
3 http://www.lexpress.fr/actualite/high-tech/cybercriminalite-l-otan-appelle-les-nations-a-se-mobiliser_458152.html&title=Cybercriminalit%E9+%3A+l%27Otan+appelle+les+nations+%E0+se+mobiliser 16/06/2012 cybercriminalité roumanie
7 http://andrechassaigne.org/Lutte-contre-la-cybercriminalite.html 16/06/2012 cybercriminalité roumanie
3 http://www.v3.co.uk/v3-uk/the-frontline-blog/2185595/microsofts-trustworthy-computing-tour-europes-booming-cybercrime-business 20/06/2012 romanian cybercriminal statistics
5 http://www.telegram.com/article/20120624/COLUMN70/106249795/1002/BUSINESS 25/06/2012 Romanian cybercrime
3 http://www.bloggernews.net/128188 27/06/2012 romanian cyber criminality statistics

How to deploy from Ant to Tomcat through SSL

Problem: Deploy a war using the Ant to Tomcat. The Ant task should be something like this (where ${tomcat-manager-url} is something like httpS://targetServer:port/manager/text):

<target name="deploy" description="Deploy application to tomcat">
<echo>deploying from local source</echo>
<deploy url="${tomcat-manager-url}" username="${tomcat-manager-username}" password="${tomcat-manager-password}" path="/${deployed-application-name}" war="file:///${project-workspace}/${war.name}" />
</target>

Solution: The basic idea is to add the server certificate to the keystore from witch the deployment will be done and use this this certificate to talk with the server through SSL.

Step 1: Get and save the server certificate to the disk.

Step 2: Add the server certificate to the keystone truststore of the system from which Ant will deploy the application.
C:\>keytool -importcert -keystore keystoreFile -trustcacerts -alias targetServer
-file full path to the certificate file

Step 3: Execute the ant script script with the following system properties:
-Djavax.net.ssl.keyStoreType=jks
-Djavax.net.ssl.keyStore=Full path to the keystore file
-Djavax.net.ssl.keyStorePassword=keystore password
-Djavax.net.ssl.trustStore=Full path to the keystore file
-Djavax.net.ssl.trustStorePassword=keystore password

Problems: Some errors that can appear and how to solve them.

Problem: PKIX path building failed. The full error message is:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target

Solution: The executed Ant script cannot find the keystore passed as parameter in the Step 3

Problem: No name matching “serverName” found. The full error message is:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching serverName found

Solution: The server name on which the deployment is made should be the same as the FQDN(Fully Qualified Domain Name) of the certificate. The FQDN of the certificate is something like serverName.foo.org; the server name on which the deployment is made by Ant should be exactly the same.