4. Security Engineering 2024 SS.pdf
Document Details
Uploaded by JubilantOpArt
École Supérieure d'Ingénieurs Léonard de Vinci
Tags
Full Transcript
International Business Information Systems. Bachelor of Science (B.Sc.) Introduction to Computer Security Furtwangen University of Applied Sciences Hochschule Furt...
International Business Information Systems. Bachelor of Science (B.Sc.) Introduction to Computer Security Furtwangen University of Applied Sciences Hochschule Furtwangen University Course Overview 1. Course Structure and Motivation 2. Security and Risk Management 3. Asset Security 4. Security Engineering 5. Communication & Network Security 6. Identity and Access Management 7. Security Assessment and Testing 8. Security Operations 9. Software Development Security 1 Hochschule Furtwangen University @ Dr. Norbert Schiffner 4. SECURITY ENGINEERING Hochschule Furtwangen University @ Dr. Norbert Schiffner Security engineering is the process of incorporating security controls into an information system so that the controls become an integral part of the system's operational capabilities. 4 Hochschule Furtwangen University @ Dr. Norbert Schiffner Overview Architecture and Models Security Engineering for Machinery Cryptography Physical Security 5 Hochschule Furtwangen University @ Dr. Norbert Schiffner 4.1 ARCHITECTURE AND MODELS 6 Hochschule Furtwangen University @ Dr. Norbert Schiffner “It’s not that we didn’t think about security,” Clark recalled. “We knew that there were untrustworthy people out there, and we thought we could exclude them.”1 1970 1The Washington Post 7 Hochschule Furtwangen University @ Dr. Norbert Schiffner Today Attacked water treatment plant in Oldsmar, FL USA Use of a shared password Windows 7 (32 Bits) Use of an unpatched version of TeamViewer No Firewall 8 Hochschule Furtwangen University @ Dr. Norbert Schiffner Security engineering is the process of incorporating security controls into an information system so that the controls become an integral part of the system's operational capabilities.. 9 Hochschule Furtwangen University @ Dr. Norbert Schiffner Architecture Beyond computer or network, Applications “architecture” refers to a security environment designed to be leveraged by several applications, systems and business processes Security Architecture Infrastructure Processes 10 Hochschule Furtwangen University @ Dr. Norbert Schiffner Enterprise Security Architecture (ESA) ESA is focused on the long-term strategy for security across the enterprise. Represent a simple, long-term view of controls Provide a unified version for common security controls Leverage existing technology investments Provide a flexible approach to current and future threaths without interfering with core applications and business processes 11 Hochschule Furtwangen University @ Dr. Norbert Schiffner 12 Google Enterprise Architecture Blog Hochschule Furtwangen University @ Dr. Norbert Schiffner Security Model Model : “a description or analogy used to help explain something that cannot be easily observed” Merriam-Webster Models are often used to focus on the important parameters of a complex system 13 Hochschule Furtwangen University @ Dr. Norbert Schiffner Security Models General Models State Machine: Describes the behavior of a system as it moves from one state to another over time. Multilevel Lattice: Describes strict layers of subjects and objects, then defines clear roles to permit or deny their interactions based on whatever layer they are in Noninterference: Activities at one level should not be seen by, or affect, activities at another level Maxtrix-Based: Focuses primarity on one-to-one releationships between subjects and objects Information Flow: Focuses entirely on how information flows from one object to another Isolation: Sandboxing is a strategy that isolates applications from critical system resources and other programs. 14 Hochschule Furtwangen University @ Dr. Norbert Schiffner CPU, Databases, Cloud, IoT Devices 4.2 SECURITY ENGINEERING FOR MACHINERY 15 Hochschule Furtwangen University @ Dr. Norbert Schiffner Operation System (Key Terms) Multi-Processing: The scheduler distributes CPU time fairly to all processes. Only one process per core is running at any time. Processes are isolated (none interference) Multi-Threading: Application creates Threads which can run in parallel and can share the same memory Kernel: The core of an operation system; it manages the local hardware resources and controls the access Microkernel Architecture: The kernel is able to load modules (e,g, Device driver or not commonly used functionality) to make the kernel smaller. Firmware: Specialized OS for a device or CPU 16 Hochschule Furtwangen University @ Dr. Norbert Schiffner Process End Address of Process Program code is assembler code which a compiler and a linker produced; it is read Stack only. Static data or constants which can not be Available Memory changed. Heap contains allocated memory which is requested (e.g., new statement) during the Heap lifetime of the process Static Data Stack contains the temporary data such as method/function parameters, return PCode (Text) address and local variables. Start Address of Process 17 Hochschule Furtwangen University @ Dr. Norbert Schiffner Thread A thread is a flow of Process Thread #1 Thread #2 execution through the t process code, with its own program counter that keeps track of which instruction to execute next and a stack which contains the execution history. 18 Hochschule Furtwangen University @ Dr. Norbert Schiffner Process Example Load pStartString = 2000 End Address of Process 4FFF Console.write Stack End Address of Process (string[pStartString]) Expected outcome “Norbert” 2000 N O R B E R T 0 Static Data PCode (Text) 1000 Start Address of Process 19 Hochschule Furtwangen University @ Dr. Norbert Schiffner Process Load pStartString = 0000 End Address of Process Console.write 4FFF End Address of Process Stack (string[pStartString]) Expected outcome ?? 2000 N O R B E R T 0 Static Data PCode (Text) 1000 Start Address of Process 20 Hochschule Furtwangen University @ Dr. Norbert Schiffner Null pointer exception are often programming error 21 Hochschule Furtwangen University @ Dr. Norbert Schiffner What if this happens in the kernel mode / OS ? 22 Hochschule Furtwangen University @ Dr. Norbert Schiffner 23 Hochschule Furtwangen University @ Dr. Norbert Schiffner What can you do Application (User Mode) Kernel (Blue screen) Check for work around Backup available ? Update (App & OS) Blue Screen message has an Check Disk chkdsk c: /f ID (Admin) Update (OS & BIOS) Reinstall application Deinstall (win settings app) Last Update / or new driver Restart (what is the Device might be the problem difference to shutdown ?) Win Settings Recovery (next Install page) 24 Hochschule Furtwangen University @ Dr. Norbert Schiffner Windows Settings Recovery 25 Hochschule Furtwangen University @ Dr. Norbert Schiffner Restore to a Previous System Restore Point Press the Windows key and type “Control Panel”. Open the Control Panel (Desktop app) from the results. Search for “Recovery” within the Control Panel. Select “Recovery” and then click “Open System Restore”. Follow the prompts to choose the restore point related to the problematic app, driver, or update. 26 Hochschule Furtwangen University @ Dr. Norbert Schiffner Advanced Recovery tool 27 Hochschule Furtwangen University @ Dr. Norbert Schiffner Reliability Monitor 28 Hochschule Furtwangen University @ Dr. Norbert Schiffner Secure CPU / Hardware Design User and Kernel Trusted Platform Protection Rings Mode Module TPM Intel Software Guard Extensions (SGX) Meltdown and Break Secure CPU Spectre Design 29 Hochschule Furtwangen University @ Dr. Norbert Schiffner Kernel Mode In Kernel mode, the executing code has complete and unrestricted access to the underlying hardware. It can execute any CPU instruction and reference any memory address. Kernel mode is generally reserved for the lowest-level, most trusted functions of the operating system (e.g., Load process in memory). Crashes in kernel mode are catastrophic; they will halt the entire PC. 30 Hochschule Furtwangen University @ Dr. Norbert Schiffner User Mode In User mode, the executing code has no ability to directly access hardware or reference memory. Code running in user mode must delegate to system APIs to access hardware or memory. Due to the protection (e.g., access outside process boundary) afforded by this sort of isolation, crashes in user mode are always recoverable. Most of the code running on your computer will execute in user mod 31 Hochschule Furtwangen University @ Dr. Norbert Schiffner Linux Kernel (source Wikipedia) 32 Hochschule Furtwangen University @ Dr. Norbert Schiffner Windows Kernel (source Wikipedia) 33 Hochschule Furtwangen University @ Dr. Norbert Schiffner Windows 10 example 34 Hochschule Furtwangen University @ Dr. Norbert Schiffner Linux Htop 35 Hochschule Furtwangen University @ Dr. Norbert Schiffner Kernel / User mode hardware implementation Computer operating systems provide different levels of access to resources. A protection ring is one of two or more hierarchical levels or layers of privilege within the architecture of a computer system. This is generally hardware-enforced by some CPU architectures that provide different CPU modes at the hardware or microcode level. Rings are arranged in a hierarchy from most privileged (most trusted, usually numbered zero) to least privileged (least trusted, usually with the highest ring number). On most operating systems, Ring 0 is the level with the most privileges and interacts most directly with the physical hardware such as certain CPU functionality (e.g. the control registers) and I/O controllers. Example: Start and end process values can only be changed by process scheduler in kernel mode (Ring 0) 36 Hochschule Furtwangen University @ Dr. Norbert Schiffner CPU Protection Ring Intel / AMD 4 Rings ARM 3 Rings Other up to 7 Rings 37 Hochschule Furtwangen University @ Dr. Norbert Schiffner Secure Boot / Trusted Platform Module Secure Boot establishes a trust relationship between the UEFI BIOS and the software it eventually launches (such as bootloaders, OSes, or UEFI drivers and utilities). After Secure Boot is enabled and configured, only software or firmware signed with approved keys are allowed to execute TPM is to store key used for BitLocker (Hard drive encryption) 38 Hochschule Furtwangen University @ Dr. Norbert Schiffner Software Guard Extensions Intel Software Guard Extensions (SGX) is a set of security-related instruction codes that are built into some modern Intel central processing units (CPUs). They allow user-level as well as operating system code to define private regions of memory, called enclaves, whose contents are protected and unable to be either read or saved by any process outside the enclave itself, including processes running at higher privilege levels. SGX involves encryption by the CPU of a portion of memory. The enclave is decrypted on the fly only within the CPU itself, and even then, only for code and data running from within the enclave itself. Function is available in most clouds. Trusted Computing is a hot topic in the security community. 39 Hochschule Furtwangen University @ Dr. Norbert Schiffner Meltdown and Spectre Vulnerabilities in modern computers leak passwords and sensitive data. 40 Hochschule Furtwangen University @ Dr. Norbert Schiffner Von-Neumann-Architecture 41 Hochschule Furtwangen University @ Dr. Norbert Schiffner CPU Model 42 Hochschule Furtwangen University @ Dr. Norbert Schiffner ALU Hochschule Furtwangen University @ Dr. Norbert Schiffner Register and Status Hochschule Furtwangen University @ Dr. Norbert Schiffner Assembler code 45 Hochschule Furtwangen University @ Dr. Norbert Schiffner CPU execution pattern 04 80 B6 Fetch fetches the next Decode Execution instruction from outputs what Causes the the main the ALU needs to instruction to be memory perform on the carried out data PC + 1 46 Hochschule Furtwangen University @ Dr. Norbert Schiffner CPU execution of LDA 24 47 04 Fetch Decode fetches the next outputs what the Execution instruction from ALU needs to Causes the the main memory perform on the instruction to be data carried out PC + 1 47 Hochschule Furtwangen University @ Dr. Norbert Schiffner JMP operation A jump operation will change the PC (Program counter) a jump be performed unconditionally JMP or depends on a flag (e.g. Carry / Overflow Flag) JPC Anybody spots the issue ? 48 Hochschule Furtwangen University @ Dr. Norbert Schiffner CPU execution pattern JMP Last byte of jump operation 44 56 03 Fetch Decode fetches the next outputs what the Execution instruction from ALU needs to Causes the the main memory perform on the instruction to be data carried out PC + 1 49 Hochschule Furtwangen University @ Dr. Norbert Schiffner CPU execution pattern JMP Last byte of jump operation 44 56 03 Fetch Decode fetches the next outputs what the Execution instruction from ALU needs to Causes the the main memory perform on the instruction to be data carried out PC + 1 50 Hochschule Furtwangen University @ Dr. Norbert Schiffner JMP Execution Execution unit checks Are conditions met Is target adress part of my process range Excecute Jump Load PC value with the jump target Discard Fetch and decode buffer (cache miss) -> performance degregation 51 Hochschule Furtwangen University @ Dr. Norbert Schiffner Intels solution for an “easy” solution Install a lookup process which will read ahead and try to reduce the cache hit accuracies. The read ahead will simulate CPU calculations to be more accurate. If the lookup process detects a JMP operation the Fetch and Decode will be loaded correctly most of the time ~80%. Temporary lookup information will be stored in an none protected area in the CPU and will not be cleared correctly on a security exception (mostly Intel) Security researcher showed (Prove of concept) that it is possible to access content / information outside the process boundary 52 Hochschule Furtwangen University @ Dr. Norbert Schiffner How to deal with this situation We will covert this in the secure operation part. What is the Risk for me !! Emergency patches barley tested Performance reduction by 30% (in the beginning) through the patch Until now no proven evidences about Spectre and Meltdown vulnerabilities are used in a real attacks. 53 Hochschule Furtwangen University @ Dr. Norbert Schiffner Cloud Computing 54 Hochschule Furtwangen University @ Dr. Norbert Schiffner Cloud Computing and Virtualization Private Inhouse under my control Cloud Public cloud Outsources not under my control (transfer of risk) Organizations adopting a hybrid cloud approach use a Hybrid cloud combination of public and a private cloud. In this model, they may use the public for some computing workloads, but they also operate their own private cloud for other workloads. 55 Hochschule Furtwangen University @ Dr. Norbert Schiffner Cloud Service Model 56 Hochschule Furtwangen University @ Dr. Norbert Schiffner Cloud-Unique Threats and Risks Consumers Have Reduced Visibility and Control On-Demand Self Service Simplifies Unauthorized Use Internet-Accessible Management APIs can be Compromised Separation Among Multiple Tenants Fails Data Deletion is Incomplete 57 Hochschule Furtwangen University @ Dr. Norbert Schiffner High Availability and Fault Tolerance High Availability Fault Tolerance The core concept of high Fault tolerance, on the other hand, availability is having operationally helps protects a single system redundant systems sometimes at from failing in the first place by different locations, for example making it resilient in the conditions having a cluster of web serves in of technical failures place that can continue to operate even if a single server fails 58 Hochschule Furtwangen University @ Dr. Norbert Schiffner Microsoft Azure Datacenters (Feb 2021) 59 Hochschule Furtwangen University @ Dr. Norbert Schiffner Client and Server Vulnerabilities Most businesses and corporations have some sort of client-server network topology. This is where many workstations and wireless devices (the clients) are connected to a central server so that resources can be accessed quickly and easily. 60 Hochschule Furtwangen University @ Dr. Norbert Schiffner Client Security Issues Executable code Maintenance / Patching Download over the internet (Browser), JavaScript, Web Machines do not have the latest Assembly. security patches installed Installer (new versions are Machine gets tampered with or infected) stolen Office Documents have Configuration Issue script functionality Software / OS is not supported Encrypted Zip Files anymore Statistics and research from Fidelis Cybersecurity show that about a third of the alerts recorded by the company were for exploits, 1 vulnerabilities, and malware that emerged in 2017 and earlier 61 Hochschule Furtwangen University @ Dr. Norbert Schiffner Server Security Issues Information Leakage Maintenance / Patching Aggregation. Aggregation occurs when Machines do not have the latest an individual with a low-level security security patches installed clearance is able to piece together facts Configuration Issue available at that low level to determine a very sensitive piece of information that he Software / OS is not supported or she should not have access to anymore Inference. Inference occurs when an individual can figure out sensitive information from the facts available to him or her API Flaws: Incorrectly implemented APIs 62 Hochschule Furtwangen University @ Dr. Norbert Schiffner Mobile Security Mobile devices should be protected with one or more access control mechanisms, such as passcodes and biometric fingerprint authentication Device encryption Ability to remove the contents of your device over the network, also known as remote wiping. Automatic screen-lock after certain period of inactivity User lockout if an incorrect passcode is entered too many times 63 Hochschule Furtwangen University @ Dr. Norbert Schiffner Mobile device management Mobile device management (MDM) solutions provide organizations with an easy way to manage the security settings on many mobile devices simultaneously. Mobile device management is a powerful tool that allows security professionals to ensure that all devices used with an organization’s data have security settings in place that match the organization’s security policy. 64 Hochschule Furtwangen University @ Dr. Norbert Schiffner IoT (Internet of Things) Internet of Things 65 Hochschule Furtwangen University @ Dr. Norbert Schiffner CAN Bus 66 Hochschule Furtwangen University @ Dr. Norbert Schiffner 67 Hochschule Furtwangen University @ Dr. Norbert Schiffner CAN Bus Attack 68 Hochschule Furtwangen University @ Dr. Norbert Schiffner 69 Hochschule Furtwangen University @ Dr. Norbert Schiffner Industrial control systems Industrial control systems (ICS) are the devices and systems that control industrial production and operation. These systems monitor electricity, gas, water and other utility infrastructure and production operations. Attacks on these systems can disable a nation’s power grid and can even destroy parts of a city’s infrastructure. For security professionals, it’s mandatory to secure the following types of industrial control system. Supervisory Control and Data Acquisition (SCADA) Distributed Control Systems (DCS) Programmable Logic Controllers (PLC) 70 Hochschule Furtwangen University @ Dr. Norbert Schiffner IoT Devices Issues No security Standards and Certification available Production cost and functions are the key for success The base / core design of most IoT devices are similar and attack patters can be used on a variety of similar devices IoT Devices are often connected to the Cloud. Setup must be easy and doable for none technical users 71 Hochschule Furtwangen University @ Dr. Norbert Schiffner IoT Devices Attack power Breach of privacy can be used by the attacker Can be used to gain control over equipment Could be taken over by the attacker. To use it in a DDoS attack (Attack a server with modified IP packages to produce load on the attacked server) Farm Bitcoins or other blockchain currencies Relay and distribute Spam emails Be part of a control and command attack (BOT Network) 72 Hochschule Furtwangen University @ Dr. Norbert Schiffner IoT Replay Attack Most IoT Devices are using the 433 Mhz Frequency Band to communicate.. Usually, the communication is not encrypted. Use a SDR (Software defined Radio) to record the signal, analyst and replay it with an sender.. Please be aware: It is unlawfully in some countries to listen or monitor specific frequencies. Before operation a SDR please check with your local authorities 73 Hochschule Furtwangen University @ Dr. Norbert Schiffner Secure IoT Devices Taking a layered approach to security and using multiple controls to achieve the same objectives improves the odds that your network will remain safe from embedded-device attacks. Following are some security measures for embedded devices: Ensure regular security updates (manual or automated) for embedded devices Implementing security wrappers for embedded devices Network segregation for embedded devices Web-application firewall, as most of the embedded devices have web consoles Whatever approach you choose, you should incorporate security, control, diversity and redundancy. 74 Hochschule Furtwangen University @ Dr. Norbert Schiffner 4.3 CRYPTOGRAPHY 75 Hochschule Furtwangen University @ Dr. Norbert Schiffner In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can decipher a ciphertext back to plaintext and access the original information.. 76 Hochschule Furtwangen University @ Dr. Norbert Schiffner Secure Behavior Did you send one or more emails with content that would be embarrassing or even worse, if leaked ? Emails are not protected, like post cards 77 Hochschule Furtwangen University @ Dr. Norbert Schiffner Post Card 1907 UK 78 Hochschule Furtwangen University @ Dr. Norbert Schiffner Mathematical Viewpoint cipher (or cypher) is an algorithm for performing encryption (f) or decryption (f’) f(plaintext, key) = ciphertext f’(ciphertext, key) = plaintext Key == Key (symmetric) plaintext ≠ ciphertext Attributes of plaintext ≠ Attributes of ciphertext 79 Hochschule Furtwangen University @ Dr. Norbert Schiffner My secret encryption algorthem exchanges character Substitution of single letters separately— simple substitution—can be demonstrated by writing out the alphabet in some order to represent the substitution. Attributes of plaintext == Attributes of ciphertext 80 Hochschule Furtwangen University @ Dr. Norbert Schiffner Common attack methods for Cryptography Brute-force attack: The attacker systematically checks all possible keys until the correct one is found. Dictionary attack is a form of brute force attack technique for defeating a cipher or authentication mechanism by trying to determine its decryption key or passphrase by trying thousands or millions of likely possibilities, such as words in a dictionary or previously used passwords, often from lists obtained from past security breaches. A side-channel attack is any attack based on information gained from the implementation of a computer system, rather than weaknesses in the implemented algorithm itself (e.g. cryptanalysis and software bugs). 81 Hochschule Furtwangen University @ Dr. Norbert Schiffner Type of modern Encryption Algorithmen Symetric Asymetric Symmetric-key algorithms are Encryption uses two distinct, yet algorithms for cryptography that related keys (Key Pair). One use the same cryptographic key, the Public Key, is used for keys for both the encryption of encryption and the other, the plaintext and the decryption of Private Key, is for decryption ciphertext. 82 Hochschule Furtwangen University @ Dr. Norbert Schiffner Symmetric Encryption Algorithmic (XOR Encryption) PlainE n 1 1 0 1 1 0 0 0 c 1 0 0 1 1 0 1 0 XOR Boolean Key r y p XOR t Cipheri text o 0 1 0 0 0 0 1 0 n D Key e c 1 0 0 1 1 0 1 0 r XOR y Plain p t 1 1 0 1 1 0 0 0 i o n 83 Hochschule Furtwangen University @ Dr. Norbert Schiffner Attributes of Symmetric Encryption Can be easily implemented it is fast and efficient for large Higher key length increases in hardware (e.g. IoT amounts of data the strength of the encryption devices) Key management: especially Recommendation is 128- bit challenging where encryption and decryption take place in different Not scaling very well, if you Key length (2128 different locations, requiring the key to be have multiple recipients keys) moved safely between locations. (Out pf band distribution of keys) Vulnerable if plain text is predicable and has a low coherence 84 Hochschule Furtwangen University @ Dr. Norbert Schiffner Symmetric Encryption Algorithmic (XOR Encryption) E lain n c r 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 y ey p t i o XOR n pher text 1 0 0 1 1 0 1 0 Change Keys frequently 85 Hochschule Furtwangen University @ Dr. Norbert Schiffner Symmetric Encryption Ciphers AES (Advanced Encryption Standard) (3)DES (Data Encryption Standard) (Don’t use; not secure anymore) IDEA (International Data Encryption Algorithm) Blowfish (Drop-in replacement for DES or IDEA) RC4 (Rivest Cipher 4) RC5 (Rivest Cipher 5) RC6 (Rivest Cipher 6) 86 Hochschule Furtwangen University @ Dr. Norbert Schiffner Encryption Keys Implement first a solid and stable key management system before you start encrypting data. 87 Hochschule Furtwangen University @ Dr. Norbert Schiffner Ransomware Attack Threat for everyone During a ransomware attack the data on an IT system is encrypted. Decryption requires payment of a ransom. Threatening the victim with the publication of the previously stolen data is increasingly common, putting additional pressure on the victim. Ransomware attacks are characterised by the fact that the effects on the victim are materializing immediately: Services and business processes can no longer be sustained. The IT infrastructure of the affected party comes to a halt. 88 Hochschule Furtwangen University @ Dr. Norbert Schiffner I would not count on this. Contact Police Offline Backup helps: Buy a external USB storage disk: Connect it (once a week / month) to your PC and make a backup with the system utilities; remove disk after backup. Create an external boot disk on a small usb stick. If infected; boot from USB stick and restore your system with the backup drive. 89 Hochschule Furtwangen University @ Dr. Norbert Schiffner Encryption Keys Why it is important to use LONG Keys / Passwords 90 Hochschule Furtwangen University @ Dr. Norbert Schiffner Linux Mint SYSTEM 91 Hochschule Furtwangen University @ Dr. Norbert Schiffner Linux Mint SYSTEM 92 Hochschule Furtwangen University @ Dr. Norbert Schiffner Encrypt a file 93 Hochschule Furtwangen University @ Dr. Norbert Schiffner Decrypt a file Ccdecrypt –k test would also work but it will delete the encrypted file which is a problem in my example 94 Hochschule Furtwangen University @ Dr. Norbert Schiffner Risk analysis Constrains System Exam is in 4 days Input char (alphanumerical with special chars) = 26 + 10 + 20 = 56 possibilities per input field I choose 4 chars 56 ^4 = 9834496 (10 Millions) Question would this setup secure enough 95 Hochschule Furtwangen University @ Dr. Norbert Schiffner Doing some measurements Execution time (real) 0.004s Possibilities : 56 ^4 = 9834496 (10 Millions) (max) Statistically we will find the correct value after 50 % = 4917248 ( 5 Millions) T = 4917248 * 0.004 / 3600 = 5.5 hours But Husky has a friend 96 Hochschule Furtwangen University @ Dr. Norbert Schiffner Husky’s friend ^ Char Length Possibilities Time to crack (possibilities / 2) 56 ^ 4 9834496 5.5 h 56 ^ 5 550731776 306 h 12 days 56 ^ 6 30840979456 17133 h, 713 days, 2 years 56 ^ 7 1727094849536 109.5 years 56 ^ 8 96717311574016 6133 years Recommendation normal password length 10 digits; strong passwords 12 digits and no common phrases (e.g., Names, location and..) 97 Hochschule Furtwangen University @ Dr. Norbert Schiffner Asymmetric encryption Create two (mathematically related) keys 98 Hochschule Furtwangen University @ Dr. Norbert Schiffner Asymmetric Encryption Public-key cryptography, or asymmetric cryptography, is a cryptographic system which uses pairs of keys: public keys (which may be known to others), and private keys (which may never be known by any except the owner). 99 Hochschule Furtwangen University @ Dr. Norbert Schiffner Asymmetric keys 100 Hochschule Furtwangen University @ Dr. Norbert Schiffner Public / Private Key pair Public key Private key 101 Hochschule Furtwangen University @ Dr. Norbert Schiffner Asymmetric Encryption Key vocabulary Public Keys Private Keys No need to hide or protect, because no Must be protected at all control over the issuer. costs. In communication Minimizing travel scenarios, used only for For communication used encryption, can not be to decrypt used for decrypt. 102 Hochschule Furtwangen University @ Dr. Norbert Schiffner Attributes of Asymmetric Encryption It allows It detects message It is convenient tampering authentication. Thrust, Public It is a very keys are not slow process authenticated. 103 Hochschule Furtwangen University @ Dr. Norbert Schiffner Asymmetric Encryption Ciphers Diffie–Hellman key exchange protocol DSS (Digital Signature Standard), which incorporates the Digital Signature Algorithm ElGamal Elliptic-curve cryptography Elliptic Curve Digital Signature Algorithm (ECDSA) Elliptic-curve Diffie–Hellman (ECDH) RSA encryption algorithm Cramer–Shoup cryptosystem 104 Hochschule Furtwangen University @ Dr. Norbert Schiffner Trust of public key Bob Allice 105 Hochschule Furtwangen University @ Dr. Norbert Schiffner Man in the middle attack Bob thinks he sends an encrypted protected Email to Alies Attacker’s public Keys Alies's public Key 106 Hochschule Furtwangen University @ Dr. Norbert Schiffner Real world trust problem We trust the government that the picture really belongs to Erika Mustermann Security feature protects the ID card from tampering The government holds evidence and can find them under L0L0016W7 It has an expire date 107 Hochschule Furtwangen University @ Dr. Norbert Schiffner Public key certificate In cryptography, a public key certificate, also known as a digital certificate or identity certificate, is an electronic document used to prove the ownership of a public key 108 Hochschule Furtwangen University @ Dr. Norbert Schiffner 109 Hochschule Furtwangen University @ Dr. Norbert Schiffner Public key infrastructure Wikipedia 110 Hochschule Furtwangen University @ Dr. Norbert Schiffner Volksverschlüsselung Service Volksverschlüsselung began operations in 2016 as a joint initiative of the Fraunhofer Institute for Secure Information Technology (SIT) in Darmstadt and Deutsche Telekom. Technically, Volksverschlüsselung is a public key infrastructure with which anyone with a German identity card can create a free X.509 certificate. 111 Hochschule Furtwangen University @ Dr. Norbert Schiffner Volksverschlüsselung (volksverschluesselung.de) 112 Hochschule Furtwangen University @ Dr. Norbert Schiffner What is a digital signature What exactly is a digital signature ? Integrity 113 Hochschule Furtwangen University @ Dr. Norbert Schiffner Hashing A cryptographic hash function is a mathematical algorithm that maps data of arbitrary size (often called the "message") to a bit array of a fixed size (the "hash value", "hash", or "message digest") One way function / Trap door 114 Hochschule Furtwangen University @ Dr. Norbert Schiffner Attributes of Hash function The ideal cryptographic hash function has the following main properties: it is deterministic, meaning that the same message always results in the same hash it is quick to compute the hash value for any given message it is infeasible to generate a message that yields a given hash value (i.e. to reverse the process that generated the given hash value) it is infeasible to find two different messages with the same hash value a small change to a message should change the hash value so extensively that a new hash value appears uncorrelated with the old hash value (avalanche effect) 115 Hochschule Furtwangen University @ Dr. Norbert Schiffner Hashing Algorithms and their Output Size MD5 = 128 bits (Designed in 1991) MD6 = up to 512 bits. SHA-1 = 160 bits. SHA-224 = 224 bits. SHA-256 = 256 bits. SHA-384 = 384 bits. Tiger = 192 bits. Whirlpool = 512 bits. 116 Hochschule Furtwangen University @ Dr. Norbert Schiffner Use cases for cryptographic hashes 117 Hochschule Furtwangen University @ Dr. Norbert Schiffner Digitally signed documents (sending part) Data Hash 101100110101 Encrypt hash using signer’s private key Data 101111010100 Create Email process Signed Email 118 Hochschule Furtwangen University @ Dr. Norbert Schiffner Digitally signed documents (receiving part) Data Data 101111010100 Decrypt hash using signer’s public key Hash ? 101100110101 101100110101 Receive Email process 119 Hochschule Furtwangen University @ Dr. Norbert Schiffner Public key certificate with Hash In cryptography, a public key certificate, also known as a digital certificate or identity certificate, is an electronic document used to prove the ownership of a public key HASH 120 Hochschule Furtwangen University @ Dr. Norbert Schiffner Check if a certificate is valid If hashes are not equal; Certificate was modified I calculate the Hash Calculated Hash myself Decrypt Hash with public key from CA Certificate Hash If fails: Certificate is not from CA 121 Hochschule Furtwangen University @ Dr. Norbert Schiffner Use of Hash in Software distribution Open-Source Projects might not be able to host the Binary or Source code version because occurring costs. The owner of the software has no influence of the download server The owner can store the Hash values on his site. The user can check if the software was modified 122 Hochschule Furtwangen University @ Dr. Norbert Schiffner KeyPass (Open-Source Password manager) Win 10: CertUtil -hashfile MD5 Linux :sha256sum [OPTION]... [ FILE].. 123 Hochschule Furtwangen University @ Dr. Norbert Schiffner Using Hash in password management Problem: how to securely store passwords Implementation is not Secure 124 Hochschule Furtwangen University @ Dr. Norbert Schiffner Using Hash is a securer solution 125 Hochschule Furtwangen University @ Dr. Norbert Schiffner Encryption is a two-way function. If attacker gets access to the key, he would be able to decode the passwords 126 Hochschule Furtwangen University @ Dr. Norbert Schiffner Hash is better because it is a one-way function 127 Hochschule Furtwangen University @ Dr. Norbert Schiffner Combining Asymmetric and Symmetric Encryption For network connection we use the best from both worlds Asymmetric will be used to exchange the symmetric key. Asymmetric Symmetric Data will be exchanged with symmetric encryption 128 Hochschule Furtwangen University @ Dr. Norbert Schiffner 129 Hochschule Furtwangen University @ Dr. Norbert Schiffner 4.4 PHYSICAL SECURITY 130 Hochschule Furtwangen University @ Dr. Norbert Schiffner Physical Security In the world of security, we often think of it in terms of hardware, software, database, servers, wireless devices, smartphones and so forth. But we often forget that these items are stored in a physical place, and these kinds of premises must be protected as well. Site and facility design Data center environmental controls Data center environmental protection Physical security controls types Physical access control Visitor management 131 Hochschule Furtwangen University @ Dr. Norbert Schiffner Thank You! Questions ? First / Last Name (123) 456-7890 Your Company Date Hochschule Furtwangen University Your Footer Here 132 @ Dr. Norbert Schiffner Let‘s stay in contact Dr. Norbert Schiffner Lecturer / Expert for Cyber-Security Faculty of Business Information Systems Furtwangen University Robert-Gerwig-Platz 1 78120 Furtwangen, Germany [email protected] [email protected] www.HS-Furtwangen.de/en Hochschule Furtwangen University @ Dr. Norbert Schiffner Legal Notice Copyright Dr. Schiffner keeps the copyright for this presentation and its content. This presentation and any attachments transmitted or uploaded with it are intended solely for the addressee(s) and may be legally privileged and/or confidential. Any unauthorised copying, distribution or disclosure is prohibited and unlawful. If you have received an e-Mail including this content in error, please destroy it and contact the sender. Hochschule Furtwangen University @ Dr. Norbert Schiffner