Nowadays, Web applications are afflicted by numerous vulnerabilities and there exist many attacks that exploit them to execute malicious tasks. In this thesis we focus on vulnerabilities related to workflows, which are sequences of steps that the user must perform in order to complete some transaction. When the Web application fails to correctly enforce the workflows, undesired violations may be allowed. Currently, there is no systematic methodology for enforcing workflows and the im- plementation is left to the developer, which may result in a weak appli- cation, vulnerable to attacks. In order to address this issue, we present the framework Workflower, which allows the developer to easily spec- ify workflows and automatically enforce them. The framework allows the specification to be declarative and separated from the application logic, so that it is easier to understand and maintain. The specification is securely and automatically enforced in the application, so that any violation is prevented without requiring the developer to manually im- plement any defense. Additionally, it supports several features such as concurrent workflows, multiple instances workflows, automatic redirec- tion and request resuming.

Oggigiorno, le applicazioni Web sono afflitte da numerose vulnerabilità e presentano spesso lacunose difese, facilmente aggirabili, che permet- tono ad attackers di eseguire task malevoli. In questa tesi, focalizziamo la nostra attenzione sulle vulnerabilità relative ai workflow, ovvero se- quenze vincolate di step che si richiede all’utente di eseguire, per poter completare una qualche transazione. Quando l’applicazione Web non impone correttemente questo tipo di vincoli, il flusso di operazioni at- teso può essere aggirato e possono verificarsi violazioni che portano a risultati indesiderati. Attualmente, non esiste una metodologia sis- tematica per imporre vincoli sui workflow e l’implementazione è las- ciata allo sviluppatore, che deve forgiare soluzioni ad-hoc, con il ris- chio di risultare, talvolta, in applicazioni vulnerabili ad attacchi. Con lo scopo di affrontare e proporre una soluzione a questa problematica, presentiamo il framework Workflower, che permetterà allo sviluppatore di specificare facilmente vincoli di workflow e imporli automaticamente nell’applicazione. Il framework permette una specifica di tipo dichiara- tivo, separata dalla logica dell’applicazione, così da garantire una mag- giore leggibilità e mantenibilità del codice. La specifica viene imposta in modo automatico e sicuro nell’applicazione, con lo scopo di impedire attacchi che sfruttano vurnelabilità di workflow, senza richiedere allo sviluppatore nessuna implementazione manuale di difese ad-hoc. In ag- giunta, il framework supporta varie features, tra cui workflow paralleli, worfklow a multipla instanza e ridirezione automatica, che descriver- emo, insieme ad altri aspetti, nel corso di questo scritto.

A framework for specifying and enforcing workflows in ruby on rails

ROSSETTI, DANIELE
2012/2013

Abstract

Nowadays, Web applications are afflicted by numerous vulnerabilities and there exist many attacks that exploit them to execute malicious tasks. In this thesis we focus on vulnerabilities related to workflows, which are sequences of steps that the user must perform in order to complete some transaction. When the Web application fails to correctly enforce the workflows, undesired violations may be allowed. Currently, there is no systematic methodology for enforcing workflows and the im- plementation is left to the developer, which may result in a weak appli- cation, vulnerable to attacks. In order to address this issue, we present the framework Workflower, which allows the developer to easily spec- ify workflows and automatically enforce them. The framework allows the specification to be declarative and separated from the application logic, so that it is easier to understand and maintain. The specification is securely and automatically enforced in the application, so that any violation is prevented without requiring the developer to manually im- plement any defense. Additionally, it supports several features such as concurrent workflows, multiple instances workflows, automatic redirec- tion and request resuming.
ZUCK, LENORE
ING - Scuola di Ingegneria Industriale e dell'Informazione
18-dic-2013
2012/2013
Oggigiorno, le applicazioni Web sono afflitte da numerose vulnerabilità e presentano spesso lacunose difese, facilmente aggirabili, che permet- tono ad attackers di eseguire task malevoli. In questa tesi, focalizziamo la nostra attenzione sulle vulnerabilità relative ai workflow, ovvero se- quenze vincolate di step che si richiede all’utente di eseguire, per poter completare una qualche transazione. Quando l’applicazione Web non impone correttemente questo tipo di vincoli, il flusso di operazioni at- teso può essere aggirato e possono verificarsi violazioni che portano a risultati indesiderati. Attualmente, non esiste una metodologia sis- tematica per imporre vincoli sui workflow e l’implementazione è las- ciata allo sviluppatore, che deve forgiare soluzioni ad-hoc, con il ris- chio di risultare, talvolta, in applicazioni vulnerabili ad attacchi. Con lo scopo di affrontare e proporre una soluzione a questa problematica, presentiamo il framework Workflower, che permetterà allo sviluppatore di specificare facilmente vincoli di workflow e imporli automaticamente nell’applicazione. Il framework permette una specifica di tipo dichiara- tivo, separata dalla logica dell’applicazione, così da garantire una mag- giore leggibilità e mantenibilità del codice. La specifica viene imposta in modo automatico e sicuro nell’applicazione, con lo scopo di impedire attacchi che sfruttano vurnelabilità di workflow, senza richiedere allo sviluppatore nessuna implementazione manuale di difese ad-hoc. In ag- giunta, il framework supporta varie features, tra cui workflow paralleli, worfklow a multipla instanza e ridirezione automatica, che descriver- emo, insieme ad altri aspetti, nel corso di questo scritto.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
tesi.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: final thesis
Dimensione 455.15 kB
Formato Adobe PDF
455.15 kB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/88723