A Formal Methodology for Procedural Security Assessment
|
|
|
- Doris Perry
- 9 years ago
- Views:
Transcription
1 A Formal Methodology for Procedural Security Assessment Komminist Weldemariam and Adolfo Villafiorita Center For Information Technology Fondazione Bruno Kessler Trento 38100, Italy Abstract Formal analysis techniques can deliver important support during ICT-based innovation (or redesign) efforts in e-government services. This paper discusses a formal methodology for assessing the procedural security of an organization. We do so by explicitly reasoning on critical information flow named assets flows. With this it is possible to understand how critical assets are modified in unlawful manner, which can trigger security and privacy violations, thereby (automatically) detecting security weaknesses within an organization under evaluation. Keywords-procedures; security assessment; modeling and analysis; formal methods. I. INTRODUCTION Currently, several organizations and enterprises across many countries are evaluating and introducing ICT-based solutions with the aim of improving and delivering quality (public) services. For instance, very recently the Italian Government launched a certified (in Italian Posta Certificat@ ) service for its citizens [1]. This service enables citizens to legally communicate with the public administration or institutions through a certified system, with the aim of achieving a paperless bureaucracy, thereby reducing time, energy and money waste for institutions and citizens. In this setting, a significant portion of asset that can contain information and data, much of which is sensitive (e.g., the certified account), is managed and controlled by introducing organizational regulations and procedures in order to enhance the security and privacy of (non-) digital assets. Such sensitive assets can also be used in business exchanges among (in the above scenario, e.g., citizens with PA) interbusiness collaborations and (virtual) organizations with a certain understanding on the different roles the participants play; and, at the same time by including assumptions on their correct and incorrect behaviors, and their rights, duties, and obligations in order to avoid misunderstanding and ambiguities in such business relationships. Not to mention, these assets and their interrelations can also contain inherent weaknesses or vulnerabilities [2], [3], [4] and which are of two types. The first, although out of scope, is technical vulnerabilities (for which a number of techniques exist), a hardware or software weakness, or design deficiency, that leaves a system open to attack, thereby resulting in unacceptable risk of information compromise, information alteration, or service denial [5]. The second one is procedural vulnerabilities, weaknesses within an organization due to the lack of proper implementation of security policies related to managerial or procedural deficiency, resulting in compromising the security and privacy of the organization as well as individuals within the organization [3], [6]. However, techniques that can help to model and assess such vulnerabilities are absent or very unsatisfactory, and thus procedural security analysis. This paper complements our previous work [7] by showing how formal techniques can be used for the modeling and analysis of procedures in an organization under evaluation. We do so by presenting a formal framework for representing organization system as assets-flows. The concepts of our framework (roles and actors, actions and processes, responsibilities and constraints) can allow (business or security) analysts to capture organization model in a way that is both intuitive and mathematically formal. The use of a formal technique can allow us to determine whether a given information stipulates certain (procedural) security properties e.g., that the responsibilities assigned to roles are fulfilled and that the constraints are maintained. With this it is possible to understand how critical assets are modified in unlawful manner within an organization. Thus, we believe that, this is important for both developed and developing nations where the development and deployment of ICT-based solutions in several areas of security-critical e-government services or applications are in progress. The next section briefly describes the background material for procedural security analysis. Its formal model is presented in Section III. Section IV discusses the mapping of such model into executable specifications. Finally, conclusion and future work are discussed in Section V. II. PROCEDURAL SECURITY ANALYSIS A typical approach for inherent information flow within an organization is access control (see, e.g., in [8]). That is the accesses of objects by subjects, restricted by specific access permissions e.g., by assigning read and write permissions to some sensitive assets. Moreover, approaches such as based on formal techniques and methodologies have been used to model (system) processes [9], [10], [11], [12]. These works mainly concentrate on constructing business process 146
2 models with correct creation and termination of artifacts during their lifecycle, by providing some supports to perform automated analysis. Accordingly, some of these approaches hint integrations with existing formal methods tools. However, they hardly concentrate on security analysis especially on analyzing the security of organizational or procedural weaknesses. As noted in [13], [14], risks and attacks not only depend upon the security levels the new systems offer, but also occur by circumventing on the procedures and controls regulating the way in which the systems are operated. For example, what happen if one can get a fake certified by circumventing the procedures required for request and delivery of such services. Obviously, this could lead to maliciously communicate with the PA thereby accessing public services accordingly. Therefore, it is important to analyze the security of such procedures that grant accesses to sensitive data and services, and thus procedural security analysis. To be able to conduct a security analysis, at least enough information must be present to deal with assets and global threats, i.e. at an abstract level, subjects and objects in the procedures and system must be identifiable. The starting point of the procedural security analysis methodology is an initial model, describing a coarse procedure or system process without security-related aspects. This model describe the procedure or procedures to be analyzed in a systematic way. Secondly, we extend this model with attack information, meaning that we generate an extended model from the model defined in the previous step. In the extended model, thus, not only assets are modified according to what the procedures define but they can also be transformed by the (random) execution of one or more threat actions. Thirdly, the encoding of the asset-flows in terms of executable specifications is performed using formal language. Fourth, we specify security properties for formal analysis. More specifically, we specify the (un-)desired (procedural) security properties namely, the security goals that have to be satisfied (unsatisfied), are then encoded using mathematical formula, which in turn together with the model are given as input to the analysis tool. Thus, we perform security verification and assess the results. Security verification is the verification that the global security requirements are fulfilled with respect to the threat scenario. If the result of the security verification is that a particular security requirement is violated, there is a corresponding attack on the procedures and consequently on the system. Otherwise, the procedure is secure given the assumptions included in the model. This is obviously via the model checker, i.e., if a property is proved to be false, the analysis tool generates a counterexample which opens up further discussion. III. A FORMAL MODEL OF PROCEDURAL SECURITY Figure 1 shows a high-level representation of the information and the behavioral (i.e., the lifecycle) models of assets. The perspective shown in the figure offers three complementary views: workflow, assets class, and state machine diagram views. In the workflow diagram view, workflow activity sequences are defined. The state machine view describes the behavior of an asset in terms of a transition system in which transitions are enabled due to explicit execution of workflow activities. The activities in the workflow are transformation functions that influence the behaviors of the assets. A finite state transition diagram for each feature of an asset constitutes the global state machine for that asset. Workflow Activity Figure 1. triggers -status -location -value -content... Asset class and Asset flow An asset-flow view of a business process model For instance, Figure 2 shows a simple example of assetflow model for asset instance A with three states [s 1 ], [s 2 ], and [s 3 ]. The corresponding finite state machine, therefore, will possibly have three sequential states each of which corresponds to A s current features values. Figure 2. A [s 1 ] P A [s 2 ] Example of a single instance Asset-flow model in three states. A. Formalization of the Model Elements We assume the following notations and their definitions: T p be a set of primitive types, such as bounded integer and boolean; C be a set of asset classes (names); A be a set of attributes (names); ID C be a set of identifiers that describes the identifiers for each asset class C C; S is a set of assets states, where each s S is a sort of truth assignment over the variables values. Note that all the above sets are finite, which is essential for the formal verification process such as by using model checkers. A type T is an element of the primitive types T p and the class identifiers C; namely, T = T p C (we assume that T p and C are disjoint). P A [s 3 ] 147
3 Definition 3.1: An asset class signature is a triple C, A, ψ where C C, A A is a a set of attributes for the asset class C, and ψ : A T is a total function that maps each attribute of an asset into its corresponding type. Without loss of generality, we assume a fixed interpretation domain associated to each T type. That is the domain of each type t T, denoted D t, is defined in the following way: if t T p is a primitive type, then the domain D t is some known set of values of type (e.g., integer or boolean); if t C an identifier type, then D t defines existing instances of an asset class identifier for t (i.e., D t = ID t ). We require all variables must have their corresponding values all along their life. For undefined location and unassigned content of an asset, we use an undefined and a null constant values respectively. The interpretation is that the location is not known and the content value is not either assigned yet or reset to contain null. Definition 3.2: An asset instance is a triple ID C, C, φ, where ID C ID is a class identifier and φ a partial function, given an instance of a class C, that assigns each variable a A C of type t T a value in D t (i.e., φ(a) = D t (ψ(a))). An asset can have multiple instances. We denote the set of asset instances by O C,C C and O for all instances over Σ. However, in this work, we mainly focus on how a single asset instance I O C can evolve from some initial state through other states. The set of variable-value pairs for I defines the state of a given asset. The state of an asset is, therefore, the current situation called snapshot of an asset instance I and its value is the truth assignment over the variables. An asset is initial, if all the variables are in their initial state and φ is undefined for some attributes and final, if all the variables values do not change anymore. The information provided previously is the basis for the formalization, namely how we represent the assets structure and workflows to arrive at what we call executable models. The formalization allows the model to be more amenable to formal analysis, hence it shifts the focus to dynamic aspects of the assets. 1) Defining Workflow formally: As noted earlier, the initial values for the variables of an asset can be assigned at the time of the instance creation or otherwise assigned by an analyst. However, only due to the execution of a workflow activity over these variables can possibly change the initial configuration of the asset. Roughly speaking, a workflow activity is described by input assets, preconditions, and effects of the activity over the assets (a similar interpretation can be found in [9], [11], [15]). The effect of a workflow activity is regarded as a change in state of the input assets. Not all assets change their states thought, since it is not always the case that an execution of a workflow activity enables state transition to all the input assets (e.g., reading the content of a password does not change its state). For each executable workflow activity we specify which actors participate in the workflow with predefined privileges or responsibilities or both. These information not only allow to describe who does what during the execution of an activity, but, more importantly in the context of organizational security modeling and analysis, who manages what data and with what privileges. Such information are static, namely they are known before executing a workflow (e.g., as described in a legal document or contractual agreement between two entities) and are encoded in our model to describe a workflow scenario. We, therefore, use these information along with the activities to describe a workflow model as a deterministic finite state machine in which the states are constructed by a set of activities, and the transitions are described by the current state and a matching condition over the accessory information. Formally, we define the workflow model as follows. Definition 3.3 (W): A workflow model is a quadruple P, s 0, s f, C, where P is a set of activities or processes (names); s 0, s f P are initial and final activities of the workflow respectively; C is guard expression over accessory information, and; P C P is a transition relation between a current activity and its successor activities in which a transition is labelled with a condition over accessory information. The above definition is meant to express the fact that there exist a set of activities within a particular workflow, that describes a procedure under analysis, in which by knowing the current state of the workflow, and if a condition is met, it should be obvious to determine the next state of the workflow. We call an instance of a workflow model, a program counter pc that contains the value of the current state (i.e., the active activity) in the workflow. There is one program counter pc for each workflow model at run time. In actual business process or workflow specification, in fact, it is possible to have multiple activities that can run in synchronous or asynchronous mode. We focus on sequential execution of a workflow in this work. 2) Defining Asset-flows formally: The state of an asset is specified by the assignments of values to variables (or simply valuations), which allows to describe the evolution of an asset. The evolution is expressed by the sequence of states through which an asset undergoes during the execution of a process. Since the state of an asset is described by the valuations over its variables, therefore, it makes sense to encode the state of each variable as a finite state machine. The workflow instances, along with some matching conditions, define transitions for modeling the lifecycle of the assets. Thus, an asset-flow can easily be modeled using a transition system that facilitate formal analysis. Definition 3.4: An asset-flow model (AFM) is a 5-tuple AS, I, W π, C π, π where 148
4 AS S is a finite set of assets (instances) states; I AS is an initial states of the assets; W π is a set of workflow instances; C π is a set of conditions constructed over the attributes representing the matching construct as a guard, that specify the condition must meet for the state to be changed, along with the current activity; π AS W π C π AS is a transition relation between a current state of an asset and its successor states in which a transition is labelled with an activity and a condition. A collection of individual AFM constitutes assets-flow models, and we represent it by M. Therefore, M is regarded as the global configuration of the domain of interest, namely the procedures under analysis. The semantic of the global configuration M can be interpreted in the following way. Each m M is regarded as an abstract state machine, which has three major components: a workflow activity sequence (possibly maintained in a queue), a workflow activity dispatcher, and an activity processor. Workflow activities are added to the end of the activity queue. The activity dispatcher chooses, dequeues, and provides the next pc (i.e., an activity) to the activity processor. Each pc is then used as a transformation function that can possibly change the state of an asset by modifying or changing one or more variables values of the asset. One state machine per feature variable encodes the lifecycle of that state variable. A set of such state machines constitutes the global state machine for the corresponding asset instance. By defining a semantic for the state machines corresponding to each feature of an asset and linking it with m M, therefore, we have implicitly defined how M behaves. B. Model Extension In order to analyze what are the possible attacks of a given (set of) procedures, we need to encode asset threats in the nominal model and generate the extended model for M. Structurally, in fact, there is no difference between M and the extended model. However, the main difference lies on the assets state set and on the transitions specification. This means that, the extended model possibly will have more states than the other due to the execution of threat-actions that can change the state of an asset into an undesired one. On the transitions side, on the other hand, the definition did specify the fact that transitions are triggered only by nominal workflow activities. We need to incorporate in the extended model the fact that an asset could be in any possible states and that such states can also be changed by the execution of malicious processes. However, it is pretty straightforward from the definition we gave and by extending the definition of the workflow model to include all the malicious processes that an adversary might execute. Thus, in extended model, assets are not only manipulated according to what should happen in the nominal case, but can also be transformed by the execution of one or more assets threat-actions. IV. ENCODING USING FORMAL LANGUAGE Assets-flow models M can become executable specification to allow formal analysis through verification tools on their evolution, including their malicious evolution due to threat-actions. Our aim here is to represent the model M into executable specification using NuSMV input language [16]. As noted in [16], the NuSMV semantic is based on a state-based formalism in which the behavior is defined by Kripke transition systems. However, the definition we gave for M is an action-based formalism in which the behavior is defined by (a sort of) labelled transition systems. Thus, we need to rearrange the previous definition to align with the semantic of Kripke structure so that the encoding of NuSMV specifications can be tackled. Definition 4.1: Let APs are set of atomic propositions ranged over some boolean expressions on the valuations of the variables. An asset flow model (AFM) is a Kripke structure over a set of atomic propositions AP defined by a quadruple AS K, I K, K, L K where AS K is a finite set of assets (instances) states; I K AS K is set of initial states; K AS K AS K is a transition relation between a current state of an asset and its successor states; L K : AS K 2 AP is the labeling function which returns the set of atomic propositions which hold in a state. The encoding of M in the NuSMV input language can be treated as a problem of defining a mapping between the two structures, i.e., between the structure specifying the model M and the Kripke structure. More specifically, the following encoding rules are defined to map M into the NuSMV counterpart. Rule 1: The workflow model is encoded in NuSMV as a special module, and each workflow activity p i P for i = 1,..., n representing the domain activities (i.e., processes) in W are encoded in the NuSMV input language as a scalar variable program counter (pc) in which p i are its symbolic values. In order to determine the state transition of the program counter, we introduce some predicates (see Table I). They are mainly associated with the accessary information, such as actor-role and actor-activity assignments. The table also shows the corresponding state variables in NuSMV input language. Rule 2: The accessary information are encoded in the NuSMV input language within the W orkflow module in the following way (see also Table I): For each actor-role assignment, we introduce a variable assign a r. assign a r is true iff the predicate AssignR(a,r) is true for an actor a Actor and a role r Role; 149
5 Table I ACCESSORY INFORMATION AS PREDICATES. Predicate Meaning NuSMV variable AssignR(a,r) assignment of actor a Actor to role r Role assign a r AssignA(a,p) assignment of actor a Actor to an activity p P assign a p r Active for a role r Role is active for actor a A activefor a r ExecA(a,p) actor a A executes an activity p P exec a p For each actor-process assignment, we introduce a variable assign a p. assign a p is true iff the predicate AssignA(a,r) is true for an actor a Actor and an activity p P ; For each role activation r Active for a, we define a state variable Activefor a r; Similarly, we define a variable Exec a p for every actor performing an activity, i.e., iff ExecA(a,p) is true. Rule 2 defines accessary information for the transition relation of pc state variable. Notice that activities can only be executed if the activity instance in question is assigned to an actor i.e., ExecA(a,p) AssignA(a,p). Moreover, a group of actors can perform the same activity, as discussed in the previous chapter. Rule 3: For each asset instance in O, a NuSMV module is defined: MODULE ASSET_NAME (...) Rule 4: An asset with no content in M 1 is mapped to a symbolic value null in NuSMV. Similarly, an asset whose current location is not known or unspecified in M 1 is mapped to a symbolic value unspecified in NuSMV. Rule 5: The location, representing all the possible places of an asset, is encoded in the NuSMV input language as scalar variables loc in which loc i for i = 1,..., n and undefined are its symbolic values. The content, representing all the contents of an asset at a particular point of time, is encoded in the NuSMV input language as content in which content i for i = 1,..., n and null are its symbolic values. The value, representing all security risk values for an asset, is encoded in NuSMV input language as value in which nov alue, low, high and critical are its symbolic values. Finally, each domain specific property of an asset in an asset-flow model is encoded as a boolean value in NuSMV. Rule 3 states that a module is defined for each asset (instance) in M. In Rule 5, whereas each feature of the asset is defined as a state variable within the asset module specification. An unknown location and a null value are both encoded by symbolic values as defined by Rule 4. Rule 6: The transition specification for each state variable is encoded by the current value of the program counter and some boolean expressions over the current state of the asset. The above rule (i.e., Rule 6) encodes the transition specifications. The transition from one asset state to the next is determined by the current value of the pc and some condition over the current state of the asset instance. Since all the above rules are related to the encoding of M, we need to provide additional rule for encoding the extended model. The model extension corresponds to proving an extension in the NuSMV model with one or more applicable attack-actions. That is, a specification of how the assets can be in undesired states. This can be done by associating threat-actions with variables defined inside the module per asset instance. Moreover, the Workflow module should also need to be extended in order to include the malicious process executions. In particular, the model extension can be done by using the following strategies: by defining a scalar state variable to encode all the possible malicious process within the Workflow module. Therefore, the program counter does not only have values from nominal workflow activities but also from possible set of malicious workflow activities; by defining a transition specification for each activation of a threat-action on asset instance under the corresponding asset module in NuSMV, where the malicious activity is in place for enabling the transition; by defining boolean variable to monitor the execution of the corresponding threat-action. This variable will be true iff when the corresponding threat-action takes place; by introducing a scalar value garbage for the content state variable related to the introduction of malicious asset and a boolean variable. This variable will be true iff a predicate associated with the action (e.g., MAsset(t)) is true by a threat-action, say t. The above strategies facilitate the task of model extension, by adding a number of boolean appendage variables that are needed to capture the malicious asset flows and the execution of threat actions to form the extended model specification in NuSMV input language. In this way, therefore, the model extension is performed for each applicable threataction against the normal flow of assets. At this point, we have the model representing the assets-flows, which is ready to supply for the analysis tool. Before the analysis, however, we need to describe the security properties we intend to check against the model using standard LTL/CTL logic. Once all the properties of interest are specified with respect to the analysis goals, the next activities are formal verification and analysis of the results. Security verification is the verification that the global security requirements are fulfilled with respect to the threat scenario. If the result of the 150
6 security verification is that a particular security requirement is violated, there is a corresponding attack on the procedures and consequently on the system. Otherwise, the procedure is secure given the assumptions included in the model. This is obviously via the model checker, i.e., if a property is proved to be false, the analysis tool generates a counterexample which opens up further discussion. V. CONCLUSION AND FUTURE WORK We have described a framework where procedurally rich systems in model-based assessment drive the construction of models by extending the usage scenario of procedural security analysis. The presented approach is aimed at basic security aspects relevant for organizational-oriented processes, providing guidelines to analyst performing procedural security analysis based on explicit reasoning on assets-flows. The approach can be used to analyze and evaluate the impact of threats, and consequently to come out with a set of (security) procedural requirements. Thus, an organization or enterprise can apply the approach to assess their procedural security posture prior to introduce ICT-based solutions. Here, assurance is not implied by the trust in the model but follows from the formal analysis of the model. The analysis is based on a set of formal security requirements and provides formal proofs for use as countermeasures (i.e., evidence). The work described here is still in progress, and we are currently completing the theoretical framework of the approach. We admit that this work clearly lacks a working case study, illustrating a proof of concept of the presented approach. Moreover, the implementation of the approach in terms of a tool is not discussed. However, we are currently defining a model-based verification approach using UML. More specifically, we reuse existing formal semantics for UML activity diagrams specifying workflow models that correspond to the asset-flows semantics discussed in this paper. The semantics will be translated to NuSMV model based on meta-model transformations. To translate a UML activity diagram model into the NuSMV counterpart, we use an intermediate model called activity hyper-edge model which abstracts the activity diagram, specifically according to the semantics of the asset-flow model. The definition of a set of generic library of attack models corresponding to threat-actions is part of the future work. REFERENCES [1] Italian Ministry of Public Affairs and Innovation, It: Launch of a certified system to communicate with the public administration, gov.it/lazione-del-ministro/iniziative-e-sperimentazioni/ sperimentazione-pec/pec-primo-piano.aspx, October [2] Federal Agency for Security in Information Technology, IT Baseline Protection Manual, itbpm.pdf., October Last accessed on Feb [3] Common Criteria, Common Criteria for Information Technology Security Evaluation, Last accessed on Nov [4] S. E. Parkin, A. van Moorsel, and R. Coles, An Information Security Ontology Incorporating Human-Behavioural Implications, in SIN 09. ACM, 2009, pp [5] M. Bishop, Computer Security Art and Science. Addison- Wesley Longman Publishing Co., Inc., [6] B. S. Institution, BS ISO/IEC 27002:2005 Information Technology Security Techniques Code of Practice for Information Security Management, Last accessed on Feb [7] K. Weldemariam and A. Villafiorita, Formal Procedural Security Modeling and Analysis, in Proceedings the International Conference on Risks and Security of Internet and Systems, ser. CRiSiS 08. IEEE, 2008, pp [8] Ravi S. Sandhu and Edward J. Coyne and Hal L. Feinstein and Charles E. Youman, Role-Based Access Control Models, IEEE Computer, vol. 29, no. 2, pp , [9] M. Koubarakis and D. Plexousakis, A Formal Model for Business Process Modeling and Design, in CAiSE, ser. LNCS, Benkt Wangler and Lars Bergman, Ed. Springer, 2000, pp [10] R. Eshuis, Symbolic Model Checking of UML Activity Diagrams, ACM Trans. Softw. Eng. Methodol., vol. 15, no. 1, pp. 1 38, [11] K. Bhattacharya, C. E. Gerede, R. Hull, R. Liu, and J. Su, Towards Formal Analysis of Artifact-Centric Business Process Models, in Proceedings of the 5th international conference on Business process management, ser. BPM 07, vol Springer, 2007, pp [12] A. Deutsch, R. Hull, F. Patrizi, and V. Vianu, Automatic Verification of Data-Centric Business Processes, in ICDT 09. ACM, 2009, pp [13] A. Xenakis and A. Macintosh, Procedural Security Analysis of Electronic Voting, in Proceedings of the 6th international conference on Electronic commerce, ser. ICEC 04. ACM Press, 2004, pp [14] K. Weldemariam, Using Formal Methods for Building More Secure and Reliable e-voting Systems, Ph.D. dissertation, University of Trento, Via Sommarive 14, March [15] C. E. Gerede and J. Su, Specification and Verification of Artifact Behaviors in Business Process Models, in ICSOC, ser. LNCS, vol Springer, 2007, pp [16] A. Cimatti, E. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore, M. Roveri, R. Sebastiani, and A. Tacchella, NuSMV 2: An Open Source Tool for Symbolic Model Checking, in CAV 02, ser. LNCS. Springer, January 2002, pp
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Using Patterns and Composite Propositions to Automate the Generation of Complex LTL
University of Texas at El Paso DigitalCommons@UTEP Departmental Technical Reports (CS) Department of Computer Science 8-1-2007 Using Patterns and Composite Propositions to Automate the Generation of Complex
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
Revision History Revision Date 3.0 14.02.10. Changes Initial version published to http://www.isasecure.org
SDLA-312 ISA Security Compliance Institute Security Development Lifecycle Assurance - Security Development Lifecycle Assessment v3.0 Lifecycle Phases Number Phase Name Description PH1 Security Management
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Enforcing Security Policies. Rahul Gera
Enforcing Security Policies Rahul Gera Brief overview Security policies and Execution Monitoring. Policies that can be enforced using EM. An automata based formalism for specifying those security policies.
SUPPORTING KNOWLEDGE WORKERS: CASE MANANGEMENT MODEL AND NOTATION (CMMN)
INFORMATION SYSTEMS IN MANAGEMENT Information Systems in Management (2013) Vol. 2 (1) 3 11 SUPPORTING KNOWLEDGE WORKERS: CASE MANANGEMENT MODEL AND NOTATION (CMMN) AGNIESZKA GRUDZIŃSKA-KUNA Department
Business Process Modeling Information Systems in Industry (372-1-4207 )
Business Process Modeling Information Systems in Industry (372-1-4207 ) Arnon Sturm The material of this presentation is adopted from various people including:, Pnina Soffer, Iris Reinhartz-Berger 1 Outline
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
A Survey on Requirements and Design Methods for Secure Software Development*
A Survey on Requirements and Design Methods for Secure Software Development* Muhammad Umair Ahmed Khan and Mohammad Zulkernine School of Computing Queen s University Kingston, Ontario, Canada K7L 3N6 {umair
-.% . /(.0/.1 . 201 . ) 53%/(01 . 6 (01 (%((. * 7071 (%%2 $,( . 8 / 9!0/!1 . # (3(0 31.%::((. ;.!0.!1 %2% . ".(0.1 $) (%+"",(%$.(6
!""#"" ""$"$"# $) ""$"*$"# %%&''$ $( (%( $) (%+"",(%$ -.% Number Phase Name Description. /(.0/.1.(((%( $. 201 2,%%%% %$. %(01 3-(4%%($. ) 53%/(01 %%4.%%2%, ($. 6 (01 (%((. * 7071 (%%2. 8 / 9!0/!1 ((((($%
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
KNOWLEDGE FACTORING USING NORMALIZATION THEORY
KNOWLEDGE FACTORING USING NORMALIZATION THEORY J. VANTHIENEN M. SNOECK Katholieke Universiteit Leuven Department of Applied Economic Sciences Dekenstraat 2, 3000 Leuven (Belgium) tel. (+32) 16 28 58 09
Secure Database Development
Secure Database Development Jan Jurjens () and Eduardo B. Fernandez (2) () Computing Department, The Open University, Milton Keynes, MK7 8LA GB http://www.jurjens.de/jan (2) Dept. of Computer Science,
A logical approach to dynamic role-based access control
A logical approach to dynamic role-based access control Philippe Balbiani Yannick Chevalier Marwa El Houri Abstract Since its formalization RBAC has become the yardstick for the evaluation of access control
The ProB Animator and Model Checker for B
The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ,
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Meta-Model specification V2 D602.012
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR
Patterns for Secure Boot and Secure Storage in Computer Systems
Patterns for Secure Boot and Secure Storage in Computer Systems Hans Löhr, Ahmad-Reza Sadeghi, Marcel Winandy Horst Görtz Institute for IT Security, Ruhr-University Bochum, Germany {hans.loehr,ahmad.sadeghi,marcel.winandy}@trust.rub.de
A Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK [email protected] Abstract. Contracts have proved a powerful concept
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
Fabio Patrizi DIS Sapienza - University of Rome
Fabio Patrizi DIS Sapienza - University of Rome Overview Introduction to Services The Composition Problem Two frameworks for composition: Non data-aware services Data-aware services Conclusion & Research
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey
Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey George Chatzikonstantinou, Kostas Kontogiannis National Technical University of Athens September 24, 2012 MESOCA 12,
http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86
Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture
5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Knowledge-based Approach in Information Systems Life Cycle and Information
A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT
A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT Chandramohan Muniraman, University of Houston-Victoria, [email protected] Meledath Damodaran, University of Houston-Victoria, [email protected]
Development of dynamically evolving and self-adaptive software. 1. Background
Development of dynamically evolving and self-adaptive software 1. Background LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 Requirements Functional requirements
CHAPTER THREE, Network Services Management Framework
CHAPTER THREE, Acronyms and Terms 3-3 List of Figures 3-4 1 Introduction 3-5 2 Architecture 3-6 2.1 Entity Identification & Addressing 3-7 2.2 Management Domain Registration and Information Service 3-7
SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS
SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS Abstract: The Single sign-on (SSO) is a new authentication mechanism that enables a legal user with a single credential
Automated Route Planning for Milk-Run Transport Logistics with the NuSMV Model Checker
IEICE TRANS. INF. & SYST., VOL.E96 D, NO.12 DECEMBER 2013 2555 PAPER Special Section on Parallel and Distributed Computing and Networking Automated Route Planning for Milk-Run Transport Logistics with
Information Technology Security Evaluation Criteria. ITSEC Joint Interpretation Library (ITSEC JIL)
S Information Technology Security Evaluation Criteria ITSEC Joint Interpretation Library (ITSEC JIL) Version 2.0 November 1998 This document is paginated from i to vi and from 1 to 65 ITSEC Joint Interpretation
The Course. http://www.cse.unsw.edu.au/~cs3153/
The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,
Statically Checking API Protocol Conformance with Mined Multi-Object Specifications Companion Report
Statically Checking API Protocol Conformance with Mined Multi-Object Specifications Companion Report Michael Pradel 1, Ciera Jaspan 2, Jonathan Aldrich 2, and Thomas R. Gross 1 1 Department of Computer
Degrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets.
Degrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets. Logic is the study of reasoning. A language of propositions is fundamental to this study as well as true
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications Khusbu Bubna RC Junit concrete test cases suitable for execution on the implementation. The remainder
InvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
Algorithmic Software Verification
Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal
Automata-based Verification - I
CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: [email protected] March 2006 Supporting and Background Material Copies of key slides (already
CTI Higher Certificate in Information Systems (Engineering)
CTI Higher Certificate in Information Systems (Engineering) Module Descriptions 2015 CTI is part of Pearson, the world s leading learning company. Pearson is the corporate owner, not a registered provider
T-79.186 Reactive Systems: Introduction and Finite State Automata
T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software
Requirements for Software Deployment Languages and Schema
Requirements for Software Deployment Languages and Schema Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf Software Engineering Research Laboratory Department of Computer Science University of Colorado
From Object Oriented Conceptual Modeling to Automated Programming in Java
From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.
Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources
Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources Athanasios Naskos, Emmanouela Stachtiari, Panagiotis Katsaros, and Anastasios Gounaris Aristotle University of Thessaloniki,
WebSphere Business Modeler
Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration
Federated, Generic Configuration Management for Engineering Data
Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements
Filling the Gap between Business Process Modeling and Behavior Driven Development
Filling the Gap between Business Process Modeling and Behavior Driven Development Rogerio Atem de Carvalho Rodrigo Soares Manhães Fernando Luis de Carvalho e Silva Nucleo de Pesquisa em Sistemas de Informação
A Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets
9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)
A Security Approach in System Development Life Cycle
A Security Approach in System Development Life Cycle (1) P.Mahizharuvi, Research Scholar, Dept of MCA, Computer Center, Madurai Kamaraj University, Madurai. [email protected] (2) Dr.K.Alagarsamy,
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP
EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP Hong Jiang Mathematics & Computer Science Department, Benedict College, USA [email protected] ABSTRACT DCSP (Distributed Constraint Satisfaction Problem) has
SERENITY Pattern-based Software Development Life-Cycle
SERENITY Pattern-based Software Development Life-Cycle Francisco Sanchez-Cid, Antonio Maña Computer Science Department University of Malaga. Spain {cid, amg}@lcc.uma.es Abstract Most of current methodologies
How To Manage Security On A Networked Computer System
Unified Security Reduce the Cost of Compliance Introduction In an effort to achieve a consistent and reliable security program, many organizations have adopted the standard as a key compliance strategy
ITIL V3 and ASL Sound Guidance for Application Management and Application Development
For IT V3 and Sound Guidance for Application and Application Development Machteld Meijer, Mark Smalley & Sharon Taylor Alignment White Paper January 2008 V3 & : A Comparison Abstract In May 2007, the Office
Complete Web Application Security. Phase1-Building Web Application Security into Your Development Process
Complete Web Application Security Phase1-Building Web Application Security into Your Development Process Table of Contents Introduction 3 Thinking of security as a process 4 The Development Life Cycle
CS 392/681 - Computer Security. Module 16 Vulnerability Analysis
CS 392/681 - Computer Security Module 16 Vulnerability Analysis Course Policies and Logistics Homework 5 due tonight Homework 6 posted Read Chapter 23 11/13/2003 Module 16 - Vulnerability Analysis 2 Some
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
Firewall Verification and Redundancy Checking are Equivalent
Firewall Verification and Redundancy Checking are Equivalent H. B. Acharya University of Texas at Austin [email protected] M. G. Gouda National Science Foundation University of Texas at Austin [email protected]
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering
Data Validation with OWL Integrity Constraints
Data Validation with OWL Integrity Constraints (Extended Abstract) Evren Sirin Clark & Parsia, LLC, Washington, DC, USA [email protected] Abstract. Data validation is an important part of data integration
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
A methodology for secure software design
A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 [email protected] 1. Introduction A good percentage of the
Security Testing. How security testing is different Types of security attacks Threat modelling
Security Testing How security testing is different Types of security attacks Threat modelling Note: focus is on security of applications (not networks, operating systems) Security testing is about making
A Modeling Ontology for Integrating Vulnerabilities into Security Requirements Conceptual Foundations
A Modeling Ontology for Integrating Vulnerabilities into Security Requirements Conceptual Foundations Golnaz Elahi 1, Eric Yu 2, and Nicola Zannone 3 1 Department of Computer Science, University of Toronto
Analyzing and Managing Role-Based Access Control Policies
1 Analyzing and Managing Role-Based Access Control Policies Karsten Sohr, Michael Drouineaud, Gail-Joon Ahn, and Martin Gogolla Abstract Today more and more security-relevant data is stored on computer
The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary
The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary Workflow The automation of a business process, in whole or part, during which documents, information
Towards Security Risk-oriented Misuse Cases
Towards Security Risk-oriented Misuse Cases Inam Soomro and Naved Ahmed Institute of Computer Science, University of Tartu J. Liivi 2, 50409 Tartu, Estonia {inam, naved}@ut.ee Abstract. Security has turn
A Meeting Room Scheduling Problem
A Scheduling Problem Objective Engineering, Inc. 699 Windsong Trail Austin, Texas 78746 512-328-9658 FAX: 512-328-9661 [email protected] http://www.oeng.com Objective Engineering, Inc., 1999-2007. Photocopying,
REGULATIONS FOR THE SECURITY OF INTERNET BANKING
REGULATIONS FOR THE SECURITY OF INTERNET BANKING PAYMENT SYSTEMS DEPARTMENT STATE BANK OF PAKISTAN Table of Contents PREFACE... 3 DEFINITIONS... 4 1. SCOPE OF THE REGULATIONS... 6 2. INTERNET BANKING SECURITY
Secure Semantic Web Service Using SAML
Secure Semantic Web Service Using SAML JOO-YOUNG LEE and KI-YOUNG MOON Information Security Department Electronics and Telecommunications Research Institute 161 Gajeong-dong, Yuseong-gu, Daejeon KOREA
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
Execution of A Requirement Model in Software Development
Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton
Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary
Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata
CREDENTIALS & CERTIFICATIONS 2015
THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2015 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 3 Software Design
Cassandra. References:
Cassandra References: Becker, Moritz; Sewell, Peter. Cassandra: Flexible Trust Management, Applied to Electronic Health Records. 2004. Li, Ninghui; Mitchell, John. Datalog with Constraints: A Foundation
The Phios Whole Product Solution Methodology
Phios Corporation White Paper The Phios Whole Product Solution Methodology Norm Kashdan Phios Chief Technology Officer 2010 Phios Corporation Page 1 1 Introduction The senior staff at Phios has several
An Object Oriented Role-based Access Control Model for Secure Domain Environments
International Journal of Network Security, Vol.4, No.1, PP.10 16, Jan. 2007 10 An Object Oriented -based Access Control Model for Secure Domain Environments Cungang Yang Department of Electrical and Computer
Compliance and Requirement Traceability for SysML v.1.0a
1. Introduction: Compliance and Traceability for SysML v.1.0a This document provides a formal statement of compliance and associated requirement traceability for the SysML v. 1.0 alpha specification, which
Monitoring Metric First-order Temporal Properties
Monitoring Metric First-order Temporal Properties DAVID BASIN, FELIX KLAEDTKE, SAMUEL MÜLLER, and EUGEN ZĂLINESCU, ETH Zurich Runtime monitoring is a general approach to verifying system properties at
