<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://courses.cs.taltech.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Risto</id>
	<title>Kursused - Kasutaja kaastöö [et]</title>
	<link rel="self" type="application/atom+xml" href="http://courses.cs.taltech.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Risto"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/pages/Eri:Kaast%C3%B6%C3%B6/Risto"/>
	<updated>2026-05-21T19:58:28Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12009</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12009"/>
		<updated>2025-12-08T13:42:39Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Description of the graded lab ===&lt;br /&gt;
&lt;br /&gt;
During the graded lab, two Kibana dashboard have to be created, with each dashboard containing &amp;#039;&amp;#039;&amp;#039;at least 7&amp;#039;&amp;#039;&amp;#039; visualizations that display different data. Note that each created dashboard must feature &amp;#039;&amp;#039;&amp;#039;at least 5&amp;#039;&amp;#039;&amp;#039; different visualization types (for example, pie chart, bar chart, table, event counter, etc.). The Kibana dashboards &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; be created for &amp;#039;&amp;#039;&amp;#039;syslog events of one type received with Logstash&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* the first dashbord -- Apache web server events&lt;br /&gt;
* the second dashboard -- Suricata IDS alerts&lt;br /&gt;
&lt;br /&gt;
Dashboards created for events received from Filebeat are &amp;#039;&amp;#039;&amp;#039;not accepted&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Instructions for setting up the course virtual machine for the graded lab ===&lt;br /&gt;
&lt;br /&gt;
Since the course virtual machine needs more resources for the graded lab than pre-configured defaults, increase the amount of RAM to at least 4GB and the number of CPUs to at least 2.&lt;br /&gt;
&lt;br /&gt;
Start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
 systemctl start elasticsearch&lt;br /&gt;
&lt;br /&gt;
Start Kibana:&lt;br /&gt;
&lt;br /&gt;
 systemctl start kibana&lt;br /&gt;
&lt;br /&gt;
Start Logstash:&lt;br /&gt;
&lt;br /&gt;
 systemctl start logstash&lt;br /&gt;
&lt;br /&gt;
Make sure you can access Kibana web interface via following URL: https://ipaddress_of_your_vm:5601 (login: elastic, password: default-root-password-of-the-VM). Note that the startup process of Kibana might take several minutes before the web interface will become available.&lt;br /&gt;
&lt;br /&gt;
In order to receive syslog events from local rsyslog, configure it to send all events to Logstash. For example, set up the file /etc/rsyslog.d/logstash.conf with the following content:&lt;br /&gt;
&lt;br /&gt;
 global(maxMessageSize=&amp;quot;1024k&amp;quot;)&lt;br /&gt;
 *.*   @127.0.0.1:10514&lt;br /&gt;
&lt;br /&gt;
The global(maxMessageSize=&amp;quot;1024k&amp;quot;) directive configures the syslog message size to be higher than the default 8KB, since Suricata can produce syslog messages which are larger than 8KB.&lt;br /&gt;
&lt;br /&gt;
After creating that file, don&amp;#039;t forget to restart rsyslog:&lt;br /&gt;
&lt;br /&gt;
 systemctl restart rsyslog&lt;br /&gt;
&lt;br /&gt;
In Kibana, select &amp;quot;Stack Management&amp;quot; from the pull-down menu on the top left corner in the Kibana interface. Note that &amp;quot;Stack Management&amp;quot; is the last selection in the pull-down menu!&lt;br /&gt;
&lt;br /&gt;
Then go to Kibana-&amp;gt;Data Views, and select Create Data View:&lt;br /&gt;
* for &amp;quot;Name&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Index pattern&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Timestamp field&amp;quot;, select @timestamp&lt;br /&gt;
* after setting the above fields, select &amp;quot;Save data view to Kibana&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Generate some syslog events by accessing the web server of the virtual machine and logging in into the virtual machine over SSH. Note that already existing Logstash configuration is parsing these events. For seeing the events, select &amp;quot;Discover&amp;quot; in the Kibana pull-down menu. The web server and SSH events can be searched with the following queries:&lt;br /&gt;
&lt;br /&gt;
 program:apache&lt;br /&gt;
&lt;br /&gt;
 program:sshd&lt;br /&gt;
&lt;br /&gt;
After verifying that the web server and SSH events have been received by Kibana, you can create a dashboard for Apache web server events under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;br /&gt;
&lt;br /&gt;
In order to create a dashboard for Suricata IDS alerts, you can run Suricata in IDS mode as follows for creating events for that dashboard:&lt;br /&gt;
&lt;br /&gt;
 suricata -c /etc/suricata/suricata.yaml -D --af-packet=enp0s8&lt;br /&gt;
&lt;br /&gt;
If your virtual machine has some other interface than enp0s8 connected to Host-Only Network of VirtualBox, use that interface instead in the above command line!&lt;br /&gt;
&lt;br /&gt;
You can use the following test signature in /etc/suricata/rules/local.rules for generating Suricata IDS alerts:&lt;br /&gt;
&lt;br /&gt;
 alert http $EXTERNAL_NET any -&amp;gt; $HTTP_SERVERS $HTTP_PORTS (msg:&amp;quot;HTTP request for a picture file&amp;quot;; flow:established,to_server; pcre:&amp;quot;/\.(?:gif|jpg|png)$/Ui&amp;quot;;classtype:web-application-attack; sid:1000002; rev:1;)&lt;br /&gt;
&lt;br /&gt;
Also, you can use other signatures from Suricata lab for generating additional alerts.&lt;br /&gt;
&lt;br /&gt;
Already existing Logstash configuration is parsing all Suricata events, and you can search Suricata IDS alerts in Kibana with the following query:&lt;br /&gt;
&lt;br /&gt;
 program:suricata AND suricata.event_type:alert&lt;br /&gt;
&lt;br /&gt;
After verifying that the above query is showing Suricata IDS alerts, you can create a dashboard for these alerts under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12008</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12008"/>
		<updated>2025-12-08T13:41:17Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Description of the graded lab ===&lt;br /&gt;
&lt;br /&gt;
During the graded lab, two Kibana dashboard have to be created, with each dashboard containing &amp;#039;&amp;#039;&amp;#039;at least 7&amp;#039;&amp;#039;&amp;#039; visualizations that display different data. Note that each created dashboard must feature &amp;#039;&amp;#039;&amp;#039;at least 5&amp;#039;&amp;#039;&amp;#039; different visualization types (for example, pie chart, bar chart, table, event counter, etc.). The Kibana dashboards &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; be created for &amp;#039;&amp;#039;&amp;#039;syslog events of one type received with Logstash&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* the first dashbord -- Apache web server events&lt;br /&gt;
* the second dashboard -- Suricata IDS alerts&lt;br /&gt;
&lt;br /&gt;
Dashboards created for events received from Filebeat are &amp;#039;&amp;#039;&amp;#039;not accepted&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Instructions for setting up the course virtual machine for the graded lab ===&lt;br /&gt;
&lt;br /&gt;
Since the course virtual machine needs more resources for the graded lab than pre-configured defaults, increase the amount of RAM to at least 4GB and the number of CPUs to at least 2.&lt;br /&gt;
&lt;br /&gt;
Start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
 systemctl start elasticsearch&lt;br /&gt;
&lt;br /&gt;
Start Kibana:&lt;br /&gt;
&lt;br /&gt;
 systemctl start kibana&lt;br /&gt;
&lt;br /&gt;
Start Logstash:&lt;br /&gt;
&lt;br /&gt;
 systemctl start logstash&lt;br /&gt;
&lt;br /&gt;
Make sure you can access Kibana web interface via following URL: https://ipaddress_of_your_vm:5601 (login: elastic, password: default-root-password-of-the-VM). Note that the startup process of Kibana might take several minutes before the web interface will become available.&lt;br /&gt;
&lt;br /&gt;
In order to receive syslog events from local rsyslog, configure it to send all events to Logstash. For example, set up the file /etc/rsyslog.d/logstash.conf with the following content:&lt;br /&gt;
&lt;br /&gt;
 global(maxMessageSize=&amp;quot;1024k&amp;quot;)&lt;br /&gt;
 *.*   @127.0.0.1:10514&lt;br /&gt;
&lt;br /&gt;
The global(maxMessageSize=&amp;quot;1024k&amp;quot;) directive configures the syslog message size to be higher than the default 8KB, since Suricata can produce syslog messages which are larger than 8KB.&lt;br /&gt;
&lt;br /&gt;
After creating that file, don&amp;#039;t forget to restart rsyslog:&lt;br /&gt;
&lt;br /&gt;
 systemctl restart rsyslog&lt;br /&gt;
&lt;br /&gt;
In Kibana, select &amp;quot;Stack Management&amp;quot; from the pull-down menu on the top left corner in the Kibana interface. Note that &amp;quot;Stack Management&amp;quot; is the last selection in the pull-down menu!&lt;br /&gt;
&lt;br /&gt;
Then go to Kibana-&amp;gt;Data Views, and select Create Data View:&lt;br /&gt;
* for &amp;quot;Name&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Index pattern&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Timestamp field&amp;quot;, select @timestamp&lt;br /&gt;
* after setting the above fields, select &amp;quot;Save data view to Kibana&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Generate some syslog events by accessing the web server of the virtual machine and logging in into the virtual machine over SSH. Note that already existing Logstash configuration is parsing these events. For seeing the events, select &amp;quot;Discover&amp;quot; in the Kibana pull-down menu. The web server and SSH events can be searched with the following queries:&lt;br /&gt;
&lt;br /&gt;
 program:apache&lt;br /&gt;
&lt;br /&gt;
 program:sshd&lt;br /&gt;
&lt;br /&gt;
After verifying that the web server and SSH events have been received by Kibana, you can create a dashboard for Apache web server events under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;br /&gt;
&lt;br /&gt;
In order to create a dashboard for Suricata events, you can run Suricata in IDS mode as follows for creating events for that dashboard:&lt;br /&gt;
&lt;br /&gt;
 suricata -c /etc/suricata/suricata.yaml -D --af-packet=enp0s8&lt;br /&gt;
&lt;br /&gt;
If your virtual machine has some other interface than enp0s8 connected to Host-Only Network of VirtualBox, use that interface instead in the above command line!&lt;br /&gt;
&lt;br /&gt;
You can use the following test signature in /etc/suricata/rules/local.rules for generating Suricata events:&lt;br /&gt;
&lt;br /&gt;
 alert http $EXTERNAL_NET any -&amp;gt; $HTTP_SERVERS $HTTP_PORTS (msg:&amp;quot;HTTP request for a picture file&amp;quot;; flow:established,to_server; pcre:&amp;quot;/\.(?:gif|jpg|png)$/Ui&amp;quot;;classtype:web-application-attack; sid:1000002; rev:1;)&lt;br /&gt;
&lt;br /&gt;
Also, you can use other signatures from Suricata lab for generating events.&lt;br /&gt;
&lt;br /&gt;
Already existing Logstash configuration is parsing all Suricata events, and you can search Suricata IDS alerts in Kibana with the following query:&lt;br /&gt;
&lt;br /&gt;
 program:suricata AND suricata.event_type:alert&lt;br /&gt;
&lt;br /&gt;
After verifying that the above query is showing Suricata IDS alerts, you can create a dashboard for these alerts under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12005</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12005"/>
		<updated>2025-12-01T14:10:06Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Description of the graded lab ===&lt;br /&gt;
&lt;br /&gt;
During the graded lab, two Kibana dashboard have to be created, with each dashboard containing &amp;#039;&amp;#039;&amp;#039;at least 7&amp;#039;&amp;#039;&amp;#039; visualizations that display different data. Note that each created dashboard must feature &amp;#039;&amp;#039;&amp;#039;at least 5&amp;#039;&amp;#039;&amp;#039; different visualization types (for example, pie chart, bar chart, table, event counter, etc.). The Kibana dashboards &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; be created for &amp;#039;&amp;#039;&amp;#039;syslog events of one type received with Logstash&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* the first dashbord -- Apache web server events&lt;br /&gt;
* the second dashboard -- Suricata IDS alerts&lt;br /&gt;
&lt;br /&gt;
Dashboards created for events received from Filebeat are &amp;#039;&amp;#039;&amp;#039;not accepted&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Instructions for setting up the course virtual machine for the graded lab ===&lt;br /&gt;
&lt;br /&gt;
Since the course virtual machine needs more resources for the graded lab than pre-configured defaults, increase the amount of RAM to at least 4GB and the number of CPUs to at least 2.&lt;br /&gt;
&lt;br /&gt;
Start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
 systemctl start elasticsearch&lt;br /&gt;
&lt;br /&gt;
Start Kibana:&lt;br /&gt;
&lt;br /&gt;
 systemctl start kibana&lt;br /&gt;
&lt;br /&gt;
Start Logstash:&lt;br /&gt;
&lt;br /&gt;
 systemctl start logstash&lt;br /&gt;
&lt;br /&gt;
Make sure you can access Kibana web interface via following URL: https://ipaddress_of_your_vm:5601 (login: elastic, password: default-root-password-of-the-VM). Note that the startup process of Kibana might take several minutes before the web interface will become available.&lt;br /&gt;
&lt;br /&gt;
In order to receive syslog events from local rsyslog, configure it to send all events to Logstash. For example, set up the file /etc/rsyslog.d/logstash.conf with the following content:&lt;br /&gt;
&lt;br /&gt;
 global(maxMessageSize=&amp;quot;1024k&amp;quot;)&lt;br /&gt;
 *.*   @127.0.0.1:10514&lt;br /&gt;
&lt;br /&gt;
The global(maxMessageSize=&amp;quot;1024k&amp;quot;) directive configures the syslog message size to be higher than the default 8KB, since Suricata can produce syslog messages which are larger than 8KB.&lt;br /&gt;
&lt;br /&gt;
After creating that file, don&amp;#039;t forget to restart rsyslog:&lt;br /&gt;
&lt;br /&gt;
 systemctl restart rsyslog&lt;br /&gt;
&lt;br /&gt;
In Kibana, select &amp;quot;Stack Management&amp;quot; from the pull-down menu on the top left corner in the Kibana interface. Note that &amp;quot;Stack Management&amp;quot; is the last selection in the pull-down menu!&lt;br /&gt;
&lt;br /&gt;
Then go to Kibana-&amp;gt;Data Views, and select Create Data View:&lt;br /&gt;
* for &amp;quot;Name&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Index pattern&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Timestamp field&amp;quot;, select @timestamp&lt;br /&gt;
* after setting the above fields, select &amp;quot;Save data view to Kibana&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Generate some syslog events by accessing the web server of the virtual machine and logging in into the virtual machine over SSH. Note that already existing Logstash configuration is parsing these events. For seeing the events, select &amp;quot;Discover&amp;quot; in the Kibana pull-down menu. The web server and SSH events can be searched with the following queries:&lt;br /&gt;
&lt;br /&gt;
 program:apache&lt;br /&gt;
&lt;br /&gt;
 program:sshd&lt;br /&gt;
&lt;br /&gt;
After verifying that the web server and SSH events have been received by Kibana, you can create a dashboard for Apache web server events under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;br /&gt;
&lt;br /&gt;
In order to create a dashboard for Suricata events, you can run Suricata in IDS mode as follows for creating events for that dashboard:&lt;br /&gt;
&lt;br /&gt;
 suricata -c /etc/suricata/suricata.yaml -D --af-packet=enp0s8&lt;br /&gt;
&lt;br /&gt;
If your virtual machine has some other interface than enp0s8 connected to Host-Only Network of VirtualBox, use that interface instead in the above command line!&lt;br /&gt;
&lt;br /&gt;
You can use the following test signature in /etc/suricata/rules/local.rules for generating Suricata events:&lt;br /&gt;
&lt;br /&gt;
 alert http $EXTERNAL_NET any -&amp;gt; $HTTP_SERVERS $HTTP_PORTS (msg:&amp;quot;HTTP request for a picture file&amp;quot;; flow:established,to_server; pcre:&amp;quot;/\.(?:gif|jpg|png)$/Ui&amp;quot;;classtype:web-application-attack; sid:1000002; rev:1;)&lt;br /&gt;
&lt;br /&gt;
Also, you can use other signatures from Suricata lab for generating events.&lt;br /&gt;
&lt;br /&gt;
Already existing Logstash configuration is parsing all Suricata events, and you can search these events in Kibana with the following query:&lt;br /&gt;
&lt;br /&gt;
 program:suricata AND suricata.event_type:alert&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12004</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12004"/>
		<updated>2025-12-01T12:26:06Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Description of the graded lab ===&lt;br /&gt;
&lt;br /&gt;
During the graded lab, two Kibana dashboard have to be created, with each dashboard containing &amp;#039;&amp;#039;&amp;#039;at least 7&amp;#039;&amp;#039;&amp;#039; visualizations that display different data. Note that each created dashboard must feature &amp;#039;&amp;#039;&amp;#039;at least 5&amp;#039;&amp;#039;&amp;#039; different visualization types (for example, pie chart, bar chart, table, event counter, etc.). The Kibana dashboards &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; be created for &amp;#039;&amp;#039;&amp;#039;syslog events of one type received with Logstash&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* the first dashbord -- Apache web server events&lt;br /&gt;
* the second dashboard -- Suricata IDS alerts&lt;br /&gt;
&lt;br /&gt;
Dashboards created for events received from Filebeat are &amp;#039;&amp;#039;&amp;#039;not accepted&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Instructions for setting up the course virtual machine for the graded lab ===&lt;br /&gt;
&lt;br /&gt;
Since the course virtual machine needs more resources for the graded lab than pre-configured defaults, increase the amount of RAM to at least 4GB and the number of CPUs to at least 2.&lt;br /&gt;
&lt;br /&gt;
Start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
 systemctl start elasticsearch&lt;br /&gt;
&lt;br /&gt;
Start Kibana:&lt;br /&gt;
&lt;br /&gt;
 systemctl start kibana&lt;br /&gt;
&lt;br /&gt;
Start Logstash:&lt;br /&gt;
&lt;br /&gt;
 systemctl start logstash&lt;br /&gt;
&lt;br /&gt;
Make sure you can access Kibana web interface via following URL: https://ipaddress_of_your_vm:5601 (login: elastic, password: default-root-password-of-the-VM). Note that the startup process of Kibana might take several minutes before the web interface will become available.&lt;br /&gt;
&lt;br /&gt;
In order to receive syslog events from local rsyslog, configure it to send all events to Logstash. For example, set up the file /etc/rsyslog.d/logstash.conf with the following content:&lt;br /&gt;
&lt;br /&gt;
 global(maxMessageSize=&amp;quot;1024k&amp;quot;)&lt;br /&gt;
 *.*   @127.0.0.1:10514&lt;br /&gt;
&lt;br /&gt;
The global(maxMessageSize=&amp;quot;1024k&amp;quot;) directive configures the syslog message size to be higher than the default 8KB, since Suricata can produce syslog messages which are larger than 8KB.&lt;br /&gt;
&lt;br /&gt;
After creating that file, don&amp;#039;t forget to restart rsyslog:&lt;br /&gt;
&lt;br /&gt;
 systemctl restart rsyslog&lt;br /&gt;
&lt;br /&gt;
In Kibana, select &amp;quot;Stack Management&amp;quot; from the pull-down menu on the top left corner in the Kibana interface. Note that &amp;quot;Stack Management&amp;quot; is the last selection in the pull-down menu!&lt;br /&gt;
&lt;br /&gt;
Then go to Kibana-&amp;gt;Data Views, and select Create Data View:&lt;br /&gt;
* for &amp;quot;Name&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Index pattern&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Timestamp field&amp;quot;, select @timestamp&lt;br /&gt;
* after setting the above fields, select &amp;quot;Save data view to Kibana&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Generate some syslog events by accessing the web server of the virtual machine and logging in into the virtual machine over SSH. Note that already existing Logstash configuration is parsing these events. For seeing the events, select &amp;quot;Discover&amp;quot; in the Kibana pull-down menu. The web server and SSH events can be searched with the following queries:&lt;br /&gt;
&lt;br /&gt;
 program:apache&lt;br /&gt;
&lt;br /&gt;
 program:sshd&lt;br /&gt;
&lt;br /&gt;
After verifying that the web server and SSH events have been received by Kibana, you can create a dashboard for Apache web server events under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;br /&gt;
&lt;br /&gt;
In order to create a dashboard for Suricata events, you can run Suricata in IDS mode as follows for creating events for that dashboard:&lt;br /&gt;
&lt;br /&gt;
 suricata -c /etc/suricata/suricata.yaml -D --af-packet=enp0s8&lt;br /&gt;
&lt;br /&gt;
If your virtual machine has some other interface than enp0s8 connected to Host-Only Network of VirtualBox, use that interface instead in the above command line!&lt;br /&gt;
&lt;br /&gt;
You can use the following test signature in /etc/suricata/rules/local.rules for generating Suricata events:&lt;br /&gt;
&lt;br /&gt;
 alert http $EXTERNAL_NET any -&amp;gt; $HTTP_SERVERS $HTTP_PORTS (msg:&amp;quot;HTTP request for a picture file&amp;quot;; flow:established,to_server; pcre:&amp;quot;/\.(?:gif|jpg|png)$/Ui&amp;quot;;classtype:web-application-attack; sid:4000002; rev:1;)&lt;br /&gt;
&lt;br /&gt;
Also, you can use other signatures from Suricata lab for generating events.&lt;br /&gt;
&lt;br /&gt;
Already existing Logstash configuration is parsing all Suricata events, and you can search these events in Kibana with the following query:&lt;br /&gt;
&lt;br /&gt;
 program:suricata AND suricata.event_type:alert&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12003</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=12003"/>
		<updated>2025-12-01T12:24:41Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Description of the graded lab ===&lt;br /&gt;
&lt;br /&gt;
During the graded lab, two Kibana dashboard have to be created, with each dashboard containing at least 7 visualizations that display different data. Note that each created dashboard must feature at least 5 different visualization types (for example, pie chart, bar chart, table, event counter, etc.). The Kibana dashboards &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; be created for &amp;#039;&amp;#039;&amp;#039;syslog events of one type received with Logstash&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* the first dashbord -- Apache web server events&lt;br /&gt;
* the second dashboard -- Suricata IDS alerts&lt;br /&gt;
&lt;br /&gt;
Dashboards created for events received from Filebeat are &amp;#039;&amp;#039;&amp;#039;not accepted&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Instructions for setting up the course virtual machine for the graded lab ===&lt;br /&gt;
&lt;br /&gt;
Since the course virtual machine needs more resources for the graded lab than pre-configured defaults, increase the amount of RAM to at least 4GB and the number of CPUs to at least 2.&lt;br /&gt;
&lt;br /&gt;
Start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
 systemctl start elasticsearch&lt;br /&gt;
&lt;br /&gt;
Start Kibana:&lt;br /&gt;
&lt;br /&gt;
 systemctl start kibana&lt;br /&gt;
&lt;br /&gt;
Start Logstash:&lt;br /&gt;
&lt;br /&gt;
 systemctl start logstash&lt;br /&gt;
&lt;br /&gt;
Make sure you can access Kibana web interface via following URL: https://ipaddress_of_your_vm:5601 (login: elastic, password: default-root-password-of-the-VM). Note that the startup process of Kibana might take several minutes before the web interface will become available.&lt;br /&gt;
&lt;br /&gt;
In order to receive syslog events from local rsyslog, configure it to send all events to Logstash. For example, set up the file /etc/rsyslog.d/logstash.conf with the following content:&lt;br /&gt;
&lt;br /&gt;
 global(maxMessageSize=&amp;quot;1024k&amp;quot;)&lt;br /&gt;
 *.*   @127.0.0.1:10514&lt;br /&gt;
&lt;br /&gt;
The global(maxMessageSize=&amp;quot;1024k&amp;quot;) directive configures the syslog message size to be higher than the default 8KB, since Suricata can produce syslog messages which are larger than 8KB.&lt;br /&gt;
&lt;br /&gt;
After creating that file, don&amp;#039;t forget to restart rsyslog:&lt;br /&gt;
&lt;br /&gt;
 systemctl restart rsyslog&lt;br /&gt;
&lt;br /&gt;
In Kibana, select &amp;quot;Stack Management&amp;quot; from the pull-down menu on the top left corner in the Kibana interface. Note that &amp;quot;Stack Management&amp;quot; is the last selection in the pull-down menu!&lt;br /&gt;
&lt;br /&gt;
Then go to Kibana-&amp;gt;Data Views, and select Create Data View:&lt;br /&gt;
* for &amp;quot;Name&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Index pattern&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Timestamp field&amp;quot;, select @timestamp&lt;br /&gt;
* after setting the above fields, select &amp;quot;Save data view to Kibana&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Generate some syslog events by accessing the web server of the virtual machine and logging in into the virtual machine over SSH. Note that already existing Logstash configuration is parsing these events. For seeing the events, select &amp;quot;Discover&amp;quot; in the Kibana pull-down menu. The web server and SSH events can be searched with the following queries:&lt;br /&gt;
&lt;br /&gt;
 program:apache&lt;br /&gt;
&lt;br /&gt;
 program:sshd&lt;br /&gt;
&lt;br /&gt;
After verifying that the web server and SSH events have been received by Kibana, you can create a dashboard for Apache web server events under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;br /&gt;
&lt;br /&gt;
In order to create a dashboard for Suricata events, you can run Suricata in IDS mode as follows for creating events for that dashboard:&lt;br /&gt;
&lt;br /&gt;
 suricata -c /etc/suricata/suricata.yaml -D --af-packet=enp0s8&lt;br /&gt;
&lt;br /&gt;
If your virtual machine has some other interface than enp0s8 connected to Host-Only Network of VirtualBox, use that interface instead in the above command line!&lt;br /&gt;
&lt;br /&gt;
You can use the following test signature in /etc/suricata/rules/local.rules for generating Suricata events:&lt;br /&gt;
&lt;br /&gt;
 alert http $EXTERNAL_NET any -&amp;gt; $HTTP_SERVERS $HTTP_PORTS (msg:&amp;quot;HTTP request for a picture file&amp;quot;; flow:established,to_server; pcre:&amp;quot;/\.(?:gif|jpg|png)$/Ui&amp;quot;;classtype:web-application-attack; sid:4000002; rev:1;)&lt;br /&gt;
&lt;br /&gt;
Also, you can use other signatures from Suricata lab for generating events.&lt;br /&gt;
&lt;br /&gt;
Already existing Logstash configuration is parsing all Suricata events, and you can search these events in Kibana with the following query:&lt;br /&gt;
&lt;br /&gt;
 program:suricata AND suricata.event_type:alert&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11990</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11990"/>
		<updated>2025-11-13T16:27:50Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
=== Create SEC rules that accomplish the following event correlation task: ===&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be &amp;#039;&amp;#039;&amp;#039;fully functional&amp;#039;&amp;#039;&amp;#039; even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; interfere with each other).&lt;br /&gt;
&lt;br /&gt;
=== Some hints for accomplishing this assignment: ===&lt;br /&gt;
&lt;br /&gt;
* consider the technique outlined on slides 17-18 of Module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf),&lt;br /&gt;
* make sure you have a good understanding of the lab assignment solutions of Modules 6 and 7.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11980</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11980"/>
		<updated>2025-10-29T15:17:34Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, extra points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides 5 extra points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following when opting for the distance learning path:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab topics is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to the course home page -- don&amp;#039;t forget to compare your work with posted solutions!&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
* Because homework assignments allow the students to work as a group, it is recommended to join some group by looking potential cooperation partners through the course MS Teams group&lt;br /&gt;
* Since the course is offering extra points in addition to regular ones, it is recommended to collect as many extra points as possible for improving your final grade&lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Exam can be taken during one of the following time slots:&lt;br /&gt;
&lt;br /&gt;
* December 15 2025, 17:45-21:00, room ICT-401&lt;br /&gt;
* January 5 2026, 15:45-19:00, room ICT-701&lt;br /&gt;
* January 12 2026, 15:45-19:00, room ICT-701&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-exam can be taken on January 12 2026 at 15:45-17:00 in room ICT-701.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11979</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11979"/>
		<updated>2025-10-29T14:50:41Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
=== Create SEC rules that accomplish the following event correlation task: ===&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be &amp;#039;&amp;#039;&amp;#039;fully functional&amp;#039;&amp;#039;&amp;#039; even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; interfere with each other).&lt;br /&gt;
&lt;br /&gt;
=== Some hints for accomplishing this assignment: ===&lt;br /&gt;
&lt;br /&gt;
* consider the technique outlined on slides 17-18 of Module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11978</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11978"/>
		<updated>2025-10-29T14:49:44Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
=== Create SEC rules that accomplish the following event correlation task: ===&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be &amp;#039;&amp;#039;&amp;#039;fully functional&amp;#039;&amp;#039;&amp;#039; even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; interfere with each other).&lt;br /&gt;
&lt;br /&gt;
=== Some hints for accomplishing this assignment: ===&lt;br /&gt;
&lt;br /&gt;
* consider the technique outlined on slides 17-18 of module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11977</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11977"/>
		<updated>2025-10-29T14:48:14Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
=== Create SEC rules that accomplish the following event correlation task: ===&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be fully functional even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
=== Some hints for accomplishing this assignment: ===&lt;br /&gt;
&lt;br /&gt;
* consider the technique outlined on slides 17-18 of module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11976</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11976"/>
		<updated>2025-10-29T14:48:01Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
=== Create SEC rules that accomplish the following event correlation task: ===&lt;br /&gt;
&lt;br /&gt;
# if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
# if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be fully functional even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
=== Some hints for accomplishing this assignment: ===&lt;br /&gt;
&lt;br /&gt;
* consider the technique outlined on slides 17-18 of module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11975</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11975"/>
		<updated>2025-10-29T14:46:58Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
=== Create SEC rules that accomplish the following event correlation task: ===&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be fully functional even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
=== Some hints for accomplishing this assignment: ===&lt;br /&gt;
&lt;br /&gt;
* consider the technique outlined on slides 17-18 of module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11974</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11974"/>
		<updated>2025-10-29T14:46:35Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
=== Create SEC rules that accomplish the following event correlation task: ===&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be fully functional even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
==== Some hints for accomplishing this assignment: ====&lt;br /&gt;
&lt;br /&gt;
* consider the technique outlined on slides 17-18 of module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11973</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11973"/>
		<updated>2025-10-29T14:45:44Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
Create SEC rules that accomplish the following event correlation task:&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be fully functional even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
Some hints for accomplishing this assignment:&lt;br /&gt;
* consider the technique outlined on slides 17-18 of module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11972</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11972"/>
		<updated>2025-10-29T14:45:13Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
Create SEC rules that accomplish the following event correlation task:&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;br /&gt;
&lt;br /&gt;
Note that all parts of the solution must be fully functional even when port probing or user account probing is conducted from &amp;#039;&amp;#039;&amp;#039;several hosts in parallel&amp;#039;&amp;#039;&amp;#039; (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
Some hints for accomplishing this assignment:&lt;br /&gt;
* consider the technique provided in slides 17-18 of module 7,&lt;br /&gt;
* as an alternative, consider the technique described in section 6.4 of the SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11971</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11971"/>
		<updated>2025-10-29T14:39:59Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
Create SEC rules that accomplish the following event correlation task:&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;br /&gt;
&lt;br /&gt;
2) if a host has been previously memorized as suspicious, and from this host 3 distinct non-existing user accounts are probed over SSH within 1 minute, send an alert e-mail to the local root user (root@localhost). After e-mail has been sent, disable all further alert e-mails for the same host for the following 3 hours.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the host 192.168.56.1 has been memorized as suspicious less than 1 hour ago, and the following events are observed:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:36:09 localhost sshd[1336]: Failed none for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:10 localhost sshd[1336]: Failed password for invalid user admin from 192.168.56.1 port 36404 ssh2&lt;br /&gt;
 Nov  7 14:36:16 localhost sshd[1338]: Failed password for invalid user oracle from 192.168.56.1 port 36406 ssh2&lt;br /&gt;
 Nov  7 14:36:50 localhost sshd[1340]: Failed none for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
 Nov  7 14:36:53 localhost sshd[1340]: Failed password for invalid user sybase from 192.168.56.1 port 36412 ssh2&lt;br /&gt;
&lt;br /&gt;
Since 3 distinct non-existing user accounts admin, oracle, and sybase have been probed over SSH from suspicious host 192.168.56.1 within 1 minute, an alert e-mail about this host must be sent to root@localhost at 14:36:50. Also, further alerting must be disabled for 192.168.56.1 for 3 hours.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11970</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11970"/>
		<updated>2025-10-29T14:39:01Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7.&lt;br /&gt;
&lt;br /&gt;
Create SEC rules that accomplish the following event correlation task:&lt;br /&gt;
&lt;br /&gt;
1) if netfilter firewall blocked packet events have been seen for the same host repeatedly during 2 minutes, so that the host has probed at least 5 distinct TCP and/or UDP ports, memorize that host for the following 1 hour as suspicious host. Note that ports must be distinguished not only by port number, but transport protocol should also be considered (for example, ports 53/tcp and 53/udp must be regarded different).&lt;br /&gt;
&lt;br /&gt;
For example, if the following events appear for host 192.168.56.1, this host should be memorized as suspicious, since it has probed 5 distinct ports 161/udp, 21/tcp, 23/tcp, 25/tcp, and 123/udp within 2 minutes:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 14:14:48 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=32591 DF PROTO=UDP SPT=46062 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:06 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=34001 DF PROTO=UDP SPT=37036 DPT=161 LEN=12 &lt;br /&gt;
 Nov  7 14:15:18 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=37323 DF PROTO=TCP SPT=38954 DPT=21 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:22 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3465 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:15:23 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3466 DF PROTO=TCP SPT=51418 DPT=23 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:01 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60601 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:02 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=60602 DF PROTO=TCP SPT=50250 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0 &lt;br /&gt;
 Nov  7 14:16:46 localhost kernel: iptables: IN=enp0s8 OUT= MAC=08:00:27:ce:72:9a:0a:00:27:00:00:00:08:00 SRC=192.168.56.1 DST=192.168.56.103 LEN=32 TOS=0x00 PREC=0x00 TTL=64 ID=39224 DF PROTO=UDP SPT=41553 DPT=123 LEN=12&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11934</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11934"/>
		<updated>2025-09-22T09:18:25Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
=== Please write a regular expression for matching the sequence of software module names and optional version numbers, so that the sequence will follow these rules: ===&lt;br /&gt;
&lt;br /&gt;
* The sequence consists of one or more parts. If there are two or more parts, they are separated with a comma (&amp;quot;,&amp;quot;) character.&lt;br /&gt;
&lt;br /&gt;
* Each part of the sequence is a software module name which is optionally followed by a version number. If the version number is present, there must be a dash (&amp;quot;-&amp;quot;) character between the software module name and the version number. If there is no version number, the use of dash character after the software module name is not permitted.&lt;br /&gt;
&lt;br /&gt;
* Software module name must contain at least one character and must begin with a letter, and may contain letters and digits only. &lt;br /&gt;
&lt;br /&gt;
* The version number consists of one or more elements. If there are two or more version number elements, these elements must be separated with a dot (&amp;quot;.&amp;quot;) character. Note that the dot character may not appear before the first or after the last element. Each version number element must be a sequence of one or more digits which may be optionally followed by one letter.&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, &amp;#039;&amp;#039;&amp;#039;one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool&amp;#039;&amp;#039;&amp;#039;. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must match: ===&lt;br /&gt;
&lt;br /&gt;
 m4-1.4.16&lt;br /&gt;
(the sequence has one valid part -- a software module name with a version number of 3 elements) &lt;br /&gt;
&lt;br /&gt;
 coreutils,pcre-8.32&lt;br /&gt;
(the sequence has two valid parts -- note that the first part does not have a version number) &lt;br /&gt;
&lt;br /&gt;
 libtasn1-4.09a,GeoIP-1.5.0,iwl6000g2a&lt;br /&gt;
(the sequence has three valid parts, with the first and second parts having version numbers) &lt;br /&gt;
&lt;br /&gt;
 iwl2030,a12bcd3456ef78gh,mydatabase-13i.222.5b,e2fsprogs,PyYAML&lt;br /&gt;
(the sequence has five valid parts, where only the third part has a version number)&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must NOT match: ===&lt;br /&gt;
&lt;br /&gt;
 coreutils, pcre-8.32&lt;br /&gt;
(the second part begins with a space character which is illegal) &lt;br /&gt;
&lt;br /&gt;
 coreutils 8.22,pcre--8.32&lt;br /&gt;
(the first part contains a space character which is illegal; also, in the second part the software module name and version number are separated by two dash characters which is illegal) &lt;br /&gt;
&lt;br /&gt;
 m4-1.4.16,&lt;br /&gt;
(the first part ends with comma, but there is no following second part) &lt;br /&gt;
&lt;br /&gt;
 my_db&lt;br /&gt;
(the software module name contains an illegal character _) &lt;br /&gt;
&lt;br /&gt;
 mydb-11A3.1&lt;br /&gt;
(the first version number element contains a character A, but A is not the last character of the version number element) &lt;br /&gt;
&lt;br /&gt;
 mydb-11..2&lt;br /&gt;
(version number contains two dots, but there is no version number element between them) &lt;br /&gt;
&lt;br /&gt;
 mydb-&lt;br /&gt;
(software module name is followed by -, but there is no version number) &lt;br /&gt;
&lt;br /&gt;
 mydb-12ab.1&lt;br /&gt;
(the first version number element ends with more than one letter which is illegal)&lt;br /&gt;
&lt;br /&gt;
 mydb,,mydaemon&lt;br /&gt;
(the second part of the sequence is empty) &lt;br /&gt;
&lt;br /&gt;
 !&amp;quot;libtasn1-4.09a,GeoIP-1.5.0,iwl6000g2a&lt;br /&gt;
(the sequence begins with illegal characters) &lt;br /&gt;
&lt;br /&gt;
 coreutils-8.22,pcre-8.32+%&lt;br /&gt;
(the sequence ends with illegal characters)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11933</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11933"/>
		<updated>2025-09-22T09:17:54Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
==== Please write a regular expression for matching the sequence of software module names and optional version numbers, so that the sequence will follow these rules:====&lt;br /&gt;
&lt;br /&gt;
* The sequence consists of one or more parts. If there are two or more parts, they are separated with a comma (&amp;quot;,&amp;quot;) character.&lt;br /&gt;
&lt;br /&gt;
* Each part of the sequence is a software module name which is optionally followed by a version number. If the version number is present, there must be a dash (&amp;quot;-&amp;quot;) character between the software module name and the version number. If there is no version number, the use of dash character after the software module name is not permitted.&lt;br /&gt;
&lt;br /&gt;
* Software module name must contain at least one character and must begin with a letter, and may contain letters and digits only. &lt;br /&gt;
&lt;br /&gt;
* The version number consists of one or more elements. If there are two or more version number elements, these elements must be separated with a dot (&amp;quot;.&amp;quot;) character. Note that the dot character may not appear before the first or after the last element. Each version number element must be a sequence of one or more digits which may be optionally followed by one letter.&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, &amp;#039;&amp;#039;&amp;#039;one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool&amp;#039;&amp;#039;&amp;#039;. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
====Examples of sequences the regular expression must match:====&lt;br /&gt;
&lt;br /&gt;
 m4-1.4.16&lt;br /&gt;
(the sequence has one valid part -- a software module name with a version number of 3 elements) &lt;br /&gt;
&lt;br /&gt;
 coreutils,pcre-8.32&lt;br /&gt;
(the sequence has two valid parts -- note that the first part does not have a version number) &lt;br /&gt;
&lt;br /&gt;
 libtasn1-4.09a,GeoIP-1.5.0,iwl6000g2a&lt;br /&gt;
(the sequence has three valid parts, with the first and second parts having version numbers) &lt;br /&gt;
&lt;br /&gt;
 iwl2030,a12bcd3456ef78gh,mydatabase-13i.222.5b,e2fsprogs,PyYAML&lt;br /&gt;
(the sequence has five valid parts, where only the third part has a version number)&lt;br /&gt;
&lt;br /&gt;
====Examples of sequences the regular expression must NOT match:====&lt;br /&gt;
&lt;br /&gt;
 coreutils, pcre-8.32&lt;br /&gt;
(the second part begins with a space character which is illegal) &lt;br /&gt;
&lt;br /&gt;
 coreutils 8.22,pcre--8.32&lt;br /&gt;
(the first part contains a space character which is illegal; also, in the second part the software module name and version number are separated by two dash characters which is illegal) &lt;br /&gt;
&lt;br /&gt;
 m4-1.4.16,&lt;br /&gt;
(the first part ends with comma, but there is no following second part) &lt;br /&gt;
&lt;br /&gt;
 my_db&lt;br /&gt;
(the software module name contains an illegal character _) &lt;br /&gt;
&lt;br /&gt;
 mydb-11A3.1&lt;br /&gt;
(the first version number element contains a character A, but A is not the last character of the version number element) &lt;br /&gt;
&lt;br /&gt;
 mydb-11..2&lt;br /&gt;
(version number contains two dots, but there is no version number element between them) &lt;br /&gt;
&lt;br /&gt;
 mydb-&lt;br /&gt;
(software module name is followed by -, but there is no version number) &lt;br /&gt;
&lt;br /&gt;
 mydb-12ab.1&lt;br /&gt;
(the first version number element ends with more than one letter which is illegal)&lt;br /&gt;
&lt;br /&gt;
 mydb,,mydaemon&lt;br /&gt;
(the second part of the sequence is empty) &lt;br /&gt;
&lt;br /&gt;
 !&amp;quot;libtasn1-4.09a,GeoIP-1.5.0,iwl6000g2a&lt;br /&gt;
(the sequence begins with illegal characters) &lt;br /&gt;
&lt;br /&gt;
 coreutils-8.22,pcre-8.32+%&lt;br /&gt;
(the sequence ends with illegal characters)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11932</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11932"/>
		<updated>2025-09-22T09:16:27Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
==== Please write a regular expression for matching the sequence of software module names and optional version numbers, so that the sequence will follow these rules:====&lt;br /&gt;
&lt;br /&gt;
* The sequence consists of one or more parts. If there are two or more parts, they are separated with a comma (&amp;quot;,&amp;quot;) character.&lt;br /&gt;
&lt;br /&gt;
* Each part of the sequence is a software module name which is optionally followed by a version number. If the version number is present, there must be a dash (&amp;quot;-&amp;quot;) character between the software module name and the version number. If there is no version number, the use of dash character after the software module name is not permitted.&lt;br /&gt;
&lt;br /&gt;
* Software module name must contain at least one character and must begin with a letter, and may contain letters and digits only. &lt;br /&gt;
&lt;br /&gt;
* The version number consists of one or more elements. If there are two or more version number elements, these elements must be separated with a dot (&amp;quot;.&amp;quot;) character. Note that the dot character may not appear before the first or after the last element. Each version number element must be a sequence of one or more digits which may be optionally followed by one letter.&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, &amp;#039;&amp;#039;&amp;#039;one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool&amp;#039;&amp;#039;&amp;#039;. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
====Examples of sequences the regular expression must match:====&lt;br /&gt;
&lt;br /&gt;
 m4-1.4.16&lt;br /&gt;
(the sequence has one valid part -- a software module name with a version number of 3 elements) &lt;br /&gt;
&lt;br /&gt;
 coreutils,pcre-8.32&lt;br /&gt;
(the sequence has two valid parts -- note that the first part does not have a version number) &lt;br /&gt;
&lt;br /&gt;
 libtasn1-4.09a,GeoIP-1.5.0,iwl6000g2a&lt;br /&gt;
(the sequence has three valid parts, with the first and second parts having version numbers) &lt;br /&gt;
&lt;br /&gt;
 iwl2030,a12bcd3456ef78gh,mydatabase-13i.222.5b,e2fsprogs,PyYAML&lt;br /&gt;
(the sequence has five valid parts, where only the third part has a version number)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11931</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11931"/>
		<updated>2025-09-22T09:15:01Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
Please write a regular expression for matching the sequence of software module names and optional version numbers, so that the sequence will follow these rules:&lt;br /&gt;
&lt;br /&gt;
* The sequence consists of one or more parts. If there are two or more parts, they are separated with a comma (&amp;quot;,&amp;quot;) character.&lt;br /&gt;
&lt;br /&gt;
* Each part of the sequence is a software module name which is optionally followed by a version number. If the version number is present, there must be a dash (&amp;quot;-&amp;quot;) character between the software module name and the version number. If there is no version number, the use of dash character after the software module name is not permitted.&lt;br /&gt;
&lt;br /&gt;
* Software module name must contain at least one character and must begin with a letter, and may contain letters and digits only. &lt;br /&gt;
&lt;br /&gt;
* The version number consists of one or more elements. If there are two or more version number elements, these elements must be separated with a dot (&amp;quot;.&amp;quot;) character. Note that the dot character may not appear before the first or after the last element. Each version number element must be a sequence of one or more digits which may be optionally followed by one letter.&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11892</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11892"/>
		<updated>2025-09-01T11:20:45Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, extra points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides 5 extra points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following when opting for the distance learning path:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab topics is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to the course home page -- don&amp;#039;t forget to compare your work with posted solutions!&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
* Because homework assignments allow the students to work as a group, it is recommended to join some group by looking potential cooperation partners through the course MS Teams group&lt;br /&gt;
* Since the course is offering extra points in addition to regular ones, it is recommended to collect as many extra points as possible for improving your final grade&lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11885</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11885"/>
		<updated>2025-08-28T09:48:42Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, extra points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides 5 extra points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following when opting for the distance learning path:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab topics is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to the course home page -- don&amp;#039;t forget to compare your work with posted solutions&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11884</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11884"/>
		<updated>2025-08-28T09:37:49Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides 5 extra points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following when opting for the distance learning path:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab topics is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to the course home page -- don&amp;#039;t forget to compare your work with posted solutions&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11883</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11883"/>
		<updated>2025-08-27T10:19:12Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following when opting for the distance learning path:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab topics is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to the course home page -- don&amp;#039;t forget to compare your work with posted solutions&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11882</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11882"/>
		<updated>2025-08-27T10:15:43Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following when opting for the distance learning path:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab topics is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to the course home page -- don&amp;#039;t forget to compare your work with posted solutions&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11881</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11881"/>
		<updated>2025-08-27T10:13:58Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following when opting for the distance learning path:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab topics is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to course home page -- don&amp;#039;t forget to compare your work with posted solutions&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11880</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11880"/>
		<updated>2025-08-27T10:06:32Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab assignments is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to course home page -- don&amp;#039;t forget to compare your work with posted solutions&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11879</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11879"/>
		<updated>2025-08-27T10:05:06Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Notes about distance learning ==&lt;br /&gt;
&lt;br /&gt;
In the case you are not able to attend lectures and labs physically, the course can be taken in a distance learning setting. However, you should consider the following:&lt;br /&gt;
&lt;br /&gt;
* All course slides and prerecorded lecture video clips can be accessed through Moodle&lt;br /&gt;
* Lab assignments can be found at the end of each lecture slideset (slides with the title &amp;quot;Tasks&amp;quot;)&lt;br /&gt;
* Make sure that you solve all lab assignments on the course virtual machine -- examination tasks are similar to lab assignments and having a good understanding of the lab assignments is essential for passing the final exam&lt;br /&gt;
* Lab assignment solutions with comments are regularly posted to course home page -- don&amp;#039;t forget to compare your work with posted solutions&lt;br /&gt;
* Check the course home page regularly for new homework assignments, assignment deadlines, and other important information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=11878</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=11878"/>
		<updated>2025-08-25T08:08:10Z</updated>

		<summary type="html">&lt;p&gt;Risto: Lehekülg asendatud tekstiga &amp;#039;To be announced during the semester.&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To be announced during the semester.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11877</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11877"/>
		<updated>2025-08-25T08:07:20Z</updated>

		<summary type="html">&lt;p&gt;Risto: Lehekülg asendatud tekstiga &amp;#039;To be announced during the semester.&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To be announced during the semester.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11876</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11876"/>
		<updated>2025-08-25T08:06:34Z</updated>

		<summary type="html">&lt;p&gt;Risto: Lehekülg asendatud tekstiga &amp;#039;To be announced during the semester.&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To be announced during the semester.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11875</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11875"/>
		<updated>2025-08-25T08:03:46Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Monday of fall semester 2025. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 1 2025 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 8 2025 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 15 2025 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 22 2025 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* September 29 2025 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 6 2025 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 13 2025 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 20 2025 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 27 2025 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 3 2025 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 10 2025 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 17 2025 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* November 24 2025 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 1 2025 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 8 2025 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1RWWofqn4AO0thk1lRbeTw6wHeZ6f6UOJ/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 8 2025 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 15 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 22 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 6 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 13 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 27 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 10 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 17 2025&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 2 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 14 2025 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination times will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=11638</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=11638"/>
		<updated>2024-12-10T13:45:23Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Description of the graded lab ===&lt;br /&gt;
&lt;br /&gt;
During the graded lab, a Kibana dashboard has to be created which contains &amp;#039;&amp;#039;&amp;#039;at least 10 visualizations&amp;#039;&amp;#039;&amp;#039; that display different data. Note that the created dashboard must feature &amp;#039;&amp;#039;&amp;#039;at least 5 different visualization types&amp;#039;&amp;#039;&amp;#039; (for example, pie chart, bar chart, table, event counter, etc.). The Kibana dashboard &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; be created for &amp;#039;&amp;#039;&amp;#039;syslog events of one type received with Logstash&amp;#039;&amp;#039;&amp;#039;, for example:&lt;br /&gt;
&lt;br /&gt;
* Apache web server events&lt;br /&gt;
* Suricata IDS alerts&lt;br /&gt;
* Iptables events&lt;br /&gt;
&lt;br /&gt;
Dashboards created for events received from Filebeat are &amp;#039;&amp;#039;&amp;#039;not accepted&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Instructions for setting up the course virtual machine for the graded lab ===&lt;br /&gt;
&lt;br /&gt;
Since the course virtual machine needs more resources for the graded lab than pre-configured defaults, increase the amount of RAM to at least 4GB and the number of CPUs to at least 2.&lt;br /&gt;
&lt;br /&gt;
Start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
 systemctl start elasticsearch&lt;br /&gt;
&lt;br /&gt;
Start Kibana:&lt;br /&gt;
&lt;br /&gt;
 systemctl start kibana&lt;br /&gt;
&lt;br /&gt;
Start Logstash:&lt;br /&gt;
&lt;br /&gt;
 systemctl start logstash&lt;br /&gt;
&lt;br /&gt;
Make sure you can access Kibana web interface via following URL: https://ipaddress_of_your_vm:5601 (login: elastic, password: default-root-password-of-the-VM). Note that the startup process of Kibana might take several minutes before the web interface will become available.&lt;br /&gt;
&lt;br /&gt;
In order to receive syslog events from local rsyslog, configure it to send all events to Logstash. For example, set up the file /etc/rsyslog.d/logstash.conf with the following content:&lt;br /&gt;
&lt;br /&gt;
 global(maxMessageSize=&amp;quot;1024k&amp;quot;)&lt;br /&gt;
 *.*   @127.0.0.1:10514&lt;br /&gt;
&lt;br /&gt;
The global(maxMessageSize=&amp;quot;1024k&amp;quot;) directive configures the syslog message size to be higher than the default 8KB, since Suricata can produce syslog messages which are larger than 8KB.&lt;br /&gt;
&lt;br /&gt;
After creating that file, don&amp;#039;t forget to restart rsyslog:&lt;br /&gt;
&lt;br /&gt;
 systemctl restart rsyslog&lt;br /&gt;
&lt;br /&gt;
In Kibana, select &amp;quot;Stack Management&amp;quot; from the pull-down menu on the top left corner in the Kibana interface. Note that &amp;quot;Stack Management&amp;quot; is the last selection in the pull-down menu!&lt;br /&gt;
&lt;br /&gt;
Then go to Kibana-&amp;gt;Data Views, and select Create Data View:&lt;br /&gt;
* for &amp;quot;Name&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Index pattern&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Timestamp field&amp;quot;, select @timestamp&lt;br /&gt;
* after setting the above fields, select &amp;quot;Save data view to Kibana&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Generate some syslog events by accessing the web server of the virtual machine and logging in into the virtual machine over SSH. Note that already existing Logstash configuration is parsing these events. For seeing the events, select &amp;quot;Discover&amp;quot; in the Kibana pull-down menu. The web server and SSH events can be searched with the following queries:&lt;br /&gt;
&lt;br /&gt;
 program:apache&lt;br /&gt;
&lt;br /&gt;
 program:sshd&lt;br /&gt;
&lt;br /&gt;
After verifying that the web server and SSH events have been received by Kibana, you can create dashboards for these events under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;br /&gt;
&lt;br /&gt;
In order to create a dashboard for Suricata events, you can run Suricata in IDS mode as follows for creating events for that dashboard:&lt;br /&gt;
&lt;br /&gt;
 suricata -c /etc/suricata/suricata.yaml -D --af-packet=enp0s8&lt;br /&gt;
&lt;br /&gt;
If your virtual machine has some other interface than enp0s8 connected to Host-Only Network of VirtualBox, use that interface instead in the above command line!&lt;br /&gt;
&lt;br /&gt;
You can use the following test signature in /etc/suricata/rules/local.rules for generating Suricata events:&lt;br /&gt;
&lt;br /&gt;
 alert http $EXTERNAL_NET any -&amp;gt; $HTTP_SERVERS $HTTP_PORTS (msg:&amp;quot;HTTP request for a picture file&amp;quot;; flow:established,to_server; pcre:&amp;quot;/\.(?:gif|jpg|png)$/Ui&amp;quot;;classtype:web-application-attack; sid:4000002; rev:1;)&lt;br /&gt;
&lt;br /&gt;
Also, you can use other signatures from Suricata lab for generating events.&lt;br /&gt;
&lt;br /&gt;
Already existing Logstash configuration is parsing all Suricata events, and you can search these events in Kibana with the following query:&lt;br /&gt;
&lt;br /&gt;
 program:suricata AND suricata.event_type:alert&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=11637</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=11637"/>
		<updated>2024-12-10T13:44:17Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Description of the graded lab ===&lt;br /&gt;
&lt;br /&gt;
During the graded lab, a Kibana dashboard has to be created which contains at least 10 visualizations that display different data. Note that the created dashboard must feature at least 5 different visualization types (for example, pie chart, bar chart, table, event counter, etc.). The Kibana dashboard &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; be created for &amp;#039;&amp;#039;&amp;#039;syslog events of one type received with Logstash&amp;#039;&amp;#039;&amp;#039;, for example:&lt;br /&gt;
&lt;br /&gt;
* Apache web server events&lt;br /&gt;
* Suricata IDS alerts&lt;br /&gt;
* Iptables events&lt;br /&gt;
&lt;br /&gt;
Dashboards created for events received from Filebeat are &amp;#039;&amp;#039;&amp;#039;not accepted&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Instructions for setting up the course virtual machine for the graded lab ===&lt;br /&gt;
&lt;br /&gt;
Since the course virtual machine needs more resources for the graded lab than pre-configured defaults, increase the amount of RAM to at least 4GB and the number of CPUs to at least 2.&lt;br /&gt;
&lt;br /&gt;
Start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
 systemctl start elasticsearch&lt;br /&gt;
&lt;br /&gt;
Start Kibana:&lt;br /&gt;
&lt;br /&gt;
 systemctl start kibana&lt;br /&gt;
&lt;br /&gt;
Start Logstash:&lt;br /&gt;
&lt;br /&gt;
 systemctl start logstash&lt;br /&gt;
&lt;br /&gt;
Make sure you can access Kibana web interface via following URL: https://ipaddress_of_your_vm:5601 (login: elastic, password: default-root-password-of-the-VM). Note that the startup process of Kibana might take several minutes before the web interface will become available.&lt;br /&gt;
&lt;br /&gt;
In order to receive syslog events from local rsyslog, configure it to send all events to Logstash. For example, set up the file /etc/rsyslog.d/logstash.conf with the following content:&lt;br /&gt;
&lt;br /&gt;
 global(maxMessageSize=&amp;quot;1024k&amp;quot;)&lt;br /&gt;
 *.*   @127.0.0.1:10514&lt;br /&gt;
&lt;br /&gt;
The global(maxMessageSize=&amp;quot;1024k&amp;quot;) directive configures the syslog message size to be higher than the default 8KB, since Suricata can produce syslog messages which are larger than 8KB.&lt;br /&gt;
&lt;br /&gt;
After creating that file, don&amp;#039;t forget to restart rsyslog:&lt;br /&gt;
&lt;br /&gt;
 systemctl restart rsyslog&lt;br /&gt;
&lt;br /&gt;
In Kibana, select &amp;quot;Stack Management&amp;quot; from the pull-down menu on the top left corner in the Kibana interface. Note that &amp;quot;Stack Management&amp;quot; is the last selection in the pull-down menu!&lt;br /&gt;
&lt;br /&gt;
Then go to Kibana-&amp;gt;Data Views, and select Create Data View:&lt;br /&gt;
* for &amp;quot;Name&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Index pattern&amp;quot;, select logstash*&lt;br /&gt;
* for &amp;quot;Timestamp field&amp;quot;, select @timestamp&lt;br /&gt;
* after setting the above fields, select &amp;quot;Save data view to Kibana&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Generate some syslog events by accessing the web server of the virtual machine and logging in into the virtual machine over SSH. Note that already existing Logstash configuration is parsing these events. For seeing the events, select &amp;quot;Discover&amp;quot; in the Kibana pull-down menu. The web server and SSH events can be searched with the following queries:&lt;br /&gt;
&lt;br /&gt;
 program:apache&lt;br /&gt;
&lt;br /&gt;
 program:sshd&lt;br /&gt;
&lt;br /&gt;
After verifying that the web server and SSH events have been received by Kibana, you can create dashboards for these events under the &amp;quot;Dashboard&amp;quot; selection of the Kibana pull-down menu.&lt;br /&gt;
&lt;br /&gt;
In order to create a dashboard for Suricata events, you can run Suricata in IDS mode as follows for creating events for that dashboard:&lt;br /&gt;
&lt;br /&gt;
 suricata -c /etc/suricata/suricata.yaml -D --af-packet=enp0s8&lt;br /&gt;
&lt;br /&gt;
If your virtual machine has some other interface than enp0s8 connected to Host-Only Network of VirtualBox, use that interface instead in the above command line!&lt;br /&gt;
&lt;br /&gt;
You can use the following test signature in /etc/suricata/rules/local.rules for generating Suricata events:&lt;br /&gt;
&lt;br /&gt;
 alert http $EXTERNAL_NET any -&amp;gt; $HTTP_SERVERS $HTTP_PORTS (msg:&amp;quot;HTTP request for a picture file&amp;quot;; flow:established,to_server; pcre:&amp;quot;/\.(?:gif|jpg|png)$/Ui&amp;quot;;classtype:web-application-attack; sid:4000002; rev:1;)&lt;br /&gt;
&lt;br /&gt;
Also, you can use other signatures from Suricata lab for generating events.&lt;br /&gt;
&lt;br /&gt;
Already existing Logstash configuration is parsing all Suricata events, and you can search these events in Kibana with the following query:&lt;br /&gt;
&lt;br /&gt;
 program:suricata AND suricata.event_type:alert&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11568</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11568"/>
		<updated>2024-11-01T21:46:30Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7. &lt;br /&gt;
&lt;br /&gt;
==== Create SEC rules that accomplish the following event correlation task: ====&lt;br /&gt;
&lt;br /&gt;
1) Monitor sshd log events for SSH probing of non-existing user accounts, and detect non-existing user accounts that have been probed over SSH from 3 distinct IP addresses within 60 seconds.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the following events appear in the log:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 12:53:11 myhost sshd[10477]: Failed password for invalid user admin2 from 10.3.6.22 port 50087 ssh2&lt;br /&gt;
 Nov  7 12:53:12 myhost sshd[10477]: Failed password for invalid user admin2 from 10.3.6.22 port 50087 ssh2&lt;br /&gt;
 Nov  7 12:53:39 myhost sshd[10479]: Failed password for invalid user oracle from 10.3.6.24 port 9899 ssh2&lt;br /&gt;
 Nov  7 12:53:40 myhost sshd[10479]: Failed password for invalid user oracle from 10.3.6.24 port 9899 ssh2&lt;br /&gt;
 Nov  7 12:53:55 myhost sshd[10499]: Failed password for invalid user oracle from 10.2.9.99 port 6133 ssh2&lt;br /&gt;
 Nov  7 12:54:01 myhost sshd[10527]: Failed publickey for invalid user admin2 from 10.1.2.52 port 40106 ssh2&lt;br /&gt;
 Nov  7 12:54:02 myhost sshd[10527]: Failed publickey for invalid user admin2 from 10.1.2.52 port 40106 ssh2&lt;br /&gt;
 Nov  7 12:54:07 myhost sshd[10543]: Failed password for invalid user admin2 from 10.17.8.9 port 32444 ssh2&lt;br /&gt;
&lt;br /&gt;
When above events appear, SSH probing for non-existing user admin2 should be reported, since this user was probed between 12:53:11 and 12:54:07 from 3 distinct IP addresses 10.3.6.22, 10.1.2.52 and 10.17.8.9. However, SSH probing for non-existing user oracle should not be reported, since this user was probed from only 2 distinct IP addresses. &lt;br /&gt;
&lt;br /&gt;
Also note that the detection should be done with a sliding window approach -- if the counting operation for some non-existing user has not seen enough events during 60 seconds, the 60 second detection window should be moved forward.&lt;br /&gt;
&lt;br /&gt;
2) if the previous condition has been detected for 3 distinct non-existing users during 900 seconds (for example, admin2, oracle and testuser3 have been probed within 900 seconds), report this event to the local root-user via e-mail. After an e-mail has been sent, ensure than no repeated e-mails are generated during the following 3600 seconds.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
Some hints for accomplishing this assignment:&lt;br /&gt;
* don&amp;#039;t try to solve the whole assignment with just one rule, but rather write several rules which interact,&lt;br /&gt;
* if SSH probing for some non-existing user account is detected (as described in the first subtask), you could generate a relevant synthetic event for this user, in order to provide input for further event correlation rules.&lt;br /&gt;
* all parts of the solution must be fully functional even when several non-existing user accounts are probed from several hosts in parallel (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
Apart from studying the examples from the course slides, have a look at the SEC man page (installed at the virtual machines or found at https://simple-evcorr.github.io/man.html). Also, consider the examples from SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11567</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11567"/>
		<updated>2024-11-01T21:45:25Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7. &lt;br /&gt;
&lt;br /&gt;
==== Create SEC rules that accomplish the following event correlation task: ====&lt;br /&gt;
&lt;br /&gt;
1) Monitor sshd log events for SSH probing of non-existing user accounts, and detect non-existing user accounts that have been probed over SSH from 3 distinct IP addresses within 60 seconds.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the following events appear in the log:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 12:53:11 myhost sshd[10477]: Failed password for invalid user admin2 from 10.3.6.22 port 50087 ssh2&lt;br /&gt;
 Nov  7 12:53:12 myhost sshd[10477]: Failed password for invalid user admin2 from 10.3.6.22 port 50087 ssh2&lt;br /&gt;
 Nov  7 12:53:39 myhost sshd[10479]: Failed password for invalid user oracle from 10.3.6.24 port 9899 ssh2&lt;br /&gt;
 Nov  7 12:53:40 myhost sshd[10479]: Failed password for invalid user oracle from 10.3.6.24 port 9899 ssh2&lt;br /&gt;
 Nov  7 12:53:55 myhost sshd[10499]: Failed password for invalid user oracle from 10.2.9.99 port 6133 ssh2&lt;br /&gt;
 Nov  7 12:54:01 myhost sshd[10527]: Failed publickey for invalid user admin2 from 10.1.2.52 port 40106 ssh2&lt;br /&gt;
 Nov  7 12:54:02 myhost sshd[10527]: Failed publickey for invalid user admin2 from 10.1.2.52 port 40106 ssh2&lt;br /&gt;
 Nov  7 12:54:07 myhost sshd[10543]: Failed password for invalid user admin2 from 10.17.8.9 port 32444 ssh2&lt;br /&gt;
&lt;br /&gt;
When above events appear, SSH probing for non-existing user admin2 should be reported, since this user was probed between 12:53:11 and 12:54:07 from 3 distinct IP addresses 10.3.6.22, 10.1.2.52 and 10.17.8.9. However, SSH probing for non-existing user oracle should not be reported, since this user was probed from only 2 distinct IP addresses. &lt;br /&gt;
&lt;br /&gt;
Also note that the detection should be done with a sliding window approach -- if the counting operation for some non-existing user has not seen enough events during 60 seconds, the 60 second detection window should be moved forward.&lt;br /&gt;
&lt;br /&gt;
2) if the previous condition has been detected for 3 distinct non-existing users during 900 seconds (for example, admin2, oracle and testuser3 have been probed within 900 seconds), report this event to the local root-user via e-mail. After an e-mail has been sent, ensure than no repeated e-mails are generated during the following 3600 seconds.&lt;br /&gt;
&lt;br /&gt;
Some hints for accomplishing this assignment:&lt;br /&gt;
* don&amp;#039;t try to solve the whole assignment with just one rule, but rather write several rules which interact,&lt;br /&gt;
* if SSH probing for some non-existing user account is detected (as described in the first subtask), you could generate a relevant synthetic event for this user, in order to provide input for further event correlation rules.&lt;br /&gt;
* all parts of the solution must be fully functional even when several non-existing user accounts are probed from several hosts in parallel (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
Apart from studying the examples from the course slides, have a look at the SEC man page (installed at the virtual machines or found at https://simple-evcorr.github.io/man.html). Also, consider the examples from SEC tutorial (https://simple-evcorr.github.io/SEC-tutorial.pdf).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11566</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11566"/>
		<updated>2024-11-01T21:42:02Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7. &lt;br /&gt;
&lt;br /&gt;
==== Create SEC rules that accomplish the following event correlation task: ====&lt;br /&gt;
&lt;br /&gt;
1) Monitor sshd log events for SSH probing of non-existing user accounts, and detect non-existing user accounts that have been probed over SSH from 3 distinct IP addresses within 60 seconds.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the following events appear in the log:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 12:53:11 myhost sshd[10477]: Failed password for invalid user admin2 from 10.3.6.22 port 50087 ssh2&lt;br /&gt;
 Nov  7 12:53:12 myhost sshd[10477]: Failed password for invalid user admin2 from 10.3.6.22 port 50087 ssh2&lt;br /&gt;
 Nov  7 12:53:39 myhost sshd[10479]: Failed password for invalid user oracle from 10.3.6.24 port 9899 ssh2&lt;br /&gt;
 Nov  7 12:53:40 myhost sshd[10479]: Failed password for invalid user oracle from 10.3.6.24 port 9899 ssh2&lt;br /&gt;
 Nov  7 12:53:55 myhost sshd[10499]: Failed password for invalid user oracle from 10.2.9.99 port 6133 ssh2&lt;br /&gt;
 Nov  7 12:54:01 myhost sshd[10527]: Failed publickey for invalid user admin2 from 10.1.2.52 port 40106 ssh2&lt;br /&gt;
 Nov  7 12:54:02 myhost sshd[10527]: Failed publickey for invalid user admin2 from 10.1.2.52 port 40106 ssh2&lt;br /&gt;
 Nov  7 12:54:07 myhost sshd[10543]: Failed password for invalid user admin2 from 10.17.8.9 port 32444 ssh2&lt;br /&gt;
&lt;br /&gt;
When above events appear, SSH probing for non-existing user admin2 should be reported, since this user was probed between 12:53:11 and 12:54:07 from 3 distinct IP addresses 10.3.6.22, 10.1.2.52 and 10.17.8.9. However, SSH probing for non-existing user oracle should not be reported, since this user was probed from only 2 distinct IP addresses. &lt;br /&gt;
&lt;br /&gt;
Also note that the detection should be done with a sliding window approach -- if the counting operation for some non-existing user has not seen enough events during 60 seconds, the 60 second detection window should be moved forward.&lt;br /&gt;
&lt;br /&gt;
2) if the previous condition has been detected for 3 distinct non-existing users during 900 seconds (for example, admin2, oracle and testuser3 have been probed within 900 seconds), report this event to the local root-user via e-mail. After an e-mail has been sent, ensure than no repeated e-mails are generated during the following 3600 seconds.&lt;br /&gt;
&lt;br /&gt;
Some hints for accomplishing this assignment:&lt;br /&gt;
* don&amp;#039;t try to solve the whole assignment with just one rule, but rather write several rules which interact,&lt;br /&gt;
* if SSH probing for some non-existing user account is detected (as described in the first subtask), you could generate a relevant synthetic event for this user, in order to provide input for further event correlation rules.&lt;br /&gt;
* all parts of the solution must be fully functional even when several non-existing user accounts are probed from several hosts in parallel (for example, contexts maintained by different counting operations must not interfere with each other).&lt;br /&gt;
&lt;br /&gt;
Apart from studying the examples from the course slides, have a look at the SEC man page (installed at the virtual machines or found at https://simple-evcorr.github.io/man.html).&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11565</id>
		<title>Itx8071-task2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task2&amp;diff=11565"/>
		<updated>2024-11-01T21:41:24Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Modules 6 and 7. &lt;br /&gt;
&lt;br /&gt;
Create SEC rules that accomplish the following event correlation task:&lt;br /&gt;
&lt;br /&gt;
1) Monitor sshd log events for SSH probing of non-existing user accounts, and detect non-existing user accounts that have been probed over SSH from 3 distinct IP addresses within 60 seconds.&lt;br /&gt;
&lt;br /&gt;
For example, suppose the following events appear in the log:&lt;br /&gt;
&lt;br /&gt;
 Nov  7 12:53:11 myhost sshd[10477]: Failed password for invalid user admin2 from 10.3.6.22 port 50087 ssh2&lt;br /&gt;
 Nov  7 12:53:12 myhost sshd[10477]: Failed password for invalid user admin2 from 10.3.6.22 port 50087 ssh2&lt;br /&gt;
 Nov  7 12:53:39 myhost sshd[10479]: Failed password for invalid user oracle from 10.3.6.24 port 9899 ssh2&lt;br /&gt;
 Nov  7 12:53:40 myhost sshd[10479]: Failed password for invalid user oracle from 10.3.6.24 port 9899 ssh2&lt;br /&gt;
 Nov  7 12:53:55 myhost sshd[10499]: Failed password for invalid user oracle from 10.2.9.99 port 6133 ssh2&lt;br /&gt;
 Nov  7 12:54:01 myhost sshd[10527]: Failed publickey for invalid user admin2 from 10.1.2.52 port 40106 ssh2&lt;br /&gt;
 Nov  7 12:54:02 myhost sshd[10527]: Failed publickey for invalid user admin2 from 10.1.2.52 port 40106 ssh2&lt;br /&gt;
 Nov  7 12:54:07 myhost sshd[10543]: Failed password for invalid user admin2 from 10.17.8.9 port 32444 ssh2&lt;br /&gt;
&lt;br /&gt;
When above events appear, SSH probing for non-existing user admin2 should be reported, since this user was probed between 12:53:11 and 12:54:07 from 3 distinct IP addresses 10.3.6.22, 10.1.2.52 and 10.17.8.9. However, SSH probing for non-existing user oracle should not be reported, since this user was probed from only 2 distinct IP addresses. &lt;br /&gt;
&lt;br /&gt;
Also note that the detection should be done with a sliding window approach -- if the counting operation for some non-existing user has not seen enough events during 60 seconds, the 60 second detection window should be moved forward.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11564</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11564"/>
		<updated>2024-11-01T21:19:59Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Tuesday of fall semester 2024. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 3 2024 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 10 2024 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 17 2024 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 24 2023 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* October 1 2024 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 8 2024 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 15 2024 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 22 2024 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 29 2024 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 5 2024 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 12 2024 (lecture of module 7) -- room ICT-401&lt;br /&gt;
* November 19 2024 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 26 2024 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* December 3 2024 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 10 2024 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 17 2024 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1TJ2f42-uRrHHfv7eQJSR83_8rQLb1tl8/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 17 2024 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 17 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 24 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 8 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 15 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 29 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 12 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 26 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 4 2024 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 16 2024 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Exam can be taken during one of the following time slots:&lt;br /&gt;
&lt;br /&gt;
* December 18 2024, 15:45-19:00, room ICT-402&lt;br /&gt;
* January 6 2025, 15:45-19:00, room ICT-701&lt;br /&gt;
* January 13, 2025, 15:45-19:00, room ICT-701&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-exam can be taken on January 13 2025 at 15:45-17:00 in room ICT-701.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11519</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11519"/>
		<updated>2024-09-21T13:57:57Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
=== Please write a regular expression for matching the sequence of integer expressions which follows these rules: ===&lt;br /&gt;
&lt;br /&gt;
1) The sequence consists of one or more elements. If there are two or more elements, they are separated with a comma (,) character.&lt;br /&gt;
&lt;br /&gt;
2) Each element of the sequence is an expression that can consist of digits 0 1 2 3 4 5 6 7 8 9 and the plus (+), minus (-), asterisk (*), and slash (/) characters. No other characters (such as spaces or letters) are permitted in the element. The element must contain one or more integer numbers, where the integer number is defined as a non-empty sequence of digits. If the element has more than one integer number, two consecutive integer numbers must be separated with a single plus, minus, asterisk or slash character. If the asterisk or slash separates two integer numbers, an optional minus (-) character can appear before the second (right-hand side) integer number. However, if two integer numbers are separated by plus or minus character, the minus prefix is not allowed for the second integer. Also, an optional minus (-) character can appear before the first integer number in the element (in other words, the first character of the element can be either a minus or a digit).&lt;br /&gt;
&lt;br /&gt;
For example, the following are valid sequence elements:&lt;br /&gt;
&lt;br /&gt;
 012&lt;br /&gt;
 -1&lt;br /&gt;
 2+3&lt;br /&gt;
 -0+12-7&lt;br /&gt;
 22+90*-2/60&lt;br /&gt;
 -100+16/-2*-30&lt;br /&gt;
&lt;br /&gt;
However, the following sequence elements are invalid:&lt;br /&gt;
&lt;br /&gt;
 1 + 2 (the space character appears both before and after the plus character, but the use of spaces is illegal)&lt;br /&gt;
 1%2 (an illegal character % appears between two integer numbers)&lt;br /&gt;
 12C (an illegal character C appears after the integer number)&lt;br /&gt;
 12--2 (if the minus character separates two integer numbers, it is not allowed to use the minus prefix for the second integer)&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, &amp;#039;&amp;#039;&amp;#039;one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool&amp;#039;&amp;#039;&amp;#039;. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must match: ===&lt;br /&gt;
&lt;br /&gt;
 1+2+3   (the sequence has one valid element)&lt;br /&gt;
&lt;br /&gt;
 10,1+2+3,-20   (the sequence has three valid elements)&lt;br /&gt;
&lt;br /&gt;
 -0,2*-3+7,-11,33/-11*-5,-12/6,19,77,1-2+3-4+5  (the sequence has eight valid elements)&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must NOT match: ===&lt;br /&gt;
&lt;br /&gt;
 22+11,   (there is a comma after the first sequence element, but the second element is missing)&lt;br /&gt;
&lt;br /&gt;
 120+,3-4   (the first sequence element contains a plus character not followed by integer number)&lt;br /&gt;
&lt;br /&gt;
 -12-33,12+-1,5*6-3   (the second sequence element contains a plus character which is followed by a negative integer, but it is not allowed to use the minus character after plus)&lt;br /&gt;
&lt;br /&gt;
 1+2,,3+4   (the second sequence element is missing)&lt;br /&gt;
&lt;br /&gt;
 11,12,+13   (the third sequence element starts with a plus character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
 12^3,2+3,55//11   (the first sequence element contains an illegal character ^; also the third element contains two consecutive slash characters, while only one is allowed)&lt;br /&gt;
&lt;br /&gt;
 1+2+3,12*,2/3   (the second sequence element ends with an asterisk character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
 11,45+3, 100   (there is an illegal space character after the second separating comma)&lt;br /&gt;
&lt;br /&gt;
 60 ,-4+0  (there is an illegal space character before the first separating comma)&lt;br /&gt;
&lt;br /&gt;
 --10A   (the sequence has one element which starts with two minus characters, while only one minus is allowed; also, the element ends with an illegal character A)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11518</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11518"/>
		<updated>2024-09-21T13:57:43Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
=== Please write a regular expression for matching the sequence of integer expressions which follows these rules: ===&lt;br /&gt;
&lt;br /&gt;
# The sequence consists of one or more elements. If there are two or more elements, they are separated with a comma (,) character.&lt;br /&gt;
&lt;br /&gt;
# Each element of the sequence is an expression that can consist of digits 0 1 2 3 4 5 6 7 8 9 and the plus (+), minus (-), asterisk (*), and slash (/) characters. No other characters (such as spaces or letters) are permitted in the element. The element must contain one or more integer numbers, where the integer number is defined as a non-empty sequence of digits. If the element has more than one integer number, two consecutive integer numbers must be separated with a single plus, minus, asterisk or slash character. If the asterisk or slash separates two integer numbers, an optional minus (-) character can appear before the second (right-hand side) integer number. However, if two integer numbers are separated by plus or minus character, the minus prefix is not allowed for the second integer. Also, an optional minus (-) character can appear before the first integer number in the element (in other words, the first character of the element can be either a minus or a digit).&lt;br /&gt;
&lt;br /&gt;
For example, the following are valid sequence elements:&lt;br /&gt;
&lt;br /&gt;
 012&lt;br /&gt;
 -1&lt;br /&gt;
 2+3&lt;br /&gt;
 -0+12-7&lt;br /&gt;
 22+90*-2/60&lt;br /&gt;
 -100+16/-2*-30&lt;br /&gt;
&lt;br /&gt;
However, the following sequence elements are invalid:&lt;br /&gt;
&lt;br /&gt;
 1 + 2 (the space character appears both before and after the plus character, but the use of spaces is illegal)&lt;br /&gt;
 1%2 (an illegal character % appears between two integer numbers)&lt;br /&gt;
 12C (an illegal character C appears after the integer number)&lt;br /&gt;
 12--2 (if the minus character separates two integer numbers, it is not allowed to use the minus prefix for the second integer)&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, &amp;#039;&amp;#039;&amp;#039;one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool&amp;#039;&amp;#039;&amp;#039;. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must match: ===&lt;br /&gt;
&lt;br /&gt;
 1+2+3   (the sequence has one valid element)&lt;br /&gt;
&lt;br /&gt;
 10,1+2+3,-20   (the sequence has three valid elements)&lt;br /&gt;
&lt;br /&gt;
 -0,2*-3+7,-11,33/-11*-5,-12/6,19,77,1-2+3-4+5  (the sequence has eight valid elements)&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must NOT match: ===&lt;br /&gt;
&lt;br /&gt;
 22+11,   (there is a comma after the first sequence element, but the second element is missing)&lt;br /&gt;
&lt;br /&gt;
 120+,3-4   (the first sequence element contains a plus character not followed by integer number)&lt;br /&gt;
&lt;br /&gt;
 -12-33,12+-1,5*6-3   (the second sequence element contains a plus character which is followed by a negative integer, but it is not allowed to use the minus character after plus)&lt;br /&gt;
&lt;br /&gt;
 1+2,,3+4   (the second sequence element is missing)&lt;br /&gt;
&lt;br /&gt;
 11,12,+13   (the third sequence element starts with a plus character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
 12^3,2+3,55//11   (the first sequence element contains an illegal character ^; also the third element contains two consecutive slash characters, while only one is allowed)&lt;br /&gt;
&lt;br /&gt;
 1+2+3,12*,2/3   (the second sequence element ends with an asterisk character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
 11,45+3, 100   (there is an illegal space character after the second separating comma)&lt;br /&gt;
&lt;br /&gt;
 60 ,-4+0  (there is an illegal space character before the first separating comma)&lt;br /&gt;
&lt;br /&gt;
 --10A   (the sequence has one element which starts with two minus characters, while only one minus is allowed; also, the element ends with an illegal character A)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11517</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11517"/>
		<updated>2024-09-21T13:56:43Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
=== Please write a regular expression for matching the sequence of integer expressions which follows these rules: ===&lt;br /&gt;
&lt;br /&gt;
1) The sequence consists of one or more elements. If there are two or more elements, they are separated with a comma (,) character.&lt;br /&gt;
&lt;br /&gt;
2) Each element of the sequence is an expression that can consist of digits 0 1 2 3 4 5 6 7 8 9 and the plus (+), minus (-), asterisk (*), and slash (/) characters. No other characters (such as spaces or letters) are permitted in the element. The element must contain one or more integer numbers, where the integer number is defined as a non-empty sequence of digits. If the element has more than one integer number, two consecutive integer numbers must be separated with a single plus, minus, asterisk or slash character. If the asterisk or slash separates two integer numbers, an optional minus (-) character can appear before the second (right-hand side) integer number. However, if two integer numbers are separated by plus or minus character, the minus prefix is not allowed for the second integer. Also, an optional minus (-) character can appear before the first integer number in the element (in other words, the first character of the element can be either a minus or a digit).&lt;br /&gt;
&lt;br /&gt;
For example, the following are valid sequence elements:&lt;br /&gt;
&lt;br /&gt;
 012&lt;br /&gt;
 -1&lt;br /&gt;
 2+3&lt;br /&gt;
 -0+12-7&lt;br /&gt;
 22+90*-2/60&lt;br /&gt;
 -100+16/-2*-30&lt;br /&gt;
&lt;br /&gt;
However, the following sequence elements are invalid:&lt;br /&gt;
&lt;br /&gt;
 1 + 2 (the space character appears both before and after the plus character, but the use of spaces is illegal)&lt;br /&gt;
 1%2 (an illegal character % appears between two integer numbers)&lt;br /&gt;
 12C (an illegal character C appears after the integer number)&lt;br /&gt;
 12--2 (if the minus character separates two integer numbers, it is not allowed to use the minus prefix for the second integer)&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, &amp;#039;&amp;#039;&amp;#039;one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool&amp;#039;&amp;#039;&amp;#039;. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must match: ===&lt;br /&gt;
&lt;br /&gt;
 1+2+3   (the sequence has one valid element)&lt;br /&gt;
&lt;br /&gt;
 10,1+2+3,-20   (the sequence has three valid elements)&lt;br /&gt;
&lt;br /&gt;
 -0,2*-3+7,-11,33/-11*-5,-12/6,19,77,1-2+3-4+5  (the sequence has eight valid elements)&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must NOT match: ===&lt;br /&gt;
&lt;br /&gt;
 22+11,   (there is a comma after the first sequence element, but the second element is missing)&lt;br /&gt;
&lt;br /&gt;
 120+,3-4   (the first sequence element contains a plus character not followed by integer number)&lt;br /&gt;
&lt;br /&gt;
 -12-33,12+-1,5*6-3   (the second sequence element contains a plus character which is followed by a negative integer, but it is not allowed to use the minus character after plus)&lt;br /&gt;
&lt;br /&gt;
 1+2,,3+4   (the second sequence element is missing)&lt;br /&gt;
&lt;br /&gt;
 11,12,+13   (the third sequence element starts with a plus character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
 12^3,2+3,55//11   (the first sequence element contains an illegal character ^; also the third element contains two consecutive slash characters, while only one is allowed)&lt;br /&gt;
&lt;br /&gt;
 1+2+3,12*,2/3   (the second sequence element ends with an asterisk character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
 11,45+3, 100   (there is an illegal space character after the second separating comma)&lt;br /&gt;
&lt;br /&gt;
 60 ,-4+0  (there is an illegal space character before the first separating comma)&lt;br /&gt;
&lt;br /&gt;
 --10A   (the sequence has one element which starts with two minus characters, while only one minus is allowed; also, the element ends with an illegal character A)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11516</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11516"/>
		<updated>2024-09-21T13:55:15Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
=== Please write a regular expression for matching the sequence of integer expressions which follows these rules: ===&lt;br /&gt;
&lt;br /&gt;
1) The sequence consists of one or more elements. If there are two or more elements, they are separated with a comma (,) character.&lt;br /&gt;
&lt;br /&gt;
2) Each element of the sequence is an expression that can consist of digits 0 1 2 3 4 5 6 7 8 9 and the plus (+), minus (-), asterisk (*), and slash (/) characters. No other characters (such as spaces or letters) are permitted in the element. The element must contain one or more integer numbers, where the integer number is defined as a non-empty sequence of digits. If the element has more than one integer number, two consecutive integer numbers must be separated with a single plus, minus, asterisk or slash character. If the asterisk or slash separates two integer numbers, an optional minus (-) character can appear before the second (right-hand side) integer number. However, if two integer numbers are separated by plus or minus character, the minus prefix is not allowed for the second integer. Also, an optional minus (-) character can appear before the first integer number in the element (in other words, the first character of the element can be either a minus or a digit).&lt;br /&gt;
&lt;br /&gt;
For example, the following are valid sequence elements:&lt;br /&gt;
&lt;br /&gt;
 012&lt;br /&gt;
 -1&lt;br /&gt;
 2+3&lt;br /&gt;
 -0+12-7&lt;br /&gt;
 22+90*-2/60&lt;br /&gt;
 -100+16/-2*-30&lt;br /&gt;
&lt;br /&gt;
However, the following sequence elements are invalid:&lt;br /&gt;
&lt;br /&gt;
 1 + 2 (the space character appears both before and after the plus character, but the use of spaces is illegal)&lt;br /&gt;
 1%2 (an illegal character % appears between two integer numbers)&lt;br /&gt;
 12C (an illegal character C appears after the integer number)&lt;br /&gt;
 12--2 (if the minus character separates two integer numbers, it is not allowed to use the minus prefix for the second integer)&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must match: ===&lt;br /&gt;
&lt;br /&gt;
 1+2+3   (the sequence has one valid element)&lt;br /&gt;
&lt;br /&gt;
 10,1+2+3,-20   (the sequence has three valid elements)&lt;br /&gt;
&lt;br /&gt;
 -0,2*-3+7,-11,33/-11*-5,-12/6,19,77,1-2+3-4+5  (the sequence has eight valid elements)&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must NOT match: ===&lt;br /&gt;
&lt;br /&gt;
 22+11,   (there is a comma after the first sequence element, but the second element is missing)&lt;br /&gt;
&lt;br /&gt;
 120+,3-4   (the first sequence element contains a plus character not followed by integer number)&lt;br /&gt;
&lt;br /&gt;
 -12-33,12+-1,5*6-3   (the second sequence element contains a plus character which is followed by a negative integer, but it is not allowed to use the minus character after plus)&lt;br /&gt;
&lt;br /&gt;
 1+2,,3+4   (the second sequence element is missing)&lt;br /&gt;
&lt;br /&gt;
 11,12,+13   (the third sequence element starts with a plus character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
 12^3,2+3,55//11   (the first sequence element contains an illegal character ^; also the third element contains two consecutive slash characters, while only one is allowed)&lt;br /&gt;
&lt;br /&gt;
 1+2+3,12*,2/3   (the second sequence element ends with an asterisk character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
 11,45+3, 100   (there is an illegal space character after the second separating comma)&lt;br /&gt;
&lt;br /&gt;
 60 ,-4+0  (there is an illegal space character before the first separating comma)&lt;br /&gt;
&lt;br /&gt;
 --10A   (the sequence has one element which starts with two minus characters, while only one minus is allowed; also, the element ends with an illegal character A)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11515</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11515"/>
		<updated>2024-09-21T13:54:28Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
=== Please write a regular expression for matching the sequence of integer expressions which follows these rules: ===&lt;br /&gt;
&lt;br /&gt;
1) The sequence consists of one or more elements. If there are two or more elements, they are separated with a comma (,) character.&lt;br /&gt;
&lt;br /&gt;
2) Each element of the sequence is an expression that can consist of digits 0 1 2 3 4 5 6 7 8 9 and the plus (+), minus (-), asterisk (*), and slash (/) characters. No other characters (such as spaces or letters) are permitted in the element. The element must contain one or more integer numbers, where the integer number is defined as a non-empty sequence of digits. If the element has more than one integer number, two consecutive integer numbers must be separated with a single plus, minus, asterisk or slash character. If the asterisk or slash separates two integer numbers, an optional minus (-) character can appear before the second (right-hand side) integer number. However, if two integer numbers are separated by plus or minus character, the minus prefix is not allowed for the second integer. Also, an optional minus (-) character can appear before the first integer number in the element (in other words, the first character of the element can be either a minus or a digit).&lt;br /&gt;
&lt;br /&gt;
For example, the following are valid sequence elements:&lt;br /&gt;
&lt;br /&gt;
012&lt;br /&gt;
-1&lt;br /&gt;
2+3&lt;br /&gt;
-0+12-7&lt;br /&gt;
22+90*-2/60&lt;br /&gt;
-100+16/-2*-30&lt;br /&gt;
&lt;br /&gt;
However, the following sequence elements are invalid:&lt;br /&gt;
&lt;br /&gt;
1 + 2 (the space character appears both before and after the plus character, but the use of spaces is illegal)&lt;br /&gt;
1%2 (an illegal character % appears between two integer numbers)&lt;br /&gt;
12C (an illegal character C appears after the integer number)&lt;br /&gt;
12--2 (if the minus character separates two integer numbers, it is not allowed to use the minus prefix for the second integer)&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must match: ===&lt;br /&gt;
&lt;br /&gt;
 1+2+3   (the sequence has one valid element)&lt;br /&gt;
&lt;br /&gt;
 10,1+2+3,-20   (the sequence has three valid elements)&lt;br /&gt;
&lt;br /&gt;
 -0,2*-3+7,-11,33/-11*-5,-12/6,19,77,1-2+3-4+5  (the sequence has eight valid elements)&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must NOT match: ===&lt;br /&gt;
&lt;br /&gt;
22+11,   (there is a comma after the first sequence element, but the second element is missing)&lt;br /&gt;
&lt;br /&gt;
120+,3-4   (the first sequence element contains a plus character not followed by integer number)&lt;br /&gt;
&lt;br /&gt;
-12-33,12+-1,5*6-3   (the second sequence element contains a plus character which is followed by a negative integer, but it is not allowed to use the minus character after plus)&lt;br /&gt;
&lt;br /&gt;
1+2,,3+4   (the second sequence element is missing)&lt;br /&gt;
&lt;br /&gt;
11,12,+13   (the third sequence element starts with a plus character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
12^3,2+3,55//11   (the first sequence element contains an illegal character ^; also the third element contains two consecutive slash characters, while only one is allowed)&lt;br /&gt;
&lt;br /&gt;
1+2+3,12*,2/3   (the second sequence element ends with an asterisk character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
11,45+3, 100   (there is an illegal space character after the second separating comma)&lt;br /&gt;
&lt;br /&gt;
60 ,-4+0  (there is an illegal space character before the first separating comma)&lt;br /&gt;
&lt;br /&gt;
--10A   (the sequence has one element which starts with two minus characters, while only one minus is allowed; also, the element ends with an illegal character A)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11514</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11514"/>
		<updated>2024-09-21T13:54:10Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
=== Please write a regular expression for matching the sequence of integer expressions which follows these rules: ===&lt;br /&gt;
&lt;br /&gt;
1) The sequence consists of one or more elements. If there are two or more elements, they are separated with a comma (,) character.&lt;br /&gt;
&lt;br /&gt;
2) Each element of the sequence is an expression that can consist of digits 0 1 2 3 4 5 6 7 8 9 and the plus (+), minus (-), asterisk (*), and slash (/) characters. No other characters (such as spaces or letters) are permitted in the element. The element must contain one or more integer numbers, where the integer number is defined as a non-empty sequence of digits. If the element has more than one integer number, two consecutive integer numbers must be separated with a single plus, minus, asterisk or slash character. If the asterisk or slash separates two integer numbers, an optional minus (-) character can appear before the second (right-hand side) integer number. However, if two integer numbers are separated by plus or minus character, the minus prefix is not allowed for the second integer. Also, an optional minus (-) character can appear before the first integer number in the element (in other words, the first character of the element can be either a minus or a digit).&lt;br /&gt;
&lt;br /&gt;
For example, the following are valid sequence elements:&lt;br /&gt;
&lt;br /&gt;
012&lt;br /&gt;
-1&lt;br /&gt;
2+3&lt;br /&gt;
-0+12-7&lt;br /&gt;
22+90*-2/60&lt;br /&gt;
-100+16/-2*-30&lt;br /&gt;
&lt;br /&gt;
However, the following sequence elements are invalid:&lt;br /&gt;
&lt;br /&gt;
1 + 2 (the space character appears both before and after the plus character, but the use of spaces is illegal)&lt;br /&gt;
1%2 (an illegal character % appears between two integer numbers)&lt;br /&gt;
12C (an illegal character C appears after the integer number)&lt;br /&gt;
12--2 (if the minus character separates two integer numbers, it is not allowed to use the minus prefix for the second integer)&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must match: ===&lt;br /&gt;
&lt;br /&gt;
1+2+3   (the sequence has one valid element)&lt;br /&gt;
&lt;br /&gt;
10,1+2+3,-20   (the sequence has three valid elements)&lt;br /&gt;
&lt;br /&gt;
-0,2*-3+7,-11,33/-11*-5,-12/6,19,77,1-2+3-4+5  (the sequence has eight valid elements)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples of sequences the regular expression must NOT match: ===&lt;br /&gt;
&lt;br /&gt;
22+11,   (there is a comma after the first sequence element, but the second element is missing)&lt;br /&gt;
&lt;br /&gt;
120+,3-4   (the first sequence element contains a plus character not followed by integer number)&lt;br /&gt;
&lt;br /&gt;
-12-33,12+-1,5*6-3   (the second sequence element contains a plus character which is followed by a negative integer, but it is not allowed to use the minus character after plus)&lt;br /&gt;
&lt;br /&gt;
1+2,,3+4   (the second sequence element is missing)&lt;br /&gt;
&lt;br /&gt;
11,12,+13   (the third sequence element starts with a plus character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
12^3,2+3,55//11   (the first sequence element contains an illegal character ^; also the third element contains two consecutive slash characters, while only one is allowed)&lt;br /&gt;
&lt;br /&gt;
1+2+3,12*,2/3   (the second sequence element ends with an asterisk character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
11,45+3, 100   (there is an illegal space character after the second separating comma)&lt;br /&gt;
&lt;br /&gt;
60 ,-4+0  (there is an illegal space character before the first separating comma)&lt;br /&gt;
&lt;br /&gt;
--10A   (the sequence has one element which starts with two minus characters, while only one minus is allowed; also, the element ends with an illegal character A)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11513</id>
		<title>Itx8071-task1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-task1&amp;diff=11513"/>
		<updated>2024-09-21T13:53:41Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This homework assignment requires the knowledge from Module 3.&lt;br /&gt;
&lt;br /&gt;
=== Please write a regular expression for matching the sequence of integer expressions which follows these rules: ===&lt;br /&gt;
&lt;br /&gt;
1) The sequence consists of one or more elements. If there are two or more elements, they are separated with a comma (,) character.&lt;br /&gt;
&lt;br /&gt;
2) Each element of the sequence is an expression that can consist of digits 0 1 2 3 4 5 6 7 8 9 and the plus (+), minus (-), asterisk (*), and slash (/) characters. No other characters (such as spaces or letters) are permitted in the element. The element must contain one or more integer numbers, where the integer number is defined as a non-empty sequence of digits. If the element has more than one integer number, two consecutive integer numbers must be separated with a single plus, minus, asterisk or slash character. If the asterisk or slash separates two integer numbers, an optional minus (-) character can appear before the second (right-hand side) integer number. However, if two integer numbers are separated by plus or minus character, the minus prefix is not allowed for the second integer. Also, an optional minus (-) character can appear before the first integer number in the element (in other words, the first character of the element can be either a minus or a digit).&lt;br /&gt;
&lt;br /&gt;
For example, the following are valid sequence elements:&lt;br /&gt;
&lt;br /&gt;
012&lt;br /&gt;
-1&lt;br /&gt;
2+3&lt;br /&gt;
-0+12-7&lt;br /&gt;
22+90*-2/60&lt;br /&gt;
-100+16/-2*-30&lt;br /&gt;
&lt;br /&gt;
However, the following sequence elements are invalid:&lt;br /&gt;
&lt;br /&gt;
1 + 2 (the space character appears both before and after the plus character, but the use of spaces is illegal)&lt;br /&gt;
1%2 (an illegal character % appears between two integer numbers)&lt;br /&gt;
12C (an illegal character C appears after the integer number)&lt;br /&gt;
12--2 (if the minus character separates two integer numbers, it is not allowed to use the minus prefix for the second integer)&lt;br /&gt;
&lt;br /&gt;
Please note that for accomplishing the task, one regular expression has to be submitted which is suitable for use with the egrep or pcre2grep tool. It is not acceptable to submit the solution in a fragmented way (e.g., several isolated expressions for addressing different parts of the task). Also, it is not allowed to submit programs in Java, Python, Perl (or any other language) for the solution. Finally, if the solution only works with the examples provided below but does NOT meet the task specification, it will be treated as incorrect.&lt;br /&gt;
&lt;br /&gt;
Examples of sequences the regular expression must match:&lt;br /&gt;
&lt;br /&gt;
1+2+3   (the sequence has one valid element)&lt;br /&gt;
&lt;br /&gt;
10,1+2+3,-20   (the sequence has three valid elements)&lt;br /&gt;
&lt;br /&gt;
-0,2*-3+7,-11,33/-11*-5,-12/6,19,77,1-2+3-4+5  (the sequence has eight valid elements)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples of sequences the regular expression must NOT match:&lt;br /&gt;
&lt;br /&gt;
22+11,   (there is a comma after the first sequence element, but the second element is missing)&lt;br /&gt;
&lt;br /&gt;
120+,3-4   (the first sequence element contains a plus character not followed by integer number)&lt;br /&gt;
&lt;br /&gt;
-12-33,12+-1,5*6-3   (the second sequence element contains a plus character which is followed by a negative integer, but it is not allowed to use the minus character after plus)&lt;br /&gt;
&lt;br /&gt;
1+2,,3+4   (the second sequence element is missing)&lt;br /&gt;
&lt;br /&gt;
11,12,+13   (the third sequence element starts with a plus character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
12^3,2+3,55//11   (the first sequence element contains an illegal character ^; also the third element contains two consecutive slash characters, while only one is allowed)&lt;br /&gt;
&lt;br /&gt;
1+2+3,12*,2/3   (the second sequence element ends with an asterisk character which is allowed only as a separator between two integer numbers)&lt;br /&gt;
&lt;br /&gt;
11,45+3, 100   (there is an illegal space character after the second separating comma)&lt;br /&gt;
&lt;br /&gt;
60 ,-4+0  (there is an illegal space character before the first separating comma)&lt;br /&gt;
&lt;br /&gt;
--10A   (the sequence has one element which starts with two minus characters, while only one minus is allowed; also, the element ends with an illegal character A)&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11484</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11484"/>
		<updated>2024-09-02T15:29:22Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Tuesday of fall semester 2024. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 3 2024 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 10 2024 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 17 2024 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 24 2023 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* October 1 2024 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 8 2024 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 15 2024 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 22 2024 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 29 2024 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 5 2024 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 12 2024 (lecture of module 7) -- room ICT-401&lt;br /&gt;
* November 19 2024 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 26 2024 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* December 3 2024 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 10 2024 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 17 2024 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1TJ2f42-uRrHHfv7eQJSR83_8rQLb1tl8/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 17 2024 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 17 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 24 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 8 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 15 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 29 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 12 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 26 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 4 2024 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 16 2024 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination time slots will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time slot will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11466</id>
		<title>Cyber Defense Monitoring Solutions</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Cyber_Defense_Monitoring_Solutions&amp;diff=11466"/>
		<updated>2024-08-24T15:01:51Z</updated>

		<summary type="html">&lt;p&gt;Risto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic information ==&lt;br /&gt;
&lt;br /&gt;
* Course Code -- ITX8071&lt;br /&gt;
* Credit Points -- 6.0 EAP&lt;br /&gt;
* Course Language -- English&lt;br /&gt;
* Course Schedule -- the course will be lectured from 17:45 to 21:00 on every Tuesday of fall semester 2024. Note that some lectures might take place in MS Teams environment under the team &amp;quot;Cyber Defense Monitoring Solutions (ITX8071)&amp;quot;, while remaining lectures and all labs are arranged in room ICT-401.&lt;br /&gt;
* Course Materials -- use the registration code w7Xz53c for accessing all course slides and pre-recorded lecture videos in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Detailed Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
* September 3 2024 (introduction to the course, lecture of module 1) -- room ICT-401&lt;br /&gt;
* September 10 2024 (lab of module 1) -- room ICT-401&lt;br /&gt;
* September 17 2024 (lab of module 2) -- room ICT-401&lt;br /&gt;
* September 24 2023 (lecture of module 3) -- room ICT-401&lt;br /&gt;
* October 1 2024 (lab of module 3) -- room ICT-401&lt;br /&gt;
* October 8 2024 (lab of module 4) -- room ICT-401&lt;br /&gt;
* October 15 2024 (lecture of module 5) -- room ICT-401&lt;br /&gt;
* October 22 2024 (lab of module 5) -- room ICT-401&lt;br /&gt;
* October 29 2024 (lecture of module 6) -- room ICT-401&lt;br /&gt;
* November 5 2024 (lab of module 6) -- room ICT-401&lt;br /&gt;
* November 12 2024 (lecture of module 7) -- room ICT-401&lt;br /&gt;
* November 19 2024 (lab of module 7) -- room ICT-401&lt;br /&gt;
* November 26 2024 (lecture of module 8) -- room ICT-401&lt;br /&gt;
* December 3 2024 (lab of module 8) -- room ICT-401&lt;br /&gt;
* December 10 2024 (lecture of module 9) -- MS Teams&lt;br /&gt;
* December 17 2024 (lab of module 9) -- room ICT-401&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
During the semester, two homework assignments are given to each student. Both assignments can yield up to 12.5 points, thus the maximum score from homework is 25 points. During the exam, three tasks are given to each student, with each task yielding up to 25 points and the whole exam up to 75 points. The final grade for a student is derived from his/her personal score:&lt;br /&gt;
&lt;br /&gt;
* score &amp;gt; 90 -- grade 5 (excellent)&lt;br /&gt;
* 80 &amp;lt; score ≤ 90 -- grade 4 (very good)&lt;br /&gt;
* 70 &amp;lt; score ≤ 80 -- grade 3 (good)&lt;br /&gt;
* 60 &amp;lt; score ≤ 70 -- grade 2 (satisfactory)&lt;br /&gt;
* 50 &amp;lt; score ≤ 60 -- grade 1 (pass)&lt;br /&gt;
* score ≤ 50 -- a student has failed to pass&lt;br /&gt;
&lt;br /&gt;
In addition to regular 100 points from homeworks and exam, additional points can be collected for active participation in the course (see the following sections).&lt;br /&gt;
&lt;br /&gt;
== Virtual machine image ==&lt;br /&gt;
&lt;br /&gt;
For course lab sessions, there is a [https://drive.google.com/file/d/1TJ2f42-uRrHHfv7eQJSR83_8rQLb1tl8/view?usp=drive_link virtual machine image] which has been created with VirtualBox. When importing the image into VirtualBox, &amp;#039;&amp;#039;&amp;#039;don&amp;#039;t forget&amp;#039;&amp;#039;&amp;#039; to select the option &amp;#039;&amp;#039;&amp;#039;&amp;quot;Generate new MAC addresses for all network adapters&amp;quot;&amp;#039;&amp;#039;&amp;#039;. Also, if you are using the image on a classroom computer, import your virtual machine into the &amp;#039;&amp;#039;&amp;#039;D:\itx8071&amp;#039;&amp;#039;&amp;#039; directory. In order to run your virtual machine as a node of the classroom network, change the mode of the first network adapter from NAT to &amp;#039;&amp;#039;&amp;#039;Bridged Adapter&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
Since the virtual machine is essential for doing homework assignments, it is strongly recommended to also install it on a personal laptop. In order to do that, leave the first network adapter to NAT mode, and change the mode of the second network adapter to &amp;#039;&amp;#039;&amp;#039;Host-only Adapter&amp;#039;&amp;#039;&amp;#039;. The host-only adapter is connected to a special virtual network (e.g., 192.168.56.0/24) that is not accessible from other hosts and is shared between the host computer and virtual machines. This network can be used for accessing the virtual machine from the host computer and creating setups where several virtual machines need to communicate.&lt;br /&gt;
&lt;br /&gt;
For changing the console keyboard layout of the virtual machine, use the &amp;#039;&amp;#039;&amp;#039;/usr/bin/localectl&amp;#039;&amp;#039;&amp;#039; tool. For example, &amp;#039;&amp;#039;&amp;#039;localectl set-keymap ee&amp;#039;&amp;#039;&amp;#039; sets Estonian keyboard layout for console and &amp;#039;&amp;#039;&amp;#039;localectl set-keymap us&amp;#039;&amp;#039;&amp;#039; sets US keyboard layout for console, while &amp;#039;&amp;#039;&amp;#039;localectl list-keymaps&amp;#039;&amp;#039;&amp;#039; lists all available layouts and &amp;#039;&amp;#039;&amp;#039;localectl status&amp;#039;&amp;#039;&amp;#039; shows the current settings.&lt;br /&gt;
&lt;br /&gt;
== Lab sessions ==&lt;br /&gt;
&lt;br /&gt;
Solutions for past lab sessions are available [https://drive.google.com/drive/folders/1-UYUgO-rnobRPRoVLwQvrivqyQbDpjEc?usp=sharing here].&lt;br /&gt;
&lt;br /&gt;
Note that the last lab of the course on December 17 2024 is a &amp;#039;&amp;#039;&amp;#039;graded lab which provides extra 5 points for participants&amp;#039;&amp;#039;&amp;#039;. During the graded lab, groups of max 3 students have to work on an assignment that is described [[itx8071-graded-lab|here]]. In order to speed up your work during the lab, you can accomplish part of the assignment in advance. &amp;#039;&amp;#039;&amp;#039;To receive points for the graded lab, the assignment solution has to be presented to the lecturers for evaluation during the lab session in ICT-401, and any other submissions are not accepted.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Independent work during the semester ==&lt;br /&gt;
&lt;br /&gt;
Note that the lectures of the course are interactive discussions which assume the students have prepared themselves for the lectures.&lt;br /&gt;
For attending the course successfully, the following course materials have to be independently studied in Moodle by given deadlines:&lt;br /&gt;
&lt;br /&gt;
* lecture materials of module 2 (&amp;quot;Introduction to packet filtering with the Linux netfilter firewall&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 17 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 3 (&amp;quot;Regular expression language&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;September 24 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 4 (&amp;quot;Introduction to Perl regular expressions&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 8 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 5 (&amp;quot;Syslog-ng framework&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 15 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 6 (&amp;quot;Introduction to event correlation and Simple Event Correlator&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;October 29 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 7 (&amp;quot;Simple Event Correlator - advanced topics&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 12 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lecture materials of module 8 (&amp;quot;Introduction to intrusion detection/prevention and Suricata IDS/IPS&amp;quot;) by &amp;#039;&amp;#039;&amp;#039;November 26 2024&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In Moodle, lecture materials of several modules are followed by &amp;#039;&amp;#039;&amp;#039;tests which provide extra points&amp;#039;&amp;#039;&amp;#039;, with each test consisting of four multiple choice questions. The test can be taken &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039; and has to be completed &amp;#039;&amp;#039;&amp;#039;before the relevant lecture takes place&amp;#039;&amp;#039;&amp;#039;. To pass the test, at least three questions have to be answered correctly, and each successfully passed test yields &amp;#039;&amp;#039;&amp;#039;1 extra point&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Homework assignments ==&lt;br /&gt;
&lt;br /&gt;
* [[itx8071-task1|Task1]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;November 4 2024 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* [[itx8071-task2|Task2]] -- a group work for max 3 students which must be submitted by &amp;#039;&amp;#039;&amp;#039;December 16 2024 23:59 local time&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Solutions to homework assignments should be sent to the e-mail address of the lecturer (given in the title page of each slide module). Together with the solution, full names and student codes of the authors must be listed. You should consider your solution submitted only after its reception &amp;#039;&amp;#039;&amp;#039;has been confirmed&amp;#039;&amp;#039;&amp;#039; by the lecturer.&lt;br /&gt;
&lt;br /&gt;
All submitted solutions should be carefully tested final versions. Please submit the solution &amp;#039;&amp;#039;&amp;#039;only once&amp;#039;&amp;#039;&amp;#039;, and do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; send in partial and/or untested work. It is not allowed to submit a partial solution, and use comments from the lecturer for later resubmission of improved version(s). Also, if you wish to submit multiple solutions, you must &amp;#039;&amp;#039;&amp;#039;clearly indicate&amp;#039;&amp;#039;&amp;#039; which one should be used for evaluation. If no such indication is provided, the &amp;#039;&amp;#039;&amp;#039;first solution&amp;#039;&amp;#039;&amp;#039; will be used for evaluating your work, and other solutions are not considered.&lt;br /&gt;
&lt;br /&gt;
Please note that each student can be a (co)author of only one solution (i.e., participation in more than one student group is not allowed). Also note that the list of authors can not be changed after the deadline.&lt;br /&gt;
&lt;br /&gt;
The correct solution with your score will be announced after the deadline.&lt;br /&gt;
&lt;br /&gt;
Solutions submitted after the deadline will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be accepted. Also, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; possible to redo the homework assignment after the deadline. &lt;br /&gt;
&lt;br /&gt;
== Information about the exam ==&lt;br /&gt;
&lt;br /&gt;
The exam is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted. In order to attend the exam, each student must present an ID with a photo and have at least one pen in good working order. During the exam, each student has to accomplish 3 tasks within 3 hours on paper. All paper materials such as printed course slides, paper-based notes, and hardcopy books can be freely used during the exam. &lt;br /&gt;
&lt;br /&gt;
Examination time slots will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
For taking the exam, &amp;#039;&amp;#039;&amp;#039;official registration in OIS&amp;#039;&amp;#039;&amp;#039; is required for one of the examination time slots.&lt;br /&gt;
&lt;br /&gt;
Note that each student can take the exam only once, and in order to get the second try for improving the result, official application for re-examination is required (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;While producing his/her final examination work, the student must consider the following:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Since there is no defense of the written examination work, the examination work must present full and unambiguous task solutions&lt;br /&gt;
* Each task must have only one clearly presented solution; if multiple solutions are given, only the first one will be evaluated&lt;br /&gt;
* All handwriting in the examination work must be legible&lt;br /&gt;
* No spare pens are provided to students during the exam&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The following rules apply during the exam, and failure to follow them will invalidate the examination work of the student:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The use of Internet, digital materials, and electronic devices (computers, mobile phones, cameras, etc.) is not permitted for any purposes&lt;br /&gt;
* All electronic devices will have to be switched to silent mode and left on a designated desk for the duration of the exam&lt;br /&gt;
* Any communication between students or with persons not taking the exam is strictly prohibited&lt;br /&gt;
* While the use of printed materials is permitted, it is not allowed to share such materials between students&lt;br /&gt;
* Students can&amp;#039;t leave the examination room during the first 60 minutes and the last 30 minutes of the exam&lt;br /&gt;
* Each student can leave the examination room once during the exam for max 10 minutes (only one person can leave the room at a time)&lt;br /&gt;
* When leaving the examination room, the student has to surrender the task sheet to the lecturer (it is prohibited to take any exam-related materials outside the room)&lt;br /&gt;
* When submitting the examination work, the student must also hand over the task sheet&lt;br /&gt;
* It is strictly prohibited to take photos or make any other copies of the task sheet&lt;br /&gt;
&lt;br /&gt;
== Re-examination information ==&lt;br /&gt;
&lt;br /&gt;
Each student is granted one re-examination attempt which requires official application. The student can apply for re-examination after failing a regular exam, or for improving a low grade from a regular exam. Re-examination invalidates any previous grade or intermediate result which was obtained during the semester. During re-examination, 2 assignments have to be accomplished within 1 hour. The final grade is solely based on assignment solutions, and no work from previous exam or semester can be combined with the re-exam.&lt;br /&gt;
&lt;br /&gt;
The re-examination is an &amp;#039;&amp;#039;&amp;#039;open-book&amp;#039;&amp;#039;&amp;#039; exam, but the use of Internet, electronic devices, and digital materials is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; permitted, and all rules of the regular exam apply (see above).&lt;br /&gt;
&lt;br /&gt;
Re-examination time slot will be announced during the semester.&lt;br /&gt;
&lt;br /&gt;
== Plagiarism policy ==&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;#039;&amp;#039;&amp;#039;plagiarized&amp;#039;&amp;#039;&amp;#039; home works and exam works will be &amp;#039;&amp;#039;&amp;#039;rejected without a review&amp;#039;&amp;#039;&amp;#039;, and the university will be &amp;#039;&amp;#039;&amp;#039;notified&amp;#039;&amp;#039;&amp;#039; of the offense. All cases of student plagiarism and other violations of academic practices will be handled according to [https://haldus.taltech.ee/sites/default/files/2020-10/Terviktekst_IT-teaduskonna%20%C3%B5ppuri%20akad%20tavade%20rikkumise%20ja%20v%C3%A4%C3%A4ritu%20k%C3%A4itumise%20menetlemise%20kord_ENG.pdf regulations of the IT faculty].&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=11459</id>
		<title>Itx8071-graded-lab</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Itx8071-graded-lab&amp;diff=11459"/>
		<updated>2024-08-13T12:34:18Z</updated>

		<summary type="html">&lt;p&gt;Risto: Lehekülg asendatud tekstiga &amp;#039;To be announced.&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To be announced.&lt;/div&gt;</summary>
		<author><name>Risto</name></author>
	</entry>
</feed>