.NET Security Day a Lugano il 15 marzo 2005

Il titolo esatto è .NET Security Day – Sicurezza del codice ed è un evento (gratuito) che io e Paolo Pialorsi terremo a Lugano il 15 marzo 2005.


L’evento è organizzato da DevLeap insieme al centro di formazione IBM di Lugano ed è aperto a tutti: insomma, se volete fare una gita in Svizzera avete la scusa buona. D’altra parte, quale posto migliore per trovare persone molto sensibili a questi discorsi?


Come saprete è da un anno ormai che io e Paolo ci occupiamo di divulgare aspetti legati alla scrittura di codice sicuro. In questa occasione, oltre ai concetti generali che già abbiamo toccato durante il roadshow dello scorso anno, abbiamo in più una sessione su come sviluppare senza essere amministratori e una parte completamente dedicata alla gestione delle transazioni economiche via Internet.


Approfitto dell’occasione anche per evidenziare come la sfida che Paolo ha lanciato due mesi fa sul suo blog non è stata raccolta. Eppure le implementazioni dei sistemi di pagamento esistenti non sono sempre così sicure e affidabili. Non tanto per il consumatore finale, quanto per l’esercente o addirittura per l’intermediario finanziario! Beh, in questa sede ci sarà modo di capire quali sono delle strade architetturali e tecnologiche corrette da seguire.


So che ci sono già molte adesioni (e non è una frase marketing: evidentemente il luogo comune Svizzera = Banche = Riservatezza = Sicurezza ha un fondamento) ma dovrebbe esserci ancora posto per qualcuno. Lugano è a un’ora di macchina da Milano e (per ora) non ci sono targhe alterne… 🙂

Visual Studio Team System: evento a Milano

Tra pochi giorni a Milano Silvano Coriani sarà tra gli speaker di un evento dedicato a chi si occupa di progettare soluzioni software e a chi gestisce team d sviluppo. Si tratta del Visual Studio Team System Day e si terrà presso la sede Microsoft di Segrate il 7 marzo.


I relatori saranno anche Rick LaPlante e Ajay Sudan, che in Microsoft (a Redmond) si occupano di queste tematiche.


Tutte le informazioni per partecipare all’evento (gratuito, ma bisogna iscriversi) sono qui: http://www.microsoft.com/italy/adv/msdn/teamsystem/default.htm

Sicurezza, runas, savecred e smart card

Chi usa il computer come utente non amministratore (ormai dovrebbe farlo chiunque, ma so che non è così…) sa certamente quanto sia importante l’uso di RUNAS per eseguire un processo in modalità amministrativa (per esempio è indispensabile per usare utility come FileMon e RegMon).


Se ci si ritrova a dover fare spesso RUNAS, può non essere sicuro digitare in continuazione una password associata a un utente amministratore: se non siete sempre da soli nella stanza, qualche occhio indiscreto potrebbe approfittarsene. Per diminuire questo rischio e per aumentare la comodità di esecuzione di queste utility, si può usare l’opzione /SAVECRED di RUNAS. La password inserita verrà automaticamente recuperata alle esecuzioni successive con gli stessi parametri (/SAVECRED e /USER). Tale password non è immediatamente recuperabile (criptazione con una tecnica immagino simile a DPAPI) però si apre un altro problema: qualsiasi esecuzione di RUNAS (per qualsiasi altro processo) potrà sfruttare tali credenzali. Uno script maligno potrebbe per lo meno provarci.


Quindi:



  1. Evitate di usare /SAVECRED in RUNAS
  2. Se proprio volete usare tale opzione, cambiate assolutamente il nome dell’utente amministratore. Se lasciate “Admin” o “Administrator”, significa che ve la siete andata a cercare….

Una soluzione decisamente migliore è invece quella di passare alle smart card, richiedendo comunque il PIN all’utente interattivo. Per quanto scomodo possa essere, chiedere l’interazione dell’utente prima di una qualsiasi azione amministrativa è indispensabile per garantire un certo livello di sicurezza.


Sarebbe però comodo avere un RUNAS che funzioni con credenziali specifiche per il processo che si intende lanciare, così che uno non possa riciclare le credenziali salvate per FileMon al fine di installare qualche porcheria sul PC dell’ignaro utente.


Per chi vuole approfondire l’argomento consiglio la lettura di questo post di Dana Epp in cui si parla del problema di usare /SAVECRED e questo post da un newsgroup in cui si spiega come eliminare le credenziali salvate da /SAVECRED.


UPDATE: Alessandro Perilli mi ha segnalato l’esistenza di un tool, RunAs Professional, che alla modica cifra di 10$ fornisce le funzionalità di RunAs che desidero. Lo proverò al più presto.

Panoramica su prodotti di Business Intelligence

Per avere una panoramica sui prodotti di Business Intelligence che il mercato offre, questa matrice realizzata da John Keeley riassume i principali prodotti disponibili divisi per produttore e per tipologia di applicazioni coperte. Sullo stesso sito si trovano anche diversi articoli, tra cui un riassunto dei front-end per Analysis Services e degli add-in per Excel (in questo caso l’articolo è un po’ vecchio e non include l’add-in di Microsoft, che è gratuito ma anche più limitato rispetto ad altri prodotti specifici).

Sicurezza e relazioni causa-effetto

Ho appena letto un post di Alessandro Perilli che discute di come viene percepita la sicurezza rispetto ai prodotti Microsoft, facendo un riferimento specifico al mercato italiano.


Credo sia la prima volta in cui mi trovo a riflettere sulle relazioni di causa-effetto che una certa opera di formazione di base porta ad avere nei confronti dei prodotti di alcune aziende. Senza ripetere concetti che Alessandro espone, mi colpisce l’idea che potrebbe essere più importante operare in direzione di persone considerate, nel loro mondo, come degli opinion-maker, piuttosto che agire con operazioni che privilegiano la quantità alla selezione dei destinatari cui è diretto un messaggio. Personalmente ho una visione limitata della situazione (gli sviluppatori, purtroppo, sono un pubblico ancora marginale per questi discorsi) e ho la sensazione che certi pregiudizi di fondo abbiano radici ancora più profonde rispetto alla mancanza di una diffusione di conoscenza complementare allo strumento fornito.


Però è un argomento interessante. Come interessante sarebbe leggere qualche blog sull’argomento di persone di Microsoft che non siano solo al di là dell’oceano. Se avete segnalazioni da fare, i commenti sono aperti.

Corso su SharePoint

Il 28 febbraio a Bologna si terrà un corso di 3 giorni su SharePoint tenuto da Paolo Pialorsi e Igor Macori. Mancano pochi giorni, ci sono ancora posti disponibili e siccome non ne avevo ancora parlato nel mio blog questa è l’occasione per farlo.


Si tratta di un’opportunità molto interessante per chi sta muovendo i primi passi su SharePoint o per chi non ha ancora acquisito la completa padronanza di tutti i servizi che questa piattaforma offre anche in termini di opportunità di sviluppo e personalizzazione. Tutte le informazioni seguendo questo link.

I linguaggi per le prossime generazioni

Don Box si preoccupa di scegliere un linguaggio da insegnare ai suoi figli: il suo obiettivo è evitare che diventino programmatori (per lo meno come attività principale) ma allo stesso tempo evitare che restino ignoranti di cosa c’è dietro un programma (e forse vuole anche fargli capire meglio cosa fa suo padre per vivere.


Lascio ai curiosi vedere quali sono i linguaggi oggetto della scelta, ma fa impressione leggere queste parole scritte proprio da Don Box: I don’t care if any of my three kids ever grok the difference between an abstract class and an interface or between a pointer and a reference […]. Honestly, if the industry is still forcing programmers to ask these kinds of questions by the time the next generation of programmers comes to the table, I’ll consider my generation to have really squandered an opportunity.


Ecco quindi la domanda: quale saranno i linguaggi delle prossime generazioni? Anche se studiare nuovi linguaggi è un argomento che mi faceva riflettere pochi giorni fa, è un dato di fatto che milioni di programmatori continuano a scrivere codice COBOL senza preoccuparsi di valutare delle alternative. Io credo (o meglio spero) che non appenderò la tastiera al chiodo con C#…

PivotTable su PocketPC

Questa mi mancava: PocketAnalytix è un’applicazione per PocketPC che consente di navigare in un cubo di Analysis Services. In realtà fa parte di un set di prodotti più ampio, ma resta comunque un fatto interessante. L’unico scenario applicativo che mi viene in mente è la riunione in cui (per vari motivi) non si ha il notebook ma si ripiega su un PocketPC e si vogliono vedere dei numeri aggiornati. Come al solito il problema in questi casi è la banda (se uno viaggia in UMTS/GPRS) ma credo di aver capito che le viste definite sul desktop riducano anche il traffico.


Purtroppo, niente prezzi sul sito. Di solito questo non è un buon segnale…


Grazie a Moshua Pasumansky per la segnalazione.

Un linguaggio non va giudicato dal nome

Se dovessimo giudicare un linguaggio in base al nome, Boo non partirebbe molto bene. Ma guardando il manifesto si capisce che ci sono alcuni aspetti molto interessanti per chi vuole essere pragmatico e non troppo idealista. Si tratta di un linguaggio derivato in parte da Python ma pensato espressamente per il .NET Framework, con queste caratteristiche principali:



  • Sintassi “libera” ma linguaggio tipizzato

  • Inferenza dei tipi a go-go

  • Quando serve (per fare Interop) si usano variabili non tipizzate (che in realtà hanno come tipo duck) che corrispondono agli object di VB.NET usati in Strict Option Off

  • Controlli automatici sugli argomenti di un metodo

  • Proprietà scritte come si deve (in C++/CLI ci sono arrivati ma perché non le abbiamo in C#?)

  • Macro (con cui hanno implementato la using – lasciatemelo dire, questo è geniale, se ci fosse un supporto totale da parte di IDE e compilatore e IntelliSense sarebbe il modo migliore per favorire l’adozione di pattern di programmazione corretti)

  • Estendibilità del compilatore: se ci fosse in C# potremmo avere FxCop integrato nel compilatore, e non solo nell’IDE

Che dire? Non so se è il linguaggio giusto per seguire uno dei miei buoni propositi per il 2005 (sicuri che qualcuno lo userà ancora tra un paio d’anni?) però oggettivamente potrebbe rivelarsi un linguaggio ad altissima produttività per fare piccoli tool e utility (che all’interno di un progetto ampio servono sempre). Un grazie ad Alessandro Perilli per la preziosa segnalazione.

Don’t panic!

Post poco tecnico ma credo di interesse generale per chi legge un blog come questo.


L’anno scorso mi è capitato di parlare del significato del numero 42 usato come esempio in molti libri, tecnici e non (ma soprattutto tecnici). Ora Matteo Fogli mi ha ricordato che il film sta per uscire!


Spero veramente che non abbiano tradito lo spirito del libro. I trailer promettono bene. Il sito ufficiale ha un piccolo spot ma qualche immagine del film è visibile in un nuovo trailer su Amazon. Di solito è difficile che i film possano rendere quanto un ottimo libro da cui sono tratti, speriamo che questa sia un’eccezione!


Ora, quello che veramente mi manca è un film (o una serie?) sulla Fondazione di Asimov (in particolare la trilogia iniziale). Il problema, ovviamente, è il regista. Kubrick avrebbe potuto farlo, ma ci avrebbe messo un secolo e ahimé non può più farlo. Tarantino è troppo giovane. Spielberg troppo poco visionario. Ridley Scott ha già dato per il genere (Blade Runner). Scorsese? Lynch? Wenders?


Sarebbe un filmone, costerebbe una montagna di soldi, meriterebbe un cast degno e richiederebbe un regista capace di cogliere tutti gli aspetti. David Fincher credo avrebbe il potenziale. Ma è un lavoro a cui uno dovrebbe dedicare diversi anni e al momento non so se qualcuno abbia anche solo pensato a una sceneggiatura.


Ok, per adesso aspettiamo di vedere questo film e… don’t panic! 🙂