Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

20 points] Collaborative Problem: You are helping some security analysts monitor a collection of networked computers, tracking the spread of an online virus. There are

image text in transcribed

20 points] Collaborative Problem: You are helping some security analysts monitor a collection of networked computers, tracking the spread of an online virus. There are n computers in the system, labeled C1,C2 Cn, and as input, you are given a collection of trace data indicating the times at which pairs of computers communicated. Thus the data is a sequence of ordered triples (Ci, Cj, tk) Such a triple indicates that Ci and C, communicated at time tk. Assume there are m triples total. Now let us assume that the triples are presented to you in sorted order of time. For purposes of simplicity, we will assume that each pair of computers communicates at most once during the inter val you are observing. The security analysts you are working with would like to be able to answer questions of the following form: If the virus was inserted into computer Ca at time r, could it pos- sibly have infected computer Cb by time y? The mechanics of infection are simple if an infected computer Ci communicates with an uninfected computer Cj at time t (in other words, if one of the triples (Ci, Cj,tk) or (Cj,Ci,tk) appears in the trace data), then computer C, becomes infected as well, starting at time tk. Infection can thus spread from one machine to another across a sequence of communications, provided that no step in this sequence involves a move backwards in time. Thus, for example, if Ci is infected by time tk and the trace data contains triples (Ci, Cj, tk) and (Cj, Ct), where tkS tr, then C will become infected via Cj. (Note that it is okay for tk to be equal to tr. This would mean that C, had open connections to both Ci and C at the same time, so a virus could move from Ci to Cq) For example, suppose 4, the trace data consists of the triples (C1,C2,4), (C2,C4,8) (Cs, C4,8) (C1, C4, 12) and the virus was inserted into computer Ci at time 2. Then Cs would be infected at time 8 by a sequence of three steps first C2 becomes infected at time 4, then C4 gets the virus from C2 at time 8, and then Cs gets the virus from C4 at time 8. On the other hand, if the trace data were (C2, Cs, 8) (Ci, C4,12) (C1, C2, 14) and again the virus was inserted into computer Ci at time 2, then Cs would not become infected during the period of observation. Observe, however, that although C2 becomes infected at time 14, Cs only communicates with C2 before C2 becomes infected. There is no sequence of communications moving forward in time by which the virus could get from C1 to Cs in this second example. Design an algorithm that answers questions of this type: given a collection of trace data, the algorithm should decide whether a virus introduced at computer Ca at time could have infected computer Cb by time y. Prove that the algorithm runs in time O(m). Also, prove the correctness of your algorithm

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database In Depth Relational Theory For Practitioners

Authors: C.J. Date

1st Edition

0596100124, 978-0596100124

More Books

Students also viewed these Databases questions

Question

What is management growth? What are its factors

Answered: 1 week ago

Question

Was there an effort to involve the appropriate people?

Answered: 1 week ago