<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Johanne Ulloa</title>
	<atom:link href="http://johanne.ulloa.org/feed" rel="self" type="application/rss+xml" />
	<link>http://johanne.ulloa.org</link>
	<description>Just another blog about Web Application Security  :-)</description>
	<lastBuildDate>Tue, 15 Sep 2009 17:12:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>En réaction à l’article de Capital : “Pirater un site Web, trop facile !”</title>
		<link>http://johanne.ulloa.org/en-reaction-a-l%e2%80%99article-de-capital-%e2%80%9cpirater-un-site-web-trop-facile-%e2%80%9d.html</link>
		<comments>http://johanne.ulloa.org/en-reaction-a-l%e2%80%99article-de-capital-%e2%80%9cpirater-un-site-web-trop-facile-%e2%80%9d.html#comments</comments>
		<pubDate>Thu, 10 Sep 2009 08:09:07 +0000</pubDate>
		<dc:creator>julloa</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://johanne.ulloa.org/?p=172</guid>
		<description><![CDATA[Un article fort intéréssant paru dans &#171;&#160;Capital&#160;&#187; du mois d&#8217;aout fait état de vulnérabilités de plusieurs site Web.  Dans un premier temps nous verrons quelles vulnérabilités ont été exploitées et nous préciserons comment se prémunir de ces vulnérabilités.
Quelles sont les vulnérabilités exploitées ?
3 types de vulnérabilités ont été exploités :
1) lié à des défaillances techniques [...]]]></description>
			<content:encoded><![CDATA[<p>Un article fort intéréssant paru dans &laquo;&nbsp;Capital&nbsp;&raquo; du mois d&#8217;aout fait état de vulnérabilités de plusieurs site Web.  Dans un premier temps nous verrons quelles vulnérabilités ont été exploitées et nous préciserons comment se prémunir de ces vulnérabilités.</p>
<h2>Quelles sont les vulnérabilités exploitées ?</h2>
<p>3 types de vulnérabilités ont été exploités :<br />
1) lié à des défaillances techniques (SQL injection, Cross Site Scripting),<br />
2) lié à des défaillances organisationnelles (possibilité d’accéder aux pages<br />
d’administration des sites Web)<br />
3) lié à des défaillances dans la logique applicative.</p>
<h2>Comment se prémunir de ces vulnérabilités ?</h2>
<p>Dans  le  premier  cas  (Injection  SQL, Cross  Site  Scripting ….). Comme  ces  attaques  font  appel  à  des  langages  informatiques  (SQL,  JavaScript),  elles  sont  assez  facilement reconnaissables et elles peuvent être bloquées grâce à un firewall applicatif Web (WAF). Il est  toutefois  recommandé  d’utiliser  un  WAF  qui  est  capable  d’avoir  une  approche pondérée (comme la <a title="rWeb" href="http://www.denyall.com/products/rweb_en.html">Scoring List</a> de Deny All) pour reconnaitre ces attaques. En effet, les WAF qui utilisent de simples « black list » ne sont pas assez efficaces contre ces attaques ou bien, bloquent trop fréquemment le trafic légitime (ce qui est inacceptable).</p>
<p>Dans le deuxième cas, il a été possible d’accéder à l’interface d’administration, car celle-ci n’était pas suffisamment sécurisée. Là encore, un WAF aurait été  fort utile, car  il permet d’augmenter le niveau d’authentification. Il est par exemple possible de faire en sorte que les  administrateurs  ne  puissent  accéder  à  l’interface  d’administration  qu’après  une<br />
authentification forte (Certificat client, RSA SecureID, Vasco, Active Card…)  ce qui permet d’être protégé des attaques qui consistent à deviner un mot de passe en faisant des essais<br />
répétés et automatiques.</p>
<p>Dans  le  troisième  cas,  les vulnérabilités exploitées étaient  liées à des problématiques de logique applicative. Ici, les mécanismes de défense traditionnels sont souvent inefficaces.<br />
En effet, L’exploitation de  la vulnérabilité ne passe pas par un vecteur d’attaque comme une  injection  de  code  (qui  est  identifiable), mais  par  exemple  par  la manipulation  d’un<br />
paramètre dans une URL. Il est toutefois possible d’en limiter les risques grâce au modèle de sécurité positive du WAF  (White List :  tout ce qui n’est pas expressément prévu sera<br />
rejeté).</p>
<h2>L’article fait état du temps de réaction des différentes entités. Comment réagir rapidement quand une vulnérabilité a été détectée ?</h2>
<p>Certains WAF permettent de mettre en œuvre un patch virtuel sans que l’on ait à modifier l’application WEB. Ceci permet de traiter la vulnérabilité qui a été détectée immédiatement<br />
en  laissant  du  temps  aux  équipes  de  développement  pour  corriger  le  problème  en profondeur sans devoir interrompre le service.</p>
<h2>Moralité de l’histoire ?</h2>
<p>Dans  le meilleur des mondes, ces vulnérabilités n’auraient pas pu être exploitées, car  les aspects de sécurité auraient été pris en compte de façon importante dès la conception de<br />
l’application WEB et tout au long de son cycle de vie (développement, exploitation). Il est toutefois difficile de prendre en  charge  ces aspects de  sécurité en amont : on demande aux développeurs de concentrer leurs efforts sur les fonctionnalités et non sur la sécurité. De plus, il arrive très fréquemment que l’on n’ait aucun contrôle sur le développement de l’application  Web.  C’est  pour  ces  raisons  et  parce  que  les  attaques  Web  sont  très attractives  pour  les  hackeurs  (simplicité  de mise  en œuvre  et  retour  sur  investissement très  fort)  qu’un  WAF  est  un  élément  devenu  maintenant  indispensable  dans  les infrastructures Web.</p>
]]></content:encoded>
			<wfw:commentRss>http://johanne.ulloa.org/en-reaction-a-l%e2%80%99article-de-capital-%e2%80%9cpirater-un-site-web-trop-facile-%e2%80%9d.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pourquoi un WAF</title>
		<link>http://johanne.ulloa.org/pourquoi-un-waf.html</link>
		<comments>http://johanne.ulloa.org/pourquoi-un-waf.html#comments</comments>
		<pubDate>Tue, 01 Sep 2009 08:25:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WAF]]></category>

		<guid isPermaLink="false">http://johanne.ulloa.org/?p=37</guid>
		<description><![CDATA[Qu&#8217;est-ce qu’un WAF ?
Un WAF  (Web application Firewall) est un logiciel ou un équipement matériel  placé entre le firewall et les serveurs WEB,  il permet principalement de protéger les applications Web des attaques applicatives (SQL injections, Cross Site Scripting, injection de code …)
J’ai déjà un Firewall réseau. Quelles sont les différences entre un Firewall réseau [...]]]></description>
			<content:encoded><![CDATA[<h2>Qu&#8217;est-ce qu’un WAF ?</h2>
<p align="left">Un WAF  (Web application Firewall) est un logiciel ou un équipement matériel  placé entre le firewall et les serveurs WEB,  <strong>il permet principalement de protéger les applications Web des attaques applicatives</strong> (SQL injections, Cross Site Scripting, injection de code …)</p>
<h2>J’ai déjà un Firewall réseau. Quelles sont les différences entre un Firewall réseau et un Firewall applicatif Web ?</h2>
<p align="left">Le premier offre une protection périmétrique, il a en charge d&#8217;autoriser des paquets à le traverser en fonction de leur source et de leur destination. Le firewall applicatif Web est lui en charge du contenu de ces paquets. On peut comparer ces deux fonctionnalités à un contrôle douanier. Dans un premier temps, une vérification sur le passeport est effectuée (ceci peut être assimilé au firewall réseau), puis une fouille est réalisée (ici assimilée à la vérification effectuée par le firewall applicatif WEB). Ces deux actions sont tout à fait complémentaires et indispensables.</p>
<h2>Pourquoi un WAF est maintenant un élément indispensable dans mon infrastructure ?</h2>
<p align="left">Selon une étude du Gartner, 75% des attaques ciblent les systèmes d’information à travers les applications WEB.  Selon cette même étude, <strong>2/3 des applications Web sont vulnérables.</strong> Elles ont donc une sensibilité « naturelle » aux attaques et offrent un large champ d’action aux hackers. Les attaques Web sont très <strong>simples à mettre en œuvre</strong> (dans bien des cas, un simple navigateur suffit). De plus, le <strong>retour sur investissement pour les hackers est élevé</strong>. Voilà principalement pourquoi les applications Web sont de plus en plus la cible d’attaques.</p>
<p style="text-align: center;"><a rel="attachment wp-att-99" href="http://johanne.ulloa.org/pourquoi-un-waf.html/web-attacks-complexity-and-roi-4"><img class="aligncenter size-full wp-image-99" title="web attacks - complexity and ROI" src="/wp-content/uploads/2009/07/web-attacks-complexity-and-ROI.png" alt="web attacks - complexity and ROI" width="280" height="189" /></a><a rel="attachment wp-att-71" href="http://johanne.ulloa.org/pourquoi-un-waf.html/web-attacks-complexity-and-roi-2"></a></p>
<p align="center">Simplicité de mise en œuvre et retour sur investissement très élevé pour les pirates</p>
<h2>Quels sont les cibles et les impacts des attaques Web ?</h2>
<ul>
<li><strong>L&#8217;utilisateur</strong> : Les attaques vont cibler l&#8217;utilisateur      principalement pour récupérer les éléments d&#8217;authentification tels que les      mots de passe. Une fois récupéré par le pirate, ce dernier pourra se faire      passer pour l&#8217;utilisateur et réaliser toutes les actions que celui-ci      aurait pu réaliser.</li>
<li><strong>Le      serveur WEB</strong>. Parmi les      impacts les plus fréquents, on retrouve :
<ul>
<li>modification de contenu. Les conséquences du       « défacement » sont variables en fonction de la sensibilité de       l’image de marque de l’entreprise ;</li>
<li>Ajout       de contenu illicite;</li>
<li>Accès à des documents présents sur le       serveur et qui ne sont normalement pas accessibles via le serveur Web ;</li>
<li>prise de contrôle du serveur Web (exécution       de commandes).</li>
</ul>
</li>
<li><strong>L&#8217;application</strong> <strong>WEB </strong>(au      sens logique). Dans ce cas, le but sera de faire en sorte que      l&#8217;application Web ait un comportement différent de celui attendu. Par      exemple : modifier le prix d’un produit</li>
<li><strong>Les      bases de données</strong>.      Elles sont la cible privilégiée des hackers.  Dans ce cas, le serveur      Web est utilisé comme un outil pour accéder aux données. Les impacts vont      du vol, à la suppression ou l&#8217;altération de données. Notons que bien des      vols de données passent complètement inaperçus, car celles-ci restent présentes      sur le serveur après « l’effraction&nbsp;&raquo;.</li>
<li><strong>Les      Web Services</strong> n’échappent      pas aux attaques. De plus en plus déployés, ils ont une forte interaction      avec les bases de données, ce qui fait d’eux une cible de choix.</li>
</ul>
<p style="text-align: center;"><a rel="attachment wp-att-101" href="http://johanne.ulloa.org/pourquoi-un-waf.html/web-attacks-targets-4"><img class="aligncenter size-large wp-image-101" title="web attacks - targets" src="/wp-content/uploads/2009/07/web-attacks-targets1-1024x394.png" alt="web attacks - targets" width="451" height="173" /></a></p>
<address style="text-align: center;">Tous les maillons de la chaîne sont ciblés</address>
<h2>Quels sont les autres aspects de sécurité qui peuvent être pris en charge par le firewall applicatif Web ?</h2>
<p align="left">Le firewall applicatif est en amont des applications Web qu&#8217;il protège. Il devient donc naturel de lui demander de réaliser de <strong>l&#8217;authentification</strong>. Ce point est particulièrement utile lorsque l&#8217;on souhaite rendre accessible sur internet et de façon sécurisée des applications Web internes.<br />
Le firewall applicatif Web permet également de <strong>virtualiser l&#8217;infrastructure applicative</strong> (il donne la possibilité d&#8217;utiliser des noms de serveurs Web différents de ceux utilisés en interne). De plus, un firewall applicatif Web facilite la mise à disposition sur internet d’applications Web internes (<strong>il n’est plus nécessaire de déplacer le serveur Web vers une zone spécifique du réseau</strong>). Enfin le FireWall applicatif peut également être utilisé pour fournir des <strong>preuves de tentatives d’intrusion</strong>. En effet, la totalité des requêtes est journalisée (les serveurs Web ne journalisent pas l’intégralité des éléments).</p>
<h2>La sécurité de l’application Web est prise en compte durant le développement, ai-je malgré tout besoin d’un WAF ?</h2>
<p align="left">Pour que les méthodes qui visent à apporter de la sécurité tout au long du cycle de vie de l’application puissent être efficaces, il faut avoir un contrôle total sur les phases de développement.  Les aspects de sécurité devront être pris en compte dès la conception, tout au long du développement et durant l’exploitation. Il arrive fréquemment que l’on n’ait pas le niveau de contrôle suffisant à ces différents stades pour obtenir un niveau de sécurité suffisant. Ces méthodes doivent donc impérativement être complétées par la mise en œuvre d’un firewall applicatif Web pour diminuer le périmètre de vulnérabilité. De plus, le firewall applicatif Web permet de lutter contre les attaques qui visent le serveur Web par lui-même (Vulnérabilités IIS, apache … comme directory traversal, déni de services tel que <a title="Slowloris" href="http://ha.ckers.org/slowloris/">Slowloris</a> …). Firewall applicatif Web et méthodes visant à prendre en considération la sécurité applicative durant les phases de développement sont donc complémentaires.</p>
<h2>Le firewall applicatif Web offre-t-il d’autres plus values que celles liées à la sécurité ?</h2>
<p align="left">Oui, le firewall applicatif permet <strong>d&#8217;accélérer le trafic Web </strong>particulièrement quand les serveurs Web sont surchargés. En effet, une bonne partie du travail qui était réalisé par le serveur Web (délivrer les pages statiques, prise en charge du chiffrement) sera pris en charge par le Firewall applicatif. L’avantage principal est de <strong>permettre au serveur Web de disposer de plus de ressources pour effectuer les traitements</strong>. Le firewall applicatif Web est également capable de répartir la charge sur plusieurs serveurs Web et d&#8217;assurer la haute disponibilité de ces serveurs. Le bénéfice étant de ne pas avoir à implémenter des mécanismes complexes de haute disponibilité et de se passer d&#8217;un répartiteur de charge (load balanceur) en aval. Sans oublier les avantages soulignés dans le paragraphe précédent, comme la <strong>simplification et la rationalisation de l’infrastructure</strong>.</p>
<p align="left">
]]></content:encoded>
			<wfw:commentRss>http://johanne.ulloa.org/pourquoi-un-waf.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WAF et WAF</title>
		<link>http://johanne.ulloa.org/waf-and-waf.html</link>
		<comments>http://johanne.ulloa.org/waf-and-waf.html#comments</comments>
		<pubDate>Tue, 28 Apr 2009 20:28:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WAF]]></category>

		<guid isPermaLink="false">http://johanne.ulloa.org/?p=16</guid>
		<description><![CDATA[Ne pas confondre  WAF (WEB Application Firewall) et  WAF (Women Acceptance factor)
Si l&#8217;on s&#8217;en réfère à ce  lien, WAF signifie également &#171;&#160;We Are the Future&#160;&#187; !
]]></description>
			<content:encoded><![CDATA[<p>Ne pas confondre  <a title="waf" href="http://www.denyall.com/">WAF</a> (WEB Application Firewall) et  <a title="WAF" href="http://en.wikipedia.org/wiki/Woman_acceptance_factor">WAF</a> (Women Acceptance factor)</p>
<p>Si l&#8217;on s&#8217;en réfère à ce  <a title="WAF" href="http://acronyms.thefreedictionary.com/Wife+Acceptance+Factor">lien</a>, WAF signifie également &laquo;&nbsp;We Are the Future&nbsp;&raquo; !</p>
]]></content:encoded>
			<wfw:commentRss>http://johanne.ulloa.org/waf-and-waf.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Qu&#8217;est-ce qu&#8217;une attaque XSS/CRSF et comment s&#8217;en prémunir</title>
		<link>http://johanne.ulloa.org/how-xsscrsf-attaks-can-be-stopped.html</link>
		<comments>http://johanne.ulloa.org/how-xsscrsf-attaks-can-be-stopped.html#comments</comments>
		<pubDate>Wed, 22 Apr 2009 17:16:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[csrf]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">/?p=7</guid>
		<description><![CDATA[Qu&#8217;est-ce qu’une attaque XSS/CSRF ?
Ce type d’attaque cible l’utilisateur en utilisant une vulnérabilité du serveur WEB. Le but étant de forcer le navigateur de la cible (l’utilisateur) à envoyer des requêtes au serveur. Ces requêtes paraitront donc tout à fait légitimes aux yeux du serveur et la cible réalisera donc des actions à son insu.
Comment [...]]]></description>
			<content:encoded><![CDATA[<h3>Qu&#8217;est-ce qu’une attaque XSS/CSRF ?</h3>
<p>Ce type d’attaque cible l’utilisateur en utilisant une vulnérabilité du serveur WEB. Le but étant de forcer le navigateur de la cible (l’utilisateur) à envoyer des requêtes au serveur. Ces requêtes paraitront donc tout à fait légitimes aux yeux du serveur et la cible réalisera donc des actions à son insu.</p>
<h3>Comment cette attaque est réalisée ?</h3>
<h4>Les attaques XSS/CSRF sont généralement exécutées en 4 phases :</h4>
<h4>Phase 1 :  L’injection de code sur le serveur vulnérable</h4>
<p>Lors de cette phase, le pirate injecte le code (qui peut-être html, css ou javascript) sur le serveur Web. Rappelons que si le serveur Web n’est pas sensible à l’injection de code ou qu’il est protégé par un WAF, l’attaque ne pourra être menée. (à bon entendeur …)</p>
<h4>Phase 2 : obtention du code malveillant</h4>
<p>Le navigateur obtient le code malveillant injecté précédemment par le pirate. Bien souvent, ce code est hébergé sur un serveur tier, dans ce cas, le but de la phase 1 sera d’injecter un lien vers ce code malveillant.</p>
<h4>Phase 3 and 4:  Execution du code</h4>
<p>Lors de celle phase, le navigateur exécute le code malveillant. Bien souvent, ce code consiste dans un premier temps à récupérer le cookie de session de l’utilisateur de façon à l’utiliser dans les requêtes qui seront forgées par la suite. Ceci permettra de rendre ces requêtes tout à fait légitimes au regard de l’application Web.</p>
<h3><img class="aligncenter size-large wp-image-217" title="XSS CSRF 4" src="/wp-content/uploads/2009/04/XSS-CSRF-41-1024x948.png" alt="XSS CSRF 4" width="644" height="597" /></h3>
<h3>Que faire contre ce type d’attaques ?</h3>
<p>Il est possible d’agir sur le serveur et sur le client</p>
<p>Côté serveur :</p>
<ul>
<li>Il faut prendre en compte la sécurité      applicative lors des phases de développement. Principalement en contrôlant      les « input » de l’utilisateur. C&#8217;est-à-dire que tout ce qui      pourra être envoyé à l’application par l’utilisateur devra être « nettoyé »      et validé.</li>
<li>Pour empêcher que le cookie de session soit accessible      via javascript, il est possible de les marquer avec le flag : <a href="http://www.owasp.org/index.php/HTTPOnly">HTTPOnly</a>.</li>
<li>Utiliser un <a href="http://www.denyall.com/">Firewall Applicatif Web</a> de façon à prémunir le serveur Web des injections de code.</li>
</ul>
<p>Coté client :</p>
<ul>
<li>Je vous recommande fortement l’usage de      Firefox et du plugin <a title="Noscript" href="http://noscript.net/">NoScript</a>. Ce plugin pemet de n’activer javascript      qu’à la demande.  Son rapport &laquo;&nbsp;Sécurité apporté/Contraintes d&#8217;utilisation&nbsp;&raquo; est très bon.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://johanne.ulloa.org/how-xsscrsf-attaks-can-be-stopped.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Les utilisateurs de Twitter victimes d’un ver</title>
		<link>http://johanne.ulloa.org/les-utilisateurs-de-twitter-victimes-d%e2%80%99un-ver.html</link>
		<comments>http://johanne.ulloa.org/les-utilisateurs-de-twitter-victimes-d%e2%80%99un-ver.html#comments</comments>
		<pubDate>Wed, 22 Apr 2009 12:46:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">/?p=3</guid>
		<description><![CDATA[  
Qu’est-ce que Twitter ?
Twitter est un site communautaire dans lequel les membres postent des informations courtes les concernant ou concernant leur communauté. On peut le qualifier de « micro-blogue ». Il est possible de suivre l’actualité de personnes. On devient dans ce cas le « follower » de la personne et l’on a accès aux éléments postés par [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--[if !mso]><span class="mceItemObject"   classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></span> <mce:style><!  st1\:*{behavior:url(#ieooui) } --> <!--[endif]--><!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Arial Unicode MS"; 	panose-1:2 11 6 4 2 2 2 2 2 4; 	mso-font-alt:Arial; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:3 0 0 0 1 0;} @font-face 	{font-family:Verdana; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:536871559 0 0 0 415 0;} @font-face 	{font-family:Thorndale; 	mso-font-alt:"Times New Roman"; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:"HG Mincho Light J"; 	mso-font-alt:"Times New Roman"; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Albany; 	mso-font-alt:Arial; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:4.3pt; 	mso-pagination:none; 	mso-hyphenate:none; 	font-size:10.0pt; 	font-family:Verdana; 	mso-fareast-font-family:Verdana; 	mso-bidi-font-family:"Times New Roman"; 	mso-fareast-language:#00FF;} h1 	{mso-style-next:"Corps de texte"; 	margin-top:12.0pt; 	margin-right:4.3pt; 	margin-bottom:14.15pt; 	margin-left:0in; 	text-indent:0in; 	mso-pagination:none; 	page-break-after:avoid; 	mso-outline-level:1; 	mso-list:l0 level1 lfo1; 	mso-hyphenate:none; 	tab-stops:list 0in; 	font-size:24.0pt; 	font-family:Thorndale; 	mso-fareast-font-family:"HG Mincho Light J"; 	mso-bidi-font-family:"Arial Unicode MS"; 	mso-font-kerning:0pt; 	mso-fareast-language:#00FF;} h3 	{mso-style-next:"Corps de texte"; 	margin-top:12.0pt; 	margin-right:4.3pt; 	margin-bottom:14.15pt; 	margin-left:0in; 	text-indent:0in; 	mso-pagination:none; 	page-break-after:avoid; 	mso-outline-level:3; 	mso-list:l0 level3 lfo1; 	mso-hyphenate:none; 	tab-stops:list 0in; 	font-size:14.0pt; 	font-family:Albany; 	mso-fareast-font-family:"HG Mincho Light J"; 	mso-bidi-font-family:"Arial Unicode MS"; 	mso-fareast-language:#00FF;} p.MsoBodyText, li.MsoBodyText, div.MsoBodyText 	{margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:none; 	mso-hyphenate:none; 	font-size:10.0pt; 	font-family:Verdana; 	mso-fareast-font-family:Verdana; 	mso-bidi-font-family:"Times New Roman"; 	mso-fareast-language:#00FF;} a:link, span.MsoHyperlink 	{mso-style-parent:""; 	color:navy; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{color:purple; 	text-decoration:underline; 	text-underline:single;} @page Section1 	{size:8.5in 11.0in; 	margin:28.35pt 28.35pt 28.35pt 56.7pt; 	mso-header-margin:28.35pt; 	mso-footer-margin:28.35pt; 	mso-paper-source:0;} div.Section1 	{page:Section1; 	mso-footnote-position:beneath-text;}  /* List Definitions */  @list l0 	{mso-list-id:1; 	mso-list-template-ids:1;} @list l0:level1 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l0:level2 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l0:level3 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l0:level4 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l0:level5 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l0:level6 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l0:level7 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l0:level8 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l0:level9 	{mso-level-number-format:none; 	mso-level-suffix:none; 	mso-level-text:""; 	mso-level-tab-stop:0in; 	mso-level-number-position:left; 	margin-left:0in; 	text-indent:0in;} @list l1 	{mso-list-id:402722136; 	mso-list-type:hybrid; 	mso-list-template-ids:711096622 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:40.3pt; 	mso-level-number-position:left; 	margin-left:40.3pt; 	text-indent:-.25in; 	font-family:Symbol;} @list l2 	{mso-list-id:1731690433; 	mso-list-type:hybrid; 	mso-list-template-ids:-1340067964 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l2:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:40.3pt; 	mso-level-number-position:left; 	margin-left:40.3pt; 	text-indent:-.25in; 	font-family:Symbol;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tableau Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --> <!--[endif]--></p>
<h3 style="margin-left: 4.3pt; text-indent: 0in;"><span dir="ltr"><span lang="FR">Qu’est-ce que Twitter ?</span></span></h3>
<p class="MsoNormal"><span lang="FR">Twitter est un site communautaire dans lequel les membres postent des informations courtes les concernant ou concernant leur communauté. On peut le qualifier de « micro-blogue ». Il est possible de suivre l’actualité de personnes. On devient dans ce cas le « follower » de la personne et l’on a accès aux éléments postés par cette personne.</span></p>
<h3 style="margin-left: 4.3pt; text-indent: 0in;"><span dir="ltr"><span lang="FR">Peut-on parler d&#8217;un ver ? </span></span></h3>
<p class="MsoNormal"><span lang="FR">Un ver est un programme externe qui sera téléchargé puis exécuté sur l&#8217;ordinateur. Dans ce cas, le ver profite simplement de certaines faiblesses du navigateur et du serveur WEB pour se &laquo;&nbsp;reproduire&nbsp;&raquo;. Aucune présence de programme externe n&#8217;est donc nécessaire. Il convient donc mieux de parler d&#8217;un &laquo;&nbsp;ver WEB&nbsp;&raquo; ou &laquo;&nbsp;ver XSS/CSRF&nbsp;&raquo; car ce ver exploite des vulnérabilités de &laquo;&nbsp;Cross-site scripting (XSS)&nbsp;&raquo; et de &laquo;&nbsp;Cross-site request forgery (CSRF)&nbsp;&raquo;.</span></p>
<h3 style="margin-left: 4.3pt; text-indent: 0in;"><span dir="ltr">Concrètement que fait-il ? </span></h3>
<p class="MsoNormal"><span lang="FR">Les motivations du jeune hacker (17 ans) ne sont pas claires. C’est sans doute pour gagner en notoriété qu’il a mis au point ce ver. Ce dernier poste de façon automatique à la place d’un utilisateur légitime, un message incitant ses « followers » à aller visiter un site Web. Si une personne clique sur ce lien, le même sort lui est réservé. (Ses « followers » verront que cette personne a posté un message incitant à aller visiter ce site WEB)</span></p>
<h3 style="margin-left: 4.3pt; text-indent: 0in;"><span dir="ltr"><span lang="FR">Quel est son mode opératoire ?</span></span></h3>
<p class="MsoNormal"><span lang="FR">Tout d&#8217;abord, le ver utilise une faille XSS. Le XSS ou (cross site scripting) permet à un attaquant de faire exécuter du code javascript ou html au navigateur de l&#8217;utilisateur.<br />
Ce type d&#8217;attaque est le plus souvent utilisé pour récupérer les cookies de sessions de l&#8217;utilisateur ou pour modifier l&#8217;apparence du site WEB.<br />
En l&#8217;occurrence, dans ce cas li s&#8217;agit de récupérer le cookie de session  de l&#8217;utilisateur.</span></p>
<p class="MsoNormal"><span lang="FR">Une fois le cookie récupéré une requête Ajax est forgée de façon automatique avec votre cookie session (ce cookie sert de gage au serveur WEB pour déterminer si la requête vient de vous). Cette requête simule totalement ce que vous auriez fait en temps qu’utilisateur pour poster un<span> </span>message incitant vos « followers » à se rendre sur un site WEB.<br />
Dans la deuxième version du ver, le simple fait de visiter la page twitter d&#8217;une personne &laquo;&nbsp;infectée&nbsp;&raquo; permet de déclencher l&#8217;attaque.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></span></p>
<h3 style="margin-left: 4.3pt; text-indent: 0in;"><span dir="ltr"><span lang="FR">Quels sont les impacts de ce type d&#8217;attaque ? </span></span></h3>
<p class="MsoNormal"><span lang="FR">Dans ce contexte précis, l&#8217;impacte pour les utilisateurs était très faible (poste d’un message à la place de l’utilisateur légitime). Toutefois, l&#8217;attaquant prend le contrôle du navigateur pour le forcer à réaliser des actions; on peut donc imaginer les dégâts que peuvent réaliser ce type d&#8217;attaques sur des sites sensibles, car ce scénario peut également être perpétré sur des sites traditionnels. </span></p>
<p class="MsoNormal"><span lang="FR">Le mécanisme est maintenant bien rodé sur des sites communautaires. Sans être devin, il est fort à parié que ce genre d’attaque sera perpétué sur d’autres type de sites. On imagine bien le potentiel de ces attaques : forcer un utilisateur à acheter ou vendre un bien ou un service … Les hackers ne sont limités que par leur imagination et la robustesse des systèmes de sécurité qu’ils trouveront face à eux.<span> </span></span></p>
<p class="MsoNormal"><span lang="FR">Le trafic généré par ce type de ver doit aussi être pris en considération, car il peut mettre à mal la disponibilité du site WEB.</span></p>
<h3 style="margin-left: 4.3pt; text-indent: 0in;"><span dir="ltr"><span lang="FR">Comment se prémunir de ce type de ver ? </span></span></h3>
<p class="MsoNormal" style="margin-left: 0in;"><span lang="FR"><br />
Si vous avez un serveur WEB et que vous souhaitez prémunir vos clients de ce type de vers, on peut:</span></p>
<p class="MsoNormal" style="margin-left: 40.3pt; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;" lang="FR"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span dir="ltr"><span lang="FR">Prendre en compte les aspects de sécurité lors du développement d&#8217;applications WEB (validation des données envoyées par l&#8217;utilisateur);</span></span></p>
<p class="MsoNormal" style="margin-left: 40.3pt; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;" lang="FR"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span dir="ltr"><span lang="FR">Renforcer le control des en utilisant des bibliothèques qui épurent les éléments transmis par les l&#8217;utilisateur (Par exemple </span><a name="t.8j"></a><a href="http://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project"><span lang="FR">AntiSamy</span></a></span><span lang="FR"> ); </span></p>
<p class="MsoNormal" style="margin-left: 40.3pt; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;" lang="FR"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span dir="ltr"><span lang="FR">Taguer les cookies de sessions avec le flag </span><a name="o6b5"></a><a href="http://www.owasp.org/index.php/HTTPOnly"><span lang="FR">HTTPOnly</span></a></span><span lang="FR"> . Ce flag permet d&#8217;interdire l&#8217;accès au cookie de session via java script rendant les attaques XSS qui ciblent les cookies de session inefficaces. </span></p>
<p class="MsoNormal" style="margin-left: 40.3pt; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;" lang="FR"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span dir="ltr"><span lang="FR">Utiliser un <a name="v_0v"></a><a href="http://www.denyall.com/">Firewall Applicatif WEB</a> (WAF)  .Cet équipement situé devant le serveur WEB permet de bloquer les tentatives d&#8217;injections de code.( Il peut aussi flaguer à la volée les cookies de session en HTTPOnly si l&#8217;on n’a pas de contrôle sur l&#8217;applicatif )</span></span></p>
<p class="MsoNormal">Si vous êtes utilisateur:</p>
<p class="MsoNormal" style="margin-left: 40.3pt; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;" lang="FR"><span>·<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span></span><!--[endif]--><span dir="ltr"><span lang="FR">Utiliser </span><a name="zdam"></a><a href="https://addons.mozilla.org/fr/firefox/addon/722"><span lang="FR">noscript</span></a></span><span lang="FR"> sur Firefox (ce module permet de n&#8217;activer java script qu&#8217;au cas par cas). </span></p>
<p class="MsoBodyText"><span lang="FR"><br />
Johanne Ulloa</span></p>
]]></content:encoded>
			<wfw:commentRss>http://johanne.ulloa.org/les-utilisateurs-de-twitter-victimes-d%e2%80%99un-ver.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
