Elections and referendums play a vital role in a democratic society, which enable individuals to make collective decisions. In the Internet information era, electronic voting has replaced traditional paper voting. However, the centralized architecture of the electronic voting system is vulnerable to attacks and the voting records can be easily changed or even deleted. Blockchain, as a decentralized and trustworthy distributed network, offers new means for electronic voting systems. Current blockchain- based voting systems still face several challenges: they cannot achieve full verifiability in self-tallying, cannot tolerate invalid or abstained ballots, and cannot prevent Sybil attacks either. To address these challenges, we use some cryptographic primitives to construct a blockchain- based decentralized self-tallying verifiable referendum scheme to provide a transparent and secure remote electronic voting system. First, we use range zero-knowledge proofs to verify the ballot content, and for the first time, propose a novel method using bilinear pairing to verify decryption results, which significantly reduces computational burden and gas consumption during verification. Second, we ingeniously combine a threshold decryption system with a blockchain-based deposit mechanism: invalid or abstained ballots are excluded from the tally, and voters casting such ballots are incentivized to publish their partial private keys through the deposit mechanism, ensuring their exit from the decryption process without disrupting the election. We also establish an innovative access mechanism for smart contract that effectively prevents Sybil attacks. Theoretical analysis and experimental results demonstrate that our system is secure, feasible, and efficient.
Smart parking services improve parking efficiency, reducing drivers' time and fuel consumption. However, they may expose business secrets and personal information without privacy-preserving, threatening the competitiveness of service providers and user privacy. Although some schemes have attempted to address privacy issues in parking queries, existing schemes may leak query privacy when users query multiple destination information, and are also inefficient. In addition, as parking lot data changes dynamically, most existing parking schemes exhibit inefficiency when handling dynamic data updates, and cannot flexibly respond to frequent status changes. To this end, we propose a blockchain (BC)-based privacy-preserving dynamic multidestination smart parking scheme PDMSP, which can preserve the privacy of parking lots and drivers. It supports efficient one-time multidestination queries, while preserving the query information. Furthermore, it can perform lightweight dynamic updates. Security analysis and experimental results show that our scheme is secure and efficient, and the scheme can be efficiently updated.
Identifying influential nodes in complex networks is crucial for information dissemination, epidemic control, and supply chain management, etc. As the scale of networks increases, data owners prefer to outsource identifying influential nodes to cloud servers. To protect data privacy, network data needs to be encrypted before being outsourced. So identifying influential nodes on encrypted data is necessary. Furthermore, many sensitive networks are distributed among different data owners. To identify the influential nodes in such networks, it is necessary to first obtain the whole network and then outsource the whole network to supply identify influential nodes service. Currently, there is only one scheme that supports privacy-preserving identification of influential nodes in distributed private networks, but it works on a wrong whole network, it leaks some topological characteristics of the whole network, can only support influential nodes identifying, and cannot support private querying for any influential nodes. To address these issues, we propose PINQ (Privacy-preserving Any Influential Node Query Scheme), the first general scheme that supports any influential node queries in private distributed networks. PINQ can query the top-k most influential nodes, the bottom k influential nodes, or nodes with influence at a specific rank. PINQ uses encryption-selection-re-randomization techniques to correctly generate the privacy whole network within distributed private networks, securely ranking the importance of nodes without leaking any network topology information, and supporting any influential node privacy queries. Additionally, PINQ uses blockchain to achieve fair data query transactions. Theoretical analysis and experimental simulation results show that PINQ is secure, feasible and efficient.
Towards understanding the ecosystem gap of fixed-release Linux that is caused by the evolution of mirrors, we conducted a comprehensive study of the Debian ecosystem. This study involved the collection of Debian packages and the construction of the dependency graph of the Debian ecosystem. Utilizing historic snapshots of Debian mirrors, we were able to recover the evolution of the dependency graph for all Debian releases, including obsolete ones. Through the analysis of the dependency graph and its evolution, we investigated from two key aspects: (1) compatibility issues and (2) security threats in the Debian ecosystem. Our findings provide valuable insights into the use and design of Linux package managers. To address the challenges revealed in the empirical study and bridge the ecosystem gap between releases, we propose a novel package management approach allowing for separate dependency environments based on native Debian mirrors. We present a working prototype, named ccenv, which can effectively remedy the inadequacy of current tools.
Software Reliability Growth Models (SRGMs) are statistical interpolations of software failures by mathematical modeling. Up till now, more than 200 SRGMs have been proposed to estimate failure occurrence. Research continues to develop more accurate, efficient, and robust models. To overcome the shortcomings of SRGMs and adapt to the current software development process characterized by increasing complexity, a high-precision error iterative analysis method (HPEIAM) is proposed in this paper. HPEIAM combines the parametric SRGMs (PSRGMs) predicted results with their residual errors, which are considered as another source of information that can be modeled with an adaptive neuro-fuzzy inference system (ANFIS). The predicted errors are used to correct the PSRGMs forecasted results repeatedly with the help of ANFIS, which is considered a powerful model to deal with non-linear data. The proposed technique combines the advantages of the neural network with a fuzzy inference system and PSRGMs, which helps to overcome the disadvantages of these models. The performance of the proposed technique is compared with six PSRGMs using three sets of real software failure datasets based on five criteria. Experimental results demonstrate that the HPEIAM can significantly improve the model fitting and predictive performance of every parametric SRGM.
Any-hop ( k-hop) reachability query is one fundamental operation in graph data analysis and its performance affects the efficiency of various tasks in Social Internet of Things. As graph data scale increases, data is often outsourced to cloud servers. To protect the privacy of graph data, it is necessary to encrypt the data before outsourcing. Existing schemes can only support privacy-preserving 2-hop reachability queries. Only one scheme can support privacy-preserving k-hop reachability queries, but it discloses topological information and the query results is not verifiable. Most serious deficiency is that its efficiency is not practical. To address these issues, we propose a verifiable strong privacy-preserving k-hop reachability query on encrypted data. This scheme not only supports efficient privacy-preserving k-hop reachability queries without leaking any network topological information but also uses blockchain to achieve verifiability of query results. The security analysis shows that our scheme is secure. Compared to existing k-hop reachability query scheme, our scheme greatly improves query efficiency (at least 6.4 10(5)x faster when the number of nodes n >= 100).
Detecting code clones remains challenging, particularly for Type-II clones, with modified identifiers, and Type-III ST and MT clones, where up to 30% and 50% of code, respectively, are added or removed from the original clone code. To address this, we introduce CodeGuard, an innovative technique that employs comprehensive level-by-level abstraction for Type-II clones and a flexible signature matching algorithm for Type-III clone categories. This method requires at least 50% similarity within two corresponding chunks within the same file, ensuring accurate clone identification. Unlike recently proposed methods limited to clone detection, CodeGuard precisely pinpoints changes within clone files, facilitating effective debugging and thorough code analysis. It is validated through comprehensive evaluations using reputable datasets, CodeGuard demonstrates superior precision, high recall, robust F1 scores, and outstanding accuracy. This innovative methodology not only sets new performance standards in clone detection but also emphasizes the role CodeGuard's can play in modern software development, paving the way for advancements in code quality and maintenance.
In recent decades, malicious code reuse has surged in numbers and sophistication, it is a common practice among adversaries to reuse malicious code, which significantly threatens user privacy and security. Several signature-based code clone detection techniques have been proposed to detect malicious clones in Android applications that use the MD5 hash function to generate signatures. Meanwhile, these techniques only retrieve signatures from Java files. Due to the 128-bit signature size of the MD5 hash function, these techniques take longer to generate signatures. In this article, we propose the AyatDroid technique, which efficiently identifies malicious chunks by retrieving signatures from Java and manifest files . AyatDroid technique is tested on reliable CiCMalDroid 2020 dataset. We have evaluated the AyatDroid technique with other cutting-edge code clone detection techniques. Our experimental results demonstrated that AyatDroid outperformed regarding detection time and accuracy. AyatDroid is not only lightweight but also efficient, allowing it to be implemented on the large scale.
Third-party libraries (TPLs) are frequently reused in software to reduce development cost and the time to market. However, external library dependencies may introduce vulnerabilities into host applications. The issue of library dependency has received considerable critical attention. Many package managers, such as Maven, Pip, and NPM, are proposed to manage TPLs. Moreover, a significant amount of effort has been put into studying dependencies in language ecosystems like Java, Python, and JavaScript except C/C++. Due to the lack of a unified package manager for C/C++, existing research has only few understanding of TPL dependencies in the C/C++ ecosystem, especially at large scale. Towards understanding TPL dependencies in the C/C++ ecosystem, we collect existing TPL databases, package management tools, and dependency detection tools, summarize the dependency patterns of C/C++ projects, and construct a comprehensive and precise C/C++ dependency detector. Using our detector, we extract dependencies from a large-scale database containing 24K C/C++ repositories from GitHub. Based on the extracted dependencies, we provide the results and findings of an empirical study, which aims at understanding the characteristics of the TPL dependencies. We further discuss the implications to manage dependency for C/C++ and the future research directions for software engineering researchers and developers in fields of library development, software composition analysis, and C/C++ package manager.
Recently, developers use obfuscation techniques to make their code difficult to understand or analyse, especially malware developers. In Android applications, if the application is obfuscated, it is hard to retrieve the exact source code after applying reverse engineering techniques on it. In this paper, we propose an approach which is based on clone detection technique and it can detect obfuscated code in Android applications very efficiently. We perform two experiments on different types of datasets including obfuscated and non-obfuscated application's source code. We successfully detected the obfuscated code of two types, including identifier-renaming and string-encryption with a high accuracy of 95%. A comparative study with other state-of-the-art tools proves the efficiency of our proposed approach. Experimental results show that our approach is reliable, efficient and can be implemented at a large-scale level.
IoT malware applications significantly threaten user privacy and security. Traditionally, IoT developers have focused primarily on hardware, but connectivity requires additional embedded software, usually developed by third-party developers. Unfortunately, third-party code is not always secure and trustworthy, and it frequently contains bugs and malicious code, which leaves IoT devices vulnerable. We propose the AASH technique (IoT Malware Detection) a novel technique that can detect malware at the source code level using the Adler-32 hash function and Fibonacci search. Previously, DROIDMD technique and SQVDT technique have been proposed to detect malware on Android and Linux devices. According to the authors, their schemes are scalable and can be deployed on IoT devices. However, their technique suffers from lower accuracy and takes longer to detect malicious code. The performance measurement shows that our proposed AASH technique is comparatively better than DROIDMD and SQVDT techniques in terms of accuracy and malware detection. AASH is reliable, efficient, and can be deployed on a large-scale level.
Third-party libraries (TPLs) are reused frequently in software applications for reducing development cost. However, they could introduce security risks as well. Many TPL detection methods have been proposed to detect TPL reuse in Android bytecode or in source code. This paper focuses on detecting TPL reuse in binary code, which is a more challenging task. For a detection target in binary form, libraries may be compiled and linked to separate dynamic-link files or built into a fused binary that contains multiple libraries and project-specific code. This could result in fewer available code features and lower the effectiveness of feature engineering. In this paper, we propose a binary TPL reuse detection framework, LibDB, which can effectively and efficiently detect imported TPLs even in stripped and fused binaries. In addition to the basic and coarse-grained features (string literals and exported function names), LibDB utilizes function contents as a new type of feature. It embeds all functions in a binary file to low-dimensional representations with a trained neural network. It further adopts a function call graph-based comparison method to improve the accuracy of the detection. LibDB is able to support version identification of TPLs contained in the detection target, which is not considered by existing detection methods. To evaluate the performance of LibDB, we construct three datasets for binary-based TPL reuse detection. Our experimental results show that LibDB is more accurate and efficient than state-of-the-art tools on the binary TPL detection task and the version identification task. Our datasets and source code used in this work are anonymously available at https://github.com/DeepSoftwareAnalytics/LibDB.
Code clones make software maintenance more challenging. Detecting bugs in large systems may significantly increase maintenance costs. Despite the fact that several techniques for clone identification have been proposed over the years, the accuracy and scalability of clone detection techniques remain hot research areas. Previously, Akram et al. proposed the DroidCC hybrid technique, where tokens were encoded into MD5 hash values by encoding them into 128-bit fingerprints, and clones were identified by matching identical hash values. Encoding tokens into MD5 hash values take more time due to the large fingerprint size of MD5 hash values. Due to the enormous chunk size, DroidCC cannot achieve higher accuracy. To overcome the weakness of the DroidCC technique, We proposed a novel AYAT a lightweight hybrid technique to detect clones at the fragment level. To speed up the detection process, we converted tokens into 32-bit polynomial values, and we set the chunk size to 5 lines per chunk to improve accuracy. We tested our technique on 10,968 java projects against 4.98 million lines of code. In comparison to the well-known DroidCC technique, it is significantly faster and more efficient. Our examination demonstrates that precision is significantly improved despite sacrificing scalability. AYAT code cloning detection technique has outscored DroidCC in every aspect.
Software vulnerabilities primarily constitute security risks. Commonalities between faults and vulnerabilities prompt developers to utilise traditional fault prediction models and metrics for vulnerability prediction. Although traditional models can predict the number of vulnerabilities and their occurrence time, they fail to accurately determine the seriousness of vulnerabilities, impacts, and severity level. To address these deficits, we propose a method for predicting software vulnerabilities based on a Markov chain model, which offers a more comprehensive descriptive model with the potential to accurately predict vulnerability type, i.e., the seriousness of the vulnerabilities. The experiments are performed using real vulnerability data of three types of popular software: Windows 10, Adobe Flash Player and Firefox. Our model is shown to produce accurate predictive results.
In this study, we revisit the RSA public key cryptosystem in some special case of Boneh and Durfee's attack when the private key d assumes to be larger than the public key e . The attack in this study is the variation of an approach adopted by Luo et al. (2009) based on large decryption exponent. They had chosen a large private key ( d > e ) and found the weak keys in some specific range between N 0.258 ≤ e ≤ N 0.857 . We highlight the shortcomings and new improvements in our study with more refined bound analysis up to the range between N 0.104 ≤ e ≤ N 0.923 . Our experimental results revealed more refined bounds using lattice-based Coppersmith's method. In our experimental yield, we find the small roots of the devised polynomial, which helps to factorise the RSA modulus of size up to 1,024-bits. We also measure the probability of a specific range of weak keys, which further certify our results about weak keys in an RSA constrained secret key environment.
RSA public key cryptosystem is the “de-facto” standard, provides confidentiality and privacy security services over the internet. At Eurocrypt 1999, Boneh and Durfee proposed a polynomial time attacks on RSA small decryption key exponent. Their attacks worked by exploiting the lattice and sub lattice structure using lattice based Coppersmith's method to solve a modular polynomials, when d <; N 0.284 and d <; N 0.292 respectively. In this work, we propose a new attack on some special case of Boneh and Durfee's attack method with respect to large decryption exponent (i.e. d = N > e = N α , where α and ε are the encryption and decryption exponents respectively) for some α ≤ ε. The condition d > φ(N) - N ε satisfies our devised attack and the experimental outcome certifies that an RSA cryptosystem with large decryption exponent successfully revealed the weak keys through lattice basis reduction method.
Security researchers and anti-virus industries have speckled stress on an Android malware, which can actually damage your phones and threatens the Android markets. In this paper, we propose and develop DroidMD, a scalable self-improvement based tool, based on auto optimisation of signature set, which detect malicious apps in the market at source code level. A prototype has been developed tested and implemented to detect malware in applications. We implement and evaluate our approach on almost 30,000 applications including 27,000 benign and 3,670 malware applications. DroidMD detects malware in different applications at partial level and full level. It analyses only the applications code, which increase its reliability. Our evaluation of DroidMD demonstrates that our approach is very efficient in detecting malware at large scale with high accuracy of 95.5%.
SummaryVulnerability detection and exploit is becoming a very important part of security, especially in malware code delivery, hacking a system, efforts to create patches, improving the source code, or updating a software. Vulnerabilities in applications, including browsers, media players, online services, document readers, and so forth. are often exploited and cause a serious damage. In this article, we propose a vulnerability detection technique to detect vulnerabilities in software, as well as shared libraries at source code level. We crawl the vulnerable source code by tracing and locating the patch files from different web sources according to their CVE‐numbers and built a fingerprint index of 2931 vulnerable files. Then we developed a vulnerability detection approach based on code clone detection technique and detect hundreds of vulnerabilities in thousands of GitHub open source projects, which are not noticed before as vulnerable. We detected vulnerabilities in some very famous recently available software, including latest version of Linux, HTC‐kernel, FindX‐8.1‐kernel, and in 7‐TB of C/C++ source code (152,823 open source projects). In this study, we discuss some of the very high severity level (CVSS) vulnerabilities that are detected by our approach. Furthermore, we performed an empirical evaluation and verification on these vulnerabilities, including intraproject clone vulnerabilities, copied‐kernel clone vulnerabilities, and library‐used clone vulnerabilities. Our technique is very fast, efficient, reliable, practical, scalable, and can be implemented at industrial level. The comparison with the state‐of‐the‐art tools shows the effectiveness of our approach.
Cybercrimes are on a dramatic rise worldwide. The crime rate is growing day by day in every field or department which is directly or indirectly connected to the internet including Government, business or any individual. The main objective of this study is to evaluate the vulnerabilities in different software systems at the source code level by tracing their patch files. The authors have collected the source code of different types of vulnerabilities at a different level of granularities. They have proposed different ways to collect or trace the vulnerability code, which can be very helpful for security experts, organisations and software developers to maintain security measures. By following their proposed method, you can build your own vulnerability data-set and can detect vulnerabilities in any system by using suitable code clone detection technique. The study also includes a discussion of reasons for the rise in cybercrimes including zero-day exploits. A case study has been discussed with results and research questions to show the effectiveness of this study. This study concludes with the effective key findings of published and non-published vulnerabilities and the ways to prevent from different security attacks to overcome cybercrimes.