01-10-2016, 12:49 PM
1457262097-conferencekarthi.docx (Size: 189.95 KB / Downloads: 5)
Abstract –
Many security primitives are based on hard mathematical problems. Using hard AI problems for security is emerging as an exciting new paradigm, but has been underexplored. In this paper, we present a new security primitive based on hard AI problems, namely, a novel family of graphical password systems built on top of Puzzle technology, which we call Puzzle as graphical passwords (CaPGP). CaPGP is both a Puzzle and a graphical password scheme. CaPGP addresses a number of security problems altogether, such as online guessing attacks, relay attacks, and, if combined with dual-view technologies, shoulder-surfing attacks. Notably, a CaPGP password can be found only probabilistically by automatic online Guessing attacks even if the password is in the search set. CaPGP also offers a novel approach to address the well-known image hotspot problem in popular graphical password systems, such as Pass Points, that often leads to weak password choices.CaPGP is not a panacea, but it offers reasonable security and usability and appears to fit well with some practical applications for improving online security.
INTRODUCTION
DENIAL of Service (DoS) attacks and Distributed DoS (DDoS) attacks attempt to deplete an online ser- vice’s resources such as network bandwidth, memory and computation power by overwhelming the service with bogus requests. For example, a malicious client sends a large number of garbage requests to an HTTPS bank server. As the server has to spend a lot of CPU time in completing SSL handshakes, it may not have sufficient resources left to handle service requests from its customers, resulting in lost businesses .The associate editor coordinating the review of this manuscript Agency for Science, Technology and Research, that the DoS attack is different from the “normal” congestion case where a server receives the overwhelming number of requests in peak hours, e.g., some booking systems often crash in the period of festival eve due to sudden increase of ticket purchase requests. The later is usually predictable, but the former is not and reputation
CaPGP are effective if attackers spend much less resources than the victim server or are much more powerful than normal users. In the example above, the attacker spends negligible effort in producing a request, but the server has to spend much more computational effort in HTTPS handshake (e.g., for RSA decryption). In this case, conventional crypto- graphic tools do not enhance the availability of the services; in fact, they may degrade service quality due to expensive cryptographic operations.
The existing client puzzle schemes assume that the mali- cious client solves the puzzle using legacy CPU resource only. However, this assumption is not always true. Presently, the many-core GPU (Graphic Processing Unit) component is almost a standard configuration in modern desktop computers (e.g., ATI FirePro V3750 in Dell T3500), laptop computers (e.g., nVidia Quadro FX 880M in Lenovo Thinkpad W510), and even smartphones (e.g., PowerVR SGX540 in Samsung I9008 GalaxyT M S). Therefore, an attacker can easily uti- lize the “free” GPUs or integrated CPU-GPU to inflate his computational capacity [5]. This renders the existing client puzzle schemes ineffective due to the significantly decreased computational cost ratio γ.
A. Notations
For ease of reference, important notations used throughout the paper are listed below.
x : A challenge chosen by server.
m : A message collected from environment.
y: A solution to the puzzle challenge x.
(x ̃, y ̃): A puzzle response returned from client.
P(•): Puzzle algorithm such that x = P(y, m).
C: Puzzle core which is the software implementation of P(•).
C0x: Puzzle which embeds the information of x into C.
C1x: Obfuscated C0x.
II. GPU INTRODUCTION
Modern GPUs have many processing cores that can be used for general-purpose computing as well as graphics processing. Additionally, nVidia and AMD, the major GPU vendors, pro- vide convenient programming libraries to use their GPUs for intensive computation applications. Without loss of generality, nVidia GPU will be used to present our techniques in the following. For self-contained, this Section briefly introduces nVidia GPU, its application on the basic GPU-inflated DoS attacks, and its difference from CPU which will be exploited to defeat against the GPU-inflated DoS attack.
A. nVidia GPU Overview
In the nVidia architecture, a GPU has many Streaming Multiprocessors (SMs) consisting of many identical processing cores. For example, the nVidia GeForce GTX 680 consists of 1,536 cores. A GPU processor has fast but small shared memory. Besides, it has access to the host’s global memory which is large but slow.
B. Difference Between CPU and GPU
Unlike modern CPUs,which are designed to efficiently optimize the execution of single-thread programs using com- plex out-of-order execution strategies, a modern GPU executes massively data-parallel programs in almost predictable way. Hence, GPU does not explicitly support branch instructions.
Although both CPU software and GPU software can be implemented using the same high-level language such as C, their low-level instruction sets are totally different. Particularly, some instruction operations are not supported in GPU software. For example, self-modifying code, widely used in software protection, modifies the software itself on the fly so as to raise the bar of hacking. As all the GPU cores share the same kernel, if one thread modifies the kernel, the final software output is hard to predict on account of the independence of threads. Another GPU programming language is OpenCL C, the dominant open general-purpose GPU computing language (www.khronosopencl/), which can be used too. There are multiple-core CPUs in the market. However, in comparison with GPU, the number of cores in a multiple-core CPU is too small. Hence, we omit multiple-core CPU in this paper without loss of generality.
III. SOFTWARE PUZZLE
We classify client puzzles into two types. If a puz- zle function P, as all the existing client puzzle schemes (see [13], [14]), is fixed and disclosed in advance, the puzzle is called a data puzzle; otherwise, it is referred to as a software puzzle. Data puzzle aims to enforce the client’s computation delay of the inverse function P−1(x) for a random input x; while software puzzle aims to deter an adversary from under- standing/translating the implementation of a random puzzle function P(•).