Source author record

Stavros D. Nikolopoulos

Stavros D. Nikolopoulos appears in the imported research catalog. Authorship, coauthor and topic links are available while profile ownership is still unclaimed.

ResearcherUnclaimed source record

Catalog footprint

What is connected

7works
3topics
4close collaborators

Actions

Connect this record

Log in to claim

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

7 published item(s)

preprint2016arXiv

Preventing Malware Pandemics in Mobile Devices by Establishing Response-time Bounds

We study the propagation of a malicious software in a network of mobile devices, which are moving in a specific city area, and establish time bounds for the activation of a counter-measure, i.e., an antivirus or a cleaner in order to prevent pandemic. More precisely, given an initial infected population (mobile devices), we establish upper bounds on the time needed for a counter-measure to take effect after infection (response-time), in order to prevent the rest susceptible devices to get infected. Thus, within a period of time, we guarantee that not all the susceptible devices in the city get infected and the infected ones get sanitized. In our work, we first propose a malware propagation model along with a device mobility model and then, utilizing these models, we develop a simulator that we use to study the spread of malware in such networks. Finally, we provide experimental results for the pandemic prevention taken by our simulator for various response-time intervals.

preprint2016arXiv

Two RPG Flow-graphs for Software Watermarking using Bitonic Sequences of Self-inverting Permutations

Software watermarking has received considerable attention and was adopted by the software development community as a technique to prevent or discourage software piracy and copyright infringement. A wide range of software watermarking techniques has been proposed among which the graph-based methods that encode watermarks as graph structures. Following up on our recently proposed methods for encoding watermark numbers $w$ as reducible permutation flow-graphs $F[π^*]$ through the use of self-inverting permutations $π^*$, in this paper, we extend the types of flow-graphs available for software watermarking by proposing two different reducible permutation flow-graphs $F_1[π^*]$ and $F_2[π^*]$ incorporating important properties which are derived from the bitonic subsequences composing the self-inverting permutation $π^*$. We show that a self-inverting permutation $π^*$ can be efficiently encoded into either $F_1[π^*]$ or $F_2[π^*]$ and also efficiently decoded from theses graph structures. The proposed flow-graphs $F_1[π^*]$ and $F_2[π^*]$ enrich the repository of graphs which can encode the same watermark number $w$ and, thus, enable us to embed multiple copies of the same watermark $w$ into an application program $P$. Moreover, the enrichment of that repository with new flow-graphs increases our ability to select a graph structure more similar to the structure of a given application program $P$ thereby enhancing the resilience of our codec system to attacks.

preprint2015arXiv

Watermarking PDF Documents using Various Representations of Self-inverting Permutations

This work provides to web users copyright protection of their Portable Document Format (PDF) documents by proposing efficient and easily implementable techniques for PDF watermarking; our techniques are based on the ideas of our recently proposed watermarking techniques for software, image, and audio, expanding thus the digital objects that can be efficiently watermarked through the use of self-inverting permutations. In particular, we present various representations of a self-inverting permutation $π^*$ namely 1D-representation, 2D-representation, and RPG-representation, and show that theses representations can be efficiently applied to PDF watermarking. Indeed, we first present an audio-based technique for marking a PDF document $T$ by exploiting the 1D-representation of a permutation $π^*$, and then, since pages of a PDF document $T$ are 2D objects, we present an image-based algorithm for encoding $π^*$ into $T$ by first mapping the elements of $π^*$ into a matrix $A^*$ and then using the information stored in $A^*$ to mark invisibly specific areas of PDF document $T$. Finally, we describe a graph-based watermarking algorithm for embedding a self-inverting permutation $π^*$ into the document structure of a PDF file $T$ by exploiting the RPG-representation of $π^*$ and the structure of a PDF document. We have evaluated the embedding and extracting algorithms by testing them on various and different in characteristics PDF documents.

preprint2014arXiv

Detecting Malicious Code by Exploiting Dependencies of System-call Groups

In this paper we present an elaborated graph-based algorithmic technique for efficient malware detection. More precisely, we utilize the system-call dependency graphs (or, for short ScD graphs), obtained by capturing taint analysis traces and a set of various similarity metrics in order to detect whether an unknown test sample is a malicious or a benign one. For the sake of generalization, we decide to empower our model against strong mutations by applying our detection technique on a weighted directed graph resulting from ScD graph after grouping disjoint subsets of its vertices. Additionally, we have developed a similarity metric, which we call NP-similarity, that combines qualitative, quantitative, and relational characteristics that are spread among the members of known malware families to archives a clear distinction between graph-representations of malware and the ones of benign software. Finally, we evaluate our detection model and compare our results against the results achieved by a variety of techniques proving the potentials of our model.

preprint2014arXiv

WaterRPG: A Graph-based Dynamic Watermarking Model for Software Protection

Software watermarking involves embedding a unique identifier or, equivalently, a watermark value within a software to prove owner's authenticity and thus to prevent or discourage copyright infringement. Towards the embedding process, several graph theoretic watermarking algorithmic techniques encode the watermark values as graph structures and embed them in application programs. Recently, we presented an efficient codec system for encoding a watermark number $w$ as a reducible permutation graph $F[π^*]$ through the use of self-inverting permutations $π^*$. In this paper, we propose a dynamic watermarking model, which we call WaterRPG, for embedding the watermark graph $F[π^*]$ into an application program $P$. The main idea behind the proposed watermarking model is a systematic use of appropriate calls of specific functions of the program $P$. More precisely, for a specific input $I_{key}$ of the program $P$, our model takes the dynamic call-graph $G(P, I_{key})$ of $P$ and the watermark graph $F[π^*]$, and produces the watermarked program $P^*$ having the following key property: its dynamic call-graph $G(P^*, I_{key})$ is isomorphic to the watermark graph $F[π^*]$. Within this idea the program $P^*$ is produced by only altering appropriate calls of specific functions of the input application program $P$. We have implemented our watermarking model WaterRPG in real application programs and evaluated its functionality under various and broadly used watermarking assessment criteria. The evaluation results show that our model efficiently watermarks Java application programs with respect to several watermarking metrics like data-rate, bytecode instructions overhead, resiliency, time and space efficiency. Moreover, the embedded watermarks withstand several software obfuscation and optimization attacks.

preprint2011arXiv

Efficient Encoding of Watermark Numbers as Reducible Permutation Graphs

In a software watermarking environment, several graph theoretic watermark methods use numbers as watermark values, where some of these methods encode the watermark numbers as graph structures. In this paper we extended the class of error correcting graphs by proposing an efficient and easily implemented codec system for encoding watermark numbers as reducible permutation flow-graphs. More precisely, we first present an efficient algorithm which encodes a watermark number $w$ as self-inverting permutation $π^*$ and, then, an algorithm which encodes the self-inverting permutation $π^*$ as a reducible permutation flow-graph $F[π^*]$ by exploiting domination relations on the elements of $π^*$ and using an efficient DAG representation of $π^*$. The whole encoding process takes O(n) time and space, where $n$ is the binary size of the number $w$ or, equivalently, the number of elements of the permutation $π^*$. We also propose efficient decoding algorithms which extract the number $w$ from the reducible permutation flow-graph $F[π^*]$ within the same time and space complexity. The two main components of our proposed codec system, i.e., the self-inverting permutation $π^*$ and the reducible permutation graph $F[π^*]$, incorporate important structural properties which make our system resilient to attacks.

preprint2010arXiv

Join-Reachability Problems in Directed Graphs

For a given collection G of directed graphs we define the join-reachability graph of G, denoted by J(G), as the directed graph that, for any pair of vertices a and b, contains a path from a to b if and only if such a path exists in all graphs of G. Our goal is to compute an efficient representation of J(G). In particular, we consider two versions of this problem. In the explicit version we wish to construct the smallest join-reachability graph for G. In the implicit version we wish to build an efficient data structure (in terms of space and query time) such that we can report fast the set of vertices that reach a query vertex in all graphs of G. This problem is related to the well-studied reachability problem and is motivated by emerging applications of graph-structured databases and graph algorithms. We consider the construction of join-reachability structures for two graphs and develop techniques that can be applied to both the explicit and the implicit problem. First we present optimal and near-optimal structures for paths and trees. Then, based on these results, we provide efficient structures for planar graphs and general directed graphs.