How to Thesis #
Setup #
- Read the formalities Bachelor Inf., Master Inf.
- You have the ok to register?
- Remind me to create a thesis-yourname channel in Mattermost
- Remind me to create a git repository for you in our gitlab
- All code should be there, no public repository
- Optional but helpful: Give me access to your overleaf or repository where you store your thesis.
- If you do not have a second supervisor (Zweitgutachter) yet tell me.
Formals Thesis #
- Use the University template.
- How much to write depens on the topic and writing style. Most write 30+ pages content for a Bachelorthesis and 60+ pages content for a Masterthesis. Content does not include formalities like table of contents, titlepage, bibliography, etc. Believe me, you will have enough to write, even if it feels different at the moment.
- We have a regular meeting every two weeks. This meeting is optional, but cancel the appointment at least one day prior.
- Write every week a 1-2 sentences what you did or what the current problem are in the thesis channel. It is totally okay to write that you did nothing.
- There is an intermediate presentation for the working group after 50% of your time passed.
- Write me if you need help.
Content #
How to start #
- Copy your expose, change the title, delete the schedule
- Start exploring your idea further, by implementing and reading.
- After 1-2 Weeks do the following:
- First day:
- Write down a rough structure (Section Titles)
- Write for each section a small text (rough notes, no polished text)
- Some other day:
- Refine the structure with subsections
- Write for each subsection a small text (rough notes, no polished text)
- On our next meeting:
- We discuss your structure
- First day:
- Write at least 3 sentences every day (Mo-Fr). This will really help you in staying in the writing.
- The most common mistake is to only do the programming and to write the majority of the thesis in the last month. It is okay to start with programming. But when you have implemented something or found an approach that is likely to stay that way, write it down.
Structure #
Rewritten at the end of your thesis. First state what the problem is in a public science way. The automated use of Internet services is an essential building block of the Internet and the web. Many services depend on each other. Examples are the embedding of a weather feed into a web page or a service that provides a price comparison by automatically querying different marketplaces. Many services provide specific interfaces for other services to allow the automation of their usage. However, there are also services without such interfaces that are intended for humans only. Automated use of a service by a program, hereafter called a bot, can affect the satisfaction of human users and can cause financial or social damage. For example, the automated use of social media can be used to spread opinions and false information, which can even influence elections \cite{bessi2016social}. If needed, set your focus Automation of a service can be done in different ways \cite{amin2020web}. The most efficient approach is to automate API of the service. Using the API directly only requires a script. By simply executing the script multiple times, it is possible to create a large number of bots, e.g., to influence voting opinions on social media through nationwide spamming \cite{bessi2016social}. Explain the problem with current solutions. In many cases, CAPTCHAs are the first and last defence against bots. However, they introduce user friction and are losing effectiveness as machine learning advances \cite{captchaBreaking,captchaStudy}. Other approaches use anti-reverse engineering techniques to oppose Man-At-The-End (MATE) attackers \cite{mate}, that have access to a client application on a controlled device. Those approaches aim at making the extraction and use of the application protocol more difficult, e.g., embedding (unique) API keys in the client application or using obfuscation and anti-reverse engineering techniques \cite{roundy2013binary,antiDebug}. Most of these techniques only make it difficult to create the first bot. Once a bot is created, it can be scaled again. But this is what makes API bots so threatening: the ability to quickly and inexpensively spawn large numbers of bots. Because this approach can be really harmful, this paper focuses on how such automation can be restricted. State your contribution (rewrite this at the end) The main contribution of this paper is an approach to combat the cost-efficient duplication of bots, which can be applied with low performance and organizational overhead. In more detail, we make the following contributions: Note that polymorphic protocols are an obfuscation technique to make the scaling of bots more difficult and not to prevent the creation of bots. The approach gains from being used along-side existing anti-reverse engineering mechanisms that impede code extraction (slicing), e.g., anti symbolic execution, virtualization, or just in time compilation \cite{antiSymbolicExecution,tigress}. Legitimate bots and interoperability across different services is still possible, e.g., by providing special API keys after thorough verification. Explain the structure of your thesis The rest of the thesis is structured as follows. Section \ref{sec:rel-work} discusses other approaches that make it harder to create bots. Section \ref{sec:system} explains how polymorphic protocols can be created and applied. Section \ref{sec:eval} describes the implementation, evaluates and discusses the results.
Finally, Section \ref{sec:conclusion} concludes the thesis.Abstract
Introduction
Background
Requirements & Related Work
Method
Implementation
Evaluation
Try to Think about this chapter before you implement everythingLimitations
Conclusion
Grammar, spelling and style #
- Use software like Grammarly to correct your spelling.
- Use passive tone. You should not write “we implemented …” or “I implemented …”.
- In general write in present tense.
The evaluation showed that the soruce IP…“The evaluation shows that the soruce IP …”.