USB Device Drivers: A Stepping Stone into your Kernel
|
|
|
- Grant Harrison
- 10 years ago
- Views:
Transcription
1 USB Device Drivers: A Stepping Stone into your Kernel Moritz Jodeit n.runs AG Nassauer Str. 60, D Oberursel [email protected] Martin Johns SAP Research Vincenz-Priessnitz-Str. 1, D Karlsruhe [email protected] Abstract The widely used Universal Serial Bus (USB) exposes a physical attack vector which has received comparatively little attention in the past. While most research on device driver vulnerabilities concentrated on wireless protocols, we show that USB device drivers provide the same potential for vulnerabilities but offer a larger attack surface resulting from the universal nature of the USB protocol. To demonstrate the effectiveness of fuzzing USB device drivers, we present our prototypical implementation of a mutation based, manin-the-middle USB fuzzing framework based on an emulated environment. We practically applied our framework to fuzz the communication between an Apple ipod device and a Windows XP system. This way, we found several potential vulnerabilities. This supports our claim that the USB architecture exposes real attack vectors and should be considered when assessing the physical security of computer systems in the future. I. INTRODUCTION The Universal Serial Bus (USB) is a widely used serial cable bus for connecting various peripherals to a host computer. Because of the widespread use and the ubiquitous nature of USB it provides an compelling attack surface. In this paper we are concentrating on attacks against device drivers and the USB stack itself. The fact that device drivers provide the potential for exploitable vulnerabilities was already shown in [6] and [10]. But compared to wireless device drivers, USB has the property of being a universal transport medium for further protocols. Hence, potential attacks are not limited to the USB related code inside the kernel but extend over a large number of different kernel sub-systems and device drivers reachable by USB devices which would not be associated with USB at a first glance. The USB protocol allows to reach those parts of the kernel which could otherwise not easily be attacked remotely. This paper proposes a mutation based USB fuzzing framework. Our approach is based on fuzzing in an emulated environment inspired by the work of Keil and Kolbitsch [9] for wireless fuzzing. Instead of emulating USB devices in software we are attaching physically connected USB devices to the guest operating system running inside a virtual machine and fuzz the communication between the physical device and the virtual host. Relying on a mutation based approach gives us the flexibility to fuzz test a broad range of different device drivers without the need to emulate every single device which would be very time consuming. Doing the fuzzing in an emulated environment comes with various advantages. Besides the good target monitoring capabilities, virtual machine snapshots allow us to do exact matching between a specific USB device attachment and a potential crash. II. TECHNICAL BACKGROUND The USB architecture can be divided into three separate parts. These are the USB devices, the USB host and the USB interconnect, which connects all USB devices with a single USB host. USB devices are either hubs or functions. A USB hub is a special device that provides one or more attachment points to the bus, while a function provides a specific capability. Examples are a USB mouse device which usually provides a HID (Human Device Interface) function while an external hard disk drive provides a mass storage function. Each USB host controller provides a root hub, which is the attachment point for all connected devices. The USB host is the central point in the USB architecture. It interacts through the host controller with the rest of the USB system. Only a single USB host per bus is allowed. Tasks of the host include the management of all transfers, detection of device attachment and removal and configuration of new devices. It is important to note, that the host plays the active part in the whole communication. All transfers are initiated by the host and USB devices only answer to requests send by the host 1. Figure 1 shows the logical connection between a USB device and the host. Communication takes place using so called pipes. Pipes are unidirectional or bidirection communication channels between the host and a USB device. The end of each pipe connects to an endpoint. Endpoints are compareable with IP sockets. They are the source or sink of a communication flow on the bus. Each endpoint has an associated direction which is either IN or OUT. IN endpoints transfer data from the device to the host, while OUT endpoints transfer data from the host to the device. Each USB device provides at least the endpoint 0 which is connected with the default control pipe. The main purpose of the default control pipe is to configure the device 1 One exception is the USB OTG supplement[15] to the USB specification[7].
2 once it is attached. Depending on the purpose of the device multiple other endpoints may be provided. Multiple pipes can be grouped into interfaces where each interface provides a specific functionality and is handled by a single USB device driver on the host. One interface may provide a mass storage device while a second interface may provide a USB printer. Configurations group multiple interfaces and are mainly used to provide the same functionality with different settings. Only a single configuration can be active at a time. EP0 EP0 (OUT) Default control pipe Figure 1. EP1 (OUT) A. Device Enumeration Device driver 1 EP1 Interface 1 EP2 Configuration Device driver 2 EP3 EP4 (OUT) Interface 2 USB host USB device Logical connection between a USB device and a host When a new USB device is connected to the bus through a hub the device enumeration process starts. Each hub provides an IN endpoint, which is used to inform the host about newly attached devices. The host continually polls on this endpoint to receive device attachment and removal events from the hub. Once a new device was attached and the hub notified the host about this event, the USB bus driver of the host enables the attached device and starts requesting information from the device. This is done with standard USB requests which are sent through the default control pipe to endpoint zero of the device. Information is requested in terms of descriptors. USB descriptors are data structures that are provided by devices to describe all of their attributes. This includes e.g. the product/vendor ID, any device class affiliation, and strings describing the product and vendor. Additionally information about all available endpoints is provided. After the host read all the necessary information from the device it tries to find a matching device driver. The details of this process are dependant on the used operating system. For lack of space we are describing the process for Microsoft Windows only but similar concepts apply to other operating systems. B. Device Driver Loading After the first descriptors were read from the attached USB device, the host uses the vendor and product ID from the device descriptor to find a matching device driver. Windows first tries to find the product/vendor ID combination in the registry. If the device was successfully enumerated in the past, a match is found in the registry which indicates the associated device driver to be loaded. When no match in the registry is found, Windows does a lookup in its database of available device drivers which consists of a set of INF files. Each INF file describes a set of devices for which device drivers are available. If neither the registry nor the INF files resulted in a match for the product/vendor ID combination, Windows tries to find a matching USB class driver. Class drivers are not specific to a single device but can handle a broad range of different devices which behave according to a class specification. Most operating systems provide a set of USB class drivers which allows some classes of USB devices to be connected without the need to install a separate device driver. The latest version of Windows comes with class drivers for many of the defined USB classes [14], such as the mass storage, audio or printer class. To find a matching class driver, Windows uses the class, subclass and protocol values read from the descriptors. The same lookups as detailed above for the product/vendor ID combination are performed. After a matching device driver was found and loaded, it s the task of the device driver to select one of the provided device configurations. The device driver selects one of the configurations based on its own capabilities and the available bandwidth on the bus and activates this configuration on the attached device. At this point, all interfaces and their endpoints of the selected configuration are set up and the device is ready for use. III. ATTACK SCENARIOS In the case of the USB 2.0 standard [7], an attacker needs physical access to a system. Although nearly every system can be broken into with enough physical access, USB ports represent a special case. Often the system itself together with human interface devices, such as keyboards and mice, is protected against unauthorized access. However, USB ports are often considered safe to be provided to the user. In some cases, USB ports must even be provided to the user to accomplish the task of the respective system. USB-based hardware security tokens are one example. If the attacker is an employee of a company he is trying to attack, he has lots of possibilities to unobtrusively
3 attach malicious USB devices. But even if the attacker isn t associated with the company to be attacked, there are lots of cases, where the attacker himself doesn t need direct physical access but can get his malicious USB device attached to the USB port of a system by other means. People with legitimate physical access to a system could be paid or bribed to act in the interest of the attacker. An example could be any employee or facility staff member that might have a financial interest. Instead of bribery, people with legitimate physical access could also be tricked to attach an attacker supplied device. When it comes to physical access, social engineering works very well. An attacker can either just place a few attractive or interesting looking USB devices in front of a company or just send them directly by mail to the victim. Depending on how much money the attacker has available for the attack, the USB device can be in original package and could have diverse appearances, ranging from a simple USB flash drive up to an exclusive mobile phone with USB connectivity. Another example where an attacker could trick other people to attach a malicious USB device to a system of interest is digital voting systems using so called digital voting pens [2]. This is a system to speed up vote counting where each voter does his votes using a digital pen which records the coordinates of the vote using a small camera inside the pen. After the voter finished voting, the pen is given back to the election supervisor, who in turn attaches the pen to a USB docking station that is connected to the computer system used to store all votes. An attacker could either replace or modify the voting pen given to him, which would then get attached to the host system storing all the votes. A successful attack might then be used for election fraud. Finally, the requirement of physical access might change with the Certified Wireless USB (CWUSB) extension [1] that introduces wireless USB. IV. ATTACK VECTORS An enabled USB port provides various attack vectors for a connected device. Potential attacks can go far beyond USB stack and device driver attacks. Figure 2 gives a simplified overview of the different components of a typical USB host architecture. At the bottom, we have the electrical layer. Its purpose is to encode and decode the electrical signals on the wire. The electrical layer connects directly to the USB stack, which is responsible for handling protocol details of the USB protocol. Each device driver registers itself at the USB stack. The only way a USB device driver can communicate with an attached device is through the USB stack. Consequently, the first attack target is the USB stack itself. The name Universal Serial Bus already suggests that a wide range of different classes of devices can be connected through USB. To provide their service to an attached device, Application Driver 1 Figure 2. Application Driver 2 USB stack Application Driver 3 Electrical layer User-mode Kernel-mode Relation between components of the USB host architecture in many cases USB device drivers don t run in isolation but communicate with various other kernel subsystem components. For example, a USB network card driver makes use of the network subsystem, while a mass storage device driver utilizes the I/O and SCSI subsystem of the kernel. Even when receivers for other protocols, such as IrDA, or Bluetooth, are disabled, a connected USB device can still pretend to be of the respective communications class and, thus, get access to the protocol stacks otherwise not reachable for external attacks. Finally, USB devices are not exclusively connected to kernel subsystems. Applications running in user mode can communicate with USB devices, e.g., to provide the interaction with a user. Hence, data coming from a malicious USB device can reach applications running in user mode which increases the attack surface even further. V. IMPLEMENTATION To practically find potential vulnerabilities in the components listed in the previous section, we built a USB fuzzing framework. This section discusses our design decisions and implementation. A. System Design The first consideration when building a USB fuzzer is the decision between a generation based and mutation based fuzzer [13]. The effort to build a complete generation based fuzzer is comparable with the development of a new USB device driver and, thus, could get very time consuming.
4 Sticking to a mutation based fuzzer releases us from the task of emulating a USB device to get a specific device driver loaded and fuzzed. We just attach the corresponding device and modify the USB packets in transit. Consequently, a mutation based fuzzer is the preferred choice for quickly getting first results. To implement a mutation based fuzzer we need a way to intercept the communication between an attached device and the USB host. The first option is to do the fuzzing on the target host itself. A small kernel component could be developed which would intercept the USB packets just before they are delivered to the respective device driver to be tested. Although this may be quickly implemented it has the disavantage that it is platform-specific. The other problem is that the fuzzing happens on the host we are trying to crash. With the requirement that fuzzing should happen before the USB packets reach the target host, there are two possibilities. The first option is to utilize a hardware based approach which enables us to physicaly connect the USB fuzzer to the target host. This would allow us to fuzz test any device as long as a USB port is provided. The disadvantage is that it requires special purpose hardware. To overcome this limitation we chose the second option and perform the fuzzing in an emulated environment inspired by the work of Keil and Kolbitsch [9] for wireless fuzzing. The use of an emulated environment allows us to do the fuzzing before the USB packets reach the host but still gives us the freedom to build a software only solution. Additionally, we get all the benefits of fuzzing in an emulated environment. Besides the good automation and target monitoring capabilities of emulated environments one of the most useful features for our task are virtual machine snapshots. These allow us to store a snapshot of the current CPU, memory and disk state which can be restored at a later point in time. When fuzzing USB device drivers some systems were found to disable the USB port after repeatedly attaching malformed USB devices. To continue fuzzing in such a case, a reboot of the target system would normally be required. Virtual machine snapshots allow us to just restore to a known good state and continue fuzzing. Another problem with repeatedly attaching fuzzed USB devices is the fact, that some memory corruption may not result in an immediate crash of the target host. A crash could happen at a later point in time triggered by some unrelated event. This complicates the linking of encountered crashes to a specific device attachment. To link each crash to one specific attachment, virtual machine snapshots can be used to restore a known good state after each attachment. B. Architecture To modify the USB communication between a USB device and the host we propose the man in the middle architecture shown in Fig. 3. It s based on three main components: 1) Receiving Component 2) Processing Component 3) Device Emulation Component The receiving component is responsible for acquiring the USB packets from an attached USB device. It either talks directly to the connected device or reads in a stored flow of communication, which was recorded beforehand. All USB packets are just forwarded between the USB device and the processing component. The processing component conducts the optional modification or analysis of the USB communication. This is where the actual fuzzing or analysis of the raw USB packets can be implemented. The processing component can also record a flow of communication and store it for replaying at a later point in time. The processing component passes all the USB communication between the receiving component and the device emulation component. The device emulation component forwards the USB communication it received from the processing component to a connected host system. From the perspective of the host, it acts like the real USB device. -./(0"%$#" 123'",(4)5,!"#"$%$&'( #)*+)&"&, Figure 3. 63)#"55$&'( #)*+)&"&, :85,)*( ;8<<"3 Man in the middle architecture 7"%$#"( "*892,$)&( #)*+)&"&, Our implementation is based on the QEMU machine emulator [4]. QEMU can emulate a complete PCI UHCI USB controller. Besides USB devices which are emulated directly by QEMU, it also allows to pass through physically connected USB devices to the guest operating system. We utilize this functionality and implement the receiving component and the device emulation component directly into QEMU as a set of patches. The final architecture is shown in Fig. 4. The receiving component passes on all USB packets between a physical USB device and the processing component. To get access to the physical USB device our implementation makes use of QEMU which in turn uses the USB device file system. This is a Linux file system that provides all the needed hardware details of attached
5 USB devices to user mode applications. To retrieve the descriptors of an attached USB device, the corresponding device files inside the mounted USB device file system can be read. Communication with a device takes place using ioctl() calls on the desired device file. The dependance on QEMU for the receiving component instead of using the USB device file system directly is basically due to the fact that our current implementation is heavily based around QEMU. To fully take advantage of the modular design, future versions will make use of the USB device file system directly. USB device HCD USB device file system Receiving component Figure 4. Device emulation component Target OS QEMU Kernel-mode Processing component USB fuzzer User-mode Design of the mutation based fuzzing framework The processing component is implemented externally as a Python library which is connected to the receiving component and the device emulation component using a set of named pipes. All USB packets exchanged between a USB device and the host are passed through the processing component. The processing component doesn t implement any functionality itself but just provides simple Python bindings for easy access to the raw USB packets. Those bindings can be utilized by third party extensions to easily create custom fuzzers or analysis tools. VI. EVALUATION To evaluate our implementation we created a simple fuzzer based on our framework which just randomly replaces bytes in the USB packets exchanged between the device and host. All IN packets are randomly selected for fuzzing while OUT packets are ignored. For each selected packet, a random number of bytes of the packet are replaced with random values while the most significant bit of each byte is set more frequently in the hope to trigger signedness issues. As a fuzzing target we chose an Apple ipod Shuffle device connected to a host system running Windows XP SP2 without additional patches. The only software additionally installed was the latest release of Apple s itunes software 2. The ipod Shuffle identifies itself as a mass storage device and, thus, is handled by the USB mass storage class driver of Windows XP. The reason we chose this device instead of some usual USB flash drive is because of the massive communication taking place just after it is attached. After the mass storage device is detected by the system the itunes software is launched by a service running in the background which is installed as part of the itunes application. The loaded itunes application then reads various information from the device s file system leading to multiple USB packets being exchanged. Fuzzing those packets gives us a good chance to reach various kernel components as well as the itunes service responsible for the detection of attached ipods and the itunes application running in user mode. The fuzz test consisted of repeatedly attaching the device, letting the host talk to the device for some time and then detaching it again. While doing this the state of the host was monitored to detect any anomalies or crashes. All these actions were performed using the Python API provided by our fuzzing framework. During the tests multiple bug checks were triggered leading to a kernel crash. The crashes encountered were triggered at various locations. While two of the kernel crashes happened inside the USB host controller driver, one crash was triggered in the USB mass storage driver and another one was triggered in the file system code responsible for reading the partition table from the attached device. Additionally a crash in the user mode ipod service binary was triggered. Although no deep analysis of the found crashes was performed, at least one of them was caused by memory corruption, making it probably exploitable. See Table I for the complete list of found crashes. Component usbuhci.sys usbuhci.sys usbstor.sys disk.sys ipodservice.exe 2 Apple itunes was used. Result Kernel crash (Bug check 0xfe) Kernel crash (Bug check 0xbe) Kernel crash (Bug check 0xc2) Kernel crash (Bug check 0x7e) Application crash Table I APPLE IPOD FUZZING RESULTS
6 VII. RELATED WORK The dominant focus of attention in respect to exploiting memory corruption vulnerabilities in device drivers has been on the realm of wireless communication. Several publications, such as [6] or [10], detail the complexity of wireless device drivers and the resulting potential for vulnerabilities. Much effort has been put into the development of IEEE wireless fuzzers [5] to practically find those vulnerabilities. While most publications concentrate on device drivers for wireless protocols, Barrall and Dewey showed in [3] that USB stacks and device drivers also provide the potential for vulnerabilities. They demonstrate their point with a vulnerability in USB related code of the Windows operating system. No details were made public though. Rafael Dominguez Vega continued research in that direction and demonstrated the exploitation of a Linux USB device driver bug in [17] using a custom-built USB device. Details about the actual vulnerability being exploited were not disclosed. He also described some first USB fuzzing techniques. The idea to use an emulated environment for fuzzing wireless device drivers was first demonstrated by Keil and Kolbitsch in [9]. They utilize the emulated environment to circumvent the hard timing constraints when fuzzing device drivers. The implementation of our USB fuzzing framework is based on this idea. Furthermore, first approaches towards exploiting drivers drivers outside the wireless realm have been made: Ilja van Sprundel showed in [16] how to utilize fuzzing to uncover vulnerabilities in filesystem drivers. As the USB protocol grants a malicious device direct access to the system s filesystem, van Sprundel s work is of high relevance in the context of this paper. Finally, instead of exploiting implementation flaws in device drivers, Maximillian Dornseif demonstrated in [8] how the use of DMA in FireWire empower an attacker to read and write arbitrary physical memory of the host. Dornseif s work work was refined by Piegdon and Pimenidis in [12] towards arbitrary code execution. Such attacks require the device to be the controlling instance on the bus which is in general not the case with USB. In the USB protocol the host controls all communication on the bus. However, David Maynor showed in [11] that DMA attacks against USB are nevertheless possible by utilizing the USB OTG extension [15] which allows USB devices to provide limited USB host functionality to communicate directly with other USB devices which would not be possible otherwise. VIII. CONCLUSION AND FUTURE WORK In this paper we discussed security implications of the Universal Serial Bus. After raising the awareness by listing potential attack scenarios, we explored the large attack surface provided by enabled USB ports. Subsequently, we described our implementation of a mutation based USB fuzzing framework utilizing an emulated environment. By using a fuzzer together with an ipod Shuffle device we demonstrated that USB device drivers not only provide the potential for vulnerabilities but can also be used as a stepping stone to trigger vulnerabilities in other kernel components not directly related to USB and even in user mode applications communicating with attached devices. To find those vulnerabilities we used a simple random based fuzzer without any knowledge of the underlying protocols being fuzzed. It is to be expected that the development of more intelligent fuzzers will result in even better results. We paved the way for the development of such fuzzers with our fuzzing framework. Although we exclusively focused on attacks against the USB host in this paper, the presented framework can also be applied in reverse direction to fuzz test physical USB devices, such as smartphones or PDAs. This might provide a potential area for future research. Despite the fact that fuzzing in an emulated environment provides various benefits, the actual exploitation of a vulnerability in a real world scenario requires the use of hardware which emulates a physical USB device. Further research into the creation of a separate hardware based device emulation component is required. Another area of interest for future research is the Certified Wireless USB (CWUSB) extension [1]. One of the design goals of the wireless USB specification is to keep the current software infrastructure including all the USB device drivers intact. Wireless USB provides a wireless transport mechanism for the USB protocol and, thus, makes attacks against USB even more interesting since physical access is no longer required. In this context, CWUSB s mechanisms used for authentication and encryption should be analyzed for their effectiveness. REFERENCES [1] Agere, Hewlett-Packard, Intel, Microsoft, NEC, Philips, and Samsung. Wireless Universal Serial Bus Specification 1.0, May [2] Joerg Arzt-Mergemeier, Willi Beiss, and Thomas Steffens. The Digital Voting Pen at the Hamburg Elections 2008: Electronic Voting Closest to Conventional Voting. In E-Voting and Identity, volume 4896/2007 of LNCS. Springer, [3] Darrin Barrall and David Dewey. Plug and Root, the USB Key to the Kingdom. Presentation at Black Hat USA, July [4] Fabrice Bellard. QEMU, a Fast and Portable Dynamic Translator. In ATEC 05: Proceedings of the USENIX Annual Technical Conference 2005, page 41. USENIX Association, [5] Laurent Butti. Wi-Fi Advanced Fuzzing. Presentation at Black Hat Europe, 2007.
7 [6] Johnny Cache and David Maynor. Device Drivers: Don t build a house on a shaky foundation. Presentation at Black Hat USA, August [7] Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, and Philips. Universal Serial Bus Specification 2.0, [8] Maximillian Dornseif. 0wned by an ipod. Presentation at PacSec, November [9] Sylvester Keil and Clemens Kolbitsch. Stateful Fuzzing of Wireless Device Drivers in an Emulated Environment. White Paper, Secure Systems Lab, fuzz qemu.pdf (2009/05/17), September [10] David Maynor. Device Drivers 2.0. Presentation at Black Hat DC, February [11] David Maynor. 0wn3d by everything else: USB/PCMCIA Issues. Presentation at CanSecWest, May [12] David R. Piegdon and Lexi Pimenidis. Targeting Physically Addressable Memory. In Robin Sommer Bernhard M. Haemmerli, editor, Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA 2007), volume 4579 of LNCS. Springer, July [13] Michael Sutton, Adam Greene, and Pedram Amini. Fuzzing: Brute Force Vulnerability Discovery. Addison-Wesley, [14] USB Implementers Forum, Inc. Approved Class Specification Documents. docs (2008/05/22). [15] USB Implementers Forum, Inc. On-The-Go Supplement to the USB 2.0 Specification, [16] Ilja van Sprundel. Fuzzing: Breaking Software in an Automated Fashion. talk at the 22th Chaos Communication Congress (22C3), attachments/582-paper fuzzing.pdf, December [17] Rafael Dominguez Vega. USB Attacks: Fun with Plug and 0wn. Presentation at Defcon 17, August 2009.
USB Undermining Security Barriers
Andy Davis Research Director [email protected] An NGS Secure Research Publication 4 August 2011 Copyright 2011 NGS Secure http://www.ngssecure.com Contents Introduction... 3 Background... 3 USB
Computer Systems Structure Input/Output
Computer Systems Structure Input/Output Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Examples of I/O Devices
Wireless ATA: A New Data Transport Protocol for Wireless Storage
Wireless ATA: A New Data Transport Protocol for Wireless Storage Serdar Ozler and Ibrahim Korpeoglu Department of Computer Engineering, Bilkent University, 06800 Bilkent, Ankara, Turkey {ozler, korpe}@cs.bilkent.edu.tr
Ways to Use USB in Embedded Systems
Ways to Use USB in Embedded Systems by Yingbo Hu, R&D Embedded Engineer and Ralph Moore, President of Micro Digital Universal Serial Bus (USB) is a connectivity specification that provides ease of use,
Peach Fuzzer Platform
Fuzzing is a software testing technique that introduces invalid, malformed, or random data to parts of a computer system, such as files, network packets, environment variables, or memory. How the tested
A Survey on Virtual Machine Security
A Survey on Virtual Machine Security Jenni Susan Reuben Helsinki University of Technology [email protected] Abstract Virtualization plays a major role in helping the organizations to reduce the operational
Plug and Play for Windows 2000
Operating System Plug and Play for Windows 2000 White Paper Abstract This paper describes the Microsoft Windows 2000 operating system implementation of Plug and Play. Plug and Play is one of a number of
Computer Organization & Architecture Lecture #19
Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of
SAN Conceptual and Design Basics
TECHNICAL NOTE VMware Infrastructure 3 SAN Conceptual and Design Basics VMware ESX Server can be used in conjunction with a SAN (storage area network), a specialized high speed network that connects computer
Pen Drive to Pen Drive and Mobile Data Transfer Using ARM
IOSR Journal of Electronics and Communication Engineering (IOSR-JECE) ISSN: 2278-2834, ISBN: 2278-8735, PP: 43-47 www.iosrjournals.org Pen Drive to Pen Drive and Mobile Data Transfer Using ARM 1 Mr.V.S.Gawali,
Implementing McAfee Device Control Security
Implementing McAfee Device Control Security COPYRIGHT Copyright 2009 McAfee, Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system,
Learning USB by Doing. [email protected]
Learning USB by Doing. [email protected] The question that I am asked most often is how do I start a USB project? There are many alternate starting points for the design of a USB I/O device and this
Compromise-as-a-Service
ERNW GmbH Carl-Bosch-Str. 4 D-69115 Heidelberg 3/31/14 Compromise-as-a-Service Our PleAZURE Felix Wilhelm & Matthias Luft {fwilhelm, mluft}@ernw.de ERNW GmbH Carl-Bosch-Str. 4 D-69115 Heidelberg Agenda
Windows Server 2003 default services
Windows Server 2003 default services To view a description for a particular service, hover the mouse pointer over the service in the Name column. The descriptions included here are based on Microsoft documentation.
Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper
WP2 Subject: with the CRYPTO-BOX Version: Smarx OS PPK 5.90 and higher 0-15Apr014ks(WP02_Network).odt Last Update: 28 April 2014 Target Operating Systems: Windows 8/7/Vista (32 & 64 bit), XP, Linux, OS
SY0-201. system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.
system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users. From a high-level standpoint, attacks on computer systems and networks can be grouped
VMWARE Introduction ESX Server Architecture and the design of Virtual Machines
Introduction........................................................................................ 2 ESX Server Architecture and the design of Virtual Machines........................................
Optimizing Windows Security Features to Block Malware and Hack Tools on USB Storage Devices
350 PIERS Proceedings, Cambridge, USA, July 5 8, 2010 Optimizing Windows Security Features to Block Malware and Hack Tools on USB Storage Devices Dung Vu Pham 1, Malka N. Halgamuge 2, Ali Syed 1, and Priyan
Banking Security using Honeypot
Banking Security using Honeypot Sandeep Chaware D.J.Sanghvi College of Engineering, Mumbai [email protected] Abstract New threats are constantly emerging to the security of organization s information
An Analysis of Wireless Device Implementations on Universal Serial Bus
An Analysis of Wireless Device Implementations on Universal Serial Bus 6/3/97 Abstract Universal Serial Bus (USB) is a new personal computer (PC) interconnect that can support simultaneous attachment of
That Point of Sale is a PoS
SESSION ID: HTA-W02 That Point of Sale is a PoS Charles Henderson Vice President Managed Security Testing Trustwave @angus_tx David Byrne Senior Security Associate Bishop Fox Agenda POS Architecture Breach
Stephen Coty Director, Threat Research
Emerging threats facing Cloud Computing Stephen Coty Director, Threat Research Cloud Environments 101 Cloud Adoption is Gaining Momentum Cloud market revenue will increase at a 36% annual rate Analyst
Bluetooth HID Profile
RN-WIFLYCR-UM-.01 RN-HID-UM Bluetooth HID Profile 2012 Roving Networks. All rights reserved. Version 1.0r 1/17/2012 USER MANUAL www.rovingnetworks.com 1 OVERVIEW Roving Networks Bluetooth modules support
COS 318: Operating Systems. I/O Device and Drivers. Input and Output. Definitions and General Method. Revisit Hardware
COS 318: Operating Systems I/O and Drivers Input and Output A computer s job is to process data Computation (, cache, and memory) Move data into and out of a system (between I/O devices and memory) Challenges
The Elements of GigE Vision
What Is? The standard was defined by a committee of the Automated Imaging Association (AIA). The committee included Basler AG and companies from all major product segments in the vision industry. The goal
Best Practice Document Hints and Tips
Marshal Ltd. Date: 02/06/2007 Marshal EndPoint Security From Best Practice Document Hints and Tips Marshal Software Ltd CSL 005 Marshal EndPoint Security Best Practice (2) Privacy Control: None Version:
TEST CHAPTERS 1 & 2 OPERATING SYSTEMS
TEST CHAPTERS 1 & 2 OPERATING SYSTEMS True/False Indicate whether the statement is true or false. 1. Changes that you make in virtual machines do not affect your physical computer. 2. The size of a bus
CS 356 Lecture 25 and 26 Operating System Security. Spring 2013
CS 356 Lecture 25 and 26 Operating System Security Spring 2013 Review Chapter 1: Basic Concepts and Terminology Chapter 2: Basic Cryptographic Tools Chapter 3 User Authentication Chapter 4 Access Control
Kaspersky Fraud Prevention: a Comprehensive Protection Solution for Online and Mobile Banking
Kaspersky Fraud Prevention: a Comprehensive Protection Solution for Online and Mobile Banking Today s bank customers can perform most of their financial activities online. According to a global survey
W H IT E P A P E R : TE C Symantec Endpoint Protection 11.0: H N Application and Device Control I C Technical Field Enablement Team A Version 1.
W H I T E P A P E R : T E C H N I C A L Symantec Endpoint Protection 11.0: Application and Device Control Technical Field Enablement Team Version 1.2 White Paper: Symantec Technical Content Table Content
Full System Emulation:
Full System Emulation: Achieving Successful Automated Dynamic Analysis of Evasive Malware Christopher Kruegel Lastline, Inc. [email protected] 1 Introduction Automated malware analysis systems (or sandboxes)
RCL: Software Prototype
Business Continuity as a Service ICT FP7-609828 RCL: Software Prototype D3.2.1 June 2014 Document Information Scheduled delivery 30.06.2014 Actual delivery 30.06.2014 Version 1.0 Responsible Partner IBM
Operating System Structures
Operating System Structures Meelis ROOS [email protected] Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
Windows Server 2008 R2 Hyper V. Public FAQ
Windows Server 2008 R2 Hyper V Public FAQ Contents New Functionality in Windows Server 2008 R2 Hyper V...3 Windows Server 2008 R2 Hyper V Questions...4 Clustering and Live Migration...5 Supported Guests...6
USB attacks need physical access right? Not any more...
An NCC Group Publication USB attacks need physical access right? Not any more... Prepared by: Andy Davis Research Director andy.davis at nccgroup dot com Contents 1 Introduction... 3 2 The bug and how
Endpoint Security Management
Endpoint Security Management LANDESK SOLUTION BRIEF Protect against security threats, malicious attacks and configuration vulnerabilities through strong endpoint security control and maintenance. Protect
Security Overview of the Integrity Virtual Machines Architecture
Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling
APPLICATION VIRTUALIZATION TECHNOLOGIES WHITEPAPER
APPLICATION VIRTUALIZATION TECHNOLOGIES WHITEPAPER Oct 2013 INTRODUCTION TWO TECHNOLOGY CATEGORIES Application virtualization technologies can be divided into two main categories: those that require an
OPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
A Research Study on Packet Sniffing Tool TCPDUMP
A Research Study on Packet Sniffing Tool TCPDUMP ANSHUL GUPTA SURESH GYAN VIHAR UNIVERSITY, INDIA ABSTRACT Packet sniffer is a technique of monitoring every packet that crosses the network. By using this
HP Compaq dc7800p Business PC with Intel vpro Processor Technology and Virtual Appliances
HP Compaq dc7800p Business PC with Intel vpro Processor Technology and Virtual Appliances Introduction............................................................ 2 What is Virtualization?....................................................2
Windows Operating Systems. Basic Security
Windows Operating Systems Basic Security Objectives Explain Windows Operating System (OS) common configurations Recognize OS related threats Apply major steps in securing the OS Windows Operating System
CPS221 Lecture: Operating System Structure; Virtual Machines
Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of
Virtualization for Security
Virtualization for Security t j Including Sandboxing, Disaster Recovery, High Availability, Forensic Analysis, and Honeypotting John Hoopes Technical Editor Aaron Bawcom Paul Kenealy Wesley J. Noonan Craig
Virtualization System Vulnerability Discovery Framework. Speaker: Qinghao Tang Title:360 Marvel Team Leader
Virtualization System Vulnerability Discovery Framework Speaker: Qinghao Tang Title:360 Marvel Team Leader 1 360 Marvel Team Established in May 2015, the first professional could computing and virtualization
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Planning the Installation and Installing SQL Server
Chapter 2 Planning the Installation and Installing SQL Server In This Chapter c SQL Server Editions c Planning Phase c Installing SQL Server 22 Microsoft SQL Server 2012: A Beginner s Guide This chapter
USB Portable Storage Device: Security Problem Definition Summary
USB Portable Storage Device: Security Problem Definition Summary Introduction The USB Portable Storage Device (hereafter referred to as the device or the TOE ) is a portable storage device that provides
AirStation One-Touch Secure System (AOSS ) A Description of WLAN Security Challenges and Potential Solutions
AirStation One-Touch Secure System (AOSS ) A Description of WLAN Security Challenges and Potential Solutions Buffalo Technology (USA), Inc. October 2004 1 Summary The Wireless Security Problem With the
1 hours, 30 minutes, 38 seconds Heavy scan. All scanned network resources. Copyright 2001, FTP access obtained
home Network Vulnerabilities Detail Report Grouped by Vulnerability Report Generated by: Symantec NetRecon 3.5 Licensed to: X Serial Number: 0182037567 Machine Scanned from: ZEUS (192.168.1.100) Scan Date:
How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself
How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,
KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES. www.kaspersky.com
KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES www.kaspersky.com EXPERT SERVICES Expert Services from Kaspersky Lab are exactly that the services of our in-house experts, many of them global
Practical Exploitation Using A Malicious Service Set Identifier (SSID)
Practical Exploitation Using A Malicious Service Set Identifier (SSID) Deral Heiland Senior Security Engineer CDW Advanced Technology Services Mike Belton Technical Lead CDW Advanced Technology Services
COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE AND AGING
COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE AND AGING INFORMATION TECHNOLOGY STANDARD Name Of Standard: Mobile Device Standard Domain: Security Date Issued: 09/07/2012 Date Revised:
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Revealing Embedded Fingerprints: Deriving intelligence from USB stack interactions
Revealing Embedded Fingerprints: Deriving intelligence from USB stack interactions Andy Davis, Research Director NCC Group Image from: p1fran.com UK Offices Manchester - Head Office Cheltenham Edinburgh
Exploiting USB Devices with Arduino. Greg Ose [email protected] Black Hat USA 2011
Exploiting USB Devices with Arduino Greg Ose [email protected] Black Hat USA 2011 Abstract Hardware devices are continually relied upon to maintain a bridge between physical and virtual security. From
Cloud Server. Parallels. An Introduction to Operating System Virtualization and Parallels Cloud Server. White Paper. www.parallels.
Parallels Cloud Server White Paper An Introduction to Operating System Virtualization and Parallels Cloud Server www.parallels.com Table of Contents Introduction... 3 Hardware Virtualization... 3 Operating
Useful USB Gadgets on Linux
Useful USB Gadgets on Linux February, 2012 Gary Bisson Adeneo Embedded Embedded Linux Conference 2012 1 Agenda Introduction to USB USB Gadget API Existing Gadgets Design your own Gadget Demo Conclusion
The Advantages of Block-Based Protocol Analysis for Security Testing
The Advantages of Block-Based Protocol Analysis for Security Testing Dave Aitel Immunity,Inc. 111 E. 7 th St. Suite 64, NY NY 10009, USA [email protected] February, 4 2002 Abstract. This paper describes
LASTLINE WHITEPAPER. In-Depth Analysis of Malware
LASTLINE WHITEPAPER In-Depth Analysis of Malware Abstract Malware analysis is the process of determining the purpose and functionality of a given malware sample (such as a virus, worm, or Trojan horse).
Considerations In Developing Firewall Selection Criteria. Adeptech Systems, Inc.
Considerations In Developing Firewall Selection Criteria Adeptech Systems, Inc. Table of Contents Introduction... 1 Firewall s Function...1 Firewall Selection Considerations... 1 Firewall Types... 2 Packet
Windows Remote Access
Windows Remote Access A newsletter for IT Professionals Education Sector Updates Issue 1 I. Background of Remote Desktop for Windows Remote Desktop Protocol (RDP) is a proprietary protocol developed by
Chapter 15 Windows Operating Systems
Understanding Operating Systems, Fifth Edition 15-1 Chapter 15 Windows Operating Systems At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion Topics Additional
WISE-4000 Series. WISE IoT Wireless I/O Modules
WISE-4000 Series WISE IoT Wireless I/O Modules Bring Everything into World of the IoT WISE IoT Ethernet I/O Architecture Public Cloud App Big Data New WISE DNA Data Center Smart Configure File-based Cloud
VMware Server 2.0 Essentials. Virtualization Deployment and Management
VMware Server 2.0 Essentials Virtualization Deployment and Management . This PDF is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.
Project 4: Pseudo USB Simulation Introduction to UNIVERSAL SERIAL BUS (USB) STANDARD
Project 4: Pseudo USB Simulation Introduction to UNIVERSAL SERIAL BUS (USB) STANDARD The Universal Serial Bus is a fast, bi-directional, low cost, dynamically attachable serial interface. The motivation
Locking down a Hitachi ID Suite server
Locking down a Hitachi ID Suite server 2016 Hitachi ID Systems, Inc. All rights reserved. Organizations deploying Hitachi ID Identity and Access Management Suite need to understand how to secure its runtime
Using AnywhereUSB to Connect USB Devices
VMWARE TECHNICAL NOTE VMware ESX Server Using to Connect Devices Digi International s Remote I/O Concentrator is a remote networking solution that utilizes over IP technology, called RealPort, to enable
NetWrix Server Configuration Monitor
NetWrix Server Configuration Monitor Version 2.2 Quick Start Guide Contents NetWrix Server Configuration Monitor Quick Start Guide 1. INTRODUCTION... 3 1.1 KEY FEATURES... 3 1.2 LICENSING... 4 1.3 HOW
Intrusion Detection Systems
Intrusion Detection Systems Assessment of the operation and usefulness of informatics tools for the detection of on-going computer attacks André Matos Luís Machado Work Topics 1. Definition 2. Characteristics
Secure Software Programming and Vulnerability Analysis
Secure Software Programming and Vulnerability Analysis Christopher Kruegel [email protected] http://www.auto.tuwien.ac.at/~chris Operations and Denial of Service Secure Software Programming 2 Overview
Installation Guide for LynxClient
Installation Guide for LynxClient Technical Support: 972-231-6874 Ext. 140 8am to 5pm CST Email: [email protected] PC Keyboard Duress Button LynxKey & LynxKeyPro USB Duress Button LynxUSB Notification Popup
Host-based Protection for ATM's
SOLUTION BRIEF:........................................ Host-based Protection for ATM's Who should read this paper ATM manufacturers, system integrators and operators. Content Introduction...........................................................................................................
PARALLELS CLOUD SERVER
PARALLELS CLOUD SERVER An Introduction to Operating System Virtualization and Parallels Cloud Server 1 Table of Contents Introduction... 3 Hardware Virtualization... 3 Operating System Virtualization...
The Review of Virtualization in an Isolated Computer Environment
The Review of Virtualization in an Isolated Computer Environment Sunanda Assistant professor, Department of Computer Science & Engineering, Ludhiana College of Engineering & Technology, Ludhiana, Punjab,
APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK
APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK John T Lounsbury Vice President Professional Services, Asia Pacific INTEGRALIS Session ID: MBS-W01 Session Classification: Advanced
Knut Omang Ifi/Oracle 19 Oct, 2015
Software and hardware support for Network Virtualization Knut Omang Ifi/Oracle 19 Oct, 2015 Motivation Goal: Introduction to challenges in providing fast networking to virtual machines Prerequisites: What
I/O Attacks in Intel-PC Architectures and Countermeasures
I/O Attacks in Intel-PC Architectures and Countermeasures Fernand Lone Sang, Vincent Nicomette and Yves Deswarte Laboratoire d Analyse et d Architecture des Systèmes LAAS-CNRS Toulouse, France July 6,
UNCLASSIFIED Version 1.0 May 2012
Secure By Default: Platforms Computing platforms contain vulnerabilities that can be exploited for malicious purposes. Often exploitation does not require a high degree of expertise, as tools and advice
A Link Layer Discovery Protocol Fuzzer
The University of Texas at Austin, Department of Computer Sciences, Technical Report TR-07-24 A Link Layer Discovery Protocol Fuzzer Jeremy Hollander Department of Computer Sciences The University of Texas
Thick Client Application Security
Thick Client Application Security Arindam Mandal ([email protected]) (http://www.paladion.net) January 2005 This paper discusses the critical vulnerabilities and corresponding risks in a two
Storage Class Memory Support in the Windows Operating System Neal Christiansen Principal Development Lead Microsoft nealch@microsoft.
Storage Class Memory Support in the Windows Operating System Neal Christiansen Principal Development Lead Microsoft [email protected] What is Storage Class Memory? Paradigm Shift: A non-volatile storage
Information Security Assessment and Testing Services RFQ # 28873 Questions and Answers September 8, 2014
QUESTIONS ANSWERS Q1 How many locations and can all locations be tested from a A1 5 locations and not all tests can be performed from a central location? central location. Q2 Connection type between location
Web Conferencing Version 8.3 Troubleshooting Guide
System Requirements General Requirements Web Conferencing Version 8.3 Troubleshooting Guide Listed below are the minimum requirements for participants accessing the web conferencing service. Systems which
Attacking the Traveling Salesman Point-of-sale attacks on airline travelers DEFCON 2014
Attacking the Traveling Salesman Point-of-sale attacks on airline travelers DEFCON 2014 Alex Zacharis Nikos Tsagkarakis [email protected] Census S.A. http://census-labs.com/ Contents Why target travelers?
"EZHACK" POPULAR SMART TV DONGLE REMOTE CODE EXECUTION
"EZHACK" POPULAR SMART TV DONGLE REMOTE CODE EXECUTION CHECK POINT ALERTED EZCAST THAT ITS SMART TV DONGLE, WHICH IS USED BY APPROXIMATELY 5 MILLION USERS, IS EXPOSED TO SEVERE REMOTE CODE EXECUTION VULNERABILITIES
Custom Penetration Testing
Custom Penetration Testing Compromising a Vulnerability through Discovery and Custom Exploitation Stephen Sims Advanced Penetration Testing - 2009 SANS 1 Objectives Penetration Testing Precompiled Tools
Windows Server Virtualization & The Windows Hypervisor
Windows Server Virtualization & The Windows Hypervisor Brandon Baker Lead Security Engineer Windows Kernel Team Microsoft Corporation Agenda - Windows Server Virtualization (WSV) Why a hypervisor? Quick
Windows MultiPoint Server 2011 Deployment Guide. Document Version 1.0 March 2011
Windows MultiPoint Server 2011 Deployment Guide Document Version 1.0 March 2011 Copyright Notice This document is provided as-is. Information and views expressed in this document, including URL and other
Application Intrusion Detection
Application Intrusion Detection Drew Miller Black Hat Consulting Application Intrusion Detection Introduction Mitigating Exposures Monitoring Exposures Response Times Proactive Risk Analysis Summary Introduction
A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware
A+ Guide to Managing and Maintaining Your PC, 7e Chapter 1 Introducing Hardware Objectives Learn that a computer requires both hardware and software to work Learn about the many different hardware components
The Bus (PCI and PCI-Express)
4 Jan, 2008 The Bus (PCI and PCI-Express) The CPU, memory, disks, and all the other devices in a computer have to be able to communicate and exchange data. The technology that connects them is called the
Adobe Flash Player and Adobe AIR security
Adobe Flash Player and Adobe AIR security Both Adobe Flash Platform runtimes Flash Player and AIR include built-in security and privacy features to provide strong protection for your data and privacy,
Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development
Android Development Lecture AD 0 Android SDK & Development Environment 2013/2014 Parma Università degli Studi di Parma Lecture Summary Android Module Overview The Android Platform Android Environment Setup
Discovering Computers 2011. Living in a Digital World
Discovering Computers 2011 Living in a Digital World Objectives Overview Differentiate among various styles of system units on desktop computers, notebook computers, and mobile devices Identify chips,
Packet Sniffer Detection with AntiSniff
Ryan Spangler University of Wisconsin - Whitewater Department of Computer and Network Administration May 2003 Abstract Packet sniffing is a technique of monitoring every packet that crosses the network.
Removing The Linux Routing Cache
Removing The Red Hat Inc. Columbia University, New York, 2012 Removing The 1 Linux Maintainership 2 3 4 5 Removing The My Background Started working on the kernel 18+ years ago. First project: helping
