24/7 writing help on your phone
Save to my list
Remove from my list
Here we can see the concepts behind in practicing defence in depth is to make the system risk free with many defensive techniques. So that if one layer of defence fails, another layer of defence will work, fixing the breach. Let us return to our example of providing security for a bank. Why is the typical bank more secure than the typical shopping store? Because there are a lot of security measures protecting the bank, there are a lot of security cameras security guards etc.
If we look at the computer systems, always multiple defence systems should be installed, like if SSL doesn't work firewalls should and if firewalls don't encryption should. Software systems do have failure modes some get pretty unavoidable, what are avoidable are security problems related to failures. The problem is that when many systems fail in any way, they revert to insecure behaviour. In such systems, attackers only either wait that right kind of failure happen automatically or they try to create a right kind of cause for failure.
Remote Method invocation (RMI) has a similar problem.
When client and server wants to communicate over RMI and the server uses SSL or some other encryption protocol, the client does not support the protocol the server uses, the client downloads the implementation of proper socket from the server at runtime. This is a big security flow, because the server has not been authenticated at the time that the encryption interface was downloaded. An attacker could pretend to be the server, installing implementation of his own socket on each client, even when the already SSL installed on the client side.
The problem is that if the client fails using default libraries in secure connection establishment, it will make a connection using any protocol an un-trusted entity gives it, thereby extending trust. The development teams and proper should solve these kinds of problems ensuring that system doesn't run in an abnormal state. Programmers usually hide secretes in client code, just to minimise the server resources and assuming that their secret will be safe.
Running different versions of UNIX, Novel NetWare and Windows NT, 2000, with workstations of different flavours of Microsoft Windows is not a big deal now. Because now systems became so complex and fast that it is possible that any company is running COBOL, PowerBuilder, or Java clients to talk to Sybase, Oracle, DB2, or IMS database at same time. It was old stage when development of new software and purchasing or replacing equipment was too crucial and costly. Because if any organisation is using same old information system from last twenty years, it's mean they are wasting their time and efforts by not using latest technology.
As this part of chapter discusses how to make distributed system flexible, so for that each distributed object supports other objects with quality of services. While designing distributed systems it should keep in mind that each distributed object has to provide flexible services. Each resource of distributed system denotes as object. As Tetsuo Kanezuka and Makoto Takizawa (1998) discussed that "An object is an encapsulation of data and operations for manipulating the data". Due to this encapsulation system becomes easy to use and there are less chances of fault.
There can be two ways to realise the fault-tolerant system; one is check pointing and other is replication. In check point protocol state concluded by Chandy, Misra, and Haas (1983) "the state of the object is saved in the stable log at the checkpoint". Its mean if the object has some fault, the object will roll backed to the checkpoint by restoring its state. On the other hand replication occurs on a specified time, depends on its schedule settings. First of it will check the connection between data servers. If there is something wrong either with host server or remote server.
It will display an error message. But it will keep trying to ping the remote or local server. If something goes wrong while replicating data it roll backs all the information to point of start. These two approaches show how easy to trap fault if system is flexible. Main advantage of flexibility is that system can make decision by analysing system situation. For example if any organisation is using multicasting and broadcasting over the intranet then it can be quite effective but it will not so flexible while using on world wide web scale.
Providing proper name spacing is very necessary in distributed environment. Distributed objects can be named in a variety of ways. Objects name should be depend on object identifiers. Object identity can be measure from the purpose of that object. When an object is created it is assigned an identifier that uniquely identifies that object. This denotes its functionality as well. For example object name "fax" can be use to refer to the local fax machine. Many distributed system offers an intermediate solution: a user-chosen name is used to refer to a single object.
One name refers to one object at the same time but can be bound to different objects at different times. Sometime organisations prefer to use naming system, which maintains a mapping from names to network addresses. Philip H. , Leendert D. , Maarten S. , Andrew S. Tanenbaum, and Wiebren de Jonge (1995) study shows that there can be a disadvantage of this approach that it supports for objects that migrate, or objects that are replicated is hard. Updating the network addresses is especially difficult if multiple names refer to the same object.
We propose to separate naming objects from locating objects. A lookup of a name in the name service returns a location independent object handle. This object handle is passed to the location service which maps the object handle to multiple communication end-points This extra level of indirection allows multiple names to refer to the same object while at the same time the actual location of the object is maintained in one place only (logically that is, the location service might be replicated).
👋 Hi! I’m your smart assistant Amy!
Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.get help with your assignment