The usage of publish-subscribe protocols such as MQTT is common for industrial automation, smart cities, and environmental or agricultural monitoring. Due to challenging network conditions, this is either very expensive or sometimes not realistic to guarantee stable network links, which are usually required. Therefore, important sensor data is lost, or some applications are never even deployed for technical and financial reasons. When delays in message delivery are acceptable, the mobility of nodes and opportunistic communication can be used. We present a solution that acts as a drop-in replacement of MQTT and preserves its semantics without the need to rewrite existing applications. By mapping MQTT properties to the DTN Bundle Protocol, we minimize overhead and replicate application logic on the protocol level. Furthermore, we propose an extension of the TCP Convergence Layer standard, to minimize duplicate transmissions and ensure bundle-order as much as possible. Our evaluation shows significant advantages regarding message delivery rates in different scenarios compared to pure MQTT and mesh-based solutions, as well as the minimal resource footprint of our implementation.
Information and Communication Technology (ICT) is vital for everyday life and especially during times of disaster. Relying on existing infrastructure is problematic as maintenance is expensive, and they can be disrupted in emergency scenarios. Cost is a major factor which limits the technologies that can be used in rural areas or for emergency response, as satellite uplinks or private cellular networks are very expensive and complex. LoRa is commonly used for IoT infrastructure worldwide in the form of LoRaWAN to cover larger distances with low costs. But it can also be used in a Device-to-Device (D2D) mode for direct communication. By combining LoRa with Disruption-tolerant Networking (DTN), we present an affordable and practical solution that can cope with challenging conditions and be used for a large variety of applications. In our evaluation, we show how adaptable our solution is and how it outperforms similar mesh-based applications for disaster communication.
We present an approach to enable long-range device-to-device communication between smartphones in crisis situations. Our approach is based on inexpensive and readily available microcontrollers with integrated LoRa hardware that we empower to receive and forward messages via Bluetooth, Wi-Fi, or a serial connection by means of a dedicated firmware, called rf95modem. The developed firmware cannot only be used in crisis scenarios but also in a variety of other applications, such as providing a communication fallback during outdoor activities, geolocation-based games or broadcasting of local information. We present two applications to show the benefits of our approach. First, we introduce a novel device-to-device LoRa chat application that works on both Android and iOS as well as on traditional computers like notebooks using a console-based interface. Second, we demonstrate how other infrastructure-less technology can benefit from our approach by integrating it into the DTN7 delay-tolerant networking software. Furthermore, we present the results of an in-depth experimental evaluation of approach consisting of (i) real-world device-to-device LoRa transmissions in urban and rural areas and (ii) scalability tests based on simulations of LoRa device-to-device usage in a medium-sized city with up to 1000 active users. The firmware, our device-to-device chat application, our integration into DTN7, as well as our code fragments of the experimental evaluation and the experimental results are available under permissive open-source licenses.
Both data ferrying with disruption-tolerant networking (DTN) and mobile cellular base stations constitute important techniques for UAV-aided communication in situations of crises where standard communication infrastructure is unavailable. For optimal use of a limited number of UAVs, we propose providing both DTN and a cellular base station on each UAV. Here, DTN is used for large amounts of low-priority data, while capacity-constrained cell coverage remains reserved for emergency calls or command and control. We optimize cell coverage via a novel optimal transport-based formulation using alternating minimization, while for data ferrying we periodically deliver data between dynamic clusters by solving quadratic assignment problems. In our evaluation, we consider different scenarios with varying mobility models and a wide range of flight patterns. Overall, we tractably achieve optimal cell coverage under quality-of-service costs with DTN-based data ferrying, enabling large-scale deployment of UAV swarms for crisis communication.
The usage of WebAssembly (Wasm) is not only increasing in the web browser, but also as a backend technology on servers. Since Wasm introduces several security issues, like the possibility to obfuscate malicious code and cryptomining, an adequate analysis framework is needed for creating analyses that reveal such issues. Existing state-of-the-art analysis approaches lack in soundness, in fully providing essential information to client analyses, or entail a considerable amount of overhead due to their dynamic nature. To meet this challenge, we developed WasmA a static analysis framework for WebAssembly that determines necessary information needed by static client analyses, like call, control-, and data-flow graphs. In the evaluation we show that WasmA is performant, generic and extensible and thus competitive in comparison to state-of-the art tools. The implementation of a cryptominer detection tool on top of WasmA shows its applicability. WasmA is able to provide the required functionality while having a comparative resource-efficient approach, and as a result WasmA outperforms the state of the art.
Unmanned Aerial Vehicles (UAVs) are already part of everyday life as they are commonly used for disaster response, industrial applications, and smart farming. Resilient and flexible communication is key for the operation of UAVs themselves as well as many applications realized using them, e.g., gathering of data from Internet of Things (IoT) sensors without a direct uplink. Realizing new ideas, optimizations, and what-if analyses are usually lengthy processes to get from theoretical models to the actual real-world implementation. We propose an integrated testbed using emulation, where actual implementations can be evaluated in virtual environments that also simulate the network connectivity. Through the use of a software stack similar to actual UAVs that is built around Linux and the PX4 flight controller, we allow realistic prototyping, automated experiments and interactive missions. Additionally, we enable Hardware-inthe-Loop integration through a wideband Software Defined Radio (SDR)-based channel emulator to experiment with new radio links for more robust UAV control in challenging environments.
The Go programming language offers strong protection from memory corruption. As an escape hatch of these protections, it provides the unsafe package. Previous studies identified that this unsafe package is frequently used in real-world code for several purposes, e.g., serialization or casting types. Due to the variety of these reasons, it may be possible to refactor specific usages to avoid potential vulnerabilities. However, the classification of unsafe usages is challenging and requires the context of the call and the program’s structure. In this paper, we present the first automated classifier for unsafe usages in Go, UnGoML, to identify what is done with the unsafe package and why it is used. For UnGoML, we built four custom deep learning classifiers trained on a manually labeled data set. We represent Go code as enriched control-flow graphs (CFGs) and solve the label prediction task with one single-vertex and three context-aware classifiers. All three context-aware classifiers achieve a top-1 accuracy of more than 86% for both dimensions, WHAT and WHY. Furthermore, in a set-valued conformal prediction setting, we achieve accuracies of more than 93% with mean label set sizes of 2 for both dimensions. Thus, UnGoML can be used to efficiently filter unsafe usages for use cases such as refactoring or a security audit. UnGoML: https://github.com/stg-tud/UnGoML Artifact: https://dx.doi.org/10.6084/m9.figshare.22293052
This archive contains simulation results as well as the raw simulation files, conducted with "The-One" [1]. Results are used to get statistics about DTN based farm neighborhood communication in small-sized clusters up to 116 farms.Data Used for SimulationBase data set consists of 40 cluster of German farms. Each cluster has multiple geographic locations (points), representing a farm building, that has at maximum a distance (euclidean) of 2000m to another farm.There are two scenarios, with each: simulation data: simulation parameter description (.json) configuration and report files for each cluster (0..39) result graphics (.eps) and statistics (.tex)static Scenario static has following relevant parameters: one static agent for each farm position with LoRa and WiFi interface simulation time: 43200s message_interval: 1800s / count of all agents message size (random): 80 - 500 byte lora transmit speed: 7kbps lora transmit range: 2000 wifi transmit speed: 6750k wifi transmit range: 100m routing: Epidemic, PRoPHET mobile Scenario mobile has following relevant parameters: one static agent for each farm position with LoRa and WiFi interface one mobile agent for each farm with WiFi interface, moving on paths simulation time: 43200s message_interval: 3600s / count of all agents message size (random): 80 - 500 bytes lora transmit speed: 7kbps lora transmit range: 2000m wifi transmit speed: 6750k wifi transmit range: 100m routing: Epidemic, PRoPHET movement speed of mobile agents (random): 1.0 - 1.5 m/sResources [1] http://akeranen.github.io/the-one/
During disasters, existing telecommunication infrastructures are often congested or even destroyed. In these situations, mobile devices can form a backup communication network for civilians and emergency services using disruption-tolerant networking (DTN) principles. Unfortunately, such distributed and resource-constrained networks are particularly susceptible to a wide range of attacks such as terrorists trying to cause more harm. In this article, we present RESCUE , a resilient and secure device-to-device communication framework for emergency scenarios that provides comprehensive protection against common attacks. RESCUE features a minimalistic DTN protocol that, by design, is secure against notable attacks such as routing manipulations, dropping, message manipulations, blackholing, or impersonation. To further protect against message flooding and Sybil attacks, we present a twofold mitigation technique. First, a mobile and distributed certificate infrastructure particularly tailored to the emergency use case hinders the adversarial use of multiple identities. Second, a message buffer management scheme significantly increases resilience against flooding attacks, even if they originate from multiple identities, without introducing additional overhead. Finally, we demonstrate the effectiveness of RESCUE via large-scale simulations in a synthetic as well as a realistic natural disaster scenario. Our simulation results show that RESCUE achieves very good message delivery rates, even under flooding and Sybil attacks.
The emergence of the coronavirus disease 2019 (COVID-19) caused by the severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2) inspired rapid research efforts targeting the host range, pathogenesis and transmission mechanisms, and the development of antiviral strategies. Genetically modified mice, rhesus macaques, ferrets, and Syrian golden hamsters have been frequently used in studies of pathogenesis and efficacy of antiviral compounds and vaccines. However, alternatives to in vivo experiments, such as immortalized cell lines, primary respiratory epithelial cells cultured at an air–liquid interface, stem/progenitor cell-derived organoids, or tissue explants, have also been used for isolation of SARS-CoV-2, investigation of cytopathic effects, and pathogen–host interactions. Moreover, initial proof-of-concept studies for testing therapeutic agents can be performed with these tools, showing that animal-sparing cell culture methods could significantly reduce the need for animal models in the future, following the 3R principles of replace, reduce, and refine. So far, only few studies using animal-derived primary cells or tissues have been conducted in SARS-CoV-2 research, although natural infection has been shown to occur in several animal species. Therefore, the need for in-depth investigations on possible interspecies transmission routes and differences in susceptibility to SARS-CoV-2 is urgent. This review gives an overview of studies employing alternative culture systems like primary cell cultures, tissue explants, or organoids for investigations of the pathophysiology and reverse zoonotic potential of SARS-CoV-2 in animals. In addition, future possibilities of SARS-CoV-2 research in animals, including previously neglected methods like the use of precision-cut lung slices, will be outlined.
Recent studies have revealed that 87 % to 96 % of the Android apps using cryptographic APIs have a misuse which may cause security vulnerabilities. As previous studies did not conduct a qualitative examination of the validity and severity of the findings, our objective was to understand the findings in more depth. We analyzed a set of 936 open-source Java applications for cryptographic misuses. Our study reveals that 88.10 % of the analyzed applications fail to use cryptographic APIs securely. Through our manual analysis of a random sample, we gained new insights into effective false positives. For example, every fourth misuse of the frequently misused JCA class MessageDigest is an effective false positive due to its occurrence in a non-security context. As we wanted to gain deeper insights into the security implications of these misuses, we created an extensive vulnerability model for cryptographic API misuses. Our model includes previously undiscussed attacks in the context of cryptographic APIs such as DoS attacks. This model reveals that nearly half of the misuses are of high severity, e.g., hard-coded credentials and potential Man-in-the-Middle attacks.
Background: Previous studies have shown that up to 99.59 % of the Java apps using crypto APIs misuse the API at least once. However, these studies have been conducted on Java and C, while empirical studies for other languages are missing. For example, a controlled user study with crypto tasks in Python has shown that 68.5 % of the professional developers write a secure solution for a crypto task. Aims: To understand if this observation holds for real-world code, we conducted a study of crypto misuses in Python. Method: We developed a static analysis tool that covers common misuses of 5 different Python crypto APIs. With this analysis, we analyzed 895 popular Python projects from GitHub and 51 MicroPython projects for embedded devices. Further, we compared our results with the findings of previous studies. Results: Our analysis reveals that 52.26 % of the Python projects have at least one misuse. Further, some Python crypto libraries API design helps developers from misusing crypto functions, which were much more common in studies conducted with Java and C code. Conclusion: We conclude that we can see a positive impact of the good API design on crypto misuses for Python applications. Further, our analysis of MicroPython projects reveals the importance of hybrid analyses.
When facing major crisis events, such as earthquakes, flooding, or attacks on infrastructure, people start to organize within their neighborhoods. While this has historically been an analog process, people now use collaboration or messenger apps to support their self-organization. Unfortunately, these apps are not designed to be resilient and fail with communication infrastructure outages when servers are no longer available. We provide a resilience concept with requirements derived from an interdisciplinary view enabling citizens to communicate and collaborate in everyday life and during crisis events. Our human-centered prototype integrates concepts of nudging for crisis preparedness, decentralized and secure communication, participation, smart resource management, historical knowledge, and legal issues to help guide further research.
Developing new solutions for challenging communication environments requires extensive testing in various different scenarios. While discrete-event network simulators scale well, their main use is in evaluating specific algorithms and not necessarily assessing the real-world performance of an actual application. In contrast, full network emulation is a costly but more realistic way to perform an evaluation. These types of evaluation provide more valuable insights for both developers and users. Nevertheless, oftentimes the wheel is reinvented to provide a newly written simulation environment for a specific networking software or handwritten evaluation and reporting scripts for common metrics. Unfortunately, the downside of customized solutions is potential oversights regarding important metrics, and later finding out various problems when deploying the software in the field. In this paper, we present coreemu-lab, a novel framework that automates the process of orchestrating different monitoring services in an emulated, lightweight networking environment. This includes simulated mobility, automated data collection, and analysis of common metrics. It is specifically designed for the evaluation of resilient, decentralized communication software in challenging, mobile scenarios. Our evaluation shows the flexibility and ease of use of our proposed multi-platform, open-source solution.
Thoroughly evaluating new communication mechanisms for emergency communication is a necessity prior to deployment. This evaluation is often heavily dependent on specialized movement patterns, ranging from purely random over highly scenario specific to real-world traces. The latter being usually the most realistic, but also hard to realize for many different scenarios. Furthermore, the generation of the movement patterns and integration in a network simulation is often a nontrivial task for experts, involving various specialized tools. Thus, professional responders, that quickly want to model a scenario relevant for them and afterwards evaluate technical solutions in this setting, will fail. In this paper, we present a novel framework to utilize an accessible city building game to build a digital twin and generate movement traces in large scale. This can be used to easily model different scenarios, what-if analyses, and also simulate different disasters. Moreover, we provide tools and easy integration of these traces into various network simulators and emulation environments. Therefore, evaluation of disruption-tolerant networking protocols or mesh setups becomes much easier.
With the ever-increasing performance of smartphones and tablets, they become viable platforms for applications that were, in the past, only possible on desktops or laptops. In this paper, we study their applicability for real-time stream-data processing, which is particularly interesting for Software Defined Radio (SDR) applications, enabling wireless measurement and experimentation campaigns on mobile platforms. To this end, we port GNU Radio, a state-of-theart, open source, real-time stream-data processing framework, to Android and evaluate its performance. We show that it is possible to fully benefit from available accelerators, i.e., Single Instruction Multiple Data (SIMD) and the Graphics Processing Unit (GPU), which provide considerable speedups and allow for efficient implementations. As a general-purpose real-time data processing framework, GNU Radio can provide the base for a wide range of applications. To demonstrate its flexibility, we provide example applications that implement FM and Wireless LAN (WLAN). Our toolchain is published as open source software, thus serving as an enabler for highly mobile SDR applications.
The Go programming language aims to provide memory and thread safety through measures such as automated memory management with garbage collection and a strict type system. However, it also offers a way of circumventing this safety net through the use of the unsafe package. While there are legitimate use cases for unsafe, developers must exercise caution to avoid introducing vulnerabilities like buffer overflows or memory corruption in general. In this work, we present go-geiger, a novel tool for Go developers to quantify unsafe usages in a project's source code and all of its dependencies. Using go-geiger, we conducted a study on the usage of unsafe in the top 500 most popular open-source Go projects on GitHub, including a manual analysis of 1,400 code samples on how unsafe is used. From the projects using Go's module system, 38% directly contain at least one unsafe usage, and 91% contain at least one unsafe usage in the project itself or one of its transitive dependencies. Based on the usage patterns found, we present possible exploit vectors in different scenarios. Finally, we present go-safer, a novel static analysis tool to identify dangerous and common usage patterns that were previously undetected with existing tools.
Modern information and communication technology (ICT) is often very vulnerable to disruptions through disasters. Yet, the ability to communicate and distribute messages is vital for efficient disaster response. Furthermore, ad hoc deployment of flexible, robust, and affordable communication systems in a disaster area are often necessary. Therefore, we propose a disruption-tolerant networking bundle agent that uses LoRa radio technology to provide decentralized basic means of communication. To address the hardware's technological limitations as well as the uncertainty of the user locations and their movement behavior, we propose a geospatial routing mechanism for efficient message forwarding. In conjunction with the communication and routing solutions presented, we also designed specific pager-like hardware for intuitive message reception and bridging of smartphones into LoRa networks. We evaluated our solutions in various simulations as well as through real-world implementations on different hardware platforms.