How To Manage Security In An Enterprise Network
|
|
|
- Bernard Powers
- 5 years ago
- Views:
Transcription
1 Using Network Security Management to solve Boolean Satisfiability Problem Mekala Bhaskar, G.VishnuMurthy, V.Amarnath Department of CSE, Anurag Group of Institutions, CVSR College of Engineering, jodimetla, Ghatakesar, Hyderabad, AP, India ABSTRACT- Enterprise network security management is a complex task of balancing security and usability, with trade-offs often necessary between the two. Past work has provided ways to identify intricate attack paths due to misconfiguration and vulnerabilities in an enterprise system, but little has been done to address how to correct the security problems within the context of various other requirements such as usability, ease of access, and cost of countermeasures. This paper presents an approach based on Boolean Satisfiability Solving (SAT Solving) that can reason about attacks, usability requirements, cost of actions, etc. in a unified, logical framework. Preliminary results show that the approach is both effective and efficient. General Terms Boolean Satisfiability Problem (SAT), Computer Network Management, Computer Network Security, Risk Analysis, Security, Scalability consider security requirements; simply shutting down the whole network would resolve any security issues. But configuration changes aimed at correcting security flaws must be made in a context-aware manner, carefully balancing the system s security and usability. Existing works in enterprise network security analysis, such as MulVAL [19], [20], can identify all possible attack paths in an enterprise system and output them in a graph structure. This structure provides a good foundation for addressing how to automatically find the best way to correct the security problems presented in the analysis results. We have developed a systematic approach, shown in Figure1, to aid a human in confronting these difficulties. The current (problematic) network configuration settings are 1. INTRODUCTION In computer science, satisfiability (often written in all capitals or abbreviated SAT) is the problem of determining if the variables of a given Boolean formula can be assigned in such a way as to make the formula evaluate to TRUE. Equally important is to determine whether no such assignments exist, which would imply that the function expressed by the formula is identically FALSE for all possible variable assignments. In this latter case, we would say that the function is unsatisfiable; otherwise it is satisfiable. For example, the formula a AND b is satisfiable because one can find the values a = TRUE and b = TRUE, which make a AND b TRUE. To emphasize the binary nature of this problem, it is frequently referred to as Boolean or propositional satisfiability.sat was the first known example of an NP-complete problem. That briefly means that there is no known algorithm that efficiently solves all instances of SAT, and it is generally believed (but not proven, see P versus NP problem) that no such algorithm can exist. Further, a wide range of other naturally occurring decision and optimization problems can be transformed into instances of SAT. A class of algorithms called SAT solvers can efficiently solve a large enough subset of SAT instances to be useful in various practical areas such as circuit design and automatic theorem proving, by solving SAT instances made by transforming problems that arise in those areas. Extending the capabilities of SAT solving algorithms is an ongoing area of progress. However, no current such methods can efficiently solve all SAT instances. To make things more complicated, requirements for usability are often at odds with those for security. Configuration management would be a trivial problem if one only needed to Fig. SAT-based configuration generation passed into the MulVAL toolkit, which produces a logical proof graph identifying all potential attack paths by which an attacker might exploit system resources. This proof graph is converted into a Boolean formula in conjunctive normal form that relates configuration settings and attacker actions with potential effects, such as an attacker being able to execute arbitrary code on a computer in the network. Security and usability requirements, provided by the human user, are also converted into conjunctive normal form and added to the Boolean formula, and this combined formula φ is processed by a SAT solver. A human user can further train the SAT solver as to the relative value of various system resources and usages.working interactively, the human user is able to quickly identify and resolve network security issues without unknowingly lessening the system usability. As the tool is trained, the degree of automation should increase, producing sound and desirable reconfiguration suggestions with minimal human involvement. In this approach, we use two SAT solving techniques: 3672
2 1) MinCostSAT can utilize user-provided discrete cost values, associated with changing a given configuration setting or allowing an attacker a given amount of access, to find a mitigation solution that minimizes the cost in terms of both security risk and usability impairment. 2) By examining the unsat core, a minimal set of configurations and policy requirements that conflict, wenarrow the complexity of a reconfiguration dilemma to a straightforward choice between options. Past policy decisions by the human user are placed in a partialorderlattice and used to further reduce the scope of the decisions presented to the user. By this approach, the human user is not expected to fully comprehend the effects, both good and bad, of all aspects of network configuration, but only to make decisions on the Fig. 2. A MulVAL proof graph Immediate relative value of specific instances of usability and security. In this way, we reduce an extremely complex problem to one of more manageable proportions, automating the verification of both security and usability policies while introducing a method by which conflicts can be quickly and verifiably resolved. II. MULVAL SECURITY ANALYZER We use the MulVAL tool suite [19], [20] for our work.mulval is a security analyzation tool that, given initial network configurations (machines, active services, inter-host reach ability, etc.) and a database of known vulnerabilities, can identify all potential attack paths by which an attacker can exploit the system. These attack paths are assembled in a logical proof graph, showing how potentially successful attacks into the network are enabled by initial attacks on the outer edges. MulVAL s reasoning engine is specified declaratively in Datalog [1], providing inherent soundness of the results as well as an efficient O(N2) running time [19]. Figure 2 shows part of the proof graph for an example enterprise network we studied. The diamond-shaped nodes in the graph represent privileges an attacker can gain through the exploits depicted as the elliptical nodes. System configuration data are represented by the rectangular nodes, such as c1, c2, c3, c4, c5. These can be both administrator defined configuration settings, like host access permissions, and unintentional facts, such as an existing vulnerability in a specific application. The potential exploits - e1, e2, e3 - link the causality relationship between a privilege that an attacker can gain and the preconditions that make this possible. For example, node e1 could correspond to a remote buffer overflow attack on a service. It links the effect of the attack, p1 (which means the attacker can gain privilege on the victim machine), to pre-conditions for the attack, such as c1 (which could mean the existence of a buffer-overflow vulnerability in the service program), and p2 (which could mean the attacker s ability to send a maliciously crafted packet to the vulnerable service). All the arcs coming out of an exploit node like e1 form a logical AND relation, requiring all of its children to be true before this exploit can be used. The arcs coming out of a privilege node like p1 form a logical OR relation, in which multiple descendant nodes indicate alternative exploits by which an attacker can gain this privilege. Although we have chosen to build our implementation based on the MulVAL proof graph, our approach can be based easily on other, similar tools for the production of network attack graphs (or fault propagation models) [6], [7], [11] satisfiability Main article: 2-satisfiability SAT is also easier if the number of literals in a clause is limited to 2, in which case the problem is called 2SAT. This problem can also be solved in polynomial time, and in fact is complete for the class NL. Similarly, if we limit the number of literals per clause to 2 and change the AND operations to XOR operations, the result is exclusive-or 2-satisfiability, a problem complete for SL = L. One of the most important restrictions of SAT is HORNSAT, where the formula is a conjunction of Horn clauses. This problem is solved by the polynomial-time Horn-satisfiability algorithm, and is in fact P-complete. It can be seen as P's version of the Boolean satisfiability problem. Provided that the complexity classes P and NP are not equal, none of these restrictions are NP-complete, unlike SAT. The assumption that P and NP are not equal is currently not proven [Edit] 3-satisfiability 3-satisfiability is a special case of k-satisfiability (k-sat) or simply satisfiability (SAT), when each clause contains exactly k = 3 literals. It was one of Karp's 21 NP-complete problems. Here is an example, where indicates negation: E has two clauses (denoted by parentheses), four variables (x 1, x 2, x 3, x 4 ), and k=3 (three literals per clause). To solve this instance of the decision problem we must determine whether there is a truth value (TRUE or FALSE) we can assign to each of the variables (x 1 through x 4 ) such that the entire expression is TRUE. In this instance, there is such an 3673
3 assignment (x 1 = TRUE, x 2 = TRUE, x 3 =TRUE, x 4 =TRUE), so the answer to this instance is YES. This is one of many possible assignments, with for instance, any set of assignments including x 1 = TRUE being sufficient. If there were no such assignment(s), the answer would be NO. 3-SAT is NP-complete and it is used as a starting point for proving that other problems are also NP-hard. This is done by polynomial-time reduction from 3-SAT to the other problem. An example of a problem where this method has been used is the Clique problem. 3-SAT can be further restricted to One-inthree 3SAT, where we ask if exactly one of the literals in each clause is true, rather than at least one. This restriction remains NP-complete There is a simple randomized algorithm due to Schöni 2- satisfiability Main article: 2-satisfiability SAT is also easier if the number of literals in a clause is limited to 2, in which case the problem is called 2SAT. This problem can also be solved in polynomial time, and in fact is complete for the class NL. Similarly, if we limit the number of literals per clause to 2 and change the AND operations to XOR operations, the result is exclusive-or 2-satisfiability, a problem complete for SL = L. One of the most important restrictions of SAT is HORNSAT, where the formula is a conjunction of Horn clauses. This problem is solved by the polynomial-time Horn-satisfiability algorithm, and is in fact P-complete. It can be seen as P's version of the Boolean satisfiability problem. Provided that the complexity classes P and NP are not equal, none of these restrictions are NP-complete, unlike SAT. The assumption that P and NP are not equal is currently not proven [edit] 3-satisfiability 3-satisfiability is a special case of k-satisfiability (k-sat) or simply satisfiability (SAT), when each clause contains exactly k = 3 literals. It was one of Karp's 21 NP-complete problems. Here is an example, where indicates negation: E has two clauses (denoted by parentheses), four variables (x 1, x 2, x 3, x 4 ), and k=3 (three literals per clause). To solve this instance of the decision problem we must determine whether there is a truth value (TRUE or FALSE) we can assign to each of the variables (x 1 through x 4 ) such that the entire expression is TRUE. In this instance, there is such an assignment (x 1 = TRUE, x 2 = TRUE, x 3 =TRUE, x 4 =TRUE), so the answer to this instance is YES. This is one of many possible assignments, with for instance, any set of assignments including x 1 = TRUE being sufficient. If there were no such assignment(s), the answer would be NO. 3-SAT is NP-complete and it is used as a starting point for proving that other problems are also NP-hard. This is done by polynomial-time reduction from 3-SAT to the other problem. An example of a problem where this method has been used is the Clique problem. 3-SAT can be further restricted to One-inthree 3SAT, where we ask if exactly one of the literals in each clause is true, rather than at least one. This restriction remains NP-complete. There is a simple randomized algorithm due to Schöning (1999) that runs in time where n is the number of clauses and succeeds with high probability to correctly decide 3-Sat. The exponential time hypothesis is that no algorithm can solve 3-Sat in time. ng (1999) that runs in time where n is the number of clauses and succeeds with high probability to correctly decide 3-Sat. The exponential time hypothesis is that no algorithm can solve 3-Sat in time. III. RECONFIGURATION USING SAT SOLVING Since any network misconfiguration is technically resolvable (if only by removing all inter-machine access), reconfiguration decisions must be made in consideration of the cost of the changes needed and of usability requirements. We have developed two approaches based on advanced SAT solving techniques that can automatically suggest optimal configuration changes to address the security problems presented in a proof graph. Our approaches allow a user to provide feedback to the SAT solver so that constraints on usability, cost of deployment, and potential damage due to successful attacks can all be optimized in a unified framework. A. Transforming proof graphs to Boolean formulas We first extract the causality relationships represented in a MulVAL proof graph and express them as a Boolean formula. This is best explained through an example. In the dependency proof graph of Figure 2, the AND node e1 means that the remote exploit is successful, since all of its children nodes p2, c1, c2 are enabled, and the result of the exploit is that the attacker gains privilege p1. This can be expressed by the following formula, p2 Λ c1 Λ c2=» p1 Or, equivalently, p2 v c1 v c2 v p1 We similarly convert the other exploit nodes to construct the Following formulae: e1 = p2v c1 v c2 v p1 e2 = c2 v c3 v c5 v p1 e3 = c4 v c5 v p2 Let φ = e1 Λ e2 Λ e3, then φ is a Boolean formula in conjunctive normal form (CNF) whose size is linear in the size of the proof graph1. φ encodes all the causality relationships between configuration data and potential attacker privileges shown in the proof graph. For example, if all of c1, c2, c3, c4, c5 are assigned the truth value T (as in the current configuration), then p1, p2 must be assigned T to make a satisfying assignment for φ. Therefore, if one wishes p1, p2 to be false (meaning an attacker can gain neither of these Privileges), at least some of c1, c2, c3, c4, c5 must be assigned F, meaning some of the current configuration settings need to be changed. Let ψ = φλ p1λ p2; then seeking a satisfying assignment to ψ amounts to finding configuration settings that can prevent an attacker from gaining privileges p1, p
4 Every variable representing a configuration setting will be assigned T (meaning that the setting is enabled ) or F ( disabled ). Since every configuration setting is T ( enabled ) when the proof graph is constructed, removing or disabling that setting will negate the associated variable. For example, if c1 represents the existence of a software vulnerability on the web server, the negation of that node means patching the vulnerability; if c5 represents a reach ability relationship between the Internet and the VPN server, disabling that node means blocking that access. If we feed ψ to a SAT solver, we can get a satisfying assignment by simply disabling all the configuration nodes c1, c2, c3, c4, c5. This is certainly not an optimal solution; we need a secure configuration that maintains basic network usability. A careful observation of the proof graph shows that by disabling c5 without altering c1, c2, c3, c4, we can prevent all the attack paths in the system, but we must consider the effects of this decision. It is not necessarily the case that a minimal number of system changes represent the optimal Reconfiguration. Suppose again that c5 represents accessibility of the VPN server from the Internet. Removing this access would certainly block an attacker, but it would also prevent legitimate users from remotely logging into the network via the VPN server. This type of trade-off between security and usability is often present in system configuration management. In configuring an enterprise network, we want to compare not only the potential cost in damage from a successful attack, but also the potential losses arising from decreased network usability. If the cost of completely securing the network against attackers is much higher than the potential losses from attacks, it could be a better solution simply to acknowledge and tolerate the possibility that an attacker can obtain some minor privileges on the enterprise system. In this example, we may decide that an optimal solution would not force p2 to be false, so we can redefine our goal to be ψ = φ Λ p1.we must now re-examine the proof graph in light of this new ψ. Suppose that c1 and c3 represent vulnerabilities present in system applications. By patching these two vulnerabilities, we can disable these two nodes and thus eliminate all attack paths that could enable an attacker to gain privilege p1.this configuration would negate p1 without violating φ, so it satisfies ψ.though it is relatively easy to examine and reconfigure this small example, a reliable and automated approach is needed to address security concerns in real-size enterprise networks. We now introduce two applications of SAT solving to resolve network misconfigurations by balancing costs and potential damage. B. MinCostSAT MinCostSAT is a SAT problem which minimizes the cost of the satisfying assignment [9]. Mathematically, given a Boolean formula ψ with n variables x1, x2,..., xn, each with cost ci 0, find a truth-value assignment X Є {0, 1}n such that Satisfies ψ and minimizes n C = cixi I=1 Where xi Є {0, 1} and 1 i n. MinCostSAT has been thoroughly studied by the SAT solving community [2], [5], [9], [14]. Although the problem is NPhard, modern SAT solvers have been very successful in practice, being able to handle Boolean formulas with millions of variables and clauses in seconds. We use the MinCostChaff solver [5] which is a MinCostSAT solver based on the zchaff SAT solver [13]. The MinCostSAT problem minimizes the cost for variables that are assigned T. This matches the semantics for privilege variables, whose T assignment means an attacker can gain some privilege and thereby cause some damage. But for configuration variables, the cost would be incurred when it is disabled, or assigned F. To model this correctly, we first transform our formula to use the negation of a Boolean variable to represent each configuration node. This way, when the variable is assigned T, it means that the corresponding configuration node is disabled, which will incur some cost. With the expressiveness of Boolean formulas and the power of a SAT solver, a system administrator can ask questions like what is the best way to reconfigure my system if I want to guarantee that the file server will not be compromised? This can be done by forcing the Boolean variable x that corresponds to the privilege ExecCode (fileserver, someuser) to be false (i.e., conjoining x to the original formula). He can also ask questions like Can I make the file server secure while allowing the web server to be accessed from the Internet? We have implemented mechanisms that allow a system administrator to specify those additional constraints for the various queries he would like to conduct. Those constraints can be straightforwardly specified in Datalog and automatically transformed into additional clauses in the Boolean formula to be solved by the MinCostSAT solver. This kind of constraint can also become a part of the configuration policy. For example, a user might decide that the web server must be accessible from the Internet. If the variable representing this Configuration setting is forced true in the Boolean formula; MinCostSAT will never return a suggested reconfiguration that requires this access to be removed. Similarly, potential attacker privileges can be forced to be always false; for example, a user might decide that an attacker should never access the data historian, and so this access could be forced to be false, meaning that MinCostSAT will never allow it to be true. This effect could also be simulated by assigning unrealistically high costs for those variables; however, forcing them to be true or false will ensure that no reconfiguration suggestion will reverse this decision. C. Scalability To test the scalability of our approach, we constructed simulated enterprise networks with two different sizes I: 100 host machines, evenly divided in 10 subnet II: 250 host machines, evenly divided in 25 subnets We also tested using two different cost functions: A: All clauses were assigned an equal cost. The effect of this cost policy would simply be to minimize the number of configuration changes made plus the number of compromised machines. 3675
5 B:Clauses represent in code-execution privileges on a machine were assigned costs based on the machine s position in the network. The effect of this cost policy would be to have increasingly high costs for penetrations deeper into the network. The costs for blocking network access to hosts or disabling network services were significant. All other changes had equal, low cost. The test was conducted on a Linux machine with Opteron Dual-Core GHz CPU, with 16GB memory, and running Gentoo Linux with kernel version hardenedr6 Sz Cfn #variables #clauses time(sec) I A 11,853 12, I B 11,853 12, II A 70,803 72, II B 70,803 72, The simulated networks on which we performed the above tests were certainly not representative of realistic enterprise network settings, but the performance indicates that modern SAT solvers are likely to be powerful enough to handle the configuration management problem we describe in this paper. Also, a highly correlated network configuration may produce nontrivial runtimes. A full-scope understanding of the scalability of this approach will require extensive real-world testing, currently planned for future work. D. Iterative UNSAT Core Elimination We now introduce the second SAT solving technique, in which the concept of UNSAT core is leveraged for the identification and resolution of conflicts in the network policies. Definition 1. An unsatisfiable core is a subset of the original CNF clauses that is unsatisfiable in itself [4].When a SAT solver finds a set of clauses to be unsatisfiable,a byproduct of this decision is the UNSAT core. Logically, given an unsatisfiable Boolean formula ψ in CNF, the UNSAT core μ = u1, u2,..., um is a subset of all the clauses in ψ (shorthanded μ ψ hereafter) such that ψ will remain unsatisfiable while μ remains unchanged. We generate the UNSAT core using the zchaff SAT solver s zcore function [13].In this approach we will not rely on cost assignments, but rather on the balance between security and usability policies Returning to the example from section II, let security policy δ = -p1; then our security policy specifies that an attacker should not be able to gain privilege p1. Let usability policies γ1 = c1 ^ c2 ^ c4 ^ c5 and γ2 = c2^ c3 ^ c5; then our usability policies together specify that all current configuration settings are necessary to maintain basic network usefulness. So ψ = φ ^ δ ^ γ1 ^ γ2. Utilizing the UNSAT core in this way precludes the need to assign costs to each network configuration setting beforehand, as is required for the MinCostSAT solution. So long as security and usability policies do not conflict, the user is not asked to decide between any two policies or attempt to assign discrete values to them. These decisions are only faced when an actual conflict has arisen, so the human user makes only necessary choices about system resource valuations. Partial-order lattice: To further reduce the breadth of decisions faced by a human user, we have implemented a partial-order lattice to store the relative priorities between pairs of policies. Each time the human user is presented with the causes of an unclassifiablegy conflict and selects one or more of those constraints to be relaxed, this decision is recorded in the partial-order lattice to be used as a reference for deciding future conflicts. We assume that the constraints. That the user allows being relaxed has a lower overall priority than any clauses that were not relaxed, and this ordering is recorded in the lattice. In future decisions where two conflicting constraints appear for which an ordering is already known, the constraint with higher priority will not be offered to the user as a possibility for relaxation. In this way, conflicts are reduced to comparisons between configuration settings or policy requirements for which relative priorities are not known. Once known, these decisions need not be faced again CONCLUSION We have introduced a methodology where the system security requirements can be converted to a Boolean formula and, using SAT solving techniques, one can quickly correct Misconfigurations that may lead to multi-step, multi-host attacks in enterprise networks. This approach can account for both security and usability requirements, through the adoption of modern SAT solving techniques such as MinCostSAT and UNSAT core elimination. We presented a unified framework in which the competing requirements can be specified in a Boolean formula and an optimal solution can be searched for that provides a reasonable trade-off between the various requirements for practical security administration. Preliminary Experimental results on both realistic and synthesized enterprise network settings indicate that the SAT solving approach is effective and scalable. Definition 2. Let be Boolean variables. We define an literal to be either or, for. We define a clause to be the joining of some number of literals, by a, the "logical or", surrounded by parenthesis. That is, a clause is, with a literal, for. Finally, let us define a formula as joining some number of clauses with, the "logical and". That is, a formula is, where is a clause, for. We can now define the boolean satisfiability problem: Given a formula with boolean variables, decide if there exists a function, such that when one replaces by in, the resulting boolean sentence is logically true. We note this as, and say that is satisfiable. This may seem like it applies only to a very restricted subset of Boolean propositions; however, any Boolean proposition can be reduced to one of these formulas. This is the conjunctive normal form of a Boolean proposition. Thus, for any Boolean proposition you have, there exist 3676
6 REFERENCES Davis, M.; Putnam, H. (1960). "A Computing Procedure for Quantification Theory". Journal of the ACM 7 (3): 201. oi: / Davis, M.; Loge Mann, G.; Loveland, D. (1962). "A machine program for theorem-proving". Communications of the ACM 5 (7): doi: / Cook, S. A. (1971). "The complexity of theorem-proving procedures". Proceedings of the 3rd Annual ACM Symposium on Theory of Computing: doi: / Michael R. Garey and David S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. ISBN A9.1: LO1 LO7, pp Marques-Silva, J. P.; Sakallah, K. A. (1999). "GRASP: a search algorithm for propositional satisfiability". IEEE Transactions on Computers 48 (5): / [1] Stefano Ceri, George Gottlob, and Letizia Tanca. What you always wanted to know about Datalog (and never dared to ask). IEEE Trans. Knowledge Data Eng., 1(1): , [2] Olivier Coudert. On solving covering problems. In 33rd Design Automation Conference (DAC 96), pages , [3] Rinku Dewri, Nayot Poolsappasit, Indrajit Ray, and Darrell Whitley. Optimal security hardening using multi-objective optimization on attack tree models of networks. In 14th ACM Conference on Computer and Communications Security (CCS), [4] Zhaohui Fu and Sharad Malik. On solving the partial MAX-SAT problem. In Armin Biere and Carla P. Gomes, editors, Proc. Theory Applications Satisfiability Testing - SAT 2006, pages , [5] Zhaohui Fu and Sharad Malik. Solving the Minimum-Cost Satisfiabilityproblem using SAT based branch and bound search. In Proc.International Conference on Computer-Aided Design (ICCAD),San Jose, CA, USA, [6] Kyle Ingols, Richard Lippmann, and Keith Piwowarski. Practical attack graph generation for network defense. In 22nd Annual Computer Security Applications Conference (ACSAC), Miami Beach, Florida, December [7] Sushil Jajodia, Steven Noel, and Brian O Berry. Topological analysis of network attack vulnerability. In V. Kumar, J. Srivastava, and A. Lazarevic, editors, Managing Cyber Threats: Issues, Approaches andchallanges, chapter 5. Kluwer Academic Publisher, [8] Somesh Jha, Oleg Sheyner, and Jeannette M.Wing. Two formal analyses of attack graphs. In Proc.15th IEEE Computer Security Foundations Workshop, pages 49 63, Nova Scotia, Canada, June [9] Xiao Yu Li. Optimization Algorithms for the Minimum-Cost Satisfiability Problem. PhD thesis, North Carolina State University, Raleigh, North Carolina, [10] Richard Lippmann, Kyle Ingols, Chris Scott, Keith Piwowarski, Kendra Kratkiewicz, Mike Artz, and Robert Cunningham. Validating and restoring defense in depth using attack graphs. In Military Communications Conference (MILCOM), Washington, DC, U.S.A., October [11] Richard Lippmann and Kyle W. Ingols. An annotated review of past papers on attack graphs. Technical report, MIT Lincoln Laboratory, March [12] Richard P. Lippmann, Kyle W. Ingols, Chris Scott, Keith Piwowarski, Kendra Kratkiewicz, Michael Arts, and Robert Cunningham. Evaluating and strengthening enterprise network security using attack graphs. Technical Report ESC-TR , MIT Lincoln Laboratory, October2005. [13] Yogesh S. Mahajan, Zhaohui Fu, and Sharad Malik. Zchaff2004: An efficient SAT solver. In Lecture Notes in Computer Science SAT 2004Special Volume, pages LNCS 3542, [14] Vasco M. Manquinho and Jo ao P. Marques-Silva. Search pruning techniques in SAT-based branch-and-bound algorithms for the binatecovering problem. IEEE Trans. Computer-Aided Design, 21: ,2002. [15] Vaibhav Mehta, Constantinos Bartzis, Haifeng Zhu, Edmund Clarke, and Jeannette Wing. Ranking attack graphs. In Proc. Recent Advances in Intrusion Detection (RAID), September [16] Sanjai Narain. Network configuration management via model finding.in Proc. 19th conference on Large Installation System Administration Conference (LISA), [17] Sanjai Narain, Gary Levin, Vikram Kaul, and Sharad Malik. Declarative infrastructure configuration synthesis and debugging. J. Network Systems and Management, Special Issue on Security Configuration, [18] Steven Noel, Sushi Jajodia, Brian O Berry, and Michael Jacobs. Efficient minimum-cost network hardening via exploit dependency graphs.in 19th Annual Computer Security Applications Conference (ACSAC), December [19] Xinming Ou, Wayne F. Boyer, and Miles A. McQueen. A scalable approach to attack graph generation. In 13th ACM Conference oncomputer and Communications Security (CCS), pages , [20] Xinming Ou, Sudhakar Govindavajhala, and Andrew W. Appel. Mul- VAL: A logic-based network security analyzer. In 14th USENIX Security Symposium, [21] Reginald Sawilla and Xinming Ou. Identifying critical attack assets in dependency attack graphs. In 13th European Symposium on Research in Computer Security (ESORICS), October [22] Lingyu Wang, Steven Noel, and Sushil Jajodia. Minimum-cost network hardening using attack graphs. Computer Communications, 29: , November [23] Lingyu Wang, Anoop Singhal, and Sushil Jajodia. Measuring network security using attack graphs. In Third Workshop on Quality of Protection(QoP),
Introduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
Attack Graph Techniques
Chapter 2 Attack Graph Techniques 2.1 An example scenario Modern attack-graph techniques can automatically discover all possible ways an attacker can compromise an enterprise network by analyzing configuration
Lecture 7: NP-Complete Problems
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit
1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)
Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:
Cloud Computing is NP-Complete
Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,
A NEW METRICS FOR PREDICTING NETWORK SECURITY LEVEL
Volume 3, No. 3, March 2012 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info A NEW METRICS FOR PREDICTING NETWORK SECURITY LEVEL Tito Waluyo Purboyo *1,
How To Analyze And Detect A Network Attack Through A Network Graph
Advanced Vulnerability Analysis and Intrusion Detection Through Predictive Attack Graphs Steven Noel and Sushil Jajodia Center for Secure Information Systems, George Mason University, Fairfax, VA, USA
Generating models of a matched formula with a polynomial delay
Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic
OHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012
276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a $ 1,000,000 prize for the
Security Optimization of Dynamic Networks with Probabilistic Graph Modeling and Linear Programming
1 Security Optimization of Dynamic Networks with Probabilistic Graph Modeling and Linear Programming Hussain M.J. Almohri, Member, IEEE, Layne T. Watson, Danfeng (Daphne) Yao, Member, IEEE and Xinming
An Analytical Framework for Measuring Network Security using Exploit Dependency Graph
An Analytical Framework for Measuring Network Security using Exploit Dependency Graph Parantapa Bhattacharya Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Email:
Tutorial 8. NP-Complete Problems
Tutorial 8 NP-Complete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesor-no question A decision problem
VEA-bility Security Metric: A Network Security Analysis Tool
VEA-bility Security Metric: A Network Security Analysis Tool Melanie Tupper Dalhousie University [email protected] A. Nur Zincir-Heywood Dalhousie University [email protected] Abstract In this work, we propose
NP-Completeness and Cook s Theorem
NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:
Discuss the size of the instance for the minimum spanning tree problem.
3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can
Why? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
Offline 1-Minesweeper is NP-complete
Offline 1-Minesweeper is NP-complete James D. Fix Brandon McPhail May 24 Abstract We use Minesweeper to illustrate NP-completeness proofs, arguments that establish the hardness of solving certain problems.
Security Optimization of Dynamic Networks with Probabilistic Graph Modeling and Linear Programming
1 Security Optimization of Dynamic Networks with Probabilistic Graph Modeling and Linear Programming Hussain M.J. Almohri, Member, IEEE, Layne T. Watson Fellow, IEEE, Danfeng (Daphne) Yao, Member, IEEE
Measuring the Overall Security of Network Configurations Using Attack Graphs
Measuring the Overall Security of Network Configurations Using Attack Graphs Lingyu Wang 1, Anoop Singhal 2, and Sushil Jajodia 3 1 Concordia Institute for Information Systems Engineering Concordia University
A Review on Zero Day Attack Safety Using Different Scenarios
Available online www.ejaet.com European Journal of Advances in Engineering and Technology, 2015, 2(1): 30-34 Review Article ISSN: 2394-658X A Review on Zero Day Attack Safety Using Different Scenarios
Statistical Analysis of Computer Network Security. Goran Kap and Dana Ali
Statistical Analysis of Computer Network Security Goran Kap and Dana Ali October 7, 2013 Abstract In this thesis it is shown how to measure the annual loss expectancy of computer networks due to the risk
A Framework for Analysis A Network Vulnerability
A Framework for Analysis A Tito Waluyo Purboyo 1, Kuspriyanto 2 1,2 School of Electrical Engineering & Informatics, Institut Teknologi Bandung Jl. Ganesha 10 Bandung 40132, Indonesia Abstract: administrators
NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics
NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer
CNFSAT: Predictive Models, Dimensional Reduction, and Phase Transition
CNFSAT: Predictive Models, Dimensional Reduction, and Phase Transition Neil P. Slagle College of Computing Georgia Institute of Technology Atlanta, GA [email protected] Abstract CNFSAT embodies the P
CSC 373: Algorithm Design and Analysis Lecture 16
CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements
Network Security and Risk Analysis Using Attack Graphs
Network Security and Risk Analysis Using Attack Graphs Anoop Singhal National Institute of Standards and Technology Coauthors: Lingyu Wang and Sushil Jajodia Concordia University George Mason University
Attack graph analysis using parallel algorithm
Attack graph analysis using parallel algorithm Dr. Jamali Mohammad ([email protected]) Ashraf Vahid, MA student of computer software, Shabestar Azad University ([email protected]) Ashraf Vida, MA
CS510 Software Engineering
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
A Novel Approach on Zero Day Attack Safety Using Different Scenarios
A Novel Approach on Zero Day Attack Safety Using Different Scenarios 1Shaik Yedulla Peer,2N. Mahesh, 3 R. Lakshmi Tulasi 2 Assist Professor, 3 Head of The Department [email protected] Abstract-A zero day
Satisfiability Checking
Satisfiability Checking SAT-Solving Prof. Dr. Erika Ábrahám Theory of Hybrid Systems Informatik 2 WS 10/11 Prof. Dr. Erika Ábrahám - Satisfiability Checking 1 / 40 A basic SAT algorithm Assume the CNF
University of Potsdam Faculty of Computer Science. Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06
University of Potsdam Faculty of Computer Science Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06 Authors: Richard Tichy, Thomas Glase Date: 25th April 2006 Contents 1 Introduction
NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness
Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
Chapter 1. NP Completeness I. 1.1. Introduction. By Sariel Har-Peled, December 30, 2014 1 Version: 1.05
Chapter 1 NP Completeness I By Sariel Har-Peled, December 30, 2014 1 Version: 1.05 "Then you must begin a reading program immediately so that you man understand the crises of our age," Ignatius said solemnly.
The Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
Sudoku as a SAT Problem
Sudoku as a SAT Problem Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal [email protected] Joël Ouaknine Oxford University Computing Laboratory, UK [email protected] Abstract Sudoku
NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University
NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with
Aggregating vulnerability metrics in enterprise networks using attack graphs
Journal of Computer Security 21 (2013) 561 597 561 DOI 10.3233/JCS-130475 IOS Press Aggregating vulnerability metrics in enterprise networks using attack graphs John Homer a,, Su Zhang b,xinmingou b, David
A Formal Approach for Network Security Management Based on Qualitative Risk Analysis
A Formal Approach for Network Security Management Based on Qualitative Risk Analysis Mohammad Ashiqur Rahman and Ehab Al-Shaer CyberDNA Research Center, University of North Carolina Charlotte, USA Emails:
A Graph theoretical approach to Network Vulnerability Analysis and Countermeasures
A Graph theoretical approach to Network Vulnerability Analysis and Countermeasures Dr.Thaier Hamid University of Bedfordshire, UK Prof. Carsten Maple, University of Bedfordshire, UK ABSTRACT Computer networks
Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU
Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Birgit Vogtenhuber Institute for Software Technology email: [email protected] office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html
On the Relationship between Classes P and NP
Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,
Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
Topological Vulnerability Analysis
Topological Vulnerability Analysis Sushil Jajodia and Steven Noel Traditionally, network administrators rely on labor-intensive processes for tracking network configurations and vulnerabilities. This requires
Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms
CSCE 310J Data Structures & Algorithms P, NP, and NP-Complete Dr. Steve Goddard [email protected] CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes
How To Prevent An Sql Injection Attack
CHAPTER 1 PROJECT OVERVIEW 1.1 Introduction Database security is the degree to which all data is fully protected from tampering or unauthorized acts. Security vulnerability, security threat and security
Lecture 19: Introduction to NP-Completeness Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY 11794 4400
Lecture 19: Introduction to NP-Completeness Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Reporting to the Boss Suppose
Theoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
P versus NP, and More
1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify
Evolutionary SAT Solver (ESS)
Ninth LACCEI Latin American and Caribbean Conference (LACCEI 2011), Engineering for a Smart Planet, Innovation, Information Technology and Computational Tools for Sustainable Development, August 3-5, 2011,
Updating Action Domain Descriptions
Updating Action Domain Descriptions Thomas Eiter, Esra Erdem, Michael Fink, and Ján Senko Institute of Information Systems, Vienna University of Technology, Vienna, Austria Email: (eiter esra michael jan)@kr.tuwien.ac.at
Exponential time algorithms for graph coloring
Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].
npsolver A SAT Based Solver for Optimization Problems
npsolver A SAT Based Solver for Optimization Problems Norbert Manthey and Peter Steinke Knowledge Representation and Reasoning Group Technische Universität Dresden, 01062 Dresden, Germany [email protected]
M.S. Project Proposal. SAT Based Attacks on SipHash
M.S. Project Proposal SAT Based Attacks on SipHash Santhosh Kantharaju Siddappa Department of Computer Science Rochester Institute of Technology Chair Prof. Alan Kaminsky Reader Prof. Stanisław P. Radziszowski
How To Solve A Minimum Set Covering Problem (Mcp)
Measuring Rationality with the Minimum Cost of Revealed Preference Violations Mark Dean and Daniel Martin Online Appendices - Not for Publication 1 1 Algorithm for Solving the MASP In this online appendix
ON ATTACK GRAPH MODEL OF NETWORK SECURITY. Hasmik Sahakyan, Daryoush Alipour
26 ON ATTACK GRAPH MODEL OF NETWORK SECURITY Hasmik Sahakyan, Daryoush Alipour Abstract: All types of network systems are subject to computer attacks. The overall security of a network cannot be determined
Introduction to computer science
Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.
Chapter. NP-Completeness. Contents
Chapter 13 NP-Completeness Contents 13.1 P and NP......................... 593 13.1.1 Defining the Complexity Classes P and NP...594 13.1.2 Some Interesting Problems in NP.......... 597 13.2 NP-Completeness....................
Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA
A Factor 1 2 Approximation Algorithm for Two-Stage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce
CS 356 Lecture 25 and 26 Operating System Security. Spring 2013
CS 356 Lecture 25 and 26 Operating System Security Spring 2013 Review Chapter 1: Basic Concepts and Terminology Chapter 2: Basic Cryptographic Tools Chapter 3 User Authentication Chapter 4 Access Control
Toward Measuring Network Security Using Attack Graphs
Toward Measuring Network Security Using Attack Graphs Lingyu Wang Concordia Institute for Information Systems Engineering Concordia University Montreal, QC H3G 1M8, Canada [email protected] Anoop
Optimizing Description Logic Subsumption
Topics in Knowledge Representation and Reasoning Optimizing Description Logic Subsumption Maryam Fazel-Zarandi Company Department of Computer Science University of Toronto Outline Introduction Optimization
MulVAL: A logic-based network security analyzer
14th USENIX Security Symposium, August 2005 MulVAL: A logic-based network security analyzer Xinming Ou, Sudhakar Govindavajhala, and Andrew W. Appel Princeton University Outline Introduction Representation
Adversary-Driven State-Based System Security Evaluation
Adversary-Driven State-Based System Security Evaluation Elizabeth LeMay, Willard Unkenholz, Donald Parks, Carol Muehrcke*, Ken Keefe, William H. Sanders Information Trust Institute, Coordinated Science
ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu
ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a
Determination of the normalization level of database schemas through equivalence classes of attributes
Computer Science Journal of Moldova, vol.17, no.2(50), 2009 Determination of the normalization level of database schemas through equivalence classes of attributes Cotelea Vitalie Abstract In this paper,
Performance Test of Local Search Algorithms Using New Types of
Performance Test of Local Search Algorithms Using New Types of Random CNF Formulas Byungki Cha and Kazuo Iwama Department of Computer Science and Communication Engineering Kyushu University, Fukuoka 812,
Improving Attack Graph Visualization Through Data Reduction and Attack Grouping
INL/CON-08-14181 PREPRINT Improving Attack Graph Visualization Through Data Reduction and Attack Grouping VizSEC 2008 Workshop on Visualization for Computer Security John Homer Ashok Varikuti Xinming Ou
TRAINING A 3-NODE NEURAL NETWORK IS NP-COMPLETE
494 TRAINING A 3-NODE NEURAL NETWORK IS NP-COMPLETE Avrim Blum'" MIT Lab. for Computer Science Cambridge, Mass. 02139 USA Ronald L. Rivest t MIT Lab. for Computer Science Cambridge, Mass. 02139 USA ABSTRACT
INFORMATION SECURITY RISK ASSESSMENT UNDER UNCERTAINTY USING DYNAMIC BAYESIAN NETWORKS
INFORMATION SECURITY RISK ASSESSMENT UNDER UNCERTAINTY USING DYNAMIC BAYESIAN NETWORKS R. Sarala 1, M.Kayalvizhi 2, G.Zayaraz 3 1 Associate Professor, Computer Science and Engineering, Pondicherry Engineering
POMPDs Make Better Hackers: Accounting for Uncertainty in Penetration Testing. By: Chris Abbott
POMPDs Make Better Hackers: Accounting for Uncertainty in Penetration Testing By: Chris Abbott Introduction What is penetration testing? Methodology for assessing network security, by generating and executing
SIMS 255 Foundations of Software Design. Complexity and NP-completeness
SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 [email protected] 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity
Adversary Modelling 1
Adversary Modelling 1 Evaluating the Feasibility of a Symbolic Adversary Model on Smart Transport Ticketing Systems Authors Arthur Sheung Chi Chan, MSc (Royal Holloway, 2014) Keith Mayes, ISG, Royal Holloway
Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.
Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas [email protected] Background One basic goal in complexity theory is to separate interesting complexity
Computational complexity theory
Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision
Secure Network Intrusion Detection and Countermeasure Selection in Virtual Network Systems
Secure Network Intrusion Detection and Countermeasure Selection in Virtual Network Systems Prerana S. Mohod 1 and Prof. Pushpanjali M. Chouragade 2 1 Prerana S. Mohod, Department of CSE, Government College
Applied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery
Firewall Policy Anomalies- Detection and Resolution
Firewall Policy Anomalies- Detection and Resolution Jitha C K #1, Sreekesh Namboodiri *2 #1 MTech student(cse),mes College of Engineering,Kuttippuram,India #2 Assistant Professor(CSE),MES College of Engineering,Kuttippuram,India
NIST Interagency Report 7788 Security Risk Analysis of Enterprise Networks Using Probabilistic Attack Graphs
NIST Interagency Report 7788 Security Risk Analysis of Enterprise Networks Using Probabilistic Attack Graphs Anoop Singhal Ximming Ou NIST Interagency Report 7788 Security Risk Analysis of Enterprise Networks
Introduction to Algorithms. Part 3: P, NP Hard Problems
Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NP-Completeness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter
SECURITY METRICS: MEASUREMENTS TO SUPPORT THE CONTINUED DEVELOPMENT OF INFORMATION SECURITY TECHNOLOGY
SECURITY METRICS: MEASUREMENTS TO SUPPORT THE CONTINUED DEVELOPMENT OF INFORMATION SECURITY TECHNOLOGY Shirley Radack, Editor Computer Security Division Information Technology Laboratory National Institute
Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs
Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs Yong Zhang 1.2, Francis Y.L. Chin 2, and Hing-Fung Ting 2 1 College of Mathematics and Computer Science, Hebei University,
Guessing Game: NP-Complete?
Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple
