<?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=Bradley+2</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=Bradley+2"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php/Special:Contributions/Bradley_2"/>
	<updated>2026-05-02T06:11:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_12&amp;diff=21636</id>
		<title>SystemsSec 2018W Lecture 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_12&amp;diff=21636"/>
		<updated>2018-04-11T21:37:09Z</updated>

		<summary type="html">&lt;p&gt;Bradley 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Audio==&lt;br /&gt;
&lt;br /&gt;
[https://homeostasis.scs.carleton.ca/~soma/systemssec-2018w/lectures/comp4108-2018w-lec12-14Feb2018.m4a Lecture 12 Audio]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
Potential Assignment Topics:&lt;br /&gt;
*Crypto&lt;br /&gt;
**What does it buy you?&lt;br /&gt;
**What can’t it do? &lt;br /&gt;
*Obfuscation&lt;br /&gt;
*Memory corruption&lt;br /&gt;
*Logic errors&lt;br /&gt;
*Back doors&lt;br /&gt;
*Certificates&lt;br /&gt;
&lt;br /&gt;
SQL Injections&lt;br /&gt;
*Query is unsanitized &lt;br /&gt;
&lt;br /&gt;
In the browser what interpreters do we have?&lt;br /&gt;
*Javascript&lt;br /&gt;
*HTML&lt;br /&gt;
*CSS&lt;br /&gt;
&lt;br /&gt;
What does it mean to exploit it? &lt;br /&gt;
*To use a vulnerability to your advantage&lt;br /&gt;
&lt;br /&gt;
In the webpage, there are all kinds of content.  There are advertisements, search bars, twitter feeds, facebook like buttons, etc.  &lt;br /&gt;
&lt;br /&gt;
Everything on a webpage has access to the document object model. &lt;br /&gt;
&lt;br /&gt;
Setuid programs -&amp;gt; How much do you have to trust?&lt;br /&gt;
&lt;br /&gt;
Anyone that you allow to become root can do way too much. &lt;br /&gt;
&lt;br /&gt;
Sammy Attack:&lt;br /&gt;
*Happened during the days of myspace&lt;br /&gt;
*Forces users to send samy a friend request&lt;br /&gt;
*Harmless&lt;br /&gt;
&lt;br /&gt;
In the comment section, there is a possibility of malicious code. &lt;br /&gt;
&lt;br /&gt;
CSRF&lt;br /&gt;
*Have the victim visit a random webpage &lt;br /&gt;
*Have the ability to make your web browser do all sorts of network traffic &lt;br /&gt;
&lt;br /&gt;
You can pull any arbitrary content over the internet and stick it into a webpage. &lt;br /&gt;
&lt;br /&gt;
Cookies:&lt;br /&gt;
*Stored on the web browser &lt;br /&gt;
*Remembers information about the person browsing the website&lt;br /&gt;
&lt;br /&gt;
Some websites let you stay logged in for a long time.  Some don’t. &lt;br /&gt;
&lt;br /&gt;
XML HTTP Request -&amp;gt; Developed by microsoft&lt;br /&gt;
&lt;br /&gt;
Why did microsoft do this? &lt;br /&gt;
*Outlook client access &lt;br /&gt;
&lt;br /&gt;
What people want to do with the web impacts security design. &lt;br /&gt;
&lt;br /&gt;
Can you embed arbitrary html in facebook? -&amp;gt; No&lt;br /&gt;
&lt;br /&gt;
Either you filter out the bad things, or you escape the bad things. &lt;br /&gt;
&lt;br /&gt;
How can we minimize people from running code on your web browser?&lt;br /&gt;
*Idea of least privilege&lt;br /&gt;
&lt;br /&gt;
Same Origin Policy &lt;br /&gt;
*The only person that is allowed to get access to your web browser is the origin server. &lt;br /&gt;
&lt;br /&gt;
CSP&lt;br /&gt;
*Prevents stuff from coming from arbitrary sources&lt;br /&gt;
*It does not help with you visiting untrusted sources &lt;br /&gt;
*Keeps a list of who is trusted and who is not trusted &lt;br /&gt;
&lt;br /&gt;
Web browsers -&amp;gt; The modern operating system &lt;br /&gt;
&lt;br /&gt;
Web browsers have a different trust model than the operating system does.&lt;br /&gt;
&lt;br /&gt;
Web browsers sandboxes code&lt;br /&gt;
&lt;br /&gt;
Phone operating systems:&lt;br /&gt;
*Deal with similar threat model to the web &lt;br /&gt;
&lt;br /&gt;
IOS strategy for dealing with threats:&lt;br /&gt;
*Sandbox the hell out of everything &lt;br /&gt;
&lt;br /&gt;
Android Model:&lt;br /&gt;
*Access control using capabilities list &lt;br /&gt;
&lt;br /&gt;
Everytime you install an app on android, it would need to do a security analysis.  You would get questions regarding your current location, camera access, microphone access, etc.  Why does it do that?  For advertisement content. &lt;br /&gt;
&lt;br /&gt;
Snaps and flat packs&lt;br /&gt;
*Standards for packaging linux applications to run on systems. &lt;br /&gt;
*They also include sandboxing&lt;br /&gt;
&lt;br /&gt;
If you want to run skype on your linux system, you can get a “snap” for it.  But you have to install it on classic mode. &lt;br /&gt;
&lt;br /&gt;
How are you going to make sure that you are going to be provided with safety while running untrusted code?&lt;br /&gt;
*Access control&lt;br /&gt;
*Sandboxing&lt;br /&gt;
&lt;br /&gt;
Usability of security systems &lt;br /&gt;
&lt;br /&gt;
Questions:&lt;br /&gt;
*What can we do to restrict people from putting arbitrary code onto the website you are visiting? &lt;br /&gt;
*What is browser exploit? How do we prevent it?&lt;br /&gt;
*What is the problem with fine grained permissions?&lt;/div&gt;</summary>
		<author><name>Bradley 2</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_22&amp;diff=21617</id>
		<title>SystemsSec 2018W Lecture 22</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_22&amp;diff=21617"/>
		<updated>2018-04-06T16:54:01Z</updated>

		<summary type="html">&lt;p&gt;Bradley 2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Audio==&lt;br /&gt;
&lt;br /&gt;
[https://homeostasis.scs.carleton.ca/~soma/systemssec-2018w/lectures/comp4108-2018w-lec22-02Apr2018.m4a Lecture 22 Audio]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
General system defense strategies are&lt;br /&gt;
*White lists&lt;br /&gt;
*Black lists&lt;br /&gt;
*Anomaly detection&lt;br /&gt;
*Virtualization &lt;br /&gt;
*Diversity &lt;br /&gt;
&lt;br /&gt;
Examples to eliminate diversity&lt;br /&gt;
*Code reuse &lt;br /&gt;
*Code replication &lt;br /&gt;
*Centralization &lt;br /&gt;
*Best practices &lt;br /&gt;
*Specialization&lt;br /&gt;
*Substitution &lt;br /&gt;
*Interdependence &lt;br /&gt;
&lt;br /&gt;
When we take control of the systems, we make them more fragile.&lt;br /&gt;
&lt;br /&gt;
If you want diversity, you need to give up control of the system. &lt;br /&gt;
&lt;br /&gt;
When societies become more authoritarian, they become more brittle and vulnerable to falling apart.  Think of communism. &lt;br /&gt;
&lt;br /&gt;
Computer scientists tend to be more authoritarian minded.  We want control of our computers. &lt;br /&gt;
&lt;br /&gt;
Phoenix pay system was used to centralize payments.  This was a terrible idea that broke horribly. &lt;br /&gt;
&lt;br /&gt;
Most of the code on most people’s systems is useless. &lt;br /&gt;
&lt;br /&gt;
Specialization is when the code on any system should be specialized to do what it is supposed to do. &lt;br /&gt;
&lt;br /&gt;
Everything we do in software engineering seems to be able adding functionality. &lt;br /&gt;
&lt;br /&gt;
Software engineering we don’t really think about how adding a certain functionality will impact the security of the system. &lt;br /&gt;
&lt;br /&gt;
Npm imports a lot of code that isn’t really necessary.  &lt;br /&gt;
&lt;br /&gt;
Allow the human to choose constraints. &lt;br /&gt;
&lt;br /&gt;
Redundancy can be automated. &lt;br /&gt;
&lt;br /&gt;
Things that frame evolution&lt;br /&gt;
*Selection&lt;br /&gt;
*Variation&lt;br /&gt;
*Reproduction &lt;br /&gt;
*Interdependence &lt;br /&gt;
*Implicit dependencies &lt;br /&gt;
&lt;br /&gt;
When we simulate evolution using the characteristics above, you get optimization.&lt;br /&gt;
&lt;br /&gt;
Most of our code that we use is not reusable.  Code that is reusable is treated as very valuable and can get packaged as libraries.  &lt;br /&gt;
&lt;br /&gt;
Implicit dependencies are escapable in a certain environment.  Suppose that you are building an application that provides some library, that library will be restricted to working only on that application.  If you try to use the library elsewhere, it will break.&lt;br /&gt;
&lt;br /&gt;
We gravitate to using the same things over and over again because they can easily be tested, they can easily be applied, and we know what they depend on. &lt;br /&gt;
&lt;br /&gt;
Diversity leads to more robust code. &lt;br /&gt;
&lt;br /&gt;
Bash is the interactive shell that we use.  This is can be used as a normal command line or for shell scripts.&lt;br /&gt;
&lt;br /&gt;
If you start using bash, you don’t always use it for what it is meant for.  You start using it for other things.  For example, bash is normally meant to be used as a command line.  If you use it for shell scripts, you might start running into problems. &lt;br /&gt;
&lt;br /&gt;
A number of websites, and applications are starting to become interdependent on chrome.  For example the “stay focused” application is a web application designed to block websites.  It is very dependent on chrome and cannot be used on any other web browser. &lt;br /&gt;
&lt;br /&gt;
To note, everything breaks.  There is no perfect security mechanism.  We need to use a variety of different security mechanisms for optimal performance, not just one. &lt;br /&gt;
&lt;br /&gt;
The goal of the attack is what we should focus on to consider security implications. &lt;br /&gt;
&lt;br /&gt;
The attacker comes us with a strategy that the defender does not anticipate. &lt;br /&gt;
&lt;br /&gt;
How do we prevent power from being misused? &lt;br /&gt;
&lt;br /&gt;
Artificial life - Computers aren’t dependent, they are independent.&lt;/div&gt;</summary>
		<author><name>Bradley 2</name></author>
	</entry>
</feed>