<?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=Parth</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=Parth"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php/Special:Contributions/Parth"/>
	<updated>2026-05-02T06:09:59Z</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_17&amp;diff=21569</id>
		<title>SystemsSec 2018W Lecture 17</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=SystemsSec_2018W_Lecture_17&amp;diff=21569"/>
		<updated>2018-03-15T00:50:44Z</updated>

		<summary type="html">&lt;p&gt;Parth: /* Notes */&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-lec17-14Mar2018.m4a Lecture 17 Audio]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
What is Normal?&lt;br /&gt;
It&#039;s intuitive from our interactions with the world&lt;br /&gt;
Anil&#039;s best definition: Anomalies are a time-based set of rare circumstances or events.&lt;br /&gt;
&lt;br /&gt;
In a computer system:&lt;br /&gt;
&lt;br /&gt;
- what is our state, after these events occur? Normal vs Abnormal state?&lt;br /&gt;
- Do we see these circumstances commonly?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weirdness = badness, in the eyes of a sys admin.&lt;br /&gt;
&lt;br /&gt;
The role of an admin:&lt;br /&gt;
- Humans are supposed to be in complete control of their systems, so the human aspect of intrusion detection is always there in practice.&lt;br /&gt;
&lt;br /&gt;
What is rare? What does the distribution of these &amp;quot;rare&amp;quot; events look like?&lt;br /&gt;
You get a distribution that follows Zipf&#039;s Law (1/x distribution)&lt;br /&gt;
&lt;br /&gt;
Zipf&#039;s Law is used for the frequency of words in human language (in general).&lt;br /&gt;
However, this can also appear in computer systems for frequency index. Why? Certain things will happen all the time,&lt;br /&gt;
certain things happen often but less frequently. Then there are events that happen very rarely.&lt;br /&gt;
The tail of the distribution is where the anomalies lie in computer systems.&lt;br /&gt;
This implies a degree of difficulty, since the tail never goes to 0.&lt;br /&gt;
&lt;br /&gt;
Based on this, the definition of &amp;quot;rare&amp;quot; for an admin depends on how much they want to pay attention to details.&lt;br /&gt;
It&#039;s the human perspective that determines how many false positives you&#039;re going to deal with (How&lt;br /&gt;
many alerts will a human deal with on a daily basis). Ideally, you want to deal with at most 1 or 2 anomalies a day.&lt;br /&gt;
Finding anomalies takes away valuable time, which generally is an expensive resource. Some organizations, mostly military,&lt;br /&gt;
are fine with dedicating large amounts of time to anomaly detection.&lt;br /&gt;
&lt;br /&gt;
With the increase in the scale of cloud bases systems, hardware failures are seen as more common.&lt;br /&gt;
&lt;br /&gt;
Another example: warning prompts. Users have been habituated into thinking warning prompts are useless (way too frequent).&lt;br /&gt;
Habituation is important in asserting importance.&lt;br /&gt;
&lt;br /&gt;
If you want to involve humans, ensure the time scale is something that they will work well with.&lt;br /&gt;
&lt;br /&gt;
Signature based: The reason they have low false alarms is because they&#039;ve tuned out a lot of the false positives.&lt;br /&gt;
&lt;br /&gt;
Specification based: Tune the rules to the point where you include what normally happens in the system, at which point&lt;br /&gt;
the human has already figured out the set of normal and abnormal behaviors. (e.g. firewall)&lt;br /&gt;
&lt;br /&gt;
Firewall: Watch and block traffic&lt;br /&gt;
Spec-Based Intrusion Detection System (IDS): Generate alerts based on traffic surveillance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anomaly Detection based IDS: The system learns the behavior, then models the behavior in an attempt to determine &amp;quot;normal&amp;quot; behavior.&lt;br /&gt;
&lt;br /&gt;
Why can&#039;t you make it so that only safe things are allowed?&lt;br /&gt;
&lt;br /&gt;
- New Speak (1984 by George Orwell). Redefined language such that it was impossible to say things against the state.&lt;br /&gt;
&lt;br /&gt;
- at the end of the day, security violations are just people doing bad things with computers... we can&#039;t do it.&lt;br /&gt;
&lt;br /&gt;
- this is why anomaly detection is the most promising method.. it essentially automates what humans always do.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What do you look at? What do you model?&lt;br /&gt;
&lt;br /&gt;
- Obvious way: Take as much data as possible, throw it in a Machine Learning (ML) program, and see what comes out.&lt;br /&gt;
&lt;br /&gt;
- this is bad&lt;br /&gt;
&lt;br /&gt;
- ML is partitioning based on examples.&lt;br /&gt;
&lt;br /&gt;
- throwing in all the data you can find increases the dimension of the partitioning. Making the problem exponentially harder.&lt;br /&gt;
&lt;br /&gt;
- Feature selection (normally first part of solving a ML problem):&lt;br /&gt;
&lt;br /&gt;
- if you use ML without domain knowledge, it just introduces biases.&lt;br /&gt;
&lt;br /&gt;
- You not only need samples of good behavior, but you also need samples of bad behavior.... which is not feasible&lt;br /&gt;
&lt;br /&gt;
Start with a smaller, but more accurate feature set, then expand as needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs exhibit high degrees of Locality. If they access a byte, they tend to stay near that location.&lt;br /&gt;
Optimization: Certain parts of your code are going to take up most of the execution time.&lt;br /&gt;
Following Zipf&#039;s Law again. The memory hierarchy supports this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs act weird when their security is violated..... does that make sense?&lt;br /&gt;
&lt;br /&gt;
ex: Code injection: Yes, that&#039;s weird. Strange things will happen. Control flow will go crazy.&lt;br /&gt;
&lt;br /&gt;
Backdoor: can circumvent safety measures, thus changing behavior.&lt;br /&gt;
&lt;br /&gt;
Yes. This hypothesis makes sense.&lt;br /&gt;
&lt;br /&gt;
Although there is a tail of weirdness, we can still discover weird behavior that we care about.&lt;br /&gt;
Most attacks will change the externally visible aspects of a program.&lt;br /&gt;
&lt;br /&gt;
All programs are put into abstract syntax trees before they are executed, before they&#039;re turned into machine code.&lt;br /&gt;
Running the program is basically walking a path on the tree. System calls are markers along this path.&lt;br /&gt;
If you can model system calls, you can possibly see abnormal behavior... but only if you do it quickly, with little overhead.&lt;br /&gt;
&lt;br /&gt;
You can model system calls with table lookup.&lt;/div&gt;</summary>
		<author><name>Parth</name></author>
	</entry>
</feed>