资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,MDA and Security,October 12,2006,FAU Secure Systems Group,Patrick Morrison,Agenda,Motivation for“MDA and Security,Secure Systems Methodology,with patterns,A quick tour of MDA,in English this time,Example Application,MDA in the development lifecycle,Evaluation Criteria,Contributions,Next Steps,The problem of Security,“A good percentage of the software deployed in industrial/commercial applications is of poor quality,it is unnecessarily complex,and contains numerous flaws that can be exploited by attackers.,“We believe that the solution lies in developing secure software from the beginning,applying security principles along the whole life cycleWe see the use of patterns as a fundamental way,even for developers with little experience,to implicitly apply security principles.,MDSSP,EBF,et.al.,Secure Systems Methodology MDSSP,Stage,Tasks,Requirements,Use case based role and attack analysis,Analysis,Authorized semantic analysis patterns,Design,Coordinated application of patterns to multiple architectural layers,Implementation,MDA Code Generation,Methodology Patterns,Design(and other)patterns,“A design pattern names,abstracts and identifies the key aspects of a common design structure that makes it useful for creating a reusable object-oriented design GOF,pg 3,The promise of MDA,by using“precise but abstract and graphical representations of algorithms,MDA allows the construction of computing systems from models that can be understood much more quickly and deeply than can programming language“code MDAD,pg.xiv.,The Question(s),Can MDA be applied to the design and construction of secure systems?,To what degree is it now possible to work in terms of high-level models rather than code?,Does MDA allow for the creation and reuse of generic models?,Does MDA reduce the amount of low-level work that needs to be done?,Combining Patterns,Security and MDA:SOUPCAN,Secure grOUP Chat Application for Networks,Provide invitation-only chat rooms with secure communications,allowing participants to form“cliques in order to gossip,plan wars,etc,Example of using the secure systems methodology with MDA,SOUPCAN,Requirements chosen to facilitate use of existing security patterns,e.g.Reference Monitor,Authenticator,Authorizer,Credentials,Secure Broker,(Hopefully)Small enough to be implementable,(Hopefully)Large enough to illustrate issues in application of MDA,Secure Systems with Patterns Methodology.,Lifecycle Step:Analysis,Process:Evaluate requirements,identify use cases,high-level structure,apply patterns where appropriate,Results:Application model containing UML Use Case and Class diagrams,SOUPCAN Use Cases,UML Built with MagicDraw,Stored as XMI data,Excerpt:,Lifecycle Step:Design,Process:Develop class and sequence diagrams which implement the Use Cases,apply patterns where appropriate,Results:Application and Security models containing UML Class and sequence diagrams,SOUPCAN Class Diagram,SOUPCAN Class Diagram,Its(Secure)Broker!,Architectural concerns for implementing Secure Broker,*Diagram from MDSSP,Lifecycle Step:Implementation,Process:Select a platform and platform model,make connections between the design and the platform,via the platform model,Selected:MagicDraw,androMDA,C#,ASP.NET,Visual Studio,nHibernate,Results:Code generated from the models,Implementation Details,:32,997-discovering namespaces-,:34,440 found namespace-aspdotnet,:34,440 +registering component cartridge,:34,870 +registering component metafacades,:35,331 +registering component profile,:40,628 found namespace-uml-1.4,:40,628 +registering component metafacades,:41,960 +registering component profile,:42,000 found namespace-validation,:42,010 +registering component translation-library,:53,948-core initialization complete:22.373s-,:54,568 loading model-file:C:/,TimeTracker.Model.xmi,:58,905 referenced model-jar:file:/uml14/profile/profile-.xml,:59,045 referenced model-profile-datatype.xml,:59,285 referenced model-profile-service.xml,:59,445 referenced model-profile-process.xml,:59,576 referenced model-profile-presentation.xml,:59,746 referenced model-profile-meta.xml,:59,866 referenced model-profile-xml.xml,:59,986 referenced model-andromda-profile-persistence.xml,:01,118-loading complete:7.13s-,:01,118-validating model-,:06,175-validation complete:5.057s-,:07,076 INFO AndroMDA:cs Output:file:/C:./TimeTracker/VO/,UserVO.cs,/Name:,UserVO.cs,/Attention:Generated code!Do not modify by hand!(I did anyway),/Generated by:ValueObject.vsl in andromda-cs-cartridge.,using System;,namespace Northwind.TimeTracker.VO,Serializable,public class UserVO,#region Attributes and Associations,private long _id;,private String _userName;,private String _roles;,#endregion,#region Constructors,public UserVO(long id,String userName,String roles),this._id=id;,this._userName=userName;,this._roles=roles;,Mapping,Evaluation,Does the generated code implement the design?Can users of t
展开阅读全文