Sunday, 29 July 2012

Bandwidth Estimation on Protocol Mechanisms

A simple mechanism to measure the available bandwidth on a link is the packet-pair
method. It entails sending two packets back-to-back on a link, and measuring the
inter-arrival time of those packets at the receiver. If the packets are sent on a
point-to-point link with no other traffic, the inter-arrival time measures the raw
bandwidth of the link for that size of packets. It is the absolute minimum period at
which packets of that size can be sent. Sending packets at a smaller spacing will
only queue packets at the outbound interface, with no increase in throughput. If the
packets are sent on a multiple hop path mixed with other traffic, routers on the way
may insert other packets between the two packets that were sent back-to-back,
making them arrive farther apart. The number of packets inserted is directly
proportional to the load on the outbound port each router uses to send the packets,
and does not depend on packet size if no fragmentation occurs, as time in the
routers is normally bound by protocol processing and not packet size. If packet size
is equal to the path MTU, the inter-arrival time measured at the receiver is a snapshot
of the bandwidth of the path. The interarrival time is the minimum period at which
packets can be sent that will not create a queue in any of the routers on the path.
If the load of all routers in the path is a constant, then the inverse of the inter-arrival
time defines the optimal rate to send packets through this link. The load not being a
constant, the measurement will have to be repeated from time to time to adjust the 
rate to the current conditions.

Wednesday, 25 July 2012

System Objects, Attributes and Constraints of Software Vulnreability

The de nition of software vulnerability includes mismatches between the assumptions
about the environment made during the development and operation of the program,
and the environment in which the program executes. The definitions in this section
refer to these assumptions.

In a computer system, a system object is an entity that contains or receives infor-
mation, that has a unique name, and that has a set of operations that can be carried
out on it. An attribute of an object is a data component of an object. A derived
attribute of another attribute is a data component of the later attribute. A property
of an attribute is a characteristic of the attribute that can be derived from the attribute
by the application of a function to the attribute.

An attribute re nement is a nite re nement of attributes within attributes, and results in
the identification of the attributes about which assumptions are made. The attribute
refinement cannot contain a property of an attribute.

Tuesday, 24 July 2012

Physical Attacks on Secure Embedded Systems

For an embedded system on a circuit board, physical attacks can be launched by
using probes to eavesdrop on inter-component communications. However, for a
system-on-chip, sophisticated microprobing techniques become necessary. The
first step in such attacks is de-packaging. De-packaging involves removal of the
chip package by dissolving the resin covering the silicon using fuming acid. The
next step involves layout reconstruction using a systematic combination of
microscopy and invasive removal of covering layers. During layout
reconstruction, the internals of the chip can be inferred at various granularities.
While higher-level architectural structures within the chip such as data and
address buses, memory and processor boundaries, etc., can be extracted with
little effort, detailed views of lower-level structures such as the instruction
decoder and ALU in a processor, ROM cells, etc., can also be obtained. Finally,
techniques such as manual microprobing or e-beam microscopy are typically
used to observe the values on the buses and interfaces of the components in
a de-packaged chip.

Physical attacks at the chip level are relatively har to use because of
their expensive infrastructure requirements (relative to other attacks).
However, they can be performed once and then used as precursors
to the design of successful non-invasive attacks. For example, layout
reconstruction is needed before performing electromagnetic radiation
monitoring around selected chip areas. Likewise, the knowledge of
ROM contents, such as cryptographic routines and control data, can
provide an attacker with information that can assist in the design of a
suitable non-invasive attack.

Sunday, 22 July 2012

Sidestepping a Dictionary Attack with Username Selection

Of course, a password is only half of the required login credential. A username is
also required. While it is less likely that a dictionary word would be used as a
username, there are still some common usernames that hackers are certain to try
with a brute force attack. First among these are “admin” and “administrator”. These
names are especially dangerous since they are not only easily guessed, but the
accounts they represent are usually highly privileged administrative accounts. If the
hacker’s dictionary attack could gain access to an administrative account, he could
probably do much more damage to the system than he could if he gained access to
a regular user’s account.

Administrative accounts are not the only problem: many Web applications and
Web application frameworks create default users during installation. If the site
administrator does not remove these default users or at least change their
passwords, these accounts will be easy targets for a dictionary attack. Finally,
when users are allowed to choose their own usernames, they often choose their
email address, since it is easy to remember. Once again, the user’s laziness is a
benefit to a hacker using a brute force attack. Armed with a list of email
addresses (perhaps obtained from a spammer) and a dictionary of passwords
(easily obtained anywhere), an attacker has an excellent chance of breaking into
at least one user’s account.

Friday, 20 July 2012

Personal Scalable Solutions Using Machine Lerning

It is absolutely clear that the world is full of structure. In photographs and video, objects, scenes, and events repeat over and over. Objects and scenes, in turn, have structures that characterize them objects have parts and parts have sub-parts. Many current automatic approaches to index visual information rely on specific algorithms constructed by experts. The goal of such algorithms (Visual Detectors) is to automatically label, or index visual content. While these algorithms can often be robust, it is clear that it is not possible to construct a large number of detectors by hand.

Therefore, for future applications it is desirable to build systems that allow the construction of programs that learn, from user input, how to automatically label data without the need of experts. Not only should such systems be scalable but they should also take into consideration users’ interests and subjectivity. This requires recognizing the structure inherent in visual information and exploiting such structure in computational frameworks. Without a doubt machine learning will form the basis of successful, scalable applications in the future. Those applications will change, and the way such algorithms learn will change. Perhaps learning will take place without explicit input from users.

Wednesday, 18 July 2012

AIS-CI and RAI-CI Generation and Detection

The device can transmit and detect the RAI-CI and AIS-CI codes in T1 mode. These
codes are compatible with and do not interfere with the standard RAI (Yellow) and
AIS (Blue) alarms. These codes are defined in ANSI T1.403.


The AIS-CI code (alarm indication signal-customer installation) is the same for both
ESF and D4 operation. Setting the TAIS-CI bit in the TR.T1CCR1 register and the
TBL bit in the TR.T1TCR1 register causes the device to transmit the AIS-CI code.
The RAIS-CI status bit in the TR.SR4 register indicates the reception of an AIS-CI signal.

The RAI-CI (remote alarm indication-customer installation) code for T1 ESF operation
is a special form of the ESF Yellow Alarm (an unscheduled message). Setting the RAIS
-CI bit in the TR.T1CCR1 register causes the device to transmit the RAI-CI code. The
RAI-CI code causes a standard Yellow Alarm to be detected by the receiver. When
the host processor detects a Yellow Alarm, it can then test the alarm for the RAI-CI
state by checking the BOC detector for the RAI-CI flag. That flag is a 011111 code in
the 6-bit BOC message.

The RAI-CI code for T1 D4 operation is a 10001011 flag in all 24 time slots. To
transmit the RAI-CI code the host sets all 24 channels to idle with a 10001011 idle
code. Since this code meets the requirements for a standard T1 D4 Yellow Alarm, the
host can use the receive channel monitor function to detect the 100001011 code
whenever a standard Yellow Alarm is detected.

Monday, 16 July 2012

Livelock-Free Operation and Forward-Progress guarantees

If two transactions in the process of committing either have a write conflict or true
data dependencies, the transaction with the lower TID always succeeds in
committing. The design of the directory guarantees this behavior. A transaction
with a higher TID will not be able to write to a directory until all transactions with
lower TID have either skipped that directory or committed. Furthermore, the
transaction cannot commit until it is sure that all directories it has speculatively
loaded from have serviced all lower numbered transactions that can potentially
send an invalidation to it. This yields a livelock-free protocol that guarantees
forward progress. Limited starvation is possible: a starved transaction keeps its
TID at violation time, thus over time it will become the lowest TID in the system.
While long transactions that retain their TID after aging may decrease system
performance, the programmer is still guaranteed correct execution. Moreover,
TCC provides a profiling environment, TAPE, which allows programmers to
quickly detect the occurrence of this rare event.

Transactions are assigned TIDs at the end of the execution phase to maximize
system throughput. This may increase the probability of starving long-running
transactions, but this is mitigated by allowing those transactions to request and
retain a TIDs after they violate, thus insuring their forward-progress. TIDs are
assigned by a global TID vendor. Distributed time stamps such as in TLR will
not work for our implementation since these mechanisms do not produce a
gap-free sequence of TIDs, rather only an ordered set of globally unique timestamps.