Continued with memory corruption study

This commit is contained in:
h3xduck
2022-06-04 08:55:45 -04:00
parent d184893426
commit d4a881540f
16 changed files with 349 additions and 152 deletions

View File

@@ -441,9 +441,26 @@ AMD64 Architecture Processor Supplement},
},
@online{fault_injection,
title={},
title={Injecting faults into the kernel},
url={https://lwn.net/Articles/209257/},
date={2006-11-04}
},
@online{mem_page_arch,
title={Memory Management 101: Introduction
to Memory Management in Linux},
url={https://events19.linuxfoundation.org/wp-content/uploads/2017/12/MM-101-Introduction-to-Linux-Memory-Management-Christoph-Lameter-Jump-Trading-LLC-1.pdf},
date={2017-12-01},
author={Christopher Lameter},
organization={The Linux Foundation Open Source Summit},
institution={Jump Trading LLC}
},
@online{page_faults,
title={Understanding page faults and memory swap-in/outs},
url={https://scoutapm.com/blog/understanding-page-faults-and-memory-swap-in-outs-when-should-you-worry},
date={2019-08-19},
author={Doug Breaker}
}

View File

@@ -323,22 +323,36 @@
\newlabel{code:override_return_2}{{3.8}{35}{Definition of the macro for creating syscalls, containing the error injection macro. Only relevant instructions included, complete macro can be found in the kernel \cite {code_kernel_open}}{lstlisting.3.8}{}}
\@writefile{lol}{\defcounter {refsection}{0}\relax }\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.8}Definition of the macro for creating syscalls, containing the error injection macro. Only relevant instructions included, complete macro can be found in the kernel \cite {code_kernel_open}}{35}{lstlisting.3.8}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Sending signals to user programs}{35}{subsection.3.2.4}\protected@file@percent }
\abx@aux@cite{ebpf_helpers}
\abx@aux@segm{0}{0}{ebpf_helpers}
\abx@aux@cite{mem_page_arch}
\abx@aux@segm{0}{0}{mem_page_arch}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Conclusion}{36}{subsection.3.2.5}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3.3}Memory corruption}{36}{section.3.3}\protected@file@percent }
\newlabel{section:mem_corruption}{{3.3}{36}{Memory corruption}{section.3.3}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Accessing user memory}{36}{subsection.3.3.1}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {4}Methods??}{37}{chapter.4}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Memory management in Linux}{36}{subsection.3.3.1}\protected@file@percent }
\abx@aux@cite{page_faults}
\abx@aux@segm{0}{0}{page_faults}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Memory translation of virtual pages to physical pages.\relax }}{37}{figure.caption.35}\protected@file@percent }
\newlabel{fig:mem_arch_pages}{{3.1}{37}{Memory translation of virtual pages to physical pages.\relax }{figure.caption.35}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Major page fault after a page was removed from RAM.\relax }}{38}{figure.caption.36}\protected@file@percent }
\newlabel{fig:mem_major_page_fault}{{3.2}{38}{Major page fault after a page was removed from RAM.\relax }{figure.caption.36}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Minor page fault after a fork() in which the page table was not copied completely.\relax }}{38}{figure.caption.37}\protected@file@percent }
\newlabel{fig:mem_minor_page_fault}{{3.3}{38}{Minor page fault after a fork() in which the page table was not copied completely.\relax }{figure.caption.37}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Process virtual memory}{39}{subsection.3.3.2}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Accessing user memory}{39}{subsection.3.3.3}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {4}Methods??}{40}{chapter.4}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {5}Results}{38}{chapter.5}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {5}Results}{41}{chapter.5}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {6}Conclusion and future work}{39}{chapter.6}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {6}Conclusion and future work}{42}{chapter.6}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{Bibliography}{40}{chapter.6}\protected@file@percent }
\newlabel{annex:bpftool_flags_kernel}{{6}{}{Appendix A - Bpftool commands}{chapter*.36}{}}
\abx@aux@read@bbl@mdfivesum{93A081D5B69A2A9782DE1688707BDCA2}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{Bibliography}{43}{chapter.6}\protected@file@percent }
\newlabel{annex:bpftool_flags_kernel}{{6}{}{Appendix A - Bpftool commands}{chapter*.39}{}}
\abx@aux@read@bbl@mdfivesum{B5521B82B204530DC3CD5A9274665FC8}
\abx@aux@refcontextdefaultsdone
\abx@aux@defaultrefcontext{0}{ransomware_pwc}{none/global//global/global}
\abx@aux@defaultrefcontext{0}{rootkit_ptsecurity}{none/global//global/global}
@@ -405,5 +419,7 @@
\abx@aux@defaultrefcontext{0}{ebpf_override_return}{none/global//global/global}
\abx@aux@defaultrefcontext{0}{code_kernel_open}{none/global//global/global}
\abx@aux@defaultrefcontext{0}{fault_injection}{none/global//global/global}
\abx@aux@defaultrefcontext{0}{mem_page_arch}{none/global//global/global}
\abx@aux@defaultrefcontext{0}{page_faults}{none/global//global/global}
\ttl@finishall
\gdef \@abspage@last{62}
\gdef \@abspage@last{65}

View File

@@ -1378,8 +1378,10 @@
\entry{fault_injection}{online}{}
\field{sortinit}{9}
\field{sortinithash}{54047ffb55bdefa0694bbd554c1b11a0}
\field{labeltitlesource}{title}
\field{day}{4}
\field{month}{11}
\field{title}{Injecting faults into the kernel}
\field{year}{2006}
\field{dateera}{ce}
\verb{urlraw}
@@ -1389,6 +1391,72 @@
\verb https://lwn.net/Articles/209257/
\endverb
\endentry
\entry{mem_page_arch}{online}{}
\name{author}{1}{}{%
{{hash=47635127541392c1419dbc4a4d3153c6}{%
family={Lameter},
familyi={L\bibinitperiod},
given={Christopher},
giveni={C\bibinitperiod}}}%
}
\list{institution}{1}{%
{Jump Trading LLC}%
}
\list{organization}{1}{%
{The Linux Foundation Open Source Summit}%
}
\strng{namehash}{47635127541392c1419dbc4a4d3153c6}
\strng{fullhash}{47635127541392c1419dbc4a4d3153c6}
\strng{bibnamehash}{47635127541392c1419dbc4a4d3153c6}
\strng{authorbibnamehash}{47635127541392c1419dbc4a4d3153c6}
\strng{authornamehash}{47635127541392c1419dbc4a4d3153c6}
\strng{authorfullhash}{47635127541392c1419dbc4a4d3153c6}
\field{sortinit}{9}
\field{sortinithash}{54047ffb55bdefa0694bbd554c1b11a0}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{day}{1}
\field{month}{12}
\field{title}{Memory Management 101: Introduction to Memory Management in Linux}
\field{year}{2017}
\field{dateera}{ce}
\verb{urlraw}
\verb https://events19.linuxfoundation.org/wp-content/uploads/2017/12/MM-101-Introduction-to-Linux-Memory-Management-Christoph-Lameter-Jump-Trading-LLC-1.pdf
\endverb
\verb{url}
\verb https://events19.linuxfoundation.org/wp-content/uploads/2017/12/MM-101-Introduction-to-Linux-Memory-Management-Christoph-Lameter-Jump-Trading-LLC-1.pdf
\endverb
\endentry
\entry{page_faults}{online}{}
\name{author}{1}{}{%
{{hash=28efc25c8eae7f3d05fad64c4679158f}{%
family={Breaker},
familyi={B\bibinitperiod},
given={Doug},
giveni={D\bibinitperiod}}}%
}
\strng{namehash}{28efc25c8eae7f3d05fad64c4679158f}
\strng{fullhash}{28efc25c8eae7f3d05fad64c4679158f}
\strng{bibnamehash}{28efc25c8eae7f3d05fad64c4679158f}
\strng{authorbibnamehash}{28efc25c8eae7f3d05fad64c4679158f}
\strng{authornamehash}{28efc25c8eae7f3d05fad64c4679158f}
\strng{authorfullhash}{28efc25c8eae7f3d05fad64c4679158f}
\field{sortinit}{1}
\field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{day}{19}
\field{month}{8}
\field{title}{Understanding page faults and memory swap-in/outs}
\field{year}{2019}
\field{dateera}{ce}
\verb{urlraw}
\verb https://scoutapm.com/blog/understanding-page-faults-and-memory-swap-in-outs-when-should-you-worry
\endverb
\verb{url}
\verb https://scoutapm.com/blog/understanding-page-faults-and-memory-swap-in-outs-when-should-you-worry
\endverb
\endentry
\enddatalist
\endrefsection
\endinput

View File

@@ -2433,6 +2433,9 @@
<bcf:citekey order="95">code_kernel_open</bcf:citekey>
<bcf:citekey order="96">code_kernel_open</bcf:citekey>
<bcf:citekey order="97">fault_injection</bcf:citekey>
<bcf:citekey order="98">ebpf_helpers</bcf:citekey>
<bcf:citekey order="99">mem_page_arch</bcf:citekey>
<bcf:citekey order="100">page_faults</bcf:citekey>
</bcf:section>
<!-- SORTING TEMPLATES -->
<bcf:sortingtemplate name="none">

View File

@@ -1,85 +1,87 @@
[0] Config.pm:311> INFO - This is Biber 2.16
[0] Config.pm:314> INFO - Logfile is 'document.blg'
[57] biber:340> INFO - === Fri Jun 3, 2022, 19:08:32
[69] Biber.pm:415> INFO - Reading 'document.bcf'
[143] Biber.pm:952> INFO - Found 65 citekeys in bib section 0
[158] Biber.pm:4340> INFO - Processing section 0
[167] Biber.pm:4531> INFO - Looking for bibtex format file 'bibliography/bibliography.bib' for section 0
[169] bibtex.pm:1689> INFO - LaTeX decoding ...
[194] bibtex.pm:1494> INFO - Found BibTeX data source 'bibliography/bibliography.bib'
[198] Utils.pm:384> WARN - Duplicate entry key: 'code_kernel_open' in file 'bibliography/bibliography.bib', skipping ...
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 9, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 15, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 22, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 28, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 35, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 42, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 50, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 58, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 65, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 70, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 77, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 85, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 94, warning: 1 characters of junk seen at toplevel
[346] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 103, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 112, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 121, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 127, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 132, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 137, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 142, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 153, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 158, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 164, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 170, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 175, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 184, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 191, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 199, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 206, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 215, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 224, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 233, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 239, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 244, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 249, warning: 1 characters of junk seen at toplevel
[347] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 256, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 261, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 266, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 271, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 276, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 283, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 288, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 295, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 302, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 309, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 315, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 321, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 327, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 334, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 339, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 344, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 349, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 356, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 361, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 366, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 375, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 380, warning: 1 characters of junk seen at toplevel
[348] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 385, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 390, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 395, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 400, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 405, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 410, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 419, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 428, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 433, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 438, warning: 1 characters of junk seen at toplevel
[349] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_B_Hb/f4d088b3f9f145b5c3058da33afd57d4_214634.utf8, line 443, warning: 1 characters of junk seen at toplevel
[390] UCollate.pm:68> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized'
[390] UCollate.pm:68> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable'
[390] Biber.pm:4168> INFO - Sorting list 'none/global//global/global' of type 'entry' with template 'none' and locale 'en-US'
[390] Biber.pm:4174> INFO - No sort tailoring available for locale 'en-US'
[426] bbl.pm:654> INFO - Writing 'document.bbl' with encoding 'UTF-8'
[441] bbl.pm:757> INFO - Output to document.bbl
[442] Biber.pm:128> INFO - WARNINGS: 69
[67] biber:340> INFO - === Sat Jun 4, 2022, 08:30:51
[83] Biber.pm:415> INFO - Reading 'document.bcf'
[182] Biber.pm:952> INFO - Found 67 citekeys in bib section 0
[198] Biber.pm:4340> INFO - Processing section 0
[209] Biber.pm:4531> INFO - Looking for bibtex format file 'bibliography/bibliography.bib' for section 0
[211] bibtex.pm:1689> INFO - LaTeX decoding ...
[238] bibtex.pm:1494> INFO - Found BibTeX data source 'bibliography/bibliography.bib'
[243] Utils.pm:384> WARN - Duplicate entry key: 'code_kernel_open' in file 'bibliography/bibliography.bib', skipping ...
[410] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 9, warning: 1 characters of junk seen at toplevel
[410] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 15, warning: 1 characters of junk seen at toplevel
[410] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 22, warning: 1 characters of junk seen at toplevel
[410] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 28, warning: 1 characters of junk seen at toplevel
[410] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 35, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 42, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 50, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 58, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 65, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 70, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 77, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 85, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 94, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 103, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 112, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 121, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 127, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 132, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 137, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 142, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 153, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 158, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 164, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 170, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 175, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 184, warning: 1 characters of junk seen at toplevel
[411] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 191, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 199, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 206, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 215, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 224, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 233, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 239, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 244, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 249, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 256, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 261, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 266, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 271, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 276, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 283, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 288, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 295, warning: 1 characters of junk seen at toplevel
[412] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 302, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 309, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 315, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 321, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 327, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 334, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 339, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 344, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 349, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 356, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 361, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 366, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 375, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 380, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 385, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 390, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 395, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 400, warning: 1 characters of junk seen at toplevel
[413] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 405, warning: 1 characters of junk seen at toplevel
[414] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 410, warning: 1 characters of junk seen at toplevel
[414] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 419, warning: 1 characters of junk seen at toplevel
[414] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 428, warning: 1 characters of junk seen at toplevel
[414] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 433, warning: 1 characters of junk seen at toplevel
[414] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 438, warning: 1 characters of junk seen at toplevel
[414] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 443, warning: 1 characters of junk seen at toplevel
[414] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 449, warning: 1 characters of junk seen at toplevel
[414] Utils.pm:384> WARN - BibTeX subsystem: /tmp/biber_tmp_HkZb/f4d088b3f9f145b5c3058da33afd57d4_223362.utf8, line 459, warning: 1 characters of junk seen at toplevel
[462] UCollate.pm:68> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable'
[462] UCollate.pm:68> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized'
[462] Biber.pm:4168> INFO - Sorting list 'none/global//global/global' of type 'entry' with template 'none' and locale 'en-US'
[462] Biber.pm:4174> INFO - No sort tailoring available for locale 'en-US'
[501] bbl.pm:654> INFO - Writing 'document.bbl' with encoding 'UTF-8'
[517] bbl.pm:757> INFO - Output to document.bbl
[517] Biber.pm:128> INFO - WARNINGS: 71

View File

@@ -25,6 +25,12 @@
\defcounter {refsection}{0}\relax
\addvspace {10\p@ }
\defcounter {refsection}{0}\relax
\contentsline {figure}{\numberline {3.1}{\ignorespaces Memory translation of virtual pages to physical pages.\relax }}{37}{figure.caption.35}%
\defcounter {refsection}{0}\relax
\contentsline {figure}{\numberline {3.2}{\ignorespaces Major page fault after a page was removed from RAM.\relax }}{38}{figure.caption.36}%
\defcounter {refsection}{0}\relax
\contentsline {figure}{\numberline {3.3}{\ignorespaces Minor page fault after a fork() in which the page table was not copied completely.\relax }}{38}{figure.caption.37}%
\defcounter {refsection}{0}\relax
\addvspace {10\p@ }
\defcounter {refsection}{0}\relax
\addvspace {10\p@ }

View File

@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2022.4.27) 3 JUN 2022 20:57
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2022.4.27) 4 JUN 2022 08:55
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@@ -1089,7 +1089,7 @@ File: t1txss.fd 2000/12/15 v3.1
)
LaTeX Font Info: Font shape `T1/txss/m/n' will be
(Font) scaled to size 11.39996pt on input line 186.
<images//Portada_Logo.png, id=197, 456.2865pt x 45.99pt>
<images//Portada_Logo.png, id=205, 456.2865pt x 45.99pt>
File: images//Portada_Logo.png Graphic file (type png)
<use images//Portada_Logo.png>
Package pdftex.def Info: images//Portada_Logo.png used on input line 190.
@@ -1102,7 +1102,7 @@ LaTeX Font Info: Font shape `T1/txss/m/n' will be
(Font) scaled to size 23.63593pt on input line 201.
LaTeX Font Info: Font shape `T1/txss/m/n' will be
(Font) scaled to size 19.70294pt on input line 205.
<images/creativecommons.png, id=199, 338.76563pt x 118.19156pt>
<images/creativecommons.png, id=207, 338.76563pt x 118.19156pt>
File: images/creativecommons.png Graphic file (type png)
<use images/creativecommons.png>
Package pdftex.def Info: images/creativecommons.png used on input line 215.
@@ -1214,7 +1214,7 @@ Chapter 2.
LaTeX Warning: Reference `section:analysis_offensive_capabilities' on page 5 un
defined on input line 412.
<images//classic_bpf.jpg, id=515, 588.1975pt x 432.61626pt>
<images//classic_bpf.jpg, id=534, 588.1975pt x 432.61626pt>
File: images//classic_bpf.jpg Graphic file (type jpg)
<use images//classic_bpf.jpg>
Package pdftex.def Info: images//classic_bpf.jpg used on input line 426.
@@ -1222,36 +1222,36 @@ Package pdftex.def Info: images//classic_bpf.jpg used on input line 426.
[5
] [6 <./images//classic_bpf.jpg>]
<images//cbpf_prog.jpg, id=533, 403.5075pt x 451.6875pt>
<images//cbpf_prog.jpg, id=552, 403.5075pt x 451.6875pt>
File: images//cbpf_prog.jpg Graphic file (type jpg)
<use images//cbpf_prog.jpg>
Package pdftex.def Info: images//cbpf_prog.jpg used on input line 453.
(pdftex.def) Requested size: 227.62204pt x 254.80415pt.
[7 <./images/cBPF_prog.jpg>]
<images//bpf_instructions.png, id=543, 380.92313pt x 475.27562pt>
<images//bpf_instructions.png, id=562, 380.92313pt x 475.27562pt>
File: images//bpf_instructions.png Graphic file (type png)
<use images//bpf_instructions.png>
Package pdftex.def Info: images//bpf_instructions.png used on input line 493.
(pdftex.def) Requested size: 227.62204pt x 283.99998pt.
[8 <./images//bpf_instructions.png>]
<images//bpf_address_mode.png, id=553, 417.05812pt x 313.67188pt>
<images//bpf_address_mode.png, id=572, 417.05812pt x 313.67188pt>
File: images//bpf_address_mode.png Graphic file (type png)
<use images//bpf_address_mode.png>
Package pdftex.def Info: images//bpf_address_mode.png used on input line 509.
(pdftex.def) Requested size: 227.62204pt x 171.19905pt.
[9 <./images//bpf_address_mode.png>]
<images//tcpdump_example.png, id=566, 534.99875pt x 454.69875pt>
<images//tcpdump_example.png, id=585, 534.99875pt x 454.69875pt>
File: images//tcpdump_example.png Graphic file (type png)
<use images//tcpdump_example.png>
Package pdftex.def Info: images//tcpdump_example.png used on input line 524.
(pdftex.def) Requested size: 284.52756pt x 241.82869pt.
<images//cBPF_prog_ex_sol.png, id=569, 242.9075pt x 321.2pt>
<images//cBPF_prog_ex_sol.png, id=588, 242.9075pt x 321.2pt>
File: images//cBPF_prog_ex_sol.png Graphic file (type png)
<use images//cBPF_prog_ex_sol.png>
Package pdftex.def Info: images//cBPF_prog_ex_sol.png used on input line 535.
(pdftex.def) Requested size: 170.71652pt x 225.74026pt.
[10 <./images//tcpdump_example.png>] [11 <./images//cBPF_prog_ex_sol.png>]
<images//ebpf_arch.jpg, id=587, 739.76375pt x 472.76625pt>
<images//ebpf_arch.jpg, id=606, 739.76375pt x 472.76625pt>
File: images//ebpf_arch.jpg Graphic file (type jpg)
<use images//ebpf_arch.jpg>
Package pdftex.def Info: images//ebpf_arch.jpg used on input line 574.
@@ -1303,7 +1303,7 @@ Overfull \hbox (13.5802pt too wide) in paragraph at lines 758--788
[]
[17]
<images//xdp_diag.jpg, id=667, 649.42625pt x 472.76625pt>
<images//xdp_diag.jpg, id=686, 649.42625pt x 472.76625pt>
File: images//xdp_diag.jpg Graphic file (type jpg)
<use images//xdp_diag.jpg>
Package pdftex.def Info: images//xdp_diag.jpg used on input line 804.
@@ -1314,7 +1314,7 @@ Overfull \hbox (5.80417pt too wide) in paragraph at lines 867--879
[]
[20] [21] [22] [23]
<images//libbpf_prog.jpg, id=726, 543.02875pt x 502.87875pt>
<images//libbpf_prog.jpg, id=745, 543.02875pt x 502.87875pt>
File: images//libbpf_prog.jpg Graphic file (type jpg)
<use images//libbpf_prog.jpg>
Package pdftex.def Info: images//libbpf_prog.jpg used on input line 977.
@@ -1383,82 +1383,126 @@ Overfull \hbox (47.97661pt too wide) in paragraph at lines 1312--1313
CON-FIG_BPF_KPROBE_OVERRIDE
[]
[34] [35] [36]
[34] [35]
Overfull \hbox (62.0767pt too wide) in paragraph at lines 1354--1355
\T1/txr/m/n/12 the bounds of func-tion pa-ram-e-ters via the helpers bpf_probe_
read_user() and bpf_probe_read_kernel().
[]
<images//mem_arch_pages.jpg, id=928, 593.21625pt x 434.62375pt>
File: images//mem_arch_pages.jpg Graphic file (type jpg)
<use images//mem_arch_pages.jpg>
Package pdftex.def Info: images//mem_arch_pages.jpg used on input line 1367.
(pdftex.def) Requested size: 369.88582pt x 271.00914pt.
[36]
<images//mem_major_page_fault.jpg, id=936, 639.38875pt x 425.59pt>
File: images//mem_major_page_fault.jpg Graphic file (type jpg)
<use images//mem_major_page_fault.jpg>
Package pdftex.def Info: images//mem_major_page_fault.jpg used on input line 1
377.
(pdftex.def) Requested size: 312.9803pt x 208.32661pt.
[37 <./images//mem_arch_pages.jpg>]
<images//mem_minor_page_fault.jpg, id=943, 654.445pt x 555.07375pt>
File: images//mem_minor_page_fault.jpg Graphic file (type jpg)
<use images//mem_minor_page_fault.jpg>
Package pdftex.def Info: images//mem_minor_page_fault.jpg used on input line 1
385.
(pdftex.def) Requested size: 312.9803pt x 265.45834pt.
[38 <./images//mem_major_page_fault.jpg> <./images//mem_minor_page_fault.jpg>]
[39]
Chapter 4.
[37
[40
]
Chapter 5.
[38
[41
]
Chapter 6.
[39
[42
]
Overfull \hbox (5.34976pt too wide) in paragraph at lines 1389--1389
Overfull \hbox (5.34976pt too wide) in paragraph at lines 1424--1424
\T1/txtt/m/n/12 threat -[] intelligence / cyber -[] year -[] in -[] retrospect
/ yir -[] cyber -[] threats -[]
[]
[40
[43
]
Overfull \hbox (6.22696pt too wide) in paragraph at lines 1389--1389
Overfull \hbox (6.22696pt too wide) in paragraph at lines 1424--1424
[]\T1/txr/m/it/12 Bpf fea-tures by linux ker-nel ver-sion\T1/txr/m/n/12 , io-vi
-sor. [On-line]. Avail-able: [][]$\T1/txtt/m/n/12 https : / / github .
[]
Overfull \hbox (7.34976pt too wide) in paragraph at lines 1389--1389
Overfull \hbox (7.34976pt too wide) in paragraph at lines 1424--1424
[][]$\T1/txtt/m/n/12 https : / / ebpf . io / what -[] is -[] ebpf / #loader -[]
-[] verification -[] architecture$[][]\T1/txr/m/n/12 .
[]
Overfull \hbox (21.24973pt too wide) in paragraph at lines 1389--1389
Overfull \hbox (21.24973pt too wide) in paragraph at lines 1424--1424
\T1/txtt/m/n/12 vger . kernel . org / netconf2015Starovoitov -[] bpf _ collabsu
mmit _ 2015feb20 .
[]
[41]
Overfull \hbox (9.14975pt too wide) in paragraph at lines 1389--1389
[44]
Overfull \hbox (9.14975pt too wide) in paragraph at lines 1424--1424
\T1/txtt/m/n/12 ch02 . xhtml# :-[]: text = With % 20JIT % 20compiled % 20code %
2C % 20i ,[] %20other %
[]
Overfull \hbox (6.49615pt too wide) in paragraph at lines 1389--1389
Overfull \hbox (6.49615pt too wide) in paragraph at lines 1424--1424
[]\T1/txr/m/n/12 D. Lavie. ^^P A gen-tle in-tro-duc-tion to xdp.^^Q (Feb. 3, 2
022), [On-line]. Avail-able: [][]$\T1/txtt/m/n/12 https :
[]
[42]
Overfull \hbox (0.76683pt too wide) in paragraph at lines 1389--1389
[45]
Overfull \hbox (0.76683pt too wide) in paragraph at lines 1424--1424
[]\T1/txr/m/n/12 ^^P Bpf next ker-nel tree.^^Q (), [On-line]. Avail-able: [][]
$\T1/txtt/m/n/12 https : / / kernel . googlesource .
[]
Overfull \hbox (14.49278pt too wide) in paragraph at lines 1389--1389
Overfull \hbox (14.49278pt too wide) in paragraph at lines 1424--1424
[]\T1/txr/m/it/12 Capabilities - overview of linux ca-pa-bil-i-ties\T1/txr/m/n/
12 . [On-line]. Avail-able: [][]$\T1/txtt/m/n/12 http : / / manpages .
[]
[43]
Overfull \hbox (53.32059pt too wide) in paragraph at lines 1389--1389
[46]
Overfull \hbox (53.32059pt too wide) in paragraph at lines 1424--1424
\T1/txr/m/it/12 sup-ple-ment\T1/txr/m/n/12 , Jan. 28, 2018, p. 148. [On-line].
Avail-able: [][]$\T1/txtt/m/n/12 https : / / raw . githubusercontent .
[]
Overfull \hbox (33.3497pt too wide) in paragraph at lines 1389--1389
Overfull \hbox (33.3497pt too wide) in paragraph at lines 1424--1424
\T1/txtt/m/n/12 20CON % 2029 % 20presentations / Guillaume % 20Fournier % 20Syl
vain % 20Afchain %
[]
[44] (/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
Overfull \hbox (9.33742pt too wide) in paragraph at lines 1424--1424
\T1/txr/m/n/12 Avail-able: [][]$\T1/txtt/m/n/12 https : / / events19 . linuxfou
ndation . org / wp -[] content / uploads /
[]
Overfull \hbox (18.44974pt too wide) in paragraph at lines 1424--1424
\T1/txtt/m/n/12 2017 / 12 / MM -[] 101 -[] Introduction -[] to -[] Linux -[] Me
mory -[] Management -[] Christoph -[]
[]
Overfull \hbox (5.92503pt too wide) in paragraph at lines 1424--1424
[]\T1/txr/m/n/12 D. Breaker. ^^P Un-der-stand-ing page faults and mem-ory swap
-in/outs.^^Q (Aug. 19, 2019),
[]
[47] (/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
File: lstlang1.sty 2020/03/24 1.8d listings language file
)
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
@@ -1469,7 +1513,7 @@ File: lstlang1.sty 2020/03/24 1.8d listings language file
been already used, duplicate ignored
<to be read again>
\relax
l.1449 \end{document}
l.1484 \end{document}
[2
] (./document.aux)
@@ -1477,16 +1521,16 @@ l.1449 \end{document}
LaTeX Warning: There were undefined references.
Package rerunfilecheck Info: File `document.out' has not changed.
(rerunfilecheck) Checksum: AF3CC8DCAEA55305B734C2E6C108DD02;3532.
(rerunfilecheck) Checksum: 0B819AE1968F9045C84BF50A3A681D42;3703.
Package logreq Info: Writing requests to 'document.run.xml'.
\openout1 = `document.run.xml'.
)
Here is how much of TeX's memory you used:
28262 strings out of 481209
449404 string characters out of 5914747
1340026 words of memory out of 5000000
44488 multiletter control sequences out of 15000+600000
28299 strings out of 481209
450407 string characters out of 5914747
1343041 words of memory out of 5000000
44512 multiletter control sequences out of 15000+600000
459242 words of font info for 106 fonts, out of 8000000 for 9000
36 hyphenation exceptions out of 8191
88i,12n,90p,1029b,3681s stack positions out of 5000i,500n,10000p,200000b,80000s
@@ -1502,9 +1546,9 @@ e/texmf-dist/fonts/type1/urw/helvetic/uhvb8a.pfb></usr/share/texlive/texmf-dist
/urw/helvetic/uhvr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/u
tmb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr
/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
Output written on document.pdf (62 pages, 802511 bytes).
Output written on document.pdf (65 pages, 944826 bytes).
PDF statistics:
1208 PDF objects out of 1440 (max. 8388607)
276 named destinations out of 1000 (max. 500000)
452 words of extra memory for PDF output out of 10000 (max. 10000000)
1258 PDF objects out of 1440 (max. 8388607)
286 named destinations out of 1000 (max. 500000)
483 words of extra memory for PDF output out of 10000 (max. 10000000)

View File

@@ -41,8 +41,10 @@
\BOOKMARK [2][-]{subsection.3.2.4}{Sending\040signals\040to\040user\040programs}{section.3.2}% 41
\BOOKMARK [2][-]{subsection.3.2.5}{Conclusion}{section.3.2}% 42
\BOOKMARK [1][-]{section.3.3}{Memory\040corruption}{chapter.3}% 43
\BOOKMARK [2][-]{subsection.3.3.1}{Accessing\040user\040memory}{section.3.3}% 44
\BOOKMARK [0][-]{chapter.4}{Methods??}{}% 45
\BOOKMARK [0][-]{chapter.5}{Results}{}% 46
\BOOKMARK [0][-]{chapter.6}{Conclusion\040and\040future\040work}{}% 47
\BOOKMARK [0][-]{chapter.6}{Bibliography}{}% 48
\BOOKMARK [2][-]{subsection.3.3.1}{Memory\040management\040in\040Linux}{section.3.3}% 44
\BOOKMARK [2][-]{subsection.3.3.2}{Process\040virtual\040memory}{section.3.3}% 45
\BOOKMARK [2][-]{subsection.3.3.3}{Accessing\040user\040memory}{section.3.3}% 46
\BOOKMARK [0][-]{chapter.4}{Methods??}{}% 47
\BOOKMARK [0][-]{chapter.5}{Results}{}% 48
\BOOKMARK [0][-]{chapter.6}{Conclusion\040and\040future\040work}{}% 49
\BOOKMARK [0][-]{chapter.6}{Bibliography}{}% 50

Binary file not shown.

Binary file not shown.

View File

@@ -1343,19 +1343,54 @@ Taking the previous information into account, we can find that a malicious eBPF
\subsection{Sending signals to user programs}
Another eBPF helper that is subject to malicious purposes is bpf\_send\_signal. This helper enables to send an arbitrary signal to the thread of the process running a hooked function.
Therefore, this helper can be used to forcefully terminate running user processes, by sending the SIGKILL signal. In this way, combined with the observability into the parameters received at a call, a malicious eBPF can kill and deactivate processes to favour its malicious purposes.
Therefore, this helper can be used to forcefully terminate running user processes, by sending the SIGKILL signal. In this way, combined with the observability into the parameters received at a function call, malicious eBPF can kill and deactivate processes to favour its malicious purposes.
\subsection{Conclusion}
As a summary, a malicious eBPF program loaded and attached as a tracing program undermines the existing trust between user programs and the kernel space.
Its ability to access sensitive data in function parameters and reading arbitrary memory can lead to gathering extensive information on the running processes of a system, whilst the malicious use of eBPF helpers means the modification of the data passed to the user space, and the control over which programs are allowed to be running on the system.
Its ability to access sensitive data in function parameters and reading arbitrary memory can lead to gathering extensive information on the running processes of a system, whilst the malicious use of eBPF helpers enables the modification of the data passed to the user space from the kernel, and the control over which programs are allowed to be running on the system.
\section{Memory corruption} \label{section:mem_corruption}
Privileged malicious eBPF programs (or those with the CAP\_BPF + CAP\_PERFMON capabilities) have the potential to get:
In the previous section we described how tracing programs can read user memory out of the bounds of function parameters via the helpers bpf\_probe\_read\_user() and bpf\_probe\_read\_kernel(). In this section, we will analyse another eBPF helper can be found to be the heart of malicious programs.
Privileged eBPF programs (or those with at least CAP\_BPF + CAP\_PERFMON capabilities) have the potential to use an experimental (it is labelled as so \cite{ebpf_helpers}) helper called bpf\_probe\_write\_user(). This helper enables to write into user memory from within an eBPF program.
However, this helper has certain limitations that restrict its use. We will now proceed to review some background into how user memory works and, afterwards, we will analyse the restrictions and possible uses of this eBPF helper in the context of malicious applications.
\subsection{Memory management in Linux}
Linux systems divide the available random access memory (RAM) into 'pages', subsections of an specific length, usually 4 KB. The collection of all pages is called physical memory.
Likewise, individual memory sections need to be assigned to each running process in the system, but instead of assigning a set of pages from physical memory, a new address space is defined, named virtual memory, which is divided into pages as well. These virtual memory pages are related to physical memory pages via a page table, so that each virtual memory address of a process can be translated into a real, physical memory address in RAM\cite{mem_page_arch}. Figure \ref{fig:mem_arch_pages} shows a diagram of the described architecture.
\begin{figure}[H]
\centering
\includegraphics[width=13cm]{mem_arch_pages.jpg}
\caption{Memory translation of virtual pages to physical pages.}
\label{fig:mem_arch_pages}
\end{figure}
As we can observe in the figure, each virtual page is related to one physical page. However, RAM needs to maintain multiple processes and data simultaneously, and therefore sometimes the operating system (OS) will remove them from physical memory when it believes they are no longer being used. This leads to the occurrence of two type of memory events\cite{page_faults}:
\begin{itemize}
\item Read and write access in user memory.
\item Read-only access in kernel memory.
\item \textbf{Major page faults} occur when a process tries to access a virtual page, but the related physical page has been removed from RAM. In this case, the OS will need to request a secondary storage (such as a hard disk) for the data removed, and allocate a new physical page for the virtual page. Figure \ref{fig:mem_major_page_fault} illustrates a major page fault.
\begin{figure}[H]
\centering
\includegraphics[width=11cm]{mem_major_page_fault.jpg}
\caption{Major page fault after a page was removed from RAM.}
\label{fig:mem_major_page_fault}
\end{figure}
\item \textbf{Minor page faults} occur when a process tries to access a virtual page, and although the related physical page exists, the connection in the page table has not been completed. A common event when these fault happen is on fork() calls, since with the purpose of making the call more efficient, the page table of the parent is not always completely copied into the child, leading into multiple minor page faults once the child tries to access the data on them. Figure \ref{fig:mem_minor_page_fault} illustrates a minor page fault after a fork.
\end{itemize}
\begin{figure}[H]
\centering
\includegraphics[width=11cm]{mem_minor_page_fault.jpg}
\caption{Minor page fault after a fork() in which the page table was not copied completely.}
\label{fig:mem_minor_page_fault}
\end{figure}
\subsection{Process virtual memory}
In the previous subsection we have studied that each process disposes of a virtual address space. We will now describe how this virtual memory is organized, since it will be necessary to understand the implication
\subsection{Accessing user memory}

View File

@@ -87,13 +87,17 @@
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {3.3}Memory corruption}{36}{section.3.3}%
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {3.3.1}Accessing user memory}{36}{subsection.3.3.1}%
\contentsline {subsection}{\numberline {3.3.1}Memory management in Linux}{36}{subsection.3.3.1}%
\defcounter {refsection}{0}\relax
\contentsline {chapter}{\numberline {4}Methods??}{37}{chapter.4}%
\contentsline {subsection}{\numberline {3.3.2}Process virtual memory}{39}{subsection.3.3.2}%
\defcounter {refsection}{0}\relax
\contentsline {chapter}{\numberline {5}Results}{38}{chapter.5}%
\contentsline {subsection}{\numberline {3.3.3}Accessing user memory}{39}{subsection.3.3.3}%
\defcounter {refsection}{0}\relax
\contentsline {chapter}{\numberline {6}Conclusion and future work}{39}{chapter.6}%
\contentsline {chapter}{\numberline {4}Methods??}{40}{chapter.4}%
\defcounter {refsection}{0}\relax
\contentsline {chapter}{Bibliography}{40}{chapter.6}%
\contentsline {chapter}{\numberline {5}Results}{41}{chapter.5}%
\defcounter {refsection}{0}\relax
\contentsline {chapter}{\numberline {6}Conclusion and future work}{42}{chapter.6}%
\defcounter {refsection}{0}\relax
\contentsline {chapter}{Bibliography}{43}{chapter.6}%
\contentsfinish

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -73,15 +73,15 @@
</rdf:Description>
<rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/">
<xmp:CreatorTool>LaTeX with hyperref</xmp:CreatorTool>
<xmp:ModifyDate>2022-06-03T20:57:18-04:00</xmp:ModifyDate>
<xmp:CreateDate>2022-06-03T20:57:18-04:00</xmp:CreateDate>
<xmp:MetadataDate>2022-06-03T20:57:18-04:00</xmp:MetadataDate>
<xmp:ModifyDate>2022-06-04T08:55:07-04:00</xmp:ModifyDate>
<xmp:CreateDate>2022-06-04T08:55:07-04:00</xmp:CreateDate>
<xmp:MetadataDate>2022-06-04T08:55:07-04:00</xmp:MetadataDate>
</rdf:Description>
<rdf:Description rdf:about="" xmlns:xmpRights = "http://ns.adobe.com/xap/1.0/rights/">
</rdf:Description>
<rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">
<xmpMM:DocumentID>uuid:467B87E0-A1EA-A037-7CB7-0477245DEBC3</xmpMM:DocumentID>
<xmpMM:InstanceID>uuid:FB8776F5-6FD5-6DDD-3EB3-BAB953432AB7</xmpMM:InstanceID>
<xmpMM:InstanceID>uuid:020726B4-C48C-816C-5701-957C8A5C3B53</xmpMM:InstanceID>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>