<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nilofar</id>
	<title>Soma-notes - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nilofar"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php/Special:Contributions/Nilofar"/>
	<updated>2026-06-02T21:49:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Computer_Systems_Security:_Winter_2018_Course_Outline&amp;diff=21616</id>
		<title>Computer Systems Security: Winter 2018 Course Outline</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Computer_Systems_Security:_Winter_2018_Course_Outline&amp;diff=21616"/>
		<updated>2018-04-06T14:06:48Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: /* Course Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This outline is not yet finalized.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Course Information==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Course Number:&#039;&#039;&#039; COMP 4108&lt;br /&gt;
*&#039;&#039;&#039;Term:&#039;&#039;&#039; Winter 2018&lt;br /&gt;
*&#039;&#039;&#039;Title:&#039;&#039;&#039; Computer Systems Security&lt;br /&gt;
*&#039;&#039;&#039;Institution:&#039;&#039;&#039; Carleton University, School of Computer Science&lt;br /&gt;
*&#039;&#039;&#039;Instructor:&#039;&#039;&#039; [http://people.scs.carleton.ca/~soma Anil Somayaji] (anil.somayaji at carleton.ca): Wednesdays 1-2:30 (and by appointment) in HP 5137&lt;br /&gt;
*&#039;&#039;&#039;TAs:&#039;&#039;&#039; Nilofar Mansourzadeh (NilofarMansourzadeh at cmail.carleton.ca): Fridays 9-10, Herzberg Laboratories: room 5422&lt;br /&gt;
*&#039;&#039;&#039;Meeting Time:&#039;&#039;&#039; Mondays and Wednesdays 10:05-11:25 AM in 3235 Mackenzie&lt;br /&gt;
*&#039;&#039;&#039;Course Website&#039;&#039;&#039;: http://homeostasis.scs.carleton.ca/wiki/index.php/Computer_Systems_Security_(Winter_2018)&lt;br /&gt;
&lt;br /&gt;
==Official Course Description==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMP 4108:&#039;&#039;&#039; Introduction to information security in computer and communications systems, including network, operating systems, web and software security; Passwords, authentication applications, privacy, data integrity, anonymity, secure email, IP security, security infrastructures, firewalls, viruses, intrusion detection, network attacks.&lt;br /&gt;
Prerequisite(s): one of COMP 3203 or SYSC 4602, and one of COMP 3000, SYSC 3001, SYSC 4001.&lt;br /&gt;
&lt;br /&gt;
==Communication==&lt;br /&gt;
&lt;br /&gt;
The [[Computer Systems Security (Winter 2018)|main wiki page]] is the canonical source of information on this course.  Please refer to it for updates.  When significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.&lt;br /&gt;
&lt;br /&gt;
Online course discussions will be on [https://culearn.carleton.ca cuLearn].&lt;br /&gt;
&lt;br /&gt;
You should get an account on this wiki so you can edit content here.  Email Prof. Somayaji to get one with your preferred username and email address to which a password should be sent.&lt;br /&gt;
&lt;br /&gt;
==Required Textbooks/Software==&lt;br /&gt;
&lt;br /&gt;
There are no required textbooks or software for this course.  Instead we will be reading research papers and web resources which will be linked to from the wiki.  While many of the research papers will be available directly via web search, some will be behind paywalls.  In this case there will be alternate links to those pages that go through the Carleton Library&#039;s proxy.&lt;br /&gt;
&lt;br /&gt;
==Grading==&lt;br /&gt;
&lt;br /&gt;
Students enrolled in COMP 4108 have the following grading scheme:&lt;br /&gt;
&lt;br /&gt;
* 10% Participation&lt;br /&gt;
* 20% Experiences&lt;br /&gt;
* 20% Assignments&lt;br /&gt;
* 20% Midterm&lt;br /&gt;
* 30% Final Exam&lt;br /&gt;
&lt;br /&gt;
Each of these elements are explained below.&lt;br /&gt;
&lt;br /&gt;
===Participation===&lt;br /&gt;
&lt;br /&gt;
You are expected to attend every class for this course.  Moreover, you are expected to participate in each class.  This participation part of your grade will be based in part upon attendance; however, it will also be based upon the degree to which you were an active participant.  Students who attend every class but who do nothing while in class will get a worse participation grade than those who miss some classes but who fully participate in those they do attend.&lt;br /&gt;
&lt;br /&gt;
In-class group participation, class notes posted to the wiki, and Slack discussions are also included as part of the participation grade.  Outstanding participation will be eligible for up to 4% in extra credit added on to the final course grade.&lt;br /&gt;
&lt;br /&gt;
===Experiences===&lt;br /&gt;
&lt;br /&gt;
Students are required to complete nine experiences during the semester at a rate of approximately one per week (excluding the time around the midterm).  These experiences will be graded as a participation grade, in that you will be graded primary on effort.  When completing each experience, be sure to discuss how you went about the task and what difficulties you encountered.&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
There will be four assignments throughout the semester.  Note the questions in the assignments will serve as the basis of the midterm and final exams.&lt;br /&gt;
&lt;br /&gt;
===Midterm and Final Exam===&lt;br /&gt;
&lt;br /&gt;
Students will be required to complete an in-class midterm exam and a formally scheduled final exam.  These will be short answer/small essay tests based on the material covered in class, focusing on the material covered in the assignments.&lt;br /&gt;
&lt;br /&gt;
==Collaboration==&lt;br /&gt;
&lt;br /&gt;
Collaboration on all work is allowed except for the midterm and final exams. Collaboration, however, should be clearly acknowledged.  Specifically, co-authored works should be marked as such.  When co-authored, all authors of reading responses and projects will get the same grade, unless there is reason to believe that some co-authors did not in fact contribute significantly to the submitted work.  Co-authored contributions may get different grades depending upon the relative contribution of the different authors; however, the default here will also be to give all authors the same grade.&lt;br /&gt;
&lt;br /&gt;
It is &#039;&#039;&#039;essential&#039;&#039;&#039; that outside references be cited appropriately.  Proper citation format should be followed except where more relaxed forms are specifically allowed.&lt;br /&gt;
&lt;br /&gt;
Plagiarism or intellectual dishonesty of any kind is strictly forbidden.  In other words, it should always be clear what is your work and what is the work of others.  If anything you submit is, in part or whole, very similar in content or structure to that of work produced by someone else, you are plagiarizing.  This includes figures.&lt;br /&gt;
&lt;br /&gt;
Think of plagiarism as a kind of unauthorized collaboration.  Don&#039;t do it.  Plagiarism and other instructional offenses will be reported to the Dean of Science for disciplinary action, as per university guidelines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==University Policies==&lt;br /&gt;
&lt;br /&gt;
===Student Academic Integrity Policy===&lt;br /&gt;
&lt;br /&gt;
Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Some examples of offences are: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found in the Undergraduate Calendar.&lt;br /&gt;
&lt;br /&gt;
===Plagiarism===&lt;br /&gt;
&lt;br /&gt;
As defined by Senate, &amp;quot;plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one&#039;s own&amp;quot;. Such reported offences will be reviewed by the office of the Dean of Science.&lt;br /&gt;
&lt;br /&gt;
===Unauthorized Co-operation or Collaboration===&lt;br /&gt;
&lt;br /&gt;
Senate policy states that &amp;quot;to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please see above for the specific collaboration policy for this course.&lt;br /&gt;
&lt;br /&gt;
===Academic Accommodations for Students with Disabilities===&lt;br /&gt;
&lt;br /&gt;
The Paul Menton Centre for Students with Disabilities (PMC) provides services to students with Learning Disabilities (LD), psychiatric/mental health disabilities, Attention Deficit Hyperactivity Disorder (ADHD), Autism Spectrum Disorders (ASD), chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a disability requiring academic accommodations in this course, please contact PMC at 613-520-6608 or pmc@carleton.ca for a formal evaluation. If you are already registered with the PMC, contact your PMC coordinator to send me your Letter of Accommodation at the beginning of the term, and no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with me to ensure accommodation arrangements are made. Please consult the PMC website for the deadline to request accommodations for the formally-scheduled exam (if applicable) at https://carleton.ca/pmc/new-and-current-students/dates-and-deadlines&lt;br /&gt;
&lt;br /&gt;
===Religious Obligation===&lt;br /&gt;
&lt;br /&gt;
Write to the instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: https://carleton.ca/equity/&lt;br /&gt;
&lt;br /&gt;
===Pregnancy Obligation===&lt;br /&gt;
&lt;br /&gt;
Write to the instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: https://carleton.ca/equity/&lt;br /&gt;
&lt;br /&gt;
===Medical Certificate===&lt;br /&gt;
&lt;br /&gt;
The following is a link to the official medical certificate accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses. To access the form, please go to https://carleton.ca/registrar/forms&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Computer_Systems_Security:_Winter_2018_Course_Outline&amp;diff=21489</id>
		<title>Computer Systems Security: Winter 2018 Course Outline</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Computer_Systems_Security:_Winter_2018_Course_Outline&amp;diff=21489"/>
		<updated>2018-02-02T14:44:38Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: /* Course Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This outline is not yet finalized.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Course Information==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Course Number:&#039;&#039;&#039; COMP 4108&lt;br /&gt;
*&#039;&#039;&#039;Term:&#039;&#039;&#039; Winter 2018&lt;br /&gt;
*&#039;&#039;&#039;Title:&#039;&#039;&#039; Computer Systems Security&lt;br /&gt;
*&#039;&#039;&#039;Institution:&#039;&#039;&#039; Carleton University, School of Computer Science&lt;br /&gt;
*&#039;&#039;&#039;Instructor:&#039;&#039;&#039; [http://people.scs.carleton.ca/~soma Anil Somayaji] (anil.somayaji at carleton.ca): Wednesdays 1-2:30 (and by appointment) in HP 5137&lt;br /&gt;
*&#039;&#039;&#039;TAs:&#039;&#039;&#039; Nilofar Mansourzadeh (NilofarMansourzadeh at cmail.carleton.ca): Fridays 9-10&lt;br /&gt;
*&#039;&#039;&#039;Meeting Time:&#039;&#039;&#039; Mondays and Wednesdays 10:05-11:25 AM in 3235 Mackenzie&lt;br /&gt;
*&#039;&#039;&#039;Course Website&#039;&#039;&#039;: http://homeostasis.scs.carleton.ca/wiki/index.php/Computer_Systems_Security_(Winter_2018)&lt;br /&gt;
&lt;br /&gt;
==Official Course Description==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMP 4108:&#039;&#039;&#039; Introduction to information security in computer and communications systems, including network, operating systems, web and software security; Passwords, authentication applications, privacy, data integrity, anonymity, secure email, IP security, security infrastructures, firewalls, viruses, intrusion detection, network attacks.&lt;br /&gt;
Prerequisite(s): one of COMP 3203 or SYSC 4602, and one of COMP 3000, SYSC 3001, SYSC 4001.&lt;br /&gt;
&lt;br /&gt;
==Communication==&lt;br /&gt;
&lt;br /&gt;
The [[Computer Systems Security (Winter 2018)|main wiki page]] is the canonical source of information on this course.  Please refer to it for updates.  When significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.&lt;br /&gt;
&lt;br /&gt;
Online course discussions will be on [https://culearn.carleton.ca cuLearn].&lt;br /&gt;
&lt;br /&gt;
You should get an account on this wiki so you can edit content here.  Email Prof. Somayaji to get one with your preferred username and email address to which a password should be sent.&lt;br /&gt;
&lt;br /&gt;
==Required Textbooks/Software==&lt;br /&gt;
&lt;br /&gt;
There are no required textbooks or software for this course.  Instead we will be reading research papers and web resources which will be linked to from the wiki.  While many of the research papers will be available directly via web search, some will be behind paywalls.  In this case there will be alternate links to those pages that go through the Carleton Library&#039;s proxy.&lt;br /&gt;
&lt;br /&gt;
==Grading==&lt;br /&gt;
&lt;br /&gt;
Students enrolled in COMP 4108 have the following grading scheme:&lt;br /&gt;
&lt;br /&gt;
* 10% Participation&lt;br /&gt;
* 20% Experiences&lt;br /&gt;
* 20% Assignments&lt;br /&gt;
* 20% Midterm&lt;br /&gt;
* 30% Final Exam&lt;br /&gt;
&lt;br /&gt;
Each of these elements are explained below.&lt;br /&gt;
&lt;br /&gt;
===Participation===&lt;br /&gt;
&lt;br /&gt;
You are expected to attend every class for this course.  Moreover, you are expected to participate in each class.  This participation part of your grade will be based in part upon attendance; however, it will also be based upon the degree to which you were an active participant.  Students who attend every class but who do nothing while in class will get a worse participation grade than those who miss some classes but who fully participate in those they do attend.&lt;br /&gt;
&lt;br /&gt;
In-class group participation, class notes posted to the wiki, and Slack discussions are also included as part of the participation grade.  Outstanding participation will be eligible for up to 4% in extra credit added on to the final course grade.&lt;br /&gt;
&lt;br /&gt;
===Experiences===&lt;br /&gt;
&lt;br /&gt;
Students are required to complete nine experiences during the semester at a rate of approximately one per week (excluding the time around the midterm).  These experiences will be graded as a participation grade, in that you will be graded primary on effort.  When completing each experience, be sure to discuss how you went about the task and what difficulties you encountered.&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
There will be four assignments throughout the semester.  Note the questions in the assignments will serve as the basis of the midterm and final exams.&lt;br /&gt;
&lt;br /&gt;
===Midterm and Final Exam===&lt;br /&gt;
&lt;br /&gt;
Students will be required to complete an in-class midterm exam and a formally scheduled final exam.  These will be short answer/small essay tests based on the material covered in class, focusing on the material covered in the assignments.&lt;br /&gt;
&lt;br /&gt;
==Collaboration==&lt;br /&gt;
&lt;br /&gt;
Collaboration on all work is allowed except for the midterm and final exams. Collaboration, however, should be clearly acknowledged.  Specifically, co-authored works should be marked as such.  When co-authored, all authors of reading responses and projects will get the same grade, unless there is reason to believe that some co-authors did not in fact contribute significantly to the submitted work.  Co-authored contributions may get different grades depending upon the relative contribution of the different authors; however, the default here will also be to give all authors the same grade.&lt;br /&gt;
&lt;br /&gt;
It is &#039;&#039;&#039;essential&#039;&#039;&#039; that outside references be cited appropriately.  Proper citation format should be followed except where more relaxed forms are specifically allowed.&lt;br /&gt;
&lt;br /&gt;
Plagiarism or intellectual dishonesty of any kind is strictly forbidden.  In other words, it should always be clear what is your work and what is the work of others.  If anything you submit is, in part or whole, very similar in content or structure to that of work produced by someone else, you are plagiarizing.  This includes figures.&lt;br /&gt;
&lt;br /&gt;
Think of plagiarism as a kind of unauthorized collaboration.  Don&#039;t do it.  Plagiarism and other instructional offenses will be reported to the Dean of Science for disciplinary action, as per university guidelines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==University Policies==&lt;br /&gt;
&lt;br /&gt;
===Student Academic Integrity Policy===&lt;br /&gt;
&lt;br /&gt;
Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Some examples of offences are: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found in the Undergraduate Calendar.&lt;br /&gt;
&lt;br /&gt;
===Plagiarism===&lt;br /&gt;
&lt;br /&gt;
As defined by Senate, &amp;quot;plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one&#039;s own&amp;quot;. Such reported offences will be reviewed by the office of the Dean of Science.&lt;br /&gt;
&lt;br /&gt;
===Unauthorized Co-operation or Collaboration===&lt;br /&gt;
&lt;br /&gt;
Senate policy states that &amp;quot;to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please see above for the specific collaboration policy for this course.&lt;br /&gt;
&lt;br /&gt;
===Academic Accommodations for Students with Disabilities===&lt;br /&gt;
&lt;br /&gt;
The Paul Menton Centre for Students with Disabilities (PMC) provides services to students with Learning Disabilities (LD), psychiatric/mental health disabilities, Attention Deficit Hyperactivity Disorder (ADHD), Autism Spectrum Disorders (ASD), chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a disability requiring academic accommodations in this course, please contact PMC at 613-520-6608 or pmc@carleton.ca for a formal evaluation. If you are already registered with the PMC, contact your PMC coordinator to send me your Letter of Accommodation at the beginning of the term, and no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with me to ensure accommodation arrangements are made. Please consult the PMC website for the deadline to request accommodations for the formally-scheduled exam (if applicable) at https://carleton.ca/pmc/new-and-current-students/dates-and-deadlines&lt;br /&gt;
&lt;br /&gt;
===Religious Obligation===&lt;br /&gt;
&lt;br /&gt;
Write to the instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: https://carleton.ca/equity/&lt;br /&gt;
&lt;br /&gt;
===Pregnancy Obligation===&lt;br /&gt;
&lt;br /&gt;
Write to the instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: https://carleton.ca/equity/&lt;br /&gt;
&lt;br /&gt;
===Medical Certificate===&lt;br /&gt;
&lt;br /&gt;
The following is a link to the official medical certificate accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses. To access the form, please go to https://carleton.ca/registrar/forms&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Computer_Systems_Security_(Winter_2018)&amp;diff=21424</id>
		<title>Computer Systems Security (Winter 2018)</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Computer_Systems_Security_(Winter_2018)&amp;diff=21424"/>
		<updated>2018-01-19T04:19:23Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: /* January 12, 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page is not yet finalized.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Course Outline==&lt;br /&gt;
&lt;br /&gt;
[[Computer Systems Security: Winter 2018 Course Outline|Course Outline]]&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
&lt;br /&gt;
===January 8, 2018===&lt;br /&gt;
&lt;br /&gt;
[[SystemsSec 2018W Lecture 1|Introduction]]&lt;br /&gt;
&lt;br /&gt;
===January 10, 2018===&lt;br /&gt;
&lt;br /&gt;
[[SystemsSec 2018W Lecture 2|Threat Modelling]]&lt;br /&gt;
&lt;br /&gt;
===January 15, 2018===&lt;br /&gt;
&lt;br /&gt;
[[SystemsSec 2018W Lecture 3|Common tools]]&lt;br /&gt;
&lt;br /&gt;
===January 17, 2018===&lt;br /&gt;
&lt;br /&gt;
[[SystemsSec 2018W Lecture 4|passwd]]&lt;br /&gt;
&lt;br /&gt;
===January 31, 2018===&lt;br /&gt;
&lt;br /&gt;
Assignment 1 due&lt;br /&gt;
&lt;br /&gt;
===February 14, 2018===&lt;br /&gt;
&lt;br /&gt;
Assignment 2 due&lt;br /&gt;
&lt;br /&gt;
===February 19 &amp;amp; 21, 2018===&lt;br /&gt;
&lt;br /&gt;
Winter break, no classes&lt;br /&gt;
&lt;br /&gt;
===February 26, 2018===&lt;br /&gt;
&lt;br /&gt;
Mid-term review&lt;br /&gt;
&lt;br /&gt;
===February 28, 2018===&lt;br /&gt;
&lt;br /&gt;
Mid-term Exam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===March 19, 2018===&lt;br /&gt;
&lt;br /&gt;
Assignment 3 due&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===April 4, 2018===&lt;br /&gt;
&lt;br /&gt;
Assignment 4 due&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===April 9, 2018===&lt;br /&gt;
&lt;br /&gt;
Last day of class&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Computer_Systems_Security:_Winter_2018_Course_Outline&amp;diff=21414</id>
		<title>Computer Systems Security: Winter 2018 Course Outline</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Computer_Systems_Security:_Winter_2018_Course_Outline&amp;diff=21414"/>
		<updated>2018-01-16T02:27:08Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: /* Grading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This outline is not yet finalized.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Course Information==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Course Number:&#039;&#039;&#039; COMP 4108&lt;br /&gt;
*&#039;&#039;&#039;Term:&#039;&#039;&#039; Winter 2018&lt;br /&gt;
*&#039;&#039;&#039;Title:&#039;&#039;&#039; Computer Systems Security&lt;br /&gt;
*&#039;&#039;&#039;Institution:&#039;&#039;&#039; Carleton University, School of Computer Science&lt;br /&gt;
*&#039;&#039;&#039;Instructor:&#039;&#039;&#039; [http://people.scs.carleton.ca/~soma Anil Somayaji] (anil.somayaji at carleton.ca): Wednesdays 1-2:30 (and by appointment) in HP 5137&lt;br /&gt;
*&#039;&#039;&#039;TAs:&#039;&#039;&#039; Nilofar Mansourzadeh (NilofarMansourzadeh at cmail.carleton.ca): Fridays 10-11&lt;br /&gt;
*&#039;&#039;&#039;Meeting Time:&#039;&#039;&#039; Mondays and Wednesdays 10:05-11:25 AM in 3235 Mackenzie&lt;br /&gt;
*&#039;&#039;&#039;Course Website&#039;&#039;&#039;: http://homeostasis.scs.carleton.ca/wiki/index.php/Computer_Systems_Security_(Winter_2018)&lt;br /&gt;
&lt;br /&gt;
==Official Course Description==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;COMP 4108:&#039;&#039;&#039; Introduction to information security in computer and communications systems, including network, operating systems, web and software security; Passwords, authentication applications, privacy, data integrity, anonymity, secure email, IP security, security infrastructures, firewalls, viruses, intrusion detection, network attacks.&lt;br /&gt;
Prerequisite(s): one of COMP 3203 or SYSC 4602, and one of COMP 3000, SYSC 3001, SYSC 4001.&lt;br /&gt;
&lt;br /&gt;
==Communication==&lt;br /&gt;
&lt;br /&gt;
The [[Computer Systems Security (Winter 2018)|main wiki page]] is the canonical source of information on this course.  Please refer to it for updates.  When significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.&lt;br /&gt;
&lt;br /&gt;
Online course discussions will be on [https://culearn.carleton.ca cuLearn].&lt;br /&gt;
&lt;br /&gt;
You should get an account on this wiki so you can edit content here.  Email Prof. Somayaji to get one with your preferred username and email address to which a password should be sent.&lt;br /&gt;
&lt;br /&gt;
==Required Textbooks/Software==&lt;br /&gt;
&lt;br /&gt;
There are no required textbooks or software for this course.  Instead we will be reading research papers and web resources which will be linked to from the wiki.  While many of the research papers will be available directly via web search, some will be behind paywalls.  In this case there will be alternate links to those pages that go through the Carleton Library&#039;s proxy.&lt;br /&gt;
&lt;br /&gt;
==Grading==&lt;br /&gt;
&lt;br /&gt;
Students enrolled in COMP 4108 have the following grading scheme:&lt;br /&gt;
&lt;br /&gt;
* 10% Participation&lt;br /&gt;
* 20% Experiences&lt;br /&gt;
* 20% Assignments&lt;br /&gt;
* 20% Midterm&lt;br /&gt;
* 30% Final Exam&lt;br /&gt;
&lt;br /&gt;
Each of these elements are explained below.&lt;br /&gt;
&lt;br /&gt;
===Participation===&lt;br /&gt;
&lt;br /&gt;
You are expected to attend every class for this course.  Moreover, you are expected to participate in each class.  This participation part of your grade will be based in part upon attendance; however, it will also be based upon the degree to which you were an active participant.  Students who attend every class but who do nothing while in class will get a worse participation grade than those who miss some classes but who fully participate in those they do attend.&lt;br /&gt;
&lt;br /&gt;
In-class group participation, class notes posted to the wiki, and Slack discussions are also included as part of the participation grade.  Outstanding participation will be eligible for up to 4% in extra credit added on to the final course grade.&lt;br /&gt;
&lt;br /&gt;
===Experiences===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Midterm and Final Exam===&lt;br /&gt;
&lt;br /&gt;
Students will be required to complete an in-class midterm exam and a formally scheduled final exam.  These will be short answer/small essay tests based on the material covered in class, focusing on the material covered in the assignments.&lt;br /&gt;
&lt;br /&gt;
==Collaboration==&lt;br /&gt;
&lt;br /&gt;
Collaboration on all work is allowed except for the midterm and final exams. Collaboration, however, should be clearly acknowledged.  Specifically, co-authored works should be marked as such.  When co-authored, all authors of reading responses and projects will get the same grade, unless there is reason to believe that some co-authors did not in fact contribute significantly to the submitted work.  Co-authored contributions may get different grades depending upon the relative contribution of the different authors; however, the default here will also be to give all authors the same grade.&lt;br /&gt;
&lt;br /&gt;
It is &#039;&#039;&#039;essential&#039;&#039;&#039; that outside references be cited appropriately.  Proper citation format should be followed except where more relaxed forms are specifically allowed.&lt;br /&gt;
&lt;br /&gt;
Plagiarism or intellectual dishonesty of any kind is strictly forbidden.  In other words, it should always be clear what is your work and what is the work of others.  If anything you submit is, in part or whole, very similar in content or structure to that of work produced by someone else, you are plagiarizing.  This includes figures.&lt;br /&gt;
&lt;br /&gt;
Think of plagiarism as a kind of unauthorized collaboration.  Don&#039;t do it.  Plagiarism and other instructional offenses will be reported to the Dean of Science for disciplinary action, as per university guidelines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==University Policies==&lt;br /&gt;
&lt;br /&gt;
===Student Academic Integrity Policy===&lt;br /&gt;
&lt;br /&gt;
Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Some examples of offences are: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found in the Undergraduate Calendar.&lt;br /&gt;
&lt;br /&gt;
===Plagiarism===&lt;br /&gt;
&lt;br /&gt;
As defined by Senate, &amp;quot;plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one&#039;s own&amp;quot;. Such reported offences will be reviewed by the office of the Dean of Science.&lt;br /&gt;
&lt;br /&gt;
===Unauthorized Co-operation or Collaboration===&lt;br /&gt;
&lt;br /&gt;
Senate policy states that &amp;quot;to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please see above for the specific collaboration policy for this course.&lt;br /&gt;
&lt;br /&gt;
===Academic Accommodations for Students with Disabilities===&lt;br /&gt;
&lt;br /&gt;
The Paul Menton Centre for Students with Disabilities (PMC) provides services to students with Learning Disabilities (LD), psychiatric/mental health disabilities, Attention Deficit Hyperactivity Disorder (ADHD), Autism Spectrum Disorders (ASD), chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a disability requiring academic accommodations in this course, please contact PMC at 613-520-6608 or pmc@carleton.ca for a formal evaluation. If you are already registered with the PMC, contact your PMC coordinator to send me your Letter of Accommodation at the beginning of the term, and no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with me to ensure accommodation arrangements are made. Please consult the PMC website for the deadline to request accommodations for the formally-scheduled exam (if applicable) at https://carleton.ca/pmc/new-and-current-students/dates-and-deadlines&lt;br /&gt;
&lt;br /&gt;
===Religious Obligation===&lt;br /&gt;
&lt;br /&gt;
Write to the instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: https://carleton.ca/equity/&lt;br /&gt;
&lt;br /&gt;
===Pregnancy Obligation===&lt;br /&gt;
&lt;br /&gt;
Write to the instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: https://carleton.ca/equity/&lt;br /&gt;
&lt;br /&gt;
===Medical Certificate===&lt;br /&gt;
&lt;br /&gt;
The following is a link to the official medical certificate accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses. To access the form, please go to https://carleton.ca/registrar/forms&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21413</id>
		<title>SystemsSec 2018W Lecture 1</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21413"/>
		<updated>2018-01-16T02:22:41Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: /* DRM – Digital Rights Management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes =&lt;br /&gt;
Class 1, January 8&lt;br /&gt;
&lt;br /&gt;
== About the course: ==&lt;br /&gt;
Lectures will not be posted online.&lt;br /&gt;
&lt;br /&gt;
Notes will be posted online.&lt;br /&gt;
&lt;br /&gt;
In order to succeed, you need to come to class. Things will be discussed, and you need to be present.&lt;br /&gt;
&lt;br /&gt;
* Grading Criteria&lt;br /&gt;
** Midterm			20%&lt;br /&gt;
** Final			30%&lt;br /&gt;
** Participation		10%&lt;br /&gt;
** Experiences			20%&lt;br /&gt;
** Assignments (4)		20%&lt;br /&gt;
&lt;br /&gt;
The midterm and final will basically be short answer, possibly with some essay questions.&lt;br /&gt;
&lt;br /&gt;
The assignments will be in the style of the midterm and final, and will let you know how prepared you are for the exams. 2 assignments before the midterm and 2 after the midterm.&lt;br /&gt;
&lt;br /&gt;
Participation – being present, taking notes for the class, raising your hand, discussing things (not purely in class, also there will be a slack instance). &lt;br /&gt;
&lt;br /&gt;
If for some reason participation will be a problem for you, email the professor now to work it out)&lt;br /&gt;
&lt;br /&gt;
Experiences – in 2 portions reading and tools&lt;br /&gt;
&lt;br /&gt;
Reading – submit a reading response. Make a diligent effort to understand the reading before coming to class. Not a summary. What was your interaction with the reading?&lt;br /&gt;
&lt;br /&gt;
Tools – Computer Systems Security is fundamentally an applied field. It is tied to tools. Applied learning is important. Some exercises will be provided, but other things you will come across yourself (ie try to set up a firewall, or play around with iptables, you don’t have to succeed). Write a tool response. Plan on sitting down a couple of times and doing some hacking. It is important to get your hands dirty. To start, pick something that you can handle, and maybe ramp it up as the term goes along.&lt;br /&gt;
&lt;br /&gt;
Assignments will be submitted through CULearn.&lt;br /&gt;
&lt;br /&gt;
== The material covered today: ==&lt;br /&gt;
In the news recently: Meltdown and Spectre security flaws&lt;br /&gt;
&lt;br /&gt;
Meltdown in the Intel version, Spectre is the more general version.&lt;br /&gt;
&lt;br /&gt;
Basically every modern CPU that has high performance is affected&lt;br /&gt;
&lt;br /&gt;
Problem with processor design.&lt;br /&gt;
&lt;br /&gt;
Design strategy used to increase performance in modern processors allows for information leakage.&lt;br /&gt;
&lt;br /&gt;
Software programs and processes don&#039;t trust each other (and they shouldn&#039;t), but this flaw means that the barriers between them aren&#039;t fixed, you can read across them.&lt;br /&gt;
&lt;br /&gt;
It is a timing attack. The basis of timing attacks is that the time to compute depends on the data that you are computing. By knowing how long something takes to compute, you can figure out what is being computed. &lt;br /&gt;
&lt;br /&gt;
There was previously a well known timing attack on public key encryption, which was solved by responding to all requests in the same constant time.&lt;br /&gt;
&lt;br /&gt;
Meltdown and Spectre exploit branch predictors (ie, the processor speculates at which branch of the code will be run next and “runs ahead”. If it predicts correctly, there is a performance advantage). However, flaws were found that enabled kernel memory to be read, or a virtual machine to read data from another virtual machine running on the same processor. This particularly affects cloud computing.&lt;br /&gt;
&lt;br /&gt;
These types of flaws come because no one was thinking about the design from a security point of view. &lt;br /&gt;
&lt;br /&gt;
System Security is difficult. Attackers find flaws, defenders try to fix them. This happens in real systems, with enormous complexity. Theoretically we can design perfectly secure systems, but attackers will keep finding flaws. This game, as it is today, is weighted towards attackers. Rebalancing the game would require radical ideas.&lt;br /&gt;
&lt;br /&gt;
=== A (noncomprehensive) list of some security tools and methods: ===&lt;br /&gt;
*The purpose of this list is to show what a vast area computer security is, not making a list of everything that will be covered.&lt;br /&gt;
**Firewalls&lt;br /&gt;
**Antivirus/Antimalware&lt;br /&gt;
**Network monitoring/NIDS&lt;br /&gt;
**Reverse engineering.&lt;br /&gt;
**Cryptography (encryption/digital signing) (for system security, encryption is a tool of last resort)&lt;br /&gt;
**Air gaps&lt;br /&gt;
**Social Engineering&lt;br /&gt;
**(D)DoS&lt;br /&gt;
**White list&lt;br /&gt;
**Black list&lt;br /&gt;
**One way info-gate&lt;br /&gt;
**Virtual machines&lt;br /&gt;
**Encapsulation&lt;br /&gt;
**Virtual memory&lt;br /&gt;
**Formal verification&lt;br /&gt;
**Randomization (ASLR)&lt;br /&gt;
**Passwords&lt;br /&gt;
**Captchas&lt;br /&gt;
**Biometrics&lt;br /&gt;
**Location monitoring&lt;br /&gt;
**Mandatory access control (ie SELinux, very inconvenient)&lt;br /&gt;
**Discretionary access control (traditional Unix, Windows…)&lt;br /&gt;
**Automatic memory management (garbage collection)&lt;br /&gt;
**Static analysis&lt;br /&gt;
**Dynamic analysis&lt;br /&gt;
&lt;br /&gt;
Security can affect just about any area of computer science. If there is a branch that doesn’t appear to be affected by security, someone just hasn’t thought about it for long enough.&lt;br /&gt;
&lt;br /&gt;
This course isn’t about a specific tool or method, although many will be touched on. Primarily, we want to look at how to think about problems so that you see security issues. What can I do as an attacker? What can I do as a defender.&lt;br /&gt;
&lt;br /&gt;
There are always benefits and costs to any security decision, By strengthening security in one way, you can weaken it in another.&lt;br /&gt;
&lt;br /&gt;
For example, if you can’t risk lockouts and downtime, having passwords could cause problems.&lt;br /&gt;
&lt;br /&gt;
If you make usability too difficult, users can find ways to bypass your security measures. Security is always a secondary concern. The primary concerns of users are the tasks that they are using the computer systems to complete.&lt;br /&gt;
&lt;br /&gt;
The most secure system is one that is off, in a locked room in a secure facility. However, that system is also completely useless.&lt;br /&gt;
&lt;br /&gt;
Even if you do not become a computer security professional, you will design systems and make decisions that have security implications.&lt;br /&gt;
&lt;br /&gt;
=== Reverse Engineering ===&lt;br /&gt;
Picked from the list at random to discuss&lt;br /&gt;
&lt;br /&gt;
*What is it?&lt;br /&gt;
**Normal engineering process would be Design -&amp;gt; code -&amp;gt; system.&lt;br /&gt;
**Reverse engineering is reversing that process. Looking at the system to figure out the code and the design. &lt;br /&gt;
&lt;br /&gt;
*Who?&lt;br /&gt;
**Attackers&lt;br /&gt;
***analyzing defenses&lt;br /&gt;
****If you can figure out how it works, then you can find weaknesses and exploit them.&lt;br /&gt;
You become an expert safecracker by learning about safes. In order to find flaws in systems, you must have a deep knowledge of those systems. What an attacker wishes to attack he must master, and by finding the flaw, the attacker &#039;&#039;&#039;proves his knowledge&#039;&#039;&#039;. It is like solving a puzzle. That is what drives the people developing these attacks. The negative impacts are often secondary.&lt;br /&gt;
&lt;br /&gt;
**Defenders&lt;br /&gt;
***Analyze defenses like attackers&lt;br /&gt;
***Analyze attacks &lt;br /&gt;
****(ie, figure out what a botnet does and how it works)&lt;br /&gt;
****Botnet – illegal cloud computing.&lt;br /&gt;
&lt;br /&gt;
=== DRM – Digital Rights Management ===&lt;br /&gt;
*People have been using reverse engineering crack DRM since DRM was released&lt;br /&gt;
*Interesting thing about DRM – it works to protect the content from the legitimate user that you want to have the content. &lt;br /&gt;
*Most secure current DRM- iOS. It is currently very difficult to crack (or “jailbreak”). In fact, it may even be “effectively unbreakable” because the cost and time involved in breaking it isn’t worth it.&lt;br /&gt;
*Jailbreaking iOS used to be very popular, as it allowed users to use their iPhones in ways that Apple didn’t allow. However, it would also negatively impact the security of the device. &lt;br /&gt;
*The jailbreak community showed Apple where the security flaws in their devices were found. Apple could then fix the flaws. The community would find new flaws, and Apple would fix them.&lt;br /&gt;
*This evolution or “trial by fire” is the only way that security gets strong. No theoretical security can be trusted until it has had people try to crack it.&lt;br /&gt;
&lt;br /&gt;
Today, attacks get put into usable software and distributed quickly. They spread fast.&lt;br /&gt;
&lt;br /&gt;
Nation-states pay lots of people to reverse engineer systems and find the security holes. They do it in secret, but they can’t keep secrets, so the attacks they create get leaked.&lt;br /&gt;
&lt;br /&gt;
The code of much modern malware that is causing problems has been written by &lt;br /&gt;
nation-states.&lt;br /&gt;
&lt;br /&gt;
We cannot make any system perfectly secure, but we don’t build systems under that assumption. We build systems that store large amounts of important data (how much data does Facebook have? Google? Governments?). We assume that we can do this securely, but we can’t.&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21412</id>
		<title>SystemsSec 2018W Lecture 1</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21412"/>
		<updated>2018-01-16T02:20:17Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: /* Reverse Engineering */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes =&lt;br /&gt;
Class 1, January 8&lt;br /&gt;
&lt;br /&gt;
== About the course: ==&lt;br /&gt;
Lectures will not be posted online.&lt;br /&gt;
&lt;br /&gt;
Notes will be posted online.&lt;br /&gt;
&lt;br /&gt;
In order to succeed, you need to come to class. Things will be discussed, and you need to be present.&lt;br /&gt;
&lt;br /&gt;
* Grading Criteria&lt;br /&gt;
** Midterm			20%&lt;br /&gt;
** Final			30%&lt;br /&gt;
** Participation		10%&lt;br /&gt;
** Experiences			20%&lt;br /&gt;
** Assignments (4)		20%&lt;br /&gt;
&lt;br /&gt;
The midterm and final will basically be short answer, possibly with some essay questions.&lt;br /&gt;
&lt;br /&gt;
The assignments will be in the style of the midterm and final, and will let you know how prepared you are for the exams. 2 assignments before the midterm and 2 after the midterm.&lt;br /&gt;
&lt;br /&gt;
Participation – being present, taking notes for the class, raising your hand, discussing things (not purely in class, also there will be a slack instance). &lt;br /&gt;
&lt;br /&gt;
If for some reason participation will be a problem for you, email the professor now to work it out)&lt;br /&gt;
&lt;br /&gt;
Experiences – in 2 portions reading and tools&lt;br /&gt;
&lt;br /&gt;
Reading – submit a reading response. Make a diligent effort to understand the reading before coming to class. Not a summary. What was your interaction with the reading?&lt;br /&gt;
&lt;br /&gt;
Tools – Computer Systems Security is fundamentally an applied field. It is tied to tools. Applied learning is important. Some exercises will be provided, but other things you will come across yourself (ie try to set up a firewall, or play around with iptables, you don’t have to succeed). Write a tool response. Plan on sitting down a couple of times and doing some hacking. It is important to get your hands dirty. To start, pick something that you can handle, and maybe ramp it up as the term goes along.&lt;br /&gt;
&lt;br /&gt;
Assignments will be submitted through CULearn.&lt;br /&gt;
&lt;br /&gt;
== The material covered today: ==&lt;br /&gt;
In the news recently: Meltdown and Spectre security flaws&lt;br /&gt;
&lt;br /&gt;
Meltdown in the Intel version, Spectre is the more general version.&lt;br /&gt;
&lt;br /&gt;
Basically every modern CPU that has high performance is affected&lt;br /&gt;
&lt;br /&gt;
Problem with processor design.&lt;br /&gt;
&lt;br /&gt;
Design strategy used to increase performance in modern processors allows for information leakage.&lt;br /&gt;
&lt;br /&gt;
Software programs and processes don&#039;t trust each other (and they shouldn&#039;t), but this flaw means that the barriers between them aren&#039;t fixed, you can read across them.&lt;br /&gt;
&lt;br /&gt;
It is a timing attack. The basis of timing attacks is that the time to compute depends on the data that you are computing. By knowing how long something takes to compute, you can figure out what is being computed. &lt;br /&gt;
&lt;br /&gt;
There was previously a well known timing attack on public key encryption, which was solved by responding to all requests in the same constant time.&lt;br /&gt;
&lt;br /&gt;
Meltdown and Spectre exploit branch predictors (ie, the processor speculates at which branch of the code will be run next and “runs ahead”. If it predicts correctly, there is a performance advantage). However, flaws were found that enabled kernel memory to be read, or a virtual machine to read data from another virtual machine running on the same processor. This particularly affects cloud computing.&lt;br /&gt;
&lt;br /&gt;
These types of flaws come because no one was thinking about the design from a security point of view. &lt;br /&gt;
&lt;br /&gt;
System Security is difficult. Attackers find flaws, defenders try to fix them. This happens in real systems, with enormous complexity. Theoretically we can design perfectly secure systems, but attackers will keep finding flaws. This game, as it is today, is weighted towards attackers. Rebalancing the game would require radical ideas.&lt;br /&gt;
&lt;br /&gt;
=== A (noncomprehensive) list of some security tools and methods: ===&lt;br /&gt;
*The purpose of this list is to show what a vast area computer security is, not making a list of everything that will be covered.&lt;br /&gt;
**Firewalls&lt;br /&gt;
**Antivirus/Antimalware&lt;br /&gt;
**Network monitoring/NIDS&lt;br /&gt;
**Reverse engineering.&lt;br /&gt;
**Cryptography (encryption/digital signing) (for system security, encryption is a tool of last resort)&lt;br /&gt;
**Air gaps&lt;br /&gt;
**Social Engineering&lt;br /&gt;
**(D)DoS&lt;br /&gt;
**White list&lt;br /&gt;
**Black list&lt;br /&gt;
**One way info-gate&lt;br /&gt;
**Virtual machines&lt;br /&gt;
**Encapsulation&lt;br /&gt;
**Virtual memory&lt;br /&gt;
**Formal verification&lt;br /&gt;
**Randomization (ASLR)&lt;br /&gt;
**Passwords&lt;br /&gt;
**Captchas&lt;br /&gt;
**Biometrics&lt;br /&gt;
**Location monitoring&lt;br /&gt;
**Mandatory access control (ie SELinux, very inconvenient)&lt;br /&gt;
**Discretionary access control (traditional Unix, Windows…)&lt;br /&gt;
**Automatic memory management (garbage collection)&lt;br /&gt;
**Static analysis&lt;br /&gt;
**Dynamic analysis&lt;br /&gt;
&lt;br /&gt;
Security can affect just about any area of computer science. If there is a branch that doesn’t appear to be affected by security, someone just hasn’t thought about it for long enough.&lt;br /&gt;
&lt;br /&gt;
This course isn’t about a specific tool or method, although many will be touched on. Primarily, we want to look at how to think about problems so that you see security issues. What can I do as an attacker? What can I do as a defender.&lt;br /&gt;
&lt;br /&gt;
There are always benefits and costs to any security decision, By strengthening security in one way, you can weaken it in another.&lt;br /&gt;
&lt;br /&gt;
For example, if you can’t risk lockouts and downtime, having passwords could cause problems.&lt;br /&gt;
&lt;br /&gt;
If you make usability too difficult, users can find ways to bypass your security measures. Security is always a secondary concern. The primary concerns of users are the tasks that they are using the computer systems to complete.&lt;br /&gt;
&lt;br /&gt;
The most secure system is one that is off, in a locked room in a secure facility. However, that system is also completely useless.&lt;br /&gt;
&lt;br /&gt;
Even if you do not become a computer security professional, you will design systems and make decisions that have security implications.&lt;br /&gt;
&lt;br /&gt;
=== Reverse Engineering ===&lt;br /&gt;
Picked from the list at random to discuss&lt;br /&gt;
&lt;br /&gt;
*What is it?&lt;br /&gt;
**Normal engineering process would be Design -&amp;gt; code -&amp;gt; system.&lt;br /&gt;
**Reverse engineering is reversing that process. Looking at the system to figure out the code and the design. &lt;br /&gt;
&lt;br /&gt;
*Who?&lt;br /&gt;
**Attackers&lt;br /&gt;
***analyzing defenses&lt;br /&gt;
****If you can figure out how it works, then you can find weaknesses and exploit them.&lt;br /&gt;
You become an expert safecracker by learning about safes. In order to find flaws in systems, you must have a deep knowledge of those systems. What an attacker wishes to attack he must master, and by finding the flaw, the attacker &#039;&#039;&#039;proves his knowledge&#039;&#039;&#039;. It is like solving a puzzle. That is what drives the people developing these attacks. The negative impacts are often secondary.&lt;br /&gt;
&lt;br /&gt;
**Defenders&lt;br /&gt;
***Analyze defenses like attackers&lt;br /&gt;
***Analyze attacks &lt;br /&gt;
****(ie, figure out what a botnet does and how it works)&lt;br /&gt;
****Botnet – illegal cloud computing.&lt;br /&gt;
&lt;br /&gt;
=== DRM – Digital Rights Management ===&lt;br /&gt;
*People have been using reverse engineering crack DRM since DRM was released&lt;br /&gt;
*Interesting thing about DRM – it works to protect the content from the legitimate user that you want to have the content. &lt;br /&gt;
*Most secure current DRM- iOS. It is currently very difficult to crack (or “jailbreak”). In fact, it may even be “effectively unbreakable” because the cost and time involved in breaking it isn’t worth it.&lt;br /&gt;
*Jailbreaking iOS used to be very popular, as it allowed users to use their iPhones in ways that Apple didn’t allow. However, it would also negatively impact the security of the device. &lt;br /&gt;
*The jailbreak community showed Apple where the security flaws in their devices were found. Apple could then fix the flaws. The community would find new flaws, and Apple would fix them.&lt;br /&gt;
*This evolution or “trial by fire” is the only way that security gets strong. No theoretical security can be trusted until it has had people try to crack it.&lt;br /&gt;
&lt;br /&gt;
Today, attacks get put into usable software and distributed quickly. They spread fast.&lt;br /&gt;
&lt;br /&gt;
Nation-states pay lost of people to reverse engineer systems and find the security holes. They do it in secret, but they can’t keep secrets, so the attacks they create get leaked.&lt;br /&gt;
&lt;br /&gt;
The code of much modern malware that is causing problems has been written by &lt;br /&gt;
nation-states.&lt;br /&gt;
&lt;br /&gt;
We cannot make any system perfectly secure, but we don’t build systems under that assumption. We build systems that store large amounts of important data (how much data does Facebook have? Google? Governments?). We assume that we can do this securely, but we can’t.&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21411</id>
		<title>SystemsSec 2018W Lecture 1</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21411"/>
		<updated>2018-01-16T02:19:24Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: /* Reverse Engineering */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes =&lt;br /&gt;
Class 1, January 8&lt;br /&gt;
&lt;br /&gt;
== About the course: ==&lt;br /&gt;
Lectures will not be posted online.&lt;br /&gt;
&lt;br /&gt;
Notes will be posted online.&lt;br /&gt;
&lt;br /&gt;
In order to succeed, you need to come to class. Things will be discussed, and you need to be present.&lt;br /&gt;
&lt;br /&gt;
* Grading Criteria&lt;br /&gt;
** Midterm			20%&lt;br /&gt;
** Final			30%&lt;br /&gt;
** Participation		10%&lt;br /&gt;
** Experiences			20%&lt;br /&gt;
** Assignments (4)		20%&lt;br /&gt;
&lt;br /&gt;
The midterm and final will basically be short answer, possibly with some essay questions.&lt;br /&gt;
&lt;br /&gt;
The assignments will be in the style of the midterm and final, and will let you know how prepared you are for the exams. 2 assignments before the midterm and 2 after the midterm.&lt;br /&gt;
&lt;br /&gt;
Participation – being present, taking notes for the class, raising your hand, discussing things (not purely in class, also there will be a slack instance). &lt;br /&gt;
&lt;br /&gt;
If for some reason participation will be a problem for you, email the professor now to work it out)&lt;br /&gt;
&lt;br /&gt;
Experiences – in 2 portions reading and tools&lt;br /&gt;
&lt;br /&gt;
Reading – submit a reading response. Make a diligent effort to understand the reading before coming to class. Not a summary. What was your interaction with the reading?&lt;br /&gt;
&lt;br /&gt;
Tools – Computer Systems Security is fundamentally an applied field. It is tied to tools. Applied learning is important. Some exercises will be provided, but other things you will come across yourself (ie try to set up a firewall, or play around with iptables, you don’t have to succeed). Write a tool response. Plan on sitting down a couple of times and doing some hacking. It is important to get your hands dirty. To start, pick something that you can handle, and maybe ramp it up as the term goes along.&lt;br /&gt;
&lt;br /&gt;
Assignments will be submitted through CULearn.&lt;br /&gt;
&lt;br /&gt;
== The material covered today: ==&lt;br /&gt;
In the news recently: Meltdown and Spectre security flaws&lt;br /&gt;
&lt;br /&gt;
Meltdown in the Intel version, Spectre is the more general version.&lt;br /&gt;
&lt;br /&gt;
Basically every modern CPU that has high performance is affected&lt;br /&gt;
&lt;br /&gt;
Problem with processor design.&lt;br /&gt;
&lt;br /&gt;
Design strategy used to increase performance in modern processors allows for information leakage.&lt;br /&gt;
&lt;br /&gt;
Software programs and processes don&#039;t trust each other (and they shouldn&#039;t), but this flaw means that the barriers between them aren&#039;t fixed, you can read across them.&lt;br /&gt;
&lt;br /&gt;
It is a timing attack. The basis of timing attacks is that the time to compute depends on the data that you are computing. By knowing how long something takes to compute, you can figure out what is being computed. &lt;br /&gt;
&lt;br /&gt;
There was previously a well known timing attack on public key encryption, which was solved by responding to all requests in the same constant time.&lt;br /&gt;
&lt;br /&gt;
Meltdown and Spectre exploit branch predictors (ie, the processor speculates at which branch of the code will be run next and “runs ahead”. If it predicts correctly, there is a performance advantage). However, flaws were found that enabled kernel memory to be read, or a virtual machine to read data from another virtual machine running on the same processor. This particularly affects cloud computing.&lt;br /&gt;
&lt;br /&gt;
These types of flaws come because no one was thinking about the design from a security point of view. &lt;br /&gt;
&lt;br /&gt;
System Security is difficult. Attackers find flaws, defenders try to fix them. This happens in real systems, with enormous complexity. Theoretically we can design perfectly secure systems, but attackers will keep finding flaws. This game, as it is today, is weighted towards attackers. Rebalancing the game would require radical ideas.&lt;br /&gt;
&lt;br /&gt;
=== A (noncomprehensive) list of some security tools and methods: ===&lt;br /&gt;
*The purpose of this list is to show what a vast area computer security is, not making a list of everything that will be covered.&lt;br /&gt;
**Firewalls&lt;br /&gt;
**Antivirus/Antimalware&lt;br /&gt;
**Network monitoring/NIDS&lt;br /&gt;
**Reverse engineering.&lt;br /&gt;
**Cryptography (encryption/digital signing) (for system security, encryption is a tool of last resort)&lt;br /&gt;
**Air gaps&lt;br /&gt;
**Social Engineering&lt;br /&gt;
**(D)DoS&lt;br /&gt;
**White list&lt;br /&gt;
**Black list&lt;br /&gt;
**One way info-gate&lt;br /&gt;
**Virtual machines&lt;br /&gt;
**Encapsulation&lt;br /&gt;
**Virtual memory&lt;br /&gt;
**Formal verification&lt;br /&gt;
**Randomization (ASLR)&lt;br /&gt;
**Passwords&lt;br /&gt;
**Captchas&lt;br /&gt;
**Biometrics&lt;br /&gt;
**Location monitoring&lt;br /&gt;
**Mandatory access control (ie SELinux, very inconvenient)&lt;br /&gt;
**Discretionary access control (traditional Unix, Windows…)&lt;br /&gt;
**Automatic memory management (garbage collection)&lt;br /&gt;
**Static analysis&lt;br /&gt;
**Dynamic analysis&lt;br /&gt;
&lt;br /&gt;
Security can affect just about any area of computer science. If there is a branch that doesn’t appear to be affected by security, someone just hasn’t thought about it for long enough.&lt;br /&gt;
&lt;br /&gt;
This course isn’t about a specific tool or method, although many will be touched on. Primarily, we want to look at how to think about problems so that you see security issues. What can I do as an attacker? What can I do as a defender.&lt;br /&gt;
&lt;br /&gt;
There are always benefits and costs to any security decision, By strengthening security in one way, you can weaken it in another.&lt;br /&gt;
&lt;br /&gt;
For example, if you can’t risk lockouts and downtime, having passwords could cause problems.&lt;br /&gt;
&lt;br /&gt;
If you make usability too difficult, users can find ways to bypass your security measures. Security is always a secondary concern. The primary concerns of users are the tasks that they are using the computer systems to complete.&lt;br /&gt;
&lt;br /&gt;
The most secure system is one that is off, in a locked room in a secure facility. However, that system is also completely useless.&lt;br /&gt;
&lt;br /&gt;
Even if you do not become a computer security professional, you will design systems and make decisions that have security implications.&lt;br /&gt;
&lt;br /&gt;
=== Reverse Engineering ===&lt;br /&gt;
Picked from the list at random to discuss&lt;br /&gt;
&lt;br /&gt;
*What is it?&lt;br /&gt;
**Normal engineering process would be Design -&amp;gt; code -&amp;gt; system.&lt;br /&gt;
**Reverse engineering is reversing that process. Looking at the system to figure out the code and the design. &lt;br /&gt;
&lt;br /&gt;
*Who?&lt;br /&gt;
**Attackers&lt;br /&gt;
***analyzing defenses&lt;br /&gt;
****If you can figure out how it works, then you can find weaknesses and exploit them.&lt;br /&gt;
You become an expert safecracker by learning about safes. In order to find flaws in systems you must have a deep knowledge of those systems. What an attacker wishes to attack he must master, and by finding the flaw, the attacker &#039;&#039;&#039;proves his knowledge&#039;&#039;&#039;. It is like solving a puzzle. That is what drives the people developing these attacks. The negative impacts are often secondary.&lt;br /&gt;
&lt;br /&gt;
*Defenders&lt;br /&gt;
***Analyze defenses like attackers&lt;br /&gt;
***Analyze attacks &lt;br /&gt;
****(ie, figure out what a botnet does and how it works)&lt;br /&gt;
****Botnet – illegal cloud computing.&lt;br /&gt;
&lt;br /&gt;
=== DRM – Digital Rights Management ===&lt;br /&gt;
*People have been using reverse engineering crack DRM since DRM was released&lt;br /&gt;
*Interesting thing about DRM – it works to protect the content from the legitimate user that you want to have the content. &lt;br /&gt;
*Most secure current DRM- iOS. It is currently very difficult to crack (or “jailbreak”). In fact, it may even be “effectively unbreakable” because the cost and time involved in breaking it isn’t worth it.&lt;br /&gt;
*Jailbreaking iOS used to be very popular, as it allowed users to use their iPhones in ways that Apple didn’t allow. However, it would also negatively impact the security of the device. &lt;br /&gt;
*The jailbreak community showed Apple where the security flaws in their devices were found. Apple could then fix the flaws. The community would find new flaws, and Apple would fix them.&lt;br /&gt;
*This evolution or “trial by fire” is the only way that security gets strong. No theoretical security can be trusted until it has had people try to crack it.&lt;br /&gt;
&lt;br /&gt;
Today, attacks get put into usable software and distributed quickly. They spread fast.&lt;br /&gt;
&lt;br /&gt;
Nation-states pay lost of people to reverse engineer systems and find the security holes. They do it in secret, but they can’t keep secrets, so the attacks they create get leaked.&lt;br /&gt;
&lt;br /&gt;
The code of much modern malware that is causing problems has been written by &lt;br /&gt;
nation-states.&lt;br /&gt;
&lt;br /&gt;
We cannot make any system perfectly secure, but we don’t build systems under that assumption. We build systems that store large amounts of important data (how much data does Facebook have? Google? Governments?). We assume that we can do this securely, but we can’t.&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21410</id>
		<title>SystemsSec 2018W Lecture 1</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21410"/>
		<updated>2018-01-16T02:16:02Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes =&lt;br /&gt;
Class 1, January 8&lt;br /&gt;
&lt;br /&gt;
== About the course: ==&lt;br /&gt;
Lectures will not be posted online.&lt;br /&gt;
&lt;br /&gt;
Notes will be posted online.&lt;br /&gt;
&lt;br /&gt;
In order to succeed, you need to come to class. Things will be discussed, and you need to be present.&lt;br /&gt;
&lt;br /&gt;
* Grading Criteria&lt;br /&gt;
** Midterm			20%&lt;br /&gt;
** Final			30%&lt;br /&gt;
** Participation		10%&lt;br /&gt;
** Experiences			20%&lt;br /&gt;
** Assignments (4)		20%&lt;br /&gt;
&lt;br /&gt;
The midterm and final will basically be short answer, possibly with some essay questions.&lt;br /&gt;
&lt;br /&gt;
The assignments will be in the style of the midterm and final, and will let you know how prepared you are for the exams. 2 assignments before the midterm and 2 after the midterm.&lt;br /&gt;
&lt;br /&gt;
Participation – being present, taking notes for the class, raising your hand, discussing things (not purely in class, also there will be a slack instance). &lt;br /&gt;
&lt;br /&gt;
If for some reason participation will be a problem for you, email the professor now to work it out)&lt;br /&gt;
&lt;br /&gt;
Experiences – in 2 portions reading and tools&lt;br /&gt;
&lt;br /&gt;
Reading – submit a reading response. Make a diligent effort to understand the reading before coming to class. Not a summary. What was your interaction with the reading?&lt;br /&gt;
&lt;br /&gt;
Tools – Computer Systems Security is fundamentally an applied field. It is tied to tools. Applied learning is important. Some exercises will be provided, but other things you will come across yourself (ie try to set up a firewall, or play around with iptables, you don’t have to succeed). Write a tool response. Plan on sitting down a couple of times and doing some hacking. It is important to get your hands dirty. To start, pick something that you can handle, and maybe ramp it up as the term goes along.&lt;br /&gt;
&lt;br /&gt;
Assignments will be submitted through CULearn.&lt;br /&gt;
&lt;br /&gt;
== The material covered today: ==&lt;br /&gt;
In the news recently: Meltdown and Spectre security flaws&lt;br /&gt;
&lt;br /&gt;
Meltdown in the Intel version, Spectre is the more general version.&lt;br /&gt;
&lt;br /&gt;
Basically every modern CPU that has high performance is affected&lt;br /&gt;
&lt;br /&gt;
Problem with processor design.&lt;br /&gt;
&lt;br /&gt;
Design strategy used to increase performance in modern processors allows for information leakage.&lt;br /&gt;
&lt;br /&gt;
Software programs and processes don&#039;t trust each other (and they shouldn&#039;t), but this flaw means that the barriers between them aren&#039;t fixed, you can read across them.&lt;br /&gt;
&lt;br /&gt;
It is a timing attack. The basis of timing attacks is that the time to compute depends on the data that you are computing. By knowing how long something takes to compute, you can figure out what is being computed. &lt;br /&gt;
&lt;br /&gt;
There was previously a well known timing attack on public key encryption, which was solved by responding to all requests in the same constant time.&lt;br /&gt;
&lt;br /&gt;
Meltdown and Spectre exploit branch predictors (ie, the processor speculates at which branch of the code will be run next and “runs ahead”. If it predicts correctly, there is a performance advantage). However, flaws were found that enabled kernel memory to be read, or a virtual machine to read data from another virtual machine running on the same processor. This particularly affects cloud computing.&lt;br /&gt;
&lt;br /&gt;
These types of flaws come because no one was thinking about the design from a security point of view. &lt;br /&gt;
&lt;br /&gt;
System Security is difficult. Attackers find flaws, defenders try to fix them. This happens in real systems, with enormous complexity. Theoretically we can design perfectly secure systems, but attackers will keep finding flaws. This game, as it is today, is weighted towards attackers. Rebalancing the game would require radical ideas.&lt;br /&gt;
&lt;br /&gt;
=== A (noncomprehensive) list of some security tools and methods: ===&lt;br /&gt;
*The purpose of this list is to show what a vast area computer security is, not making a list of everything that will be covered.&lt;br /&gt;
**Firewalls&lt;br /&gt;
**Antivirus/Antimalware&lt;br /&gt;
**Network monitoring/NIDS&lt;br /&gt;
**Reverse engineering.&lt;br /&gt;
**Cryptography (encryption/digital signing) (for system security, encryption is a tool of last resort)&lt;br /&gt;
**Air gaps&lt;br /&gt;
**Social Engineering&lt;br /&gt;
**(D)DoS&lt;br /&gt;
**White list&lt;br /&gt;
**Black list&lt;br /&gt;
**One way info-gate&lt;br /&gt;
**Virtual machines&lt;br /&gt;
**Encapsulation&lt;br /&gt;
**Virtual memory&lt;br /&gt;
**Formal verification&lt;br /&gt;
**Randomization (ASLR)&lt;br /&gt;
**Passwords&lt;br /&gt;
**Captchas&lt;br /&gt;
**Biometrics&lt;br /&gt;
**Location monitoring&lt;br /&gt;
**Mandatory access control (ie SELinux, very inconvenient)&lt;br /&gt;
**Discretionary access control (traditional Unix, Windows…)&lt;br /&gt;
**Automatic memory management (garbage collection)&lt;br /&gt;
**Static analysis&lt;br /&gt;
**Dynamic analysis&lt;br /&gt;
&lt;br /&gt;
Security can affect just about any area of computer science. If there is a branch that doesn’t appear to be affected by security, someone just hasn’t thought about it for long enough.&lt;br /&gt;
&lt;br /&gt;
This course isn’t about a specific tool or method, although many will be touched on. Primarily, we want to look at how to think about problems so that you see security issues. What can I do as an attacker? What can I do as a defender.&lt;br /&gt;
&lt;br /&gt;
There are always benefits and costs to any security decision, By strengthening security in one way, you can weaken it in another.&lt;br /&gt;
&lt;br /&gt;
For example, if you can’t risk lockouts and downtime, having passwords could cause problems.&lt;br /&gt;
&lt;br /&gt;
If you make usability too difficult, users can find ways to bypass your security measures. Security is always a secondary concern. The primary concerns of users are the tasks that they are using the computer systems to complete.&lt;br /&gt;
&lt;br /&gt;
The most secure system is one that is off, in a locked room in a secure facility. However, that system is also completely useless.&lt;br /&gt;
&lt;br /&gt;
Even if you do not become a computer security professional, you will design systems and make decisions that have security implications.&lt;br /&gt;
&lt;br /&gt;
=== Reverse Engineering ===&lt;br /&gt;
Picked from the list at random to discuss&lt;br /&gt;
&lt;br /&gt;
*What is it?&lt;br /&gt;
**Normal engineering process would be Design -&amp;gt; code -&amp;gt; system.&lt;br /&gt;
**Reverse engineering is reversing that process. Looking at the system to figure out the code and the design. &lt;br /&gt;
&lt;br /&gt;
*Who?&lt;br /&gt;
**Attackers&lt;br /&gt;
***analyzing defenses&lt;br /&gt;
****If you can figure out how it works, then you can find weaknesses and exploit them.&lt;br /&gt;
You become an expert safecracker by learning about safes. In order to find flaws in systems you must have a deep knowledge of those systems. What an attacker wishes to attack he must master, and by finding the flaw, the attacker &#039;&#039;&#039;proves his knowledge&#039;&#039;&#039;. It is like solving a puzzle. That is what drives the people developing these attacks. The negative impacts are often secondary.&lt;br /&gt;
&lt;br /&gt;
**Defenders&lt;br /&gt;
***Analyze defenses like attackers&lt;br /&gt;
***Analyze attacks &lt;br /&gt;
****(ie, figure out what a botnet does and how it works)&lt;br /&gt;
****Botnet – illegal cloud computing.&lt;br /&gt;
&lt;br /&gt;
=== DRM – Digital Rights Management ===&lt;br /&gt;
*People have been using reverse engineering crack DRM since DRM was released&lt;br /&gt;
*Interesting thing about DRM – it works to protect the content from the legitimate user that you want to have the content. &lt;br /&gt;
*Most secure current DRM- iOS. It is currently very difficult to crack (or “jailbreak”). In fact, it may even be “effectively unbreakable” because the cost and time involved in breaking it isn’t worth it.&lt;br /&gt;
*Jailbreaking iOS used to be very popular, as it allowed users to use their iPhones in ways that Apple didn’t allow. However, it would also negatively impact the security of the device. &lt;br /&gt;
*The jailbreak community showed Apple where the security flaws in their devices were found. Apple could then fix the flaws. The community would find new flaws, and Apple would fix them.&lt;br /&gt;
*This evolution or “trial by fire” is the only way that security gets strong. No theoretical security can be trusted until it has had people try to crack it.&lt;br /&gt;
&lt;br /&gt;
Today, attacks get put into usable software and distributed quickly. They spread fast.&lt;br /&gt;
&lt;br /&gt;
Nation-states pay lost of people to reverse engineer systems and find the security holes. They do it in secret, but they can’t keep secrets, so the attacks they create get leaked.&lt;br /&gt;
&lt;br /&gt;
The code of much modern malware that is causing problems has been written by &lt;br /&gt;
nation-states.&lt;br /&gt;
&lt;br /&gt;
We cannot make any system perfectly secure, but we don’t build systems under that assumption. We build systems that store large amounts of important data (how much data does Facebook have? Google? Governments?). We assume that we can do this securely, but we can’t.&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21409</id>
		<title>SystemsSec 2018W Lecture 1</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21409"/>
		<updated>2018-01-16T02:11:51Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes =&lt;br /&gt;
Class 1, January 8&lt;br /&gt;
&lt;br /&gt;
== About the course: ==&lt;br /&gt;
Lectures will not be posted online.&lt;br /&gt;
&lt;br /&gt;
Notes will be posted online.&lt;br /&gt;
&lt;br /&gt;
In order to succeed, you need to come to class. Things will be discussed, and you need to be present.&lt;br /&gt;
&lt;br /&gt;
* Grading Criteria&lt;br /&gt;
** Midterm			20%&lt;br /&gt;
** Final			30%&lt;br /&gt;
** Participation		10%&lt;br /&gt;
** Experiences			20%&lt;br /&gt;
** Assignments (4)		20%&lt;br /&gt;
&lt;br /&gt;
The midterm and final will basically be short answer, possibly with some essay questions.&lt;br /&gt;
&lt;br /&gt;
The assignments will be in the style of the midterm and final, and will let you know how prepared you are for the exams. 2 assignments before the midterm and 2 after the midterm.&lt;br /&gt;
&lt;br /&gt;
Participation – being present, taking notes for the class, raising your hand, discussing things (not purely in class, also there will be a slack instance). &lt;br /&gt;
&lt;br /&gt;
If for some reason participation will be a problem for you, email the professor now to work it out)&lt;br /&gt;
&lt;br /&gt;
Experiences – in 2 portions reading and tools&lt;br /&gt;
&lt;br /&gt;
Reading – submit a reading response. Make a diligent effort to understand the reading before coming to class. Not a summary. What was your interaction with the reading?&lt;br /&gt;
&lt;br /&gt;
Tools – Computer Systems Security is fundamentally an applied field. It is tied to tools. Applied learning is important. Some exercises will be provided, but other things you will come across yourself (ie try to set up a firewall, or play around with iptables, you don’t have to succeed). Write a tool response. Plan on sitting down a couple of times and doing some hacking. It is important to get your hands dirty. To start, pick something that you can handle, and maybe ramp it up as the term goes along.&lt;br /&gt;
&lt;br /&gt;
Assignments will be submitted through CULearn.&lt;br /&gt;
&lt;br /&gt;
== The material covered today: ==&lt;br /&gt;
In the news recently: Meltdown and Spectre security flaws&lt;br /&gt;
&lt;br /&gt;
Meltdown in the Intel version, Spectre is the more general version.&lt;br /&gt;
&lt;br /&gt;
Basically every modern CPU that has high performance is affected&lt;br /&gt;
&lt;br /&gt;
Problem with processor design.&lt;br /&gt;
&lt;br /&gt;
Design strategy used to increase performance in modern processors allows for information leakage.&lt;br /&gt;
&lt;br /&gt;
Software programs and processes don&#039;t trust each other (and they shouldn&#039;t), but this flaw means that the barriers between them aren&#039;t fixed, you can read across them.&lt;br /&gt;
&lt;br /&gt;
It is a timing attack. The basis of timing attacks is that the time to compute depends on the data that you are computing. By knowing how long something takes to compute, you can figure out what is being computed. &lt;br /&gt;
&lt;br /&gt;
There was previously a well known timing attack on public key encryption, which was solved by responding to all requests in the same constant time.&lt;br /&gt;
&lt;br /&gt;
Meltdown and Spectre exploit branch predictors (ie, the processor speculates at which branch of the code will be run next and “runs ahead”. If it predicts correctly, there is a performance advantage). However, flaws were found that enabled kernel memory to be read, or a virtual machine to read data from another virtual machine running on the same processor. This particularly affects cloud computing.&lt;br /&gt;
&lt;br /&gt;
These types of flaws come because no one was thinking about the design from a security point of view. &lt;br /&gt;
&lt;br /&gt;
System Security is difficult. Attackers find flaws, defenders try to fix them. This happens in real systems, with enormous complexity. Theoretically we can design perfectly secure systems, but attackers will keep finding flaws. This game, as it is today, is weighted towards attackers. Rebalancing the game would require radical ideas.&lt;br /&gt;
&lt;br /&gt;
=== A (noncomprehensive) list of some security tools and methods: ===&lt;br /&gt;
*The purpose of this list is to show what a vast area computer security is, not making a list of everything that will be covered.&lt;br /&gt;
**Firewalls&lt;br /&gt;
**Antivirus/Antimalware&lt;br /&gt;
**Network monitoring/NIDS&lt;br /&gt;
**Reverse engineering.&lt;br /&gt;
**Cryptography (encryption/digital signing) (for system security, encryption is a tool of last resort)&lt;br /&gt;
**Air gaps&lt;br /&gt;
**Social Engineering&lt;br /&gt;
**(D)DoS&lt;br /&gt;
**White list&lt;br /&gt;
**Black list&lt;br /&gt;
**One way info-gate&lt;br /&gt;
**Virtual machines&lt;br /&gt;
**Encapsulation&lt;br /&gt;
**Virtual memory&lt;br /&gt;
**Formal verification&lt;br /&gt;
**Randomization (ASLR)&lt;br /&gt;
**Passwords&lt;br /&gt;
**Captchas&lt;br /&gt;
**Biometrics&lt;br /&gt;
**Location monitoring&lt;br /&gt;
**Mandatory access control (ie SELinux, very inconvenient)&lt;br /&gt;
**Discretionary access control (traditional Unix, Windows…)&lt;br /&gt;
**Automatic memory management (garbage collection)&lt;br /&gt;
**Static analysis&lt;br /&gt;
**Dynamic analysis&lt;br /&gt;
&lt;br /&gt;
Security can affect just about any area of computer science. If there I a branch that doesn’t appear to be affected by security, someone just hasn’t thought about it for long enough.&lt;br /&gt;
&lt;br /&gt;
This course isn’t about a specific tool or method, although many will be touched on. Primarily, we want to look at how to think about problems so that you see security issues. What can I do as an attacker? What can I do as a defender.&lt;br /&gt;
&lt;br /&gt;
There are always benefits and costs to any security decision, By strengthening security in one way, you can weaken it in another.&lt;br /&gt;
&lt;br /&gt;
For example, if you can’t risk lockouts and downtime, having passwords could cause problems.&lt;br /&gt;
&lt;br /&gt;
If you make usability too difficult, users can find ways to bypass your security measures. Security is always a secondary concern. The primary concerns of users are the tasks that they are using the computer systems to complete.&lt;br /&gt;
&lt;br /&gt;
The most secure system is one that is off, in a locked room in a secure facility. However, that system is also completely useless.&lt;br /&gt;
&lt;br /&gt;
Even if you do not become a computer security professional, you will design systems and make decisions that have security implications.&lt;br /&gt;
&lt;br /&gt;
=== Reverse Engineering ===&lt;br /&gt;
Picked from the list at random to discuss&lt;br /&gt;
&lt;br /&gt;
*What is it?&lt;br /&gt;
**Normal engineering process would be Design -&amp;gt; code -&amp;gt; system.&lt;br /&gt;
**Reverse engineering is reversing that process. Looking at the system to figure out the code and the design. &lt;br /&gt;
&lt;br /&gt;
*Who?&lt;br /&gt;
**Attackers&lt;br /&gt;
***analyzing defenses&lt;br /&gt;
****If you can figure out how it works, then you can find weaknesses and exploit them.&lt;br /&gt;
You become an expert safecracker by learning about safes. In order to find flaws in systems you must have a deep knowledge of those systems. What an attacker wishes to attack he must master, and by finding the flaw, the attacker &#039;&#039;&#039;proves his knowledge&#039;&#039;&#039;. It is like solving a puzzle. That is what drives the people developing these attacks. The negative impacts are often secondary.&lt;br /&gt;
&lt;br /&gt;
**Defenders&lt;br /&gt;
***Analyze defenses like attackers&lt;br /&gt;
***Analyze attacks &lt;br /&gt;
****(ie, figure out what a botnet does and how it works)&lt;br /&gt;
****Botnet – illegal cloud computing.&lt;br /&gt;
&lt;br /&gt;
=== DRM – Digital Rights Management ===&lt;br /&gt;
*People have been using reverse engineering crack DRM since DRM was released&lt;br /&gt;
*Interesting thing about DRM – it works to protect the content from the legitimate user that you want to have the content. &lt;br /&gt;
*Most secure current DRM- iOS. It is currently very difficult to crack (or “jailbreak”). In fact, it may even be “effectively unbreakable” because the cost and time involved in breaking it isn’t worth it.&lt;br /&gt;
*Jailbreaking iOS used to be very popular, as it allowed users to use their iPhones in ways that Apple didn’t allow. However, it would also negatively impact the security of the device. &lt;br /&gt;
*The jailbreak community showed Apple where the security flaws in their devices were found. Apple could then fix the flaws. The community would find new flaws, and Apple would fix them.&lt;br /&gt;
*This evolution or “trial by fire” is the only way that security gets strong. No theoretical security can be trusted until it has had people try to crack it.&lt;br /&gt;
&lt;br /&gt;
Today, attacks get put into usable software and distributed quickly. They spread fast.&lt;br /&gt;
&lt;br /&gt;
Nation-states pay lost of people to reverse engineer systems and find the security holes. They do it in secret, but they can’t keep secrets, so the attacks they create get leaked.&lt;br /&gt;
&lt;br /&gt;
The code of much modern malware that is causing problems has been written by &lt;br /&gt;
nation-states.&lt;br /&gt;
&lt;br /&gt;
We cannot make any system perfectly secure, but we don’t build systems under that assumption. We build systems that store large amounts of important data (how much data does Facebook have? Google? Governments?). We assume that we can do this securely, but we can’t.&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21408</id>
		<title>SystemsSec 2018W Lecture 1</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21408"/>
		<updated>2018-01-16T02:11:37Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes =&lt;br /&gt;
Class 1, January 8&lt;br /&gt;
&lt;br /&gt;
== About the course: ==&lt;br /&gt;
Lectures will not be posted online.&lt;br /&gt;
&lt;br /&gt;
Notes will be posted online.&lt;br /&gt;
&lt;br /&gt;
In order to succeed, you need to come to class. Things will be discussed, and you need to be present.&lt;br /&gt;
&lt;br /&gt;
* Grading Criteria&lt;br /&gt;
** Midterm			20%&lt;br /&gt;
** Final			30%&lt;br /&gt;
** Participation		10%&lt;br /&gt;
** Experiences			20%&lt;br /&gt;
** Assignments (4)		20%&lt;br /&gt;
&lt;br /&gt;
The midterm and final will basically be short answer, possibly with some essay questions.&lt;br /&gt;
&lt;br /&gt;
The assignments will be in the style of the midterm and final, and will let you know how prepared you are for the exams. 2 assignments before the midterm and 2 after the final.&lt;br /&gt;
&lt;br /&gt;
Participation – being present, taking notes for the class, raising your hand, discussing things (not purely in class, also there will be a slack instance). &lt;br /&gt;
&lt;br /&gt;
If for some reason participation will be a problem for you, email the professor now to work it out)&lt;br /&gt;
&lt;br /&gt;
Experiences – in 2 portions reading and tools&lt;br /&gt;
&lt;br /&gt;
Reading – submit a reading response. Make a diligent effort to understand the reading before coming to class. Not a summary. What was your interaction with the reading?&lt;br /&gt;
&lt;br /&gt;
Tools – Computer Systems Security is fundamentally an applied field. It is tied to tools. Applied learning is important. Some exercises will be provided, but other things you will come across yourself (ie try to set up a firewall, or play around with iptables, you don’t have to succeed). Write a tool response. Plan on sitting down a couple of times and doing some hacking. It is important to get your hands dirty. To start, pick something that you can handle, and maybe ramp it up as the term goes along.&lt;br /&gt;
&lt;br /&gt;
Assignments will be submitted through CULearn.&lt;br /&gt;
&lt;br /&gt;
== The material covered today: ==&lt;br /&gt;
In the news recently: Meltdown and Spectre security flaws&lt;br /&gt;
&lt;br /&gt;
Meltdown in the Intel version, Spectre is the more general version.&lt;br /&gt;
&lt;br /&gt;
Basically every modern CPU that has high performance is affected&lt;br /&gt;
&lt;br /&gt;
Problem with processor design.&lt;br /&gt;
&lt;br /&gt;
Design strategy used to increase performance in modern processors allows for information leakage.&lt;br /&gt;
&lt;br /&gt;
Software programs and processes don&#039;t trust each other (and they shouldn&#039;t), but this flaw means that the barriers between them aren&#039;t fixed, you can read across them.&lt;br /&gt;
&lt;br /&gt;
It is a timing attack. The basis of timing attacks is that the time to compute depends on the data that you are computing. By knowing how long something takes to compute, you can figure out what is being computed. &lt;br /&gt;
&lt;br /&gt;
There was previously a well known timing attack on public key encryption, which was solved by responding to all requests in the same constant time.&lt;br /&gt;
&lt;br /&gt;
Meltdown and Spectre exploit branch predictors (ie, the processor speculates at which branch of the code will be run next and “runs ahead”. If it predicts correctly, there is a performance advantage). However, flaws were found that enabled kernel memory to be read, or a virtual machine to read data from another virtual machine running on the same processor. This particularly affects cloud computing.&lt;br /&gt;
&lt;br /&gt;
These types of flaws come because no one was thinking about the design from a security point of view. &lt;br /&gt;
&lt;br /&gt;
System Security is difficult. Attackers find flaws, defenders try to fix them. This happens in real systems, with enormous complexity. Theoretically we can design perfectly secure systems, but attackers will keep finding flaws. This game, as it is today, is weighted towards attackers. Rebalancing the game would require radical ideas.&lt;br /&gt;
&lt;br /&gt;
=== A (noncomprehensive) list of some security tools and methods: ===&lt;br /&gt;
*The purpose of this list is to show what a vast area computer security is, not making a list of everything that will be covered.&lt;br /&gt;
**Firewalls&lt;br /&gt;
**Antivirus/Antimalware&lt;br /&gt;
**Network monitoring/NIDS&lt;br /&gt;
**Reverse engineering.&lt;br /&gt;
**Cryptography (encryption/digital signing) (for system security, encryption is a tool of last resort)&lt;br /&gt;
**Air gaps&lt;br /&gt;
**Social Engineering&lt;br /&gt;
**(D)DoS&lt;br /&gt;
**White list&lt;br /&gt;
**Black list&lt;br /&gt;
**One way info-gate&lt;br /&gt;
**Virtual machines&lt;br /&gt;
**Encapsulation&lt;br /&gt;
**Virtual memory&lt;br /&gt;
**Formal verification&lt;br /&gt;
**Randomization (ASLR)&lt;br /&gt;
**Passwords&lt;br /&gt;
**Captchas&lt;br /&gt;
**Biometrics&lt;br /&gt;
**Location monitoring&lt;br /&gt;
**Mandatory access control (ie SELinux, very inconvenient)&lt;br /&gt;
**Discretionary access control (traditional Unix, Windows…)&lt;br /&gt;
**Automatic memory management (garbage collection)&lt;br /&gt;
**Static analysis&lt;br /&gt;
**Dynamic analysis&lt;br /&gt;
&lt;br /&gt;
Security can affect just about any area of computer science. If there I a branch that doesn’t appear to be affected by security, someone just hasn’t thought about it for long enough.&lt;br /&gt;
&lt;br /&gt;
This course isn’t about a specific tool or method, although many will be touched on. Primarily, we want to look at how to think about problems so that you see security issues. What can I do as an attacker? What can I do as a defender.&lt;br /&gt;
&lt;br /&gt;
There are always benefits and costs to any security decision, By strengthening security in one way, you can weaken it in another.&lt;br /&gt;
&lt;br /&gt;
For example, if you can’t risk lockouts and downtime, having passwords could cause problems.&lt;br /&gt;
&lt;br /&gt;
If you make usability too difficult, users can find ways to bypass your security measures. Security is always a secondary concern. The primary concerns of users are the tasks that they are using the computer systems to complete.&lt;br /&gt;
&lt;br /&gt;
The most secure system is one that is off, in a locked room in a secure facility. However, that system is also completely useless.&lt;br /&gt;
&lt;br /&gt;
Even if you do not become a computer security professional, you will design systems and make decisions that have security implications.&lt;br /&gt;
&lt;br /&gt;
=== Reverse Engineering ===&lt;br /&gt;
Picked from the list at random to discuss&lt;br /&gt;
&lt;br /&gt;
*What is it?&lt;br /&gt;
**Normal engineering process would be Design -&amp;gt; code -&amp;gt; system.&lt;br /&gt;
**Reverse engineering is reversing that process. Looking at the system to figure out the code and the design. &lt;br /&gt;
&lt;br /&gt;
*Who?&lt;br /&gt;
**Attackers&lt;br /&gt;
***analyzing defenses&lt;br /&gt;
****If you can figure out how it works, then you can find weaknesses and exploit them.&lt;br /&gt;
You become an expert safecracker by learning about safes. In order to find flaws in systems you must have a deep knowledge of those systems. What an attacker wishes to attack he must master, and by finding the flaw, the attacker &#039;&#039;&#039;proves his knowledge&#039;&#039;&#039;. It is like solving a puzzle. That is what drives the people developing these attacks. The negative impacts are often secondary.&lt;br /&gt;
&lt;br /&gt;
**Defenders&lt;br /&gt;
***Analyze defenses like attackers&lt;br /&gt;
***Analyze attacks &lt;br /&gt;
****(ie, figure out what a botnet does and how it works)&lt;br /&gt;
****Botnet – illegal cloud computing.&lt;br /&gt;
&lt;br /&gt;
=== DRM – Digital Rights Management ===&lt;br /&gt;
*People have been using reverse engineering crack DRM since DRM was released&lt;br /&gt;
*Interesting thing about DRM – it works to protect the content from the legitimate user that you want to have the content. &lt;br /&gt;
*Most secure current DRM- iOS. It is currently very difficult to crack (or “jailbreak”). In fact, it may even be “effectively unbreakable” because the cost and time involved in breaking it isn’t worth it.&lt;br /&gt;
*Jailbreaking iOS used to be very popular, as it allowed users to use their iPhones in ways that Apple didn’t allow. However, it would also negatively impact the security of the device. &lt;br /&gt;
*The jailbreak community showed Apple where the security flaws in their devices were found. Apple could then fix the flaws. The community would find new flaws, and Apple would fix them.&lt;br /&gt;
*This evolution or “trial by fire” is the only way that security gets strong. No theoretical security can be trusted until it has had people try to crack it.&lt;br /&gt;
&lt;br /&gt;
Today, attacks get put into usable software and distributed quickly. They spread fast.&lt;br /&gt;
&lt;br /&gt;
Nation-states pay lost of people to reverse engineer systems and find the security holes. They do it in secret, but they can’t keep secrets, so the attacks they create get leaked.&lt;br /&gt;
&lt;br /&gt;
The code of much modern malware that is causing problems has been written by &lt;br /&gt;
nation-states.&lt;br /&gt;
&lt;br /&gt;
We cannot make any system perfectly secure, but we don’t build systems under that assumption. We build systems that store large amounts of important data (how much data does Facebook have? Google? Governments?). We assume that we can do this securely, but we can’t.&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21407</id>
		<title>SystemsSec 2018W Lecture 1</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_1&amp;diff=21407"/>
		<updated>2018-01-16T02:10:58Z</updated>

		<summary type="html">&lt;p&gt;Nilofar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Notes =&lt;br /&gt;
Class 1, January 8&lt;br /&gt;
&lt;br /&gt;
== About the course: ==&lt;br /&gt;
Lectures will not be posted online.&lt;br /&gt;
&lt;br /&gt;
Notes will be posted online.&lt;br /&gt;
&lt;br /&gt;
In order to succeed, you need to come to class. Things will be discussed, and you need to be present.&lt;br /&gt;
&lt;br /&gt;
* Grading Criteria&lt;br /&gt;
** Midterm			20%&lt;br /&gt;
** Final			30%&lt;br /&gt;
** Participation		10%&lt;br /&gt;
** Experiences			20%&lt;br /&gt;
** Assignments (4)		20%&lt;br /&gt;
&lt;br /&gt;
The midterm and final will basically be short answer, possibly with some essay questions.&lt;br /&gt;
&lt;br /&gt;
The assignments will be in the style of the midterm and final, and will let you know how prepared you are for the exams. 2 assignments before the midterm and 2 after the midterm.&lt;br /&gt;
&lt;br /&gt;
Participation – being present, taking notes for the class, raising your hand, discussing things (not purely in class, also there will be a slack instance). &lt;br /&gt;
&lt;br /&gt;
If for some reason participation will be a problem for you, email the professor now to work it out)&lt;br /&gt;
&lt;br /&gt;
Experiences – in 2 portions reading and tools&lt;br /&gt;
&lt;br /&gt;
Reading – submit a reading response. Make a diligent effort to understand the reading before coming to class. Not a summary. What was your interaction with the reading?&lt;br /&gt;
&lt;br /&gt;
Tools – Computer Systems Security is fundamentally an applied field. It is tied to tools. Applied learning is important. Some exercises will be provided, but other things you will come across yourself (ie try to set up a firewall, or play around with iptables, you don’t have to succeed). Write a tool response. Plan on sitting down a couple of times and doing some hacking. It is important to get your hands dirty. To start, pick something that you can handle, and maybe ramp it up as the term goes along.&lt;br /&gt;
&lt;br /&gt;
Assignments will be submitted through CULearn.&lt;br /&gt;
&lt;br /&gt;
== The material covered today: ==&lt;br /&gt;
In the news recently: Meltdown and Spectre security flaws&lt;br /&gt;
&lt;br /&gt;
Meltdown in the Intel version, Spectre is the more general version.&lt;br /&gt;
&lt;br /&gt;
Basically every modern CPU that has high performance is affected&lt;br /&gt;
&lt;br /&gt;
Problem with processor design.&lt;br /&gt;
&lt;br /&gt;
Design strategy used to increase performance in modern processors allows for information leakage.&lt;br /&gt;
&lt;br /&gt;
Software programs and processes don&#039;t trust each other (and they shouldn&#039;t), but this flaw means that the barriers between them aren&#039;t fixed, you can read across them.&lt;br /&gt;
&lt;br /&gt;
It is a timing attack. The basis of timing attacks is that the time to compute depends on the data that you are computing. By knowing how long something takes to compute, you can figure out what is being computed. &lt;br /&gt;
&lt;br /&gt;
There was previously a well known timing attack on public key encryption, which was solved by responding to all requests in the same constant time.&lt;br /&gt;
&lt;br /&gt;
Meltdown and Spectre exploit branch predictors (ie, the processor speculates at which branch of the code will be run next and “runs ahead”. If it predicts correctly, there is a performance advantage). However, flaws were found that enabled kernel memory to be read, or a virtual machine to read data from another virtual machine running on the same processor. This particularly affects cloud computing.&lt;br /&gt;
&lt;br /&gt;
These types of flaws come because no one was thinking about the design from a security point of view. &lt;br /&gt;
&lt;br /&gt;
System Security is difficult. Attackers find flaws, defenders try to fix them. This happens in real systems, with enormous complexity. Theoretically we can design perfectly secure systems, but attackers will keep finding flaws. This game, as it is today, is weighted towards attackers. Rebalancing the game would require radical ideas.&lt;br /&gt;
&lt;br /&gt;
=== A (noncomprehensive) list of some security tools and methods: ===&lt;br /&gt;
*The purpose of this list is to show what a vast area computer security is, not making a list of everything that will be covered.&lt;br /&gt;
**Firewalls&lt;br /&gt;
**Antivirus/Antimalware&lt;br /&gt;
**Network monitoring/NIDS&lt;br /&gt;
**Reverse engineering.&lt;br /&gt;
**Cryptography (encryption/digital signing) (for system security, encryption is a tool of last resort)&lt;br /&gt;
**Air gaps&lt;br /&gt;
**Social Engineering&lt;br /&gt;
**(D)DoS&lt;br /&gt;
**White list&lt;br /&gt;
**Black list&lt;br /&gt;
**One way info-gate&lt;br /&gt;
**Virtual machines&lt;br /&gt;
**Encapsulation&lt;br /&gt;
**Virtual memory&lt;br /&gt;
**Formal verification&lt;br /&gt;
**Randomization (ASLR)&lt;br /&gt;
**Passwords&lt;br /&gt;
**Captchas&lt;br /&gt;
**Biometrics&lt;br /&gt;
**Location monitoring&lt;br /&gt;
**Mandatory access control (ie SELinux, very inconvenient)&lt;br /&gt;
**Discretionary access control (traditional Unix, Windows…)&lt;br /&gt;
**Automatic memory management (garbage collection)&lt;br /&gt;
**Static analysis&lt;br /&gt;
**Dynamic analysis&lt;br /&gt;
&lt;br /&gt;
Security can affect just about any area of computer science. If there I a branch that doesn’t appear to be affected by security, someone just hasn’t thought about it for long enough.&lt;br /&gt;
&lt;br /&gt;
This course isn’t about a specific tool or method, although many will be touched on. Primarily, we want to look at how to think about problems so that you see security issues. What can I do as an attacker? What can I do as a defender.&lt;br /&gt;
&lt;br /&gt;
There are always benefits and costs to any security decision, By strengthening security in one way, you can weaken it in another.&lt;br /&gt;
&lt;br /&gt;
For example, if you can’t risk lockouts and downtime, having passwords could cause problems.&lt;br /&gt;
&lt;br /&gt;
If you make usability too difficult, users can find ways to bypass your security measures. Security is always a secondary concern. The primary concerns of users are the tasks that they are using the computer systems to complete.&lt;br /&gt;
&lt;br /&gt;
The most secure system is one that is off, in a locked room in a secure facility. However, that system is also completely useless.&lt;br /&gt;
&lt;br /&gt;
Even if you do not become a computer security professional, you will design systems and make decisions that have security implications.&lt;br /&gt;
&lt;br /&gt;
=== Reverse Engineering ===&lt;br /&gt;
Picked from the list at random to discuss&lt;br /&gt;
&lt;br /&gt;
*What is it?&lt;br /&gt;
**Normal engineering process would be Design -&amp;gt; code -&amp;gt; system.&lt;br /&gt;
**Reverse engineering is reversing that process. Looking at the system to figure out the code and the design. &lt;br /&gt;
&lt;br /&gt;
*Who?&lt;br /&gt;
**Attackers&lt;br /&gt;
***analyzing defenses&lt;br /&gt;
****If you can figure out how it works, then you can find weaknesses and exploit them.&lt;br /&gt;
You become an expert safecracker by learning about safes. In order to find flaws in systems you must have a deep knowledge of those systems. What an attacker wishes to attack he must master, and by finding the flaw, the attacker &#039;&#039;&#039;proves his knowledge&#039;&#039;&#039;. It is like solving a puzzle. That is what drives the people developing these attacks. The negative impacts are often secondary.&lt;br /&gt;
&lt;br /&gt;
**Defenders&lt;br /&gt;
***Analyze defenses like attackers&lt;br /&gt;
***Analyze attacks &lt;br /&gt;
****(ie, figure out what a botnet does and how it works)&lt;br /&gt;
****Botnet – illegal cloud computing.&lt;br /&gt;
&lt;br /&gt;
=== DRM – Digital Rights Management ===&lt;br /&gt;
*People have been using reverse engineering crack DRM since DRM was released&lt;br /&gt;
*Interesting thing about DRM – it works to protect the content from the legitimate user that you want to have the content. &lt;br /&gt;
*Most secure current DRM- iOS. It is currently very difficult to crack (or “jailbreak”). In fact, it may even be “effectively unbreakable” because the cost and time involved in breaking it isn’t worth it.&lt;br /&gt;
*Jailbreaking iOS used to be very popular, as it allowed users to use their iPhones in ways that Apple didn’t allow. However, it would also negatively impact the security of the device. &lt;br /&gt;
*The jailbreak community showed Apple where the security flaws in their devices were found. Apple could then fix the flaws. The community would find new flaws, and Apple would fix them.&lt;br /&gt;
*This evolution or “trial by fire” is the only way that security gets strong. No theoretical security can be trusted until it has had people try to crack it.&lt;br /&gt;
&lt;br /&gt;
Today, attacks get put into usable software and distributed quickly. They spread fast.&lt;br /&gt;
&lt;br /&gt;
Nation-states pay lost of people to reverse engineer systems and find the security holes. They do it in secret, but they can’t keep secrets, so the attacks they create get leaked.&lt;br /&gt;
&lt;br /&gt;
The code of much modern malware that is causing problems has been written by &lt;br /&gt;
nation-states.&lt;br /&gt;
&lt;br /&gt;
We cannot make any system perfectly secure, but we don’t build systems under that assumption. We build systems that store large amounts of important data (how much data does Facebook have? Google? Governments?). We assume that we can do this securely, but we can’t.&lt;/div&gt;</summary>
		<author><name>Nilofar</name></author>
	</entry>
</feed>