CSAP: Cyber Security Asynchronous Programming With C++20 and C# 8 for Internet of Things and Embedded Software Systems

CSAP: Cyber Security Asynchronous Programming With C++20 and C# 8 for Internet of Things and Embedded Software Systems

Marius Iulian Mihailescu, Stefania Loredana Nita
DOI: 10.4018/978-1-7998-7511-6.ch014
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

The current proposal of C++20 features suggests that the coroutines will have dedicated support for the native language. This chapter will provide an analysis that is performed based on a comprehensive survey of coroutines that are used in the development process of the embedded systems and how they are used on dedicated platforms based on their constrained resources. Another important aspect of the work consists of analyzing the performance of designing and implementation of coroutines in software applications related to IoT and embedded devices focusing on the security vulnerabilities of the devices within an IoT ecosystem. The research analysis that forms the basis of the current work is based on metrics, such as software and hardware platform requirements, computation power, scenarios, advantages, and designing user interfaces based on the programming language used. The current work will be completed by adding a comparison with C# 8 programming language and C++20.
Chapter Preview
Top

Introduction

Internet-of-Things (IoT) is one of the most challenging and technology from nowadays with a very bright future, with a higher number of devices that will be attached to the IoT ecosystem or a wide network.

IoT is one of the promising directions to be focused on when applications for devices that are found within the IoT environment are developed. In this way the best from the network that has multiple devices inter-connected with them will be get out, being treated as things.

The objectives of this chapter are as follows:

  • Asynchronous Programming Guide from IoT perspective (see Section Asynchronous Programming). The chapter will cover the asynchronous programming framework for C++20 and C# 8.0 and it will be demonstrated how to embed asynchronous source code on (complex) embedded software systems.

  • Cyber Security Threats (see Section Cyber Security Threats, Section IoT Taxonomy for Security Classification, Section Important Security Incidents, and Cyber Security Attacks). Asynchronous programming has its advantages and disadvantages. One of the disadvantages consists in the way how the data are passed and processed during the code execution.

  • Coroutines (see Section Asynchronous Programming). Another important objective is utilizing coroutines, such as to await and async to protect the security of the data.

The chapter structure is as follows and covers the most important security threats of IoT devices and their applications within the network in which they are deployed. The chapter structure is:

  • Background. The section provides a short analysis of the sources for security issues and discusses the security aspects that are demanded on three different levels;

  • Cyber Security Threats. The section covers the most significant safety threats for different reasons and the advantages of IoT, IIoT, and IoMT. The second purpose of the section is to give a presentation of the most common hackers and their ways of compromising and damaging the IoT, IIoT, and IoMT devices.

  • IoT Taxonomy for Security Classification. The section will discuss an important way of grading security using seven important taxonomies.

  • Important Security Incidents. The section will cover the most important security incidents that happened to start with 2009 and until now.

  • Cyber Security Attacks. For each of the security incidents, the current section will cover the most important attacks and different IoT devices and how the hackers are proceeding to gain access.

  • Asynchronous Programming. The section will present a framework that can be used by developers when developing applications for IoT devices. The framework is focusing on two of the most powerful programming language (C# and C++) and their new features brought with C# 8.0 and C++20, with respect for security and cryptography algorithms.

In business and personal environments, Internet-enabled devices are rapidly evolving. They sometimes go unnoticed, simply emerging inside network infrastructures, using wired or wireless networks, and widening the scope of an assault on businesses.

Besides, businesses are more likely to have more Internet of Things (IoT) devices on their networks than conventional endpoints – according to Armis, by 2021, more than 90 percent of business devices would not be manageable by conventional IT protection tools. IBM projected that the world will reach 25 billion connected devices by 2020, a number which is likely to continue to rise in the future.

A successful threat management system needs to discover, classify, and evaluate all forms of unmanaged and managed IoT devices that are connected to enterprise infrastructure, adapting the past threat environment to the reality of today. The first step is to passively identify unknown types of products, gathering product information such as size, model, supplier, the operating system installed, and applications.

Key Terms in this Chapter

Cryptanalysis: Represents the art of studying and analyzing the information systems with the goal to study the way of how the information and data are hidden.

Cracker: Represents the individual who is trying to gain access to computer systems without being authorized.

Cryptology: The art of studying cryptography and cryptanalysis with their techniques in order to create a secure communication.

Cryptography: Represents the art of studying techniques in order to obtain a secure communication knowing that third-parties are participating in order to obtain the real nature of secure communication.

Authentication: Represents the process of identifying a user within a computer system, software, or web application.

Confidentiality: Is the process to assure that nobody is able to get into the possession of the data and read it without the legitimate user.

Integrity: Deals with protecting the information from not being modified by attackers which play the role of an unauthorized party.

Ethical Hacker: Is a legal person, sometimes known as an information security expert, who is hired by a company with the goal to test their network infrastructure and applications for vulnerabilities and report them in order to take action and to improve the security measures.

Complete Chapter List

Search this Book:
Reset