From 1ef4feb1467b07ce52d58f56432f0fc6c8cdf48c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Fri, 30 Nov 2018 19:35:49 +0100 Subject: [PATCH] Continue writig thesis with focus on arctitecture --- bibliography.bib | 37 ++++++++- content/architecture.tex | 157 +++++++++++++++++++++++++++++++++++ content/introduction.tex | 84 +++++++++++++++---- figures/avatao_challenge.png | Bin 0 -> 81347 bytes figures/tfw_architecture.png | Bin 0 -> 46604 bytes latexplate.sty | 5 +- thesis.tex | 2 + 7 files changed, 266 insertions(+), 19 deletions(-) create mode 100644 content/architecture.tex create mode 100644 figures/avatao_challenge.png create mode 100644 figures/tfw_architecture.png diff --git a/bibliography.bib b/bibliography.bib index 51feecd..de5daee 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -80,7 +80,42 @@ title={Education as a key factor in the process of building cybersecurity}, url={https://2017.cybersecforum.eu/files/2016/12/ecj_vol2_issue1_i.albrycht_education_as_a_key_in_the_process_of_building_cybersecurity.pdf}, language={english}, - author={IZABELA ALBRYCHT}, + author={Izabela Albrycht}, year={2016}, } +@online{EBayGit, + title={Pwning eBay - How I Dumped eBay Japan's Website Source Code}, + url={https://slashcrypto.org/2018/11/28/eBay-source-code-leak/}, + language={english}, + author={David Wind}, + year={2018}, + month=nov, +} + +@online{CloudFlareLeak, + title={Incident report on memory leak caused by Cloudflare parser bug}, + url={https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cloudflare-parser-bug/}, + language={english}, + author={John Graham-Cumming}, + year={2017}, + month=feb, +} + +@online{NoPerfectSecurity, + title={The Illusion Of Perfect Cybersecurity}, + url={https://www.forbes.com/sites/forbestechcouncil/2018/03/27/the-illusion-of-perfect-cybersecurity/}, + language={english}, + author={George Finney}, + year={2018}, + month=mar, +} + +@online{JavaScript, + title={JavaScript is a Dysfunctional Programming Language}, + url={https://medium.com/javascript-non-grata/javascript-is-a-dysfunctional-programming-language-a1f4866e186f}, + language={english}, + author={Richard Kenneth Eng}, + year={2016}, + month=mar, +} diff --git a/content/architecture.tex b/content/architecture.tex new file mode 100644 index 0000000..dbd7bf9 --- /dev/null +++ b/content/architecture.tex @@ -0,0 +1,157 @@ +\chapter{Framework Architecture} +\section{Core Technology} + +It is important to understand that the Tutorial Framework is currently implemented as +two Docker images: +\begin{itemize} + \item the \texttt{solvable} image is responsible for running the framework and the client + code depending on it + \item the \texttt{controller} image is responsible for solution checking (to figure out + whether the user completed the tutorial or not) +\end{itemize} +During most of this capter I am going to be discussing the \texttt{solvable} Docker image, +with the exception of section \ref{solutioncheck}, where I will dive into how the +\texttt{controller} image is implemented. + +The most important feature of the framework is it's messaging system. +Basically what we need is a system where processes running inside a Docker container +would be allowed to communicate with eachother. +This is easy with lots of possible solutions (named pipes, sockets or shared memory to name a few). +The hard part is that frontend components running inside a web browser -- which could be +potentially on the other side of the planet -- would also need to partake in said communication. +So what we need to create is something of a hybrid between an IPC system and something +that can communicate with JavaScript running in a browser connected to it. +The solution the framework uses is a proxy server, which connects to frontend components +on one side and handles interprocess communication on the other side. +This way the server is capable of proxying messages between the two sides, enabling +communitaion between them. +Notice that this way what we have is essentially an IPC system in which a web application +can ``act like'' it was running on the backend in a sense: it is easily able to +communicate with processes on the backend, while in reality the web application +runs in the browser of the user, on a completely different machine. + +\begin{note} +The core idea and initial implementation of this server comes from Bálint Bokros, +which was later redesigned and fully rewritten by me to allow for greater flexibility +(such as connecting to more than a single browser at a time, different messaging modes, +message authentication, restoration of frontend state, a complete overhaul of the +state tracking system and the possibility for solution checking among other things). +If you are explicitly interested in the differences between the original POC implementation +(which is out of scope for this thesis due to lenght constraints) and the current +framework please consult Bálint's excellent paper and Bachelor's Thesis on it\cite{BokaThesis}. +\end{note} + +Now let us take a closer look: + +\subsection{Connecting to the Frontend} + +The old way of creating dynamic webpages was AJAX polling, which is basically sending +HTTP requests to a server at regular intervals from JavaScript to update the contents +of your website (and as such requiring to go over the whole TCP handshake and the +HTTP request-response on each update). +This has been superseded by WebSockets around 2011, which provide a full-duplex +communication channel over TCP between your browser and the server. +This is done by initiation a protocol handshake using the \texttt{Connection: Upgrade} +HTTP header, which establishes a premanent socket connection between the browser +and the server. +This allows for communication with lower overhead and latency facilitating efficient +real-time applications. + +The Tutorial Framework uses WebSockets to connect to it's web frontend. +The framework proxy server is capable to connecting to an arbirary number of websockets, +which allows opening different components in separate browser windows and tabs, or even +in different browsers at once (such as opening a terminal in Chrome and an IDE in Firefox). + +\subsection{Interprocess Communication} + +To handle communication with processes running inside the container TFW utilizes +the asynchronous distributed messaging library ZeroMQ% +\footnote{\href{http://zeromq.org}{http://zeromq.org}} or ZMQ as short. +The rationale behind this is that unlike other messaging systems such as +RabbitMQ% +\footnote{\href{https://www.rabbitmq.com}{https://www.rabbitmq.com}} or Redis% +\footnote{\href{https://redis.io}{https://redis.io}}, +ZMQ does not require a daemon (message broker process) and as such +has a much lower memory footprint while still providing various messaging +patterns and bindings for almost any widely used programming language. +An other -- yet untilized -- capability of this solution is that since ZMQ is capable +of using simple TCP sockets, we could even communicate with processes running on remote +hosts using the framework. + +There are various lower level and higher level alternatives for IPC other than +ZMQ which were also considered during the desing process of the framework at some point. +A few examples of top contenders and reasons for not using them in the end: +\begin{itemize} + \item The handling of raw TCP sockets would involve lot's of boilerplate logic that + already have quality implementations in messaging libraries: i.e. making sure that + all bytes are sent or received both require checking the return values of the + libc \texttt{send()} and \texttt{recv()} system calls, while ZMQ takes care of this + extra logic involved and even provides higher level messaging patterns such as + subscribe-publish, which would need to be implemented on top of raw sockets again. + \item Using something like gRPC% + \footnote{\href{https://grpc.io}{https://grpc.io}} or plain HTTP (both of which + are considered to be higher level than ZMQ sockets) would require + all processes partaking in the communication to be HTTP servers themselves, + which would make the framework + less lightweight and flexible: socket communication with or without ZMQ does not + force you to write synchronous or asynchronous code, whereas common HTTP servers + are either async or pre-fork in nature, which extort certain design choices on code + built on them. +\end{itemize} + +\section{High Level Overview} + +Now being familiar with the technological basis of the framework we can now +discuss it in more detail. + +\pic{figures/tfw_architecture.png}{An overwiew of the Tutorial Framework} + +Architecturally TFW consists of four main components: +\begin{itemize} + \item \textbf{Event handlers}: processes running in a Docker container + \item \textbf{Frontend}: web application running in the browser of the user + \item \textbf{TFW (proxy) server}: responsible for message routing/proxying + between the frontend and event handlers + \item \textbf{TFW FSM}: a finite state machine responsible for tracking user progress, + that is implemented as an event handler called \texttt{FSMManagingEventHandler} +\end{itemize} +Note that it is important to keep in mind that as I've mentioned previously, +the TFW Server and event handlers reside in the \texttt{solvable} Docker container. +They all run in separate processes and only communicate using ZeroMQ sockets. + +In the following sections I am going to explain each of the main components in +greater detail, as well as how they interact with each other, +their respective responsibilities, +some of the design choices behind them and more. + +\subsection{Frontend} + +This is a web application that runs in the browser of the user and uses +multiple WebSocket connections to connect to the TFW server. +Due to rapidly increasing complexity the original implementation (written in +plain JavaScript with jQuery% +\footnote{\href{https://jquery.com}{https://jquery.com}} and Bootstrap% +\footnote{\href{https://getbootstrap.com}{https://getbootstrap.com}}) was becoming +unmaintainable and the usage of some frontend framework became justified. + +Several choices were considered, with the main contenders being: +\begin{itemize} + \item Angular\footnote{\href{https://angular.io}{https://angular.io}} + \item React\footnote{\href{https://reactjs.org}{https://reactjs.org}} + \item Vue.js\footnote{\href{https://vuejs.org}{https://vuejs.org}} +\end{itemize} +After comparing the above frameworks we've decided to work with Angular for +several reasons. +One being that Angular is essentially a complete platform that is very well +suitable for building complex architecture into a single page application. +Other reasons included that the frontend of the Avatao platform is also written +in Angular (bonus points for experienced team members in the company). +An other good thing going for it is that Angular forces you to use TypeScript% +\footnote{\href{https://www.typescriptlang.org}{https://www.typescriptlang.org}} +which tries to remedy the issues\cite{JavaScript} +with JavaScript by being a language that transpiles to JavaScript while +strongly encouraging things like static typing or Object Oriented Principles. + +\subsection{Messaging} +\subsection{TFW Finite State Machine} +\subsection{Solution Checking}\label{solutioncheck} diff --git a/content/introduction.tex b/content/introduction.tex index 1c1e1b3..4140413 100644 --- a/content/introduction.tex +++ b/content/introduction.tex @@ -21,9 +21,16 @@ a new age of digital wild west, which could involve us running around in vulnera driving cars\cite{SelfDriving} with power over life and death, while exposing all our sensitive data through our ill-protected smart phones\cite{Android} and IoT devices\cite{IoTDDoS}. What a time to be alive. -Unless we want to disconnect all our devices from all networks and ban USB sticks, the best -lines of defense are going to be people -- a new generation of \emph{security conscious} -users and developers. +It is important to express that IT security is something that is \emph{really hard} to +get right. +Even if right often only means better then your neighbour, as perfect security is an utopia +that doesn't seem to exist\cite{NoPerfectSecurity}. +Often when large and reputable companies in the industry such as +CloudFlare\cite{CloudFlareLeak} or eBay\cite{EBayGit} can fail to get it right at times +is when people start to grasp how difficult it actually is. +This is why unless we want to disconnect all our devices from all networks and ban USB +sticks, the best lines of defense are going to be people -- a new generation +of \emph{security conscious} users and developers. Among many other things outside IT, this is only possible with education\cite{ITSecEdu}. We need to come up with engaging, addictive and fun ways to learn (and teach), so that @@ -35,10 +42,10 @@ The only thing we can hope and work for is to become better and better as time and generations pass. We \emph{must} do better, and education is the way forward. -The short term goal of this project -- and thesis -- is to provide a new angle -in the education of software engineering, especially secure software engineering -based on the aspirations above, with the long term goal of bringing something new -to the table in the matter of IT education as a whole +The short term goal of this project -- and the goal of this thesis -- is to provide +a new angle in the education of software engineering, especially secure software +engineering based on the aspirations above, with the long term goal of bringing +something new to the table in the matter of IT education as a whole (not just developers, but users as well). \section{A Short Introduction to Avatao} @@ -46,7 +53,7 @@ to the table in the matter of IT education as a whole The goal of Avatao as a company is to help software developers in building a \emph{culture} of security amongst themselves, with the vision that if the world is going to be taken over by software no matter what, that software might as well be \emph{secure software}. -To achieve this goal we have been working on an online e-learning platform with hundreds\ +To achieve this goal we have been working on an online e-learning platform with hundreds% \footnote{654 exercises as of today, to be exact} of hands-on learning exercises to help students and professionals master IT security, collaborating with @@ -69,6 +76,8 @@ added authenticity and relevance \cite{AkosFacebook}. Our challenges usually involve some sort of website acting as frontend for the vulnerable application, or require the user to connect using SSH. +\pic{figures/avatao_challenge.png}{An offensive challenge on the Avatao platform} + The Avatao platform relies heavily on Docker containers to spawn challenges, which makes it extremely flexible in terms of what is possible to do when creating content. @@ -87,7 +96,7 @@ things like exercises involving the use of Docker or Windows based challenges. \section{Emergence} While working as a content creator I have stumbled into the idea of automating the completion -of challenges for QA\footnote{Quality Assurrance} and demo purposes\ +of challenges for QA\footnote{Quality Assurrance} and demo purposes% \footnote{I used to record short videos or GIFs to showcase my content to management}. In a certain scenario I was required to integrate a web based terminal emulator in a frontend application to improve user experience by making it possible to use a shell @@ -96,18 +105,19 @@ After I got this working I was looking into writing hacky bash scripts to automa required to complete the challenge in order to make it easier for me to record the solution, as I have often found myself recording over and over again for a demo without any mistakes. During the time I was playing around with this idea, researching possible solutions have led me -to a hidden gem of a project on GitHub called \texttt{demo-magic}\ +to a hidden gem of a project on GitHub called \texttt{demo-magic}% \footnote{\href{https://github.com/paxtonhare/demo-magic}{https://github.com/paxtonhare/demo-magic}}, which is esentially a bash script that simulates someone typing into a terminal and executing commands. -I have created a fork\ -\footnote{The source code is available at -\href{https://git.strongds.hu/mrtoth/demo.sh/src/master/demo.sh}{https://git.strongds.hu/mrtoth/demo.sh/src/master/demo.sh}} +I have created a fork% +\footnote{ +\href{https://git.strongds.hu/mrtoth/demo.sh/src/master/demo.sh} +{https://git.strongds.hu/mrtoth/demo.sh/src/master/demo.sh}} of the project and integrated it into my challenge. Soon after recording demo videos was not even necessary anymore, as I have started to distribute the solution script with the challenge code itself, making it toggleable using build-time variables. -Should the solution script be enabled, the challenge would automatically start\ +Should the solution script be enabled, the challenge would automatically start% \footnote{I did this by injecting the solution script into the user's \texttt{.bashrc} file} completing itself in the terminal integrated into it's frontend, often even explaining the commands executed during the solution process. @@ -123,7 +133,7 @@ but what I did not know was that I have accidentally did something far more than a hacky bash script solving challenges, as this little script would help formulate the idea of the project \emph{Tutorial Framework} or just \emph{TFW}. -\section{Introducing the Tutorial Framework} +\section{Vision of the Tutorial Framework} The whole ''challenges that solve themselves'' thing seemed like an idea that has great potential if developed further. @@ -141,7 +151,7 @@ your newfound skills in action immediately. For example a chatbot would show you how to encrypt a file using GnuGP, then it would ask you to encrypt an other file similarly. -After this the bot could show you how to a configure a database server and then +After this the bot could teach you how to a configure a database server and then ask you to write a configuration file yourself and then encrypt it because it might contain sensitive data such as open ports, usernames and such. @@ -157,6 +167,28 @@ a web based frontend with a file editor, terminal, chat window and stuff like th Turns out that today all this can be done by writing a few hundred lines of Python code which uses the Tutorial Framework. +\subsection{Project Requirements}\label{requirements} + +Based on this it is now more or less possible to define requirements for the project. +The reason for the ``more or less'' part is that all of this is pretty much bleeding edge, +where the requirements could shift dynamically with time. +For this reason I am going to be as general as possible, to the point that some of +this might even sound vauge. +To achieve our goals we would need: + +\begin{itemize} + \item a way to keep track of user progress + \item a way to to handle various events (i.e. we can react when + the user has edited a file, or has executed a command in the terminal) + \item a highly flexible messaging system, in which processes and + frontend components (running in a web browser) could communicate with eachother + \item a web based frontend with lots of built-in options (terminal, file editor, chat + window, etc.) that use said messaging system + \item stable APIs that can be exposed to content creators to work with (so that + framework updates won't break client code) + \item tooling for development (distributing, building and running) +\end{itemize} + \section{Early Development} Around a year ago a good friend and collage of mine Bálint Bokros, the CTO of our company @@ -174,9 +206,27 @@ Bachelor's Thesis\cite{BokaThesis}. Although not much of the original code base has remained due to intense refactoring and all around changes, the result would serve as a solid foundation for further development, and the architecture is mostly the same to this day. -The resulting code would be the first working POC\ +The resulting code would be the first working POC% \footnote{Proof of Concept} of the framework showcasing the fixing of an SQL Injection attack. +This initial version included the foundations of the framework: +a working messaging system, event handling and state tracking. +These provided a great basis +despite of the fact that the core codebase of the framework was almost +completely rewritten due to an increased focus on code quality, +extensibility and API stability required by new features. + +It is interesting to note, that when I've mentioned that the project requirements +were kept general on purpose (\ref{requirements}) I had good reason to do so. +When taking a look at the requirements of Bálint's Thesis, much of that +is completely obsolete by now. +But since the project has followed Agile Methodology% +\footnote{Manifesto for Agile Software Development: +\href{https://agilemanifesto.org}{https://agilemanifesto.org}} +from the start, we were able to adapt to these changes without losing +the progess he made in said Thesis. Quoting from the Agile Manifesto: +``Responding to change over following a plan''. +This is a really important takeaway. After becoming a full time employee at Avatao I was tasked with developing the project with Bálint, who was later reassigned to work on the GDPR compliance of the platform. diff --git a/figures/avatao_challenge.png b/figures/avatao_challenge.png new file mode 100644 index 0000000000000000000000000000000000000000..e23897a90a6777ce0834e68f4600087f35ba9aed GIT binary patch literal 81347 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 Iis}3Q58Cq%r2qf` literal 0 HcmV?d00001 diff --git a/figures/tfw_architecture.png b/figures/tfw_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..854448fa2979bc7fd197251cda458f257f47956e GIT binary patch literal 46604 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 NrF=uFP{HEq{{Uv;t>FLw literal 0 HcmV?d00001 diff --git a/latexplate.sty b/latexplate.sty index 4a08cfc..63eb75e 100644 --- a/latexplate.sty +++ b/latexplate.sty @@ -10,7 +10,8 @@ sectsty, xcolor, microtype, - tabto + tabto, + amsthm } \RequirePackage[bottom,hang,flushmargin]{footmisc} @@ -18,6 +19,8 @@ \sethlcolor{andigray} \newcommand{\code}[1]{\hl{\mbox{#1}}} +\newtheorem*{note}{Note} + \newcommand{\pic}[3][width=\textwidth] { \begin{figure}[H] diff --git a/thesis.tex b/thesis.tex index 1a037b6..701605c 100644 --- a/thesis.tex +++ b/thesis.tex @@ -41,7 +41,9 @@ \include{content/declaration} \include{content/abstract} \include{content/introduction} +\include{content/architecture} +\listoffigures \lstlistoflistings \renewcommand\bibname{References}