Focus: Multiparadigm Programming Focus: Multiparadigm Programming Focus: Multiparadigm Programming
نویسنده
چکیده
A COMPUTER SYSTEM’S security can be compromised in many ways— a denial-of-service attack can make a server inoperable, a worm can destroy a user’s private data, or an eavesdropper can reap fi nancial rewards by inserting himself in the communication link between a customer and her bank through a man-in-the-middle (MITM) attack. What all these scenarios have in common is that the adversary is an untrusted entity that attacks a system from the outside—we assume that the computers under attack are operated by benign and trusted users. But if we remove this assumption, if we allow anyone operating a computer system— from system administrators down to ordinary users—to compromise that system’s security, we fi nd ourselves in a scenario that has received comparatively little attention. Attacks by a trusted user on a computer system, called a man-at-theend (MATE) scenario, can take many forms. In a tampering attack, an adversary violates the integrity of a piece of software under his control, perhaps by modifying it in ways the software vendor didn’t intend. In a malicious reverse engineering attack, he violates the vendor’s confi dentiality rights by extracting intellectual property from the software, such as algorithms, designs, or implementations. Finally, in a cloning attack, he violates copyright laws by making and distributing illegal copies of the software. Methods for protecting against MATE attacks are variously known as anti-tamper techniques, digital asset protection, or, more commonly, software protection.1 To protect against tampering attacks, tamper-proofi ng techniques look for modifi cations to a program, and when they fi nd them, take offensive or defensive measures. For example, a tamper-proof program can reSoftware Protection
منابع مشابه
Programming Paradigms as Object Classes: A Structuring Mechanism for Multiparadigm Programming
The word paradigm, is used in computer science to talk about a family of notations, that share a common way for describing program implementations. Since each paradigm is well suited for solving only a range of problems, ideally a large system should be subdivided into components, each of which should be implemented in the most appropriate paradigm. Multiparadigm programming, allows the program...
متن کاملFocus: Multiparadigm Programming Focus: Multiparadigm Programming Focus: Multiparadigm Programming
THE COMPUTER INDUSTRY IS EXPERIENCING a major shift: improved single-processor performance via higher clock rates has reached its technical limits due to overheating. Fortunately, Moore’s law still holds, so chip makers use transistors to boost performance through parallelism. Modern chips consist of multiple microprocessors (also called cores), buses, and cache memory on the same chip. As of t...
متن کاملMultiparadigm data structures in Leda
Multiparadigm programming is a term used to describe a style of software development that makes use of facilities originally designed in support of a number of di erent programming language paradigms. In this paper we illustrate our conception of multiparadigm programming, by describing how various data structures can be implemented in the programming language Leda. Leda is a strongly-typed com...
متن کاملFocus: Multiparadigm Programming Focus: Multiparadigm Programming Focus: Multiparadigm Programming
EVER SINCE THE software in dustry diverged from the computer manufacturing industry, software firms’ business models have been in flux. Over the last decade, the primary software industry has tended to be seen as a combination of a US$200-billion software product industry (with products comprising either enterprise solutions or packaged mass-market software) and a $500-billion professionalservi...
متن کاملFocus: Multiparadigm Programming Focus: Multiparadigm Programming Focus: Multiparadigm Programming
AT THE FIRST software engineering (SE) conference in 1968, Doug McIlroy introduced the concept of software components during his keynote speech, “Mass-Produced Software Components.”1 That components hold such an esteemed place in SE history should come as no surprise: componentization is a fundamental engineering principle. Top-down approaches decompose large systems into smaller parts—componen...
متن کاملGeneral-purpose multiparadigm programming languages: an enabling technology for constructing complex systems
Multiparadigm programming languages have been envisioned as a vehicle for constructing large and complex heterogeneous systems, such as a stock market exchange or a telecommunications network. General-purpose multiparadigm languages, as opposed to hybrid multiparadigm languages, embody several prevalent programming paradigms without being motivated by a single problem. One such language is Leda...
متن کامل