 Ladies and gentlemen, welcome to module 7 in this course which covers the topic of security and security is of course Nowadays a really important problem that we need to solve we need to make sure that the system is secure But we'll start in this module first of all Discussing what security is compared to safety, which is another really important concept that often comes up And it's easy to confuse the two. So that's why we start so security Is all about a system being able to operate and being able to protect itself? against intrusion so Anyone in true intruding into the system and this can be accidental You might just suddenly get a certain access that you shouldn't have for example, but could of course be deliberate to someone actually trying to hack or On-purpose access the system or metal with it. So that's security and safety then is the is the property or the ability of a system to operate without a catastrophic failure and Catastrophic failure. He means that someone could get injured. They could be loss of life. They could be environmental impact There could be a very large financial or economic impact So anything that is somewhat Catastrophic so safety critical systems are very often for example Passenger transport systems like cars airplanes railway highly safety critical But it could also be for example a power plant If something goes wrong in the control for example in the worst case maybe in a nuclear power plant things could seriously go wrong It could be some kind of oil refinery if something goes wrong You have an economic impact because the oil for example spills out. So there are a lot of options here What could happen? So this is the distinction and we will in general focus on the security aspect. So how do we protect our systems against? Accidental or deliberate intrusion It's important to note that without security you typically don't have safety So if you have a safety critical system, which is insecure Typically, there is no way to ensure that there is not a catastrophic failure. For example if someone accidental Accidentally is able to intrude into the control system often of a power plant that could have catastrophic consequences So security is a prerequisite for safety. The other way around does not apply so a system could definitely be Unsafe there could be a catastrophic failure, but it is very secure You cannot intrude but things can seriously go wrong anyway so that's the distinction here, but we'll focus on the security aspect and Three things that we typically want to ensure if we talk about security in the context of this course is we want to ensure the confidentiality and That means that access to data to assets is only possible by whoever should have access not by others We want to ensure the integrity of The system and that means that the data is in a way correct. It can be relied upon. No one has modified anything and We want to ensure the availability So that we can actually access the system. It doesn't crash or anything in that direction Now these are the three dimensions in what we are looking at that we want to ensure There are different kind of threats that that apply to this so you can have You can have different threads how to meddle with these we will not cover them here in detail They're on the slides though. So For example data Modification is of course something that might apply to the integrity that we cannot rely on them anymore In general security like other qualities like performance is very cross-cutting. So if you in one part of your system Have something that is insecure. This might apply to the entire system So it if the database for example is not protected against intrusion the rest of the application could be extremely secure Very well protected, but it will probably not help you very much. So Minor security flaws in part of the application can have drastic consequences for the overall application This is one dimension to look at security confidentiality integrity availability The other one is on what level do we look at security and there we can for example talk about the security of the Infrastructure. So for example is the network secure Are the servers secure are they in a locked building and so on Or is anyone able to access that so there is a story from a couple of years ago? From a company that did assessment security assessment of power plants and they looked at the software They looked at the Wi-Fi and everything looked fairly okay But then they drove around the power plant and they just found a network rack that was open And you could just plug in the cable So as an example of infrastructure security that is not given everything was protected But you could just plug in your cable and suddenly you had access to the network So that's infrastructure security. Then there's application security, which is mainly concerned with how do we actually program? How do we structure the system so that the application is secure and Then there is also Operation security for example while the system is running How do we do the logging so that we can identify it anyone trying to intrude or things like that now? This is a massive topic. So the the course book alone has hundreds of pages on security We will in this course mainly focus on application security. So what kind of design? architecture programming principles guidelines do we have that can make our application more secure? And again, there are lots of different ones you could look at here There are for example for each programming languages. There are specific guidelines what you should and what you should not do We will stay on a fairly abstract level. I will cover some examples for programming concepts that Maybe should be used that are recommended, but we will not go into much depth here Okay, so this is roughly what we'll do and we'll dive now into the details of this module