Scrittura di codice protetto: procedure consigliate Marco Russo.NET Consultant & Trainer DevLeap.
-
Upload
giorgina-grandi -
Category
Documents
-
view
223 -
download
0
Transcript of Scrittura di codice protetto: procedure consigliate Marco Russo.NET Consultant & Trainer DevLeap.
ScritturaScrittura didi codicecodice protetto:protetto: procedureprocedure consigliateconsigliate
Marco RussoMarco Russo.NET Consultant & Trainer.NET Consultant & TrainerDevLeapDevLeap
ArgomentiArgomenti trattatitrattati
ProcessoProcesso didi svilupposviluppo protettoprotetto
Modellizzazione delle minacceModellizzazione delle minacce
Contenimento dei rischiContenimento dei rischi
Procedure ottimali per la protezioneProcedure ottimali per la protezione
PrerequisitiPrerequisiti didi sessionesessione
EsperienzaEsperienza didi svilupposviluppo concon MicrosoftMicrosoft VisualVisual Basic®,Basic®, MicrosoftMicrosoft VisualVisual C++®C++® oo C#C#
LivelloLivello 200200
AgendaAgenda
ProcessoProcesso didi svilupposviluppo protettoprotetto
Modellizzazione delle minacceModellizzazione delle minacce
Contenimento dei rischiContenimento dei rischi
Procedure ottimali per la protezioneProcedure ottimali per la protezione
MiglioramentoMiglioramento deldel processoprocesso di sviluppodi sviluppo delledelle applicazioniapplicazioni
PrenderePrendere inin considerazioneconsiderazione lala protezioneprotezione
All'inizio del processoAll'inizio del processo
Nel corso dello sviluppoNel corso dello sviluppo
Fino alla distribuzioneFino alla distribuzione
Durante tutte le fasi di verifica del Durante tutte le fasi di verifica del softwaresoftware
Non smettere di cercare bug di Non smettere di cercare bug di protezione fino alla fine del processo protezione fino alla fine del processo di sviluppodi sviluppo
SDSD33
ProtezioneProtezione comecome
caratteristicacaratteristica didi progettazioneprogettazione
ProtezioneProtezione perper impostazioneimpostazione
predefinitapredefinita
ProtezioneProtezione nellanella distribuzionedistribuzione
ArchitetturaArchitettura ee codicecodice protettiprotettiAnalisi delle minacceAnalisi delle minacceRiduzione delle vulnerabilitàRiduzione delle vulnerabilità
RiduzioneRiduzione delladella superficiesuperficie didi attaccoattaccoDisattivazione delle funzioni non Disattivazione delle funzioni non utilizzate per impostazione utilizzate per impostazione predefinitapredefinitaUtilizzo di privilegi minimiUtilizzo di privilegi minimi
Protezione:Protezione: rilevamento,rilevamento, difesa,difesa, ripristinoripristino ee gestionegestioneProcesso: guide all'esecuzione delle Processo: guide all'esecuzione delle operazioni, guide all'architetturaoperazioni, guide all'architetturaUtenti: formazioneUtenti: formazione
StrutturaStruttura didi protezioneprotezione SDSD33
CronologiaCronologia didi svilupposviluppo protettoprotetto dei prodottidei prodotti
ProcedureProcedure didi verificaverificacompletatecompletate
ProgettazioneProgettazionecompletatacompletata
ConcettoConcetto CodiceCodicecompletatocompletato
Commer-Commer-cializzazionecializzazione
Post-Post-commercializzazionecommercializzazione
Verifica dellevulnerabilità di protezione
Valutazionedella conoscenza
relativa alla protezione durante l'assunzione di membri del team
Determinazione deicriteri di approvazione
della protezione
Esecuzione di verifiche esterne
Analisi delle minacce Apprendimento
e perfezionamento
Esecuzione diverifiche di teamdella protezione
Formazione deimembri del team
Verifica della mutazione dei dati e dei privilegipiù ridotti possibili
Risoluzione dei problemi di protezione, verifica del codice rispetto alle linee guida
di protezione
= Attività continue
ProtezioneProtezione comecome caratteristicacaratteristica di progettazionedi progettazione
AumentareAumentare lala consapevolezzaconsapevolezza inin fattofatto di protezionedi protezione deldel teamteam didi progettazioneprogettazione
Prevedere una formazione continuaPrevedere una formazione continuaCombattere gli atteggiamenti come "Ciò Combattere gli atteggiamenti come "Ciò che non conosco non potrà crearmi che non conosco non potrà crearmi problemi"problemi"
Prendere in considerazione la Prendere in considerazione la protezione fin dalla fase di protezione fin dalla fase di progettazioneprogettazione
Definire gli obiettivi di protezione del Definire gli obiettivi di protezione del prodottoprodottoImplementare la protezione come una Implementare la protezione come una funzione chiave del prodottofunzione chiave del prodottoUtilizzare la modellizzazione delle minacce Utilizzare la modellizzazione delle minacce durante la fase di progettazionedurante la fase di progettazione
AgendaAgenda
ProcessoProcesso didi svilupposviluppo protettoprotetto
Modellizzazione delle minacceModellizzazione delle minacce
Contenimento dei rischiContenimento dei rischi
Procedure ottimali per la protezioneProcedure ottimali per la protezione
DefinizioneDefinizione didi modellizzazionemodellizzazione delledelle minacceminacce
LaLa modellizzazionemodellizzazione delledelle minacceminacce èè un'analisiun'analisi basatabasata sullasulla protezioneprotezione che:che:
Consente al team di un prodotto di Consente al team di un prodotto di identificare identificare i punti in cui il prodotto è più vulnerabilei punti in cui il prodotto è più vulnerabileConsente di valutare le minacce a Consente di valutare le minacce a un'applicazioneun'applicazione Ha come obiettivo quello di ridurre i rischi Ha come obiettivo quello di ridurre i rischi di protezione complessividi protezione complessiviConsente di individuare le risorseConsente di individuare le risorseConsente di rilevare le vulnerabilitàConsente di rilevare le vulnerabilitàConsente di identificare le minacceConsente di identificare le minacceDovrebbe essere alla base delle specifiche Dovrebbe essere alla base delle specifiche di progettazione relative alla protezionedi progettazione relative alla protezione
VantaggiVantaggi delladella modellizzazionemodellizzazione delledelle minacceminacce
MiglioreMigliore comprensionecomprensione dell'applicazionedell'applicazione
Individuazione di bugIndividuazione di bug
Identificazione di Identificazione di bug di progettazione bug di progettazione complessicomplessi
Integrazione dei nuovi Integrazione dei nuovi membri del teammembri del team
Definisce piani di testing per la Definisce piani di testing per la protezione ben progettatiprotezione ben progettati
Minaccia
Vulnerabilità
Risorsa
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacce
Identificazione delle risorse1
Creazione di una panoramica dell'architettura2
Scomposizione dell'applicazione3
Identificazione delle minacce4
Documentazione delle minacce5
Classificazione delle minacce6
Processo di modellizzazione delle minacce
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacceFaseFase 1:1: identificazioneidentificazione delledelle risorserisorse
CreareCreare unun elencoelenco didi risorserisorse dada proteggereproteggere tra cui:tra cui:
Dati riservati, come database di clientiDati riservati, come database di clienti
Pagine WebPagine Web
Disponibilità del sistemaDisponibilità del sistema
Altri componenti che, se danneggiati, Altri componenti che, se danneggiati, impedirebbero il corretto funzionamento impedirebbero il corretto funzionamento dell'applicazionedell'applicazione
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacceFaseFase 2:2: creazionecreazione didi unauna panoramicapanoramica dell'architetturadell'architettura
IdentificazioneIdentificazione delladella funzionefunzione dell'applicazionedell'applicazioneCreazione di un diagramma dell'architettura Creazione di un diagramma dell'architettura dell'applicazionedell'applicazione
Identificazione delle tecnologieIdentificazione delle tecnologie
Autorizzazioni NTFS(autenticazione)
Autorizzazione di fileAutorizzazione di URL
Ruoli di .NET(autenticazione)
Ruolo definito dall'utente(autenticazione)
SSL(privacy/integrità)
Limite di attendibilità
MarcellaMonicaAlberto IISIIS
Autenticazioneanonima
Autenticazionebasata su form
IPSec(privacy/integrità)
Limite di attendibilità
ASP .NET(identità del processo)Microsoft
ASP .NETMicrosoft ASP .NET
Autenticazione diMicrosoft Windows®
MicrosoftSQL Server™
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacceFaseFase 3:3: scomposizionescomposizione dell'applicazionedell'applicazioneScomporreScomporre
l'applicazionel'applicazione
Creare un profilo di Creare un profilo di protezione basato sulle protezione basato sulle tradizionali aree di tradizionali aree di vulnerabilitàvulnerabilità
Esaminare l'interazione Esaminare l'interazione tra i diversi sottosistemitra i diversi sottosistemi
Utilizzare i diagrammiUtilizzare i diagrammiDFD o UMLDFD o UML
IdentificazioneIdentificazione deidei limitilimiti didi attendibilitàattendibilità
IdentificazioneIdentificazione deldel flussoflusso didi datidati
IdentificazioneIdentificazione deidei puntipunti didi ingressoingresso
IdentificazioneIdentificazione didi codicecodice privilegiatoprivilegiato
DocumentazioneDocumentazione deldel profiloprofilo didi protezioneprotezione
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacceFaseFase 4:4: identificazioneidentificazione delledelle minacceminacce
CreazioneCreazione deldel teamteam
Identificazione delle minacceIdentificazione delle minacceMinacce alla reteMinacce alla rete
Minacce all'hostMinacce all'host
Minacce all'applicazioneMinacce all'applicazione
Tipi di minacce •Esempi
Spoofing Falsificazione di messaggi di posta elettronica Riproduzione di pacchetti di autenticazione
•Tampering Alterazione di dati durante la trasmissione Modifica dei dati contenuti nei file
•Repudiation Eliminazione di un file importante e negazione di tale operazioneAcquisto di un prodotto e negazione di tale operazione
•Information disclosure
Esposizione di informazioni in messaggi di errore Esposizione di codice su siti Web
•Denial of serviceSaturazione di una rete con pacchetti SYNSaturazione di una rete con pacchetti ICMP contraffatti
•Elevation of privilege
Sfruttamento di sovraccarichi buffer per ottenere privilegi di sistema Ottenimento di privilegi di amministratore in maniera illegale
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacceIdentificazioneIdentificazione delledelle minacceminacce mediantemediante STRIDESTRIDE
1.0 Visualizzazione dei dati sullo stipendio (I) 1.1 Il traffico non è protetto (E) 1.2 L'hacker visualizza il traffico 1.2.1 Intercettazione del traffico mediante
l'analizzatore di protocolli 1.2.2 Ascolto del traffico del router 1.2.2.1 Il router non è provvisto di patch (E) 1.2.2.2 Compromissione del router 1.2.2.3 Tentativo di indovinare la password
del router
Minaccia 1 (I)Visualizzazione deidati sullo stipendio
1.1Il traffico non è protetto
1.2L'hacker visualizzail traffico
1.2.1Intercettazione del traffico mediante l'analizzatore di protocolli
1.2.2Ascolto del trafficodel router
1.2.2.1Il router non è provvisto di patch
1.2.2.2Compromissionedel router
1.2.2.3Tentativo di indovinarela password del router
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacceIdentificazioneIdentificazione delledelle minacceminacce mediantemediante l'utilizzol'utilizzo didi strutturestrutture didi attaccoattacco
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacceFaseFase 5:5: documentazionedocumentazione delledelle minacceminacceUtilizzareUtilizzare unun modellomodello perper documentaredocumentare le minaccele minacce
Lasciare vuoto il campo Rischio (per il Lasciare vuoto il campo Rischio (per il momento)momento)
Descrizione della minaccia
Inserimento di comandi SQL
Obiettivo della minaccia Componente di accesso ai dati
RischioTecniche di attacco L'hacker aggiunge comandi SQL al
nome utente utilizzato per creare una query SQL
Contromisure Utilizzare un'espressione regolare per convalidare il nome utente e una stored procedure con parametri per accedere al database
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacceFaseFase 6:6: classificazioneclassificazione delledelle minacceminacce
UtilizzareUtilizzare lala seguenteseguente formula:formula: Rischio = probabilità * potenziale del dannoRischio = probabilità * potenziale del danno
Utilizzare il modello DREAD per Utilizzare il modello DREAD per classificare le minacceclassificare le minacce
DDamage potential (potenziale del danno)amage potential (potenziale del danno)
RReproducibility (riproducibilità)eproducibility (riproducibilità)
EExploitability (sfruttabilità)xploitability (sfruttabilità)
AAffected Users (utenti interessati)ffected Users (utenti interessati)
DDiscoverability (identificabilità)iscoverability (identificabilità)
ProcessoProcesso didi modellizzazionemodellizzazione delledelle minacceminacce Esempio:Esempio: classificazioneclassificazione delledelle minacceminacce
Minaccia 1 (I)Visualizzazione deidati sullo stipendio
1.1Il traffico nonè protetto
1.2L'hacker visualizzail traffico
1.2.1Intercettazione del traffico mediante l'analizzatore di protocolli
1.2.2Ascolto del trafficodel router
1.2.2.1Il router non è provvisto di patch
1.2.2.2Compromissionedel router
1.2.2.3Tentativo di indovinarela password del router
•Damage potential (potenziale del danno)•Affected users (utenti interessati)- oppure -•Danno
•Reproducibility (riproducibilità)•Exploitability (sfruttabilità)•Discoverability (identificabilità)- oppure -•Probabilità
CodificaCodifica inin basebase aa unun modellomodello di minacciadi minaccia
UtilizzareUtilizzare lala modellizzazionemodellizzazione delledelle minacceminacce per:per:
Determinare i componenti più pericolosi Determinare i componenti più pericolosi dell'applicazionedell'applicazione
Assegnare priorità agli sforzi per Assegnare priorità agli sforzi per implementare implementare la protezionela protezione
Assegnare priorità alle continue verifiche Assegnare priorità alle continue verifiche del codicedel codice
Determinare le tecniche di contenimento Determinare le tecniche di contenimento delle minacce da utilizzaredelle minacce da utilizzare
Determinare il flusso di datiDeterminare il flusso di dati
AgendaAgenda
ProcessoProcesso didi svilupposviluppo protettoprotetto
Modellizzazione delle minacceModellizzazione delle minacce
Contenimento dei rischiContenimento dei rischi
Procedure ottimali per la protezioneProcedure ottimali per la protezione
OpzioniOpzioni didi contenimentocontenimento deidei rischirischi
OpzioneOpzione 1:1: nonnon intraprendereintraprendere alcunaalcuna misuramisura
Opzione 2: avvisare l'utenteOpzione 2: avvisare l'utente
Opzione 3: eliminare il problemaOpzione 3: eliminare il problema
Opzione 4: correggere il problemaOpzione 4: correggere il problemaControllo
ProcessoProcesso didi contenimentocontenimento deidei rischirischi
Tipo di minaccia(STRIDE)
Tecnica di contenimento
Tecnica di contenimento
Tecnologia Tecnologia Tecnologia Tecnologia
Spoofing Autenticazione
NTLMCertificati X.509Chiavi PGPAutenticazione di baseDigestKerberosSSL/TLS
1.1. IdentificareIdentificare lala categoria,categoria,adad esempio:esempio: spoofingspoofing
2.2. SelezionareSelezionare lele tecniche,tecniche,adad esempio: autenticazioneesempio: autenticazione oo protezioneprotezione didi datidati riservatiriservati
3.3. ScegliereScegliere lala tecnologia,tecnologia,adad esempio:esempio: KerberosKerberos
TecnicheTecniche didi contenimentocontenimento di esempiodi esempio
Client Server
Datipermanenti
Dati diautenticazione
Dati diconfigurazione SSTTRRIDIDEE
STSTRRIDEIDE
STRISTRIDDEE
SSTTRRIIDEDESSTRIDTRIDEE
SSL/TLS IPSec RPC/DCO
con Privacy
Firewall Limitazione
dell'utilizzo delle risorse per le connessioni anonime
Controllo di accesso avanzato
Firme digitali Controllo
Rete nonprotetta
AgendaAgenda
ProcessoProcesso didi svilupposviluppo protettoprotetto
Modellizzazione delle minacceModellizzazione delle minacce
Contenimento dei rischiContenimento dei rischi
Procedure ottimali per la protezioneProcedure ottimali per la protezione
EsecuzioneEsecuzione concon ii privilegiprivilegi piùpiù ridottiridotti possibilipossibili
DottrinaDottrina didi protezioneprotezione nota:nota:Un'applicazione dovrebbe essere eseguita Un'applicazione dovrebbe essere eseguita con con i privilegi minimi necessari per il i privilegi minimi necessari per il funzionamentofunzionamento
L'elevazione dei privilegi può avere L'elevazione dei privilegi può avere conseguenze disastroseconseguenze disastrose
Codice dannoso in esecuzione in un Codice dannoso in esecuzione in un processo altamente privilegiato viene processo altamente privilegiato viene eseguito con privilegi elevatieseguito con privilegi elevati
Molti virus si diffondono perché il Molti virus si diffondono perché il destinatario dispone di privilegi di destinatario dispone di privilegi di amministratoreamministratore
DimostrazioneDimostrazione 11 ProtezioneProtezione delledelle applicazioniapplicazioni
ASPASP .NET.NET
AnalisiAnalisi deidei privilegiprivilegi delledelle applicazioniapplicazioni
ASPASP .NET.NETLimitazioneLimitazione deidei livellilivelli didi attendibilitàattendibilità delledelle
applicazioniapplicazioni ASPASP .NET.NETSandboxingSandboxing didi codicecodice privilegiatoprivilegiatoUtilizzoUtilizzo didi assemblyassembly sottopostisottoposti aa
sandboxingsandboxing
RiduzioneRiduzione delladella superficiesuperficie didi attaccoattacco
EsporreEsporre solosolo interfacceinterfacce dell'applicazionedell'applicazione limitatelimitate ee benben documentatedocumentate
Utilizzare solo i servizi richiesti Utilizzare solo i servizi richiesti dall'applicazionedall'applicazione
I virus Slammer e CodeRed non si I virus Slammer e CodeRed non si sarebbero diffusi se determinate funzioni sarebbero diffusi se determinate funzioni fossero state disattivate per impostazione fossero state disattivate per impostazione predefinitapredefinita
ILoveYou (e altri virus) non si sarebbero ILoveYou (e altri virus) non si sarebbero diffusi diffusi se la funzione di script fosse stata se la funzione di script fosse stata disattivatadisattivata
Disattivare tutte le funzioni non Disattivare tutte le funzioni non necessarienecessarie
NonNon ritenereritenere attendibileattendibile l'inputl'input dell'utentedell'utente
ConvalidareConvalidare tuttotutto l'inputl'inputConsiderare dannoso tutto l'input fino a prova Considerare dannoso tutto l'input fino a prova contrariacontraria
Cercare dati validi e rifiutare tutto il restoCercare dati validi e rifiutare tutto il resto
Vincolare, rifiutare e sterilizzare l'input Vincolare, rifiutare e sterilizzare l'input dell'utente mediantedell'utente mediante
Verifiche dei tipiVerifiche dei tipi
Verifiche della lunghezzaVerifiche della lunghezza
Verifiche dell'intervalloVerifiche dell'intervallo
Verifiche del formatoVerifiche del formatoValidator.ValidationExpression =
"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
DimostrazioneDimostrazione 22 ConvalidaConvalida didi WindowsWindows FormForm
VisualizzazioneVisualizzazione didi un'applicazioneun'applicazione inin cuicui
nonnon vieneviene eseguitaeseguita lala convalidaconvalidaAggiuntaAggiunta delladella convalidaconvalida dell'inputdell'input
ConvalidaConvalida deldel formform completocompleto
DifesaDifesa aa piùpiù livellilivelli (1(1 didi 3)3)UtilizzoUtilizzo didi piùpiù gatekeepergatekeeper
SSL
Firewall ISA
IIS
SQL Server
Firewall ISAIPSec
DifesaDifesa aa piùpiù livellilivelli (2(2 didi 3)3)ApplicazioneApplicazione didi misuremisure appropriateappropriate perper ogniogni livellolivello
Verifica della protezione
Verifica della protezione
Applicazione.dll
Applicazione.exe
Verifica della protezione
Verifica della protezione
Protezione delle risorse mediante un ACL
Applicazione.dll
DifesaDifesa aa piùpiù livellilivelli (3(3 didi 3)3)UtilizzoUtilizzo didi ACLACL efficientiefficienti perper lele risorserisorseProgettareProgettare gligli ACLACL nell'applicazionenell'applicazione
dall'iniziodall'inizio
Applicare gli ACL a file, cartelle, pagine Applicare gli ACL a file, cartelle, pagine Web, impostazioni del Registro di Web, impostazioni del Registro di sistema, file di database, stampanti e sistema, file di database, stampanti e oggetti presenti in Active Directoryoggetti presenti in Active Directory
Creare ACL personalizzati durante Creare ACL personalizzati durante l'installazione dell'applicazionel'installazione dell'applicazione
Includere ACE DENYIncludere ACE DENY
Non utilizzare DACL NULLNon utilizzare DACL NULL
ProtezioneProtezione nonnon basatabasata sulsul nascondimentonascondimento
NonNon nasconderenascondere lele chiavichiavi didi protezioneprotezione neinei filefile
Non fare affidamento su chiavi del Non fare affidamento su chiavi del Registro Registro di sistema non documentatedi sistema non documentate
Supporre sempre che un hacker abbia a Supporre sempre che un hacker abbia a disposizione le stesse informazioni dello disposizione le stesse informazioni dello sviluppatoresviluppatore
UtilizzoUtilizzo dell'APIdell'API didi protezioneprotezione deidei datidati (DPAPI,(DPAPI, DataData ProtectionProtection API)API) perper lala protezioneprotezione didi informazioniinformazioni riservateriservateDueDue funzionifunzioni DPAPI:DPAPI:
CryptProtectDataCryptProtectData
CryptUnprotectDataCryptUnprotectData
Due archivi per i dati crittografati Due archivi per i dati crittografati mediante DPAPI:mediante DPAPI:
Archivio dell'utenteArchivio dell'utente
Archivio del computerArchivio del computer
DimostrazioneDimostrazione 33 DPAPIDPAPI
MemorizzazioneMemorizzazione delledelle stringhestringhe didi connessioneconnessione
inin Web.configWeb.configCrittografiaCrittografia delledelle stringhestringhe didi connessioneconnessione
mediantemediante DPAPIDPAPIInstallazioneInstallazione dell'utilitàdell'utilità Aspnet_setregAspnet_setreg
UtilizzoUtilizzo didi attributiattributi crittografaticrittografati inin unun filefile didi configurazioneconfigurazione
ConcessioneConcessione didi autorizzazioniautorizzazioni sullesulle chiavichiavi deldel RegistroRegistro didi sistemasistema
Gestione degli erroriGestione degli errori (1(1 didi 2)2)
AssicurarsiAssicurarsi cheche unun eventualeeventuale erroreerrore deldel codicecodice sisi verifichiverifichi inin modomodo protettoprotetto
DWORD dwRet = IsAccessAllowed(…);
if (dwRet == ERROR_ACCESS_DENIED) {
// Security check failed.
// Inform user that access is denied
} else {
// Security check OK.
// Perform task…
}
Cosa succederebbe se IsAccessAllowed()
restituisse ERROR_NOT_
ENOUGH_MEMORY?
Cosa succederebbe se IsAccessAllowed()
restituisse ERROR_NOT_
ENOUGH_MEMORY?
Gestione degli errori (2Gestione degli errori (2 didi 2)2)
OperazioniOperazioni sconsigliate:sconsigliate:Rivelazione di informazioni in messaggi Rivelazione di informazioni in messaggi di erroredi errore
Utilizzo di risorse a lungo dopo un erroreUtilizzo di risorse a lungo dopo un errore
Operazioni consigliate:Operazioni consigliate:Utilizzo di blocchi di gestione delle Utilizzo di blocchi di gestione delle eccezioni per evitare la propagazione eccezioni per evitare la propagazione degli errori al chiamantedegli errori al chiamante
Scrittura di errori sospetti in un log Scrittura di errori sospetti in un log eventieventi
<customErrors mode="On"/>
VerificaVerifica delladella protezioneprotezioneCoinvolgereCoinvolgere ii teamteam didi testing all'iniziotesting all'inizio deidei progettiprogettiUtilizzare la modellizzazione delle minacce per Utilizzare la modellizzazione delle minacce per sviluppare la strategia di verifica della sviluppare la strategia di verifica della protezioneprotezionePrevedere i possibili attacchi e verificare il Prevedere i possibili attacchi e verificare il livello livello di protezionedi protezione
Automatizzare gli attacchi con script e linguaggi Automatizzare gli attacchi con script e linguaggi di programmazione di basso livellodi programmazione di basso livelloInviare numerosi dati non validiInviare numerosi dati non validiEliminare o negare l'accesso a file o voci del Registro Eliminare o negare l'accesso a file o voci del Registro
di sistemadi sistemaEseguire le verifiche con un account che non Eseguire le verifiche con un account che non disponga disponga di privilegi di amministratoredi privilegi di amministratore
Conoscere il nemico e conoscere se stessiConoscere il nemico e conoscere se stessiConoscere le tecniche e le tecnologie utilizzabili dagli Conoscere le tecniche e le tecnologie utilizzabili dagli hackerhackerConoscere le tecniche e le tecnologie utilizzabili dai Conoscere le tecniche e le tecnologie utilizzabili dai testertester
ComeCome imparareimparare daglidagli errorierrori
SeSe sisi rilevarileva unun problemaproblema didi protezione,protezione, imparareimparare dall'erroredall'errore
Come si è verificato l'errore di protezione?Come si è verificato l'errore di protezione?
Lo stesso errore è presente in altre parti Lo stesso errore è presente in altre parti del codice?del codice?
Come avrebbe potuto essere impedito?Come avrebbe potuto essere impedito?
Cosa è necessario modificare per evitare Cosa è necessario modificare per evitare il ripetersi di questo tipo di errore?il ripetersi di questo tipo di errore?
È necessario aggiornare materiale di È necessario aggiornare materiale di formazione o strumenti di analisi?formazione o strumenti di analisi?
RiepilogoRiepilogo delladella sessionesessione
ProcessoProcesso didi svilupposviluppo protettoprotetto
Modellizzazione delle minacceModellizzazione delle minacce
Contenimento dei rischiContenimento dei rischi
Procedure ottimali per la protezioneProcedure ottimali per la protezione
FasiFasi successivesuccessive1.1. PerPer essereessere sempresempre aggiornatiaggiornati nelnel campocampo
delladella protezioneprotezione1.1. Abbonarsi ai bollettini sulla protezione all'indirizzo:Abbonarsi ai bollettini sulla protezione all'indirizzo:2.2.
http://www.microsoft.com/security/security_bulletins/alerts2.ahttp://www.microsoft.com/security/security_bulletins/alerts2.aspsp (in lingua inglese)(in lingua inglese)
3.3. Informazioni aggiornate relative alla protezione Informazioni aggiornate relative alla protezione Microsoft sono disponibili all'indirizzo:Microsoft sono disponibili all'indirizzo:
4.4. http://www.microsoft.com/security/guidance/http://www.microsoft.com/security/guidance/ (in (in lingua inglese)lingua inglese)
2.2. Accesso a materiale di formazione Accesso a materiale di formazione aggiuntivo sulla protezioneaggiuntivo sulla protezione
1.1. Seminari di formazione on-line e con istruttore sono Seminari di formazione on-line e con istruttore sono disponibili all'indirizzo:disponibili all'indirizzo:
2.2. http://www.microsoft.com/seminar/events/http://www.microsoft.com/seminar/events/security.mspxsecurity.mspx (in lingua inglese)(in lingua inglese)
3.3. Per trovare un CTEC di zona che offre corsi di Per trovare un CTEC di zona che offre corsi di formazione pratica, visitare l'indirizzo:formazione pratica, visitare l'indirizzo:
http://www.microsoft.com/http://www.microsoft.com/italy/traincert/Default.mspxitaly/traincert/Default.mspx
UlterioriUlteriori informazioniinformazioniSitoSito MicrosoftMicrosoft dedicatodedicato allaalla protezioneprotezione (per(per tuttitutti gligli utenti)utenti)
http://www.microsoft.com/http://www.microsoft.com/italyitaly/security/security
Sito MSDN dedicato alla protezione Sito MSDN dedicato alla protezione (per sviluppatori)(per sviluppatori)
http://http://msdn.microsoft.commsdn.microsoft.com/security/security (in lingua inglese)(in lingua inglese)
Sito TechNet dedicato alla protezione Sito TechNet dedicato alla protezione (per professionisti IT)(per professionisti IT)
http://www.microsoft.com/http://www.microsoft.com/italy/technetitaly/technet//sicurezza.aspsicurezza.asp