OpenRaiser/Intern-Atlas huggingface dataset:
Reverse Engineering x86 Processor Microcode
Venue: arXiv cs.CR 2019
Year: 2019

Microcode is an abstraction layer on top of the physical components of a CPU and present in most general-purpose CPUs today. In addition to facilitate complex and vast instruction sets, it also provides an update mechanism that allows CPUs to be patched in-place without requiring any special hardware. While it is well-known that CPUs are regularly updated with this mechanism, very little is known about its inner workings given that microcode and the update mechanism are proprietary and have not been throughly analyzed yet. In this paper, we reverse engineer the microcode semantics and inner workings of its update mechanism of conventional COTS CPUs on the example of AMD's K8 and K10 microarchitectures. Furthermore, we demonstrate how to develop custom microcode updates. We describe the microcode semantics and additionally present a set of microprograms that demonstrate the possibilities offered by this technology. To this end, our microprograms range from CPU-assisted instrumentation to microcoded Trojans that can even be reached from within a web browser and enable remote code execution and cryptographic implementation attacks.
CNN-based Semantic Segmentation using Level Set Loss
Venue: arXiv cs.CV 2019
Year: 2019

Thesedays, Convolutional Neural Networks are widely used in semantic segmentation. However, since CNN-based segmentation networks produce low-resolution outputs with rich semantic information, it is inevitable that spatial details (e.g., small bjects and fine boundary information) of segmentation results will be lost. To address this problem, motivated by a variational approach to image segmentation (i.e., level set theory), we propose a novel loss function called the level set loss which is designed to refine spatial details of segmentation results. To deal with multiple classes in an image, we first decompose the ground truth into binary images. Note that each binary image consists of background and regions belonging to a class. Then we convert level set functions into class probability maps and calculate the energy for each class. The network is trained to minimize the weighted sum of the level set loss and the cross-entropy loss. The proposed level set loss improves the spatial details of segmentation results in a time and memory efficient way. Furthermore, our experimental results show that the proposed loss function achieves better performance than previous approaches.
GP4P4: Enabling Self-Programming Networks
Venue: arXiv cs.NI 2019
Year: 2019

Recent advances in programmable switches have enabled network operators to build high-speed customized network functions. Although this is an important step towards self-* networks, operators are now faced with the burden of learning a new language and maintaining a repository of network function code. Inspired by the Intent-Based Networking paradigm, we propose a new framework, GP4P4: a genetic programming approach able to autonomously generate programs for P4-programmable switches directly from network intents. We demonstrate that GP4P4 is able to generate various small network functions in up to a few minutes; an important first step towards realizing the vision of `Self-Driving' networks.
Eradicating Attacks on the Internal Network with Internal Network Policy
Venue: arXiv cs.CR 2019
Year: 2019

In this paper we present three attacks on private internal networks behind a NAT and a corresponding new protection mechanism, Internal Network Policy, to mitigate a wide range of attacks that penetrate internal networks behind a NAT. In the attack scenario, a victim is tricked to visit the attacker's website, which contains a malicious script that lets the attacker access the victim's internal network in different ways, including opening a port in the NAT or sending a sophisticated request to local devices. The first attack utilizes DNS Rebinding in a particular way, while the other two demonstrate different methods of attacking the network, based on application security vulnerabilities. Following the attacks, we provide a new browser security policy, Internal Network Policy (INP), which protects against these types of vulnerabilities and attacks. This policy is implemented in the browser just like Same Origin Policy (SOP) and prevents malicious access to internal resources by external entities.
Design Space Exploration of Hardware Spiking Neurons for Embedded Artificial Intelligence
Venue: arXiv cs.NE 2019
Year: 2019

Machine learning is yielding unprecedented interest in research and industry, due to recent success in many applied contexts such as image classification and object recognition. However, the deployment of these systems requires huge computing capabilities, thus making them unsuitable for embedded systems. To deal with this limitation, many researchers are investigating brain-inspired computing, which would be a perfect alternative to the conventional Von Neumann architecture based computers (CPU/GPU) that meet the requirements for computing performance, but not for energy-efficiency. Therefore, neuromorphic hardware circuits that are adaptable for both parallel and distributed computations need to be designed. In this paper, we focus on Spiking Neural Networks (SNNs) with a comprehensive study of information coding methods and hardware exploration. In this context, we propose a framework for neuromorphic hardware design space exploration, which allows to define a suitable architecture based on application-specific constraints and starting from a wide variety of possible architectural choices. For this framework, we have developed a behavioral level simulator for neuromorphic hardware architectural exploration named NAXT. Moreover, we propose modified versions of the standard Rate Coding technique to make trade-offs with the Time Coding paradigm, which is characterized by the low number of spikes propagating in the network. Thus, we are able to reduce the number of spikes while keeping the same neuron's model, which results in an SNN with fewer events to process. By doing so, we seek to reduce the amount of power consumed by the hardware. Furthermore, we present three neuromorphic hardware architectures in order to quantitatively study the implementation of SNNs. These architectures are derived from a novel funnel-like Design Space Exploration framework for neuromorphic hardware.
Thread Homeostasis: Real-Time Anomalous Behavior Detection for Safety-Critical Software
Venue: arXiv cs.DC 2019
Year: 2019

Safety-critical systems must always have predictable and reliable behavior, otherwise systems fail and lives are put at risk. Even with the most rigorous testing it is impossible to test systems using all possible inputs. Complex software systems will often fail when given novel sets of inputs; thus, safety-critical systems may behave in unintended, dangerous ways when subject to inputs combinations that were not seen in development. Safety critical systems are normally designed to be fault tolerant so they do not fail when given unexpected inputs. Anomaly detection has been proposed as a technique for improving the fault tolerance of safety-critical systems. Past work, however, has been largely limited to behavioral parameter thresholds that miss many kinds of system deviations. Here we propose a novel approach to anomaly detection in fault-tolerant safety critical systems using patterns of messages between threads. This approach is based on techniques originally developed for detecting security violations on systems with UNIX-like system call APIs; here we show that they can be adapted to the constraints of safety critical microkernel-based hard real-time systems. We present the design, implementation, and initial evaluation of tH (thread Homeostasis) implemented on a QNX-based self-driving car platform.
Area Graph: Generation of Topological Maps using the Voronoi Diagram
Venue: arXiv cs.RO 2019
Year: 2019

Representing a scanned map of the real environment as a topological structure is an important research topic in robotics. Since topological representations of maps save a huge amount of map storage space and online computing time, they are widely used in fields such as path planning, map matching, and semantic mapping. We use a topological map representation, the Area Graph, in which the vertices represent areas and edges represent passages. The Area Graph is developed from a pruned Voronoi Graph, the Topology Graph. We also employ a simple room detection algorithm to compensate the fact that the Voronoi Graph gets unstable in open areas. We claim that our area segmentation method is superior to state-of-the-art approaches in complex indoor environments and support this claim with a number of experiments.
Neural Network Applications in Earthquake Prediction (1994-2019): Meta-Analytic Insight on their Limitations
Venue: arXiv cs.NE 2019
Year: 2019

In the last few years, deep learning has solved seemingly intractable problems, boosting the hope to find approximate solutions to problems that now are considered unsolvable. Earthquake prediction, the Grail of Seismology, is, in this context of continuous exciting discoveries, an obvious choice for deep learning exploration. We review the entire literature of artificial neural network (ANN) applications for earthquake prediction (77 articles, 1994-2019 period) and find two emerging trends: an increasing interest in this domain, and a complexification of ANN models over time, towards deep learning. Despite apparent positive results observed in this corpus, we demonstrate that simpler models seem to offer similar predictive powers, if not better ones. Due to the structured, tabulated nature of earthquake catalogues, and the limited number of features so far considered, simpler and more transparent machine learning models seem preferable at the present stage of research. Those baseline models follow first physical principles and are consistent with the known empirical laws of Statistical Seismology, which have minimal abilities to predict large earthquakes.
Graph-Hist: Graph Classification from Latent Feature Histograms With Application to Bot Detection
Venue: arXiv cs.LG 2019
Year: 2019

Neural networks are increasingly used for graph classification in a variety of contexts. Social media is a critical application area in this space, however the characteristics of social media graphs differ from those seen in most popular benchmark datasets. Social networks tend to be large and sparse, while benchmarks are small and dense. Classically, large and sparse networks are analyzed by studying the distribution of local properties. Inspired by this, we introduce Graph-Hist: an end-to-end architecture that extracts a graph's latent local features, bins nodes together along 1-D cross sections of the feature space, and classifies the graph based on this multi-channel histogram. We show that Graph-Hist improves state of the art performance on true social media benchmark datasets, while still performing well on other benchmarks. Finally, we demonstrate Graph-Hist's performance by conducting bot detection in social media. While sophisticated bot and cyborg accounts increasingly evade traditional detection methods, they leave artificial artifacts in their conversational graph that are detected through graph classification. We apply Graph-Hist to classify these conversational graphs. In the process, we confirm that social media graphs are different than most baselines and that Graph-Hist outperforms existing bot-detection models.
Rectangle Blanket Problem: Binary integer linear programming formulation and solution algorithms
Venue: arXiv cs.DM 2019
Year: 2019

A rectangle blanket is a set of non-overlapping axis-aligned rectangles, used to approximately represent the two dimensional image of a shape approximately. The use of a rectangle blanket is a widely considered strategy for speeding-up the computations in many computer vision applications. Since neither the rectangles nor the image have to be fully covered by the other, the blanket becomes more precise as the non-overlapping area of the image and the blanket decreases. In this work, we focus on the rectangle blanket problem, which involves the determination of an optimum blanket minimizing the non-overlapping area with a given image subject to an upper bound on the total number of rectangles the blanket can include. This problem has similarities with rectangle covering, rectangle partitioning and cutting / packing problems. The image replaces an irregular master object by an approximating set of smaller axis-aligned rectangles. The union of these rectangles, namely, the rectangle blanket, is neither restricted to remain entirely within the master object, nor required to cover the master object completely. We first develop a binary integer linear programming formulation of the problem. Then, we introduce four methods for its solution. The first one is a branch-and-price algorithm that computes an exact optimal solution. The second one is a new constrained simulated annealing heuristic. The last two are heuristics adopting ideas available in the literature for other computer vision related problems. Finally, we realize extensive computational tests and report results on the performances of these algorithms.
Skewness of von Neumann entanglement entropy
Venue: arXiv cs.IT 2019
Year: 2019

We study quantum bipartite systems in a random pure state, where von Neumann entropy is considered as a measure of the entanglement. Expressions of the first and second exact cumulants of von Neumann entropy, relevant respectively to the average and fluctuation behavior, are known in the literature. The focus of this paper is on its skewness that specifies the degree of asymmetry of the distribution. Computing the skewness requires additionally the third cumulant, an exact formula of which is the main result of this work. In proving the main result, we obtain as a byproduct various summation identities involving polygamma and related functions. The derived third cumulant also leads to an improved approximation to the distribution of von Neumann entropy.
Social Influence and Radicalization: A Social Data Analytics Study
Venue: arXiv cs.CY 2019
Year: 2019

The confluence of technological and societal advances is changing the nature of global terrorism. For example, engagement with Web, social media, and smart devices has the potential to affect the mental behavior of the individuals and influence extremist and criminal behaviors such as Radicalization. In this context, social data analytics (i.e., the discovery, interpretation, and communication of meaningful patterns in social data) and influence maximization (i.e., the problem of finding a small subset of nodes in a social network which can maximize the propagation of influence) has the potential to become a vital asset to explore the factors involved in influencing people to participate in extremist activities. To address this challenge, we study and analyze the recent work done in influence maximization and social data analytics from effectiveness, efficiency and scalability viewpoints. We introduce a social data analytics pipeline, namely iRadical, to enable analysts engage with social data to explore the potential for online radicalization. In iRadical, we present algorithms to analyse the social data as well as the user activity patterns to learn how influence flows in social networks. We implement iRadical as an extensible architecture that is publicly available on GitHub and present the evaluation results.
User-Adaptive Text Entry for Augmentative and Alternative Communication
Venue: arXiv cs.HC 2019
Year: 2019

The viability of an Augmentative and Alternative Communication device often depends on its ability to adapt to an individual user's unique abilities. Though human input can be noisy, there is often structure to our errors. For example, keyboard keys adjacent to a target may be more likely to be pressed in error. Furthermore, there can be structure in the input message itself (e.g. `u' is likely to follow `q'). In a previous work, `Recursive Bayesian Coding for BCIs' (IEEE Transactions on Neural Systems and Rehabilitation Engineering, 2016), a query strategy considers these structures to offer an error-adaptive single-character text entry scheme. However, constraining ourselves to single-character entry limits performance. A single user input may be able to resolve more uncertainty than the next character has. In this work, we extend the previous framework to incorporate multi-character querying similar to word completion. During simulated spelling, our method requires $20\%$ fewer queries compared to single-character querying with no accuracy penalty. Most significantly, we show that this multi-character querying scheme converges to the information theoretic capacity of the discrete, memoryless user input model.
IIITM Face: A Database for Facial Attribute Detection in Constrained and Simulated Unconstrained Environments
Venue: arXiv cs.CV 2019
Year: 2019

This paper addresses the challenges of face attribute detection specifically in the Indian context. While there are numerous face datasets in unconstrained environments, none of them captures emotions in different face orientations. Moreover, there is an under-representation of people of Indian ethnicity in these datasets since they have been scraped from popular search engines. As a result, the performance of state-of-the-art techniques can't be evaluated on Indian faces. In this work, we introduce a new dataset, IIITM Face, for the scientific community to address these challenges. Our dataset includes 107 participants who exhibit 6 emotions in 3 different face orientations. Each of these images is further labelled on attributes like gender, presence of moustache, beard or eyeglasses, clothes worn by the subjects and the density of their hair. Moreover, the images are captured in high resolution with specific background colors which can be easily replaced by cluttered backgrounds to simulate `in the Wild' behaviour. We demonstrate the same by constructing IIITM Face-SUE. Both IIITM Face and IIITM Face-SUE have been benchmarked across key multi-label metrics for the research community to compare their results.
Learning Dense Wide Baseline Stereo Matching for People
Venue: arXiv cs.CV 2019
Year: 2019

Existing methods for stereo work on narrow baseline image pairs giving limited performance between wide baseline views. This paper proposes a framework to learn and estimate dense stereo for people from wide baseline image pairs. A synthetic people stereo patch dataset (S2P2) is introduced to learn wide baseline dense stereo matching for people. The proposed framework not only learns human specific features from synthetic data but also exploits pooling layer and data augmentation to adapt to real data. The network learns from the human specific stereo patches from the proposed dataset for wide-baseline stereo estimation. In addition to patch match learning, a stereo constraint is introduced in the framework to solve wide baseline stereo reconstruction of humans. Quantitative and qualitative performance evaluation against state-of-the-art methods of proposed method demonstrates improved wide baseline stereo reconstruction on challenging datasets. We show that it is possible to learn stereo matching from synthetic people dataset and improve performance on real datasets for stereo reconstruction of people from narrow and wide baseline stereo data.
Optimal Patrolling of High Priority Segments While Visiting the Unit Interval with a Set of Mobile Robots
Venue: arXiv cs.DC 2019
Year: 2019

Consider a region that requires to be protected from unauthorized penetrations. The border of the region, modeled as a unit line segment, consists of high priority segments that require the highest level of protection separated by low priority segments that require to be visited infinitely often. We study the problem of patrolling the border with a set of $k$ robots. The goal is to obtain a strategy that minimizes the maximum idle time (the time that a point is left unattended) of the high priority points while visiting the low priority points infinitely often. We use the concept of single lid cover (segments of fixed length) where each high priority point is covered with at least one lid, and then we extend it to strong double-lid cover where each high priority point is covered with at least two lids, and the unit line segment is fully covered. Let $λ_{k-1}$ be the minimum lid length that accepts a single $λ_{k-1}$-lid cover with $k-1$ lids and $Λ_{2k}$ be the minimum lid length that accepts a strong double $Λ_{2k}$-lid cover with $2k$ lids. We show that $2\min(Λ_{2k}, λ_{k-1})$ is the lower bound of the idle time when the max speed of the robots is one. To compute $Λ_{2k}$ and $λ_{k-1}$, we present an algorithm with time complexity $O(\max(k, n)\log{n})$ where $n$ is the number of high priority sections. For the upper bound, first we present a strategy with idle time $λ_{k-1}$ where one robot covers the unit line, and the remaining robots cover the lids of a single $λ_{k-1}$-lid cover with $k-1$ lids. Then, we present a simple strategy with idle time $3Λ_{2k}$ that splits the unit line into not-disjoint $k$ segments of equal length that robots synchronously cover. Then, we present a complex strategy that split the unit line into $k$ non-disjoint segments that robots asynchronously cover.
YOLO Nano: a Highly Compact You Only Look Once Convolutional Neural Network for Object Detection
Venue: arXiv cs.CV 2019
Year: 2019

Object detection remains an active area of research in the field of computer vision, and considerable advances and successes has been achieved in this area through the design of deep convolutional neural networks for tackling object detection. Despite these successes, one of the biggest challenges to widespread deployment of such object detection networks on edge and mobile scenarios is the high computational and memory requirements. As such, there has been growing research interest in the design of efficient deep neural network architectures catered for edge and mobile usage. In this study, we introduce YOLO Nano, a highly compact deep convolutional neural network for the task of object detection. A human-machine collaborative design strategy is leveraged to create YOLO Nano, where principled network design prototyping, based on design principles from the YOLO family of single-shot object detection network architectures, is coupled with machine-driven design exploration to create a compact network with highly customized module-level macroarchitecture and microarchitecture designs tailored for the task of embedded object detection. The proposed YOLO Nano possesses a model size of ~4.0MB (>15.1x and >8.3x smaller than Tiny YOLOv2 and Tiny YOLOv3, respectively) and requires 4.57B operations for inference (>34% and ~17% lower than Tiny YOLOv2 and Tiny YOLOv3, respectively) while still achieving an mAP of ~69.1% on the VOC 2007 dataset (~12% and ~10.7% higher than Tiny YOLOv2 and Tiny YOLOv3, respectively). Experiments on inference speed and power efficiency on a Jetson AGX Xavier embedded module at different power budgets further demonstrate the efficacy of YOLO Nano for embedded scenarios.