#LyX 2.3 created this file. For more info see http://www.lyx.org/ \lyxformat 544 \begin_document \begin_header \save_transient_properties true \origin unavailable \textclass scrbook \begin_preamble % in case somebody want to have the label "Equation" %\renewcommand{\eqref}[1]{Equation~(\negthinspace\autoref{#1})} % that links to image floats jumps to the beginning % of the float and not to its caption \usepackage[figure]{hypcap} % the pages of the TOC is numbered roman % and a pdf-bookmark for the TOC is added \let\myTOC\tableofcontents \renewcommand\tableofcontents{% \frontmatter \pdfbookmark[1]{\contentsname}{} \myTOC \mainmatter } % makes caption labels bold % for more info about these settings, see % https://ctan.org/tex-archive/macros/latex/contrib/koma-script/doc/scrguien.pdf \setkomafont{captionlabel}{\bfseries} \setcapindent{1em} % enables calculations \usepackage{calc} % fancy page header/footer settings % for more information see section 9 of % ftp://www.ctan.org/pub/tex-archive/macros/latex2e/contrib/fancyhdr/fancyhdr.pdf \renewcommand{\chaptermark}[1]{\markboth{#1}{#1}} \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} % increases the bottom float placement fraction \renewcommand{\bottomfraction}{0.5} % avoids that floats are placed above its sections \let\mySection\section\renewcommand{\section}{\suppressfloats[t]\mySection} % increases link area for cross-references and autoname them % if you change the document language to e.g. French % you must change "extrasenglish" to "extrasfrench" % if you uncomment the following lines, you cannot use the reference version Ref+Text in LyX %\AtBeginDocument{% % \renewcommand{\ref}[1]{\autoref{#1}} %} %\def\refnamechanges{% % \renewcommand*{\equationautorefname}[1]{} % \renewcommand{\sectionautorefname}{sec.\negthinspace} % \renewcommand{\subsectionautorefname}{sec.\negthinspace} % \renewcommand{\subsubsectionautorefname}{sec.\negthinspace} % \renewcommand{\figureautorefname}{Fig.\negthinspace} % \renewcommand{\tableautorefname}{Tab.\negthinspace} %} %\@ifpackageloaded{babel}{\addto\extrasenglish{\refnamechanges}}{\refnamechanges} \end_preamble \options intoc,bibliography=totoc,index=totoc,BCOR10mm,captions=tableheading,titlepage \use_default_options true \master /usr/share/lyx/examples/thesis/thesis.lyx \begin_modules customHeadersFooters \end_modules \maintain_unincluded_children false \language slovene \language_package default \inputencoding utf8 \fontencoding global \font_roman "lmodern" "default" \font_sans "lmss" "default" \font_typewriter "lmtt" "default" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \use_microtype false \use_dash_ligatures false \graphics default \default_output_format default \output_sync 0 \bibtex_command bibtex \index_command default \float_placement h \paperfontsize 12 \spacing single \use_hyperref true \pdf_title "Your title" \pdf_author "Your name" \pdf_bookmarks true \pdf_bookmarksnumbered true \pdf_bookmarksopen true \pdf_bookmarksopenlevel 1 \pdf_breaklinks false \pdf_pdfborder true \pdf_colorlinks false \pdf_backref false \pdf_pdfusetitle false \pdf_quoted_options "pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false" \papersize a4paper \use_geometry false \use_package amsmath 2 \use_package amssymb 2 \use_package cancel 1 \use_package esint 1 \use_package mathdots 1 \use_package mathtools 1 \use_package mhchem 1 \use_package stackrel 1 \use_package stmaryrd 1 \use_package undertilde 1 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \justification true \use_refstyle 0 \use_minted 0 \branch Standalone \selected 1 \filename_suffix 0 \color #ff0000 \end_branch \index Index \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 2 \paragraph_separation skip \defskip medskip \is_math_indent 1 \math_indentation default \math_numbering_side default \quotes_style german \dynamic_quotes 0 \papercolumns 1 \papersides 2 \paperpagestyle fancy \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \end_header \begin_body \begin_layout Left Header \begin_inset Argument 1 status open \begin_layout Plain Layout \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash chaptername \end_layout \end_inset \begin_inset space ~ \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash thechapter \end_layout \end_inset \end_layout \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash rightmark \end_layout \end_inset \begin_inset Note Note status collapsed \begin_layout Plain Layout Enable page headers and add the chapter to the header line. \end_layout \end_inset \end_layout \begin_layout Right Header \begin_inset Argument 1 status open \begin_layout Plain Layout \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash leftmark \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Left Footer \begin_inset Argument 1 status open \begin_layout Plain Layout \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash thepage \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Center Footer \end_layout \begin_layout Right Footer \begin_inset Argument 1 status open \begin_layout Plain Layout \end_layout \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash thepage \end_layout \end_inset \end_layout \begin_layout Chapter Razprava \end_layout \begin_layout Section Težave pri pridobivanju podatkov \end_layout \begin_layout Subsection Napad Sybil \end_layout \begin_layout Standard Napad Sybil je pogosto možen v DHT omrežjih, ki za identifikacijske številke vozlišč ne izvajajo asimetrične kriptografije — izrazito je prisoten pri Kademlii oz. BitTorrent Mainline DHT. Napad učinkovito omrtviči vozlišča — onemogoči vzpostavljanje povezav in zapolni usmerjevalno tabelo tako, da so v njej večinoma napadalčeva vozlišča \begin_inset CommandInset citation LatexCommand cite key "10.1007/3-540-45748-8_24" literal "false" \end_inset . Napadalec iz enega ali več IP naslovov izdela veliko število virtualnih vozlišč, katerih IDji so zelo blizu vozlišča žrtve napada. Tako bo žrtev vedno vstavila napadalčeva vozlišča v usmerjevalno tabelo, saj bo vedno lahko razpolovila koš. \end_layout \begin_layout Standard Usmerjevalna tabela žrtve ob uspešnem napadu izgleda takole: \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash lstinputlisting[basicstyle= \backslash tiny]{../../../../../../projects/travnik/misc/sybil.txt} \end_layout \end_inset \end_layout \begin_layout Subsubsection Preventivni omilitveni ukrepi \end_layout \begin_layout Itemize Vozlišče v usmerjevalno tabelo sprejme samo eno vozlišče iz enega IP naslova. Težava nastane pri IPv6, ko je dolžina predpone omrežja lahko zelo različna. Napadalci imajo lahko na voljo velik spekter naslovov, celo večji od /48, legitimni uporabniki pa imajo velikokrat naslovne prostore velikosti /128 (samo en naslov). \end_layout \begin_layout Itemize Uporaba fiksnih prefiksov IDjev \begin_inset CommandInset citation LatexCommand cite key "norberg14" literal "false" \end_inset , kjer morajo vozlišča uporabljati ID, ki se začne z IP naslovom, transformirani m skozi CRC32c funkcijo. Težava nastane, ko imajo napadalci spet dovolj velik naslovni prostor, da lahko pokrijejo vse predpone IDja. Poleg tega je to zgolj razširitev osnovnega DHT protokola, na katero se odjemalci ne morejo zanašati. Nepravilen ID je sicer lahko napadalec, lahko pa je tudi vozlišče, ki razširitv e ni implementiralo. \end_layout \begin_layout Itemize Vsakemu vozlišču lahko pred vstavljanjem v usmerjevalno tabelo pošljemo paket \family typewriter ping \family default , ki vsebuje drugačen ID, kot ga odjemalec sicer uporablja. Če v odgovoru na \family typewriter ping \family default ID vozlišča ni enak, kot smo ga videli prej, pomeni, da je vozlišče zagotovo napadalec. Težava nastane, ko lahko sogovornik nas smatra kot napadalca, saj smo mu poslali pakete iz dveh različnih IDjev vozlišč (čeprav v teoriji ne smemo zaupati izvornemu naslovu prejetih UDP paketov). \end_layout \begin_layout Subsubsection Ublažitev posledic napada \end_layout \begin_layout Standard travnik ima poleg omejitve največ enega vozlišča z enim IP naslovom v usmerjeval ni tabeli tudi protiukrep, ki prepreči zavrnitev storitve kot posledico napada Sybil. Protiukrep deluje tako, da v primeru, ko zazna, da ima shranjenih več kot 64 košev, izbriše skoraj celotno usmerjevalno tabelo in se še enkrat sinhronizi ra z omrežjem z novim IDjem, v upanju, da napadalec ne bo napadel še enkrat. \end_layout \begin_layout Subsection Slaba zmogljivost mrežne opreme \end_layout \begin_layout Standard Ker se ob normalnem delovanju travnika prenese do 2000 paketov z različnimi IP naslovi na sekundo, slaba omrežna oprema kljub majhni porabljeni pasovni širini (okoli 4 megabite na sekundo) začne delovati slabo. Primer tega je domači optični modem, ki med delovanjem travnika burno izgublja pakete do te mere, da prihaja do izpadov razreševanja internetnih imen (DNS). Problem sem omilil (na 2000 paketov/s) tako, da nov najden infohash dodam med željene torrente največ enkrat na dve sekundi in omejim čas življenja torrenta (koliko časa za torrent aktivno iščem soležnike, preden ga izbrišem) na 256 sekund. Seveda to zaradi velike količine torrentov, za katere nikoli ne dobim metapodat kov, precej zmanjša število prejetih torrentov. \end_layout \begin_layout Section Uporabna vrednost korpusa prenesenih podatkov \end_layout \begin_layout Standard Podatki predstavljajo vzorec populacije torrentov, ki se pretakajo po internetu. Vsak prenesen torrent je poleg metapodatkov o datotekah označen še s časom prejema, programsko opremo in različico odjemalca, ki je torrent poslal, ter IP naslovom pošiljatelja. Glede na te informacije je možno analizirati stanje BitTorrent omrežja skozi čas, ugotoviti, za kakšne namene se uporablja (kakšne vsebine se pretakajo z njim), kateri programi/države prevladujejo, kakšni podatkovni tipi datotek so najbolj pogosti itd. \end_layout \begin_layout Standard Za omogočanje nadaljnjih raziskav na obstoječem korpusu je povezava za prenos le-tega objavljena v prilogi. \end_layout \begin_layout Section Etičnost in legitimnost rudarjenja podatkov \end_layout \begin_layout Standard Čeprav gre za izrazito osebne podatke, se morajo uporabniki BitTorrent omrežja zavedati, da so njihovi prenosi \shape italic a priori \shape default javni, tudi če jih nihče aktivno ne prenaša. Nekateri BitTorrent odjemalci uporabnike ob prvem zagonu o tem celo obvestijo, med delovanjem pa celo prikazujejo IP naslove soležnikov, na katere se povezujejo. Uporabniki se zato zavedajo, da je njihova identiteta drugim članom roja znana. Pogosto pa se ne zavedajo, da se obstoječe roje da odkriti in se jim pridružiti. \end_layout \begin_layout Standard \begin_inset Float figure wide false sideways false status open \begin_layout Plain Layout \begin_inset Graphics filename /home/z/projects/sola-gimb-4/inf/rn/dok/qbittorrent.png width 100text% \end_inset \end_layout \begin_layout Plain Layout \begin_inset Caption Standard \begin_layout Plain Layout Opozorilo odjemalca qBittorrent o naravi omrežja BitTorrent. \end_layout \end_inset \end_layout \begin_layout Plain Layout \end_layout \end_inset \end_layout \begin_layout Section Invazivnost v omrežje \end_layout \begin_layout Standard Implementacija za to raziskavo je delovala neinvazivno, saj je implementirana tako, kot bi bil implementiran navaden torrent odjemalec, le da zahteve pošilja hitreje. Ne poslužuje se bolj invazivnih taktik, ki posegajo v omrežje, kot je npr. napad Sybil, in dosledno shranjuje in daje drugim na razpolago informacije o soležnikih. \end_layout \begin_layout Standard Program bi bil lahko manj invaziven, če bi namesto \family typewriter find_nodes \family default pošiljal \family typewriter ping \family default zahteve, ko bi bilo to ustrezno. \family typewriter find_nodes \family default se vseeno uporablja, da se z enim paketom pridobi čim več informacij o vozliščih. \end_layout \begin_layout Section Vzorčenje ključev \end_layout \begin_layout Standard Vzorčenje ključev, opisano v protokolu BEP-0051 \begin_inset CommandInset citation LatexCommand cite key "sampleih" literal "false" \end_inset , ni bilo uporabljeno, ker ga ne podpirajo vse implementacije BitTorrent DHT protokola. S pošiljanjem teh zahtev bi kljub temu vzorec pridobljenih torrentov obsegal enako reprezentativen delež prenesenih torrentov na internetu, saj so vozlišča, ki podpirajo ta protokol, zaradi naključnih IDjev homogeno razpršena po naslovnem prostoru. \end_layout \begin_layout Standard \begin_inset Branch Standalone inverted 0 status open \begin_layout Standard \begin_inset Note Note status open \begin_layout Plain Layout The contents of this branch is only output if this chapter is processed on its own, i. \begin_inset space \thinspace{} \end_inset e., not from the master. This allows you to have a bibliography and a nomenclature if you only want to output this chapter. \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset CommandInset include LatexCommand include filename "Bibliography.lyx" \end_inset \end_layout \end_inset \end_layout \end_body \end_document