The design of the UNIX operating system
The design of the UNIX operating system
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
A short note on cheap fine-grained time measurement
ACM SIGOPS Operating Systems Review
Trace cache: a low latency approach to high bandwidth instruction fetching
Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
Branch history table indexing to prevent pipeline bubbles in wide-issue superscalar processors
MICRO 26 Proceedings of the 26th annual international symposium on Microarchitecture
The structure of the “THE”-multiprogramming system
Communications of the ACM
IEEE Transactions on Parallel and Distributed Systems
Linux Core Kernel Commentary, 2nd Edition
Linux Core Kernel Commentary, 2nd Edition
SETI@home: an experiment in public-resource computing
Communications of the ACM
Linux Journal
How to Own the Internet in Your Spare Time
Proceedings of the 11th USENIX Security Symposium
Effects of clock resolution on the scheduling of interactive and soft real-time processes
SIGMETRICS '03 Proceedings of the 2003 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
A Firm Real-Time System Implementation using Commercial Off-the-Shelf Hardware and Free Software
RTAS '98 Proceedings of the Fourth IEEE Real-Time Technology and Applications Symposium
Using Memory Errors to Attack a Virtual Machine
SP '03 Proceedings of the 2003 IEEE Symposium on Security and Privacy
New directions in traffic measurement and accounting: Focusing on the elephants, ignoring the mice
ACM Transactions on Computer Systems (TOCS)
Low-rate TCP-targeted denial of service attacks: the shrew vs. the mice and elephants
Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications
How to Systematically Classify Computer Security Intrusions
SP '97 Proceedings of the 1997 IEEE Symposium on Security and Privacy
IEEE Security and Privacy
ATOM: a system for building customized program analysis tools
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Desktop scheduling: how can we know what the user wants?
NOSSDAV '04 Proceedings of the 14th international workshop on Network and operating systems support for digital audio and video
Exploiting the Transients of Adaptation for RoQ Attacks on Internet Resources
ICNP '04 Proceedings of the 12th IEEE International Conference on Network Protocols
Experimental Analysis of the Root Causes of Performance Evaluation Results: A Backfilling Case Study
IEEE Transactions on Parallel and Distributed Systems
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Rootkits: Subverting the Windows Kernel
Rootkits: Subverting the Windows Kernel
Solaris Internals (2nd Edition)
Solaris Internals (2nd Edition)
System noise, OS clock ticks, and fine-grained parallel applications
Proceedings of the 19th annual international conference on Supercomputing
SubVirt: Implementing malware with virtual machines
SP '06 Proceedings of the 2006 IEEE Symposium on Security and Privacy
PowerNap: An Efficient Power Management Scheme for Mobile Devices
IEEE Transactions on Mobile Computing
Distributed mechanism in detecting and defending against the low-rate TCP attack
Computer Networks: The International Journal of Computer and Telecommunications Networking
An organizational grid of federated MOSIX clusters
CCGRID '05 Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid - Volume 01
Process prioritization using output production: Scheduling for multimedia
ACM Transactions on Multimedia Computing, Communications, and Applications (TOMCCAP)
Linux Kernel Development (2nd Edition) (Novell Press)
Linux Kernel Development (2nd Edition) (Novell Press)
ULE: a modern scheduler for FreeBSD
BSDC'03 Proceedings of the BSD Conference 2003 on BSD Conference
Fixing races for fun and profit: how to use access(2)
SSYM'04 Proceedings of the 13th conference on USENIX Security Symposium - Volume 13
Fixing races for fun and profit: how to abuse atime
SSYM'05 Proceedings of the 14th conference on USENIX Security Symposium - Volume 14
Backfilling Using System-Generated Predictions Rather than User Runtime Estimates
IEEE Transactions on Parallel and Distributed Systems
Confining root programs with domain and type enforcement (DTE)
SSYM'96 Proceedings of the 6th conference on USENIX Security Symposium, Focusing on Applications of Cryptography - Volume 6
The pebble component-based operating system
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Fine grained kernel logging with KLogger: experience and insights
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Hold your sessions: an attack on java session-id generation
CT-RSA'05 Proceedings of the 2005 international conference on Topics in Cryptology
The design and implementation of an operating system to support distributed multimedia applications
IEEE Journal on Selected Areas in Communications
Yet another MicroArchitectural Attack:: exploiting I-Cache
Proceedings of the 2007 ACM workshop on Computer security architecture
A real-time programmer's tour of general-purpose L4 microkernels
EURASIP Journal on Embedded Systems - Operating System Support for Embedded Real-Time Applications
A real-time programmer's tour of general-purpose L4 microkernels
EURASIP Journal on Embedded Systems - Operating System Support for Embedded Real-Time Applications
Peeping tom in the neighborhood: keystroke eavesdropping on multi-user systems
SSYM'09 Proceedings of the 18th conference on USENIX security symposium
New results on instruction cache attacks
CHES'10 Proceedings of the 12th international conference on Cryptographic hardware and embedded systems
Resource-freeing attacks: improve your cloud performance (at your neighbor's expense)
Proceedings of the 2012 ACM conference on Computer and communications security
Cross-VM side channels and their use to extract private keys
Proceedings of the 2012 ACM conference on Computer and communications security
Scheduler vulnerabilities and coordinated attacks in cloud computing
Journal of Computer Security
Hi-index | 0.00 |
We describe a "cheat" attack, allowing an ordinary process to hijack any desirable percentage of the CPU cycles without requiring superuser/administrator privileges. Moreover, the nature of the attack is such that, at least in some systems, listing the active processes will erroneously show the cheating process as not using any CPU resources: the "missing" cycles would either be attributed to some other process or not be reported at all (if the machine is otherwise idle). Thus, certain malicious operations generally believed to have required overcoming the hardships of obtaining root access and installing a rootkit, can actually be launched by non-privileged users in a straightforward manner, there by making the job of a malicious adversary that much easier. We show that most major general-purpose operating systems are vulnerable to the cheat attack, due to a combination of how they account for CPU usage and how they use this information to prioritize competing processes. Furthermore, recent scheduler changes attempting to better support interactive workloads increase the vulnerability to the attack, and naive steps taken by certain systems to reduce the danger are easily circumvented. We show that the attack can nevertheless be defeated, and we demonstreate this by implementing a patch for Linux that eliminates the problem with negligible overhead.