<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Randommmennn</id>
	<title>SI Wiki - Кориснички доприноси [sr]</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Randommmennn"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/wiki/%D0%9F%D0%BE%D1%81%D0%B5%D0%B1%D0%BD%D0%BE:%D0%94%D0%BE%D0%BF%D1%80%D0%B8%D0%BD%D0%BE%D1%81%D0%B8/Randommmennn"/>
	<updated>2026-06-04T01:08:08Z</updated>
	<subtitle>Кориснички доприноси</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A0%D0%91%D0%A1/%D0%A4%D0%B5%D0%B1%D1%80%D1%83%D0%B0%D1%80_2026&amp;diff=8340</id>
		<title>РБС/Фебруар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A0%D0%91%D0%A1/%D0%A4%D0%B5%D0%B1%D1%80%D1%83%D0%B0%D1%80_2026&amp;diff=8340"/>
		<updated>2026-03-13T18:08:25Z</updated>

		<summary type="html">&lt;p&gt;Randommmennn: Izbaciti nepotrebne stvari&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Ispit u februarskom ispitnom roku 2026. godine&#039;&#039;&#039; održan je 11. marta, trajao je sat vremena i radio se preko platforme Moodle u Secure browser.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Kojoj vrsti sigurnosnih propusta pripada Heartbleed propust?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# buffer overflow&lt;br /&gt;
# buffer under-read&lt;br /&gt;
# buffer underflow&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;buffer over-read&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
U okviru MS SDL-a modelovanje pretnji se sprovodi u fazi:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# puštanja u produkciju (Release)&lt;br /&gt;
# razvoja softvera (Develop)&lt;br /&gt;
# prikupljanja zahteve (Require)&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;dizajna softvera (Design)&amp;lt;/span&amp;gt;&lt;br /&gt;
# testiranja softvera (Verify)&lt;br /&gt;
# obuke (Train)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
SMART je mnemonik koji definiše kakvi treba da budu softverski zahtevi, pa samim tim i sigurnosni zahtevi. Šta označava slovo R u mnemoniku?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Dostižni&lt;br /&gt;
# Merljivi&lt;br /&gt;
# Moguće ih je pratiti kroz proces razvoja&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Razumni&amp;lt;/span&amp;gt;&lt;br /&gt;
# Precizno definisani&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Nabrojati deset principa bezbednog dizajna.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&lt;br /&gt;
# Minimizacija napadne površine&lt;br /&gt;
# Princip najmanjih privilegija&lt;br /&gt;
# Dubinska odbrana (Defense in Depth)&lt;br /&gt;
# Sigurni podrazumevani parametri (Secure Defaults)&lt;br /&gt;
# Ne oslanjaj se na nejasnoću (Security through obscurity is not enough)&lt;br /&gt;
# Fail securely (bezbedan način otkaza)&lt;br /&gt;
# Separacija dužnosti / izolacija komponenti&lt;br /&gt;
# Provera ulaza (Input validation)&lt;br /&gt;
# Least common mechanism (minimizacija deljenih mehanizama)&lt;br /&gt;
# Kompletno posmatranje (Complete mediation) – svaka akcija mora biti autorizovana&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Objasniti šta predstavlja PCI DSS standard i navesti koju vrstu sigurnosnih zahteva (prema izvoru sigurnosnih zahteva) možemo generisati na osnovu ovog standarda?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&lt;br /&gt;
PCI DSS (Payment Card Industry Data Security Standard) je standard koji propisuje sigurnosne kontrole za organizacije koje obrađuju, skladište ili prenose podatke o platnim karticama.&lt;br /&gt;
Na osnovu PCI DSS-a generišu se regulatorni sigurnosni zahtevi jer se zasnivaju na obaveznim industrijskim regulativama.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Integritet predstavlja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;zaštitu informacija i sistema od neautorizovane modifikacije ili uništenja i uključuje neporecivost i autentičnost&amp;lt;/span&amp;gt;&lt;br /&gt;
# obezbeđivanje mogućnosti pristupa podacima i njihove upotrebe na vreme&lt;br /&gt;
# zaštitu informacija od neautorizovanog pristupa, uključujući načine za zaštitu lične privatnosti i privatnih informacija&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
STRIDE je mnemonik koji definiše šest kategorija pretnji. Koja od njih je pretnja za integritet?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Odbijanje usluge&lt;br /&gt;
# Poricanje&lt;br /&gt;
# Podizanje privilegija&lt;br /&gt;
# Otkrivanje informacija&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Izmena&amp;lt;/span&amp;gt;&lt;br /&gt;
# Sakrivanje identiteta&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Prema referentnom modelu za upotrebu alata za sigurnosno testiranje aplikacija, šta se dešava ukoliko testovi SAST i SCA alata uspešno prođu?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Kompajliranje i generisanje verzije aplikacije&lt;br /&gt;
# Ispravka&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Predaja koda na test&amp;lt;/span&amp;gt;&lt;br /&gt;
# Generisanje izveštaja o greškama i zaustavljanje procesa isporuke&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Objasniti da li u kodu iz isečka postoji ranjivost koja se može eksploatisati. Ukoliko postoji, koja je to ranjivost i na koji način se u datom primeru iskorišćava?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
25 16 17 56 32 7 45 9 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdbool.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void authorize(int* input_data, int length) {&lt;br /&gt;
	bool is_admin = false;&lt;br /&gt;
	int values[8];&lt;br /&gt;
&lt;br /&gt;
	for (int i = 0; i &amp;lt; length ; i++) {&lt;br /&gt;
		values[i] = input_data[i];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if(is_admin) {&lt;br /&gt;
		execute_privileged_task();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da, postoji. Ranjivost je buffer overflow / out-of-bounds write, &#039;&#039;&#039;values&#039;&#039;&#039; ima veličinu 8 elemenata, a length može biti veći od 8. Petlja može pisati van granica niza, što omogućava napadaču da upiše podatke preko memorije posle &#039;&#039;&#039;values&#039;&#039;&#039; , prepiše promenljivu &#039;&#039;&#039;is_admin&#039;&#039;&#039; i postavi je na &#039;&#039;&#039;true&#039;&#039;&#039; , zatim dobije pristup execute_privileged_task(). Dakle, napad je zasnovan na eksploataciji buffer overflow-a radi eskalacije privilegija.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Koji mehanizam validacije je primenjen ukoliko e na sledeći način modifikuje prethodni isečak koda?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
void authorize(int* input_data, int length) {&lt;br /&gt;
	bool is_admin = false;&lt;br /&gt;
	int values[8];&lt;br /&gt;
	&lt;br /&gt;
	errno_t err = memcpy_s (values, sizeof(values), input_data, length * sizeof(int));	&lt;br /&gt;
&lt;br /&gt;
	if (err != 0) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if(is_admin) {&lt;br /&gt;
		execute_privileged_task();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Izaberite jedan odgovor:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Nijedan&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Upotreba sigurnih api poziva&amp;lt;/span&amp;gt;&lt;br /&gt;
# Whitelisting&lt;br /&gt;
# Blacklisting&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:РБС]]&lt;/div&gt;</summary>
		<author><name>Randommmennn</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A0%D0%91%D0%A1/%D0%A4%D0%B5%D0%B1%D1%80%D1%83%D0%B0%D1%80_2026&amp;diff=8339</id>
		<title>РБС/Фебруар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A0%D0%91%D0%A1/%D0%A4%D0%B5%D0%B1%D1%80%D1%83%D0%B0%D1%80_2026&amp;diff=8339"/>
		<updated>2026-03-13T18:05:03Z</updated>

		<summary type="html">&lt;p&gt;Randommmennn: Dodati RBS februar 26&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Ispit u februarskom ispitnom roku 2026. godine&#039;&#039;&#039; održan je 11. marta, trajao je sat vremena i radio se preko platforme Moodle u Secure browser.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
Kojoj vrsti sigurnosnih propusta pripada Heartbleed propust?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# buffer overflow&lt;br /&gt;
# buffer under-read&lt;br /&gt;
# buffer underflow&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;buffer over-read&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Dobro je da zadaci sa neočiglednim odgovorima imaju objašnjenje ispod sebe.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
U okviru MS SDL-a modelovanje pretnji se sprovodi u fazi:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# puštanja u produkciju (Release)&lt;br /&gt;
# razvoja softvera (Develop)&lt;br /&gt;
# prikupljanja zahteve (Require)&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;dizajna softvera (Design)&amp;lt;/span&amp;gt;&lt;br /&gt;
# testiranja softvera (Verify)&lt;br /&gt;
# obuke (Train)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
SMART je mnemonik koji definiše kakvi treba da budu softverski zahtevi, pa samim tim i sigurnosni zahtevi. Šta označava slovo R u mnemoniku?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Dostižni&lt;br /&gt;
# Merljivi&lt;br /&gt;
# Moguće ih je pratiti kroz proces razvoja&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Razumni&amp;lt;/span&amp;gt;&lt;br /&gt;
# Precizno definisani&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Nabrojati deset principa bezbednog dizajna.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&lt;br /&gt;
# Minimizacija napadne površine&lt;br /&gt;
# Princip najmanjih privilegija&lt;br /&gt;
# Dubinska odbrana (Defense in Depth)&lt;br /&gt;
# Sigurni podrazumevani parametri (Secure Defaults)&lt;br /&gt;
# Ne oslanjaj se na nejasnoću (Security through obscurity is not enough)&lt;br /&gt;
# Fail securely (bezbedan način otkaza)&lt;br /&gt;
# Separacija dužnosti / izolacija komponenti&lt;br /&gt;
# Provera ulaza (Input validation)&lt;br /&gt;
# Least common mechanism (minimizacija deljenih mehanizama)&lt;br /&gt;
# Kompletno posmatranje (Complete mediation) – svaka akcija mora biti autorizovana&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Objasniti šta predstavlja PCI DSS standard i navesti koju vrstu sigurnosnih zahteva (prema izvoru sigurnosnih zahteva) možemo generisati na osnovu ovog standarda?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&lt;br /&gt;
PCI DSS (Payment Card Industry Data Security Standard) je standard koji propisuje sigurnosne kontrole za organizacije koje obrađuju, skladište ili prenose podatke o platnim karticama.&lt;br /&gt;
Na osnovu PCI DSS-a generišu se regulatorni sigurnosni zahtevi jer se zasnivaju na obaveznim industrijskim regulativama.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Integritet predstavlja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;zaštitu informacija i sistema od neautorizovane modifikacije ili uništenja i uključuje neporecivost i autentičnost&amp;lt;/span&amp;gt;&lt;br /&gt;
# obezbeđivanje mogućnosti pristupa podacima i njihove upotrebe na vreme&lt;br /&gt;
# zaštitu informacija od neautorizovanog pristupa, uključujući načine za zaštitu lične privatnosti i privatnih informacija&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
STRIDE je mnemonik koji definiše šest kategorija pretnji. Koja od njih je pretnja za integritet?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Odbijanje usluge&lt;br /&gt;
# Poricanje&lt;br /&gt;
# Podizanje privilegija&lt;br /&gt;
# Otkrivanje informacija&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Izmena&amp;lt;/span&amp;gt;&lt;br /&gt;
# Sakrivanje identiteta&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
Prema referentnom modelu za upotrebu alata za sigurnosno testiranje aplikacija, šta se dešava ukoliko testovi SAST i SCA alata uspešno prođu?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Kompajliranje i generisanje verzije aplikacije&lt;br /&gt;
# Ispravka&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Predaja koda na test&amp;lt;/span&amp;gt;&lt;br /&gt;
# Generisanje izveštaja o greškama i zaustavljanje procesa isporuke&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Objasniti da li u kodu iz isečka postoji ranjivost koja se može eksploatisati. Ukoliko postoji, koja je to ranjivost i na koji način se u datom primeru iskorišćava?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
25 16 17 56 32 7 45 9 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdbool.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void authorize(int* input_data, int length) {&lt;br /&gt;
	bool is_admin = false;&lt;br /&gt;
	int values[8];&lt;br /&gt;
&lt;br /&gt;
	for (int i = 0; i &amp;lt; length ; i++) {&lt;br /&gt;
		values[i] = input_data[i];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if(is_admin) {&lt;br /&gt;
		execute_privileged_task();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da, postoji. Ranjivost je buffer overflow / out-of-bounds write, &#039;&#039;&#039;values&#039;&#039;&#039; ima veličinu 8 elemenata, a length može biti veći od 8. Petlja može pisati van granica niza, što omogućava napadaču da upiše podatke preko memorije posle &#039;&#039;&#039;values&#039;&#039;&#039; , prepiše promenljivu &#039;&#039;&#039;is_admin&#039;&#039;&#039; i postavi je na &#039;&#039;&#039;true&#039;&#039;&#039; , zatim dobije pristup execute_privileged_task(). Dakle, napad je zasnovan na eksploataciji buffer overflow-a radi eskalacije privilegija.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 10. zadatak ==&lt;br /&gt;
Koji mehanizam validacije je primenjen ukoliko e na sledeći način modifikuje prethodni isečak koda?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
void authorize(int* input_data, int length) {&lt;br /&gt;
	bool is_admin = false;&lt;br /&gt;
	int values[8];&lt;br /&gt;
	&lt;br /&gt;
	errno_t err = memcpy_s (values, sizeof(values), input_data, length * sizeof(int));	&lt;br /&gt;
&lt;br /&gt;
	if (err != 0) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if(is_admin) {&lt;br /&gt;
		execute_privileged_task();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Izaberite jedan odgovor:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Nijedan&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Upotreba sigurnih api poziva&amp;lt;/span&amp;gt;&lt;br /&gt;
# Whitelisting&lt;br /&gt;
# Blacklisting&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Napomene ==&lt;br /&gt;
&amp;lt;!-- Izbaciti ukoliko ne postoje napomene --&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:РБС]]&lt;/div&gt;</summary>
		<author><name>Randommmennn</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A0%D0%91%D0%A1/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8337</id>
		<title>РБС/Јануар 2026</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A0%D0%91%D0%A1/%D0%88%D0%B0%D0%BD%D1%83%D0%B0%D1%80_2026&amp;diff=8337"/>
		<updated>2026-03-12T20:38:19Z</updated>

		<summary type="html">&lt;p&gt;Randommmennn: Dopunjeno po secanju zadataka iz januarskog roka&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Ispit u januarskom ispitnom roku 2026. godine&#039;&#039;&#039; održan je 18. februara, trajao je sat vremena i radio se preko platforme &#039;&#039;Moodle&#039;&#039; u &#039;&#039;Secure browser&#039;&#039;.&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
&lt;br /&gt;
U okviru &#039;&#039;Heartbeat&#039;&#039; protokola korišćena je &#039;&#039;memcpy&#039;&#039; bibliotečka funkcija programskog jezika &#039;&#039;&#039;C&#039;&#039;&#039; koja je dovela do &#039;&#039;Heartblead&#039;&#039; sigurnosnog propusta.  U čemu je bio problem i kako ga je moguće izbeći?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&lt;br /&gt;
Funkcija ima potpis memcpy(bp, pl, payload) koja kopira payload bajtova iz bafera pl u bp. Ovo se koristi u Heartbeat za proveru da li je server aktivan. Klijent šalje poruku i dužinu poruke serveru, i server odgovara istom porukom. Ranjivost nastaje jer se ne radi provera da li je payload veći od veličine pl, pa klijent može da pošalje poruku veličine 4B, a payload da postavi na 128KB, i samim tim da pročita osetljive informacije - lozinke, podatke o brojevima kreditnih kartica i slično - buffer overread. Ovo se može prevazići jednostavnom proverom da li je payload veći od veličine pl, i ako da da se prijavi greška.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
Da li se kod &#039;&#039;NIST SSDF&#039;&#039; okvira za razvoj bezbednog softvera primenjuje statička analiza i ukoliko se primenjuje , u kojoj grupi praksi?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Ne primenjuje se&lt;br /&gt;
# Odgovoriti na ranjivost (Respond to Vulnerabilities)&lt;br /&gt;
# Zaštititi softver (Protect the Software)&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Proizvesti dobro zaštićen softver (Produce Well Secured Software)&amp;lt;/span&amp;gt;&lt;br /&gt;
# Pripremiti organizaciju (Prepare the Organization)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
Prema izvoru sigurnosni zahtevi se dele na eksplicitne i kvalitativne. Kako se dobijaju eksplicitni sigurnosni zahtevi? Dati primer nekog eksplicitnog sigurnosnog zahteva i objasniti kako je dobijen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&lt;br /&gt;
Eksplicitni zahtevi potiči iz regulativa i standarda. Regulative propisuju zaštitu IKT i zaštitu od napada (zakoni). Moraju se ispoštovati. Standardni su dokumenta odobrena od strane prepoznatih ili priznatih tela za standardizaciju. Ne moraju se ispoštivati. Primer eksplicitnog zahteva - zakon propisuje da nalozi na eUpravi moraju imati lozinku od najmanje 10 karaktera, i to bar 1 veliko slovo, bar 1 broj i bar 1 specijalni karakter iz određenog skupa. Ovo je dobijeno jer je pokazano da se primenom ovih kriterijuma otežava provaljivanje lozinke poznatim tehnikama.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
Koji od sledećih principa ne pripada listi principa bezbednog dizajna?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Oprezno dodeljivati poverenje&lt;br /&gt;
# Ne oslanjati se na nejasnost&lt;br /&gt;
# Koristiti jednostavna rešenja&lt;br /&gt;
# Osigurati najslabiju kariku&lt;br /&gt;
# Obezbediti greške i koristiti sigurne podrazumevane akcije&lt;br /&gt;
# Implementirati odbranu u dubinu&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Dodeliti najveće moguće privilegije&amp;lt;/span&amp;gt;&lt;br /&gt;
# Razdvojiti odgovornosti&lt;br /&gt;
# Ne izmišljati bezbednosnu tehnologiju&lt;br /&gt;
# Beležiti osetljive događaje&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
Ako u sistemu imamo 5 objekata i 5000 subjekata, koju kontrolu pristupa je bolje koristiti?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Liste za kontrolu pristupa&amp;lt;/span&amp;gt;&lt;br /&gt;
# Kontrola pristupa zasnovana na ulogama.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
&#039;&#039;&#039;STRIDE&#039;&#039;&#039; je mnemonik koji definiše šest kategorija pretnji. Koja od njih je pretnja za autorizaciju?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Odbijanje usluge&lt;br /&gt;
# Sakrivanje identiteta&lt;br /&gt;
# Poricanje&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Podizanje privilegija&amp;lt;/span&amp;gt;&lt;br /&gt;
# Izmena&lt;br /&gt;
# Otkrivanje informacija&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
Kada kažemo da nam je strategija izbegavanja rizika &#039;&#039;&#039;deljenje rizika&#039;&#039;&#039;, to onda znači:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Da se neće ništa preduzimati&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Angažovanje treće strane da se izbegne pretnja ili informisanje klijenta da je njegova obaveza da se pozabavi rizikom&amp;lt;/span&amp;gt;&lt;br /&gt;
# Izbacivanje modula koji uvodi rizik&lt;br /&gt;
# Promenu dizajna modula, dodavanje novih radnih zadataka, kupovinu dodatnih alata&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
U &#039;&#039;&#039;OSSTMM&#039;&#039;&#039;, šta predstavlja slepo testiranje?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Analitičar poznaje sve detalje o mogućim napadima, a meta je spremna za testiranje i zna unapred sve detalje testiranja.&lt;br /&gt;
# Analitičar poznaje kanale napada i delimično odbrane sistema, a meta je obaveštena o napadu i okvirom testiranja, ali ne i sa kanalima i vektorima napada.&lt;br /&gt;
# Analitičar nema predznanje o sistemu koji testira, a meta nije unapred upoznata sa testiranjem.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Analitičar nema predznanje o sistemu koji testira, a meta je spremna za testiranje i zna unapred sve detalje testiranja.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Analitičar poznaje sve detalje o mogućim napadima, a meta nije unapred upoznata sa testiranjem.&lt;br /&gt;
# Analitičar poznaje kanale napada i delimično odbrane sistema, a meta je spremna za testiranje i zna unapred sve detalje testiranja.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
Koji mehanizam validacije je primenjen u sledećem primeru koda?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
LOG_FILES = [&amp;quot;auth.log&amp;quot;, &amp;quot;syslog&amp;quot;, &amp;quot;access.log&amp;quot;]&lt;br /&gt;
def display_log(log_file_name):&lt;br /&gt;
	if log_file_name not in LOG_FILES:&lt;br /&gt;
		return &amp;quot;Invalid log file selection&amp;quot;&lt;br /&gt;
    result = subprocess.run([&amp;quot;cat&amp;quot;, f&amp;quot;/var/log/{log_file_name}&amp;quot;], capture_output=True, text=True)&lt;br /&gt;
    return result.stdout&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Izaberite jedan odgovor:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Upotreba sigurnih api poziva&lt;br /&gt;
# Blacklisting&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Whitelisting&amp;lt;/span&amp;gt;&lt;br /&gt;
# Dokumentovan je očekivan unos&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
Objasniti šta se događa ukoliko se u istom isečku koda kao log_file_name prosledi sledeći niz karaktera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;quot;syslog; rm -rf&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
LOG_FILE_LIST = [&amp;quot;data_log&amp;quot;, &amp;quot;system&amp;quot;, &amp;quot;access&amp;quot;]&lt;br /&gt;
def read_logs(log_file_name):&lt;br /&gt;
	if log_file_name not in LOG_FILE_LIST:&lt;br /&gt;
		return &amp;quot;Invalid log file name&amp;quot;&lt;br /&gt;
	result = subprocess.run([&amp;quot;cat&amp;quot;, f&amp;quot;/var/log/{log_file_name}.log&amp;quot;], capture_output=True, text=True)&lt;br /&gt;
    return result.stdout&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatno, ukratko objasniti mehanizam validacije primenjen u ovom primeru.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&lt;br /&gt;
Unos pored dozvoljene niske sadrži i nedozvoljene karaktere, pa će program vratiti Invalid log file name. Ovde se koristi tehnika &#039;&#039;whitelisting&#039;&#039;, za sprečavanje &#039;&#039;Command injection&#039;&#039; napada - do kog dolazi usled &#039;&#039;Improper input validation&#039;&#039;. Postoji lista dozvoljenih unosa, ako naš unos nije među njima, on se odbacuje i prijavljuje se greška. Ovo je proaktivan pristup, smanjuje značajno mogućnost za napad i samim tim je bolja tehnika od blackistinga.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Napomene ==&lt;br /&gt;
* Ovaj rok je napisan &amp;lt;strong&amp;gt;isključivo po sećanju studenata&amp;lt;/strong&amp;gt;.&lt;br /&gt;
* U određenim zadacima eksplicitne vrednosti ili ponuđeni odgovori možda nisu isti kao u originalnoj postavci, međutim u svim zadacima gde je to slučaj, očuvana je suština zadatka.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:РБС]]&lt;/div&gt;</summary>
		<author><name>Randommmennn</name></author>
	</entry>
</feed>