From 8bb20127a963699b94239a33f0f54fac94a73023 Mon Sep 17 00:00:00 2001 From: Valentin Brandl Date: Tue, 20 Sep 2022 18:47:25 +0200 Subject: [PATCH] content --- acronyms.tex | 5 + bibliography.bib | 482 +---------------------------------------------- presentation.pdf | Bin 98639 -> 116688 bytes presentation.tex | 38 +++- 4 files changed, 45 insertions(+), 480 deletions(-) diff --git a/acronyms.tex b/acronyms.tex index ca0abc4..054ce33 100644 --- a/acronyms.tex +++ b/acronyms.tex @@ -2,4 +2,9 @@ short = {BOF}, long = {Buffer Overflow}, } + +\DeclareAcronym{aslr}{ + short = {ASLR}, + long = {Address Space Layout Randomization}, +} % vim: set filetype=tex ts=2 sw=2 tw=0 et : diff --git a/bibliography.bib b/bibliography.bib index 0fcec46..f2f4bbd 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -1,478 +1,8 @@ -@article{bib:persistentstruct, - author = {James R Driscoll and Neil Sarnak and Daniel D. Sleator and Robert E. Tarjan}, - title = {Making Data Structures Persistent}, - journal = {Journal of Computer and System Sciences}, - year = {1989}, - month = {02}, - volume = {Vol. 38, No. 1}, - pages = {86-124} +@InProceedings{Dep2007, +author={{{Condit}, Jeremy and {Harren}, Matthew and {Anderson}, Zachary and + {Gay}, David and {Necula}, George C.}}, +title={{Dependent Types for Low-Level Programming}}, +booktitle={{Programming Languages and Systems}}, +year={2007} } - -@article{bib:zhang_building_2014, - title = {Building a Scalable System for Stealthy P2P-Botnet Detection}, - volume = {9}, - issn = {1556-6013, 1556-6021}, - url = {http://ieeexplore.ieee.org/document/6661360/}, - doi = {10.1109/TIFS.2013.2290197}, - pages = {27--38}, - number = {1}, - journaltitle = {{IEEE} Transactions on Information Forensics and Security}, - shortjournal = {{IEEE} Trans.Inform.Forensic Secur.}, - author = {Zhang, Junjie and Perdisci, Roberto and Lee, Wenke and Luo, Xiapu and Sarfraz, Unum}, - urldate = {2021-11-09}, - date = {2014-01}, - file = {Full Text:/home/me/Zotero/storage/PFXP8NLV/Zhang et al. - 2014 - Building a Scalable System for Stealthy P2P-Botnet.pdf:application/pdf} -} - -@inproceedings{bib:botgrep2010, - author = {Nagaraja, Shishir and Mittal, Prateek and Hong, Chi-Yao and Caesar, Matthew and Borisov, Nikita}, - title = {BotGrep: Finding P2P Bots with Structured Graph Analysis}, - year = {2010}, - isbn = {8887666655554}, - publisher = {USENIX Association}, - address = {USA}, - abstract = {A key feature that distinguishes modern botnets from earlier counterparts is their increasing use of structured overlay topologies. This lets them carry out sophisticated coordinated activities while being resilient to churn, but it can also be used as a point of detection. In this work, we devise techniques to localize botnet members based on the unique communication patterns arising from their overlay topologies used for command and control. Experimental results on synthetic topologies embedded within Internet traffic traces from an ISP's backbone network indicate that our techniques (i) can localize the majority of bots with low false positive rate, and (ii) are resilient to incomplete visibility arising from partial deployment of monitoring systems and measurement inaccuracies from dynamics of background traffic.}, - booktitle = {Proceedings of the 19th USENIX Conference on Security}, - pages = {7}, - numpages = {1}, - location = {Washington, DC}, - series = {USENIX Security'10}, -} - -@inproceedings{bib:botminer2008, - author = {Gu, Guofei and Perdisci, Roberto and Zhang, Junjie and Lee, Wenke}, - title = {BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection}, - year = {2008}, - publisher = {USENIX Association}, - address = {USA}, - abstract = {Botnets are now the key platform for many Internet attacks, such as spam, distributed denial-of-service (DDoS), identity theft, and phishing. Most of the current botnet detection approaches work only on specific botnet command and control (C&C) protocols (e.g., IRC) and structures (e.g., centralized), and can become ineffective as botnets change their C&C techniques. In this paper, we present a general detection framework that is independent of botnet C&C protocol and structure, and requires no a priori knowledge of botnets (such as captured bot binaries and hence the botnet signatures, and C&C server names/addresses). We start from the definition and essential properties of botnets. We define a botnet as a coordinated group of malware instances that are controlled via C&C communication channels. The essential properties of a botnet are that the bots communicate with some C&C servers/peers, perform malicious activities, and do so in a similar or correlated way. Accordingly, our detection framework clusters similar communication traffic and similar malicious traffic, and performs cross cluster correlation to identify the hosts that share both similar communication patterns and similar malicious activity patterns. These hosts are thus bots in the monitored network. We have implemented our BotMiner prototype system and evaluated it using many real network traces. The results show that it can detect real-world botnets (IRC-based, HTTP-based, and P2P botnets including Nugache and Storm worm), and has a very low false positive rate.}, - booktitle = {Proceedings of the 17th Conference on Security Symposium}, - pages = {139–154}, - numpages = {16}, - location = {San Jose, CA}, - series = {SS'08}, -} - -@incollection{bib:kim_survey_2012, - location = {Dordrecht}, - title = {A Survey on P2P Botnet Detection}, - volume = {120}, - isbn = {978-94-007-2910-0 978-94-007-2911-7}, - url = {http://link.springer.com/10.1007/978-94-007-2911-7_56}, - pages = {589--593}, - booktitle = {Proceedings of the International Conference on {IT} Convergence and Security 2011}, - publisher = {Springer Netherlands}, - author = {Han, Kyoung-Soo and Im, Eul Gyu}, - editor = {Kim, Kuinam J. and Ahn, Seong Jin}, - urldate = {2021-11-11}, - date = {2012}, - doi = {10.1007/978-94-007-2911-7_56}, - note = {Series Title: Lecture Notes in Electrical Engineering}, - file = {Full Text:/home/me/Zotero/storage/CMFWF58V/Han and Im - 2012 - A Survey on P2P Botnet Detection.pdf:application/pdf} -} - -@online{bib:statista_iot_2020, - title = {Number of Internet of Things (IoT) Connected Devices Worldwide from 2019 to 2030}, - organization = {Statista Inc.}, - publisher = {Transforma Insights}, - date = {2020-12}, - url = {https://www.statista.com/statistics/1183457/iot-connected-devices-worldwide/}, - urldate = {2021-11-11}, - archiveurl = {https://web.archive.org/web/20211025185804/https://www.statista.com/statistics/1183457/iot-connected-devices-worldwide/}, - archivedate = {2021-10-25} -} - -@online{bib:msZloader, - title = {Notorious cybercrime gang’s botnet disrupted}, - organization = {Microsoft}, - author = {Hogan-Burney, Amy}, - url = {https://blogs.microsoft.com/on-the-issues/2022/04/13/zloader-botnet-disrupted-malware-ukraine/}, - urldate = {2022-04-15}, - archiveurl = {https://web.archive.org/web/20220413210653/https://blogs.microsoft.com/on-the-issues/2022/04/13/zloader-botnet-disrupted-malware-ukraine/}, - archivedate = {2022-04-13}, -} - -@online{bib:fbiTakedown2014, - title = {Taking Down Botnets}, - organization = {Federal Bureau of Investigation}, - author = {Joseph Demarest}, - date = {2014-07-15}, - url = {https://www.fbi.gov/news/testimony/taking-down-botnets}, - urldate = {2022-03-23}, - archiveurl = {https://web.archive.org/web/20220318082034/https://www.fbi.gov/news/testimony/taking-down-botnets}, - archiveurldate = {2022-03-18}, -} - -@online{bib:statista_broadband_2021, - title = {Availability of broadband internet to households in Germany from 2017 to 2020, by bandwidth class}, - organization = {Statista Inc.}, - publisher = {BMVI}, - date = {2021-08-16}, - url = {https://www.statista.com/statistics/460180/broadband-availability-by-bandwidth-class-germany/}, - urldate = {2021-11-11}, - archiveurl = {https://web.archive.org/web/20210309010747/https://www.statista.com/statistics/460180/broadband-availability-by-bandwidth-class-germany/}, - archivedate = {2021-03-09} -} - -@online{bib:ars_ddos_2016, - title = {Brace yourselves --- source code powering potent IoT DDoSes just went public}, - date = {2016-10-02}, - author = {Dan Goodin}, - organization = {Ars Technica}, - url = {https://arstechnica.com/information-technology/2016/10/brace-yourselves-source-code-powering-potent-iot-ddoses-just-went-public/}, - urldate = {2021-11-11}, - archiveurl = {https://web.archive.org/web/20211022032617/https://arstechnica.com/information-technology/2016/10/brace-yourselves-source-code-powering-potent-iot-ddoses-just-went-public/}, - archivedate = {2021-10-22}, -} - -@online{bib:netlab_mozi, - title = {The Mostly Dead Mozi and Its' Lingering Bots}, - date = {2021-08-30}, - author = {Turing, Alex and Wang, Hui and Ye, Genshen}, - organization = {360 Netlab}, - url = {https://blog.netlab.360.com/the-mostly-dead-mozi-and-its-lingering-bots/}, - urldate = {2022-04-07}, - archiveurl = {https://web.archive.org/web/20220130162722/https://blog.netlab.360.com/the-mostly-dead-mozi-and-its-lingering-bots/}, - archivedate = {2022-01-30}, -} - -@article{bib:fan_p2p_2014, - title = {A P2P Botnet Detection Method Used On-line Monitoring and Off-line Detection}, - volume = {8}, - issn = {17389976, 17389976}, - url = {http://article.nadiapub.com/IJSIA/vol8_no3/10.pdf}, - doi = {10.14257/ijsia.2014.8.3.10}, - pages = {87--96}, - number = {3}, - journaltitle = {International Journal of Security and Its Applications}, - shortjournal = {{IJSIA}}, - author = {Fan, Yuhui and Xu, Ning}, - urldate = {2021-11-11}, - date = {2014-05-31}, - file = {Full Text:/home/me/Zotero/storage/7UI2IFIL/Fan and Xu - 2014 - A P2P Botnet Detection Method Used On-line Monitor.pdf:application/pdf} -} - -@inproceedings{bib:bock_poster_2019, - location = {London United Kingdom}, - title = {Poster: Challenges of Accurately Measuring Churn in P2P Botnets}, - isbn = {978-1-4503-6747-9}, - url = {https://dl.acm.org/doi/10.1145/3319535.3363281}, - doi = {10.1145/3319535.3363281}, - shorttitle = {Challenges of Accurately Measuring Churn in P2P Botnets}, - eventtitle = {{CCS} '19: 2019 {ACM} {SIGSAC} Conference on Computer and Communications Security}, - pages = {2661--2663}, - booktitle = {Proceedings of the 2019 {ACM} {SIGSAC} Conference on Computer and Communications Security}, - publisher = {{ACM}}, - author = {Böck, Leon and Karuppayah, Shankar and Fong, Kory and Mühlhäuser, Max and Vasilomanolakis, Emmanouil}, - urldate = {2021-11-12}, - date = {2019-11-06}, - langid = {english}, - file = {Böck et al. - 2019 - Poster Challenges of Accurately Measuring Churn i.pdf:/home/me/Zotero/storage/FGQXMN3H/Böck et al. - 2019 - Poster Challenges of Accurately Measuring Churn i.pdf:application/pdf} -} - -@inproceedings{bib:karuppayah_boobytrap_2016, - location = {Kuala Lumpur, Malaysia}, - title = {{BoobyTrap}: On autonomously detecting and characterizing crawlers in P2P botnets}, - isbn = {978-1-4799-6664-6}, - url = {http://ieeexplore.ieee.org/document/7510885/}, - doi = {10.1109/ICC.2016.7510885}, - shorttitle = {{BoobyTrap}}, - eventtitle = {{ICC} 2016 - 2016 {IEEE} International Conference on Communications}, - pages = {1--7}, - booktitle = {2016 {IEEE} International Conference on Communications ({ICC})}, - publisher = {{IEEE}}, - author = {Karuppayah, Shankar and Vasilomanolakis, Emmanouil and Haas, Steffen and Muhlhauser, Max and Fischer, Mathias}, - urldate = {2021-11-12}, - date = {2016-05}, - file = {Karuppayah et al. - 2016 - BoobyTrap On autonomously detecting and character.pdf:/home/me/Zotero/storage/UAUH5ZAN/Karuppayah et al. - 2016 - BoobyTrap On autonomously detecting and character.pdf:application/pdf} -} - -@inproceedings{bib:andriesse_reliable_2015, - location = {Tokyo Japan}, - title = {Reliable Recon in Adversarial Peer-to-Peer Botnets}, - isbn = {978-1-4503-3848-6}, - url = {https://dl.acm.org/doi/10.1145/2815675.2815682}, - doi = {10.1145/2815675.2815682}, - eventtitle = {{IMC} '15: Internet Measurement Conference}, - pages = {129--140}, - booktitle = {Proceedings of the 2015 Internet Measurement Conference}, - publisher = {{ACM}}, - author = {Andriesse, Dennis and Rossow, Christian and Bos, Herbert}, - urldate = {2021-11-16}, - date = {2015-10-28}, - langid = {english}, - file = {Andriesse et al. - 2015 - Reliable Recon in Adversarial Peer-to-Peer Botnets.pdf:/home/me/Zotero/storage/YJZMYTCB/Andriesse et al. - 2015 - Reliable Recon in Adversarial Peer-to-Peer Botnets.pdf:application/pdf} -} - -@inproceedings{bib:karuppayah_sensorbuster_2017, - title = {{{SensorBuster}}: {{On Identifying Sensor Nodes}} in {{P2P Botnets}}}, - shorttitle = {{{SensorBuster}}}, - booktitle = {Proceedings of the 12th {{International Conference}} on {{Availability}}, {{Reliability}} and {{Security}}}, - author = {Karuppayah, Shankar and Böck, Leon and Grube, Tim and Manickam, Selvakumar and Mühlhäuser, Max and Fischer, Mathias}, - date = {2017-08-29}, - pages = {1--6}, - publisher = {{Association for Computing Machinery}}, - location = {{New York, NY, USA}}, - doi = {10.1145/3098954.3098991}, - url = {https://doi.org/10.1145/3098954.3098991}, - urldate = {2021-03-23}, - abstract = {The ever-growing number of cyber attacks originating from botnets has made them one of the biggest threat to the Internet ecosystem. Especially P2P-based botnets like ZeroAccess and Sality require special attention as they have been proven to be very resilient against takedown attempts. To identify weaknesses and to prepare takedowns more carefully it is thus a necessity to monitor them by crawling and deploying sensor nodes. This in turn provokes botmasters to come up with monitoring countermeasures to protect their assets. Most existing anti-monitoring countermeasures focus mainly on the detection of crawlers and not on the detection of sensors deployed in a botnet. In this paper, we propose two sensor detection mechanisms called SensorRanker and SensorBuster. We evaluate these mechanisms in two real world botnets, Sality and ZeroAccess. Our results indicate that SensorRanker and SensorBuster are able to detect up to 17 sensors deployed in Sality and four within ZeroAccess.}, - file = {/home/me/Zotero/storage/ZDUFTXYY/Karuppayah et al. - 2017 - SensorBuster On Identifying Sensor Nodes in P2P B.pdf}, - isbn = {978-1-4503-5257-4}, - keywords = {Anti-monitoring,Countermeasure,Detection,P2P Botnet,Sensor}, - series = {{{ARES}} '17} -} - -@report{bib:page_pagerank_1998, - title = {{The PageRank Citation Ranking: Bringing Order to the Web}}, - shorttitle = {{The PageRank Citation Ranking}}, - author = {Page, Lawrence and Brin, Sergey and Motwani, Rajeev and Winograd, Terry}, - date = {1998-01-29}, - url = {http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf}, - urldate = {2021-11-30}, - abstract = {The importance of a Web page is an inherently subjective matter, which depends on the readers interests, knowledge and attitudes. But there is still much that can be said objectively about the relative importance of Web pages. This paper describ es PageRank, a method for rating Web pages objectively and mechanically, effectively measuring the human interest and attention devoted to them. We compare PageRank to an idealized random Web surfer. We show how to efficiently compute PageRank for large numbers of pages. And, we show how to apply PageRank to search and to user navigation.} -} - -@inproceedings{bib:andriesse_goz_2013, - title = {Highly Resilient Peer-to-Peer Botnets Are Here: {{An}} Analysis of {{Gameover Zeus}}}, - shorttitle = {Highly Resilient Peer-to-Peer Botnets Are Here}, - booktitle = {2013 8th {{International Conference}} on {{Malicious}} and {{Unwanted Software}}: "{{The Americas}}" ({{MALWARE}})}, - author = {Andriesse, Dennis and Rossow, Christian and Stone-Gross, Brett and Plohmann, Daniel and Bos, Herbert}, - date = {2013-10}, - pages = {116--123}, - publisher = {{IEEE}}, - location = {{Fajardo, PR, USA}}, - doi = {10.1109/MALWARE.2013.6703693}, - url = {https://ieeexplore.ieee.org/document/6703693/}, - urldate = {2022-02-27}, - eventtitle = {2013 8th {{International Conference}} on {{Malicious}} and {{Unwanted Software}}: "{{The Americas}}" ({{MALWARE}})}, - isbn = {978-1-4799-2534-6 978-1-4799-2535-3}, - file = {/home/me/Zotero/storage/R3AAQR9Q/Andriesse et al. - 2013 - Highly resilient peer-to-peer botnets are here An.pdf} -} - -@inproceedings{bib:stutzbach_churn_2006, - title = {Understanding Churn in Peer-to-Peer Networks}, - booktitle = {Proceedings of the 6th {{ACM SIGCOMM}} on {{Internet}} Measurement - {{IMC}} '06}, - author = {Stutzbach, Daniel and Rejaie, Reza}, - date = {2006}, - pages = {189}, - publisher = {{ACM Press}}, - location = {{Rio de Janeriro, Brazil}}, - doi = {10.1145/1177080.1177105}, - url = {http://portal.acm.org/citation.cfm?doid=1177080.1177105}, - urldate = {2022-03-08}, - eventtitle = {The 6th {{ACM SIGCOMM}}}, - isbn = {978-1-59593-561-8}, - langid = {english} -} - -@inproceedings{bib:rossow_sok_2013, - location = {Berkeley, {CA}, {USA}}, - title = {{SoK}: P2PWNED - Modeling and Evaluating the Resilience of Peer-to-Peer Botnets}, - isbn = {978-1-4673-6166-8 978-0-7695-4977-4}, - url = {https://ieeexplore.ieee.org/document/6547104/}, - doi = {10.1109/SP.2013.17}, - shorttitle = {{SoK}}, - eventtitle = {2013 {IEEE} Symposium on Security and Privacy ({SP}) Conference dates subject to change}, - pages = {97--111}, - booktitle = {2013 {IEEE} Symposium on Security and Privacy}, - publisher = {{IEEE}}, - author = {Rossow, Christian and Andriesse, Dennis and Werner, Tillmann and Stone-Gross, Brett and Plohmann, Daniel and Dietrich, Christian J. and Bos, Herbert}, - urldate = {2022-03-15}, - date = {2013-05}, - file = {Submitted Version:/home/me/Zotero/storage/7T8RDXXF/Rossow et al. - 2013 - SoK P2PWNED - Modeling and Evaluating the Resilie.pdf:application/pdf} -} - -@inproceedings{bib:antonakakis_dga_2012, - author = {Manos Antonakakis and Roberto Perdisci and Yacin Nadji and Nikolaos Vasiloglou and Saeed Abu-Nimeh and Wenke Lee and David Dagon}, - title = {From {Throw-Away} Traffic to Bots: Detecting the Rise of {DGA-Based} Malware}, - booktitle = {21st USENIX Security Symposium (USENIX Security 12)}, - year = {2012}, - isbn = {978-931971-95-9}, - address = {Bellevue, WA}, - pages = {491--506}, - url = {https://www.usenix.org/conference/usenixsecurity12/technical-sessions/presentation/antonakakis}, - publisher = {USENIX Association}, - month = aug, -} - -@inproceedings{bib:pantic_covert_2015, - location = {Los Angeles, {CA}, {USA}}, - title = {Covert Botnet Command and Control Using Twitter}, - isbn = {978-1-4503-3682-6}, - url = {http://dl.acm.org/citation.cfm?doid=2818000.2818047}, - doi = {10.1145/2818000.2818047}, - eventtitle = {the 31st Annual Computer Security Applications Conference}, - pages = {171--180}, - booktitle = {Proceedings of the 31st Annual Computer Security Applications Conference on - {ACSAC} 2015}, - publisher = {{ACM} Press}, - author = {Pantic, Nick and Husain, Mohammad I.}, - urldate = {2022-03-15}, - date = {2015}, - langid = {english} -} - -@inproceedings{bib:nazario_as_2008, - location = {Fairfax, {VI}}, - title = {As the net churns: Fast-flux botnet observations}, - isbn = {978-1-4244-3288-2}, - url = {https://ieeexplore.ieee.org/document/4690854/}, - doi = {10.1109/MALWARE.2008.4690854}, - shorttitle = {As the net churns}, - eventtitle = {2008 3rd International Conference on Malicious and Unwanted Software ({MALWARE})}, - pages = {24--31}, - booktitle = {2008 3rd International Conference on Malicious and Unwanted Software ({MALWARE})}, - publisher = {{IEEE}}, - author = {Nazario, Jose and Holz, Thorsten}, - urldate = {2022-03-15}, - date = {2008-10} -} - -@inproceedings{bib:nadji_beheading_2013, - location = {Berlin, Germany}, - title = {Beheading hydras: performing effective botnet takedowns}, - isbn = {978-1-4503-2477-9}, - url = {http://dl.acm.org/citation.cfm?doid=2508859.2516749}, - doi = {10.1145/2508859.2516749}, - shorttitle = {Beheading hydras}, - eventtitle = {the 2013 {ACM} {SIGSAC} conference}, - pages = {121--132}, - booktitle = {Proceedings of the 2013 {ACM} {SIGSAC} conference on Computer \& communications security - {CCS} '13}, - publisher = {{ACM} Press}, - author = {Nadji, Yacin and Antonakakis, Manos and Perdisci, Roberto and Dagon, David and Lee, Wenke}, - urldate = {2022-03-15}, - date = {2013}, - langid = {english} -} - -@article{bib:nadji_still_2017, - title = {Still Beheading Hydras: Botnet Takedowns Then and Now}, - volume = {14}, - issn = {1545-5971}, - url = {http://ieeexplore.ieee.org/document/7312442/}, - doi = {10.1109/TDSC.2015.2496176}, - shorttitle = {Still Beheading Hydras}, - pages = {535--549}, - number = {5}, - journaltitle = {{IEEE} Transactions on Dependable and Secure Computing}, - shortjournal = {{IEEE} Trans. Dependable and Secure Comput.}, - author = {Nadji, Yacin and Perdisci, Roberto and Antonakakis, Manos}, - urldate = {2022-03-17}, - date = {2017-09-01} -} - -@report{bib:falliere_sality_2011, - title = {{Sality: Story of a Peer-to-Peer Viral Network}}, - author = {{Falliere, Nicolas}}, - date = {2011-07}, - organization = {Symantec}, - url = {https://papers.vx-underground.org/archive/Symantec/sality-story-of-peer-to-peer-11-en.pdf}, - urldate = {2022-03-16}, - archiveurl = {https://web.archive.org/web/20161223003320/http://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/sality_peer_to_peer_viral_network.pdf}, - archivedate = {2016-12-23}, -} - -@inproceedings{bib:dittrich_takeover_2012, - doi = {10.5555/2228340.2228349}, - author = {Dittrich, David}, - title = {So You Want to Take over a Botnet}, - year = {2012}, - publisher = {USENIX Association}, - address = {USA}, - abstract = {Computer criminals regularly construct large distributed attack networks comprised of many thousands of compromised computers around the globe. Once constituted, these attack networks are used to perform computer crimes, creating yet other sets of victims of secondary computer crimes, such as denial of service attacks, spam delivery, theft of personal and financial information for performing fraud, exfiltration of proprietary information for competitive advantage (industrial espionage), etc.The arms race between criminal actors who create and operate botnets and the computer security industry and research community who are actively trying to take these botnets down is escalating in aggressiveness. As the sophistication level of botnet engineering and operations increases, so does the demand on reverse engineering, understanding weaknesses in design that can be exploited on the defensive (or counter-offensive) side, and the possibility that actions to take down or eradicate the botnet may cause unintended consequences.}, - booktitle = {Proceedings of the 5th USENIX Conference on Large-Scale Exploits and Emergent Threats}, - pages = {6}, - numpages = {1}, - location = {San Jose, CA}, - series = {LEET'12} -} - -@article{bib:wangCollisions, - title={Collisions for hash functions MD4, MD5, HAVAL-128 and RIPEMD}, - author={Wang, Xiaoyun and Feng, Dengguo and Lai, Xuejia and Yu, Hongbo}, - journal={Cryptology EPrint Archive}, - year={2004} -} - -@article{bib:stevensCollision, - author = {Marc Stevens}, - title = {Fast Collision Attack on MD5}, - howpublished = {Cryptology ePrint Archive, Report 2006/104}, - year = {2006}, - note = {\url{https://ia.cr/2006/104}}, -} - -@incollection{bib:baileyNextGen, - location = {Cham}, - title = {Next Generation P2P Botnets: Monitoring Under Adverse Conditions}, - volume = {11050}, - isbn = {978-3-030-00469-9 978-3-030-00470-5}, - url = {http://link.springer.com/10.1007/978-3-030-00470-5\_24}, - shorttitle = {Next Generation P2P Botnets}, - pages = {511--531}, - booktitle = {Research in Attacks, Intrusions, and Defenses}, - publisher = {Springer International Publishing}, - author = {Böck, Leon and Vasilomanolakis, Emmanouil and Mühlhäuser, Max and Karuppayah, Shankar}, - editor = {Bailey, Michael and Holz, Thorsten and Stamatogiannakis, Manolis and Ioannidis, Sotiris}, - urldate = {2022-04-08}, - date = {2018}, - doi = {10.1007/978-3-030-00470-5_24}, - note = {Series Title: Lecture Notes in Computer Science}, - file = {Full Text:/home/me/Zotero/storage/UGX3MEA7/Böck et al. - 2018 - Next Generation P2P Botnets Monitoring Under Adve.pdf:application/pdf} -} - -@incollection{bib:carnaNetworkTelescope2014, - location = {Cham}, - title = {The Carna Botnet Through the Lens of a Network Telescope}, - volume = {8352}, - isbn = {978-3-319-05301-1 978-3-319-05302-8}, - url = {http://link.springer.com/10.1007/978-3-319-05302-8\_26}, - pages = {426--441}, - booktitle = {Foundations and Practice of Security}, - publisher = {Springer International Publishing}, - author = {Le Malécot, Erwan and Inoue, Daisuke}, - editor = {Danger, Jean Luc and Debbabi, Mourad and Marion, Jean-Yves and Garcia-Alfaro, Joaquin and Zincir Heywood, Nur}, - urldate = {2022-04-16}, - date = {2014}, - doi = {10.1007/978-3-319-05302-8_26}, - note = {Series Title: Lecture Notes in Computer Science} -} - -@incollection{bib:kademlia2002, - location = {Berlin, Heidelberg}, - title = {Kademlia: A Peer-to-Peer Information System Based on the {XOR} Metric}, - volume = {2429}, - isbn = {978-3-540-44179-3 978-3-540-45748-0}, - url = {http://link.springer.com/10.1007/3-540-45748-8_5}, - shorttitle = {Kademlia}, - pages = {53--65}, - booktitle = {Peer-to-Peer Systems}, - publisher = {Springer Berlin Heidelberg}, - author = {Maymounkov, Petar and Mazières, David}, - editor = {Druschel, Peter and Kaashoek, Frans and Rowstron, Antony}, - editorb = {Goos, Gerhard and Hartmanis, Juris and van Leeuwen, Jan}, - editorbtype = {redactor}, - urldate = {2022-04-16}, - date = {2002}, - doi = {10.1007/3-540-45748-8_5}, - note = {Series Title: Lecture Notes in Computer Science} -} - -@article{greengard_war_2012, - title = {The war against botnets}, - volume = {55}, - issn = {0001-0782, 1557-7317}, - url = {https://dl.acm.org/doi/10.1145/2076450.2076456}, - doi = {10.1145/2076450.2076456}, - abstract = {Increasingly sophisticated botnets have emerged during the last several years. However, security researchers, businesses, and governments are attacking botnets from a number of different angles---and sometimes winning.}, - pages = {16--18}, - number = {2}, - journaltitle = {Communications of the {ACM}}, - shortjournal = {Commun. {ACM}}, - author = {Greengard, Samuel}, - urldate = {2022-04-18}, - date = {2012-02}, - langid = {english} -} - /* vim: set filetype=bib ts=2 sw=2 tw=0 et :*/ diff --git a/presentation.pdf b/presentation.pdf index b2bc3f655fa3a4a7b58eec78f115bf6a636eaa5d..a13494af6f0f35862221b3005b31f9cee97c9508 100644 GIT binary patch delta 63842 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 delta 45919 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 Dyepbv diff --git a/presentation.tex b/presentation.tex index d0a9b33..9b27f6a 100644 --- a/presentation.tex +++ b/presentation.tex @@ -30,7 +30,8 @@ % acronyms \usepackage{acro} -\acsetup{single,make-links=true} +% \acsetup{single,make-links=true} +\acsetup{make-links=true} \input{acronyms} % custom commands @@ -112,22 +113,50 @@ \section{Stack Layout, Execution Flow} \begin{frame} -% \frametitle{Stack Layout, Execution Flow} +\frametitle{Stack Layout} +\end{frame} + +\begin{frame} +\frametitle{Execution Flow} \end{frame} \section{Exkurs: Shellcode} \begin{frame} + \begin{itemize} + \item Shellcode ist der Maschinencode, der nach Übernahme des Ausführungsablauf ausgeführt werden soll + \item Buffer kann klein sein \(\Rightarrow\) Shellcode häufig auf Größe optimiert + \item Häufig Strings als Eingabe + \item In C terminiert mit \mintinline{c}{\0} \(\Rightarrow\) Payload darf kein \mintinline{c}{0x00} enthalten, da alles danach abgeschnitten wird + \item \(\Rightarrow\) Selbst schreiben ist möglich, aber aufwändig und setzt Kenntnisse in Assembly und der anzugreifenden Architektur/OS/... voraus + \item Verfügbare, öffentliche Sammlungen verwenden: + \begin{itemize} + \item \url{https://shell-storm.org/shellcode/} + \item \url{https://www.exploit-db.com/shellcodes} + \end{itemize} + \end{itemize} % \frametitle{Exkurs: Shellcode} \end{frame} \section{Exploitation} \begin{frame} -% \frametitle{Exploitation} +\frametitle{Ablauf} +\begin{itemize} + \item Shellcode im Speicher plazieren + \item Buffer überschreiben + \item \emph{IP} überschreiben + \item \emph{IP} auf Shellcode zeigen lassen +\end{itemize} \end{frame} \section{Aktuelle Situation} \begin{frame} -% \frametitle{Aktuelle Situation} +\frametitle{Migrationen} + \begin{itemize} + \item \Ac{aslr} + \item \emph{w\^{}x} Memory + \item Runtime Bounds Checks + \item Typesystem basierte Lösungen~\cite{Dep2007} + \end{itemize} \end{frame} @@ -142,3 +171,4 @@ \end{frame} \end{document} +% vim: set filetype=tex ts=2 sw=2 tw=0 et spell :