Brute Force Attack on UNIX Passwords with SIMD

Brute Force Attack on UNIX Passwords with SIMD

The following paper was originally published in the Proceedings of the 8th USENIX Security Symposium Washington, D.C., USA, August 23–26, 1999 B R U T E F O R C E A T T A C K O N U N I X P A S S W O R D S W I T H S I M D C O M P U T E R Gershon Kedem and Yuriko Ishihara THE ADVANCED COMPUTING SYSTEMS ASSOCIATION © 1999 by The USENIX Association All Rights Reserved For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. Brute Force Attack on UNIX Passwords with SIMD Computer Gershon Kedem, Yuriko Ishihara Computer Science Department Duke University Box 90129 Durham, NC 27708-0129 Abstract part, independent from the values of all but a few As computer technology improves, the security of spe- neighboring pixels. cific ciphers and one-way hash functions periodically SIMD machines are currently out of vogue since SIMD must be reevaluated in light of new technological ad- machines perform poorly on applications that require vances. In this paper we evaluate the security of the complex decisions and applications that have complex UNIX password scheme. We show that the UNIX data dependencies. In either case the SIMD processor password scheme is vulnerable to brute-force attack. array could not be used effectively. In the first case, Using PixelFlow, a SIMD parallel machine, we are able only a small fraction of the processors actually do use- to “crack” a large fraction of passwords used in practice ful work. In the second case, the machine spends a large [12] in 2-3 days of computation. We explain how a portion of the time moving data between processors SIMD machine built in today’s technology could rather than doing useful work. SIMD machines are “crack” any UNIX password in two days. We also de- notorious for being hard to program. The SIMD ma- scribe in this paper a simple modification to the UNIX chine programming-model is very different from the password scheme that makes it harder to break encrypted conventional programming model, and it is hard to port passwords using dictionary and brute force attack, thus applications that run on conventional machines to extending the useful life of the UNIX password scheme. SIMD machines. The modified password scheme is compatible with the However, SIMD machines are very effective for brute existing password scheme. force cryptanalysis. First, most ciphers are very simple 0. Introduction. algorithms, made up of loops and straight-line code. Therefore, it is relatively straightforward to implement Single Instruction Multiple Data (SIMD) machines ciphers on SIMD machines, and the resulting programs is a class of parallel machines that are made of a large harness the full power of the machine. Second, brute number of simple processors all executing in unison the force cryptanalysis is “embarrassingly parallel”. By same instruction sequence, each processor computing on assigning a different key to each processor it is possible a different data set. It is relatively inexpensive to build to simultaneously check a large number of keys. The SIMD machines with a very large number of proces- processors do not communicate, and all the processors sors. Since the processors are simple (typically 8-bit execute most of the time. As a result, brute force crypt- processors), processors use near neighbor connections, analysis can achieve a system performance that is close and processors do not use local instructions decoding, it to the theoretical performance-limit of the machine. is possible to integrate a large number of SIMD proces- We have used the PixelFlow machine [2] to show that sors into a single IC. In current technology (0.2m UNIX passwords are vulnerable to brute force crypt- CMOS) it is possible to integrate 512-1024 processors analysis. The PixelFlow machine is an experimental each with 1-2 KB of RAM on a single IC. Moreover, graphics engine built at the Computer Science Depart- since instruction decoding is external to the processors, ment at UNC-Chapel Hill in cooperation with Hewlett it is easy to pipeline the processors and make them run Packard Corporation. The PixelFlow machine includes at high frequency. In today’s technology it is possible a large SIMD array of 8-bit pixel processors running at to build a SIMD processor array that execute one in- 100MHz. We programmed 147,456 PixelFlow SIMD struction per clock cycle at 1-GHz. processors to do brute force cryptanalysis of 40-bit RC4 SIMD machines are very effective for performing regu- cipher and the UNIX crypt password scheme. lar computation on large data sets. Examples of appli- cations that require large computing power and could In section 1. we describe the PixelFlow machine, and effectively use SIMD machines are: real-time image the SIMD array we used for the computation. Section 2. analysis and real-time image generation. Both applica- describes a brute-force attack using PixelFlow and its tions do relatively simple calculations on a large set of implications for UNIX security. We also describe the pixel data. Computation at each pixel is, for the most capabilities of a SIMD machine that one could build with today’s technology and its security implications. In section 3. we propose a way to modify the UNIX addition, the Rasterizer board has a Texture/Video Sub- password scheme to make it resistant to brute force system that we did not use and will not describe here. crypt-analysis. For a full description of the PixelFlow system the reader should refer to [1, 2, 3]. 1. The PixelFlow Machine. Two Image Generation Controller ASICs (IGCs) con- PixelFlow is a heterogeneous parallel machine designed trol the rasterizer. The IGCs parse the instruction for a special purpose, high-speed and high-quality image stream from the Geometry Processor board and issue generation. A PixelFlow system consists of at least micro-instructions to the SIMD PE array. A DMA unit one chassis, which includes up to nine Flow units. transfers a stream of instruction from the GP SDRAM Each Flow unit has a SIMD array of 8,192 (8K) Proc- memory to IGC units and the SIMD array. essing Elements (PEs) running at 100MHz. To program the SIMD array one loads a program into As shown in Figure-1, each Flow unit includes both a one of the GP CPUs. The GP processor, by executing Geometry Processor (GP) board and a Rasterizer Board the program, generates a sequence of microcode instruc- (RB). The GP board has two 180 MHz. PA-RISC-8000 tions for the SIMD array. The GP is used to control CPUs, 128MB SDRAM memory, and a custom ASIC, the SIMD array and to communicate with a host work- the RHInO (Runway Host and I/O) that connects the station. Since the system was designed for image gen- processors with memory, the geometry network and the eration, the SIMD array has a high bandwidth connec- Rasterizer Board. The geometry network is a high-speed tion to the Texture/Video subsystem, but only a very packet-routing network that connects the GPs to each limited (1-bit) connection back to the GP. other. In addition an I/O interface card connects the network to a host workstation. The programming environment for the SIMD array is limited. A set of C++ functions implements an as- The heart of the Rasterizer board is a SIMD (128x64) sembly language instruction set for the SIMD array. A array of 8192 processing elements (PEs). The PE array functional level simulator is used for program develop- is implemented on 32 logic-enhanced memory chips ment and debugging. The SIMD-array instruction set (EMCs), each containing 256 PEs. Figure-2 shows a was designed to efficiently execute image generation block diagram of an EMC. Each PE is an eight-bit code. Instructions can operate on a single byte, two, wide processor consisting of an arithmetic-logic unit four, or eight bytes of data. Most instructions take two (ALU), two registers and 384 bytes of local memory. or three clock cycles per byte to execute. The SIMD This includes 256 bytes of main memory and four 32- instruction set is quite conventional except the set of byte partitions associated with two I/O ports. A linear linear expression-evaluation instructions. The instruc- expression evaluator computes values of the bilinear tions are memory to memory instructions. The instruc- expression A•x+B•y+C in parallel for every PE; the pair tion set includes the usual integer and bit-wise logical (x,y) is the address of each PA in the SIMD array. In Geometry Processor Raster Board Texure Memory CPU Memory GeNIe 128 MB SIMD Array 64 MB PA-8000 128x64 PEs 64 MB 32 EMCs 64 MB 8 TASICs Runway Bus 768 MB/S 64 MB CPU RHinO EIGC PA-8000 EIGC Geometry Network 800 MB/S Figure-1: PixelFlow Unit, Block Diagram. instructions. However, the PixelFlow SIMD array is attack ciphers. Using today’s technology (say, 0.2m missing indexing instructions. The PixelFlow hardware CMOS technology) one can build special-purpose ma- does not support the ability to take a memory value and chines that can “crack” 56-bit and 64-bit ciphers in a use it as an index into memory.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us