Microsoft: come sviluppare sicuro sotto .NET

.NET è una piattaforma sicura, dice Microsoft, ma richiede anche una maggiore responsabilità da parte di chi sviluppa codice. Un documento ne spiega i motivi e indica la via della security secondo Redmond

Microsoft: come sviluppare sicuro sotto .NETRedmond (USA) - Bill Gates sostiene di aver messo la sicurezza al primo posto nelle priorità di Microsoft, dunque non stupisce che uno dei primi documenti tecnici rilasciati su MSDN insieme alle versioni finali di Visual Basic .NET e .NET Framework riguardi proprio questo tema. Ma per ben recitare questa parolina magica, "sicurezza", Microsoft chiede l'aiuto degli sviluppatori.

Nel documento, intitolato "Security Concerns for Visual Basic .NET and Visual C# .NET Programmers", Microsoft sostiene che il suo nuovo ambiente di sviluppo e l'infrastruttura .NET dispongono di strumenti di sicurezza più efficienti e sofisticati rispetto al passato, strumenti che a suo dire possono funzionare al meglio solo se gli sviluppatori si dimostreranno più responsabili nella stesura del codice.

"Microsoft Visual Studio .NET - si legge nel documento - vi fornisce un maggiore controllo sulla sicurezza delle applicazioni in esecuzione rispetto alle precedenti versioni di Visual Studio. Sebbene il .NET Framework fornisca maggiore controllo, esso richiede anche una maggiore responsabilità, da parte vostra, nel programmare. Ci sono problemi di sicurezza che dovete prendere in considerazione prima di creare applicazioni amichevoli e usabili per i vostri utenti".
Microsoft raccomanda ai propri sviluppatori di prendere in considerazione, nello sviluppo delle applicazioni .NET, la possibilità che un utente neghi alcuni privilegi al programma - ed in tal caso questo dovrebbe saper "rispondere in modo cortese ai dinieghi".

"Si deve prevenire che gli utenti che accedono alle vostre applicazioni Web dai vostri server Web - esorta Microsoft nel suo documento - possano far girare codice malizioso o dati corrotti sui vostri server". E, ancora, Microsoft avverte che "il modo in cui configurate Visual Studio può lasciare i vostri server sotto il rischio più o meno grave di essere attaccati da codice intrusivo".

Descrivendo le zone di sicurezza in cui gli applicativi possono girare, Microsoft raccomanda poi di testare i propri programmi in ambienti diversi, come ad esempio una intranet o Internet.

Nello sviluppo di applicazioni per il Web, Microsoft suggerisce agli sviluppatori di proteggere i propri server da codici aggressivi e dati corrotti attraverso alcune accortezze come la verifica dell'identità degli utenti che accedono al server, l'attenta configurazione delle risorse a disposizione di ogni utente e la disattivazione, quando possibile, del "Dynamic Discovery": questa è una funzionalità che, permettendo agli utenti di localizzare i servizi Web che girano su di un server e di chiamarne i metodi, è ritenuta potenzialmente pericolosa per un server che non ne abbia stretta necessità.

Il documento dedica poi diversi paragrafi alle funzioni e ai processi di autenticazione e identificazione, ai privilegi da assegnare alle risorse, agli events log ed ai servizi di directory.

Microsoft afferma che "rendere sicure le risorse è un processo che abbraccia diverse tecnologie e l'intero ciclo di sviluppo. Attraverso un accurato progetto, implementazione, testing e fornitura delle applicazioni, potrete creare applicazioni davvero sicure". "Le tecnologie di sicurezza - conclude il documento - fornite da ASP.NET, il sistema operativo ed i browser Web, sono disponibili per rendere sicure le vostre applicazioni".

La parola passa ora agli sviluppatori, la cui opinione in questo frangente appare decisiva, visto che sono loro che, secondo Microsoft, hanno la responsabilità di avvalersi delle nuove tecnologie e dei nuovi strumenti integrati nell'infrastruttura .NET per costruire applicazioni davvero più sicure.
TAG: microsoft
24 Commenti alla Notizia Microsoft: come sviluppare sicuro sotto .NET
Ordina
  • Mi sembra che sia un volersi lavare le mani dei bachi...
    non+autenticato


  • - Scritto da: fDiskolo
    > Mi sembra che sia un volersi lavare le mani
    > dei bachi...

    ...si vede che non hai compreso il messaggio MS. Riprova.
    non+autenticato
  • "Si deve prevenire che gli utenti che accedono alle vostre applicazioni Web dai vostri server Web - esorta Microsoft nel suo documento - possano far girare codice malizioso o dati corrotti sui vostri server".

    allora non bisogna installare SO della M$ sui server
    ;)

    Ciao
    non+autenticato


  • - Scritto da: Bilbo
    > "Si deve prevenire che gli utenti che
    > accedono alle vostre applicazioni Web dai
    > vostri server Web - esorta Microsoft nel suo
    > documento - possano far girare codice
    > malizioso o dati corrotti sui vostri
    > server".
    >
    > allora non bisogna installare SO della M$
    > sui server
    > Occhiolino
    >
    > Ciao

    No, nelle policy del framework, basta non lasciargli usare taluni assemblaggi.

    Ma scusate chi sviluppa in J2EE non ha gli stessi problemi?
    non+autenticato
  • Ma quanti di voi usano .NET?

    Il problema sta nel modo in cui uno sviluppatore setta i file machine.config (ammesso che il server sia suo) e web.config. Le configurazioni di sicurezza di ASP.NET vengono nella maggior parte fissate in questi due file XML.

    Per default, nella versione 1.0, sono le più restrittive. E dovrete bestemmiare non poco solo per riuscire a far girare le aspx. Ovvio che se siete così deficienti da far impersonare al vostro codice, o quello di un vostro cliente, l'administrator della macchina potrà fare tutte le cazzate che vorrà.

    Il problema grosso io lo vedo per chi fa dell'hosting. Si dovrà avere cura di fissare i diversi vincoli di trust sui contatori di prestazione della macchina, sugli accessi I/O,...
    E aggiungerei pure sulle porte... un codice malizioso che lavora si System.Socket può fare di quei capolavori di hacking automatico...

    Con i web service, non ci possono essere più problemi che una normale aspx, in quanto strucca strucca sono aspx che generano SOAP al posto di HTML in risposta ad una richiesta HTTP. Non avete, come qualcuno ha detto, accesso diretto al db! Il servizio DISCO credo che lo userò poco, a meno non voglia far conoscere al mondo un mio web service (cosa assai rara per quello che faccio).

    Salutoni
    non+autenticato
  • Tutti gli sviluppatori, a partire da quelli che sviluppano il SO sul quale girano le applicazioni degli altri sviluppatori, e se vogliamo, possiamo partire da quelli che scrivono codice che diventerà poi un microprocessore (vedi bug del pentium e dell Athlon) devono avere una certa responsabilità "etica" nei confronti del loro prodotto. più si scende a basso livello e più è doveroso porre attenzione a ciò che si fa ma questo non toglie che uno sviluppatore possa produrre codice scrivendo "cose" che non hanno senso, "dimenticando" di deallocare memoria o facendo attenzione alle strutture che utilizzano evitandone la proliferazione incontrollata.
    E' giusto lamentarsi dei SO instabili, buggati che cambiano tutto ogni due giorni, ma spesso chi si lamenta di più sono le persone che ne capiscono meno e che creano applicazioni che nulla hanno a che fare con le regole del buon codice.
    Ricordate che "la gallina che canta ha fatto l'uovo" .
    Microsoft sicuramente "canta" parecchio.
    Saluti
    non+autenticato


  • - Scritto da: kaiman

    > Ricordate che "la gallina che canta ha fatto
    > l'uovo" .
    > Microsoft sicuramente "canta" parecchio.
    > Saluti

    canta perchè l'uovo gli è rimasto a metà strada e non vuole uscire!!!

    Con la lingua fuori
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 8 discussioni)