Real-Time Systems. Design Principles for Distributed Embedded Applications. Herman Kopetz. Second Edition (811374), страница 45
Текст из файла (страница 45)
6.3.1).Anomaly detection is needed in order to detect the consequences of randomphysical faults as well as the activities of a malicious intruder.The capture of control over a subsystem can be prevented by a structuredsecurity architecture, where different criticality levels are assigned to differentprocesses and a formal security policy, based on a formal model, controls theinteractions among these criticality levels.The attainment of topmost security is not only a technical challenge.
It requireshigh-level management commitment in order to ensure that the users strictlyfollow the organizational rules of the given security policy. Many securityviolations are not caused by technical weaknesses in a computer system, but by afailure of the users to comply with the existing security policies of the organization.Example: Beautement et al. [Bea09] state: It is widely acknowledged in security researchand practice that many security incidents are caused by human, rather than technicalfailures.
Researchers approaching the issue from a Human–Computer Interaction (HCI)perspective demonstrated that many human failures are caused by security mechanismsthat are too difficult for a non-expert to use.The following list of security attacks is only an indication of what has beenobserved. It is by no means complete:Malicious Code Attack.
A malicious code attack is an attack where an adversaryinserts malicious code, e.g., a virus, a worm, or a Trojan horse, into the software inorder that the attacker gets partial or full control over the system. This malicious codecan be inserted statically, e.g., by a malicious maintenance action (insider attack),by the process of downloading a new software version, or dynamically during theoperation of a system by accessing an infected Internet site or opening an infecteddata structure.6.2 Information Security145Spoofing Attack.
In a spoofing attack an adversary masquerades as a legitimate userin order to gain unauthorized access to a system. There are many versionsof spoofing attacks in the Internet: replacement of a legitimate web-page (e.g., ofa bank) by a seemingly identical copy that is under the control of the adversary(also called phishing), the replacement of the correct address in an email by a fakeaddress, a man-in-the middle attack where an intruder intercepts a session betweentwo communicating partners and gains access to all exchanged messages.Password Attack. In a password attack, an intruder tries to guess the password thatprotects the access to a system. There are two versions of password attacks, dictionary attacks and brute force attacks. In a dictionary attack, the intruder guessescommonly used password strings.
In a brute force attack, the intruder searchessystematically through the full code space of the password until he is successful.Cipher-Text Attack. In this attack model the attacker assumes to have access to thecipher text and tries to deduce the plaintext and possibly the encryption key fromthe cipher text. Modern standardized encryption technologies, such as the AES(Advanced Encryption Standard), have been designed to make the success ofcipher-text attacks highly improbable.Denial of Service Attack.
A denial of service attack tries to make a computersystem unavailable to its users. In any wireless communication scenario, such asa sensor network, an adversary can jam the ether with high-power signals of theappropriate frequency in order to interfere with the communication of the targeteddevices.
In the Internet, an adversary can send a coordinated burst of servicerequests to a site to overload the site such that legitimate service requests cannotbe handled any more.Botnet Attack. A botnet (the word bot is an abbreviation of robot) is a set ofinfected networked nodes (e.g., thousands of PC or set top boxes) that are underthe control of an attacker and cooperate (unknowingly to the owner of the node)to achieve a malicious mission. In a first phase an attacker gets control over thebotnet nodes and infects them with malicious code. In the second phase he launchesa distributed denial-of-service attack to a chosen target website to make the targetwebsite unavailable to legitimate users. Botnet attacks are among the most seriousattack modes in the Internet.Example: A study in Japan [Tel09, p. 213] showed that it takes about four minutes, onaverage, for an unprotected PC to be infected when connected to the Internet and that anestimated 500,000 PCs are infected.
A total of around 10 Gbps of traffic from Japanese IPaddresses are wasted by botnets (SPAM mail traffic via botnets is not included).6.2.3Cryptographic MethodsThe provision of an adequate level of integrity and confidentiality in embeddedsystems that are connected to the Internet, the IoT, can only be achieved by thejudicious application of cryptographic methods.
Compared to general computing1466 Dependabilitysystems, the security architecture of embedded systems must cope with thefollowing two additional constraints:llTiming constraints. The encryption and decryption of data must not extend theresponse time of time critical tasks; otherwise the encryption will have anegative impact on the quality of control.Resource constraints. Many embedded systems are resource constrained, concerning memory, computational power, and energy.Basic cryptographic concepts. The basic cryptographic primitives that must besupported in any security architecture are symmetric key encryption, public keyencryption, hash functions, and random number generation. The proper applicationof these primitives, supported by a secure key management system, can ensurethe authenticity, integrity, and confidentiality of data.In the following paragraphs we use the term hard to mean: it is beyondthe capabilities of the envisioned adversary to break the system within the timeperiod during which the security must be provided.
The term strong cryptography isused if the system design and the cryptographic algorithm and key selectionjustify the assumption that a successful attack by an adversary is highly improbable.In cryptography, an algorithm for encryption or decryption is called a cipher.During encryption, a cipher transforms a plaintext into a ciphertext. The ciphertextholds all the information of the plaintext but cannot be understood withoutknowledge of the algorithm and the keys to decrypt it.A symmetric key encryption algorithm encrypts and decrypts a plaintext withthe same (or trivially related) keys.
Therefore both the encryption and decryptionkey must be kept secret. In contrast, an asymmetric key algorithm uses differentkeys, a public key and a private key, for encryption and decryption. Although thetwo keys are mathematically related, it is hard to derive the private key fromthe knowledge of the public key. Asymmetric key algorithms form the basis forthe widely used public key encryption technology [Riv78].The procedure for key distribution is called key management. In public keyencryption systems, the security of the system depends on the secrecy of the privatekeys and the establishment of a trusted relationship between the public key andthe identity of the owner of the respective private key.
Such a trusted relationshipcan be established by executing a secure network authentication protocol to ana priori known security server. An example of such a network authenticationprotocol is the KERBEROS protocol that provides mutual authentication [Neu94]and establishes a secure channel between two nodes in an open (insecure) networkby using a trusted security server.Random numbers are required in both symmetric and asymmetric cryptographyfor key generation and for the generation of unpredictable numbers that are usedonly once (called a nonce) in order to ensure the uniqueness of a key of a session.In public key encryption, the node that needs a private key must generate theasymmetric pair of keys out of a nonce.
The private key is kept secret to thenode, while the public key is disseminated over open channels to the public.A signed copy of the public key must be sent to a security server in order that6.2 Information Security147other nodes can check the trusted relationship between the public key and theidentity of the node that generated the public key.In order to ensure the secrecy, a private key should not be stored in plain textbut must be sealed in a cryptographic envelope. To operate on such an envelope anon-encrypted key is required, which is usually called the root key. The root keyserves as the starting point for the chain of trust.The computational effort required to support public key encryption is substantially higher than the computation effort needed for symmetric key encryption.For this reason, public key encryption is sometimes only used for the securedistribution of keys, while the encryption of the data is done with symmetric keys.A cryptographic hash function is an L-deterministic (see Sect.