TY - GEN
T1 - Securing Dataverse with an Adapted Command Design Pattern
AU - Durand, Gustavo
AU - Bar-Sinai, Michael
AU - Crosas, Mercè
N1 - Publisher Copyright:
© 2017 IEEE.
PY - 2017/10/20
Y1 - 2017/10/20
N2 - In order to bake security into application design, we introduce an adaptation to the Command pattern: command instances are tagged with the permissions required to perform them for each object they manipulate. Prior to executing a command instance issued by a given user, an execution engine validates the user has the required permissions over the objects the command is about to operate on. Stating the required permissions can often be declarative. In addition to the usual advantages offered by the command pattern (such as standardized operation handling), this adaptation creates a single checkpoint for validating permissions throughout the application. This, in turn, enhances application security and reduces code duplication, for example between the API and UI controllers. Disadvantages include the lack of framework support, and a learning curve for existing developers. We have used this design in implementing Dataverse, a widely-used institutional data repository developed at Harvard University, which has been in production use since May 2015. As this design differs significantly from common web application design, we also look at how the development team adapted to it, and at how using it affected our development process.
AB - In order to bake security into application design, we introduce an adaptation to the Command pattern: command instances are tagged with the permissions required to perform them for each object they manipulate. Prior to executing a command instance issued by a given user, an execution engine validates the user has the required permissions over the objects the command is about to operate on. Stating the required permissions can often be declarative. In addition to the usual advantages offered by the command pattern (such as standardized operation handling), this adaptation creates a single checkpoint for validating permissions throughout the application. This, in turn, enhances application security and reduces code duplication, for example between the API and UI controllers. Disadvantages include the lack of framework support, and a learning curve for existing developers. We have used this design in implementing Dataverse, a widely-used institutional data repository developed at Harvard University, which has been in production use since May 2015. As this design differs significantly from common web application design, we also look at how the development team adapted to it, and at how using it affected our development process.
KW - Security Design Patterns
KW - Software Engineering
KW - System Design
UR - http://www.scopus.com/inward/record.url?scp=85035789890&partnerID=8YFLogxK
U2 - 10.1109/SecDev.2017.22
DO - 10.1109/SecDev.2017.22
M3 - Conference contribution
AN - SCOPUS:85035789890
T3 - Proceedings - 2017 IEEE Cybersecurity Development Conference, SecDev 2017
SP - 54
EP - 60
BT - Proceedings - 2017 IEEE Cybersecurity Development Conference, SecDev 2017
PB - Institute of Electrical and Electronics Engineers
T2 - 2017 IEEE Cybersecurity Development Conference, SecDev 2017
Y2 - 24 September 2017 through 26 September 2017
ER -