Server-based code obfuscation scheme for APK tamper detection

Size: px
Start display at page:

Download "Server-based code obfuscation scheme for APK tamper detection"

Transcription

1 SECURITY AND COMMUNICATION NETWORKS Security Comm. Networks 2016; 9: Published online 10 March 2014 in Wiley Online Library (wileyonlinelibrary.com)..936 SPECIAL ISSUE PAPER Server-based code obfuscation scheme for APK tamper detection Yuxue Piao, Jin-Hyuk Jung and Jeong Hyun Yi* School of Computer Science and Engineering, Soongsil University, Seoul, Korea ABSTRACT It is easy to decompile Android applications (or apps) owing to the structural characteristics of the app building process, but this ease makes them quite vulnerable to forgery or modification attacks. In particular, users may suffer direct financial loss if this vulnerability is exploited in security-critical private and business applications, such as online banking. One of the solutions to these problems is a code obfuscation technique. In this regard, DexGuard, which is based on ProGuard, which is integrated into the Android software development kit build system, has recently been introduced. Although DexGuard protects Android applications more effectively, an attacker is still able to analyze the hex code of a Dalvix Executable file. To resolve this weakness, we begin by analyzing the DexGuard tool from both a static and dynamic point of view. Our analysis reveals that DexGuard has some weaknesses. In this paper, we propose an obfuscation technique based on a client/server model with one-time secret key delivery using short message service or network protocol. The main concept is to store the core execute class file through obfuscation on the server, so when a program needs to execute core routines, it must request these routines from the server. In this way, we can protect Android apps from reverse engineering. Copyright 2014 John Wiley & Sons, Ltd. KEYWORDS APK tamper detection; repackaging attack; code obfuscation; reverse engineering *Correspondence Jeong Hyun Yi, School of Computer Science and Engineering, Soongsil University, Seoul, Korea. jhyi@ssu.ac.kr 1. INTRODUCTION As a relative latecomer to the smartphone market, one of the top priorities of Android-based smartphones is openness. Accordingly, the Android market the key market in which applications are distributed is also run in an open manner. Anyone can register as an application developer, self-sign developed applications, and register an application without having to go through a complicated procedure. This kind of open policy in which anyone can publish applications on the market has one fundamental weakness: applications containing malicious code can be published just as easily. In addition, Android applications can be easily decompiled owing to their structural characteristics [1], in which applications are developed using Java and are self-signed so that applications modified in this way can be repackaged [2]. In this current situation that has this inherent vulnerability, an increasing number of Android-based financial service applications, including banking applications or mobile wallets [3], are finding their way into users hands. One of the solutions to these problems is a code obfuscation technique. Obfuscation is used to make reverse engineering of source code or machine code more difficult. It is used to transform a code into a form that is functionally identical to the original form but is much more difficult to understand. ProGuard [4] is a renaming identifiers obfuscator that is integrated into the Android software development kit. It takes care of only the renaming identifiers obfuscation [5], and using this method, the original opcodes remain unchanged. DexGuard [6], which is based on ProGuard, has more recently been introduced. It supports control flow randomization [7] and class encryption in addition to renaming identifiers obfuscation, hides sensitive APIs, and provides string encryption. Although DexGuard protects Android applications more effectively than ProGuard, an attacker is still able to analyze the hex code of a Dalvik Executable (DEX) [8] file. We thus begin by analyzing the DexGuard tool from both a static and dynamic point of view. Our analysis reveals that DexGuard has some weaknesses. Accordingly, we propose a new obfuscation and protection scheme for APK [9] that DexGuard is unable to support. The proposed obfuscation is based on a client/server model with one-time secret key delivery using short message service (SMS) or network protocol. We remove the core classes and tamper detection routine to server in order to protect them more effectively. This paper is organized as follows. Section 2 outlines the research that has already been performed in the area Copyright 2014 John Wiley & Sons, Ltd. 457

2 Server-based code obfuscation scheme for APK tamper detection Y. Piao, J.-H. Jung and J. H. Yi of obfuscation, paying particular attention to the main obfuscation technique that is applied to Java or Android applications and obfuscation tools, and in this part describes in detail the various features of an Android application. This includes the DEX file format and DEX opcodes. Section 3 discusses DexGuard weakness through reverse engineering the obfuscated APKs. In Section 4, we introduce our proposed scheme, which is based on serverbased obfuscation. Finally, in Section 5, we offer a number of suggestions about our proposed obfuscation scheme, and Section 6 summarizes our conclusions. 2. RELATED WORK There has been a lot of research into code obfuscation in recent decades. Most of this research has addressed native code obfuscation in order to protect Executable and Linkable Format files or Portable Executable files. Today, as Java-based applications have grown increasingly popular, issues related to managing code obfuscation have become a major subject of research. In Java, five major obfuscation features are applied in practice: renaming identifiers obfuscation, control flow randomization, string encryption, application programming interface (API) hiding, and class encryption. On the basis of these obfuscation features, a number of commercial obfuscation software products have added a tamper detection feature as an extra layer of protection. Figure 1 shows the classification of Java obfuscation technique. Renaming identifiers obfuscation involves replacing the original names of the classes, fields, and methods with meaningless words. Because Java is an object-oriented language, the names of the classes, fields, and methods contain meaningful information about the software s architecture. By replacing these names with meaningless names, it takes more time to reverse the application architecture. The aim of control flow randomization is to mislead the decompiler into adding some junk bytecode or using an opaque predicate [10]. This technique is used for protecting the logic of the method and variables. String encryption is a kind of encryption of the string constant in a Java application. After applying this technique, the original string constant is changed into encrypted data. When the application uses the string constant, it will invoke the decryption method that was added by the obfuscator. API hiding is used to prevent a static analysis from discovering the core API uses. To achieve this goal, in Java, the reflection mechanism is used. As a result, the obfuscator encrypts every descriptor. The mechanism for encrypting an entire class is referred to as class encryption. When an application uses the original classes, it decrypts these classes first and loads them into a virtual machine memory pool. Strictly, tamper detection is not kind of obfuscation. But there are some obfuscation tools that support tamper detection as protection mechanism. A number of Java code obfuscation tools have been introduced recently. For this study, we selected the most popular tools, namely ProGuard, DexGuard, and Allatori [11], and compared their key characteristics. Table I shows a comparison of the key features of these obfuscation tools. As can be seen in the table, ProGuard supports only the renaming identifiers technique, but it is open source, which is why it is widely used. DexGuard and Allatori, on the other hand, support a number of other features. We analyze the features of DexGuard in more detail in Section 3. In order to obfuscate or deobfuscate APK, we need to understand the concept of DEX format and bytecode for Dalvik virtual machine (DVM). A DEX file is an executable file for DVM that has a more compact structure than a class file. Figure 2 shows the overall layout of a DEX file. Every section except the header, data, and link_data sections contains an offset value. Further, in the data section, all the detailed data are stored for data compaction. Figure 1. Classification of Java obfuscation technique. 458 Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd.

3 Y. Piao, J.-H. Jung and J. H. Yi Server-based code obfuscation scheme for APK tamper detection Table I. Comparison of obfuscation tool features. ProGuard DexGuard Allatori Renaming identifiers Yes Yes Yes Control flow randomization No Yes Yes String encryption No Yes Yes API hiding No Yes No Class encryption No Yes No Tamper detection No Yes No API, application programming interface. Opcodes are stored in the class_def section, which defines the class information. In a Dalvik bytecode specification, every instruction has its own format, so we must calculate the boundary for each instruction. When reading the bytecode of instructions, we choose the first single byte and look it up in the instruction manual. Figure 3 shows how to translate binary codes into mnemonics. In this sample, 0x12 represents const/4, which means that it assigns a 4-bit value to the first operand virtual register. It also indicates that we need to read one more byte. The next byte is 0x00, which means that the instruction assigns a value of 0x0 to the virtual register zero. Let us then look at the next group of opcode and operand. The next first byte is 0x35, which represents the if-ge mnemonic. We thus need to read three more bytes to obtain the entire meaning. 3. THE WEAKNESS OF DEXGUARD Figure 2. Overall layout of Dalvix Executable file. The header section contains the magic number for the DEX file that is used for file type identification. In addition, it contains the checksum field, which can detect file corruption, and the signature field, which uniquely identifies files. The string_ids section has the offset of the string value used by the application. The type_ids section lists the descriptor for the method or class. The proto_ids section contains the prototype for the method, but the opcodes of the method are in the class_ids section. The field_ids section describes the information of the fields, which are defined in classes or are used in classes or methods. The method_ids section has the name of the method and the class to which the method belongs. The class_defs section has the details of the class, such as the field, method, and the opcodes of the method. We are also able to read the binary code for the bytecode using the DEX file format, because disassembly is more correct than decompiling. Many reverse engineers use the smali/backsmali tool [12], which is an assembler/disassembler tool that converts a binary DEX file into an instruction mnemonic defined by a Dalvik bytecode [13]. DexGuard manipulates a DEX file to obfuscate it. To do so, it changes two major parts of the file. One part is a constant pool that contains the string_ids, type_ids, proto_ids, field_ids, and method_ids sections, and the other part is the class area, which contains the Dalvik opcode. By default, DexGuard uses a renaming dictionary in which the characters exist in a unicode set but are semantically meaningless in human languages. These kinds of unicode sets cannot be displayed well in a typical system because most of the font sets do not implement the useless fonts defined in unicode sets. Before analyzing or forging the APK, the attacker must find the proper unicode font to display the result correctly. We can rename entire classes again to deobfuscate the renaming obfuscation using dex2jar [14]. The string_ids typically contains the descriptors for the class, the field, and the method. However, all the original Figure 3. Bytecode to mnemonic translation. Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd. 459

4 Server-based code obfuscation scheme for APK tamper detection Y. Piao, J.-H. Jung and J. H. Yi descriptors have disappeared because the hiding of the sensitive API functions. To hide these important descriptors, DexGuard uses a reflection API in order to replace the typical Java programming methodology. When using reflection, the descriptor of the API changes to strings, so that hiding an API feature produces a kind of string encryption. DexGuard adds a descriptor decryption method for the encrypted descriptor. Before the routines reference the class or invoke the method, the descriptor decryption method is invoked. In addition, data from the encrypted descriptors are stored in an array, which is a feature for hiding sensitive APIs. After decrypting the descriptors, the reflected bytecodes added by DexGuard are invoked in order to load and run the proper classes. Thus far, we have explained the mechanism for hiding sensitive APIs. Because of the reflection API identity, an obfuscated DEX file must have certain kinds of reflection API descriptors in the data section. String encryption is similar to hiding sensitive APIs. DexGuard encrypts the string data and adds a decryption method for the strings. Every time the program uses a string, it invokes this decryption method for strings. At this point, we can inject the print instruction after invoking the string decryption method. In response, the decrypted strings are displayed on the console and are used by the application. Using the same method, we can also discover the hidden API descriptors. A more important feature is class encryption. Figure 4 shows how DexGuard encrypts a class. When applying this feature, DexGuard generates another class using a class decryption method we refer to as a package class. The entire program references the encrypted class through the package class. Although DexGuard provides a good solution to protecting APK against repacking attacks, we still find that it has some weaknesses. For example, certain debugging opcodes can be injected into an obfuscated DEX file. From our investigation, we found that DexGuard uses the data encryption standard (DES) algorithm [15] to encrypt the class using a secret key that is discovered in the decryption routine. In a new version, we found DexGuard changes the DES algorithm to advanced encryption standard algorithm. Figure 5 shows DexGuard how to encrypt the SecretClass and the application how to decrypt the encrypted class. At first reverse engineering, we found one secret key named Array_9c0 (every application has different name), initial vector named Array_9c8, and two encrypted binary data Array_9d0 and Array_b44, which existed in byte array in DEX file. When the obfuscated APK executes, the decryption method for encrypted class will run first. It uses secret key 1 named Array_9c8 and initial vector to decrypt the first array data Array_9d0. After Array_9d0 is decrypted, a new zip file format data will be created. Because of the first data array starts PK magic number and end with PK. This zip file contains a new classes.dex, we decompile the new Dex file using baksmali. There is one class that contains another secret key 2 and initial vector 2 for encrypted data Array_b44. So, we use secret key 2 and initial vector 2 to decrypt Array_b44. We found the disassembled smali code logic is the same as original source code logic. To increase the complexity of its obfuscation method, DexGuard adds control flow randomization to each obfuscation mechanism. For example, the errors occur, when decompiling the decryption method for encrypted classes. After analysis, it was found that the reason for the error phenomenon is that DexGuard reorders a number of opcodes, a process that has no effect on the logic and that adds some opaque predicates to the method. Finally, DexGuard supports tamper detection. When a programmer develops his or her own applications, he or she simply calls the tamper detection API to ensure the integrity of the Android application. With this protective mechanism, when a DEX file is modified by an attacker, the tamper attack routine finds out that the entire application has changed and directs the application to run an alert instead of running the original routines. Figure 6 shows the original tamper detection routine and how it can be bypassed. A brief description of this process is as follows. First, the tamper detection routine checks the entire DEX file and returns a value. Opcode if-nez indicates whether the return value is non-zero, which means that the APK cannot run properly. We therefore add a fake zero value using the instruction const/4 p1, 0x0 in the code section in order to trick the entire application. As we can see, the attacker can remove the bytecodes of the tamper detection or can skip the tamper detection routine and remake a fake application [16]. DexGuard delivers many obfuscation features. In any case, we can restore the original string by invoking the Figure 4. DexGuard class encryption concept. 460 Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd.

5 Y. Piao, J.-H. Jung and J. H. Yi Server-based code obfuscation scheme for APK tamper detection Figure 5. DexGuard encryption mechanism. decrypt string method. We can also gain access to the hidden API by injecting the print descriptor opcodes. In addition, we can also analyze and find the encrypted classes. The most difficult parts of the process are removing the opaque predicates or understanding the reordered opcodes. Therefore, an attacker may be able to reproduce a fake application. This possibility can make it possible for mission-critical applications such as banking apps to be attacked. For this reason, we need a more effective and improved obfuscation and protection mechanism to protect such Android applications. 4. PROPOSED SCHEME In this paper, we propose a server-based obfuscation scheme to protect the encrypted classes and the tamper detection routine more securely. The main idea is to move the tamper detection routine and the encrypted core class onto the server side and to deploy the decryption key from the server for the encrypted classes [17]. Figure 7 shows the conceptual architecture of the proposed scheme. The original APK program is divided into two parts. One is a subroutine, and the other is a core routine stored on the server. Both routines are obfuscated using typical obfuscation methods such as renaming identifiers obfuscation, control flow randomization, and string obfuscation; the core routine adds tamper detection routines. As a first step, we divide the original DEX files. For this purpose, we employ the ASMDEX library [18], which is a kind of framework that supports the direct manipulation of a DEX file at the bytecode level. In practice, this kind of division is performed by separating the string_ids, type_ids, proto_ids, field_ids, method_ids, class_defs, and data sections. After separating these sections, the data structure elements in each section must be rearranged. In addition, every time the binary code of the DEX file is changed, we must recalculate the values of the checksum field and the signature field in the header section. Figure 8 shows the process of dividing the original DEX file. In the second step, we can optionally apply the typical obfuscation mechanism cited in Section 2. Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd. 461

6 Server-based code obfuscation scheme for APK tamper detection Y. Piao, J.-H. Jung and J. H. Yi Figure 6. Bypassing the tamper detection routine. Figure 7. Overall concept of the proposed scheme. 462 Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd.

7 Y. Piao, J.-H. Jung and J. H. Yi Server-based code obfuscation scheme for APK tamper detection Figure 8. Dalvix Executable file division process. In the third step, we repackage the stub DEX file into the APK file that will be deployed on the client s phone. At the same time, the core DEX file is stored on the server along with the client s DEX file signature value. We use the DES algorithm to encrypt the core DEX file and deploy the key from the server each time. In the third step, we also develop the server-side program so it is coordinated with the obfuscation tool. The serverside program runs as follows. When a client executes a program, the client requests the core routine. Next, the server sends the encrypted core routine, which contains a number of classes and the tamper detection routine. The core routines are delivered via any network protocols built in smartphones; for example, the hypertext transfer protocol. Simultaneously, the server sends a secret key to the user s mobile phone using an SMS or Internet protocol. In this paper, we simply choose hypertext transfer protocol to transfer core DEX and secret key. The delivered secret key is used to encrypt/decrypt the core routine each time. We will later describe how a random secret key is generated every time. After decrypting the core DEX file at the client side, it must be loaded by the client s DVM. In Java, there is a reflection API that can help load the classes dynamically during the runtime. The mechanism of this process is similar to the hidden API mechanism mentioned in Section 3. Figure 9 shows the loading process for the core classes. Unlike in Java virtual machine, in DVM, we must use the dalvik.system.dexfile API in order to load the core classes dynamically. We prewrite the Java code in the client stub using a reflection API with predefined descriptor strings. Finally, the subclient loads the decrypted core routine in a DVM and executes the tamper detection process. Once the integrity of the client DEX file is confirmed, the core Figure 9. Core class loading process. routine starts to run the main process. Figure 10 shows the architecture of the proposed obfuscation system. Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd. 463

8 Server-based code obfuscation scheme for APK tamper detection Y. Piao, J.-H. Jung and J. H. Yi Figure 10. Architecture of the proposed obfuscation system. The key for encrypting the core classes can be generated by any random number generator every time. In this study, though, we employ a hash chain mechanism [19] based on one-time password generation. We choose a random string, which is used to calculate the hash value. Using this hash value, we recalculate the hash of the previous hash. Let us suppose that we perform this kind of calculation n times. That is, h k ðpþ :¼ hh ð k 1 ðpþþ; 0 < k < n; where h 0 ðpþ ¼ hp ð Þ We use each of the hash values in the reverse order of the hash calculation as a secret key to encrypt thecoredexfile, except for the last hash value h n (P), where P is a master secret and h n (P) is installed as an integrity checking value in smartphones. For example, h n-i (P) is selected as i-th secret key, denoted by SK i ;Thatis,SK i = h n-i (P). Suppose the core class management server will encrypt the core class with SK i and then send it to the smartphone at the client side. At the client side, when the protected application receives SK i through SMS channel, the stub routine applies the hash function i times on SK i in order to verify Table II. Notations. Notations ID A SK i BDEX EDEX Sig V DEX, Dalvix Executable. Description Identifier of application i-th secret key Original DEX Encrypted DEX Signature for client DEX Return value for validation Figure 11. Proposed obfuscation procedure. 464 Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd.

9 Y. Piao, J.-H. Jung and J. H. Yi Server-based code obfuscation scheme for APK tamper detection its integrity by comparing h i (SK i ) with the preinstalled h n (P). If the both values are identical, then the client uses the received secret key SK i to decrypt the core DEX file. On successive occasions, the secret key that the client receives is changed every time without generating a random number. After successfully decrypting and loading the core classes, the core routine executes the overall the tamper detection routine. It opens the DEX of the current APK and reads the signature bytes in the header section of the DEX. At the same time, the tamper detection routine requests the stored signature value via the network and compares the two values in order to determine whether it has been modified. Table II lists the notations used in this section. Figure 11 shows the tamper detection procedure of the proposed obfuscation scheme. Send(ID A ) means sending an identification of application for request the core routines. On the server side, if the ID A is legitimate, then the server generates a secret key and encrypts the core DEX file. As a response to the client, RES(EDEX, SK) indicates response the client with encrypt DEX and secret key as parameters. After the client receives the encrypt core DEX and secret key, the decrypt routine runs. Next, the client loads core DEX file into Dalvik virtual machine and executes the tamper detection that is located in core classes. Send (Sig) shows the signature for client DEX sent by tamper detection routine. The core class management server determines if the client s signature is correct and then it will return the confirmation value. 5. DISCUSSION All the typical obfuscation methods we mentioned in Section 2 can be directly applied to our proposed system. In any case, the complete logic of the program remains with the client. An attacker may be able to analyze a hex code of an executable file and determine how it is structured. If, however, the complete logic of the program is divided and stored in different locations, the attacker must calculate all possible locations and combine all the pieces of information. After an attacker successfully combines all the information that remains obfuscated by typical obfuscation methods, the attacker must then analyze the obfuscated program. We also move the tamper detection routine from the client to the server-side management routines. This mechanism protects the tamper detection routine from being bypassed. There is network communication in our proposed scheme, so the attacker may attack core DEX management system by SYN flooding attacks. This problem is out of our discussion in this paper, but we can develop additional security mechanism such as detection of SYN flooding [20]. We change the deployment of the secret key for class encryption. DexGuard carries out class encryption and stores the secret key in an opcode. An attacker can find out the secret key and decrypt the encrypted classes. For this reason, we store the secret key on the server and deploy the key through an SMS channel or network protocol during runtime. Each time the secret key is changed, its timeliness and newness are guaranteed, making it more secure. We said the secret key will be delivered through SMS or network. The two methods all have pros and cons. In Figure 12. Difference between DexGuard and the proposed scheme. Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd. 465

10 Server-based code obfuscation scheme for APK tamper detection Y. Piao, J.-H. Jung and J. H. Yi practical, if we choose SMS way, the user must input the secret key for execution. This mechanism reduces usability but prevents man-in-middle attack. On the other hand, the server deploys the secret key via network protocol, so the client will run the loading core DEX process silently without interrupt users. This mechanism increase usability, but the attacker may analyze the secret key on network. Our proposed scheme obfuscates applications by storing them in two different spaces. This kind of mechanism costs the attacker attempt reverse engineering at least twice, because the attacker must analyze the stub routines to figure out how the program runs. After that, the attacker must reanalyze the core routines that are sent by server. Figure 12 shows structural difference between DexGuard and the proposed scheme. In practical, the core class management server can use cloud computing [21] to reduce maintenance cost. Another concern is about calculating hash value algorithm for secret key. One of good algorithm is an improved fast and secure hash algorithm [22]. If the protected application is focused on security, we can use bank one time password (OTP) system module [23] to deploy secret key. The limitation of our proposed scheme is as follows. The client must access the network, so it may cost user s communication fee. 6. CONCLUSION Decompiler/disassembler technology is powerful, so a protection mechanism for APK modification attacks must be developed. Code obfuscation and protection can be applied to the Android platform in order to hinder reverse engineering and protect against such repackaging attacks. We investigated the well-known obfuscation tool DexGuard and discovered that it had a design weakness that makes it possible for the secret key for the encryption class to be discovered in the bytecode itself, along with the decryption module. In response to this discovery, we proposed a serverbased code obfuscation scheme. We showed that moving the tamper detection routines to the server side offered a more effective guarantee of the integrity of the APK. In addition, a scheme that involves storing the core class on the server side prevents an attacker from analyzing the main routine. In conclusion, it is expected that the proposed APK obfuscation and protection scheme will provide a much more competitive approach than is provided by existing obfuscation tools, such as DexGuard, specifically with regard to tamper detection of APK files. ACKNOWLEDGEMENTS This research was supported in part by the Ministry of Science, ICT & Future Planning, Korea, under the Information Technology Research Center support program (NIPA-2013-H ) supervised by the National IT Industry Promotion Agency, and in part by the National Research Foundation of Korea funded by the Ministry of Education (NRF-2013R1A1A ). REFERENCES 1. Enck W, Octeau D, McDaniel P, Chaudhuri S. A study of Android application security. USENIX Security Symposium, Jung JH, Kim JY, Lee HC, Yi JH. Repackaging attack on Android banking applications and its countermeasures. Journal of Wireless Personal Communication 2013; 73: Ma G, Yi JH. Design and Implementation of smart channel establishment schemes for mobile wallet services. Advanced Science Letters 2012; 9: ProGuard. (Accessed December 2012). 5. Cimato S, De Santis A, Ferraro Petrillo U. Overcoming the obfuscation of Java programs by identifier renaming. The Journal of Systems and Software 2005; 78: DexGuard. (Accessed December 2012). 7. Hou TW, Chen HY, Tsai MH. Three control flow obfuscation methods for Java software. IEE Proceedings-Software 2006; 153: Dex. dex-format.html (Accessed December 2012). 9. APK Collberg C, Thomborson C, Low D. Manufacturing cheep, resilient, and stealthy opaque constructs. ACM Symposium on Principles of Programming Languages, 1998; Allotori. (Accessed December 2012). 12. Smali/baksmali. (Accessed December 2012). 13. Dalvik bytecode. (Accessed December 2012). 14. Dex2jar. (Accessed December 2012). 15. Stallings W. Cryptography and Network Security. Pearson Education: Upper Saddle River, NJ, USA, Piao YX, Jung JH, Yi JH. Deobfuscation analysis of DexGuard code obfuscation tool. The International Conference on Computer Applications and Information Processing Technology, 2013; Yi JH, Piao YX, Jung JH, Choi EH, Cho SH. File server, file transfer method thereof and file 466 Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd.

11 Y. Piao, J.-H. Jung and J. H. Yi Server-based code obfuscation scheme for APK tamper detection tamperproof system. Patent App. No.: KR , ASMDEX Lamport L. Password authentication with insecure communication. Communications of the ACM 1981; 24(11): Wang SG, Sun QB, Zou H, Yang FC. Detecting SYN flooding attacks based on traffic prediction.security and Communication Networks 2012; 5(10): Pan Y, Zhang J. Parallel programming on cloudcomputing platforms challenges and solutions. Journal of Convergence 2012; 3(4): Agarwal S, Rungta A, Padmavathy R, Shankar M, Rajan N. An improved fast and secure hash algorithm. Journal of Information Processing Systems 2012; 8(1): Tsai C, Chen C, Zhuang D. Trusted M-banking verification scheme based on a combination of OTP and biometrics. Journal of Convergence 2012; 3(3): Security Comm. Networks 2016; 9: Copyright 2014 John Wiley & Sons, Ltd. 467

Mobile application tamper detection scheme using dynamic code injection against repackaging attacks

Mobile application tamper detection scheme using dynamic code injection against repackaging attacks J Supercomput (2016) 72:3629 3645 DOI 10.1007/s11227-016-1763-2 Mobile application tamper detection scheme using dynamic code injection against repackaging attacks Haehyun Cho 1 Jiwoong Bang 1 Myeongju

More information

Comparative Analysis of Mobile App Reverse Engineering Methods on Dalvik and ART

Comparative Analysis of Mobile App Reverse Engineering Methods on Dalvik and ART Comparative Analysis of Mobile App Reverse Engineering Methods on Dalvik and ART Geonbae Na, Jongsu Lim, Kyoungmin Kim, and Jeong Hyun Yi Soongsil University, Seoul, 06978, Korea {nagb, jongsu253, mseckkm,

More information

Are Your Mobile Apps Well Protected? Daniel Xiapu Luo Department of Computing The Hong Kong Polytechnic Unviersity

Are Your Mobile Apps Well Protected? Daniel Xiapu Luo Department of Computing The Hong Kong Polytechnic Unviersity Are Your Mobile Apps Well Protected? Daniel Xiapu Luo csxluo@comp.polyu.edu.hk Department of Computing The Hong Kong Polytechnic Unviersity 1 What if your mobile app is reverse-engineered by others? Core

More information

Obfuscating Transformations. What is Obfuscator? Obfuscation Library. Obfuscation vs. Deobfuscation. Summary

Obfuscating Transformations. What is Obfuscator? Obfuscation Library. Obfuscation vs. Deobfuscation. Summary ? Obfuscating Outline? 1? 2 of Obfuscating 3 Motivation: Java Virtual Machine? difference between Java and others? Most programming languages: Java: Source Code Machine Code Predefined Architecture Java

More information

droidcon Greece Thessaloniki September 2015

droidcon Greece Thessaloniki September 2015 droidcon Greece Thessaloniki 10-12 September 2015 Reverse Engineering in Android Countermeasures and Tools $ whoami > Dario Incalza (@h4oxer) > Application Security Engineering Analyst > Android Developer

More information

Tale of a mobile application ruining the security of global solution because of a broken API design. SIGS Geneva 21/09/2016 Jérémy MATOS

Tale of a mobile application ruining the security of global solution because of a broken API design. SIGS Geneva 21/09/2016 Jérémy MATOS Tale of a mobile application ruining the security of global solution because of a broken API design SIGS Geneva 21/09/2016 Jérémy MATOS whois securingapps Developer background Spent last 10 years working

More information

A Framework for Evaluating Mobile App Repackaging Detection Algorithms

A Framework for Evaluating Mobile App Repackaging Detection Algorithms A Framework for Evaluating Mobile App Repackaging Detection Algorithms Heqing Huang, PhD Candidate. Sencun Zhu, Peng Liu (Presenter) & Dinghao Wu, PhDs Repackaging Process Downloaded APK file Unpack Repackaged

More information

VirtualSwindle: An Automated Attack Against In-App Billing on Android

VirtualSwindle: An Automated Attack Against In-App Billing on Android Northeastern University Systems Security Lab VirtualSwindle: An Automated Attack Against In-App Billing on Android ASIACCS 2014 Collin Mulliner, William Robertson, Engin Kirda {crm,wkr,ek}[at]ccs.neu.edu

More information

Security Flaws of Cheng et al. s Biometric-based Remote User Authentication Scheme Using Quadratic Residues

Security Flaws of Cheng et al. s Biometric-based Remote User Authentication Scheme Using Quadratic Residues Contemporary Engineering Sciences, Vol. 7, 2014, no. 26, 1467-1473 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/10.12988/ces.2014.49118 Security Flaws of Cheng et al. s Biometric-based Remote User Authentication

More information

CTF Workshop. Crim Synopsys, Inc. 1

CTF Workshop. Crim Synopsys, Inc. 1 CTF Workshop Crim2018 31.10.2018 2018 Synopsys, Inc. 1 CTF (Capture the Flag) Capture the Flag (CTF) is a computer security competition. CTF are usually designed test and teach computer security skills.

More information

DexMonitor: Dynamically Analyzing and Monitoring Obfuscated Android Applications

DexMonitor: Dynamically Analyzing and Monitoring Obfuscated Android Applications Received October 23, 2018, accepted November 9, 2018, date of publication November 16, 2018, date of current version December 18, 2018. Digital Object Identifier 10.1109/ACCESS.2018.2881699 DexMonitor:

More information

Android App Protection via Interpretation Obfuscation

Android App Protection via Interpretation Obfuscation Android App Protection via Interpretation Obfuscation Junliang Shu, Juanru Li, Yuanyuan Zhang and Dawu Gu Lab of Cryptology and Computer Security Shanghai Jiao Tong University Shanghai, China, Abstract

More information

Progressive Authentication in ios

Progressive Authentication in ios Progressive Authentication in ios Genghis Chau, Denis Plotnikov, Edwin Zhang December 12 th, 2014 1 Overview In today s increasingly mobile-centric world, more people are beginning to use their smartphones

More information

Cryptanalysis of a Markov Chain Based User Authentication Scheme

Cryptanalysis of a Markov Chain Based User Authentication Scheme Cryptanalysis of a Markov Chain Based User Authentication Scheme Ruhul Amin, G.P. Biswas Indian School of Mines, Dhanbad Department of Computer Science & Engineering Email: amin ruhul@live.com, gpbiswas@gmail.com

More information

File System Interpretation

File System Interpretation File System Interpretation Part III. Advanced Techniques and Tools for Digital Forensics CSF: Forensics Cyber-Security Fall 2018 Nuno Santos Previously: Introduction to Android forensics! How does Android

More information

A SECURE PASSWORD-BASED REMOTE USER AUTHENTICATION SCHEME WITHOUT SMART CARDS

A SECURE PASSWORD-BASED REMOTE USER AUTHENTICATION SCHEME WITHOUT SMART CARDS ISSN 1392 124X INFORMATION TECHNOLOGY AND CONTROL, 2012, Vol.41, No.1 A SECURE PASSWORD-BASED REMOTE USER AUTHENTICATION SCHEME WITHOUT SMART CARDS Bae-Ling Chen 1, Wen-Chung Kuo 2*, Lih-Chyau Wuu 3 1

More information

Abusing Android In-app Billing feature thanks to a misunderstood integration. Insomni hack 18 22/03/2018 Jérémy MATOS

Abusing Android In-app Billing feature thanks to a misunderstood integration. Insomni hack 18 22/03/2018 Jérémy MATOS Abusing Android In-app Billing feature thanks to a misunderstood integration Insomni hack 18 22/03/2018 Jérémy MATOS whois securingapps Developer background Worked last 12 years in Switzerland on security

More information

Industrial Approach: Obfuscating Transformations

Industrial Approach: Obfuscating Transformations Industrial Approach: Obfuscating Transformations Yury Lifshits Steklov Institute of Mathematics, St.Petersburg, Russia yura@logic.pdmi.ras.ru Tartu University 17/03/2006 Yury Lifshits (Steklov Inst. of

More information

An Enhanced Dynamic Identity Based Remote User Authentication Scheme Using Smart Card without a Verification Table

An Enhanced Dynamic Identity Based Remote User Authentication Scheme Using Smart Card without a Verification Table An Enhanced Dynamic Identity Based Remote User Authentication Scheme Using Smart Card without a Verification Table B. Sumitra, Research Scholar, Christ University, Bangalore, India (*Corresponding Author)

More information

Security Philosophy. Humans have difficulty understanding risk

Security Philosophy. Humans have difficulty understanding risk Android Security Security Philosophy Humans have difficulty understanding risk Safer to assume that Most developers do not understand security Most users do not understand security Security philosophy

More information

The digital copy of this thesis is protected by the Copyright Act 1994 (New Zealand).

The digital copy of this thesis is protected by the Copyright Act 1994 (New Zealand). http://researchcommons.waikato.ac.nz/ Research Commons at the University of Waikato Copyright Statement: The digital copy of this thesis is protected by the Copyright Act 1994 (New Zealand). The thesis

More information

An Enhanced Security Policy Framework for Android

An Enhanced Security Policy Framework for Android All rights are reserved and copyright of this manuscript belongs to the authors. This manuscript has been published without reviewing and editing as received from the authors: posting the manuscript to

More information

ECE646 Fall Lab 1: Pretty Good Privacy. Instruction

ECE646 Fall Lab 1: Pretty Good Privacy. Instruction ECE646 Fall 2015 Lab 1: Pretty Good Privacy Instruction PLEASE READ THE FOLLOWING INSTRUCTIONS CAREFULLY: 1. You are expected to address all questions listed in this document in your final report. 2. All

More information

Integrated Access Management Solutions. Access Televentures

Integrated Access Management Solutions. Access Televentures Integrated Access Management Solutions Access Televentures Table of Contents OVERCOMING THE AUTHENTICATION CHALLENGE... 2 1 EXECUTIVE SUMMARY... 2 2 Challenges to Providing Users Secure Access... 2 2.1

More information

AppSpear: Bytecode Decrypting and DEX Reassembling for Packed Android Malware

AppSpear: Bytecode Decrypting and DEX Reassembling for Packed Android Malware AppSpear: Bytecode Decrypting and DEX Reassembling for Packed Android Malware Wenbo Yang 1(B), Yuanyuan Zhang 1, Juanru Li 1, Junliang Shu 1,BodongLi 1, Wenjun Hu 2,3,andDawuGu 1 1 Computer Science and

More information

Android Analysis Tools. Yuan Tian

Android Analysis Tools. Yuan Tian Android Analysis Tools Yuan Tian Malware are more creative: XcodeGhost More than 300 a pps are infected, including wechat and netease Collect device ID, Apple ID and p assword 10/3/15 CMU Mobile Security

More information

Access Control for Plugins in Cordova-based Hybrid Applications

Access Control for Plugins in Cordova-based Hybrid Applications 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising

More information

AppSpear: Bytecode Decryp0ng and DEX Reassembling for Packed Android Malware

AppSpear: Bytecode Decryp0ng and DEX Reassembling for Packed Android Malware AppSpear: Bytecode Decryp0ng and DEX Reassembling for Packed Android Malware Yang Wenbo, Zhang Yuanyuan, Li Juanru, Shu Junliang, Li Bodong, Hu Wenjun, Gu Dawu Sudeep Nanjappa Jayakumar Agenda Introduc0on

More information

SECURITY STORY WE NEVER SEE, TOUCH NOR HOLD YOUR DATA

SECURITY STORY WE NEVER SEE, TOUCH NOR HOLD YOUR DATA SECURITY STORY WE NEVER SEE, TOUCH NOR HOLD YOUR DATA CTO Office www.digi.me another Engineering Briefing digi.me keeping your data secure at all times ALL YOUR DATA IN ONE PLACE TO SHARE WITH PEOPLE WHO

More information

Secure Smart Card Based Remote User Authentication Scheme for Multi-server Environment

Secure Smart Card Based Remote User Authentication Scheme for Multi-server Environment Secure Smart Card Based Remote User Authentication Scheme for Multi-server Environment Archana P.S, Athira Mohanan M-Tech Student [Cyber Security], Sree Narayana Gurukulam College of Engineering Ernakulam,

More information

When providing a native mobile app ruins the security of your existing web solution. CyberSec Conference /11/2015 Jérémy MATOS

When providing a native mobile app ruins the security of your existing web solution. CyberSec Conference /11/2015 Jérémy MATOS When providing a native mobile app ruins the security of your existing web solution CyberSec Conference 2015 05/11/2015 Jérémy MATOS whois securingapps Developer background Spent last 10 years working

More information

(2½ hours) Total Marks: 75

(2½ hours) Total Marks: 75 (2½ hours) Total Marks: 75 N. B.: (1) All questions are compulsory. (2) Makesuitable assumptions wherever necessary and state the assumptions made. (3) Answers to the same question must be written together.

More information

Analysis of Java Code Protector

Analysis of Java Code Protector Analysis of Java Code Protector September 2005 December 2005 Submitted to Lockheed Martin Co. Principal Investigators Students Advisors Sean McGinnis ECE Dr. Gina Tang Matthew Sargent ECE Dr. Ravi Ramachandran

More information

Breaking and Securing Mobile Apps

Breaking and Securing Mobile Apps Breaking and Securing Mobile Apps Aditya Gupta @adi1391 adi@attify.com +91-9538295259 Who Am I? The Mobile Security Guy Attify Security Architecture, Auditing, Trainings etc. Ex Rediff.com Security Lead

More information

AHNLAB 조주봉 (silverbug)

AHNLAB 조주봉 (silverbug) AHNLAB 조주봉 (silverbug) Android Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Application framework Dalvik virtual machine Integrated

More information

A weakness in Sun-Chen-Hwang s three-party key agreement protocols using passwords

A weakness in Sun-Chen-Hwang s three-party key agreement protocols using passwords A weakness in Sun-Chen-Hwang s three-party key agreement protocols using passwords Junghyun Nam Seungjoo Kim Dongho Won School of Information and Communication Engineering Sungkyunkwan University 300 Cheoncheon-dong

More information

Abstract. 1. Introduction

Abstract. 1. Introduction Supporting Signatures in Mobile Environments Scott Campbell Department of Computer Science and Systems Analysis, Miami University scott@cc-campbell.com Abstract s, like physical s, can verify that a specific

More information

A Real time Service for Mobile Wallpaper

A Real time Service for Mobile Wallpaper Indian Journal of Science and Technology, Vol 8(S5), 37 43, March 2015 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 DOI : 10.17485/ijst/2015/v8iS5/61465 A Real time Service for Mobile Wallpaper Jong-Chan

More information

A Smart Card Based Authentication Protocol for Strong Passwords

A Smart Card Based Authentication Protocol for Strong Passwords A Smart Card Based Authentication Protocol for Strong Passwords Chin-Chen Chang 1,2 and Hao-Chuan Tsai 2 1 Department of Computer Science and Information Engineering, Feng Chia University, Taichung, Taiwan,

More information

C1: Define Security Requirements

C1: Define Security Requirements OWASP Top 10 Proactive Controls IEEE Top 10 Software Security Design Flaws OWASP Top 10 Vulnerabilities Mitigated OWASP Mobile Top 10 Vulnerabilities Mitigated C1: Define Security Requirements A security

More information

Certified Secure Web Application Engineer

Certified Secure Web Application Engineer Certified Secure Web Application Engineer ACCREDITATIONS EXAM INFORMATION The Certified Secure Web Application Engineer exam is taken online through Mile2 s Assessment and Certification System ( MACS ),

More information

Security Weaknesses of a Biometric-Based Remote User Authentication Scheme Using Smart Cards

Security Weaknesses of a Biometric-Based Remote User Authentication Scheme Using Smart Cards Security Weaknesses of a Biometric-Based Remote User Authentication Scheme Using Smart Cards Younghwa An Computer Media Information Engineering, Kangnam University, 111, Gugal-dong, Giheung-gu, Yongin-si,

More information

An efficient and practical solution to secure password-authenticated scheme using smart card

An efficient and practical solution to secure password-authenticated scheme using smart card An efficient and practical solution to secure password-authenticated scheme using smart card R. Deepa 1, R. Prabhu M.Tech 2, PG Research scholor 1, Head of the Department 2 Dept.of Information Technology,

More information

AppSpear: Bytecode Decrypting and DEX Reassembling for Packed Android Malware

AppSpear: Bytecode Decrypting and DEX Reassembling for Packed Android Malware AppSpear: Bytecode Decrypting and DEX Reassembling for Packed Android Malware Yang Wenbo 1(B), Zhang Yuanyuan 1, Li Juanru 1, Shu Junliang 1 Li Bodong 1, Hu Wenjun 2,3, Gu Dawu 1 1 Computer Science and

More information

An Improved Remote User Authentication Scheme with Smart Cards using Bilinear Pairings

An Improved Remote User Authentication Scheme with Smart Cards using Bilinear Pairings An Improved Remote User Authentication Scheme with Smart Cards using Bilinear Pairings Debasis Giri and P. D. Srivastava Department of Mathematics Indian Institute of Technology, Kharagpur 721 302, India

More information

Authentication Methods

Authentication Methods CERT-EU Security Whitepaper 16-003 Authentication Methods D.Antoniou, K.Socha ver. 1.0 20/12/2016 TLP: WHITE 1 Authentication Lately, protecting data has become increasingly difficult task. Cyber-attacks

More information

A Hash-based Strong Password Authentication Protocol with User Anonymity

A Hash-based Strong Password Authentication Protocol with User Anonymity International Journal of Network Security, Vol.2, No.3, PP.205 209, May 2006 (http://isrc.nchu.edu.tw/ijns/) 205 A Hash-based Strong Password Authentication Protocol with User Anonymity Kumar Mangipudi

More information

Obfuscation-Resilient Code Detection Analyses for Android Apps

Obfuscation-Resilient Code Detection Analyses for Android Apps Obfuscation-Resilient Code Detection Analyses for Android Apps Dissertation Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the Graduate School of The Ohio State

More information

Online Banking Security

Online Banking Security Online Banking Security Fabian Alenius Uwe Bauknecht May 17, 2009 Contents 1 Introduction 2 2 Secure Communication 2 2.1 Password authentication..................... 2 2.2 One-time Passwords.......................

More information

Intelligent Terminal System Based on Trusted Platform Module

Intelligent Terminal System Based on Trusted Platform Module American Journal of Mobile Systems, Applications and Services Vol. 4, No. 3, 2018, pp. 13-18 http://www.aiscience.org/journal/ajmsas ISSN: 2471-7282 (Print); ISSN: 2471-7290 (Online) Intelligent Terminal

More information

II. LITERATURE SURVEY

II. LITERATURE SURVEY Secure Transaction By Using Wireless Password with Shuffling Keypad Shweta Jamkavale 1, Ashwini Kute 2, Rupali Pawar 3, Komal Jamkavale 4,Prashant Jawalkar 5 UG students 1,2,3,4, Guide 5, Department Of

More information

Robust EC-PAKA Protocol for Wireless Mobile Networks

Robust EC-PAKA Protocol for Wireless Mobile Networks International Journal of Mathematical Analysis Vol. 8, 2014, no. 51, 2531-2537 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/10.12988/ijma.2014.410298 Robust EC-PAKA Protocol for Wireless Mobile Networks

More information

CUHK CSE ADAM: An Automatic & Extensible Platform Stress Test Android Anti-Virus Systems John Spark Patrick C.S. Lui ZHENG Min P.C.

CUHK CSE ADAM: An Automatic & Extensible Platform Stress Test Android Anti-Virus Systems John Spark Patrick C.S. Lui ZHENG Min P.C. ADAM: An Automatic & Extensible Platform To Stress Test Android Anti-Virus Systems John C.S. Lui Patrick P.C. Lee 1 of 15 Android Malware Up 3,325% in 2011 1. This past year, we saw a significant increase

More information

ICT 6541 Applied Cryptography Lecture 8 Entity Authentication/Identification

ICT 6541 Applied Cryptography Lecture 8 Entity Authentication/Identification ICT 6541 Applied Cryptography Lecture 8 Entity Authentication/Identification Hossen Asiful Mustafa Introduction Entity Authentication is a technique designed to let one party prove the identity of another

More information

Anti-debugging scheme for protecting mobile apps on android platform

Anti-debugging scheme for protecting mobile apps on android platform J Supercomput (2016) 72:232 246 DOI 10.1007/s11227-015-1559-9 Anti-debugging scheme for protecting mobile apps on android platform Haehyun Cho 1 Jongsu Lim 1 Hyunki Kim 1 Jeong Hyun Yi 1 Published online:

More information

TECHNICAL WHITE PAPER Penetration Test. Penetration Test. We help you build security into your software at every stage. 1 Page

TECHNICAL WHITE PAPER Penetration Test. Penetration Test. We help you build security into your software at every stage. 1 Page Penetration Test We help you build security into your software at every stage 1 Page Table of Contents 1 Overview... 3 2 Penetration Test Services Overview... 4 2.1 Values of penetration testing... 4 2.2

More information

Network Security and Cryptography. December Sample Exam Marking Scheme

Network Security and Cryptography. December Sample Exam Marking Scheme Network Security and Cryptography December 2015 Sample Exam Marking Scheme This marking scheme has been prepared as a guide only to markers. This is not a set of model answers, or the exclusive answers

More information

Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices

Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices Ilhoon Shin Seoul National University of Science & Technology ilhoon.shin@snut.ac.kr Abstract As the amount of digitized

More information

Operating Systems Design Exam 3 Review: Spring 2011

Operating Systems Design Exam 3 Review: Spring 2011 Operating Systems Design Exam 3 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu 1 1. Why does an IP driver need to use ARP, the address resolution protocol? IP is a logical network. An IP address

More information

ECE646 Fall Lab 1: Pretty Good Privacy. Instruction

ECE646 Fall Lab 1: Pretty Good Privacy. Instruction ECE646 Fall 2012 Lab 1: Pretty Good Privacy Instruction PLEASE READ THE FOLLOWING INSTRUCTIONS CAREFULLY: 1. You are expected to address all questions listed in this document in your final report. 2. All

More information

Protecting Against Unexpected System Calls

Protecting Against Unexpected System Calls Protecting Against Unexpected System Calls C. M. Linn, M. Rajagopalan, S. Baker, C. Collberg, S. K. Debray, J. H. Hartman Department of Computer Science University of Arizona Presented By: Mohamed Hassan

More information

Innovative Authentication method for boosting Mobile Connect global roll-out

Innovative Authentication method for boosting Mobile Connect global roll-out Innovative Authentication method for boosting Mobile Connect global roll-out GB Patent Pending 1803719.2 US Patent Pending 15928348 IPification solution could very well be what is missing to 2018, Shanghai

More information

An Efficient Provable Data Possession Scheme based on Counting Bloom Filter for Dynamic Data in the Cloud Storage

An Efficient Provable Data Possession Scheme based on Counting Bloom Filter for Dynamic Data in the Cloud Storage , pp. 9-16 http://dx.doi.org/10.14257/ijmue.2016.11.4.02 An Efficient Provable Data Possession Scheme based on Counting Bloom Filter for Dynamic Data in the Cloud Storage Eunmi Jung 1 and Junho Jeong 2

More information

Outline. V Computer Systems Organization II (Honors) (Introductory Operating Systems) Language-based Protection: Solution

Outline. V Computer Systems Organization II (Honors) (Introductory Operating Systems) Language-based Protection: Solution Outline V22.0202-001 Computer Systems Organization II (Honors) (Introductory Operating Systems) Lecture 21 Language-Based Protection Security April 29, 2002 Announcements Lab 6 due back on May 6th Final

More information

Data Communication Prof.A.Pal Dept of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 40 Secured Communication - II

Data Communication Prof.A.Pal Dept of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 40 Secured Communication - II Data Communication Prof.A.Pal Dept of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 40 Secured Communication - II Hello and welcome to today's lecture on secured communication.

More information

AUTHENTICATION AND LOOKUP FOR NETWORK SERVICES

AUTHENTICATION AND LOOKUP FOR NETWORK SERVICES Vol.5, No.1, pp. 81-90, 2014 doi: 10.7903/ijecs.1040 AUTHENTICATION AND LOOKUP FOR NETWORK SERVICES Daniel J. Buehrer National Chung Cheng University 168 University Rd., Min-Hsiung Township, Chiayi County,

More information

CS 161 Computer Security

CS 161 Computer Security Paxson Spring 2011 CS 161 Computer Security Discussion 6 March 2, 2011 Question 1 Cross-Site Scripting (XSS) (10 min) As part of your daily routine, you are browsing through the news and status updates

More information

A flexible biometrics remote user authentication scheme

A flexible biometrics remote user authentication scheme Computer Standards & Interfaces 27 (2004) 19 23 www.elsevier.com/locate/csi A flexible biometrics remote user authentication scheme Chu-Hsing Lin*, Yi-Yi Lai Department of Computer Science and Information

More information

Software Protection via Obfuscation

Software Protection via Obfuscation Software Protection via Obfuscation Ciprian Lucaci InfoSec Meetup #1 1 About me Software Protection via Obfuscation - Ciprian LUCACI 2 About me 2008-2012 # Bachelor Computer Science @ Politehnica Univerity

More information

Design and Implementation of Secure OTP Generation for IoT Devices

Design and Implementation of Secure OTP Generation for IoT Devices , pp.75-80 http://dx.doi.org/10.14257/astl.2017.146.15 Design and Implementation of Secure OTP Generation for IoT Devices Young-Sae Kim 1 and Jeong-Nyeo Kim 1 1 Electronics and Telecommunications Research

More information

Crop Production Recognize Frameworks using Mobile Enterprise Application

Crop Production Recognize Frameworks using Mobile Enterprise Application , 22-24 October, 2014, San Francisco, USA Crop Production Recognize Frameworks using Mobile Enterprise Application Haeng Kon Kim and Roger Y Lee Abstract In this paper we propose an Enterprise Application

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 11 October 4, 2017 CPSC 467, Lecture 11 1/39 ElGamal Cryptosystem Message Integrity and Authenticity Message authentication codes

More information

The Android security jungle: pitfalls, threats and survival tips. Scott

The Android security jungle: pitfalls, threats and survival tips. Scott The Android security jungle: pitfalls, threats and survival tips Scott Alexander-Bown @scottyab The Jungle Ecosystem Google s protection Threats Risks Survival Network Data protection (encryption) App/device

More information

Applying Context to Web Authentication

Applying Context to Web Authentication Applying Context to Web Authentication John Linn, Burt Kaliski, and Moti Yung, RSA Laboratories; Magnus Nyström, RSA Security Inc. Prepared for W3C Workshop on Transparency and Usability of Web Authentication,

More information

The Research on Security Reinforcement of Android Applications

The Research on Security Reinforcement of Android Applications 4th International Conference on Mechatronics, Materials, Chemistry and Computer Engineering (ICMMCCE 2015) The Research on Security Reinforcement of Android Applications Feng Xiaorong1, a, Lin Jun2,b and

More information

Breaking Ad-hoc Runtime Integrity Protection Mechanisms in Android Financial Apps

Breaking Ad-hoc Runtime Integrity Protection Mechanisms in Android Financial Apps Breaking Ad-hoc Runtime Integrity Protection Mechanisms in Android Financial Apps Taehun Kim Seoul National University th_kim@snu.ac.kr Jaeyeon Jung Samsung Electronics jyjung@gmail.com Hyeonmin Ha Seoul

More information

01/02/2014 SECURITY ASSESSMENT METHODOLOGIES SENSEPOST 2014 ALL RIGHTS RESERVED

01/02/2014 SECURITY ASSESSMENT METHODOLOGIES SENSEPOST 2014 ALL RIGHTS RESERVED 01/02/2014 SECURITY ASSESSMENT METHODOLOGIES SENSEPOST 2014 ALL RIGHTS RESERVED Contents 1. Introduction 3 2. Security Testing Methodologies 3 2.1 Internet Footprint Assessment 4 2.2 Infrastructure Assessments

More information

SELECTING VOTES FOR ENERGY EFFICIENCY IN PROBABILISTIC VOTING-BASED FILTERING IN WIRELESS SENSOR NETWORKS USING FUZZY LOGIC

SELECTING VOTES FOR ENERGY EFFICIENCY IN PROBABILISTIC VOTING-BASED FILTERING IN WIRELESS SENSOR NETWORKS USING FUZZY LOGIC SELECTING VOTES FOR ENERGY EFFICIENCY IN PROBABILISTIC VOTING-BASED FILTERING IN WIRELESS SENSOR NETWORKS USING FUZZY LOGIC Su Man Nam and Tae Ho Cho College of Information and Communication Engineering,

More information

CS 161 Computer Security

CS 161 Computer Security Paxson Spring 2017 CS 161 Computer Security Discussion 6 Week of March 6, 2017 Question 1 Password Hashing (10 min) When storing a password p for user u, a website randomly generates a string s (called

More information

IEEE Sec Dev Conference

IEEE Sec Dev Conference IEEE Sec Dev Conference #23, Improving Attention to Security in Software Design with Analytics and Cognitive Techniques Jim Whitmore (former) IBM Distinguished Engineer Carlisle, PA jjwhitmore@ieee.org

More information

Online Version Only. Book made by this file is ILLEGAL. Design and Implementation of Binary File Similarity Evaluation System. 1.

Online Version Only. Book made by this file is ILLEGAL. Design and Implementation of Binary File Similarity Evaluation System. 1. , pp.1-10 http://dx.doi.org/10.14257/ijmue.2014.9.1.01 Design and Implementation of Binary File Similarity Evaluation System Sun-Jung Kim 2, Young Jun Yoo, Jungmin So 1, Jeong Gun Lee 1, Jin Kim 1 and

More information

Research and Design of Crypto Card Virtualization Framework Lei SUN, Ze-wu WANG and Rui-chen SUN

Research and Design of Crypto Card Virtualization Framework Lei SUN, Ze-wu WANG and Rui-chen SUN 2016 International Conference on Wireless Communication and Network Engineering (WCNE 2016) ISBN: 978-1-60595-403-5 Research and Design of Crypto Card Virtualization Framework Lei SUN, Ze-wu WANG and Rui-chen

More information

A Modified Approach for Kerberos Authentication Protocol with Secret Image by using Visual Cryptography

A Modified Approach for Kerberos Authentication Protocol with Secret Image by using Visual Cryptography A Modified Approach for Kerberos Authentication Protocol with Secret Image by using Visual Cryptography Ashok Kumar J 1, and Gopinath Ganapathy 2 1,2 School of Computer Science, Engineering and Applications

More information

CSWAE Certified Secure Web Application Engineer

CSWAE Certified Secure Web Application Engineer CSWAE Certified Secure Web Application Engineer Overview Organizations and governments fall victim to internet based attacks every day. In many cases, web attacks could be thwarted but hackers, organized

More information

Research Article Enhanced ID-Based Authentication Scheme Using OTP in Smart Grid AMI Environment

Research Article Enhanced ID-Based Authentication Scheme Using OTP in Smart Grid AMI Environment Applied Mathematics, Article ID 208424, 8 pages http://dx.doi.org/10.1155/2014/208424 Research Article Enhanced ID-Based Authentication Scheme Using OTP in Smart Grid AMI Environment Sang-Soo Yeo, 1 Dae-il

More information

Smart-card-loss-attack and Improvement of Hsiang et al. s Authentication Scheme

Smart-card-loss-attack and Improvement of Hsiang et al. s Authentication Scheme Smart-card-loss-attack and Improvement of Hsiang et al. s Authentication Scheme Y.. Lee Department of Security Technology and Management WuFeng niversity, hiayi, 653, Taiwan yclee@wfu.edu.tw ABSTRAT Due

More information

On the security of a certificateless signature scheme in the standard model

On the security of a certificateless signature scheme in the standard model On the security of a certificateless signature scheme in the standard model Lin Cheng, Qiaoyan Wen, Zhengping Jin, Hua Zhang State Key Laboratory of Networking and Switch Technology, Beijing University

More information

1 Identification protocols

1 Identification protocols ISA 562: Information Security, Theory and Practice Lecture 4 1 Identification protocols Now that we know how to authenticate messages using MACs, a natural question is, how can we use MACs to prove that

More information

Detecting Advanced Android Malware by Data Flow Analysis Engine. Xu Hao & pll

Detecting Advanced Android Malware by Data Flow Analysis Engine. Xu Hao & pll Detecting Advanced Android Malware by Data Flow Analysis Engine Xu Hao & pll 2013.09 Content Background adfaer - Android Data Flow Analyzer Janus - Detect Reflection Experiment Future Work Android Security

More information

Survey of Cyber Moving Targets. Presented By Sharani Sankaran

Survey of Cyber Moving Targets. Presented By Sharani Sankaran Survey of Cyber Moving Targets Presented By Sharani Sankaran Moving Target Defense A cyber moving target technique refers to any technique that attempts to defend a system and increase the complexity of

More information

Array Data Transformation for Source Code Obfuscation

Array Data Transformation for Source Code Obfuscation Array Data Transformation for Source Code Obfuscation S. Praveen, and P. Sojan Lal International Science Index, Computer and Information Engineering waset.org/publication/2537 Abstract Obfuscation is a

More information

Authentication Technology for a Smart eid Infrastructure.

Authentication Technology for a Smart eid Infrastructure. Authentication Technology for a Smart eid Infrastructure. www.aducid.com One app to access all public and private sector online services. One registration allows users to access all their online accounts

More information

Systems and Network Security (NETW-1002)

Systems and Network Security (NETW-1002) Systems and Network Security (NETW-1002) Dr. Mohamed Abdelwahab Saleh IET-Networks, GUC Spring 2017 Course Outline Basic concepts of security: Attacks, security properties, protection mechanisms. Basic

More information

Playing Hide and Seek with Dalvik Executables

Playing Hide and Seek with Dalvik Executables Playing Hide and Seek with Dalvik Executables Axelle Apvrille Hack.Lu, October 2013 Hack.Lu 2013 - A. Apvrille 2/20 Who am i? whoami #!/usr/bin/perl -w my $self = { realname => Axelle Apvrille, nickname

More information

ACS / Computer Security And Privacy. Fall 2018 Mid-Term Review

ACS / Computer Security And Privacy. Fall 2018 Mid-Term Review ACS-3921-001/4921-001 Computer Security And Privacy Fall 2018 Mid-Term Review ACS-3921/4921-001 Slides Used In The Course A note on the use of these slides: These slides has been adopted and/or modified

More information

PRODUCT AUTHENTICATION USING QR-CODE THROUGH CLOUD

PRODUCT AUTHENTICATION USING QR-CODE THROUGH CLOUD PRODUCT AUTHENTICATION USING QR-CODE THROUGH CLOUD Prof. Sagar Thakare Assistant Professor, ABSTRACT Mr. Vighnesh Gadekar Mr. Mandar Gharat The development of a new product or technology always comes with

More information

Security Improvements of Dynamic ID-based Remote User Authentication Scheme with Session Key Agreement

Security Improvements of Dynamic ID-based Remote User Authentication Scheme with Session Key Agreement Security Improvements of Dynamic ID-based Remote User Authentication Scheme with Session Key Agreement Young-Hwa An* * Division of Computer and Media Information Engineering, Kangnam University 111, Gugal-dong,

More information

Source Anonymous Message Authentication and Source Privacy using ECC in Wireless Sensor Network

Source Anonymous Message Authentication and Source Privacy using ECC in Wireless Sensor Network Source Anonymous Message Authentication and Source Privacy using ECC in Wireless Sensor Network 1 Ms.Anisha Viswan, 2 Ms.T.Poongodi, 3 Ms.Ranjima P, 4 Ms.Minimol Mathew 1,3,4 PG Scholar, 2 Assistant Professor,

More information

Pass, No Record: An Android Password Manager

Pass, No Record: An Android Password Manager Pass, No Record: An Android Password Manager Alex Konradi, Samuel Yeom December 4, 2015 Abstract Pass, No Record is an Android password manager that allows users to securely retrieve passwords from a server

More information

EasyCrypt passes an independent security audit

EasyCrypt passes an independent security audit July 24, 2017 EasyCrypt passes an independent security audit EasyCrypt, a Swiss-based email encryption and privacy service, announced that it has passed an independent security audit. The audit was sponsored

More information