ELEKTROTEHNI ˇ SKI VESTNIK 92(5): 250–260, 2025 IZVIRNI ZNANSTVENI ˇ CLANEK Metoda varnega predogleda sumljivih priponk PDF z zaklenjeno pretvorbo v slikovni zapis in e-poˇ stnim agentom kot vmesnikom za uporabnika ˇ Ziga Rojec Univerza v Ljubljani, Fakulteta za elektrotehniko, Trˇ zaˇ ska 25, 1000 Ljubljana, Slovenija E-poˇ sta: ziga.rojec@fe.uni-lj.si Povzetek. Datoteke PDF so lahko nosilke zlonamerne kode, ki v obliki priponk dosegajo uporabnikov e-poˇ stni predal. Prispevek predlaga novo metodo tehniˇ cne reˇ sitve za varen, hiter in enostaven ogled datotek PDF dvomljivega izvora. Z uporabo statiˇ cno povezane knjiˇ znice Poppler (Linux) napravimo enosmerno lokalno pretvorbo vsebine PDF v slikovni zapis (JPG). Proces izvajanja pretvorbe izvedemo znotraj peskovnika Seccomp v depriviligiranem vsebniku Docker, ki varuje zaledni operacijski sistem pred morebitnim izvajanjem ˇ skodljive kode med pretvorbo dokumenta. Takˇ sna zasnova zmanjˇ suje napadalno povrˇ sino, povezano z dinamiˇ cno interpretacijo strukture PDF, in je primerna za integracijo v okolja z omejenimi varnostnimi privilegiji. Pretvorba se izvede izjemno hitro, saj se izognemo zahtevam po polni virtualizaciji sistema, ki bi jo sicer morali uporabiti za doseganje podobne ravni varnosti. Poleg samostojne izvedbe v obliki lokalnega orodja CLI ˇ clanek predlaga arhitekturo oblaˇ cne mikrostoritve z agentom za elektronsko poˇ sto, ki omogoˇ ca razumljiv in nezahteven uporabniˇ ski vmesnik na ravni enostavnega poˇ siljanja sporoˇ cil elektronske poˇ ste agentu sistema. Prispevek vkljuˇ cuje tehniˇ cni opis izvedbe, oceno uˇ cinkovitosti in primerjavo s klasiˇ cnimi virtualizacijskimi pristopi. Kljuˇ cne besede: kibernetska varnost, peskovnik, odpornost, elektronska poˇ sta, zlonamerna koda, Seccomp, Docker A Method for Secure Preview of Suspicious PDF Attachments Using Locked-Down Image Conversion and an Email Agent as the User Interface PDF files can act as carriers of malicious code, reaching users’ email inboxes in the form of attachments. This paper proposes a novel method for a technical solution enabling the secure, fast, and simple viewing of PDF files from untrusted sources that may potentially contain malicious code. Using the statically linked Poppler library, a one-way local conversion of the PDF content into an image format (JPG) is performed. The conversion process is executed within a Seccomp san- dbox located within an unprivileged Docker container, which protects the underlying operating system from the potential execution of malicious code during the document conversion. This design reduces the attack surface associated with the dynamic interpretation of the PDF structure and is suitable for integration into environments with limited security privileges. The conversion is exceptionally fast, as it eliminates the need for full system virtualization that would otherwise be required to achieve a similar level of security. In addition to a standalone implementation as a local CLI tool, the paper proposes an architecture for a cloud-based microservice with an email agent, which provides an intuitive and user-friendly interface at the level of simply sending an email message to the system agent. The paper includes a technical description of the implementation, an efficiency evaluation, and a comparison with classical virtualization-based approaches. Prejet 10. julij, 2025 Odobren 13. november, 2025 Avtorske pravice: © 2025 Creative Commons Attribution 4.0 International License 1 UVOD 1.1 Poloˇ zaj formata PDF v digitalnem ekosistemu PDF (Portable Document Format) je med najbolj razˇ sirjenimi formati za izmenjavo zakljuˇ cenih doku- mentov [7], [36]. Vse od standardizacije leta 2008 (ISO 32000-1) je de facto valuta za izmenjavo za- kljuˇ cenih dokumentov v znanosti, javni upravi in go- spodarstvu [4]. Njegove kljuˇ cne prednosti so: • prenosljivost – dokument na vseh napravah ohrani identiˇ cen videz; • pestrost funkcij – vgradnja slik, zvoka, videa, certifikatov in JavaScript-a [2], celo 3D-modelov [19]; • ˇ siroka zdruˇ zljivost – na stotine odprtokodnih in komercialnih pregledovalnikov [21], [23], [26], [15], [34], [22], [28]. Nedavna poroˇ cila ocenjujejo, da globalno veˇ c kot 60 % vseh digitalnih dokumentov kroˇ zi v obliki PDF in da letno ˇ stevilo celo raste [7]. 1.2 Skrita cena univerzalnosti Struktura dokumenta PDF po standardu ISO 32000 lahko vsebuje akcije, ki jih pregledovalnik izvede sa- modejno (npr. ob odpiranju dokumenta) ali na podlagi uporabnikove interakcije (klik, premik miˇ ske). Posebno problematiˇ cna so ukazna polja, ki lahko proˇ zijo: • samodejno povezavo na oddaljen URL, METODA V ARNEGA PREDOGLEDA SUMLJIVIH PRIPONK PDF 251 • prenos in zagon vdelanega JavaScript-a, • branje in zapis lokalnih datotek preko starej ˇ sih vtiˇ cnikov [32], [4]. Ker so te zmoˇ znosti del standarda, jih morajo pregledo- valniki implementirati, to pa lahko poveˇ ca t. i. napadalno povrˇ sino. Zlasti problematiˇ cno je avtomatiˇ cno povezova- nje na URL-povezave, ki se zgodi ob odprtju datoteke. Mehanizmi za detekcijo (protivirusni programi) vgrajene ˇ skodljive kode ne zaznajo, ob odprtju datoteke pa se ta lahko naloˇ zi s tretjega streˇ znika, se zaˇ zene in povzroˇ ci ˇ skodo uporabniku. 1.3 Razredi groˇ zenj M¨ uller idr. [32] tveganja razvrˇ sˇ cajo v ˇ stiri osrednje razrede: 1) DoS (“Denial-of-Service“) – zavrnitev storitve; pro- cesor in pomnilnik se zapolnita s kompleksnimi objekti, kar zamrzne aplikacijo; 2) kraja podatkov – pridobivanje poverilnic z obraz- cev ali datoteˇ cnega sistema uporabnika; 3) sprememba sistema – pisanje nezaˇ zelenih datotek, sprememba registrskih kljuˇ cev; 4) oddaljeni zagon kode (RCE) – izvrˇ sevanje vdela- nih skript ali dinamiˇ cno nalaganje binarnih modu- lov. Dodatni razred predstavljajo t. i. shadow attacks – manipulacija vsebine po digitalnem podpisu – a ti ne sodijo v tematiko tega prispevka [30], [24]. 1.4 Psihologija zaupanja uporabnikov Zgodovina interneta je uporabnike nauˇ cila nezaupanja in previdnosti do priponk ZIP in dokumentov Office z makri. Nasprotno pa besedilne datoteke PDF veˇ cina oznaˇ cuje kot relativno varne [20]. Veliko zaupanje sku- paj z dokazano ranljivostjo formata ustvarja funkcio- nalno vabo, ki jo lahko izrabijo napadalci. Po podatkih podjetij za internetno varnost je 22 % vseh ˇ skodljivih priponk v vektorskem kanalu e-poˇ ste prav PDF [13]. Zaradi relativno velikega zaupanja v varnost formata in njegovih dokazanih varnostnih tveganj torej obstaja zelo velika verjetnost uporabe tega vektorja za izvedbo sofisticiranih napadov na uporabnika spleta, elektronske poˇ ste ali druge informacijske tehnologije. 1.5 ˇ Zivahno raziskovalno podroˇ cje Raziskovanje in reˇ sevanje problema varnosti PDF-datotek je ˇ zivo akademsko podroˇ cje. Dosedanji prispevki segajo od statiˇ cne analize bajtnih tokov [27] do uporabe konvolucijskih nevronskih mreˇ z za klasifikacijo s preduˇ cenjem [16], [37], [11] in preostalih metod strojnega uˇ cenja [38]. Kljub bogati literaturi so kljuˇ cni izzivi t. i. zero-day exploits (ˇ skodljivi postopki, ki kot prvi izrabljajo drugim ˇ se neodkrito ranljivost), pobeg iz peskovnikov in uporabniˇ ska ergonomija, ki odpirajo nova znanstvena vpraˇ sanja. 1.6 Obstojeˇ ca zaˇ sˇ cita: kje se zatakne? 1.6.1 Protivirusne zaˇ sˇ cite: Uporabniki osebnih raˇ cunalnikov se proti groˇ znjam zlonamerne kode lahko dobro zaˇ sˇ citijo z uporabo protivirusnih in anti-malware programov. Programi te vrste veˇ cinoma pregledujejo datoteke na uporabnikovem disku in njihove binarne prstne odtise primerjajo z vpisi v podatkovno bazo znanih ˇ skodljivih programov oz. virusov. Ob morebitnem ujemanju nato zaˇ sˇ citijo sistem tako, da ˇ skodljivo datoteko odstranijo iz sistema oz. uporabniku onemogoˇ cijo njegovo uporabo. Teˇ zava se pojavi, ko uporabnik prejme ˇ skodljivo datoteko, ki je protivirusna podjetja v preteklosti ˇ se niso zaznala pri dovolj uporabnikih, in zato ˇ se ni vkljuˇ cena v bazo protivirusnega programa. ˇ Ce je ˇ skodljiva koda tehnoloˇ sko izpopolnjena in usmerjena na toˇ cno enega uporabnika, pa je protivirusni program pri odkrivanju zlonamerne kode lahko zelo neuspeˇ sen. Uporaba zaˇ sˇ citnih programov je pogosto povezana z dragimi licencami ter vzdrˇ zevanjem posodobljenega sistema. Poleg tega pa zaˇ sˇ citnih programov tipiˇ cno ne poganjamo na napravah, kot so mobilni telefoni, tablice, raˇ cunalniki z operacijskim sistemom Linux ali MacOS. Teˇ zje jih je posodabljati tudi na starejˇ sih sistemih, ki jih poganjajo operacijski sistemi Windows 10, Win XP in starejˇ si, ki jih kljub upokojitvi proizvajalca uporablja veˇ c kot polovica uporabnikov osebnih raˇ cunalnikov [3]. 1.6.2 Streˇ zniˇ ske karantene: Veˇ cji ponudniki storitev elektronske poˇ ste (npr. Microsoft, Google) uporabljajo avtomatizirane karantenske mehanizme, ki so sposobni ˇ ze na ravni streˇ znika oceniti varnost posredovane vse- bine, ˇ se preden ta doseˇ ze naslovnika [31], [40]. Ome- njeni sistemi imajo lahko doloˇ cene pomanjkljivosti: po- leg vsiljene poˇ ste in ˇ skodljive vsebine pogosto blokirajo tudi legitimne poˇ siljke. Z delovanjem prav tako niˇ zajo hitrost prenosa poˇ ste – pogosto se poroˇ cila o sporoˇ cilih v karanteni poˇ siljajo enkrat na dan ali celo redkeje, zato uporabnik lahko spregleda pomembna sporoˇ cila, ki so mogoˇ ce legitimna, pa jih je programska oprema oznaˇ cila za potencialno ˇ skodljiva. Karantene v oblaku ponujajo tudi drugi ponudniki oblaˇ cnih storitev. Uporabnik lahko sumljive datoteke enostavno odvrˇ ze (drag-and-drop) v spletno storitev, ki datoteko pregleda s protivirusnim programom [39], [17] in poda poroˇ cilo. Oblaˇ cne storitve lahko podajo tudi podrobnejˇ so analizo o obnaˇ sanju datoteke [9], [25], [14]. Slednja orodja so lahko zelo uporabna za izkuˇ sene raˇ cunalniˇ ske strokovnjake, manj pa za vsakdanjo rabo obiˇ cajnih uporabnikov. Opomniti moramo, da imajo brezplaˇ cni raˇ cuni omenjenih ponudnikov peskovnikov v oblaku model, po katerem postanejo poslane datoteke javne. 1.6.3 Uporaba virtualizacije: Za varen in popolnoma zaseben vpogled v vsebino potencialno ˇ skodljive dato- teke (ali zagon programa, ki mu ne zaupamo) lahko uporabnik uporabi preverjeno metodo izolacije v virtual- 252 ROJEC nem stroju (angl. virtual machine ali VM). Na raˇ cunalnik namestimo program za virtualizacijo operacijskega sis- tema (npr. VirtualBox, VMware Workstation, Parallels ali Hyper-V) [35]. Nato, kot opisano v sliki 1: 1) v VM namestimo sveˇ z operacijski sistem in pregle- dovalnik PDF, * 2) ustvarimo posnetek stanja (snapshot) neposredno po namestitvi, 3) konfiguriramo deljeno mapo gostitelj–gost za pre- nos dokumentov ter onemogoˇ cimo internetno pove- zavo in skupno odloˇ ziˇ sˇ ce, 4) kopiramo sumljivo priponko v deljeno mapo, 5) zaˇ zenemo VM in v izoliranem okolju odpremo PDF, 6) po ogledu zapremo VM in povrnemo stanje na prvotni snapshot. Metoda je tehniˇ cno uˇ cinkovita, a zahteva ˇ cas, sistemsko znanje in discipliniran postopek; napake (npr. nena- merno odprtje datoteke med nameˇ sˇ canjem v deljeno mapo, nenamerno omogoˇ cen internet, pozabljen snap- shot) lahko izniˇ cijo varnostne koristi. V razdelku Rezul- tati in diskusija ta postopek kvalitativno primerjamo z naˇ sim predlaganim pristopom. Računalnik - gostitelj okuzen.pdf DELJENA MAPA + okuzen.pdf VIRTUALNI RAČUNALNIK - GOST okuzen.pdf USTAVI VR PONASTAVI POSNETEK VR Ogled datoteke Slika 1 Uporaba virtualnega raˇ cunalnika za varen ogled vse- bine PDF. 1.7 Uporabnikova dilema V nasprotju z uporabniki v tehniˇ cno in informacijsko dobro opremljenih korporacijah ali javnih ustanovah pa veˇ cina manjˇ sih organizacij in samostojnih uporabnikov e-poˇ ste pogosto nima moˇ znosti uporabe naprednih ka- rantenskih sistemov, ki bi zajezile tveganje prenaˇ sanja zlonamernih datotek v obliki priponk ali drugaˇ ce. Veliko uporabnikov e-poˇ ste se zaveda nevarnosti, pogosto pa ni- majo ali ne poznajo naˇ cina varnega preverjanja vsebine. ∗ Najpogosteje Windows ali namizno distribucijo Linuxa z grafiˇ cnim okoljem. To uporabnike spravlja v dilemo – dokument odpreti ali ne? Uporabnikova odloˇ citev ima najmanj dva moˇ zna negativna scenarija: a) uporabnik dvomljivo vsebino kljub pomislekom odpre in v primeru ˇ skodljive vsebine tvega okuˇ zbo/nestabilnost sistema, b) uporabnik vsebine ne odpre, a se ta izkaˇ ze za legi- timno, zato lahko doˇ zivi poslovno ˇ skodo/izgubo. 1.8 Naˇ sa raziskovalna teza Vsak uporabnik elektronske poˇ ste bi moral imeti moˇ znost varnega predogleda datotek PDF, preden jih prenese in ogled poˇ zene na svoji napravi. ˇ Se veˇ c, ta moˇ znost bi morala obstajati neodvisno od starosti in vr- ste operacijskega sistema ali naprave, na kateri spremlja elektronsko poˇ sto. Hipoteza: neodvisno od uporabnikovega operacij- skega sistema ali naprave je mogoˇ ce zasnovati sistem, ki z uporabo minimalnega seccomp profila, vsebnika Docker in principov uporabne varnosti zagotovi predo- gled PDF-ja brez tveganja za integriteto uporabnikove naprave – vse to v nekaj sekundah. Predogled (tj. ogled brez interaktivne vsebine) zadoˇ sˇ ca, da se uporabnik seznani z vsebino in oceni verodostojnost dokumenta. 1.8.1 Rokovanje s sistemom: Dodatno uporabnost je mogoˇ ce doseˇ ci, ˇ ce sistem teˇ ce v lokalnem oblaku. Standard mednarodne organizacije ISO 9241-11 reˇ suje teˇ zave, na katere uporabniki naletijo ob nepotrebnih korakih, ki so potrebni za dokonˇ canje opravka [5]. V skladu z idejami standarda predlagamo naslednjo orga- nizacijo sistema: organizacija vzpostavi e-naslov, na ka- terega ˇ clan organizacije (npr. janez.novak@x.org) lahko posreduje sporoˇ cila s sumljivo priponko (npr. predogled@x.org). Za branje predala e-poˇ ste naj v organizaciji skrbi poseben raˇ cunalniˇ ski agent, ki poˇ sto sprejme, jo varno odpre, pretvori morebitne priponke formata PDF v neizvrˇ sljivo datoteko formata BMP, JPG ali PNG po metodi, opisani v poglavju 2.4 in namesti pretvorjene datoteke na organizaciji dostopen streˇ znik HTTPS. Agentni sistem po pretvorbi odgovori na sporoˇ cilo in ob uspeˇ sni pretvorbi datotek, posreduje podatke za dostop do varnega ogleda datotek na strani streˇ znika HTTPS. S tem se rokovanje s sistemomza uporabnika poe- nostavi na eno operacijo – posredovanje e-sporoˇ cila na zaupanja vreden naslov. 1.9 Prispevki ˇ clanka • Implementacija stati ˇ cnegapdftoppm sseccomp v neprivilegiranem zabojniku Docker brez operacij- skega sistema. • Zasnova forward-to-inspect e-po ˇ stnega toka, ki su- mljive PDF-je samodejno pretvori v JPG. • Elaborirana primerjava s klasi ˇ cnim VM-scenarijem (ˇ cas zagona, ocena kognitivne obremenitve, zane- sljivost zadrˇ zevanja, vzdrˇ zevanje). METODA V ARNEGA PREDOGLEDA SUMLJIVIH PRIPONK PDF 253 Organizacija ˇ clanka: Metode so predstavljene v 2; diskusija z rezultati v 3; zakljuˇ cek v poglavju 4. 2 METODE V tem poglavju najprej natanˇ cno opisujemo predlagano metodo za varen predogled datoteke PDF, pozneje pa predlagano ˇ se metodo za rokovanje s sistemom. 2.1 Pretvorba datoteke PDF v neizvrˇ sljiv slikovni format Osnovna ideja varnega predogleda datoteke PDF te- melji na predpostavki, da je mogoˇ ce vsebino datoteke PDF pretvoriti v datoteˇ cni format, ki uporabnika varuje pred potencialno ˇ skodljivimi akcijami, omogoˇ ca pa nein- teraktiven ogled vsebine. ˇ Ce povpreˇ cen dokument PDF npr. pretvorimo v format slikovne datoteke (npr. nesti- snjen format BMP/PPM ali stisnjen format JPG/PNG), si je vsebino mogoˇ ce ogledati s pomoˇ cjo programov za ogled fotografij. Po pretvorbi v slikovni format se izgubijo skriti elementi in izvrˇ sljiva koda, ki bi lahko proˇ zili neavtorizirane akcije na uporabnikovem sistemu, saj slikovni formati ne podpirajo izvajanja naprednih akcij, kot je izvajanje kode JavaScript ali nalaganje z oddaljenega streˇ znika, manj verjetno je tudi, da bi uporabnik kliknil na ponujeno hiperpovezavo znotraj do- kumenta. Za varen predogled vsebine je treba zagotoviti, da se proces pretvorbe PDF v slikovni format izvede po varnem postopku, katerega izvajanje samo po sebi ne more povzroˇ citi ˇ skode uporabniku. Za pretvarjanje datotek PDF v slikovne formate lahko uporabimo odprtokodni program pdftoppm, ki je del ˇ sirˇ se knjiˇ znice Poppler za delo z datotekami PDF v sistemu Linux [33]. Je program, ki se zaˇ zene s pomoˇ cjo komandne vrstice, kot vhod sprejme datoteko formata PDF in jo sprva pretvori v format PPM (Portable Pixmap), ki ni stisnjen, naposled pa jo izda v ˇ zelenem stisnjenem formatu (npr. JPG). Odprtokodni program pdftoppm za svoje delo po- trebuje kopico sistemskih knjiˇ znic, ki jih v operacijski sistem Linux nameˇ sˇ camo prek t. i. repozitorijev. Vsaka od njih ima lahko svoje varnostne pomanjkljivosti, ki jih brez podrobne analize ne moremo poznati; ˇ se veˇ c, vsak trenutek se lahko koda v repozitoriju spremeni, po nadgradnji sistema pa naˇ s proces lahko izrablja nov postopek, ki ga nismo varnostno preverili. Zato je treba odprtokodni program, ki ga ˇ zelimo uporabljati za varnostno tvegane operacije, ”zapakirati” v enotno izvrˇ sljivo datoteko, ki ji naposled ob izvajanju strogo omejimo dovoljene sistemske vire. Statiˇ cno prevajanje takega tipa odprtokodnega programa zahteva svoje po- glavje, ki sledi. 2.2 Postopek izdelave varnostno preverljive statiˇ cne izvedbepdftoppm Kompilacija knjiˇ znic PDF-procesorjev, kakrˇ sen je pdftoppm iz projekta Poppler, na klasiˇ cnih distribu- cijah GNU/Linux pogosto propade zaradi kompleksnih odvisnosti in verzijskih neskladij dinamiˇ cnih knjiˇ znic. V varnostnih okoljih, kjer si prizadevamo za determi- nistiˇ cne, reproducibilne in zanesljive gradnje, so takˇ sne neuspeˇ sne kompilacije nesprejemljive, saj oteˇ zujejo na- knadno analizo, preverjanje ranljivosti in zanesljivo po- sodabljanje. Da bi zagotovili izvajanje orodja pdftoppm brez vsakrˇ snih sistemskih odvisnosti, smo uporabili pri- stop Docker veˇ cstopenjske gradnje. V prvi stopnji (oznaka builder) prevedemo in poveˇ zemo vse po- trebne knjiˇ znice in program sam, v drugi stopnji (scratch) pa v konˇ cno podobo vkljuˇ cimo zgolj en artefakt: ########## builder ########## FROM alpine:edge AS builder ENV MAKEFLAGS="-j$(nproc)" \ PKG_CONFIG="pkg-config --static"\ CFLAGS="-static -O2 -pipe" \ CXXFLAGS="${CFLAGS}" \ LDFLAGS="-static -s" RUN apk add --no-cache --virtual .build-deps \ build-base git cmake ninja meson \ libtool autoconf automake pkgconf \ bison flex wget xz tar gzip Nastavitev okolja (CFLAGS=-static) prisili statiˇ cno povezovanje vseh artefaktov; parameter -s hkrati odstrani simbole za razhroˇ sˇ cevanje, kar zmanjˇ sa povrˇ sino za obratni inˇ zeniring. 2.2.0-A) Kompilacija vseh odvisnosti v statiˇ cni obliki: Zaporedoma prevajamo in namestimo zlib, libjpeg-turbo, libpng, Brotli, FreeType ter konˇ cno Poppler. Za vsako knjiˇ znico izrecno onemogoˇ cimo deljene (shared) objekte in izberemo statiˇ cno povezovanje (--enable-static, ENABLE_SHARED=FALSE, . . . ). Kljuˇ cni parametri pri konfiguraciji Poppler so: • -DBUILD_SHARED_LIBS=OFF: generira zgolj statiˇ cne arhive; • -DENABLE_...=OFF: izklju ˇ cimo nepotrebne module (QT, GLib, Cairo ipd.), s ˇ cimer zmanjˇ samo napadno povrˇ sino; • -DCMAKE_EXE_LINKER_FLAGS= -static -lbrotlidec -lbrotlicommon: roˇ cno dodamo statiˇ cni dekoder Brotli, ki ga FreeType potrebuje pri obdelavi kompresiranih pisav. 2.2.0-B) Minimizacija artefakta: Po uspeˇ sni kom- pilaciji odstranimo vse preostale deljene knjiˇ znice in razvojna orodja: find /usr/local/lib -name ’ * .so * ’ -delete apk del .build-deps S tem zagotovimo, da vdelana podoba ne vsebuje odveˇ cnih binarnih datotek, ki bi lahko pomenile var- nostna tveganja (npr. zaradi slabˇ se vzdrˇ zevanih skupnih knjiˇ znic). 2.2.0-C) Konˇ cna podoba.: Na drugi stopnji upora- bimo bazo vsebnika scratch, ki je povsem prazna: 254 ROJEC ########## final ########## FROM scratch COPY --from=builder /usr/local/bin/pdftoppm /pdftoppm ENTRYPOINT ["/pdftoppm", "-h"] Tako nastala kontejnerska slika vsebuje natanko eno statiˇ cno povezano izvrˇ sljivo datoteko, kar bistveno po- enostavi preverjanje integritete in izkljuˇ cuje napade, ki temeljijo na nadomeˇ sˇ canju deljenih knjiˇ znic. 2.2.0-D) Operativna uporaba: Kontejner lahko zaˇ zenemo neposredno: docker run --rm -v "$(pwd)":/data poppler-static \ /pdftoppm /data/vhod.pdf /data/izhod Zaradi statiˇ cnega povezovanja je mogoˇ ce binarno dato- teko varno izvleˇ ci in pognati tudi zunaj kontejnerja na poljubnem sodobnem sistemu x86 64 Linux: cid=$(docker create poppler-static) docker cp "$cid:/pdftoppm" ./pdftoppm \ && docker rm "$cid" ./pdftoppm -v # deluje brez odvisnosti 2.2.0-E) Varnostni pomen: Izbrani pristop prinaˇ sa sledeˇ ce prednosti v kontekstu raˇ cunalniˇ ske varnosti: a) Deterministiˇ cnost. Docker reproducira natanko isto okolje gradnje, kar omogoˇ ca zanesljivo revizijo in preverjanje ranljivosti (npr. CVE-2023-41360 v libpng [6]). b) Minimalna napadna povrˇ sina. Slika scratch + statiˇ cni binarij izkljuˇ cuje nepotrebne interprete, pa- ketne menedˇ zerje in dinamiˇ cne knjiˇ znice. c) Odpornost proti napakam povezanih knjiˇ znic. Vse odvisnosti so eksplicitno fiksirane, kar onemogoˇ ca podtikanje zlonamernih paketov. d) Laˇ zja forenziˇ cna analiza. Eno samo binarno datoteko je enostavneje podvreˇ ci statiˇ cni analizi (npr. gdb, ghidra), saj ni potrebe po dinamiˇ cnem nalaganju dodatnih modulov. S tem postopkom smo torej izpolnili robustne varnostne zahteve in zagotovili, da je orodje pdftoppm varno iz- vedljivo v okoljih, kjer so prisotne stroge omejitve glede nameˇ sˇ canja zunanjih knjiˇ znic (npr. v sandboxih, pri obdelavi potencialno zlonamernih PDF dokumentov ali na visoko heterogenih produkcijskih sistemih). Velikost prevedenega in statiˇ cno povezanega orodja pdftoppm znaˇ sa zgolj 38,8 MB. 2.3 Implementacija procesnih omejitev Neposreden zagon statiˇ cno prevedenega orodja pdftoppm ˇ se ne zagotavlja popolne varnosti matiˇ cnega sistema. Med izvajanjem programa je treba dodatno omejiti vse procese, ki bi potencialno lahko ˇ skodili sistemu in jih za osnoven predogled vsebine ne po- trebujemo. Za zagotovitev varnostnega okolja je nujno vzpostaviti mehanizme, ki zaklenejo (angl. lockdown) nedovoljene sistemske klice in omejijo dostop do sistem- skih virov. V operacijskem sistemu Linux to doseˇ zemo z integracijo dveh kljuˇ cnih mehanizmov: 2.3.1 Omejevanje sistemskih klicev s seccomp: Knjiˇ znica seccomp (Secure Computing Mode) [12] je jedrni mehanizem za prehod procesa v varno stanje, kjer so privzeto onemogoˇ ceni vsi sistemski klici razen osnov- nih operacij (npr. sporoˇ cila o stanju in izhodu procesa ter osnovni operaciji I/O). Pri naˇ crtovanju pravilnika za seccomp moramo upoˇ stevati funkcionalne zahteve ciljne aplikacije, v naˇ sem primeru procesa pdftoppm. Naslednji primer demonstrira konfiguracijo, ki: • Dovoli operaciji odpiranja (open) in zapiranja (close) datotek • Strogo prepove kloniranje procesov (vfork) in ustvarjanje map (mkdir) #include scmp_filter_ctx const ctx = seccomp_init(SCMP_ACT_TRAP); seccomp_rule_add(ctx,SCMP_SYS(open), SCMP_ACT_ALLOW,0); seccomp_rule_add(ctx,SCMP_SYS(close), SCMP_ACT_ALLOW,0); seccomp_rule_add(ctx,SCMP_SYS(vfork), SCMP_ACT_ERRNO(0),0); seccomp_rule_add(ctx,SCMP_SYS(mkdir), SCMP_ACT_ERRNO(0),0); 2.3.2 Nadzor sistemskih virov ssetrlimit: Meha- nizem setrlimit(2) omogoˇ ca granularno omejeva- nje porabe raˇ cunalniˇ skih virov. Omejitve procesorskega ˇ casa (RLIMIT_CPU) se upravljajo z dvojno mejo: • Mehka meja (2 sekundi): Ob prese ˇ zku proces prejme signal SIGXCPU. • Trda meja (3 sekunde): Dokon ˇ cno prekinitev pro- cesa s signalom SIGKILL. #include #include setrlimit(RLIMIT_CPU, 2, 3); Podobno lahko vzpostavimo omejitve za: • Velikost ustvarjenih datotek (RLIMIT_FSIZE) • Pomnilni ˇ ski prostor za podatkovni segment (RLIMIT_DATA) int slim = 10 * 1024 * 1024; int hlim = 12 * 1024 * 1024; setrlimit(RLIMIT_FSIZE, slim, hlim); setrlimit(RLIMIT_DATA, slim, hlim) V praksi je treba omejitve nastaviti tako, da ne bodo blokirale pretvorbe legitimnih datotek PDF veˇ cjih veli- kosti. 2.3.3 Zagon nezaupanja vrednega procesa: Po vzpo- stavitvi varnostnih mehanizmov izvedemo nezaupanja vreden proces z uporabo sistemskega klica execv. Ta ohrani obstojeˇ ci identifikator procesa (PID) in varnostne omejitve, zamenja pa izvajano kodo: execv(argv[1], argv + 1); kjer argv[1] predstavlja pot do binarne izvrˇ sljive datoteke, argv + 1 pa kazalec na njen argumentni METODA V ARNEGA PREDOGLEDA SUMLJIVIH PRIPONK PDF 255 niz, v katerem so navedene nastavitve in poti vhodnih ter izhodnih datotek. Ta pristop zagotavlja, da se vse predhodno konfigurirane omejitve nanaˇ sajo na ciljni proces. Kodo, ki vsebuje pravila zaseccomplockdown.c prevedemo in jo statiˇ cno poveˇ zemo s prevedeno matiˇ cno knjiˇ znico, tako da dobimo eno izvrˇ sljivo datoteko lockdown.sbin (0,87 MB). Zagon lockdown.sbin sproˇ zi zagon programa, podanega preko parametra (pdftoppm.sbin) pod omejenimi procesnimi pogoji (slika 2). lockdown.sbin lockdown.sbin run seccomp execv() pdftoppm.sbin lockdown.sbin seccomp pdftoppm.sbin seccomp Slika 2 Zaklepanje procesa – program lockdown.c za- klene dovoljenja za proces, ukaz execv() nadomesti pro- gram, ki trenutno teˇ ce, z binarno statiˇ cno povezano knjiˇ znico pdftoppm.sbin pod isto (starˇ sevsko) procesno identiteto. 2.4 Zagon v vsebniku in izvleˇ cenje izhodnih datotek Naˇ s predlog za zagon varnega sistema pretvorbe PDF v JPG predvideva zagon statiˇ cno povezane knjiˇ znice pdftoppm.sbin pod seccomp.sbin znotraj mi- nimalnega vsebnika Docker. V tem poglavju opisu- jemo predlog naˇ cina uporabe vsebnika Docker za zagon predogleda datotek PDF. Predvidevamo, da ˇ ze obstajata binarni datoteki lockdown.sbin ter pdftoppm.sbin. V sliko Docker ju namestimo z naslednjim ukazom za Docker: #seccomp-pdf/Dockerfile FROM scratch COPY lockdownsl /usr/local/bin/lockdownsl COPY pdftoppm /usr/local/bin/pdftoppm WORKDIR /work # zazenemo: lockdownsl /usr/local/bin/pdftoppm ENTRYPOINT ["/usr/local/bin/lockdownsl", \ "/usr/local/bin/pdftoppm"] Tako dobimo sliko vsebnika brez nameˇ sˇ cenega ope- racijskega sistema, brez knjiˇ znic, brez interpreterja za shell/bash, skratka golo okolje z minimalno napa- dno povrˇ sino. Na matiˇ cnem sistemu ustvarimo ciljno mapo za iz- hodne datoteke, zaˇ zenemo vsebnik Docker, pripnemo vhodno datoteko in pripnemo izhodno mapo ter Doc- kerju posredujemo parametre, ki naj se zaˇ zenejo v zaklenjenem procesu: mkdir -p out/ docker run --rm \ -v "$PWD/in.pdf":/work/in.pdf:ro \ -v "$PWD/out":/work/out \ pdftoppm-seccomp:latest \ -jpeg -jpegopt quality=50 \ -r 300 \ /work/in.pdf /work/out/page Po zagonu zgornjih navodil za bash se ob uspeˇ sni pretvorbi vsaka stran vhodnega PDF pojavi v obliki datotek JPG v mapi out, kjer so pripravljene za varen predogled. Slika 3 predstavlja potek procesa zagona pretvorbe PDF v JPG znotraj vsebnika. vstopni.pdf Docker lockdown.bin pdftoppm.sbin namesti pdftoppm.sbin vstopni.pdf lockdown.bin Docker ./lockdown.bin pdftoppm.sbin vstopni.pdf izstopne_strani.jpg Slika 3 Zagon zaklenjenega procesa pdftoppm znotraj vseb- nika. 2.5 Zasnova tokaforward-to-inspect Za namen maksimizacije varnosti za uporabnika ter hkrati dobrega naˇ cina za rokovanje s sistemom predla- gamo, da pretvornik PDF v JPG deluje v sklopu izolira- nega streˇ zniˇ skega sistema v oblaku matiˇ cne organizacije. Nevarnost, ki preti iz zagona neznanih datotek (e-poˇ stnih priponk), je usmerjena na uporabnika v organizaciji — zato je pomembno, da ergonomiko sistema osredinimo prav na uporabnika. V naˇ sem predlogu predvidevamo, da ima uporabnik svobodo prejemanja e-poˇ stnih sporoˇ cil z razliˇ cnih, tako zunanjih kot notranjih naslovov. 2.5.1 Organizacija oblaka organizacije: Oblaˇ cni streˇ zniˇ ski sistem znotraj organizacije naj bo konfiguriran tako, da sprejema e-poˇ stna sporoˇ cila s svojih (ali registri- ranih) domen. Raˇ cunalniˇ ski agent naj prejeto sporoˇ cilo 256 ROJEC analizira. V primeru obstojeˇ cih priponk PDF naj izvede naslednji algoritem: 1.) Priponko a.pdf (ali priponke, ˇ ce jih je veˇ c) naj namesti v zaˇ casno mapo z minimalnimi pravicami znotraj streˇ znika. 2.) Izvede naj varno pretvorbo PDF v JPG z uporabo metode, opisane v 2.4. 3.) Izhodne datoteke tipa JPG naj namesti na del streˇ znika dostopen prek HTTPS. 4.) Del streˇ znika, ki skrbi za elektronsko poˇ sto (npr. SMTP), naj uporabniku odgovori z e-poˇ stnim sporoˇ cilom, v katerem so navedeni hiperpovezava in morebitni kljuˇ ci za dostop, ki vodijo do zasebne ga- lerije za ogled vsebin oblike JPG (predogled prvotne datoteke PDF). 2.5.2 Uporabnikov vidik: Uporabnik e-poˇ ste ob pre- jemu poˇ ste neznanega poˇ siljatelja s sumljivo priponko PDF izvede naslednje korake: 1.) Celotno e-poˇ stno sporoˇ cilo posreduje (≫ forward≪ ) na poseben naslov znotraj organizacije (npr. predogled@x.org). 2.) Od oblaˇ cne storitve uporabnik prejme odgovor, ki vsebuje osnovne informacije o uspehu pretvorbe PDF v predogled JPG. Sporoˇ cilo vsebuje povezavo na streˇ znik iste organizacije, ki ga uporabnik odpre v brskalniku. 3.) Prek brskalnika si ogleda vse strani izvorne datoteke PDF, pretvorjene v neizvrˇ sljiv format JPG. 4.) Na podlagi verodostojnosti vsebine se lahko uporab- nik odloˇ ci, ali bo izvorni dokument PDF naposled na svoji napravi zagnal ali pobrisal sporoˇ cilo ter, ne nazadnje, ali bo nadaljeval s korespondenco s poˇ siljateljem. Celoten predlagani tok je orisan na sliki 4. 3 REZULTATI IN DISKUSIJA 3.1 ˇ Casovna primerjava V tem poglavju kvantitativno prikaˇ zemo hitrost pre- tvorbe datotek PDF v JPG z uporabo izoliranega pe- skovnika s statiˇ cno zgrajeno knjiˇ znico pdftoppm s seccomp. Opravili smo tri eksperimente: 1.) testiranje pretvorbe z enostranskimi datotekami PDF razliˇ cnih velikosti datoteke, 2.) test z veˇ cstranskimi datotekami PDF razliˇ cnih veli- kosti datoteke ter 3.) test z izrisovanjem transparentnih veˇ cslojnih datotek PDF (procesno zahteven del je meˇ sanje barve za vsako piko izrisa). Za zagon eksperimentov smo vsakokrat uporabili statiˇ cno prevedeno orodje pdftoppm v seccomp pe- skovniku. Vsakokrat smo pretvorbene parametre na- stavili na 50% kompresiranje JPG ter renderiranje z 80 pikami na palec (80 ppi). Pretvorba se je zagnala na operacijskem sistemu Linux Debian, na prenosnem raˇ cunalniku s procesorjem razreda Intel i5. ! oblak.x.org a.jpg a.pdf HTTPS SMTP oblak.x.org/ link/to/a.jpg a.pdf a.pdf Posreduje na predogled@x.org Prejme e-pošto s priponko PDF z neznanega naslova. Priponke ne odpre. Datoteko JPG se namesti na HTTP del strežnika. Uporabnik si varno predogleda vsebino priponke preko brskalnika. PDF->JPG Uporabniku odgovori z e-pošto s povezavo na JPG predogled. Slika 4 Zasnova toka Forward-to-inspect. Uporabnik prejme e-poˇ sto s sumljivo priponko. Posreduje jo na naslov znotraj organizacije, ki je namenjen varnemu odpiranju priponk PDF. Oblaˇ cni sistem datoteko po predlagani varni metodi pretvori v neizvrˇ sljiv format (npr. JPG), ga namesti na del streˇ znika, ki ga lahko servira preko HTTPS. Uporabniku odgovori na e-poˇ stno sporoˇ cilo in v njem posreduje povezave na varen predogled priponke, ki se ga opravi preko brskalnika. Ugotovili smo naslednje: Eksperiment ˇ st. 1 je pokazal, da se enostranske datoteke velikosti od 0,01 do 100 MB v datoteko JPG pod zaklenjenimi procesnimi pogoji pretvorijo v manj kot sekundi (tabela 1 ter slika 5). Veˇ cstranske datoteke (eksperiment ˇ st. 2) za pretvorbo zahtevajo veˇ c ˇ casa – ˇ ce ima datoteka PDF 50 strani in je velika 5 MB, je ˇ cas pretvorbe 2,57 sekunde (tabela 2 ter slika 6). Najbolj zahteven test v tej seriji je bil pretvorba datoteke 100 MB s 1.000 stranmi – tu je peskovnik seccomp ustavil pretvorbo ob prekoraˇ citvi 30-sekundnega pravila izvajanja procesa. Kljub dolgemu izvajanju se je uspeˇ sno pretvorilo 563 strani, kar upo- METODA V ARNEGA PREDOGLEDA SUMLJIVIH PRIPONK PDF 257 Velikost izv. datoteke [MB] ˇ Cas pretvorbe [s] 0,01 0,06 0,1 0,06 1 0,06 5 0,09 10 0,13 50 0,38 100 0,72 Tabela 1 Tabela skupnega ˇ casa izvajanja pretvorbe PDF v JPG v zaklenjenem peskovniku - test z enostranskimi datotekami PDF razliˇ cnih velikosti datoteke. rabnik kljub vsemu lahko uporabi za grobi predogled datoteke. Zadnji eksperiment v tej seriji je preizkuˇ sal trajanje izrisovanja velikega ˇ stevila slojev enostranskega dokumenta PDF. Izrisovanje strani z 10 sloji je trajalo 0,48 sekund, medtem ko je zahtevnejˇ si primer s 160 sloji zahteval 7,72 sekunde za pripravo predogleda. Z uporabo predlagane metode za pretvorbo PDF v JPG (2.4) imamo predogled vsebine torej opravljen v razredu sekund, tipiˇ cni tekstovni dokumenti z eno do dvema stranema se v JPG pretvorijo v ˇ casu, krajˇ sem od sekunde, na raˇ cunalniku s procesorjem razreda Intel i5. Zaradi kratkega ˇ casa izvajanja bi lahko predlagano metodo pretvorbe dokumenta v peskovniku uporabniki poganjali tudi na lokalnem raˇ cunalniku (znotraj ope- racijskega sistema Linux) kot vtiˇ cnik v odjemalniku elektronske poˇ ste ali kot samostojno aplikacijo. Klasiˇ cna metoda z uporabo virtualnega raˇ cunalnika (VM) traja najmanj 50 sekund od zagona sistema do predogleda datoteke PDF na Intelu i5, z gostom Linux Debian z lahkim Xfce grafiˇ cnim okoljem (optimalen scenarij glede hitrosti). Metodo je mogoˇ ce avtomatizirati prek uporabe ukazov npr.VboxManage, vendar njihova uporaba ne prinese signifikantnih ˇ casovnih prihrankov, saj postopek veˇ cino ˇ casa namreˇ c porabi za zagon ce- lotnega operacijskega sistema [10], [18]. Po uporabi virtualnega raˇ cunalnika je treba ˇ se ponastaviti posnetek (snapshot) sistema na zaˇ cetno stanje, kar pomeni do- datnih 30 sekund roˇ cnega dela in prinaˇ sa moˇ znost za napake ˇ cloveˇ skega faktorja (zagon napaˇ cnega posnetka, opustitev ponastavljanja posnetkov itd.). 3.2 Kognitivna obremenitev Scenarij z uporabo virtualnega raˇ cunalnika za predo- gled potencialno nevarnih datotek zahteva strokovnjaka in veliko natanˇ cnosti za varno upravljanje datotek. Ko- gnitivno breme za predogled datotek na ta naˇ cin je lahko preveliko za tipiˇ cnega uporabnika elektronske poˇ ste. ˇ Ce ima uporabnik na voljo oblaˇ cni sistem z vmesnikom tipa forward-to-inspect, kot predlagano v poglavju 2.5, je celoten kognitivni napor uporabnika zmanjˇ san na en klik na tipko posreduj (sumljiva datoteka v priponki se posreduje na poseben naslov agenta elektronske poˇ ste) ter klik na povezavo za ogled statiˇ cno pretvorjenih dokumentov v povratnem sporoˇ cilu. Ocenjujemo, da bi 0,01 0,1 1 5 10 50 100 0 10 20 30 40 50 60 Hitrost izvajanja pretvorbe PDF v JPG - Ena stran, različne velikosti datoteke Čas pretvorbe Ocenjen minimalni čas do zagona virtualnega računalnika Velikost datoteke [MB] Č a s [ s ] Slika 5 Graf skupnega ˇ casa izvajanja pretvorbe PDF v JPG v zaklenjenem peskovniku v primerjavi z ocenjenim minimalnim ˇ casom do zagona virtualnega raˇ cunalnika - test z enostran- skimi datotekami PDF razliˇ cnih velikosti datoteke. Izvajanje pretvorbe datoteke velikosti 100 MB (ena stran) v preizkuˇ sanju traja 0,72 s. Velikost izv. datoteke [MB] ˇ Stevilo strani ˇ Cas pretvorbe [s] 0,01 1 0,05 0,1 2 0,1 1 10 0,5 5 50 2,54 10 100 5,25 50 500 26,5 100 1000 30 Tabela 2 Tabela skupnega ˇ casa izvajanja pretvorbe PDF v JPG v zaklenjenem peskovniku - test z veˇ cstranskimi datotekami PDF razliˇ cnih velikosti datoteke. V zadnjem primeru (1000 strani, 100 MB) je priˇ slo do ustavitve procesa pri vnaprej postavljeni ˇ casovni omejitvi izvajanja peskovnika 30 s. Do takrat je sistem skupno pretvoril 563 strani, kar ˇ se vedno zadostuje za predogled verodostojnosti vsebine. 1 – 0 ,0 1 M B 2 – 0 ,1 M B 1 0 – 1 M B 5 0 – 5 M B 1 0 0 – 1 0 M B 5 0 0 – 5 0 M B 1 0 0 0 – 1 0 0 M B 0 10 20 30 40 50 60 Čas pretvorbe PDF v JPG - različno število strani in velikosti datoteke Čas pretvorbe glede na število strani dokumenta Ocenjen minimalni čas do zagona virtualnega računalnika Število strani in velikost datoteke [MB] Č a s [ s ] Slika 6 Graf skupnega ˇ casa izvajanja pretvorbe PDF v JPG v zaklenjenem peskovniku v primerjavi z ocenjenim minimalnim ˇ casom do zagona virtualnega raˇ cunalnika - test z veˇ cstranskimi datotekami PDF razliˇ cnih velikosti datoteke. V zadnjem pri- meru (1000 strani, 100 MB) je priˇ slo do ustavitve procesa pri vnaprej postavljeni ˇ casovni omejitvi izvajanja peskovnika 30 s. 258 ROJEC ˇ Stevilo slojev ˇ Cas pretvorbe [s] 1 0,06 2 0,11 5 0,25 10 0,48 20 0,94 40 1,87 80 3,88 160 7,72 Tabela 3 Tabela skupnega ˇ casa izvajanja pretvorbe PDF v JPG v zaklenjenem peskovniku - test z veˇ cslojnimi datotekami PDF. 1 2 5 10 20 40 80 160 0 10 20 30 40 50 60 Čas pretvorbe PDF v JPG - različne zahtevnosti izrisa - prekrivanje slojev v izvorni datoteki Čas pretvorbe [s] Ocenjen minimalni čas do zagona virtualnega računalnika Število slojev Č a s [ s ] Slika 7 Graf skupnega ˇ casa izvajanja pretvorbe PDF v JPG v zaklenjenem peskovniku v primerjavi z ocenjenim minimalnim ˇ casom do zagona virtualnega raˇ cunalnika - test z veˇ cslojnimi datotekami PDF. tovrstni sistem lahko uporabil vsak povpreˇ cen uporabnik osebnega raˇ cunalnika. Predlagana metoda z izvajanjem v oblaku se lahko uporabi tako na osebnih raˇ cunalnikih kot tablicah in mobilnih telefonih, neodvisno od opera- cijskega sistema, za kar verjamemo, da je najmoˇ cnejˇ sa toˇ cka predlaganega pristopa. 3.3 Zanesljivost Zanesljivost zadrˇ zevanja groˇ znje ocenjujemo z vidika napadalne povrˇ sine, ki je nezaupanja vrednemu procesu na voljo. Z uporabo predlagane metode pretvorbe z uporabo Docker, zaklenjenega peskovnika seccomp in statiˇ cno povezanih knjiˇ znic je napadalna povrˇ sina mini- mizirana v najveˇ cji meri, saj vsebuje le knjiˇ znice, ki so nujno potrebne za pretvorbo iz PDF v JPG. Dovolijo se le procesi, ki so smiselni za izvedbo naloge pretvorbe; vsi preostali procesi so blokirani. V primeru uporabe polne virtualizacije je procesu ogleda PDF na voljo celoten operacijski sistem, kar bi lahko zlonamerni kodi iz dokumenta PDF omogoˇ cilo veˇ cje moˇ znosti za uspeh. Naˇ so metodo smo preizkuˇ sali z nabori javno dostopnih datotek PDF, namenjenih za penetracijsko testiranje [8], [29], [1]. Nobena od preizkuˇ senih zlonamernih datotek PDF ni vplivala na delovanje operacijskega sistema. 3.4 Reprodukcija originala Format PDF predstavlja ˇ sirok nabor funkcij – nekatere se s pretvorbo v format JPG izgubijo. Prav tako se izgubijo doloˇ cene funkcionalnosti, ki se zanaˇ sajo na celovitost zalednega operacijskega sistema (souporaba sistemskih pisav, dostop do lokalnih datotek, dostop do spleta ...). ˇ Ce imajo te funkcionalnosti v dokumentu PDF miroljubni namen, jih s pretvorbo po naˇ si metodi izgu- bimo in si dokumenta ne moremo verodostojno ogledati. To je lahko ena od pomanjkljivosti, na katero lahko naletijo uporabniki predlagane metode – zagotovo pa so mogoˇ ce tudi izboljˇ save v tej smeri. Med testiranjem je imelo nekaj sicer neˇ skodljivih datotek popaˇ cen nabor pisav. V tabeli 4 kvalitativno primerjamo lastnosti predla- gane metode namenskega peskovnika z metodo uporabe virtualnega raˇ cunalnika za predogled nezaupanja vrednih datotek PDF. 4 ZAKLJU ˇ CEK Odpiranje datotek PDF iz neznanih virov je tvegano. V priˇ cujoˇ cem prispevku smo predstavili metodo, ki ponuja varen predogled datotek PDF tako, da zagotovi varno okolje za njihovo pretvorbo v format JPG. S tem se odpravi moˇ znost uspeˇ snega izvajanja zlonamerne kode znotraj ogledovalnikov PDF. ˇ Ce sistem organiziramo v obliki forward-to-inspect, kjer se nezaupanja vredne priponke PDF posredujejo v oblaˇ cni sistem za prevedbo v JPG, takˇ sna reˇ sitev sledi naˇ celom uporabne varno- sti, saj minimalizira napadalno povrˇ sino brez ogroˇ zanja uporabniˇ ske izkuˇ snje ali potrebe po dodatnem znanju uporabnika. Primerjava s klasiˇ cnim VM-scenarijem je pokazala, da predlagani pristop dosega boljˇ se rezultate z vidika odziv- nosti, kognitivne enostavnosti in stroˇ skov vzdrˇ zevanja, hkrati pa zagotavlja enakovredno ali viˇ sjo stopnjo zane- sljivosti pri obravnavi potencialno nevarnih dokumentov. Zlasti pomembno je, da metoda ne predpostavlja zau- panja obravnavanemu dokumentu, temveˇ c v celoti teme- lji na pasivni vizualizaciji vsebine. To ustreza sodobnim naˇ celom niˇ celnega zaupanja (zero-trust) ter zagotavlja loˇ citev med vsebino in procesnim okoljem. Gre za namensko optimiziran pristop, primeren za okolja, kjer so pomembne zanesljivost, sledljivost in minimalna kompleksnost – na primer v visokoˇ solskem, raziskovalnem ali industrijskem kontekstu. Metodo je mogoˇ ce aplicirati na uporabnike vseh elektron- skih komunikacijskih naprav: osebnih raˇ cunalnikov, ta- bliˇ cnih raˇ cunalnikov ali pametnih mobilnikov, bodisi kot razˇ siritev ogledovalnikov elektronske poˇ ste ali kot samostojno oblaˇ cno storitev. V prihodnje bi bilo smiselno vkljuˇ citi podporo za optiˇ cno prepoznavanje besedila in raziskati avtomatizi- rano integracijo z obstojeˇ cimi uˇ cnimi ali dokumentnimi sistemi ter analizirati obnaˇ sanje v primeru kompleksnih PDF-struktur. Prepriˇ cani smo, da bo naˇ s predlog industrijskim par- tnerjem in raziskovalcem pomagal pri razvoju nadaljnjih METODA V ARNEGA PREDOGLEDA SUMLJIVIH PRIPONK PDF 259 Tabela 4 Kvalitativna primerjava predlagane metode in klasiˇ cnega VM-scenarija Kriterij Predlagana metoda (PDF → JPG predo- gled) Klasiˇ cni VM-scenarij ˇ Cas izvedbe Predogled v sekundah ali manj (krajˇ si doku- menti se pretvorijo prej) Zagon in prikaz VM traja najmanj veˇ c deset sekund ali nekaj minut (tudi za majhne dato- teke PDF) Kognitivna obremenitev Nizka – enostaven vmesnik, brez dodatne kon- figuracije Viˇ sja – potrebna orientacija v okolju VM, veˇ c korakov, potrebna pravilna konfiguracija deljene mape, zaprt internet, ipd. Velikost napadalne povrˇ sine Minimalna - proces teˇ ce v zaklenjenem okolju, na voljo so le nujno potrebne knjiˇ znice Srednja – napadalec lahko izkoristi celovitost sistema VM Vzdrˇ zevanje Minimalno – lokalna knjiˇ znica, brez odvisnosti od verzij operacijskega sistema Zahtevno – redna posodobitev operacijskega sistema Reprodukcija vsebine Zmanjˇ sana Popolna reˇ sitev za doseganje robustnosti in odpornosti proti tre- nutnim izzivom informacijske varnosti. DOSTOPNOST RAZISKOVALNIH PODATKOV Programska koda in podatki, ki omogoˇ cajo reprodukcijo zakljuˇ ckov iz priˇ cujoˇ cega dela so dostopni v naslednjih arhivih: https://github.com/zigarojec/staticpdftoppm- EV2025 (statiˇ cno prevajanje knjiˇ znice Poppler ter Seccomp), https : / / doi.org / 10.5281 / zenodo.17629417 (PDF datoteke za testiranje ˇ casovne zahtevnosti). LITERATURA [1] PDF Insecurity Website, June 2021. https://pdf-insecurity.org/ downloads/paper reports theses.html. [2] Acrobat Developer Resources Acrobat Developer Docs, Decem- ber 2024. https://opensource.adobe.com/dc-acrobat-sdk-docs. [3] Desktop Windows Version Market Share Worldwide | Statcoun- ter Global Stats, June 2025. [Online; accessed 10. Jun. 2025]. [4] Document management — Portable document format, June 2025. https://www.iso.org/standard/51502.html. [5] Ergonomics of human-system interaction, part 110: Interaction principles, June 2025. https://www.iso.org/standard/77520.html. [6] NVD - CVE-2023-41360, July 2025. https://nvd.nist.gov/vuln/ detail/CVE-2023-41360. [7] PDF in 2016: Broader, deeper, richer – PDF Association, May 2025. https://pdfa.org/pdf-in-2016-broader-deeper-richer/. [8] 0ca. corpus pdfs, July 2025. https://github.com/0ca/corpus pdfs?tab=readme-ov-file. [9] ANY .RUN. Any.run – interactive online malware analysis sandbox, 2025. Accessed 10 Jun 2025. [10] Ridlo Sayyidina Auliya, Yen-Lin Lee, Chia-Ching Chen, Deron Liang, and Wei-Jen Wang. Analysis and prediction of virtual machine boot time on virtualized computing environments. J. Cloud Comp., 13(1):1–21, December 2024. [11] Nguyen Tan Cam, Tran Quang Hung, and Pham Tien Nam. uitPDF-MalDe: Malicious Portable Document Format files de- tection using multi machine learning models. Eng. Appl. Artif. Intell., 143:110031, March 2025. Publisher: Pergamon. [12] Claudio Canella, Mario Werner, Daniel Gruss, and Michael Schwarz. Automating Seccomp Filter Generation for Linux Applications. arXiv preprint arXiv:2012.02554, 2020. [13] rohann@checkpoint com. The Weaponization of PDFs : 68% of Cyber attacks begin in your inbox, with 22% of these hiding in PDFs. Check Point Blog, April 2025. https:// blog.checkpoint.com/research/the- weaponization- of- pdfs- 68- of-cyberattacks-begin-in-your-inbox-with-22-of-these-hiding- in-pdfs. [14] CrowdStrike Inc. Hybrid analysis – free falcon sandbox malware analysis service, 2025. Accessed 10 Jun 2025. [15] K. D. E. e.V . Okular, Version 24.12, 2024. https : / / okular.kde.org/. [16] Di Feng, Min Yu, Yongjian Wang, Chao Liu, and Chunguang Ma. Detecting Malicious PDF Files Using Semi-Supervised Learning Method. In B Wu and QM Lu, editors, 5TH INTERNATIO- NAL CONFERENCE ON ADVANCED COMPUTER SCIENCE APPLICATIONS AND TECHNOLOGIES (ACSAT 2017), pages 1–9, 2017. [17] FileScan GmbH. Filescan.io – next-generation malware analysis platform, 2025. Accessed 10 Jun 2025. [18] Yatheendraprakash Govindaraju, Hector Duran-Limon, and Efr´ en Mezura-Montes. A regression tree predictive model for virtual machine startup time in IaaS clouds. Cluster Computing, 24:1– 17, June 2021. [19] Norman A. Graf. Extra Dimensions: 3D in PDF Documenta- tion. In INTERNATIONAL CONFERENCE ON COMPUTING IN HIGH ENERGY AND NUCLEAR PHYSICS 2012 (CHEP2012), PTS 1-6, volume 396 of Journal of Physics Conference Series. Brookhaven Natl Lab (BNL); ACEOLE; Data Direct Networks; Dell; European Middleware Initiat; Nexsan, 2012. ISSN: 1742- 6588. [20] Leonid Grustniy. Top 4 dangerous file attachments. Kasper- sky, November 2019. https://www.kaspersky.com/blog/top4- dangerous-attachments-2019/27147. [21] Adobe Inc. Adobe Acrobat Reader DC, Version 25.001.20521, 2025. https://helpx.adobe.com/acrobat/release- note/release- notes-acrobat-reader.html. [22] Apryse Software Inc. Xodo PDF Reader & Editor (Android app), 2025. https://play.google.com/store/apps/details?id= com.xodo.pdf.reader. [23] Foxit Software Inc. Foxit PDF Reader, Version 2025.1.0.27937, 2025. https://www.foxit.com/pdf-reader/version-history.html. [24] Tommaso Innocenti, Louis Jannett, Christian Mainka, Vladislav Mladenov, and Engin Kirda. ”Only as Strong as the Weakest Link”: On the Security of Brokered Single Sign-On on the Web. In IEEE Symposium on Security and Privacy (S&P), pages 24– 24. IEEE Computer Society, May. https://www.computer.org/ csdl/proceedings-article/sp/2025/223600a024/21B7Qfd8kiA. [25] Joe Security LLC. Joe sandbox cloud basic – automated malware analysis, 2025. Accessed 10 Jun 2025. [26] Krzysztof Kowalczyk. SumatraPDF, Version 3.5.2, 2023. https: //www.sumatrapdfreader.org/download-free-pdf-viewer.html. [27] Daiping Liu, Haining Wang, and Angelos Stavrou. Detecting Malicious Javascript in PDF through Document Instrumentation. In 2014 44TH ANNUAL IEEE/IFIP INTERNATIONAL CON- FERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN), International Conference on Dependable Systems and Networks, pages 100–111. IEEE; IFIP; IEEE Comp Soc, 2014. ISSN: 1530-0889. [28] Artifex Software LLC. MuPDF viewer (Android app), 2025. https : / / play.google.com / store / apps / details?id = com.artifex.mupdf.viewer.app. [29] luigigubello. PayloadsAllThePDFs, July 2025. https : / / github.com/luigigubello/PayloadsAllThePDFs. [30] Christian Mainka, Vladislav Mladenov, and Simon Rohlmann. Shadow Attacks: Hiding and Replacing Content in Signed PDFs. In 28TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2021), 2021. 260 ROJEC [31] Microsoft. Anti-malware protection in exchange online and exchange online protection, 2025. Describes EOP malware scan- ning pipeline, multiple engines, quarantine, and policy options. [32] Jens M¨ uller, Dominik Noß, Christian Mainka, Vladislav Mla- denov, and J¨ org Schwenk. Processing Dangerous Paths - On Security and Privacy of the Portable Document Format. In Network and Distributed System Security Symposium, Virtual Conference, February 2021. Internet Society. https://www.ndss- symposium.org / ndss - paper / processing - dangerous - paths - on - security-and-privacy-of-the-portable-document-format/. [33] Poppler Developers. pdftoppm: PDF to Image Conversion Utility, 2025. https://linuxcommandlibrary.com/man/pdftoppm. [34] GNOME Project. Evince, Version 48.0, 2025. https : / / launchpad.net/ubuntu/+source/evince/+changelog. [35] Karen Scarfone, Murugiah Souppaya, and Paul Hoffman. Guide to Security for Full Virtualization Technologies. CSRC \vert NIST, January 2011. [36] Adobe Systems. Fast facts, June 2025. https://www.adobe.com/ content/dam/cc/en/fast-facts/pdfs/fast-facts.pdf. [37] Mesut Togacar and Burhan Ergen. Processing 2D barcode data with metaheuristic based CNN models and detection of malicious PDF files. APPLIED SOFT COMPUTING, 161, August 2024. [38] Jose Torres and Sergio De Los Santos. Malicious PDF Docu- ments Detection using Machine Learning Techniques A Practical Approach with Cloud Computing Applications. In P Mori, S Furnell, and O Camp, editors, ICISSP: PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON INFORMA- TION SYSTEMS SECURITY AND PRIVACY, pages 337–344, 2018. [39] VirusTotal (Google LLC). Virustotal private scanning, 2025. Accessed 10 Jun 2025. [40] Google Workspace. How gmail helps protect against viruses and malware, 2025. Describes Gmail’s automatic scanning of attachments and handling of infected files. ˇ Ziga Rojec je leta 2014 diplomiral, leta 2018 pa doktoriral na Fakulteti za elektrotehniko Univerze v Ljubljani. Od leta 2014 je zaposlen v Laboratoriju za raˇ cunalniˇ ske metode v elektroniki (LRME) na tej fakulteti, kjer se ukvarja z razvojem metod za umetno sintezo topologij analognih vezij ter z algoritmi za simulacijo elektronskih sistemov. Pedagoˇ sko sodeluje pri predmetih s podroˇ cij programiranja, algo- ritmov in simulacij vezij. Njegova raziskovalna zanimanja obsegajo tudi podroˇ cje informacijskih in izobraˇ zevalnih raˇ cunalniˇ skih sistemov, spletnih tehnologij ter varnega zagona nezaupanja vredne programske kode v nizko privilegiranih okoljih.