РБС/Јануар 2026
Ispit u januarskom ispitnom roku 2026. godine održan je 18. februara, trajao je sat vremena i radio se preko platforme Moodle u Secure browser.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
U okviru Heartbeat protokola korišćena je memcpy bibliotečka funkcija programskog jezika C koja je dovela do Heartblead sigurnosnog propusta. U čemu je bio problem i kako ga je moguće izbeći?
Odgovor:
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.
2. zadatak
Da li se kod NIST SSDF okvira za razvoj bezbednog softvera primenjuje statička analiza i ukoliko se primenjuje , u kojoj grupi praksi?
- Ne primenjuje se
- Odgovoriti na ranjivost (Respond to Vulnerabilities)
- Zaštititi softver (Protect the Software)
- Proizvesti dobro zaštićen softver (Produce Well Secured Software)
- Pripremiti organizaciju (Prepare the Organization)
3. zadatak
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.
Odgovor:
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.
4. zadatak
Koji od sledećih principa ne pripada listi principa bezbednog dizajna?
- Oprezno dodeljivati poverenje
- Ne oslanjati se na nejasnost
- Koristiti jednostavna rešenja
- Osigurati najslabiju kariku
- Obezbediti greške i koristiti sigurne podrazumevane akcije
- Implementirati odbranu u dubinu
- Dodeliti najveće moguće privilegije
- Razdvojiti odgovornosti
- Ne izmišljati bezbednosnu tehnologiju
- Beležiti osetljive događaje
5. zadatak
Ako u sistemu imamo 5 objekata i 5000 subjekata, koju kontrolu pristupa je bolje koristiti?
- Liste za kontrolu pristupa
- Kontrola pristupa zasnovana na ulogama.
6. zadatak
STRIDE je mnemonik koji definiše šest kategorija pretnji. Koja od njih je pretnja za autorizaciju?
- Odbijanje usluge
- Sakrivanje identiteta
- Poricanje
- Podizanje privilegija
- Izmena
- Otkrivanje informacija
7. zadatak
Kada kažemo da nam je strategija izbegavanja rizika deljenje rizika, to onda znači:
- Da se neće ništa preduzimati
- Angažovanje treće strane da se izbegne pretnja ili informisanje klijenta da je njegova obaveza da se pozabavi rizikom
- Izbacivanje modula koji uvodi rizik
- Promenu dizajna modula, dodavanje novih radnih zadataka, kupovinu dodatnih alata
8. zadatak
U OSSTMM, šta predstavlja slepo testiranje?
- Analitičar poznaje sve detalje o mogućim napadima, a meta je spremna za testiranje i zna unapred sve detalje testiranja.
- 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.
- Analitičar nema predznanje o sistemu koji testira, a meta nije unapred upoznata sa testiranjem.
- Analitičar nema predznanje o sistemu koji testira, a meta je spremna za testiranje i zna unapred sve detalje testiranja.
- Analitičar poznaje sve detalje o mogućim napadima, a meta nije unapred upoznata sa testiranjem.
- Analitičar poznaje kanale napada i delimično odbrane sistema, a meta je spremna za testiranje i zna unapred sve detalje testiranja.
9. zadatak
Koji mehanizam validacije je primenjen u sledećem primeru koda?
LOG_FILES = ["auth.log", "syslog", "access.log"]
def display_log(log_file_name):
if log_file_name not in LOG_FILES:
return "Invalid log file selection"
result = subprocess.run(["cat", f"/var/log/{log_file_name}"], capture_output=True, text=True)
return result.stdout
Izaberite jedan odgovor:
- Upotreba sigurnih api poziva
- Blacklisting
- Whitelisting
- Dokumentovan je očekivan unos
10. zadatak
Objasniti šta se događa ukoliko se u istom isečku koda kao log_file_name prosledi sledeći niz karaktera:
"syslog; rm -rf"
LOG_FILE_LIST = ["data_log", "system", "access"]
def read_logs(log_file_name):
if log_file_name not in LOG_FILE_LIST:
return "Invalid log file name"
result = subprocess.run(["cat", f"/var/log/{log_file_name}.log"], capture_output=True, text=True)
return result.stdout
Dodatno, ukratko objasniti mehanizam validacije primenjen u ovom primeru.
Odgovor:
Unos pored dozvoljene niske sadrži i nedozvoljene karaktere, pa će program vratiti Invalid log file name. Ovde se koristi tehnika whitelisting, za sprečavanje Command injection napada - do kog dolazi usled Improper input validation. 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.
Napomene
- Ovaj rok je napisan isključivo po sećanju studenata.
- 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.