<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="176723" NadgradivoID="0" NRID="27925265" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=176723" StOgledov="291" StPrenosov="83" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-07-09 17:56:37" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000471" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-176723">20.500.12556/RUL-176723</PID>
  <Naslov>Preverjanje celovitosti kontrolnega pretoka</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Verification of control-flow integrity</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Magistrska naloga obravnava zagotavljanje celovitosti kontrolnega toka programov. Napadi, kot je vrnitveno usmerjeno programiranje, izkoriščajo pomnilniške ranljivosti in napadalcu omogočajo prevzem nadzora nad izvajanjem programa. V nalogi razvijemo sistem za preverjanje, s katerim ugotovimo, ali se je program izvedel tako, kot je bil načrtovan. Predelamo simulator Spike za arhitekturo RISC-V, da omogoča spremljanje programa med izvajanjem. Pri tem beležimo vsako spremembo kontrolnega toka z veriženjem zgoščenih vrednosti, s čimer na koncu ustvarimo atest o izvajanju. Možne poti programa določimo s statično analizo, pri kateri iz strojne kode programa zgradimo graf kontrolnega toka in ga analiziramo. Tako pridobimo vse možne poti programa in njihove ustrezne zgoščene vrednosti. Atest preverimo s pričakovanimi vrednostmi in ugotovimo morebitno kršitev celovitosti. Sistem smo preverili z naborom programov in izvedbo napada z vrnitveno usmerjenim programiranjem nad ranljivim programom, ki ga sistem pravilno zazna.</Opis>
  <TujJezik_Opis>The master&#039;s thesis addresses the assurance of control flow integrity in programs. Attacks such as return-oriented programming exploit memory vulnerabilities, allowing an attacker to hijack a program&#039;s execution. We developed a verification system to determine whether a program has executed as intended. We modified the Spike simulator for the RISC-V architecture to enable program execution monitoring. This involves logging every control flow change by chaining hash values, ultimately generating an execution claim. The program&#039;s possible paths are determined through static analysis, where we construct and analyse a control flow graph from the program&#039;s machine code. This process yields all possible program paths and their corresponding hash values. The claim is then verified against the expected values to detect any potential integrity violations. We evaluated the system using a set of programs and by performing a return-oriented programming attack on a vulnerable program. The system correctly detected the attack.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>kontrolni tok</Beseda>
    <Beseda>graf kontrolnega toka</Beseda>
    <Beseda>celovitost kontrolnega toka</Beseda>
    <Beseda>atestiranje kontrolnega toka</Beseda>
    <Beseda>vrnitveno usmerjeno programiranje</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>control flow</Beseda>
    <Beseda>control flow graph</Beseda>
    <Beseda>control flow integrity</Beseda>
    <Beseda>control flow attestation</Beseda>
    <Beseda>return-oriented programming</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1060" ISO639-3="slv">Slovenski jezik</Jezik>
  <TujJezik ID="1033" ISO639-3="eng">Angleški jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb22" DRIVER="info:eu-repo/semantics/masterThesis">Magistrsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2025-12-10 10:50:02</DatumVstavljanja>
  <DatumObjave>2025-12-10 10:50:12</DatumObjave>
  <DatumSpremembe>2025-12-24 03:57:22</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2025</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida></KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <EmbargoDo></EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="117888" Ime="Loris" Priimek="Štrosar Grmek" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="23619" Ime="Jurij" Priimek="Mihelič" AltIme="Jurij Mihelic; Jurij Mihellič; Jurij Mihehič" VlogaID="991" VlogaNaziv="Mentor" ConorID="22912099" Afiliacija="" ArrsID="22475" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">37867</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/262684675">262684675</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="223253" DatotekaNRID="14533016" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.png" IkonaFormataPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/fileTypes/pdf.png" VelikostDatoteke="1236569" VelikostDatotekeKratko="1,18 MB" DatumVstavljanja="2025-12-10 10:50:16" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="true" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>Strosar_grmek_Loris_-_Preverjanje_celovitosti_kontrolnega_pretoka.pdf</Naziv>
      <OrgNaziv>Strosar_grmek_Loris_-_Preverjanje_celovitosti_kontrolnega_pretoka.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>C38C58F4A2A3366600051A5D1331897F</MD5>
      <SHA256>10fcba0aaea4215235277ba28618cbd9924d1cb3ea3363ac113c5a0a9c079fc8</SHA256>
      <UUID>35ff2f9e-d5ad-11f0-9328-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=223253</PrenosPolniUrl>
      <Vsebine>
        <Vsebina TipVsebine="GoloBesedilo" JezikID="1060" Oznaka="" Dolzina="117494"></Vsebina>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="25" Kratica="FRI" ZavodEvsID="0000066" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="2.09" Koda="2.09" Naziv="Magistrsko delo" SchemaOrg="Thesis"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
