Sei sulla pagina 1di 68

.

NET TOOLS
SQL Server Migration Assistant re una conversione, è buona norma leggere la
di Fabio Perrone sezione dell’ottima documentazione dedicata a
come preparare un database Access per evitare
Uno strumento Microsoft per transitare a spiacevoli inconvenienti al momento del “tra-
SQL Server vaso” dei dati, nonché (consiglio banale ma pur
�������������������������������������������������������������������������������������������������������������������������������������

sempre utile) sia bene farsi una copia di backup


SQL Server 2005, con le numerose edizioni del database che ci si accinge a convertire. Il se-
(Enterprise/Developer, Standard, Workgroup, condo step da eseguire è controllare, con estre-
Express e Everywhere) è in grado di coprire un ma attenzione, le impostazioni di default del
ampio target di clientela, dalla grande azien- progetto che permettono di gestire in maniera
da al piccolo programmatore che si diletta a granulare le diverse sfaccettature che si devono
scrivere la gestione della biblioteca di casa. affrontare quando si appronta una conversione
Tuttavia, per conquistare gli utenti di databa- tra database, prima tra tutte come convertire cor-
se precedenti, è necessario poter recuperare rettamente i tipi di dato dall’origine al database
lo schema e i dati di database esistenti, qua- di SQL Server.
lunque sia la loro dimensione. Ecco allora che Come è fin troppo semplice prevedere, viene
viene incontro al futuro utilizzatore di SQL già fornito un elenco abbastanza copioso di
Server 2005, SQL Server Migration Assistant conversione tra i tipi, ma è sempre meglio
che, con le sue versioni per Access, Oracle e verificare per eventualmente aggiungere ul-
Sybase (previste a breve DB2 e Informix), offre teriori conversioni personalizzate. A questo
la possibilità di migrare un database intero. punto si aggiunge il database Access che si
L’applicazione è completamente gratuita, desidera convertire e poi si scelgono gli oggetti
previa una piccola procedura di registrazione del database che si desiderano migrare. Prima
la prima volta che il prodotto viene avviato. I di partire a convertire, ecco il vero asso nella
principali requisiti per poter utilizzare il pro- manica di questa applicazione: la possibilità
gramma sono il .NET Framework 2.0 (almeno) di creare dei report di valutazione di singoli
e ovviamente la possibilità di connettersi ad oggetti del database o del database comple-
un’istanza di SQL Server 2005. to fornendo un elenco di errori, warning e
Affinché chiunque possa effettuare le pro- messaggi informativi (in stile Visual Studio),
ve, per semplicità tratteremo SQL Server nonché una stima di tempo dell’eventuale
Migration Assistant per Access, ma le funzio- conversione per ogni oggetto che ha presen-
nalità sono del tutto equivalenti alle versioni tato degli errori. Tali oggetti “problematici”
per gli altri database. vengono evidenziati in un treeview creato dal
Come prima cosa, è necessario “mettere in report per poterli dividere non solo per gravità
moto” il programma creando un nuovo proget- dell’errore ma anche per tipo di oggetto (query,
to di conversione, in cui si andranno a creare il
cosiddetto “Access metadata explorer” e il “SQL
������������������� ����� �
tabelle, etc.). Risulta ovviamente sconsigliato
effettuare una conversione di un database con
Server metadata explorer”, i due strumenti con ���������������������
errori, non solo perché la conversione potreb-
cui andremo ad interagire per effettuare qualsia- be non andare a buon fine, ma essenzialmente
si operazione sui due database. Prima di inizia- perché si potrebbe verificare una perdita di

30 N. 72 - Novembre/Dicembre 2006
.NET TOOLS

dati. Per quanto riguarda la conversione da un nel passo precedente, qui è possibile migrare
database Access, è bene rimarcare questo fat- i dati, ancora una volta sotto controllo: si può
to: non è ovviamente possibile convertire tutti migrare l’intero database o solo alcune tabelle.
gli oggetti di Access. Per esempio, un oggetto Questo passo è semplice come premere il tasto
report non viene convertito, così come un form destro del mouse sul database Access e sce-
o un modulo, mentre un oggetto query viene gliere “Migrate Data”. A questo punto il gioco
convertito in una vista (tenendo presente che è fatto: il nostro nuovo database SQL Server
non tutte le query sono convertibili in viste, 2005 è pronto all’uso. Ovviamente la durata
quindi quelle che non lo sono non verranno della migrazione dipende sia dalla potenza
convertite). Passo successivo: caricare gli og- della macchina utilizzata per fare il lavoro
getti convertiti in SQL Server. Anche qui, vie- (nelle nostre prove abbiamo sperimentato un
ne fornita una doppia scelta: più rapida e meno notevole miglioramento di prestazioni su una
controllata o meno rapida ma più controllata. macchina con 2 GB di RAM rispetto ad una
La prima consiste semplicemente nell’effet- macchina da 1 GB) e la quantità di dati da spo-
tuare la conversione all’interno di SSMA, la stare. I tempi previsti nell’assess report non
seconda prevede la creazione di script in T- sono ovviamente sempre precisi al minuto, ma
�������������
SQL su �������������������������������������������������
cui eventualmente sporcarsi le mani si avvicinano con un buon margine del 10%.
����������������������������������������� �
����������������������
per controllare maggiormente la conversione. Il solo pensiero di migrare dei dati da un da-
����������������������������������������������������������������
Superato questo step si sale l’ultimo gradino: tabase ad un altro può scoraggiare anche il
���������������������������������������������������������������
lo spostamento dei dati. Poiché lo schema e più temerario dei DBA o degli sviluppatori,
�����������������������������������������������������������������
gli oggetti del database sono già stati caricati ma grazie alla semplicità d’utilizzo, all’effet-
���������������������������������������������������
����������������������������������
N. 72 - Novembre/Dicembre 2006 VBJ 31
IN VETRINA
Software Testing The Art of Software
Foundations 2 ed. Security Assessment
di T. Linz, H. Schaefer Identifying and Preventing
e A. Spillner Software Vulnerabilities
di M. Dowd, J. McDonald,
J. Schuh
Pensato per uno studio
individuale, il libro fornisce,
Il software che usiamo è sicuro?
tra l’altro, tutte le conoscenze
Come possiamo verificare che lo
necessarie per passare l’esame
sia? E quali sono le conseguenze
“Certified Tester (Foundations
se un’applicazione viene compro-
Level)” conformemente alla
O’ Reilly messa? Questi i quesiti cui il libro
definizione ISTQB. John Wiley
288 pp - euro 44,95 cerca di rispondere
1200 pp - euro 52,00
ISBN 1933952083 ISBN 0321444424

Game Programming Windows Presentation


The L Line Foundation Unleashed
di A. Harris (WPF)
di A. Nathant

Il testo illustra le linee prati-


che fondamentali della pro- WPF è un componente chiave di
grammazione object-oriented WinFX; gli sviluppatori Windows
per il game design usando che in futuro volessero integrare
Python. Materiale supplemen- grafica 3D, video, animazione, do-
tare può essere scaricato alla vranno conoscerlo a fondo. Questo
pagina www.wiley.com/go/ libro offre un’ottima introduzione,
John Wiley thelline tramite molti tip e FAQ.
Sams
608 pp - euro 44,00 656 pp - euro 44,95
ISBN 0470068229 ISBN 0672328917

Security for Wireless Ruby Cookbook con


Ad Hoc Networks elementi di Rails
di F. Anjum e P. Mouchtaris di L. Carlson e L. Richardson

Questo volume fornisce centinaia


Il libro è strutturato con di soluzioni a problemi pratici,
procedure di problem solving: corredate di spiegazioni chiare e
viene prima posto il problema centinaia di linee di codice pronte
e passo passo si procede alla da copiare nei vostri progetti. Dalle
soluzione. Tra gli argomenti: strutture dati agli algoritmi per
attacchi, vulnerabilità, critto- l’integrazione con le tecnologie
John Wiley grafia di base, autenticazione all’avanguardia, Ruby Cookbook
Tecniche Nuove ha in serbo qualcosa per ogni
247 pp - euro 70,60 688 pp - euro 44,90
ISBN 0471756880 programmatore.
ISBN 9788848119818

Computer Security Administering


and Cryptography Windows Vista Security:
di A. G. Konheim The Big Surprises
di M. Minasi e B. Hynes

L’autore, che ha partecipato


al design e all’analisi del Data
Mark Minasi è un esperto di
Encryption Standard (DES),
Windows e il suo nome costituisce
offre molti strumenti e tecni-
già una garanzia. Molte le istruzioni
che per la protezione di dati
utili per un amministratore di siste-
sensibili tramite crittografia
ma presentate in maniera assai
John Wiley John Wiley efficace
544 pp - euro 89,50 288 pp - euro 41,50
ISBN 0471947837 ISBN 9780470108321
VBJ 73
Google Trucchi e segreti Sicurezza RFID
di R. Dornfest, P. Bausch e T. di F. Thornton et al.
Calishain
Il testo svela le motivazioni degli
Contiene numerosi trucchi per hacker RFID e spiega come
usare i nuovi servizi di Google e proteggere i sistemi in radio-
utili indicazioni per usare meglio i frequenza. Vengono esaminate
servizi più tradizionali. le tecniche per proteggersi da
Ecco qualche esempio: program- coloro che sfruttano le falle di
mare Google utilizzando l’API e sicurezza a scopo di lucro (chi
il proprio linguaggio preferito; entra in un sistema RFID può
arricchire le proprie pagine Web cambiare i prezzi di qualsiasi
con caselle di ricerca, annunci, prodotto), per proteggere la
Tecniche Nuove feed di news e altro McGraw Hill filiera e per proteggere la privacy
544 pp - euro 36,90 180 pp - euro 28,00 delle persone..
ISBN 9788848119801 ISBN 9788838644610

Foundations of Security: Scrivi a book@infomedia.it specificando


What Every Programmer nell’oggetto della e-mail:
Needs to Know
Di N. Daswani, C. Kern
IN VETRINA Visual Basic e .NET Journal n. 73
e A. Kesavan OPPURE
inviaci il coupon al numero di fax 0587/732232
Il testo illustra principi, meto-
dologie e tecniche di program- Potrai acquistare i libri qui riportati
mazione per costruire sistemi
software sicuri e sviluppare un con uno SCONTO ECCEZIONALE
sesto senso per identificare ed
eliminare le potenziali vulne- del 10% anche se acquisti solo un libro
Apress
300 pp - euro 49,80 rabilit
OPPURE
ISBN 1590597842
del 20% se acquisti 3 libri

VBJ 73
���� ��������
��������
���������������������������������������
�� �������������������������������������������������������������������������������������
�������������������������������������������
�������������������

��
���������������������
��
�������������������������������������������������������
����������������������������

����������
���������������������������������������������
�� ���������������������������������������������������
��������������

��������
������������������������������������
��
���������������������������������

�������������������
�����������������������
��
��������� ��������� ��� ���� �������� ���� �������� ������ ����������� ���� ���������� ����
�������������������������������������������������������������������
�������������������������

��������������� ��������
������������������������������������������������������������������������������������ �� ����������
��������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������� �� ����������
������������������������������������������������������������������� �� ����������������������
�� ���������������

���������������������������������� �
���� ������� ������ �������������������
�����������������������������
�����������������������������

��������������������������
��������������������� ��������������������������������������
��������������������

������������������������� �����������������������������������������
����������������
�������������������������������
�������������


����������������������������������������������������������������� �����������������������
���������������������������������������������������������������� ���������������
������������������������������������������������������������������� �������������������
����������������
�������������������������������������������������������������������� ��������������
���������������������������������������������������������� �����������������
������������������������������������������������������������������� �������������
������������������������������������������������������������������� �
����������������������������������������������������������������
������������������������������������������������������������������
�������������������������������������������������������������������
������������������������������������������������������������

��� ����� ����� �� �� ����������� ����� �� ��� ��� ��� ����� ���� ��� ��������� ��� ������� ���� ����� ���� ����������
������������������������������������������������������������������������������������������� ��������������������������������
���������������������������������������������������������������������������������������� �������������������������
������������������������������������������������������������������������������������������ �����������������������
������������������������������������������������������������������������������������������ �����������������������
�� ����������� ������������� ������ ��� ������ �������� ����������� ����� ������ ��� �������� ��� ���������������
�������������������������������������������������������������������������������������� �����������
�������������������������������������������������������������������������������������������� ������������������������������
���������������������������������������������������������������������������������������� �������
��������������������������������������������������������������������������������������� ��������������������������������������
�������������������������������������������������������������������������������������������� ��������������
���������������������������������������������������������������������������������������� ������������������������������
�������������������������������������������������������������������� �����������
�������������
���������������������������������������������������������������������������������������������� �������������������
��������������������������������������������������������������������������������������������
�����������������������������������������������������������������������������������������
����������������������������������������������������������������������������������������� ������
������������������������
���������������������������������������������������������������������������������������� �����������������������
������������������������������������������������������������������������������������������
��������������������������������������������������������������������������������������� �������������������
������������������������������������������������������������������������������������������� ����������������������������������
����������������������������������������������������������������������������� ���������������������������������
����������������
��������������������������������������������������������������������������������������� �������������������������������
��������������������������������������������������������������������������������������� ������������������������������������������������
������������������������������������������������������������������������������������������ ����������������������������������
��������������������
����������������������������������������������������������������������������������������� �������������������������
����������������������������������������������������������������������������

���������������������������������������������������������
���������������� ����������������������������������������������������
�������������������������� ������������������������������������

����������������������������������������������������������������
���������������������������������������������������������
�������������������������������������
�������������������������������������������������������������������������
�����������������������������������������������������
�� ���������������������������������
.NET

Un add-in per
Outlook 2007 con
.NET 3.0
Con l’arrivo dei Visual Studio Tools for Office 2005
Second Edition (SE) è possibile programmare la nuova
piattaforma Office 2007
ADDIN

di Fulvio Giaccari

In questo articolo andremo ad analizzare la pro- - Windows Presentation Foun-


grammazione di Outlook 2007 e la sua integra- dation
zione con il nuovo framework .Net 3.0. Il nuovo - Outlook 2007 (pacchetto Of-
framework 3.0 è composto da 3 principali tronco- fice Ultimate)
ni: il WPF (Windows Presentation Foundation), - Visual Studio Tools for Offi-
il WCF (Windows Communications Foundation) ce 2005 SE
e WWF (Windows Workflow Foundation).
In particolare utilizzeremo il WPF e creremo L’applicazione che ho creato
tutti i controlli non a design time, ma a runtime. simula un add-in per Outlook
Una volta creati, andremo ad assegnarli ad uno che aiuterà l’ipotetica agen-
NameScope per poterli richiamare facilmente zia di viaggio “World Tour” a
in seguito. creare una mail automatica da
Facendo un riepilogo delle tecnologie utilizzate, inviare al cliente a conferma
il nostro progetto utilizzerà: dell’avvenuta prenotazione
del volo scelto. In questo pro-
Fulvio Giaccari è Project Manager della Società SB Soft S.r.l. getto non ho fatto interagire
(Azienda Partner Microsoft). Ultimamente si è occupato del l’add-in con il database SQL
porting di moltissime applicazioni Windows Form su piatta- Server 2005, ma immaginate
forma Framework 3.0, inoltre molte di queste applicazioni
quanti risvolti può avere que-
sono “Certified for Windows Vista”. La società SB Soft si
occupa di gestire progetti Office 2003 e 2007, Sharepoint sta semplice applicazione se
2007 e applicazioni Windows Form e Web per aziende private collegata ad un tale database.
e per la pubblica amministrazione. Ha scritto diversi articoli L’applicazione è composta
in inglese ed italiano su riviste di settore, sta per pubblicare
un libro dedicato interamente ai VSTO 2005 e 2007 edito da da 2 parti, la prima relativa
Apress inc. È speaker in moltissimi eventi Microsoft dedicati al behind code dell’add-in di
ad Office. Inoltre è il responsabile di una Community dedicata Outlook 2007, la seconda con-
ad ASP.NET (www.freeaspx.it) e del primo Usergroup Italiano
siste di un file XAML (XAML
dedicato agli sviluppatori Office (www.ShareOffice.it).
è l’estensione dei file WPF)

12 VBJ N. 73 - Gennaio/Febbraio 2007


.NET

contenente la parte grafica dell’applica- tlook 2007. Come prima cosa noteremo che
zione. all’interno della soluzione che abbiamo
In Figura 1 troverete lo schema delle classi creato è stato aggiunto anche un progetto
che andremo a creare all’interno della no- “WorldTravelAddinSetup” che permetterà
stra applicazione. di installare l’add-in su qualsiasi PC su cui
è installato Outlook 2007 e WPF.
Creazione del progetto Come per i VSTO 2005 per Office 2003, c’è
Prima di tutto creiamo un nuovo proget- un file che si chiama ThisAddin.cs (se il
to Outlook 2007 che chiameremo “Worl- progetto viene realizzato in VB.NET il file
dTravelAddIn” (selezioniamo come tipo si chiamerà ThisAddin.vb). All’interno del-
progetto Visual C# -> Office -> 2007 Add- la classe “ThisAddIn” ci sono due metodi
Ins -> Outlook Add-in), come visibile in che gestiscono gli eventi ThisAddIn_Star-
Figura 2. tUp e ThisAddIn_Shutdown. Nel primo ri-
chiameremo tutti i metodi che ci interessa
Iniziamo ad analizzare i file creati dal caricare prima dell’avvio di Outlook, nel
template del progetto add.in di Office Ou- secondo tutti i metodi che dobbiamo ri-

Figura 1 Lo schema delle classi utilizzate

N. 73 - Gennaio/Febbraio 2006 VBJ 13


.NET

Figura 2 Il progetto in Outlook

chiamare durante la chiusura di Outlook. private Office.CommandBarPopup newMenuBar;


Sempre all’interno del file ThisAddIn.cs private Office.CommandBarButton buttonOne;
sono importati i nuovi namespace di Office private string menuTag = “WorldAddIn”;
2007
Fatto ciò passiamo ad aggiungere il me-
using Microsoft.VisualStudio.Tools.Applications.Runtime; todo che andrà a creare il nuovo menu
using Outlook = Microsoft.Office.Interop.Outlook; all’interno di quello preesistente. Per
using Office = Microsoft.Office.Core; prima cosa creiamo il metodo “AddMenu-
Bar” ed aggiungiamo all’interno del file
Per prima cosa dobbiamo scrivere un me- ThisAddIn.cs:
todo che ci permetta di poter aggiungere
all’interno del Menu di Microsoft Outlook private void AddMenuBar()
2007 un pulsante personalizzato che andrà {
a richiamare il Windows Form, che poi }
creerà la mail personalizzata.
Iniziamo istanziando le classi che andremo All’interno del metodo dobbiamo scrivere
ad utilizzare durante la scrittura dell’add- il codice che ci permetterà di creare il nuo-
in di Outlook 2007 (istanziate le classi vo menu e lo inserirà all’interno di quello
all’interno della classe ThisAddIn del file preesistente. Il codice, non solo aggiunge-
“ThisAddIn.cs”): rà il nuovo menu, ma anche un pulsante
che aprirà il form WPF (Listato 1).
private Office.CommandBar menuBar;

14 VBJ N. 73 - Gennaio/Febbraio 2006


.NET

Listato 1 Aggiungere il pulsante che apre il form WPF menu prima di aggiun-
gerlo nuovamente.

try Creeremo ora il menu


{ che andrà a controllare
//Define the existent Menu Bar se il menu “World Tour
menuBar = this.Application.ActiveExplorer().CommandBars.ActiveMenuBar; Agency” già esiste nel
//Define the new Menu Bar into the old menu bar menu di Outlook 2007;
newMenuBar = (Office.CommandBarPopup)menuBar.Controls.Add(
se lo dovesse trovare lo
Office.MsoControlType.msoControlPopup, missing,
missing, missing, false);
elimina e poi lo ricrea
//If I dont find the newMenuBar, I add it nuovamente.
if (newMenuBar != null) Aggiungiamo il meto-
{ do “RemoveMenuBar”
newMenuBar.Caption = “World Tour Agency”; al’interno della classe
newMenuBar.Tag = menuTag;
ThisAddIn (Listato 2).
buttonOne = (Office.CommandBarButton)newMenuBar.Controls.
Add(Office.MsoControlType.msoControlButton, missing,
missing, 1, true); Dopo aver aggiunto il
buttonOne.Style = Office.MsoButtonStyle.msoButtonIconAndCaption; metodo che controllerà
buttonOne.Caption = “Send Confirmation Email”; l’esistenza del menu,
//This is the Icon near the Text lo dobbiamo richimare
buttonOne.FaceId = 610; all’interno del metodo
buttonOne.Tag = “c123”;
ThisAddIn_Startup
//Insert Here the Button1.Click event
newMenuBar.Visible = true;
prima del metodo “Ad-
} dMenuBar()”:
}
catch (Exception ex) //Search the menu and delete
{ if found
//This MessageBox is visible if there is an error
RemoveMenubar();
System.Windows.Forms.MessageBox.Show(“Error: “ + ex.Message.ToString(),
“Error Message Box”, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
} Creato il menu ed asso-
ciato il pulsante, dob-
biamo gestire l’evento
Una volta creato il metodo che ci permette- clic del pulsante.
rà di aggiungere il nuovo menu, possiamo Aggiungiamo la seguente riga di codice
richiamare il metodo all’interno dell’even- all’interno del metodo “AddMenuBar”:
to ThisAddIn_Startup:
buttonOne.Click += new Office._CommandBarButton
//Method to create new menu Events_ClickEventHandler(buttonOne_Click);
AddMenuBar();
Una volta associato l’evento al clic del
Attenzione: se lanciamo in modalità debug pulsante dobbiamo creare il metodo “but-
più volte il nostro add-in, prima di creare il tonOne_Click” all’interno della classe
metodo che possa controllare se già esiste “ThisAddIn”:
il nuovo menu, noteremo che verranno
creati tantissimi nuovi pulsanti all’interno #region Create and Open WPF form
del menu di Outlook 2007. /// <param name=”ctrl”>Create WPF Form runtime</param>
Per evitare questo inconveniente dobbiamo private void buttonOne_Click(Office.CommandBarButton
scrivere un metodo che possa eliminare il ctrl, ref bool cancel)

N. 73 - Gennaio/Febbraio 2006 VBJ 15


.NET

Listato 2 Non aggiungiamo troppi menu! Attenzione: in automatico


anche nel Setup verranno ag-
giunti i namespace necessari
per il corretto funzionamento
#region Remove Button from Outlook’s Menu
dell’add-in di Outlook.
private void RemoveMenubar()
Finito di inserire tutte le “Re-
{
// If the menu already exists, remove it. ferences” necessarie per il cor-
try retto funzionamento, la scher-
{ mata di VS 2005 si presenterà
Office.CommandBarPopup foundMenu =(Office.CommandBarPopup) come in Figura 5.
this.Application.ActiveExplorer().CommandBars.ActiveMenuBar.
FindControl(Office.MsoControlType.mso ControlPopup,
In questo articolo creeremo
missing, menuTag, true, true);
if (foundMenu != null)
anche tutti i controlli con-
{ tenuti all’interno del Form
foundMenu.Delete(true); “window2.xaml” a runtime,
} per capire come è cambiata la
} gestione dei controlli all’inter-
catch (Exception ex)
no del Framework .Net 3.0.
{
Iniziamo subito creando il me-
System.Windows.Forms.MessageBox.Show(ex.Message);
} todo che creerà i controlli:
}
#endregion private void FormWPFCreate()
{
}
{
All’interno di questo metodo istanzieremo
}
#endregion

Creazione del Form con WPF


Adesso passiamo a creare il Win-
dows Form che creerà la mail in
maniera automatica.
Per prima cosa dobbiamo aggiun-
gere all’interno del nostro progetto
un form ASMX.
Facciamo clic con il tasto destro sul
progetto, selezioniamo “Add” ed in-
fine “New Item” (Figura 3).
Si aprirà il form per la scelta del-
l’”Item” da aggiungere al proget-
to, selezionate “Windows(WPF)”,
inserite il nome “window2.asmx” e
premete il tasto “Add” (Figura 4).
Una volta aggiunto il file, Visual Stu-
dio 2005 inserirà tutti i namespace
Figura 3 Aggiungiamo il form ASMX
necessari per il corretto funziona-
mento del Form generato con WPF.

16 VBJ N. 73 - Gennaio/Febbraio 2006


.NET

Figura 4

il form “window” settando anche le dimen- andiamo a definire due righe e nessuna
sioni iniziali e il titolo del form: colonna:

//Create a windows form with WPF namespace //Define Row of Grid


Window2 window = new Window2(); RowDefinition rowDef1 = new RowDefinition();
window.Title = “Form to create a Mail”; rowDef1.Height = new GridLength(102, GridUnitType.Pixel);
//Set the dimension RowDefinition rowDef2 = new RowDefinition();
window.Height = 306; rowDef2.Height = new GridLength(171, GridUnitType.Pixel);
window.Width = 464; //Add the row to the grid component
newgrid.RowDefinitions.Add(rowDef1);
Ora andremo ad aggiungere un “Grid” con- newgrid.RowDefinitions.Add(rowDef2);
trol al quale agganceremo tutti i controlli.
È importante sapere che ogni volta che vie- Attenzione: la misura che possiamo utiliz-
ne definito un form con WPF è necessario zare per la definizione delle righe e delle
definire anche un componente Grid: colonne può essere in “Star” o “Pixel”.
Se creiamo le righe e le colonne a Design
//Create the Grid Control Time, in automatico Visual Studio 2005
Grid newgrid = new Grid(); utilizza “Star” come unità di misura;
//Show the Grid Lines per forzare l’utilizzo dell’unità di misura
newgrid.ShowGridLines = true; “Pixel” bisogna fare clic nel punto indicato
in Figura 6.
Definiamo le righe contenute all’interno
del componente “newgrid”. Come tutte le Definite le righe presenti nel componen-
griglie, anche il componente “Grid” è com- te “Grid” passiamo a definire il “Name-
posto da “Column” e “Row”. In questo caso Scope”.

N. 73 - Gennaio/Febbraio 2006 VBJ 17


.NET

Figura 5

I Namescope memorizzano le relazioni tra implementati dalla classe NameScope. Per


gli oggetti definiti in XAML e le loro istan- definire il “Namescope” dobbiamo aggiun-
ze. I Namescope nel codice gestito WPF gere questo codice:
sono creati durante il caricamento delle
pagine di un’applicazione XAML. Sono // Create a name scope for the Grid
definiti tramite l’interfaccia INameScope e // and assign a name
NameScope.SetNameScope(newgrid, new NameScope());

Adesso possiamo aggiungere tutti i


controlli che vogliamo all’interno di
questo form. Iniziamo dalla prima
Label:

#region Label Travel Agency


System.Windows.Controls.Label label1 = new
System.Windows.Controls.Label();
label1.Height = 32.2766666666667;
label1.Margin = new System.Windows.Thickness
(113.37, 4.7233333333333, 0, 0);
label1.VerticalAlignment = System.Windows.Vertical
Alignment.Top;
label1.FontSize = 16;
label1.HorizontalAlignment =
Figura 6 Forzare l’utilizzo dell’unità “Pixel”
System.Windows.HorizontalAlignment.Left;
label1.Width = 112.63;

18 VBJ N. 73 - Gennaio/Febbraio 2006


.NET

label1.Content = “Travel Agency”; Attenzione: Nel progetto viene richiamata


// Add to Grid the component Label1 un’immagine “yast_suse_tour.png” che
Grid.SetRow(label1, 0); dovete aver caricato in una cartella img
#endregion nel progetto dell’add-in. Inoltre dovete
cambiare la path relativa all’immagine, al-
Cerchiamo di capire cosa abbiamo fatto. trimenti il form non verrà visualizzato.
Per prima cosa abbiamo creato una nuova
istanza dell’oggetto Label presente nel na- Ora rimane da aggiungere il componente
mespace “System.Windows.Controls” che “Button”. Questo componente l’ho lasciato
è differente dal namespace utilizzato dal per ultimo perchè la sua gestione è un po'
Framework 2.0. più complessa. Per prima cosa definiamo il
Una volta creata l’istanza dell’oggetto controllo:
“Label” abbiamo definito “Height” e il
“Margin”; il “Margin” è un nuovo concetto #region Button
presente nel Framework 3.0, che indica in System.Windows.Controls.Button button1 =
maniera esatta la posizione del controllo; new System.Windows.Controls.Button();
senza questa informazione il controllo non button1.Height = 39;
può essere posizionato. L’ultimo comando button1.Margin = new System.Windows.Thickness(14, 0, 0, 16);
che abbiamo inserito è quello per associare button1.VerticalAlignment =
al componente Grid presente nel form il System.Windows.VerticalAlignment.Bottom;
componente “Label1” appena creato (se button1.HorizontalAlignment =
non associamo il controllo al componente System.Windows.HorizontalAlignment.Left;
Grid, non viene visualizzato il componente button1.Width = 191;
stesso). button1.Content = “Create”;
Nello stesso modo in cui abbiamo aggiunto button1.Click += new RoutedEventHandler(button1_Click);
il componente “Label”, aggiungeremo an- Grid.SetRow(button1, 1);
che gli altri componenti (Listato 3). #endregion

Tra questi componenti generati a runtime Aggiungiamo ora il metodo che gestisce
vengono visualizzate alcune delle novità l’evento clic del controllo “Button1” (Li-
del nuovo Framework 3.0, come per esem- stato 4).
pio la possibilità di ruotare i componenti
nel form (il componente “labelCopyright”), In questo metodo abbiamo utilizzato tutta
richiamare immagini, ecc. la potenzialità della classe “NameScope”.
Come avete potuto notare, abbiamo aggan-
ciato alcuni controlli (tutti quelli “TextBox”)
Riquadro 1 alla classe “NameScope” in maniera da po-
terli richiamare in qualisiasi momento.
Tecnologie utilizzate: Nel metodo che gestisce l’evento clic del
- Visual Studio 2005 controllo “Button1” c’è il riferimento ad
- VSTO 2005 SE
- Framework 3.0 un metodo “SendEmail”. Perchè il compi-
latore non ci dia errore dobbiamo inserire
Software Richiesto:
il codice seguente:
- Windows 2003 Server Std
- Office 2007 Ultimate #region Create Email
- VSTO 2005 SE
- Visual Studio 2005 Professional private void SendEmail
(string name, string sourname, string email)
{

N. 73 - Gennaio/Febbraio 2006 VBJ 19


.NET

Listato 3 Aggiunta di tutti i componenti

#region Label World Tour


System.Windows.Controls.Label label2 = new System.Windows.Controls.Label();
label2.Height = 34.2766666666667;
label2.Margin = new System.Windows.Thickness(184.37, 27.7233333333333, 142, 40.0000000000001);
label2.VerticalAlignment = System.Windows.VerticalAlignment.Top;
label2.FontSize = 20;
System.Windows.Media.FontFamily myFont = new System.Windows.Media.FontFamily(“Arial”);
label2.FontFamily = myFont;
label2.Foreground = Brushes.Blue;
label2.HorizontalAlignment = System.Windows.HorizontalAlignment.Right;
label2.Width = 125.63;
label2.Content = “World Tour”;
Grid.SetRow(label2, 0);
#endregion

#region Image Travel Agency


System.Windows.Controls.Image image1 = new System.Windows.Controls.Image();
image1.Width = 100;
System.Windows.Media.Imaging.BitmapImage imageSource = new System.Windows.Media.Imaging.BitmapImage();
imageSource.BeginInit();
//Put your directory where is located
//your png image
imageSource.UriSource = new Uri(@”C:\Fulvio\img\yast_suse_tour.png”);
imageSource.DecodePixelHeight = 100;
imageSource.EndInit();
image1.Margin = new System.Windows.Thickness(-180, 6, 175, 8);
image1.Source = imageSource;
//image1.Height = 88;
image1.VerticalAlignment = System.Windows.VerticalAlignment.Top;
image1.Stretch = Stretch.Uniform;
Grid.SetRow(image1, 0);
#endregion

#region Label “Fill Form”


System.Windows.Controls.Label label3 = new System.Windows.Controls.Label();
label3.Height = 23.2766666666667;
label3.Margin = new System.Windows.Thickness(20.37, 5.93852320675109, 0, 0);
label3.VerticalAlignment = System.Windows.VerticalAlignment.Top;
label3.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
label3.Width = 86.63;
label3.Content = “Fill Form:”;
Grid.SetRow(label3, 1);
#endregion

#region Label Name


System.Windows.Controls.Label label4 = new System.Windows.Controls.Label();
label4.Height = 23.2766666666667;
label4.Margin = new System.Windows.Thickness(18.37, 28.938523206751, 0, 0);
label4.VerticalAlignment = System.Windows.VerticalAlignment.Top;
label4.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
label4.Width = 70.63;
label4.Content = “Name: “;
Grid.SetRow(label4, 1);
#endregion

20 VBJ N. 73 - Gennaio/Febbraio 2006


.NET

Listato 3 CONTINUA...

#region Label Sourname


System.Windows.Controls.Label label5 = new System.Windows.Controls.Label();
label5.Margin = new System.Windows.Thickness(17.37, 53.938523206751, 0, 93.7848101265823);
label5.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
label5.Width = 71.63;
label5.Content = “Sourname: “;
Grid.SetRow(label5, 1);
#endregion

#region Label Email


System.Windows.Controls.Label label6 = new System.Windows.Controls.Label();
label6.Margin = new System.Windows.Thickness(18.3699999999999, 77.7233333333333, 0, 70);
label6.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
label6.Width = 35.63;
label6.Content = “Email:”;
Grid.SetRow(label6, 1);
#endregion

#region Name’s TextBox


System.Windows.Controls.TextBox TextBox1 = new System.Windows.Controls.TextBox();
TextBox1.Height = 19;
TextBox1.Width = 100;
TextBox1.Name = “Name”;
// Register TextBox2’s name with newgrid
newgrid.RegisterName(TextBox1.Name, TextBox1);
TextBox1.Margin = new System.Windows.Thickness(140, 31, 0, 0);
TextBox1.VerticalAlignment = System.Windows.VerticalAlignment.Top;
TextBox1.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
Grid.SetRow(TextBox1, 1);
#endregion

#region Sourname’s TextBox


System.Windows.Controls.TextBox TextBox2 = new System.Windows.Controls.TextBox();
TextBox2.Height = 19;
TextBox2.Width = 100;
TextBox2.Name = “Sourname”;
// Register TextBox2’s name with newgrid
newgrid.RegisterName(TextBox2.Name, TextBox2);
TextBox2.Margin = new System.Windows.Thickness(140, 55, 0, 0);
TextBox2.VerticalAlignment = System.Windows.VerticalAlignment.Top;
TextBox2.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
Grid.SetRow(TextBox2, 1);
#endregion

#region Email’s TextBox


System.Windows.Controls.TextBox TextBox4 = new System.Windows.Controls.TextBox();
TextBox4.Height = 19;
TextBox4.Width = 100;
TextBox4.Name = “Email”;
//Register TextBox3’s Name with newgrid
newgrid.RegisterName(TextBox4.Name, TextBox4);
TextBox4.Margin = new System.Windows.Thickness(141, 80, 0, 72);
TextBox4.VerticalAlignment = System.Windows.VerticalAlignment.Top;

N. 73 - Gennaio/Febbraio 2006 VBJ 21


.NET

Listato 3 CONTINUA...

TextBox4.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
Grid.SetRow(TextBox4, 1);
#endregion

#region Label Copyright


System.Windows.Controls.Label labelCopyright = new System.Windows.Controls.Label();
labelCopyright.Content = “Copyrights 2006-2007 Fulvio Giaccari”;
labelCopyright.Background = Brushes.BurlyWood;
labelCopyright.HorizontalAlignment = System.Windows.HorizontalAlignment.Right;
labelCopyright.Margin = new Thickness(0, 1.7233333333333, -266, 0);
labelCopyright.Width = 269.63;
labelCopyright.Height = 24.2766666666667;
labelCopyright.VerticalAlignment = VerticalAlignment.Top;
labelCopyright.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Center;
// Create a RotateTransform to rotate
// the labelCopyright 90 degrees about its
// top-left corner.
RotateTransform labelCopyrightRotateTransform = new RotateTransform(90);
labelCopyright.RenderTransform = labelCopyrightRotateTransform;
Grid.SetRow(labelCopyright, 0);
#endregion

string _body; (Outlook.MailItem)Appl.createItem(Microsoft.Office.


_body = “Dear Mr. <STRONG>%name%</STRONG> Interop.Outlook.OlItemType.olMailItem);
<STRONG>%sourname%</STRONG>, <BR /> your flight is Boo- mail1.To = email;
ked. Thanks for use our services. <BR /><BR /> Fulvio mail1.Subject = “Your flight is booked”;
Giaccari - CEO<BR />’World Tour’ Travel Agency”; mail1.BodyFormat =
StringBuilder sb = new StringBuilder(_body); Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
sb.Replace(“%name%”, name.ToString()); mail1.HTMLBody = sb.ToString();
sb.Replace(“%sourname%”, sourname.ToString()); mail1.Display(true);
}
Outlook.Application app1 = #endregion
new Microsoft.Office.Interop.Outlook.Application();
Outlook.MailItem mail1 = Questo metodo permette di creare una

Figura 7

22 VBJ N. 73 - Gennaio/Febbraio 2006


.NET

Figura 8 La finestra creata a runtime

mail personalizzata con i dati inseriti all’in- controllo “Button1” nel metodo “For-
terno del form creato a runtime dai metodi mWPFCreate”:
precedenti.
L’ultima parte di codice che dobbiamo try
inserire è quella relativa alla visua- {
lizzazione dei controlli all’interno del //Add all controls to Grid
componente “newgrid” del metodo “For- newgrid.Children.Add(button1);
mWPFCreate”. Aggiungete le seguenti newgrid.Children.Add(label1);
righe di codice dopo la creazione del newgrid.Children.Add(label2);

Figura 9 La mail in formato HTML

N. 73 - Gennaio/Febbraio 2006 VBJ 23


.NET

newgrid.Children.Add(label3); è quello di richiamare il metodo “For-


newgrid.Children.Add(label4); mWPFCreate” all’interno del metodo
newgrid.Children.Add(label5); dell’evento clic del bottone del menu ag-
newgrid.Children.Add(label6); giunto ad Office 2007.
newgrid.Children.Add(image1);
newgrid.Children.Add(TextBox1); private void buttonOne_Click
newgrid.Children.Add(TextBox2); (Office.CommandBarButton ctrl, ref bool cancel)
newgrid.Children.Add(TextBox4); {
newgrid.Children.Add(labelCopyright); FormWPFCreate();
window.Content = newgrid; }
window.Show();
} Adesso possiamo lanciare il debug del-
catch (Exception ex) l’applicazione e verrà creato il menu
{ (Figura 7).
System.Windows.Forms.MessageBox.Show(ex.Message. Facendo clic sul pulsante contenuto
ToString()); all’interno del menu verrà visualizzata
} la finestra creata a runtime con WPF
(Figura 8).
Compiliamo tutti i campi e premiamo il
L’ultimo passaggio che ci rimane da fare bottone “Create” , il nostro add-in creerà
la mail in formato HTML con tutti i dati
inseriti all’interno del form (Figura 9).

Listato 4 Metodo che gestisce l’evento Click di


Conclusioni
“Button1”
In questo progetto abbiamo usato i nuovi
#region Button1 Event
Visual Studio Tools for Office 2005 SE che
void button1_Click(object sender, RoutedEventArgs e) permettono di poter lavorare con il nuovo
{ Microsoft Office 2007. Abbiamo creato un
try semplice add-in che ci permette di intrave-
{
dere tutte le potenzialità fornite dai VSTO
System.Windows.Controls.Button btn1 = sender as
System.Windows.Controls.Button; con Outlook 2007.
Grid grid1 = (Grid)btn1.Parent; Inoltre abbiamo integrato nell’applica-
//Find from NameScope all TextBox controls zione un form generato con Windows
System.Windows.Controls.TextBox txtName = (System. Presentation Foundation (WPF) e il Fra-
Windows.Controls.TextBox)grid1.FindName(“Name”);
mework 3.0. In questo form sono stati
System.Windows.Controls.TextBox txtSourname =
(System.Windows.Controls.TextBox)grid1.FindName(“Sourname”); aggiunti tanti controlli a runtime e la
System.Windows.Controls.TextBox txtEmail = (System. cosa interessante è che abbiamo utiliz-
Windows.Controls.TextBox)grid1.FindName(“Email”); zato anche la nuova classe “NameSco-
//Call SendEmail Method to create email pe” e ad essa abbiamo associato alcuni
SendEmail(txtName.Text, txtSourname.Text,
controlli per poi poterli richiamare da
txtEmail.Text);
} un evento generato da un controllo del
catch (Exception ex) form. Abbiamo anche visto che ogni
{ volta che viene creato un Windows Form
System.Windows.MessageBox.Show(“Error: “ + con il Framework 3.0 questo porta con sé
ex.Message.ToString());
un controllo Grid composto da Column
}
} e Row e ogni controllo deve essere asso-
#endregion ciato al controllo Grid e ad un suo Row
o Column.

24 VBJ N. 73 - Gennaio/Febbraio 2006


C#

Introduzione a
C# 3.0
Local Type Inference e Object Initialization Expression

di DevLeap (www.devleap.com)

In questo articolo forniamo un’anticipazione su ressante per qualunque lin-


due delle numerose novità che saranno intro- guaggio, perché consente di
dotte in C# 3.0. Questo linguaggio sta subendo scrivere meno codice mante-
un’evoluzione legata in gran parte alla necessità nendo tutte le caratteristiche
di fornire i costrutti sintattici necessari a LINQ di “tipizzazione forte” (strong
(Language INtegrated Query), ma tutte queste typing). L’unico prezzo da pa-
evoluzioni saranno disponibili per qualsiasi tipo gare è un codice meno espli-
di uso del linguaggio. cito nella definizione dei tipi
C# 2.0 ha già migliorato il linguaggio C# origina- da utilizzare, ma riteniamo
le in vari aspetti, per esempio con l’introduzione che ciò non sia problematico
dei generics che consentono di definire metodi laddove la dichiarazione del
e classi con tipi parametrici. C# 3.0 prosegue il tipo non sia particolarmente
cammino con una tendenza ai linguaggi funzio- significativa.
nali che supportano uno stile di programmazio- C# 3.0 consente l’inferenza di
ne più dichiarativo, elemento che è uno dei pila- tipi definendo le variabili tra-
stri di LINQ. In questo articolo ci concentriamo mite la keyword “var” al posto
su due funzionalità particolari di C# 3.0. del tipo specifico. Questa
tecnica non va confusa con la
Local type inference dichiarazione di una variabile
L’inferenza dei tipi è una caratteristica inte- di tipo Object. Quando si usa
var, il compilatore inferisce il
tipo dall’espressione utilizza-
ta per inizializzare la variabi-
le. Il codice IL risultante dalla
DevLeap è un gruppo di consulenti e autori specializzati nella
formazione e consulenza per lo sviluppo di soluzioni basate compilazione contiene solo il
sul Framework .NET di Microsoft. Possono essere contattati tipo inferito e nessun riferi-
via email: info@devleap.it. I loro blog personali sono dispo- mento a Object o var.
nibili all’indirizzo http://blogs.devleap.com/. A maggio 2007
terranno la quarta edizione della loro conferenza tecnica
Se scriviamo:
approfondita: per tutte le info http://devcon.devleap.com

26 VBJ N. 73 - Gennaio/Febbraio 2007


C#

C# 3.0 - .NET 3.5 C# 3.0 - .NET 3.5

int a = 5; public void ValidUse( decimal d ) {


var b = a; var x = 2.3; // decimal
var y = x; // double
otteniamo un codice compilato assoluta- var r = x / y; // double
mente identico a: var s = “sample”; // string
var l = s.Length; // int
int a = 5; var w = d; // decimal
int b = a; var p = default(string); // string
}
La parola chiave var ricorda il tipo VA-
RIANT del buon vecchio ambiente COM, L’esempio seguente mostra invece al-
utilizzata in modo pervasivo in VB6, ma cuni casi in cui la keyword var non è
è tutt’altra cosa in quanto si tratta di ammessa.
una dichiarazione type safe: il compila-
tore inferisce il tipo, esattamente come C# 3.0 - .NET 3.5 - Codice errato
se fosse esplicitato nel codice. Questa
sintassi potrebbe sembrare semplice- class VarDemo {
mente una scorciatoia per programma- var k = 0; // NO: var non si può usare nella
tori pigri, tuttavia è l’unico modo per dichiarazione di membri
definire un tipo anonimo, altra caratteri- public void InvalidUseParameter( var x ) {} //
stica di C# 3.0 che magari affronteremo NO: var come tipo di un parametro
in articoli successivi. public var InvalidUseResult() { //
NO: var come tipo restituito
return 2;
}
C# 3.0 volge verso i public void InvalidUseLocal() {

linguaggi funzionali, che var x; // NO: Errore di sintassi,


si aspetta ‘=’
supportano uno stile di var y = null; // NO: Non si può inferire una

programmazione più variabile locale da ‘null’


}
dichiarativa // …
}

Il tipo di k potrebbe essere inferito dalla


La keyword var può essere usata solo per sua inizializzazione, ma var non è ammesso
dichiarare variabili locali e non può essere sulla definizione di variabili membro.
usata per definire variabili membro o pa- Il tipo risultante da InvalidUseResult
rametri. L’esempio seguente mostra alcuni potrebbe essere inferito dallo statement
esempi del corretto uso di var: x, y e r sono return, ma anche questa sintassi non è
tipi Double, d e w sono invece Decimal, ammessa.
mentre s e p sono stringhe; per finire l è
un Integer. Da notare come la costante 2.3 Object initialization expression
definisca il tipo inferito da tre variabili e In C# è possibile inizializzare un membro
la keywork default sia un valore null che o una variabile locale attraverso una singo-
inferisce il tipo corretto su p. la istruzione.

N. 73 - Gennaio/Febbraio 2007 VBJ 27


C#

Cliente c = new Cliente { Nome = “Marco”,


C# Nazione = “Italia” };

int i = 3; Le due sintassi usate per inizializzare l’og-


string name = ‘Unknown’; getto di tipo Cliente sono equivalenti: una
Cliente c = new Cliente( “Marco”, 37 ); volta compilato, il codice richiama il co-
struttore di default e assegna i due membri
Per inizializzare un oggetto più complesso Nome e Nazione. I valori inseriti nella ini-
è necessario un costruttore che attraverso tialization list (l’elenco tra parentesi graffe
dei parametri consenta di specificare lo dopo il nome della classe da costruire)
stato interno iniziale del nuovo oggetto. devono corrispondere a membri pubblici
Consideriamo il codice che segue. della classe da inizializzare.

C#

public class Cliente { C# 3.0 consente l’inferenza


public int Eta;
public string Nome; di tipi definendo le variabili
public string Nazione; tramite la keyword var al
public Cliente( string nome, int eta) {
this.Nome = nome;
posto del tipo specifico
this.Eta = eta;
}
// …
} È anche possibile richiamare un costrutto-
re specifico anziché quello di default.
L’istanza di Cliente viene inizializzata dal
suo costruttore che prevede l’assegnazio- C# 3.0 - .NET 3.5
ne dei membri Nome e Eta. Se volessimo
impostare il membro Nazione, ma non il // Specifico il costruttore da chiamare
membro Eta, dovremmo scrivere questo Cliente c1 = new Cliente() { Nome = “Marco”,
codice. Nazione = “Italia” };

C# // Specifico il costruttore da chiamare


Cliente c2 = new Cliente( “Paolo”, 31 )
Cliente c = new Cliente(); { Nazione = “Italia” };
c.Nome = “Marco”;
c.Nazione = “Italia”; L’assegnazione a c2 è equivalente alla se-
guente.
C# 3.0 introduce una nuova sintassi per
inizializzare gli oggetti: è una forma più C#
breve che genera, dietro le quinte, del co-
dice equivalente al precedente. Cliente c2 = new Cliente( “Paolo”, 31 );
c2.Nazione = “Italia”;
C# 3.0 - .NET 3.5
Uno dei vantaggi di questa nuova sintassi
// Chiamata implicita al default constructor prima è poter inizializzare un oggetto all’interno
di object initialization di altre espressioni senza dover usare una

28 VBJ N. 73 - Gennaio/Febbraio 2007


C#

sintassi specifica, consentendo così la scrit- Il codice compilato è equivalente al se-


tura di blocchi di inizializzazione nidificati, guente.
come nel prossimo esempio.
C#
C# 3.0 - .NET 3.5
Rectangle rectangle2 = new Rectangle();
public class Point { Point point1 = new Point();
int x, y; point1.X = 0;
public int X { get { return x; } set { x = value; } } point1.Y = 1;
public int Y { get { return y; } set { y = value; } } rectangle2.TL = point1;
} Point point2 = new Point();
point2.X = 2;
public class Rectangle { point2.Y = 3;
Point tl, br; rectangle2.BR = point2;
public Point TL { get { return tl; } set { tl = value; } } Rectangle rectangle1 = rectangle2;
public Point BR { get { return br; } set { br = value; } }
} La nuova sintassi risulta più comoda da usa-
re oltre che più leggibile e può essere usata
// Nested object initializzer sia con i tipi reference che con i tipi value.
Rectangle r = new Rectangle { Abbiamo visto due delle nuove caratteristi-
TL = new Point { X = 0, Y = 1 }, che di C# 3.0. Durante la nostra conferenza di
BR = new Point { X = 2, Y = 3 } maggio, DevCon 2007, avremo sessioni dedi-
}; cate e più approfondite su questi argomenti.

N. 73 - Gennaio/Febbraio 2007 VBJ 29


ENTERPRISE

Business Intelligence
Tecnologia e processo
Una panoramica sui sistemi di Business Intelligence

di Fabio Testa

Per la definizione di Business Intelligence ci Nei prossimi paragrafi ci


appoggiamo alla concettualizzazione di Howard concentreremo sull’aspetto
Dresner, famoso analista del Gartner Group che tecnologico per riprendere il
ha coniato le parole Business Intelligence nel concetto di utilità di processo
1992: nelle conclusioni in cui sin-
teticamente indicheremo il
“Business Intelligence (BI) è un ombrello motivo che dovrebbe spinge-
concettuale al di sotto del quale trovano posto re una azienda ad investire in
tecnologie a supporto dell’utente finale per sforzi implementativi e rior-
l’accesso e l’analisi delle fonti di informazione ganizzativi per l’intruduzione
quantitative” di un sistema di BI.

In effetti possiamo vedere la BI sotto un duplice Organizzazione dei dati ed


aspetto: astrazione (Metadati)
Per comprendere come i me-
1) Come processo aziendale nel quale le or- tadati entrano e permeano
ganizzazioni raccolgono le informazioni dai l’intera organizzazione di un
sistemi operazionali, dai sistemi di datawa- sistema di BI bisogna capire
rehouse e da fonti eterogenee per stimare e la differenza fondamentale
valutare performance ed andamenti di indi- tra “dato” e “metadato”.
catori percettivi dell’andamento economico e Un dato è ciò che è immedia-
di mercato tamente presente alla cono-
2) Come insieme di tecnologie volte alla trasfor- scenza. Esempi di dato sono:
mazione di dati e informazioni in conoscen- nome e cognome, indirizzo,
za codice fiscale, quantità ordi-
nata.
Un metadato è invece una
Fabio Testa si occupa di progettazione, consulenza e project collezione di dati contenen-
management su software web/desktop based e di sistemi di te informazioni sul dato di
DW ed ha lavorato nei settori servizi IT per Public utilities,
riferimento (es. lunghezza e
PMI, banche e centri servizi bancari
caratteri consentiti nel dato

N. 73 - Gennaio/Febbraio 2006 VBJ 31


ENTERPRISE

Figura 1 Repository

nome e cognome, tipo numerico e nume- comprende anche uno strumento che per-
ro di decimali per la quantità acquistata, mette analisi (report ed altro) sull’utilizzo
ecc.). e sugli impatti di sviluppo sugli oggetti
La Figura 1 ci mostra in quale modo un interni al sistema stesso.
moderno sistema di BI utilizza metadati L’astrazione, nei sistemi di BI più struttu-
memorizzati in repository (comunemente rati, viene estesa anche al livello di design
basi dati su DB relazionali) per rappre- dei dati. In dettaglio le dimensioni e le mi-
sentare i dati, il tipo, la loro profondità, le sure vengono visti come oggetti contenuti
gerarchie, ecc. Il sistema di BI usualmente all’interno di classi e tutta la logica relazio-

Figura 2 Astrazione di oggetti a livello di design

32 VBJ N. 73 - Gennaio/Febbraio 2006


ENTERPRISE

nale (entità/relazioni) è nascosta agli svi-


luppatori di report, dashboard e prospetti
di analisi trend. L’esempio riportato in
Figura 2 può darci un’idea di come un
prodotto di mercato implementa questa
astrazione.

Organizzazione del dato ed analisi


Concetto primario nell’analisi di dati
dimensionali è OLAP. Dietro questo
acronimo si nasconde la definizione
On Line Analytical Processing, ovvero
una filosofia di organizzazione dei dati Figura 3 Cubo OLAP
differente dalla classica utilizzata per
processi transazionali (OLTP) presente
nella maggior parte dei sistemi di tipo pensare che su sistemi OLAP ben calibrati
“gestionale”. l’esecuzione di una query costa solo lo 0,1%
Il diverso approccio permette di fornire che su un sistema OLTP.
rapide risposte ad interrogazioni (query) La struttura dati è generalmente creata se-
di tipo dimensionale con performance condo uno star schema o snowflake sche-
ineguagliabili sui sistemi tradizionali (il ma (a fiocco di neve – Figura 4).
concetto di dimensionale ci sarà chiaro tra
poco). A questo punto dovrebbe essere più chia-
In pratica nell’approccio OLAP si fa rife- ro il concetto di dimensione e, quindi, di
rimento al concetto di “Cubo” che è uno query dimensionale. Interrogando uno o
snapshot di un set di dati ristrutturato più cubi OLAP opportunamente popolati si
(Figura 3). può accedere ai dati in due nuove modalità
non presenti nelle classiche interrogazioni
Le informazioni sono riportate su più di- su DB relazionali:
mensioni (assi) e vengono preaggregate
(MOLAP). Le query sono eseguite su que- a) Slice&dice
sto sottoinsieme rielaborato di dati (data È una modalità di analisi dinamica dei
subset) con altissime performance. Basti dati lungo le direttrici dimensionali. In

Figura 4 Star e Snowflake schema

N. 73 - Gennaio/Febbraio 2006 VBJ 33


ENTERPRISE

servato in un array storage


ottimizzato.
I vantaggi di questo approccio
riguardano sicuramente le alte
performance sulle query, l’ot-
timizzazione dei dati che occu-
pano spazi ridotti sullo storage,
l’indicizzazione in modalità
nativa dei cubi e la possibilità
di automazione dei calcoli al-
Figura 5 Slice&Dice l’interno delle strutture (valori
precalcolati lungo le dimensioni
del cubo).
parole povere i dati presenti in un cubo Svantaggi di questo approccio sono
OLAP possono essere “tagliati a fette” i lunghi tempi di elaborazione per la
lungo le grandezze di analisi presenti pre-computazione dei cubi (riducibili
nel cubo stesso, come si può osservare solo con l’introduzione di caricamenti
nella Figura 5. incrementali), difficoltà nelle interroga-
b) Drill Down&Up zioni su cardinalità numerose (milioni di
È un metedo che permette la navigazio- righe).
ne dei dati in profondità o verso l’alto L’approccio basato su ROLAP prevede
lungo gerarchie stabilite all’interno del invece una organizzazione del dato in un
cubo OLAP (vedi Figura 6) database di tipo relazione strutturato ap-
positamente. Il database non richiede una
Un ultimo importante concetto nella fase di pre-computazione ed è quindi di-
comprensione dei sistemi di BI basati su sponibile, dopo la fase di ETL, all’interro-
OLAP è la distinzione tra Multidimensio- gazione sulle sue tabelle principali oppure
nal OLAP (MOLAP) e Relational OLAP sulle tabelle preaggregate che permettono
(ROLAP). risposte più rapide.
Come già accennato, nei sistemi MOLAP Questi sistemi permettono query su car-
i cubi vengono precalcolati ad intervalli dinalità maggiori ed i tool di ETL sono in
di tempo prefissati in una operazione genere più rapidi nei caricamenti delle
atomica che viene definita “processing”. aggregazioni MOLAP.
Il risultato dell’elaborazione viene con- Di contro l’approccio ROLAP consente di

Figura 6 Drill

34 VBJ N. 73 - Gennaio/Febbraio 2006


ENTERPRISE

Figura 7 Trascinamento visuale

ottenere delle performance decisamente cizzazione nativa e gerarchizzazione pre-


più basse rispetto ai cubi pre-aggregati e senti nel modello multidimensionale.
non sono previste tutte le feature di indi-

Figura 8 Report

N. 73 - Gennaio/Febbraio 2006 VBJ 35


ENTERPRISE

Figura 9 Speedometer&Barometer

Presentazione del dato senza richiedere conoscenze informati-


Il layer della presentazione del dato (pre- che “da programmatore”
sentation layer) è ovviamente molto impor-
tante nell’economia di un sistema di BI: La rappresentazione del dato, la flessibi-
esso rappresenta il front-end verso l’utente lità di analisi e l’usabilità sono quindi la
finale del DWH ed a valle della produzione chiave di volta di un buon layer di pre-
di dipartimenti dati coerenti ed organizza- sentazione. Nel corso degli ultimi anni le
ti, permette la fruizione e rielaborazione tecniche e gli strumenti di presentazione si
degli stessi. sono standardizzati e quasi tutti i prodotti
Un buon layer di presentazione deve: di mercato convergono su funzionalità e
concetti comuni.
1. supportare flessibilmente tutti i formati Per la presentazione del dato analitico gli
di presentazione diffusi sul mercato strumenti si basano sui classici report con
2. permettere la rappresentazione dei dati interfacce user friendly che permettono
dalla più analitica a quella più sintetica il trascinamento di dimensioni e misure
(a colpo d’occhio) sul report e la loro formattazione visuale
3. permettere la personalizzazione spinta (Figura 7).
sul singolo utente (ogni utente può crea-
re molte viste personalizzate dei dati) Il risultato finale è quasi sempre un insie-
4. permettere la formattazione e la stampa me di tabelle, stile Excel, che contengono

Figura 10 Geographical Drill

36 VBJ N. 73 - Gennaio/Febbraio 2006


ENTERPRISE

Figura 11 Analisi dei trend

incroci di dati e grafici collegati agli stessi Spostandosi nel campo della previsione
rinfrescabili a comando o su schedulazione con utilizzo di modelli statistici, con ap-
(Figura 8). plicazione del calcolo delle probabilità,
gli strumenti si raffinano e permettono di
Altro tipo di strumento sono i cruscotti – o applicare funzioni built in o custom made
dashboard – che permettono al manager ai dati presenti nel datawarehouse permet-
una valutazione a supporto decisionale tendo analisi basate su funzioni statistiche
tramite un’osservazione “a colpo d’oc- (varianza, devianza, correlazione, ecc.),
chio”. Anche in questo campo i prodotti matematiche e finanziarie.
di mercato si attestano attorno alle stesse Le funzioni proprietarie o custom servo-
funzionalità. I cruscotti possono avere no per elaborare i dati in risultanze per
una o più misure, provenienti da fonti ranking, analisi dei trend e proiezioni (Fi-
dati eterogenee come DB di DWH, fogli gura 11)
previsionali o tool di previsioning, che
vengono poi graficamente rappresentate Distribuzione e notifica
perché possano essere osservate nel tem- La distribuzione dei report e l’alerting sono
po e/o paragonate tra di loro. Sono usuali funzioni chiave per un moderno sistema di
in questo campo misure su rapporti ed Business Intelligence. Il sistema di gestio-
indici rappresentati graficamente come ne dei contenuti e degli alert deve permet-
gli speedometer (misuratori di velocità tere la consegna flessibile e controllata dei
nel tempo) ed i barometer. Tramite questi contenuti che devono essere distribuiti
strumenti le velocità e i livelli sono misu- proattivamente ad un ampio numero di
rabili nel tempo tramite il trascinamento attori, sia all’interno della struttura azien-
di cursori temporali come quelli posti in dale che verso l’esterno.
basso rispetto alla Figura 9. Funzionalità imprescindibili del sistema di
distribuzione e notifica sono:
Altra tipologia interessante di strumenti
sono quelli che permettono analisi geogra- 1. Distribuzione dei report su ogni pos-
fiche su cartina. Usualmente questi prodot- sibile delivery point come portali, file
ti generano cartine geografiche interattive server, e-mail, stampanti e file server in
sulle quali sono possibili operazioni di drill ogni formato standard di mercato (pdf,
geografico rappresentate nella Figura 10. html, Excel, rtf e zip file);

N. 73 - Gennaio/Febbraio 2006 VBJ 37


ENTERPRISE

spesso alla “rivoluzione” con scetticismo


2. Consegna delle informazioni: immediata e sospetto.
(on-demand), basata su eventi specifici Detto questo viene spontaneo chiedersi
(on-event) e periodica (on-schedule) tra- se “il gioco vale la candela”. La risposta è
mite interfacce amministrative con le quasi sempre positiva in quanto l’adozione
quali è possibile stabilire le modalità, le di questi sistemi/riorganizzazioni permet-
periodicità, i formati e gli eventi di trig- te di produrre informazioni di business di
gering relativi alla distribuzione; alta qualità che possono essere usate per
aumentare il vantaggio competitivo.
3. Personalizzazione fino al livello utente Queste informazioni possono dare ai vari
dell’interfaccia di fruizione dei contenu- reparti organizzativi (pianificazione e con-
ti, sia per quanto riguarda l’amministra- trollo, marketing, vendite, ecc.) delle viste
zione del sistema a livello super user che consentono aggiustamenti strategici
fino alla personalizzazione controllata molto rapidi secondo varie direttrici di
dell’utente finale, bilanciando la sicu- analisi:
rezza del sistema e la significatività dei
report/dati per l’utente finale. 1. cambiamenti nei comportamenti di spe-
sa nei clienti
2. capacità produttive o di approvvigiona-
mento dell’azienda
3. generiche previsioni di trend futuri
Business Intelligence (BI) 4. informazioni demografiche ed economi-
è un ombrello concettuale che
5. cosa le altre aziende concorrenti stanno
al di sotto del quale operando sul mercato
trovano posto tecnologie
In sintesi l’adozione di un sistema di Busi-
a supporto dell’utente ness Intelligence aumenta la comunicazio-
finale per l’accesso e ne fra i reparti nel coordinano delle attività
l’analisi delle fonti di e permette alle aziende di rispondere rapi-
damente ai cambiamenti nelle preferenze
informazione quantitative del cliente, nelle condizioni finanziarie, di
mercato e di tutte le variabili presenti nella
supply-chain.

Conclusioni Bibliografia
L’introduzione di sistemi di Business [1] Moss L. /Atre S. – “Business Intelligence
Intelligence all’interno di una struttura Roadmap”, Addison-Wesley
aziendale significa prevedere investimen- [2] Vercellis Carlo – “Business Intelligence
ti corposi su infrastrutture tecnologiche - modelli matematici e sistemi per le deci-
(harware/software) e, sicuramente, una sioni”, McGraw-Hill Libri Italia
riorganizzazione sia nel modo di produrre
che di considerare le informazioni dei vari Riferimenti
comparti aziendali. Questi cambiamenti [5] http://www.intelligententerprise.com/
devono essere gestiti in modo da essere [6] http://www.businessintelligence.com/
non solo decisi dal top management ma, [7] http://www.business-intelligence.co.uk/
soprattutto, accettati dal middle mana- [8] http://www.dmreview.com
gement e dagli impiegati che guardano

38 VBJ N. 73 - Gennaio/Febbraio 2006


.NET TOOLS
Standard User Analyzer l’andamento di un programma, anche Stan-
di Fabio Perrone dard User Analyzer farà rallentare la nostra
applicazione, perchè raccoglie una mole di dati
Uno strumento Microsoft per la sicurezza necessaria per esaminare gli eventuali buchi di
delle applicazioni sicurezza. Usciti dall’applicazione da testare è
necessario controllare i tab per vedere i dati
La sicurezza dei prodotti software è ormai di- raccolti. Il tab “File”elenca eventuali problemi
venuta un requisito di cui non si può più fare a di accesso ai file (fornendo il nome dei file con
meno. È quindi necessario progettare, sviluppa- problemi), cioè la possibilità di scrivere determi-
re e distribuire un’applicazione rispettando com- nati file solo se si è amministratori; il tab “Regi-
pletamente tutte le norme che regolano questo stry” effettua la stessa raccolta di problemi dei
aspetto molto complesso e delicato dell’informa- file con le chiavi di registro; il tab “INI” elenca
tica attuale, poiché in caso di danni prodotti da problemi con le API WriteProfile, funzioni che
un nostro programma, le conseguenze potreb- vanno a scrivere nel file win.ini, ovviamente
bero essere irreparabili. Esistono alcune buone modificabile solo dagli utenti amministrativi;
norme per cercare di ridurre al minimo i rischi, il tab “Token” elenca eventuali controlli del-
tra le quali la principale è riuscire a programma- l’applicazione per identificativi espliciti, quali
re senza avere privilegi amministrativi (che per “BUILTIN\Administrators”; il tab “Privilege”
esperienza personale so che ben pochi compio- elenca eventuali problemi di privilegi, quali
no). Con l’uscita di Windows Vista è anche bene l’opportunità di effettuare il debug dell’applica-
ricordare che persino gli amministratori eseguo- tivo; il tab “Name Space” elenca problemi cau-
no la maggior parte dei programmi con privilegi sati dalla creazione di oggetti di sistema mentre
standard, quindi diventa fondamentale essere “Other Objects” mostra errori dovuti ad accessi
certi che le nostre applicazioni non dipendano che non siano né di file né di chiavi di registro;
troppo pesantemente dal fatto che è necessario infine il tab “Process” mostra se vengono creati
avere i privilegi amministrativi per poterle ese- dei processi che richiedono elevati privilegi per
guire. Il tool che andiamo ad esaminare questo poter funzionare.
mese si propone di controllare se una qualsiasi Ognuno di questi tab presenta una griglia con
applicazione può avere dei problemi nell’accesso righe contenenti le eventuali problematiche:
a file, al registro e a molte risorse del sistema facendo doppio clic su un problema qualsiasi
operativo, diventando uno strumento di notevo- vengono fornite informazioni dettagliate sulla
le importanza. gravità dell’errore e, manna per gli sviluppato-
L’interfaccia utente si presenta con due button, ri, lo stack trace della chiamata che ha genera-
una serie di tab ed un menu con ben poche to il problema. Assai interessante il file creato
voci. Una volta scelta l’applicazione da eseguire (in maniera un po’ nascosta, a dire il vero) dallo
e impostati gli eventuali parametri da passarle, SUA: un file xml posto nella directory tempo-
è possibile lanciare il programma ed effettuare ranea dell’utente che sta facendo girare l’appli-
delle operazioni “potenzialmente pericolose”, cazione, contenente tutte le informazioni della
quali scrittura su file, registro e così via. Come verifica. Questo file riveste un’importanza par-
tutti i tool invasivi che devono monitorare ticolare perchè è poi immediato costruirsi una

40 N. 73 - Gennaio/Febbraio 2007
.NET TOOLS

semplice applicazione .NET che scorra questo


file e mostri i risultati della scansione. Le voci Prodotto
di menu permettono di filtrare le tipologie di Standard User Analyzer
messaggi (errori, warning o informativi) che il Url di riferimento
programma mostra: nella maggior parte delle http://www.microsoft.com/downloads/details.aspx?FamilyId=DF5
occasioni è sufficiente mostrare solo gli errori. 9B474-C0B7-4422-8C70-B0D9D3D2F575&displaylang=en
Due considerazioni per poter sfruttare comple- Stato Release
tamente le potenzialità di questo programma: Stabile
la prima, banale, è di effettuare ovviamente i Semplicità d’uso ªªªªª
test con i privilegi amministrativi, cioè esegui- I pochi controlli presenti nell’interfaccia utente non presentano al-
re SUA con un utente con altri privilegi; la se- cun ostacolo per essere immediatamente operativi.

conda, cercare di esplorare tutte le funzionalità Utilità ªªªªª


di un’applicazione per riuscire ad esaurire tut- Indispensabile per testare la sicurezza delle proprie applicazioni.
te le possibilità di potenziali problematiche. Qualità prodotto ªªªª²
Concludendo, vista la rapidità di apprendi- Nei test sul prodotto eseguiti non abbiamo riscontrato particolari
problemi, è ovvio che per controllare applicazioni particolarmente
mento e la semplicità di utilizzo dello Stan-
complesse richiede un PC particolarmente potente.
dard User Analyzer e considerata l’uscita di
Windows Vista con le sue numerosi restrizioni Qualità documentazione ªª²²²
Niente di più che poche spiegazioni delle voci di menu. Sia il pro-
sull’argomento sicurezza, è bene mettere nel gramma che la documentazione sono in lingua inglese.
proprio arco anche la freccia rappresentata da
questo strumento.

N. 73 - Gennaio/Febbraio 2007 VBJ 41


.NET TOOLS

che utilizza i servizi forniti da Seekafile, op-


Seekafile pure utilizzare ed eventualmente modificare
di Raffaele Di Natale gli applicativi di esempio a corredo del tool: la
Desktop Search Application, che è una Form
Un servizio open source per Application e una Web Application [2].
l’indicizzazione e la ricerca di documenti

Chi non ha installato negli ultimi mesi, anche


solo per provare, un tool di ricerca alternativo
al “cerca” di Windows, come ad esempio la Il server Seekafile
Google Desktop Search Bar o l’equivalente
versione MSN? Avere la potenza di un motore
utilizza un motore di
di ricerca affidabile e collaudato per recupera- indicizzazione e ricerca
re i file sperduti nei meandri delle directory
basato su Lucene.Net
del nostro PC non è cosa da poco. Chi non ha
avuto qualche dubbio sulla reale protezione
della propria privacy? Una soluzione open,
sicura, efficiente, facilmente configurabile,
estendibile ed accessibile sia da applicativi
web sia desktop potrebbe essere la risposta a Un po’ di storia
queste domande. Il server Seekafile utilizza un motore di indi-
cizzazione e ricerca basato su Lucene.Net [3].
L’applicazione Quest’ultimo rappresenta il porting sotto C#
L’applicazione [1] si compone essenzialmente del più famoso Java Lucene e si è sempre di-
di due parti: Seekafile Server che rappresenta stinto per le elevate performance, per la capa-
il servizio e Seekafile Manager che costituisce cità di assegnare un ranking ai risultati della
il suo pannello di controllo. Il servizio è testa- ricerca, per la compattezza del file di indice e
to sui sistemi Windows 2000/XP/2003 con .Net per molto altro ancora.
Framework 1.1. Dopo aver installato e configu-
rato il servizio secondo le nostre preferenze Come funziona
è possibile realizzare da zero un’applicazione Al centro dell’applicazione troviamo l’indice:
tutto gira intorno ad esso. Infatti,
le applicazioni puntano ad esso per
reperire i file ricercati ed il server lo
aggiorna continuamente sfruttando
i dati a disposizione. Seekafile in-
dicizza una o più directory predefi-
nite mediante la console Seekafile
Manager. Il server, girando in back-
ground a bassa priorità, rileva con-
tinuamente i cambiamenti avvenuti
in tali directory, nuovi inserimenti,
modifiche ed altro, aggiornando in
tal modo l’indice (o gli indici). Ogni
applicazione, web o desktop, che
Figura 1 Il pannello di controllo e configurazione di Seekafile vuole effettuare una ricerca, non
deve far altro che accedere al file di
indice per recuperare i relativi file.

42 N. 73 - Gennaio/Febbraio 2007 2006


.NET TOOLS

Figura 2 La Form Application di esempio

motore efficiente e ottimizzato per lavorare


con questo formato di file. La soluzione adot-
tata da Seekfile per risolvere tale problema è
A corredo del tool basata sull’uso degli IFilter.

sono fornite una Form Cenni su IFilter


Application ed una Web Seekafile utilizza gli IFilter [4] per estrar-
re porzioni di testo puro a partire da file
Application nei formati txt, html, Word, PowerPoint ed
Excel. Chiaramente, un motore di ricerca
capace di estrarre dati solo da questi file, po-
trebbe sembrare comunque ben poca cosa,
Tipi di file indicizzati ma la potenza della soluzione sta appunto
La limitazione e la potenza del motore nella sua flessibilità dovuta agli IFilter. In-
Lucene.Net risiede nel fatto che indicizza fatti, questa scelta consente di affidarsi ad
solo testo puro. Sebbene questo aspetto una soluzione ufficiale Microsoft che fun-
di primo acchito sembri escludere l’intero ziona e che difficilmente sarà abbandonata
universo dei file che normalmente utiliz- nel breve periodo (è utilizzata ad esempio
ziamo, invece spiega proprio il successo nell’ambiente SharePoint Portal) ed inoltre
di tale motore. Infatti, tutto ciò che è testo esistono IFilter proposti da terze parti che
puro può essere tranquillamente elaborato consentono di effettuare l’estrazione di te-
da Lucene.Net e quello che non lo è deve sto puro anche da file in altri formati. Per
essere semplicemente filtrato. Pensiamo ad esempio la stessa Microsoft propone un IFil-
esempio ai file del pacchetto Office o ai file ter per i file con estensione RTF [5] o XML
in formato PDF. Il tempo sprecato in tale [6]. Infine, esiste sempre la possibilità di
operazione è comunque recuperato da un costruirne uno ad hoc.

N. 73 - Gennaio/Febbraio 2007 VBJ 43


.NET TOOLS

Figura 3 La Web Application di esempio

dentemente installato. Dopo aver avviato il


Configurazione dell’ambiente servizio dall’ambiente manager, non resta
Dopo aver scaricato [7] ed installato il tool, che utilizzare Seekfile tramite un client.
la console di gestione denominata Seekafile Come anticipato, è possibile scaricare sia un
Manager sarà immediatamente disponibile, client desktop denominato Desktop Search
tramite il menu programmi. A questo punto è Application, sia una Web Application [2], ol-
necessario eseguire le seguenti fasi: tre alla possibilità di testare direttamente il
tutto mediante una live demo [8] (che rappre-
1. installazione del servizio; senta la versione online del progetto relativo
2. configurazione del servizio; al client Asp.Net.).
3. avvio del servizio;
4. utilizzo di un client per effettuare la
ricerca.
Seekafile utilizza gli
Per installare il servizio è sufficiente digi-
tare Seekafile.Server.exe /i dal prompt dei
IFilter per estrarre porzioni
comandi a partire dalla cartella di installa- di testo puro dai file
zione del servizio. Oppure, molto più sem- indicizzati
plicemente, si può utilizzare il Manager, in
maniera tale che in tempo reale otterremo
anche lo stato del servizio. Seekafile Mana-
ger consente inoltre di creare il file di indice Desktop Search Application
e definire le cartelle da indicizzare. Sempre Le performance del motore di ricerca non
dall’ambiente Manager è possibile aggiun- possono essere apprezzate fino a quando
gere ulteriori formati di file indicizzabili dal non si esegue la prima ricerca. Dopo aver
servizio, associando il relativo filtro prece- eseguito e configurato il client definendo

44 N. 73 - Gennaio/Febbraio 2007 2006


.NET TOOLS

l’index file (anche più di uno) utilizzato dal


servizio, è necessario inserire il path di base Conclusioni
della ricerca in modo da abbreviarne la de- Il tool ha risposto sempre in maniera pie-
scrizione nella fase finale di visualizzazione namente soddisfacente nei test effettuati;
dei risultati. Sono stati realizzati due test dal punto di vista della tempestività e della
con i quali sono state effettuate ricerche su velocità dell’indicizzazione le performance
un totale di 4248 file di tipi diversi. Nel pri- sono eccellenti; l’unico significativo limite è
mo caso, utilizzando una ricerca semplice legato, in alcune occasioni, al mancato riav-
(è stata ricercata la parola computer) senza vio del servizio Seekafile.server in seguito
vincoli, la ricerca ha prodotto 53 elementi in ad un procedente stop. La documentazione
poco più di 0,2 secondi; nel secondo caso, disponibile è completa, anche se in lingua
utilizzando una query più complessa ed in- inglese, ed i progetti a supporto del tool
tervenendo su alcuni vincoli (vedi Figura 2) sono sicuramente esaustivi.
sono stati trovati 71 elementi in meno di 0,3
secondi. Bibliografia e riferimenti
[1]_http://www.seekafile.org
[2]_http://www.seekafile.org/download.html
[3]_http://www.dotlucene.net
[4]_http://www.seekafile.org/ifilter-interface.html
Il tool ha risposto [5]_http://www.microsoft.com/sharepoint/server/
sempre in maniera techinfo/reskit/rtf_filter.asp
[6]_http://www.microsoft.com/sharepoint/
pienamente soddisfacente server/techinfo/reskit/XML_Filter.asp
nei test effettuati [7]_http://prdownloads.sourceforge.net/seekafile/
Seekafile.Server-1.5-beta2.exe?download
[8]_http://www.seekafile.org/demo/
[9]_http://www.damnfastdotlucene.org/

Asp.Net Client Application


L’esempio di Web Application, che utilizza
Prodotto
Seekafile Server
il servizio Seekafile, è chiaro ed essenziale.
Il funzionamento è speculare alla Desktop Url di riferimento
http://www.seekafile.org
Application ad eccezione del fatto che la
configurazione dell’ambiente, per poter Stato Release
v. 1.5 beta 3
utilizzare localmente il servizio, deve esse-
re realizzata via codice. Infatti, dopo aver Semplicità d’uso ªªªª²
Essendo un servizio necessita di tanti elementi per poter essere
definito la posizione del file di indice e la
utilizzato, ma una volta installato è davvero semplice utilizzarlo.
stringa base di ricerca, non resta che vedere
in azione questo servizio, che nella versio- Utilità ªªªª²
Come fare a meno di un tool open e completamente personaliz-
ne web mette maggiormente in evidenza le zabile per ricercare i nostri file?
proprie potenzialità. Come si evince dalla
Qualità prodotto ªªªª²
Figura 3, i tempi di risposta sono senz’altro Si tratta di un’ottima soluzione, quando è utilizzata a regime, men-
più immediati se confrontati alla versione tre nei casi in cui si fanno test (con avvio e stop del servizio) sono
desktop, differenza dovuta ai tempi di popo- stati riscontrati problemi.
lamento del control che nella versione web Qualità documentazione ªª²²²
sono quasi ininfluenti. Per approfondire La documentazione disponibile nel sito (in lingua inglese) è com-
infine le performance di Lucene.Net può pleta ed il software a corredo è molto esplicativo.
risultare interessante visitare [9].

N. 73 - Gennaio/Febbraio 2007 VBJ 45


Report Mensile
Gennaio 2007

Secunia Research ha scoperto delle In qualità di sviluppatore, è natural- dows più diffusamente utilizzati; con
vulnerabilità in varie applicazioni audio mente vantaggioso utilizzare librerie una quota di mercato stimata attor-
e multimediali dovute a un controllo condivise o acquistare la licenza di no al 95% [1].
ActiveX non sicuro. Il componente vul- controlli ActiveX in modo che si possa Per via della diffusione di Excel, gli
nerabile, NCTAudioFile2.dll, è stato in ridurre il tempo di sviluppo del proprio utenti devono prestare ulteriore at-
origine sviluppato dalla NCT Company prodotto. D’altra parte, vanno anche tenzione nell’accedere a spreadsheet
Ltd. (ora nota come Online Media Te- considerati i rischi inerenti alla sicu- da fonti o posizioni non trusted, ad
chnologies Ltd.), ed è presente in più rezza coinvolti nel farlo. Il fatto di non esempio via download, come allegati
di 80 prodotti di 32 diverse aziende aver sviluppato in proprio la libreria o alle email, o da condivisioni di rete.
software. Ciò significa che non solo il componente originale non significa Windows Vector Markup Language
certi prodotti NCTsoft sono vulnerabili, che ci si può astenere dal supportarlo, (VML) è un linguaggio XML che pro-
ma che lo sono anche gran parte delle e quindi delegare al produttore origi- duce grafica vettoriale. Tra le applica-
applicazioni che utilizzano lo stesso nale la creazione di una patch. zioni di questo linguaggio vi è il ren-
componente. In linea con la politica di divulga- dering di aree in Google Earth [2], e
La vulnerabilità è dovuta a un boun- zione delle vulnerabilità di Secunia, la creazione di grafica vettoriale nelle
dary error nel controllo ActiveX il produttore e i licenziatari noti del applicazioni Microsoft Office [3].
NCTAudioFile2.AudioFile; in modo componente vulnerabile sono stati VML è uno degli standard grafici che
specifico, nella gestione del metodo contattati ed è stato concesso loro permette agli sviluppatori di creare
SetFormatLikeSample(). Il passaggio tutto il tempo necessario per rispon- grafica ottimizzata in Internet Explo-
di un argomento con lunghezza di dere al nostro report. Ciò nonostan- rer. A causa di un difetto di sicurezza
circa 4124 byte provoca un buffer te, non abbiamo ottenuto risposta nel modo in cui VML processa le
overflow sullo stack, rendendo possi- dal produttore né da gran parte dei sezioni “recolorinfo”, può verificarsi
bile all’intruso l’esecuzione di codice licenziatari. un buffer overflow sullo heap, con
arbitrario sul sistema dell’utente. la conseguenza che a un intruso è
Qual è un possibile scenario di permesso eseguire codice arbitrario
attacco? L’exploit potrebbe essere A Gennaio Microsoft ha sul computer interessato.
ospitato su un sito web subdolo che rilasciato 4 security patch Un possibile scenario di attacco si ha
un utente viene indotto a visitare. quando a un utente viene inviata una
Poiché questa vulnerabilità riguarda Ad inizio d’anno, Microsoft ha rila- email formattata in HTML, o se visita
un componente ActiveX, il successo sciato quattro security advisory, tre un sito web, che contiene l’exploit
dell’exploit richiede che sia utilizzato delle quali etichettate come critiche per questa vulnerabilità. Lo stesso
Internet Explorer per visitare il sito. e una come importante. Diverse giorno in cui questa vulnerabilità è
Benché non siamo a conoscenza di vulnerabilità sono state scoperte stata resa nota pubblicamente, Mi-
alcun exploit pubblicamente dispo- in Microsoft Excel e Outlook; nel crosoft ha anche riportato che era
nibile per questa vulnerabilità, in Microsoft Vector Markup Language già in circolazione un exploit.
effetti crearne appositamente uno è (VML) è stato individuato un buffer Agli utenti è consigliato di evitare di
abbastanza banale. overflow e un errore nell’aritmetica visitare siti web non di fiducia utiliz-
Pertanto non è troppo chiedere agli senza segno, ed è stato individuato zando Internet Explorer.
utenti di prestare attenzione durante un errore nel correttore grammati- L’azienda produttrice di antivirus
la navigazione in Internet, particolar- cale della versione Portoghese Brasi- Trend Micro ha riportato che uno
mente quando IE6 esegue automati- liano di Microsoft Office; errori che script trojan, HTML_VMLFILL.I, stava
camente i controlli ActiveX. permettono la potenziale esecuzione sfruttando la vulnerabilità VML [4].
Lo scorso anno, Secunia Research di codice remoto. Lo script HTML può essere caricato in
ha scoperto vulnerabilità in 18 pro- Cinque vulnerabilità sono state un sito web da utlilizzare come base
grammi di compressione a causa di scoperte in Microsoft Excel, che per l’attacco, e gli ignari utenti pos-
una libreria condivisa (unacev2.dll) potrebbero compromettere un sono essere indotti a visitare questo
che può essere oggetto di exploit sistema vulnerabile e permettere a sito. Secondo Trend Micro, lo script
per causare un buffer overflow sullo un intruso di eseguire sul sistema del è in grado di effettuare il download
stack. Simili alle librerie condivise, codice arbitrario. Queste vulnerabili- di file da Internet, la natura dei quali
i controlli ActiveX possono essere tà possono essere oggetto di exploit dipende da chi conduce l’attacco. A
presenti anche in vari programmi processando record IMDATA appo- causa della disponibilità di un exploit
essendo possibile licenziarne uno, se sitamente creati, record di colonne, in circolazione, Secunia ha etichetta-
è richiesta la medesima specifica fun- record di palette o stringhe. to questa vulnerabilità come “estre-
zionalità nella propria applicazione. MS Excel è uno dei programmi Win- mamente critica”.

46 VBJ N. 73 - Gennaio/Febbraio 2007


Una seconda vulnerabilità nel modo ter quando un utente apre un docu- nella risoluzione dei problemi. Il solo
in cui VML gestisce i tipi shape è mento Word appositamente creato. fatto che Microsoft Office è il leader
stata anche compresa nella release Questo Trojan è in grado di creare di mercato dovrebbe essere una mo-
di questo mese. È stato scoperto che diversi file nel computer, e sono tivazione sufficiente; si immagini la
questa vulnerabilità causa la corru- tutti dei backdoor Trojan. I backdoor disponibilità di milioni di computer
zione della memoria e può essere Trojan sono una tipologia di malware vulnerabili in tutto il mondo. Inoltre,
utilizzata per referenziare la memoria che apre le porte e comunica con Microsoft ha rilasciato pochissime
controllata dall’utente, e permettere altri computer su Internet, il tutto informazioni su queste vulnerabilità
l’esecuzione di codice arbitrario. senza la consapevolezza dell’utente. zero-day, limitando la quantità di ma-
Questi Trojan, attraverso queste teriale che i ricercatori sulla sicurezza
[1]_http://news.zdnet.com/ porte aperte, possono trasmettere possono consultare alla ricerca della
21009593_ 226030011.Html informazioni riservate a chi conduce causa delle vulnerabilità.
[2]_http://www.google.com/apis/ l’attacco, o essere utilizzate per rice- Mentre il mondo attende gli aggior-
maps/documentation/#XHT_ML_ vere altro malware. namenti della sicurezza, la sola azione
and_VML La vulnerabilità in Microsoft Word che gli utenti possono intraprendere
[3]_http://msdn.microsoft.com/ che il Trojan.Mdropper.W utilizza è è evitare l’apertura di documenti
workshop/author/vml/default.a sp dovuta secondo quanto riferito a Word non provenienti da fonti fidate.
[4]_http://www.trendmicro.com/ un errore nel modo in cui Microsoft Anche se la fonte sembra legittima,
vinfo/virusencyclo/default5.a Word esegue il parsing delle stringhe. gli utenti devono tener presente che
sp?VName=HTML_VMLFILL.I Benché nessuna altra informazione sia è abbastanza facile contraffare indi-
disponibile da Microsoft, quest’ultima rizzi email per farli sembrare legitti-
Agli utenti Microsoft è suggerito di ha indicato di essere a conoscenza di mi. In questi tempi di globalizzazione,
eseguire il servizio Microsoft Update “attacchi mirati, molto limitati” che questo tipo di soluzione ha delle
per assicurare che tutte le patch di utilizzano questa vulnerabilità [2]. limitazioni intrinseche; diversi uffici
sicurezza siano scaricate e installate. È la terza volta in due mesi che Word in differenti continenti interagiscono
Per determinare se il proprio siste- è stato il trampolino di lancio per at- giornalmente via email. E la natura di
ma è aggiornato con i più recenti tacchi “zero-day”. Per le tre vulnera- questi attacchi mirati significa che
aggiornamenti sulla sicurezza di Mi- bilità (e per una ulteriore vulnerabili- vengono attentamente concepiti e
crosoft si può utilizzare il prodotto tà non “zero-day”, sempre in Word), rivolti a uno specifico destinatario
Secunia Software Inspector: http: nel momento in cui scriviamo, non (ad esempio la divisione finanziaria
//secunia.com/software_inspector/. sono disponibili patch, e Microsoft o la divisione marketing) per dare
Per ulteriori informazioni sulle vul- non ha indicato un tempo stimato di al documento di exploit un’ulteriore
nerabilità di questo mese riscontrate rilascio della patch. aria di “autenticità”.
nei prodotti Microsoft, si consultino i Essendo Microsoft Word il program- Secunia ha etichettato questa recen-
seguenti advisory di Secunia: ma di elaborazione documenti di te vulnerabilità “0day” di Word come
http://secunia.com/advisories/23671/ default utilizzato da molti, può sem- “estremamente critica” a causa della
http://secunia.com/advisories/23674/ brare un po’ strano che Microsoft disponibilità del codice di exploit, e
http://secunia.com/advisories/23676/ sembra non abbia fretta di risolvere di report dei produttori del settore
http://secunia.com/advisories/23677/ questi problemi di sicurezza. In base sicurezza di tentativi in corso di
alla spiegazione fornita sul significato exploit.
di “attacchi mirati, molto limitati” [3], Per ulteriori informazioni su questa
Un attacco “0day” a si potrebbe ricavare l’impressione che recente vulnerabilità di Microsoft
Microsoft Word poiché questi attacchi sono in genere Word, si consulti l’advisory: http:
specifici e rivolti solo a certe aziende, //secunia.com/advisories/23950/
Microsoft Word è stato l’obiettivo faccia parte della valutazione del ri-
del primo attacco “zeroday” dell’an- schio distinguere questi tipi di attacchi [1]_http://www.symantec.com/
no. Una vulnerabilità non divulgata dagli “attacchi diffusi e di massa”. security_response/writeup.jsp? do-
in precedenza in Microsoft Word Tuttavia, questa differenziazione è cid=2007011813043599& tabid=1
2000 è stata riportata come breccia superflua. Se o meno un attacco [2]_http://blogs.technet.com/msrc/
alla sicurezza utilizzata da un Trojan zero-day è diffuso o limitato, l’im- archive/2007/01/26/microso ftsecuri
dropper per infiltrarsi nei computer, patto associato ad esso è tuttavia tyadvisory932114posted.aspx
in base a un report di Symantec [1]. tangibile. E se o meno un attacco [3]_http://blogs.technet.com/msrc/
Trojan.Mdropper.W, come è noto il zero-day è diffuso o limitato non do- archive/2006/12/08/whatverylimitedt
Trojan, viene installato su un compu- vrebbe rappresentare un elemento argetedattacksmeans.aspx

N. 73 - Gennaio/Febbraio 2007 VBJ 47


Sun JRE non brilla con le La vulnerabilità, rivelata da un anoni- un’email o un messaggio IM che li
GIF a larghezza zero mo attraverso la Zero Day Initiative, dirotta verso un certo sito web. Una
è dovuta al modo in cui JRE gestisce volta che l’utente clicca sul sito e JRE
Una vulnerabilità in certe versioni del le immagini GIF con larghezza nulla. inizia a processare i componenti del
Sun Java Runtime Environment (JRE) Se JRE processa un file immagine sito, il computer è stato compro-
è stata rivelata questo mese, che appositamente creato con larghezza messo.
potrebbe causare un buffer overflow zero, un intruso può ottenere l’ac- Come è stato detto più volte, un
e permettere infine a un intruso di cesso al computer e eseguire pro- utente deve evitare di visitare col-
ottenere il controllo di un sistema. grammi arbitrari. Questi programmi legamenti non di fiducia, partico-
JRE è una potente utility sviluppata da possono essere di qualsiasi tipo: larmente se provengono da fonti
Sun, che permette agli sviluppatori di password cracker che sottraggono ignote. Sun Java ha anche rilasciato
aggiungere piccole applicazioni (ad le credenziali bancarie, spyware e degli aggiornamenti di sicurezza per
esempio giochi o animazioni) ai siti adware, programmi che trasformano il patching di questa vulnerabilità lo
web. Per visualizzare una pagina web i propri computer in “spam zombie” stesso giorno della divulgazione pub-
che contiene componenti Java, JRE facendo sì che il proprio computer blica. Se si ha in esecuzione JRE 5.0,
deve essere installato nel sistema di un rallenti, ecc. o le versioni 1.4 o 1.3, è necessario
utente. Poiché i siti web che espongono Un attacco di questa natura ha esito eseguire immediatamente l’aggior-
animazioni e altro contenuto dinamico positivo solo se l’utente visita un sito namento.
sono sempre più diffusi, è probabile web in cui viene ospitato un exploit Per ulteriori informazioni su questa
che JRE sia installato in gran parte dei per questa vulnerabilità. vulnerabilità, si consulti l’advisory:
computer connessi a Internet. Ad esempio, un utente può ricevere http://secunia.com/advisories/23757/

48 VBJ N. 73 - Gennaio/Febbraio 2007


Prodotti & News
Potete inviare i vostri comunicati stampa all’indirizzo:
comunicatistampa@infomedia.it

Skype Phone di SMC per Magellan CrossoverGPS, che viene in tempo reale sul traffico e a funzio-
reti civiche e hotspot commercializzato con mappe stradali nalità di reindirizzamento per evitare
e topografiche pre-caricate, guida gli ritardi ed arrivare a destinazione più
SMC Networks (www.smc.com) ha utenti con la massima accuratezza velocemente
siglato un accordo con il wireless - su strada e dove la strada non c’è
internet service provider (WISP) Gu- - in modo da rendere loro possibile Fuoristrada
glielmo, che permetterà di usare lo guidare, fare fuori strada, trekking, L’utente deve solo toccare lo scher-
Skype Phone di SMC come se fosse geocaching, navigare, pescare e mo del Magellan CrossoverGPS per
un cellulare, ma con costi estrema- molto di più - tutto con lo stesso passare dalla navigazione in auto a
mente più contenuti. È sufficiente re- dispositivo GPS. quella outdoor o utilizzare le mappe
gistrare il proprio telefono al servizio base pre-caricate per creare e seguire
una prima volta per potervi accedere Queste le principali funzionalità di direzioni specifiche o tornare indie-
gratuitamente senza dover effettuare Magellan CrossoverGPS: tro. Il dispositivo è compatibile con
nessuna ulteriore autenticazione. È tutte le mappe certificate MapSendT
possibile anche, qualora ve ne fosse • Display touch screen a colori da su schede SD comprese quelle topo-
necessità, acquistare lo Skype Pho- 3.5” grafiche e carte BlueNavT Marine. La
ne di SMC direttamente on-line da • Dimensioni da 12,5x8,5x2,6 cm, funzionalità di navigazione outdoor
Guglielmo. peso di 235 grammi consente di orientarsi usando le
Il servizio è attivo nelle aree wireless • Impermeabilità IPX-4 coordinate GPS di locazioni geogra-
realizzate da Guglielmo, che attual- • Fino a 8 ore di durata delle bat- fiche, quali latitudine e longitudine
mente coprono le città di Parma terie di un punto di partenza e di una
e Reggio Emilia oltre che diverse • Numerosi schermi e campi per la destinazione desiderata. Altre utili
decine di hot spot pubblici sul terri- navigazione outdoor: bussola, altime- caratteristiche, quali la bussola e la
torio nazionale, ed è attualmente allo tro, distanza a destinazione, errore capacità di salvare una determinata
studio una estensione su altre città cross track (XTE), tempo di arrivo location come campo base, rendono
ed altre zone, fino a coprire tutto il stimato, ecc. Magellan CrossoverGPS semplice da
• Custodia Sports GuardT per una fa- utilizzare anche per chi non è esperto
territorio nazionale.
cile presa e una maggiore protezione di navigazione. La batteria integrata
• Prezzo indicativo di 399 Euro offre fino a otto ore di durata in uso
Per maggiori informazioni
• Mappe stradali di tutta Europa pre- e molte di più in modalità stand-by,
http://www.guglielmo.biz/
caricate opzione che prevede lo spegnimento
HotSpotFinder.aspx
del display anche se il GPS continua a
tenere traccia della posizione.
In strada
Il sistema offre visualizzazioni tri- In navigazione
Magellan CrossoverGPS
dimensionali a volo d’uccello delle Passando in modalità Marine, Cros-
mappe, la funzionalità gratuita Smar- soverGPS passa automaticamente
Magellan, azienda leader nel mer-
tDetourT per aiutare i guidatori ad alle miglia nautiche per indicare le
cato dei sistemi di navigazione auto
evitare il traffico sulle autostrade, in- distanze e ai nodi per la velocità.
e outdoor, annuncia la disponibilità
dicazioni SayWhereT con i nomi delle Lo schermo Compass mostra l’XTE
in Europa dell’innovativo Magellan
strade pronunciati e indirizzamento (CrossTrack Error) ed oltre, ed un
CrossoverGPS. Si tratta del primo
multi-destinazione ottimizzato per Road Screen, che mostra una linea
dispositivo robusto e impermeabile
trovare le strade più veloci ed effi- nera sullo schermo, indica la meta
IPX-4 progettato per la navigazione
cienti in caso si facciano numerose all’utente. L’utente può avvicinarsi al
sia in auto che outdoor. Disponibile
soste. Una directory che comprende punto d’arrivo manovrando la barca
da subito a un prezzo indicativo di
quasi 2 milioni di punti di interesse di modo che la riga nera rimanga al
399 Euro, Iva compresa, Magellan
aiuta l’utente a trovare ristoranti in centro dell’unità. Se la differenza tra
CrossoverGPS abbina la sofisticata
base alla tipologia di cucina, aeropor- la posizione e la direzione desiderata
esperienza di navigazione auto della
ti, distributori di benzina, hotel e altri fa sì che la riga sia fuori dalla scher-
linea Magellan RoadMateT, alle fun-
servizi utili. Il dispositivo è anche un mo, una grande freccia punterà a de-
zionalità di un ricevitore GPS por-
compagno di viaggio ideale perchè stra o a sinistra per dire al capitano
tatile per il tempo libero, con tutta
dotato di lettore MP3 integrato e vi- come correggere la posizione.
l’esperienza dell’azienda che per
sualizzatore di foto per un maggiore
prima ha portato questa tecnologia
intrattenimento. In aggiunta, gli uten- Per maggiori informazioni
sul mercato consumer.
ti possono aggiungere aggiornamenti www.magellangps.com

N. 73 - Gennaio/Febbraio 2007 VBJ 49


Prodotti & News

rity Engineering & Response Team Questo software comprende i link


Arbor Networks annuncia (ASERT) di Arbor contestualizzerà per la sottoscrizione a diversi po-
l’iniziativa ATLAS il contenuto, trasformando i dati dcast compresi quelli dei partner di
raccolti da ATLAS in vera e propria ARCHOS. L’utente ha accesso ai po-
Arbor Networks, fornitore leader business intelligence pronta all’uso dcast preferiti con un solo click ed
di sicurezza di rete core-to core e per le aziende e i service provider. è in grado di migliorare la selezione
performance operativa per le reti utilizzando il motore di ricerca per
mondiali, ha annunciato oggi l’ini- Per i service provider, un abbona- abbonarsi a qualsiasi altro podcast
ziativa ATLAS (Active Threat Level mento ad ATLAS fornisce una solida di interesse. Il software, inoltre, av-
Analysis System), un progetto in fasi infrastruttura di managed security visa gli utenti in caso di disponibilità
multiple per lo sviluppo della prima intelligence, grazie alla quale essi di aggiornamenti del firmware e per-
rete al mondo di portata globale di
possono fornire redditizi servizi di mette anche di scaricare e sincroniz-
analisi delle minacce con la collabo-
sicurezza gestita. Le aziende ade- zare facilmente il nuovo firmware
razione della comunità dei service
renti possono alleviare il carico e sul proprio dispositivo.
provider. Arbor sfrutterà l’iniziativa
la tensione di risorse di rete e di
ATLAS per introdurre una serie di
sicurezza già sotto sforzo eliminan- Il software ARCHOSLink è dotato
prodotti e servizi, il primo dei quali
do la raccolta e l’analisi manuale di di un’interfaccia intuitiva che aiuta
è un portale pubblico disponibile
minacce specifiche in favore delle a ercare i podcast, abbonarsi al
da oggi contenente informazioni e
dati globali di alto livello. Il portale informazioni specificatamente gene- servizio di feed preferito e trasfe-
pubblico ATLAS include: una mappa rate da ATLAS. Gli abbonati riceve- rire quelli scelti nel proprio lettore
globale delle minacce, informazioni ranno anche apposite interfacce di multimediale ARCHOS, grazie a un
sulle principali sorgenti di minaccia, programmazione (API) che permet- semplice comando di sincronizza-
un Threat Index che copre lo stato teranno facilmente di personalizzare zione. Il software è basato su Win-
delle attività sospette, un Vulne- e incorporare i contenuti diATLAS dows Media Player 10, funziona sia
rability Risk Index che descrive in nei loro portali web di sicurezza. collegato in modalità PC Hard Drive
dettaglio come vengono sfruttate La terza fase dell’iniziativa ATLAS sia in quella Windows Media Device
globalmente le vulnerabilità, ed i consisterà nell’integrare le infor- ed è compatibile con tutti i lettori
riassunti giornalieri degli attacchi mazioni nei prodotti di rilevamento multimediali ARCHOS della terza e
registrati e degli eventi riguardan- anomalie e visibilità di rete diArbor quarta generazione.
ti la sicurezza. Si trova su http: Networks: Peakflow SP e Peakflow
//atlas.arbornetworks.com. X. Queste informazioni aggiuntive È possibile inoltre personalizzare le
miglioreranno le capacità degli inge- opzioni di downloand e scegliere di
L’iniziativa ATLAS utilizza una rete gneri di sicurezza di rete nel capire scaricare automaticamente i podcast
distribuita a livello mondiale di sen- meglio l’ampiezza delle minacce ai quali si è abbonati, che si sincro-
sori darknet per fornire informazio- interne a una rete specifica nel con- nizzano con il dispositivo quando è
ni avanzate su attività di host/port testo di altre reti e di Internet nel collegato al computer, oppure sca-
scanning, exploit di tipo zero-day suo complesso. ricare manualmente i contenuti se-
e propagazione di worm, eventi ri-
guardanti la sicurezza e annunci di lezionati. Si possono poi fissare dei
vulnerabilità, botnet e infrastrutture parametri per il download, per man-
Archos presenta Archo- tenere i contenuti aggiornati, secon-
di phishing. Durante i prossimi 18
slink do data o numero di download. Una
mesi, ulteriori prodotti e servizi sa-
ranno resi disponibili grazie a questa volta aggiornato il contenuto, tutti
ARCHOS, leader tecnologico e pio-
iniziativa. i podcast vengono rinominati con
nere nel mercato dell’audio-video
I prossimi passi dell’iniziativa ATLAS le informazioni relative alla fonte
mobile, annuncia la disponibilità di
includono la disponibilità di un di origine e quindi classificati nella
ARCHOSLink, un software che per-
servizio ad abbonamento che con- sezione podcast del lettore ARCHOS,
testualizzerà le informazioni basan- mette di trasferire i podcast diretta-
rendendo più semplice la ricerca.
dosi su prospettive fisiche (globale, mente sul proprio lettore multime-
ARCHOSLink notifica la disponibilità
regionale, nazione o di città) o diale ARCHOS. ARCHOSLink è già di nuovi contenuti grazie a un siste-
legate alle entità coinvolte (service disponibile sul sito www.archos.com ma di auto alert e installa automati-
provider, ASN, organizzazione, set- e si può scarirare gratuitamente nel- camente il nuovo firmware appena
tore verticale, IP). Inoltre, il Secu- l’area ArchoSphere. l’aggiornamento è disponibile. Inol-

50 VBJ N. 73 - Gennaio/Febbraio 2007


Prodotti & News

tre il software può essere utilizzato in produzione. I test tradizionalmen- allo sviluppo di una soluzione develop-
per sincronizzare altri file archiviati te disponibili per le fasi di verifica run-manage implementata sulla piat-
sul pc, come video, audio e foto. e convalida si svolgono in una fase taforma MicroTCA di Emerson.
avanzata dello sviluppo, oppure Wind River Lab Diagnostics fa parte
Per decodificare i podcast nel for- richiedono ricompilazioni o cicli di della linea di prodotto Wind River
mato video H.264 con l’audio AC3 è reboot tanto dispendiosi in termini Device Management ed è disponibi-
necessario il plug-in ARCHOS Video di tempo da limitare la capacità del le in tutto il mondo. Le attuali piat-
Podcast, che è già disponibile sul team di effettuare test sull’applica- taforme supportano sistemi quali
sito www.archos.com ed è venduto zione che gira.” VxWorks 6.X, che gira prevalente-
a $19.99. mente su PowerPC e su processori
Wind River Lab Diagnostics aiuta a di architettura Intel, VxWorks 5.5.1
snellire le procedure di sviluppo e di che gira su PowerPC e il sistema
Da Wind River un ambien- collaudo dei device e in particolare: operativo Wind River Linux 1.4 che
te completo per la diagno- gira su PowerPC e sui processori di
stica ed il test * Permette agli sviluppatori di col- architettura Intel.
laudare e supportare l’applicazione
Wind River Systems, Inc. (NASDAQ: a partire dalle prime fasi di proget-
WIND), il leader globale nella De- tazione. Magirus e Kaspersky Lab
vice Software Optimization (DSO), contro il malware
* Permette agli sviluppatori di in-
annuncia oggi la disponibilità di
strumentare il codice in esecuzione
Lab Diagnostics di Wind River®, Magirus, distributore di riferimento
su un device senza modificare i co-
una soluzione per la diagnostica del nel mercato delle infrastrutture IT
dici sorgente degli applicativi, senza
software che accompagna il team annuncia l’accordo di distribuzio-
dover ricompilare, riprogrammare
di sviluppo attraverso tutto il ciclo ne con Kaspersky Lab siglato per
nuovamente la memoria flash o
di vita del dispositivo, consentendo Italia, Spagna, Portogallo, Francia,
interrompere il funzionamento del
una collaborazione dinamica in Germania e UK. Kaspersky Lab è una
device.
fase di debugging, di collaudo e di società specializzata nello sviluppo
controllo di qualità (QA). Con Lab * Garantisce analisi basate su fatti di software contro virus, trojan,
Diagnostics, Wind River estende la osservabili e sugli effettivi difetti worm, spyware e adware e si con-
Device Software Optimization alle del software, riducendo al minimo traddistingue per la capacità di agire
fasi di verifica e convalida del ciclo le analisi basate su deduzioni e proattivamente contro ogni nuova
di sviluppo, garantendo importanti ottimizzando il tempo che gli svilup- minaccia. Con il completamento
miglioramenti nella produttività patori tradizionalmente trascorrono dell’acquisizione di Allasso, Magirus
lungo tutto il processo che porta al provando a riprodurre problemi. è sempre più focalizzata nell’ambito
rilascio del prodotto. * Porta il software a lavorare in con- del secure networking e della sicu-
“È molto difficile isolare e cor- dizioni al limite delle normali solle- rezza dei sistemi in generale. In que-
reggere difetti mentre il software citazioni legate all’utilizzo di certe sto ambito, la strategia dell’azienda
gira,” dice Naren Nachiappan, vice applicazioni, per permettere osser- prevista per il 2007 vede diversi ac-
president e general manager del vazioni e aggiustamenti di dettaglio cordi che riguardano soluzioni sem-
device management di Wind River. prima del rilascio sul mercato pre più innovative per i suoi partner
“Wind River Lab Diagnostics forni- * Crea una libreria costantemente di cui la partnership con Kaspersky
sce ai team di sviluppo una potente aggiornata dei dati che consentono ne è il primo esempio.
infrastruttura collaborativa per por- di rendere più rapido il supporto e di
tare sul mercato prodotti migliori in raccogliere informazioni da utilizza- L’offerta di Kaspersky Lab com-
tempi brevi grazie ad operazioni di re nelle future versioni del prodotto prende un ampio ventaglio di so-
diagnostica rapida e alle capacità di -anche quando il gruppo di sviluppo luzioni aziendali per la sicurezza,
intervenire sul software mentre que- originario è già concentrato in fasi capaci di offrire una protezione
st’ultimo è in esecuzione. Una fase più avanzate dello sviluppo. integrata anti-virus, anti-intrusione
di implementazione estesa nel tem- e anti-spam. Per la piccola e media
po spesso riduce il tempo a dispo- Wind River e Emerson Network, pro- azienda in particolare è disponibile
sizione di un’azienda per collaudare duttore di piattaforme di hardware ba- Kaspersky Business Optimal, una
un prodotto prima che venga messo sate su standard, stanno collaborando suite di prodotti integrati facili da

N. 73 - Gennaio/Febbraio 2007 VBJ 51


Prodotti & News

installare e da gestire, amministra- quello di fornire alle aziende un viene integrato con il “fuzzy ma-
bili centralmente e con un appro- accesso ottimale ai dati di business tching” presente all’interno di Fast
priato sistema di licensing. Ogni intelligence attraverso un livello di ESP per formare una combinazione
azienda può perciò implementare accesso search-based. unica tra strumenti di analisi, che
una soluzione perfettamente cali- La combinazione tra Fast Enterpri- viene già utilizzata dai clienti Fast
brata sulle specifiche dimensioni se Search Platform™ e Busines- nel mondo delle telecomunicazioni,
e esigenze, per qualsiasi sistema sObjects™ XI Release 2 permetterà, dei servizi finanziari e delle directory
operativo e applicazione. grazie alle nuove funzionalità, di online.
allargare e potenziare l’utilizzo della
Sul fronte della grande azienda BI in azienda, creando piattaforme
Kaspersky propone invece la intelligenti capaci di abbracciare Sony con DotForce per lo
Corporate Suite, una soluzione l’intera organizzazione. Storage
multipiattaforma, scalabile e per- Fast ESP™ e BusinessObjects co-
fettamente gestibile. Al momento niugano un’avanzata tecnologia di Sony entra nel portafoglio
dell’acquisto è di fatto sufficiente ricerca e una potente soluzione delle tecnologie proposte da
definire il numero di licenze neces- di BI per identificare ed elabora- DotForce, come marchio fonda-
sarie: qualsiasi tipologia di nodi di re rapidamente e facilmente le mentale dell’offerta Storage del
rete riceverà adeguata protezione, informazioni che provengono da distributore di soluzioni di sicurez-
workstations, fileserver, o mail sy- report, “cruscotti” per il controllo za innovative. L’accordo con Sony
stem che sia. del business, analisi, assieme a dati consente al distributore di offrire ai
non strutturati, come email, note di propri partner soluzioni allo stato
Le specifiche soluzioni di Kaspersky lavoro, file di testo. dell’arte dedicate alla protezione e
sono in grado di proteggere la rete memorizzazione dei dati aziendali.
aziendale a tutti i livelli: i dispositivi Grazie a uno strumento come Fast La vasta gamma di soluzioni Stor-
mobili, i singoli desktop e portatili, Contextual Insight™ è possibile Station di Sony è progettata per
il mail Gateway, i groupware server, associare i risultati che Business rispondere alle esigenze di capacità
i file server e via dicendo. L’intera Objects ottiene dall’analisi dei dati e prestazioni di tutti i clienti (pro-
architettura di rete riceve una pro- strutturati – con tutte le informa- fessionisti, piccole aziende, dipar-
tezione efficace e continua, sempre zioni importanti – all’interno di timenti di grandi organizzazioni o
aggiornata e flessibile per seguire gli report e memo, consentendo in tal grandi imprese con centri dati mis-
sviluppi presenti e futuri dell’infra- modo al management dell’azienda sion-critical). Questi prodotti, che si
struttura IT. di comprendere a fondo le ragioni basano sulla tecnologia AIT (Advan-
che hanno determinato quei parti- ced Intelligent Tape), oggi arrivata
Per ulteriori informazioni colari risultati. In sostanza, Fast ESP alla versione AIT-5, sono ideali per
www.magirus.com analizza e interpreta il significato una migrazione rapida, facile e
nascosto all’interno dei testi e non i conveniente dai formati su nastro
report stessi, offrendo una business meno recenti, come DAT e DLT.
intelligence di tipo contestuale,
Fast e Business Objects capace di colmare il vuoto tra com- Inoltre, quando la costante crescita
insieme per la business prensione del problema e azione delle esigenze di backup e memo-
intelligence correttiva. rizzazione dei dati possa non essere
soddisfatta con efficacia dalle unità a
Fast Search & Transfer™ (OSEAX: L’analisi dei dati non strutturati, nastro standalone, Sony propone una
FAST.OL) (FAST™), azienda leader l’estrazione dei metadati e le con- gamma di prodotti automatizzati,
nello sviluppo di tecnologie e so- seguenti operazioni di matching, dotati di capacità e livelli di presta-
luzioni per l’enterprise search, an- accorpamento e pulizia dei diversi zioni diversi, grazie ai quali non è più
nuncia una partnership con Business repository dei dati strutturati, è in necessario sostituire manualmente
Objects, azienda di riferimento nel grado di offrire nuove fonti di anali- le cartucce a nastro. Le soluzioni di
mercato della business intelligence si per la comprensione delle dinami- automazione su nastro Sony (auto-
(BI). Fast, inoltre, sarà parte attiva che aziendali. Business Objects Data loader) offrono un’elevata capacità
nella Business Objects Open Search Integrator, che offre funzionalità di di memorizzazione, in uno spazio
Initiative (OSI), che ha come scopo accesso alle banche dati strutturate, ridotto e a un prezzo accessibile.

52 VBJ N. 73 - Gennaio/Febbraio 2007


DATABASE

La Top 10 degli
attacchi ai database
di Amichai Schulman, CTO, Imperva

Le infrastrutture dei database aziendali, che 2. Abuso dei privilegi


spesso custodiscono i “gioielli della Corona” di Gli utenti possono abusare di
un’organizzazione, sono soggette ad un ampio legittimi privilegi di accesso
range di possibili attacchi. I più critici di questi per scopi non autorizzati.
sono elencati di seguito, seguiti da consigli per Per esempio, un utente con
attenuare il rischio di ognuno di essi. privilegi di accesso a record
di singoli pazienti attraverso
1. Privilegi eccessivi un’applicazione client sanita-
Quando gli utenti (o le applicazioni) riescono ad ria può richiamare i record di
ottenere privilegi di accesso ai database che ec- tutti i pazienti attraverso un
cedono quelli necessari alle loro funzioni, posso- client MS-Excel.
no usarli per accedere ad informazioni riservate. La soluzione consiste in
Per esempio, un amministratore universitario il politiche di controllo degli
cui compito richiede un accesso a sola lettura ai accessi che si applicano non
record degli studenti, può indebitamente usare i solo a quali dati è possibile
propri privilegi eccessivi per cambiare i voti. accedere, ma anche al come.
La soluzione a questo problema (al di là di buone Rafforzando le politiche per
pratiche di reclutamento) è un controllo di ac- ora del giorno, postazione, ap-
cesso a livello di query. Tale controllo restringe i plicazione client e volumi di
privilegi al minimo indispensabile. La maggior dati ricercati, è possibile iden-
parte delle piattaforme native di database offre tificare gli utenti che abusano
questo tipo di possibilità (trigger, RLS...), ma il dei loro privilegi.
disegno manuale di questi strumenti li rende
impraticabili in tutte le implementazioni tranne 3. Aumento non autorizzato
quelle più modeste. dei privilegi
Chi attacca può trarre van-
taggio da vulnerabilità nel
software di gestione di data-
Amichai Schulman è cofondatore e CTO di Imperva, società
di sviluppo di prodotti per la sicurezza e la conformità di
base per convertire privilegi
database e applicazioni web. di accesso di basso livello in
quelli di livelli superiori. Per

54 VBJ N. 73 - Gennaio/Febbraio 2007


DATABASE

esempio, un attaccante potrebbe sfruttare – ad esempio, sviluppatori o amministrato-


una vulnerabilità di buffer overflow per ri di database possono “spegnere” l'audit.
accedere a privilegi amministrativi. La maggior parte delle soluzioni di audit
La possibilità di aumento dei privilegi DBMS inoltre manca della necessaria gra-
può essere evitata con una combinazione nularità. Per esempio, i prodotti DBMS ra-
di controllo di accesso a livello di query e ramente scrivono nei log quali applicazioni
sistemi tradizionali di prevenzione intru- sono state usate per accedere ai database,
sioni (IPS). Il controllo di accesso a livello l’indirizzo IP sorgente e le query fallite.
di query può individuare un utente che Gli apparecchi di audit basati sulla rete
improvvisamente utilizza un’operazione sono una buona soluzione. Tali apparecchi
SQL insolita, mentre un IPS può identifi- non dovrebbero avere alcun impatto sulle
care una specifica minaccia documentata performance del database, operano indi-
all’interno dell’operazione. pendentemente dagli utenti e offrono una
memorizzazione dei dati granulare.
4. Vulnerabilità della piattaforma
Le vulnerabilità nei sottostanti sistemi 7. Denial of Service
operativi possono portare ad accessi non L’attacco “Denial of service” (DoS) può
autorizzati e corruzione dei dati. Per esem- essere attuato attraverso varie tecniche.
pio, il worm Blaster sfruttò una vulnerabi- Quelle più comuni includono buffer over-
lità di Windows 2000 per far crollare i ser- flow, corruzione di dati, flooding della rete
ver presi di mira. Gli strumenti IPS sono e saturazione di risorse. Quest’ultima è
ottimi per identificare e bloccare attacchi specifica per l’ambiente database e fre-
fatti apposta per sfruttare vulnerabilità quentemente trascurata.
note delle piattaforme database. La prevenzione contro il DoS dovrebbe
essere praticata a livelli diversi, compren-
5. Iniezione SQL dendo la rete, le applicazioni e i database.
Gli attacchi tramite iniezione di codice Le raccomandazioni relative ai database
SQL riguardano utenti che vogliono sfrut- riguardano l’implementazione di IPS e il
tare vulnerabilità nelle applicazioni web controllo della velocità della connessione.
front-end e le stored procedure per ge- Aprendo rapidamente un grande numero
nerare query non autorizzate, spesso con di connessioni, i controlli sulla velocità del-
privilegi elevati. Usando l’iniezione SQL, la rete possono impedire ad utenti singoli
gli attaccanti potrebbero persino ottenere di saturare le risorse del database server.
accesso incondizionato all’intero database.
Il controllo di accesso a livello di query 8. Vulnerabilità del protocollo
identifica query non autorizzate generate database
tramite applicazioni web e stored proce- Le vulnerabilità nel protocollo database
dure. possono permettere accesso, corruzione
e disponibilità di dati non autorizzati. Per
6. Audit debole esempio, il worm SQL Slammer sfruttò la
Una politica di audit debole rappresenta vulnerabilità di un server Microsoft SQL
un rischio in termini di conformità, deter- Server per eseguire codice di attacco su
renza, individuazione, valutazione legale e specifici server database.
recupero dati. Attacchi sui protocolli possono essere
Sfortunatamente, le capacità di audit dei sconfitti con il parsing e la validazione
DBMS nativi portano ad un degrado inac- delle comunicazioni SQL in modo da as-
cettabile delle prestazioni e sono soggette sicurarsi che esse non siano malformate
ad attacchi legati al livello dei privilegi appositamente.

N. 73 - Gennaio/Febbraio 2007 VBJ 55


DATABASE

9. Autenticazione debole di produzione on-line è una soluzione inade-


Gli schemi di autenticazione debole per- guata per i controlli di diritto granulari.
mettono agli attaccanti di assumere l’iden-
tità di utenti legittimi del database. Le Conclusioni
strategie specifiche dell’attacco includono Sebbene i database e i loro contenuti siano vul-
il brute force, il social engineering, ecc. nerabili a minacce interne ed esterne, è possi-
La predisposizione di password o di auten- bile ridurre gli esiti degli attacchi ai minimi
ticazione a due livelli è obbligatoria. Per termini. Gestendo queste minacce, ci si ade-
facilitare la scalabilità e la facilità d’uso, i guerà allo standard delle aziende mondiali.
meccanismi di autenticazione dovrebbero
essere integrati con infrastrutture azienda-
li di gestione delle directory e degli utenti. Riquadro 1 IMPERVA

10. Esposizione di dati di backup Imperva è espositore a Infosecurity Europe


Alcuni recenti attacchi di alto profilo han- 2007, il principale evento europeo dedica-
no comportato il furto di nastri e hard-disk to all’Information Security. Giunta alla 12a
contenenti dati di backup. edizione, l’esposizione continua a fornire
Tutti i backup dovrebbero essere crittografa- prodotti e servizi, oltre 300 espositori e
ti. In linea con questo suggerimento, alcuni 11.600 visitatori da ogni segmento dell’in-
dustria. Si tiene dal 24 al 26 aprile al Grand
produttori hanno suggerito che i futuri pro-
Hall, Olympia (Londra). Per informazioni:
dotti per database potrebbero non supporta- www.infosec.co.uk.
re la creazione di backup non crittografati.
La crittografia di informazioni di database

56 VBJ N. 73 - Gennaio/Febbraio 2007


REPORTAGE

Soluzioni
Symantec 2007
Symantec conferma il suo impegno nel settore della sicurezza,
con strumenti che rispondono alle più recenti esigenze, anche
in termini di usabilità

di Gionata Aladino Canova

S
ymantec ha presentato la nuova serie neutralizza automaticamente
dei prodotti, per il 2007, in una cornice di le minacce della rete senza
tutta sicurezza. Infatti, a Vairano, la mat- costringere l’utente a prende-
tina sono state illustrate le risposte di Symantec re decisioni difficili in merito
alle esigenze sempre più pressanti di sicurezza, alla sua sicurezza. Symantec
particolarmente relative ad Internet, mentre il non si è limitata a migliorare
pomeriggio abbiamo partecipato ad un corso di la tecnologia di queste solu-
guida sicura, che ci ha permesso di tornare sani zioni, ma ha potenziato anche
e salvi a casa, per scrivere l’articolo. le performance di tutte le fun-
La presentazione è stata curata da Ed Kim, zionalità di questi prodotti,
Product Management, Consumer Products Di- dal tempo di caricamento ini-
vision Symantec Corporation. Il suo discorso in ziale alla scansione completa
sintesi: del sistema.”
“Oggi è sempre più raro che si verifichino gravi
e diffuse epidemie di virus, mentre si registra un La linea di prodotti è stata
aumento di attacchi multipli, più subdoli e fre- snellita per facilitare l’utente
quenti, spesso guidati da motivi di lucro. A que- nella scelta dei medesimi, è
sta tendenza, Symantec ha risposto sviluppando stata curata l’usabilità con
nuove e sofisticate funzionalità di sicurezza per un lavoro di restyling delle
permettere agli utenti di continuare a svolgere interfacce e sono state messe
le attività online in totale tranquillità e per assi- in atto misure contro le più
curare una protezione avanzata che identifica e recenti tipologie di minacce.
Un notevole sforzo è stato
impiegato nel migliorare l’im-
patto sulle prestazioni del PC
a causa dell’installazione del-
Gionata Aladino Canova programma dai bei tempi del Sinclair l’antivirus o di NIS. Secondo
Spectrum. Laureato in Informatica, è titolare della Aladino i dati proposti da Symantec,
Informatica e socio di TDE Informatica srl. Sviluppa con Mi- i nuovi Norton hanno un’ef-
crosoft Access, VB.NET e realizza siti in ASP/ASP .NET. Può
essere contattato a g.canova@tdeinformatica.it ficienza superiore alla media
della concorrenza ed alle

58 VBJ N. 73 - Gennaio/Febbraio 2007


REPORTAGE

Figura 1 Flessibilità dell’offerta Norton

versioni precedenti; la scansione in tempo il Norton Antivirus. Per l’utente che naviga
reale dei file non produce più il fastidioso parecchio, o che comunque desidera una
dilatamento dei tempi di risposta nell’uso maggiore sicurezza, il pacchetto consiglia-
di Windows. to è il Norton Internet Security nel quale,
in aggiunta all’antivirus, troviamo tutta
Norton AntiVirus 2007 è la soluzione che una serie di funzionalità per la protezione
fornisce una protezione avanzata da virus, da accessi indesiderati e per la protezione
spyware e rischi correlati; mentre Norton da frodi informatiche, come i siti fasulli.
Internet Security 2007 è la suite per la La soluzione completa ma non ancora di-
sicurezza che, oltre alla protezione anti- sponibile, il Norton 360, include le funzioni
virus e anti-spyware di Norton AntiVirus, del vecchio SystemWorks, per l’ottimizza-
salvaguarda dai pericoli online più recenti zione del PC e le procedure per il backup
attraverso una nuova e sofisticata tecnolo- dei dati.
gia anti-phishing, un firewall potenziato e
strumenti di difesa dalle vulnerabilità del
software. Norton 360, che non è ancora
disponibile, integrerà le funzioni per l’ot-
timizzazione del PC ed il salvataggio dei
Norton Internet Security
dati. unisce alle certezze delle
black list delle tecniche
Meno prodotti
Nel tempo, la gamma dei prodotti Syman- euristiche
tec si è costantemente ampliata, grazie
anche all’acquisizione di prodotti di terze
parti. Si sono anche create sovrapposizioni
di programmi con funzioni simili, provo- Le nuove minacce e le tecniche per
cando confusione nell’utente che deve sce- difendersi
glierne uno. Symantec ha così creato una Per diversi anni, la tipologia delle minac-
linea di prodotti completamente nuova, ce era piuttosto standard e si assisteva di
come si vede in Figura 1, semplificando la anno in anno ad un aumento pressoché co-
scelta per l’utente finale. Il prodotto base è stante del numero dei virus, ma con poche

N. 73 - Gennaio/Febbraio 2007 59
REPORTAGE

varianti sul tema. Da qualche anno, invece, ormai da tempo dei “compilatori” di virus,
si assiste ad un’evoluzione rapida non solo che consentono di creare velocemente va-
della qualità delle minacce, ma anche del rianti dei codici maligni esistenti anziché
tipo delle stesse e, infine, dei motivi per cui svilupparne di nuovi, ossia permettono
un PC viene attaccato. di creare un nuovo virus anche a gente
Sul fronte dei virus, da quando è nato il inesperta. Programmare un virus da zero
problema è stata una continua rincorsa tra richiede conoscenze notevoli, mentre usare
l’offesa e la difesa. In principio ci si affidava certi tool è alla portata di qualsiasi smanet-
a delle signature, ossia a delle stringhe che tone. Può succedere che ci sia un’invasione
identificavano del codice malevolo all’inter- di virus dalle caratteristiche simili, ma di-
no di un file o di una certa zona di memoria versi l’uno dall’altro per quanto riguarda la
o del disco. Tecnica in uso ancora oggi. Il stringa di identificazione.
problema sta nel fatto che, per riconoscere In risposta a questa tendenza, Norton
una minaccia tramite questa tecnica, essa AntiVirus 2007 fornisce agli utenti una
deve essere stata analizzata in laboratorio, tecnologia rinnovata e potenziata, in grado
aver isolato un sistema per riconoscerla ed di bloccare gli attacchi d’intere famiglie di
aver aggiornato l’antivirus. Oltre all’effetto worm e di virus senza richiedere un aggior-
finestra che intercorre tra la prima presen- namento per ogni nuova minaccia.
tazione della minaccia e la distribuzione
dell’aggiornamento dell’antivirus, esiste un Facciamo un altro esempio. Il phishing è
problema più grande. Su internet esistono quel fenomeno per cui un sito appare per

Figura 2 La nuova interfaccia grafica: pulita ed essenziale

60 VBJ N. 73 - Gennaio/Febbraio 2007


REPORTAGE

quello che non è, ossia voi pensate di es- Come descritto più avanti, Norton Internet
sere sul sito della vostra banca ed invece Security unisce alle certezze delle black
siete su un sito sostanzialmente identico list delle tecniche euristiche con le quali
di qualche pirata informatico che, con analizza un sito e tenta di capire se si tratti
questo stratagemma, potrebbe carpirvi le di un sito regolare o meno.
credenziali per accedere al vostro account
in banca. Norton Antivirus 2007
Al primo avvio di tutta la nuova serie di
prodotti, si nota la pesante revisione del-
l’interfaccia a cui sono stati sottoposti, in
Per usare un’immagine modo da renderne più intuitivo possibile
pittoresca, il NIS analizza il l’uso. Le informazioni presentate sono
ridotte all’essenziale, come si vede in Fi-
DNA del sito alla ricerca di gura 2. Le operazioni più importanti sono
segnali di allarme disponibili con un click ed in ogni masche-
ra l’attenzione è posta sulle informazioni
importanti. La visualizzazione della cro-
nologia degli eventi, ad esempio, è stata
Una soluzione consiste nell’elencare tutti i anch’essa ripulita e semplificata, come si
siti sicuri (white list) o, alternativamente, vede in Figura 3.
quelli non sicuri (black list). Ma ricadiamo Norton AntiVirus è inoltre stato potenziato
nei problemi detti sopra, ossia l’effetto fi- con l’integrazione di una soluzione in gra-
nestra che intercorre dalla identificazione do di rilevare nuove tipologie di virus che
di un sito e l’aggiornamento della lista. sfruttano i rootkit per non essere rilevate

Figura 3 La cronologia degli eventi: una schermata di facile lettura

N. 73 - Gennaio/Febbraio 2007 61
REPORTAGE

Figura 4 La nuova modalità di scansione in background

dai software per la sicurezza. Questa tec- dalità, come mostrato in Figura 4.
nologia brevettata individua le minacce Per l’aggiornamento dei propri prodotti,
nascoste a tutti i livelli del sistema, com- Symantec utilizza una rete di 40.000 senso-
prendendo le applicazioni, le impostazioni ri che monitorizzano l’attività di rete in più
dell’utente e il livello kernel. In pratica, tra di 180 nazioni, riportando attività anomale
le altre cose, accede direttamente al disco di spyware e adware, da più di 120 milioni
fisso, scavalcando la gestione del File Sy- di client, server e sistemi gateway.
stem di Windows.
Inoltre, viene rilevato e bloccato il traffi- Norton Internet Security
co anomalo, tipico nel caso degli attacchi Il nuovo Norton Internet Security 2007 è
Denial of Service e, comunque, sintomo stato progettato per proteggere dal cre-
evidente di un attacco. scente numero di minacce sofisticate che
Norton AntiVirus è stato ridisegnato per mirano a rubare informazioni personali.
aumentare la velocità di risposta dell’inter- Oltre alle funzionalità di Norton AntiVirus
faccia grafica ed avere, così, un minor im- 2007, che fa parte del pacchetto, ne offre
patto sull’usabilità del computer. Dispone altre, mirate a bloccare gli aggressori e i
inoltre di una nuova modalità di scansione contenuti on-line intrusivi e indesiderati;
in background, che riduce drasticamente inoltre aiuta a nascondere il computer agli
l’impatto sulle prestazioni del PC; eseguen- hacker ed è progettato per impedire la tra-
do una scansione del sistema e riducendo smissione di informazioni riservate senza
ad icona la finestra che si presenta, Norton autorizzazione.
ci chiede se vogliamo attivare questa mo- NIS controlla ogni indirizzo URL visitato

62 VBJ N. 73 - Gennaio/Febbraio 2007


REPORTAGE

Figura 5 Navigare in sicurezza con l’analisi al volo dei siti effettuata da NIS

in base a una lista nera globale di siti Web sorgente della pagina visitata, ancora una
noti per il furto di dati personali. Oltre a volta alla ricerca di possibili minacce. Per
ciò viene impiegata una tecnologia euristi- usare un’immagine pittoresca, il NIS ana-
ca avanzata per evitare che l’utente visiti lizza il DNA del sito alla ricerca di segnali
pagine fraudolente: la cosiddetta prote- di allarme.
zione “zero-hour” da siti di phishing noti Il NIS blocca automaticamente programmi
e sconosciuti. Grazie a questa innovativa come i keystroke loggers, applicazioni in
tecnologia, l’utente è protetto anche nel grado di rilevare i tasti premuti, e i Trojan,
caso in cui dovesse essere il primo visita- volti a sottrarre password ed altri dati ri-
tore di un sito fraudolento. La protezione servati.
da phishing aggiunge una barra degli
strumenti in Internet Explorer, visibile in La funzionalità di Intrusion Prevention
Figura 5 e 6, che fornisce informazioni su presente in Norton Internet Security 2007
ogni pagina Web visitata. offre una protezione completa dalle vulne-
L’icona del computer verde indica che non rabilità nel sistema operativo Windows e
è stata rilevata nessuna minaccia all’inter- in altre applicazioni diffuse. Questi vuoti
no del computer, come programmi spyware di sicurezza possono essere colmati da
o keylogger, ad esempio. L’icona del globo Norton Internet Security molto più veloce-
indica, in generale, la sicurezza del sito, mente di quanto non impieghi un produt-
tramite diversi tipi di analisi. Symantec tore ad emettere una patch per risolvere il
manutiene una lista di siti fraudolenti, e problema.
questo è il primo controllo che viene fat-
to. Vengono effettuati controlli euristici Norton Internet Security 2007 è studiato
sulle caratteristiche del sito come l’url ed per funzionare con i dispositivi di rete
il layout, per capire se si possa trattare di domestiche più diffusi, integrandone le
un falso. Infine viene analizzato il codice funzionalità di sicurezza per fornire un

N. 73 - Gennaio/Febbraio 2007 63
REPORTAGE

livello di protezione ancora più elevato. condizione si ha con un firewall hardware


Inoltre, una componente potenziata di rile- manutenuto da una società che si occupa
vamento in rete fornisce automaticamente di sicurezza. Gli aggiornamenti sono ga-
all’utente policy di sicurezza specifiche per rantiti, il firewall “fa” solo il firewall e non
tutte le reti a cui si collega, differenziando fa parte di un sistema più complesso, ma
i blocchi ed i permessi a seconda del tipo soprattutto si ha la certezza che sia ben
di rete. Essere collegati da casa espone a configurato. I firewall software hanno sem-
rischi diversi che essere connessi a reti pre intimidito o annoiato l’utente comune
pubbliche. con le continue domande su cosa un certo
programma possa o non possa fare. Per cui,
tanti utenti, alla fine lo hanno disattivato e,
forse, ancora pù utenti lo hanno attivo ma
Il firewall è uno strumento configurato male.
importante: perché sia Symantec ha lavorato molto su questo
problema, ottenendo un prodotto che non
efficace, deve essere ben chiede quasi nulla. Infatti, tramite Control-
configurato e, quindi, facile lo automatico programmi, vengono confi-
gurate automaticamente le impostazioni
da utilizzare di accesso ad internet per i programmi,
la prima volta che tentano di accedere ad
internet. Ovviamente il tutto funziona gra-
Norton Firewall zie ad una lista di programmi riconosciuti
Un discorso a parte merita il Norton sicuri da Symantec, lista che viene aggior-
Firewall, incluso nel NIS (e ovviamente, nata costantemente tramite Liveupdate.
nel 360). Il firewall è uno strumento impor- Il firewall può essere configurato manual-
tante, oggi fondamentale per la sicurezza. mente per i programmi non riconosciuti,
Ma perché sia efficace, deve essere ben oppure, abbandonando gli automatismi,
configurato. E per essere ben configurato, essere gestito anche completamente a
deve essere facile da utilizzare. La migliore mano.

Figura 6

64 VBJ N. 73 - Gennaio/Febbraio 2007


REPORTAGE

Conclusioni Norton 360 e McAfee con il progetto Fal-


Sul fronte delle prestazioni, si vedono con, attualmente in lavorazione. L’obiet-
effettivamente miglioramenti nei tem- tivo di tutte queste soluzioni non è quel-
pi di risposta dell’interfaccia, anche se, lo di una semplice difesa del computer
ovviamente, un sistema senza antivirus dai virus ma una più ampia tutela del
resta decisamente più veloce. Il collo di sistema con aggiornamenti e funzioni di
bottiglia maggiore sembra essere l’hard firewall compresi. Symantec ha pubbli-
disk, ma il test è stato effettuato su un cato un comunicato ufficiale con il quale
portatile e, è noto, gli hard disk dei por- presenta il progetto ed anticipa le novità
tatili sono sensibilmente più lenti degli apportate.
hard disk di un sistema fisso. Un cenno a Norton Confidential, come
I prodotti recensiti sono tutti disponibili prodotto separato, le cui funzioni sono
sul mercato, ad eccezione di Norton 360 incluse nel NIS poiché è disponibile an-
(precedentemente battezzato “Genesis”) che per Macintosh, visto che la sicurezza
che era annunciato per fine 2006, ma ora nella navigazione prescinde dal sistema
già si è spostato il tutto al Marzo 2007 e la operativo utilizzato.
scadenza non sembra essere definitiva.
In questo settore si sta sviluppando una Riferimenti
forte concorrenza con Microsoft e la sua [1]_Microsoft_OneCare_–_http://
soluzione OneCare [1], Symantec con www.windowsonecare.com

N. 73 - Gennaio/Febbraio 2007 65