Answers.Body: <p>Viruses, worms and other malware are actually just like physical infections in enough ways that I still think metaphors are the best way to educate from a basic level. Even the average home user knows that a virus scanner stops a large number of infections from ruining their PC.</p>
  
  <p>The challenge comes with explaining why virus scanners are so limited - most up until now only catch what they know about. So I like to use the following:</p>
  
  <ul>
  <li>Malware is written to control your PC or to steal your login information for online banking etc. </li>
  <li>Your virus scanner will protect from tens of thousands of pieces of malicious software that it knows about.</li>
  <li>Behavioural analysis tools will pick up more malware, based on what it appears to do.</li>
  </ul>
  
  <p>But because code is written by humans, there will always be vulnerabilities, and because there are criminals, there will always be malware that will get past these, and this is why layers of security are essential. These include:</p>
  
  <ul>
  <li>User awareness (don't visit dodgy sites, don't click on suspect emails etc)</li>
  <li>Secure architecture (secure by design) </li>
  <li>Extensive monitoring and logging</li>
  <li>Understanding the threat environment</li>
  <li>etc.</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-02T12:13:36.487Z
Answers.Text: I have never ran a virus scanner on my PC. I just follow the other thinks in your bullet list. My dad just does Secure architecture, as he is a complete novice. I phoned me the other day to tell me that his computer was infected with a virus. I asked him how he knew. He told me that the virus scanner told him (interesting as there is not one installed). I tracked the problem down in his web-browser history. He said that is it but I can get the “cleaner” to work, he had downloaded it, but because he did not know how to make it executable, it could not infect his machine. **It defaulted safe.**
Answers.UserDisplayName: ctrl-alt-delor
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-02T17:22:31.143Z
Answers.Text: Well, we already know that people will be able to cause havoc like that. Every car system that gets connected to the internet, or has wireless connectivity at all is vulnerable, and folks like Ken Munro regularly demonstrate this.
Answers.UserDisplayName: Rory Alsop
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-02T12:03:07.913Z
Answers.LastActivityDate: 2017-08-02T12:05:36.870Z
Answers.LastEditDate: 2017-08-02T12:05:36.870Z
Answers.UserDisplayName: Rory Alsop
Answers.Body: <p>I go ahead and use something a little dramatic in my sessions. I use the vampire mythology to explain viruses. </p>
  
  <p>For instance, vampires only come in when invited. Viruses are the same. The user has somehow allowed the virus to be installed on their machine. This 'invitation' part puts an emphasis that viruses entering a machine is almost always a fault of the user. </p>
  
  <p>Then, yes, once the vampire is in, they start sucking up all the life out of everyone in the house. Same thing with viruses. They take up resources, destroy things and completely ruin everything. </p>
  
  <p>I find that this brings out a lot of laughs (what with all the Twilight fans in the audience, and general awareness about vampires) but also allows them to learn the concept. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-24T09:26:15.423Z
Answers.Text: I like this metaphor, I will use it in class. Except I do not like to blame the user. This is like blaming it on pilot error. Air crash investigators (we can learn a lot from them), have come to realise that it is rarely pilot error: pilots make mistakes in air-craft that have design faults in the user interaction design. Therefore if we design your computer systems better, then we can, almost, eliminate user error, and therefore eliminate virus infection.
Answers.UserDisplayName: ctrl-alt-delor
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-24T09:29:31.573Z
Answers.Text: How do you know if someone is a vampire? see my view on **what is a virus scanner?** I think I will combine this answer and my answer, when teaching next.
Answers.UserDisplayName: ctrl-alt-delor
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-24T09:47:08.573Z
Answers.Text: glad you like the metaphor. Of course, I take some liberties (like assuming the user is to blame) but I am going with anecdotal evidence. As long as the kids get the point I am putting across, I am happy :)
Answers.UserDisplayName: Jay
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-24T03:54:51.380Z
Answers.LastActivityDate: 2017-08-24T03:54:51.380Z
Answers.UserDisplayName: Jay
Answers.Body: <p>To explain what a virus is, it is easier to also explain what a virus scanner is.</p>
  <p>A virus is malicious software, that takes advantage of bugs in you computer's operating system, and applications. They can combine this with social engineering, to manipulate you into cooperating with the virus. One way to protect yourself is to use a virus scanner.</p>
  <h1>What is a virus scanner</h1>
  <p>Let be explain by using an analogy.</p>
  <p>Imagine you have a house (computer), and you want to protect its contents from criminals (viruses).</p>
  <p>So you come up with the following idea:
  In front of each door you will put a security camera. It will scan every one that tries to enter the house. This camera is linked to a criminal records database. If it spots someone that is in the database then it will send you a text message, and let them in anyway. Or better it could lock them in a quarantine cell ( Better hope it does not misidentify you, because you could be stuck in there. The control panel to open the cell is on the outside).</p>
  <p>What are the problems to this system?</p>
  <ul>
  <li>You can become disconnected form DB. You could have a local copy of the database.</li>
  <li>Your local copy could be out of date. Keep you local copy synchronised.</li>
  <li>If someone has just started their life of crime, and is not on the database, then it lets them in.</li>
  <li>It treats everyone the same: You your husband/wife, your kids, family, dog, friends, neighbors, random strangers, are all let in (if they are not in the database).</li>
  <li>Did I mention people with a paper bag over their head, or a mask. They are let in as well.</li>
  </ul>
  <p>Why do we not use such a system for our houses?</p>
  <ul>
  <li>It is too expensive.</li>
  <li>It does not keep out every one that we want to keep out.</li>
  </ul>
  <p>What better system could we use?</p>
  <ul>
  <li>Instead of a list of people to keep out, have a list of people to let in.</li>
  <li>have fine grain control, allow some people into my house, fewer in to my private stuff.</li>
  </ul>
  <p>What techniques do computers use to improve security?</p>
  <ol>
  <li>Patch security vulnerabilities, as soon as possible.</li>
  <li>Make it so that files are not executable by default. This stops naive users from running programs, no need to tell them not to run random stuff that they have downloaded, until the lesson on how to make a file executable.</li>
  <li>Make it so that users can not make there files executable (at least until they need this ability, and they have been taught about the dangers).</li>
  <li>Isolate users from each other and from the system.</li>
  <li>Provide a huge repository of trusted programs, and a cryptographicaly secure link to the repository, so that users don't have to download programs from the interweb.</li>
  <li>Have users use an immutable revision control system (so they can get stuff back after they mess up).</li>
  <li>Provide sandboxes, to run un-trusted programs in.</li>
  </ol>
  <p>So why don't all systems do this?</p>
  <ol>
  <li>Not all vulnerabilities can be patched on legacy systems. That is some systems evolved from a very insecure system, and for backward compatibility not all vulnerabilities have been patched. It is interesting to note that MacOS X evolved from the insecure MacOS 9, but does not suffer from this problem.</li>
  <li>But the OS vendor does not always have the power to do this: most of the programs for the OS are proprietary, so the OS vendor is not allowed to put them into a repository.</li>
  <li>Yes you can do this on most OSs. However some OSs choose not to enable this, so as to make it easier to <del>use</del> [cut your own foot off].</li>
  <li>Yes you can do sandboxing on most OSs, but if you can't trust the host, then you can't trust the sandbox.</li>
  </ol>
  <p>Are there any computer systems that do it a better way?</p>
  <ul>
  <li>Funny you should ask. Would it surprise you to learn that only one computer system does it so badly that, a virus scanner improves matters?</li>
  <li>But even MacOS X mentioned above can not do it all right. If the OS Vendor does not have the freedom it needs, then the system can never be secure.</li>
  <li>Some more secure systems are Debian Gnu/Linux (there are others). Ubuntu, RedHat and SUSE, are also good (but contain proprietary software).</li>
  </ul>
  <h1>Edit</h1>
  <p>I will also combine this with the vampire analogy of @Jay (<a href="https://cseducators.stackexchange.com/a/3313/204">https://cseducators.stackexchange.com/a/3313/204</a>)</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-25T19:01:44.620Z
Answers.Text: @nocomprende “Those who do not understand Unix are condemned to reinvent it, poorly.”
Answers.UserDisplayName: ctrl-alt-delor
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-01T22:30:34.513Z
Answers.LastActivityDate: 2017-09-14T07:37:56.050Z
Answers.LastEditDate: 2020-06-18T08:36:57.023Z
Answers.UserDisplayName: ctrl-alt-delor
Body: <p>As part of my class, pupils have to learn what a virus is.</p>
  
  <p>I am looking for a better way to explain viruses or a better metaphor than the biological virus. The problem with a biological virus as a metaphor is that if we follow it to its logical conclusion, then if there is even the slightest problem in the metaphor, it will interfere with students reasoning down the line, which could lead to false conclusions and confusion.</p>
  
  <p>When I was at university in (1991), we were told some simple rules for the computer lab:</p>
  
  <ul>
  <li>No drinking or eating in the lab.</li>
  <li>Don't hit the computers, poke anything into them, or try to take them apart.</li>
  <li>Don't switch them off (someone else may be using it).</li>
  <li>Don't worry, <strong>if you tell it to do something and it breaks then it is our fault not yours</strong>. Our job is to keep them from breaking, we do this by using good quality software. These is security to stop you from breaking it for any one else. If you break it for you, then come and see us, and we will fix it. If you break the security, and we encourage you to try, then do not do anything malicious as this is immoral and criminal, just come and see us and tell us, so we can fix the software bug, and give you your prize.</li>
  </ul>
  
  <p>We are now telling students that they can easily break the computer by clicking the wrong button. This includes infecting a computer with a virus.</p>
  
  <p>I am not happy with the normal descriptions of a virus, as these put all of the blame onto the virus writers, and all of the responsibility onto the user/children.</p>
  
  <h2>Some descriptions that I have seen.</h2>
  
  <ul>
  <li><p><a href="http://www.businessdictionary.com/definition/computer-virus.html" rel="nofollow noreferrer">“each requiring a different cure”</a>
  Why? There are thousands of viruses, but only a small number of vulnerabilities. Viruses take advantage of vulnerabilities. Would it not be easier to fix the vulnerabilities.</p></li>
  <li><p><a href="http://www.bbc.co.uk/guides/zcmbgk7" rel="nofollow noreferrer">“prevention better than cure”</a> (true). But goes on about how a virus scanner can check programs before you run them. This is putting the blame on to the viruses, and the responsibility on to the children.</p></li>
  </ul>
  
  <h2>A better description?</h2>
  
  <p>Does anyone have a better way to describe a virus. How can we link it to real life; what the pupils already know.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-25T00:25:23.743Z
Comments.Text: A metaphor is by definition not a literal representation of the concept. That's why, it will be very difficult to find a metaphor that explains everything perfectly. That being said, I do like the "virus" metaphor because it can help us focus on teaching students better computing hygiene. When germ theory first became an accepted part of science, it still took us multiple generations to get people to make health hygiene or food hygiene a daily part of their daily routine, and even today, it's something that we must constantly educate and remind people/workers about.
Comments.UserDisplayName: Stephan Branczyk
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-25T01:22:15.390Z
Comments.Text: Also, putting the burden on the student to protect himself is key here. Because that student won't always be using computers in a controlled and well-protected computer lab environment. He won't always have knowledgeable staff that he can call upon. At some point, he will be purchasing and using his own computer and other electronics. And/or at some point, he may also start using internet cafes in sketchy areas.
Comments.UserDisplayName: Stephan Branczyk
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-25T10:32:26.617Z
Comments.Text: @StephanBranczyk yes at some point the student will be purchasing their own computer, so we need to teach them about systems that will minimise pilot error (see comment in section on vampires bellow). In the UK/EU up to the early 1970s we used to teach don't fall into the spinning blades. After this time, we started teaching about machine guards, and hazard protective equipment. It seems we are still catching up in our teaching of computing.
Comments.UserDisplayName: ctrl-alt-delor
Tags: <teaching-analogy><security>
Title: What is a good way to explain computer viruses?
ThreadText: # What is a good way to explain computer viruses?
  
  (Asked by: username_0 on 2017-08-01)
  
  As part of my class, pupils have to learn what a virus is.
  
  I am looking for a better way to explain viruses or a better metaphor than the biological virus. The problem with a biological virus as a metaphor is that if we follow it to its logical conclusion, then if there is even the slightest problem in the metaphor, it will interfere with students reasoning down the line, which could lead to false conclusions and confusion.
  
  When I was at university in (1991), we were told some simple rules for the computer lab:
  
  * No drinking or eating in the lab.
  * Don't hit the computers, poke anything into them, or try to take them apart.
  * Don't switch them off (someone else may be using it).
  * Don't worry, **if you tell it to do something and it breaks then it is our fault not yours**. Our job is to keep them from breaking, we do this by using good quality software. These is security to stop you from breaking it for any one else. If you break it for you, then come and see us, and we will fix it. If you break the security, and we encourage you to try, then do not do anything malicious as this is immoral and criminal, just come and see us and tell us, so we can fix the software bug, and give you your prize.
  
  We are now telling students that they can easily break the computer by clicking the wrong button. This includes infecting a computer with a virus.
  
  I am not happy with the normal descriptions of a virus, as these put all of the blame onto the virus writers, and all of the responsibility onto the user/children.
  
  ## Some descriptions that I have seen.
  
  * [“each requiring a different cure”](http://www.businessdictionary.com/definition/computer-virus.html)
    Why? There are thousands of viruses, but only a small number of vulnerabilities. Viruses take advantage of vulnerabilities. Would it not be easier to fix the vulnerabilities.
  * [“prevention better than cure”](http://www.bbc.co.uk/guides/zcmbgk7) (true). But goes on about how a virus scanner can check programs before you run them. This is putting the blame on to the viruses, and the responsibility on to the children.
  
  ## A better description?
  
  Does anyone have a better way to describe a virus. How can we link it to real life; what the pupils already know.
  
  **Tags:** teaching-analogy, security
  
  > **Comments:**
  > **username_1**: A metaphor is by definition not a literal representation of the concept. That's why, it will be very difficult to find a metaphor that explains everything perfectly. That being said, I do like the "virus" metaphor because it can help us focus on teaching students better computing hygiene. When germ theory first became an accepted part of science, it still took us multiple generations to get people to make health hygiene or food hygiene a daily part of their daily routine, and even today, it's something that we must constantly educate and remind people/workers about.  
  > **username_1**: Also, putting the burden on the student to protect himself is key here. Because that student won't always be using computers in a controlled and well-protected computer lab environment. He won't always have knowledgeable staff that he can call upon. At some point, he will be purchasing and using his own computer and other electronics. And/or at some point, he may also start using internet cafes in sketchy areas.  
  > **username_0**: @username_1 yes at some point the student will be purchasing their own computer, so we need to teach them about systems that will minimise pilot error (see comment in section on vampires bellow). In the UK/EU up to the early 1970s we used to teach don't fall into the spinning blades. After this time, we started teaching about machine guards, and hazard protective equipment. It seems we are still catching up in our teaching of computing.  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_0 on 2017-08-01. Score: 1 | Accepted answer
  
  To explain what a virus is, it is easier to also explain what a virus scanner is.
  
  A virus is malicious software, that takes advantage of bugs in you computer's operating system, and applications. They can combine this with social engineering, to manipulate you into cooperating with the virus. One way to protect yourself is to use a virus scanner.
  
  # What is a virus scanner
  
  Let be explain by using an analogy.
  
  Imagine you have a house (computer), and you want to protect its contents from criminals (viruses).
  
  So you come up with the following idea:
  In front of each door you will put a security camera. It will scan every one that tries to enter the house. This camera is linked to a criminal records database. If it spots someone that is in the database then it will send you a text message, and let them in anyway. Or better it could lock them in a quarantine cell ( Better hope it does not misidentify you, because you could be stuck in there. The control panel to open the cell is on the outside).
  
  What are the problems to this system?
  
  * You can become disconnected form DB. You could have a local copy of the database.
  * Your local copy could be out of date. Keep you local copy synchronised.
  * If someone has just started their life of crime, and is not on the database, then it lets them in.
  * It treats everyone the same: You your husband/wife, your kids, family, dog, friends, neighbors, random strangers, are all let in (if they are not in the database).
  * Did I mention people with a paper bag over their head, or a mask. They are let in as well.
  
  Why do we not use such a system for our houses?
  
  * It is too expensive.
  * It does not keep out every one that we want to keep out.
  
  What better system could we use?
  
  * Instead of a list of people to keep out, have a list of people to let in.
  * have fine grain control, allow some people into my house, fewer in to my private stuff.
  
  What techniques do computers use to improve security?
  
  1. Patch security vulnerabilities, as soon as possible.
  2. Make it so that files are not executable by default. This stops naive users from running programs, no need to tell them not to run random stuff that they have downloaded, until the lesson on how to make a file executable.
  3. Make it so that users can not make there files executable (at least until they need this ability, and they have been taught about the dangers).
  4. Isolate users from each other and from the system.
  5. Provide a huge repository of trusted programs, and a cryptographicaly secure link to the repository, so that users don't have to download programs from the interweb.
  6. Have users use an immutable revision control system (so they can get stuff back after they mess up).
  7. Provide sandboxes, to run un-trusted programs in.
  
  So why don't all systems do this?
  
  1. Not all vulnerabilities can be patched on legacy systems. That is some systems evolved from a very insecure system, and for backward compatibility not all vulnerabilities have been patched. It is interesting to note that MacOS X evolved from the insecure MacOS 9, but does not suffer from this problem.
  2. But the OS vendor does not always have the power to do this: most of the programs for the OS are proprietary, so the OS vendor is not allowed to put them into a repository.
  3. Yes you can do this on most OSs. However some OSs choose not to enable this, so as to make it easier to ~~use~~ [cut your own foot off].
  4. Yes you can do sandboxing on most OSs, but if you can't trust the host, then you can't trust the sandbox.
  
  Are there any computer systems that do it a better way?
  
  * Funny you should ask. Would it surprise you to learn that only one computer system does it so badly that, a virus scanner improves matters?
  * But even MacOS X mentioned above can not do it all right. If the OS Vendor does not have the freedom it needs, then the system can never be secure.
  * Some more secure systems are Debian Gnu/Linux (there are others). Ubuntu, RedHat and SUSE, are also good (but contain proprietary software).
  
  # Edit
  
  I will also combine this with the vampire analogy of @username_3 (<https://cseducators.stackexchange.com/a/3313/204>)
  
  > **Comments:**
  > **username_0**: @nocomprende “Those who do not understand Unix are condemned to reinvent it, poorly.”  
  
  ---
  
  ### Answer by username_2 on 2017-08-02. Score: 7
  
  Viruses, worms and other malware are actually just like physical infections in enough ways that I still think metaphors are the best way to educate from a basic level. Even the average home user knows that a virus scanner stops a large number of infections from ruining their PC.
  
  The challenge comes with explaining why virus scanners are so limited - most up until now only catch what they know about. So I like to use the following:
  
  * Malware is written to control your PC or to steal your login information for online banking etc.
  * Your virus scanner will protect from tens of thousands of pieces of malicious software that it knows about.
  * Behavioural analysis tools will pick up more malware, based on what it appears to do.
  
  But because code is written by humans, there will always be vulnerabilities, and because there are criminals, there will always be malware that will get past these, and this is why layers of security are essential. These include:
  
  * User awareness (don't visit dodgy sites, don't click on suspect emails etc)
  * Secure architecture (secure by design)
  * Extensive monitoring and logging
  * Understanding the threat environment
  * etc.
  
  > **Comments:**
  > **username_0**: I have never ran a virus scanner on my PC. I just follow the other thinks in your bullet list. My dad just does Secure architecture, as he is a complete novice. I phoned me the other day to tell me that his computer was infected with a virus. I asked him how he knew. He told me that the virus scanner told him (interesting as there is not one installed). I tracked the problem down in his web-browser history. He said that is it but I can get the “cleaner” to work, he had downloaded it, but because he did not know how to make it executable, it could not infect his machine. **It defaulted safe.**  
  > **username_2**: Well, we already know that people will be able to cause havoc like that. Every car system that gets connected to the internet, or has wireless connectivity at all is vulnerable, and folks like Ken Munro regularly demonstrate this.  
  
  ---
  
  ### Answer by username_3 on 2017-08-24. Score: 4
  
  I go ahead and use something a little dramatic in my sessions. I use the vampire mythology to explain viruses.
  
  For instance, vampires only come in when invited. Viruses are the same. The user has somehow allowed the virus to be installed on their machine. This 'invitation' part puts an emphasis that viruses entering a machine is almost always a fault of the user.
  
  Then, yes, once the vampire is in, they start sucking up all the life out of everyone in the house. Same thing with viruses. They take up resources, destroy things and completely ruin everything.
  
  I find that this brings out a lot of laughs (what with all the Twilight fans in the audience, and general awareness about vampires) but also allows them to learn the concept.
  
  > **Comments:**
  > **username_0**: I like this metaphor, I will use it in class. Except I do not like to blame the user. This is like blaming it on pilot error. Air crash investigators (we can learn a lot from them), have come to realise that it is rarely pilot error: pilots make mistakes in air-craft that have design faults in the user interaction design. Therefore if we design your computer systems better, then we can, almost, eliminate user error, and therefore eliminate virus infection.  
  > **username_0**: How do you know if someone is a vampire? see my view on **what is a virus scanner?** I think I will combine this answer and my answer, when teaching next.  
  > **username_3**: glad you like the metaphor. Of course, I take some liberties (like assuming the user is to blame) but I am going with anecdotal evidence. As long as the kids get the point I am putting across, I am happy :)  
  
  ---
  
  