Abstract:
A composite joint sealing gasket (8) includes an elongated flexible, resilient member (10) typically of an elastomer or polymer, for example, elastomer rubber, thermoplastic elastomer or thermoplastic polymer with memory, for example, EPDM or neoprene, and has opposed elongated upper and lower longitudinal edge portions (18, 16); the upper portion (18) defines a sealing element (40, 42); a tacky sealing composition (12), for example, a mastic composition is supported on an outer surface of the lower portion (16) remote from the sealing element (40, 42). The gasket (8) may be employed in a variety of environments where a seal is required, for example, between wall and ceiling panels, or as a glazing gasket to provide a seal with a window; when employed as a gasket the sealing element provides an outer seal with a window and the mastic composition provides an inner seal between the window and sash; streaking of the mastic composition across the window pane is avoided and the resilient member facilitates installation and provides an aesthetically pleasing appearance.
Abstract:
The majority of such software attacks exploit software vulnerabilities or flaws to write data to unintended locations. For example, control-data attacks exploit buffer overflows or other vulnerabilities to overwrite a return address in the stack, a function pointer, or some other piece of control data. Non-control-data attacks exploit similar vulnerabilities to overwrite security critical data without subverting the intended control flow in the program. We describe a method for securing software against both control-data and non-control-data attacks. A static analysis is carried out to determine data flow information for a software program. Data-flow tracking instructions are formed in order to track data flow during execution or emulation of that software. Also, checking instructions are formed to check the tracked data flow against the static analysis results and thereby identify potential attacks or errors. Optional optimisations are described to reduce the resulting additional overheads.
Abstract:
Software fault isolation methods using byte-granularity memory protection are described. In an embodiment, untrusted drivers or other extensions to a software system are run in a separate domain from the host portion of the software system, but share the same address space as the host portion. Calls between domains are mediated using an interposition library and access control data is maintained for substantially each byte of relevant virtual address space. Instrumentation added to the untrusted extension at compile-time, before load-time, or at runtime and added by the interposition library enforces the isolation between domains, for example by adding access right checks before any writes or indirect calls and by redirecting function calls to call wrappers in the interposition library. The instrumentation also updates the access control data to grant and revoke access rights on a fine granularity according to the semantics of the operation being invoked.
Abstract:
A wire protocol is described which implements connection management and other methods to give enhanced peer-to-peer content distribution. Connections between nodes can be placed in a “notify” state when they are idle but may soon yield useful content. This notify state is also used together with a content request/response cycle to allow a peer to evaluate content available at a neighbour. If no suitable content is available a notify state is entered. When new content is later received at the neighbour it is able to inform the requesting node to allow it to restart the content request/response cycle.
Abstract:
A topology management process is implemented which involves removing or “tearing down” connections between nodes in certain situations in order to try to replace those connections with more optimal ones. Idle connections are torn down unless those are in a “notify” state; a notify state being one in which a request for content has been made to a neighbour but that neighbour has no available content as yet. Idle connections in a notify state are torn down only if they remain idle for a longer time than that required before an idle connection is torn down. To avoid problems caused by clusters of node forming and of loners being unable to join the cloud, network churn algorithms are taught. These involve requiring nodes to drop connections when specified conditions are met. Relative content distribution between connections is monitored and this information used to influence selection of those connections to drop.
Abstract:
The invention relates to content distribution over a network and provides methods of controlling the distribution, of receiving the content and of publishing content. The method of controlling distribution of content over a network includes receiving a content description and location information for a source of the content from a publisher, where the content description comprises authorisation details associated with the publisher. The validity of the authorisation details is checked and if found to be valid, the content description is provided to a node in the network
Abstract:
A system-wide selective action management facility is provided. Such a facility can support selective action management for multiple applications executing on one or more computer systems (including the operating system and its components, such as a file system). A system-wide action management facility can log actions performed on the computer system(s) and record relationships between such actions (e.g., between actions of different sources, including different documents, different applications and even different computer systems). When a user discovers a mistake, the tool allows the user to select one or more past actions (i.e., the “mistake”) for removal or replacement with one or more correction actions. The tool can also re-execute dependent actions to restore the relevant state of the system at the time of the designation, absent the “mistake”. As such, actions throughout the system can be selectively undone, fixed and/or redone in an exemplary system-wide selective action management tool.
Abstract:
A containment system may include a protection system which may protect the computing device from future attacks. For example, a patch may be automatically generated which resolves a detected vulnerability in a program. IN another example, a filter may be automatically generated which filters actions and/or messages which take advantage of a detected vulnerability in a program.
Abstract:
One aspect of the invention is a vulnerability detection mechanism that can detect a large class of attacks through dynamic dataflow analysis. Another aspect of the invention includes self-certifying alerts as the basis for safely sharing knowledge about worms. Another aspect of the invention is a resilient and self-organizing protocol to propagate alerts to all non-infected nodes in a timely fashion, even when under active attack during a worm outbreak. Another aspect of the invention is a system architecture that enables a large number of mutually untrusting computers to collaborate in the task of stopping a previously unknown worm, even when the worm is spreading rapidly and exploiting unknown vulnerabilities in popular software packages.