summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2022-11-23 12:14:18 +0100
committerSanto Cariotti <santo@dcariotti.me>2022-11-23 12:14:18 +0100
commit95fee2a4947b7ecbfc3f934d43912a569d517fd9 (patch)
treebb93bc74e6aa81fb848f81448adf6b0f8fa974d7
parentbd19a23e37e2598636ddb7cf19736773ade248ea (diff)
Conslusion chapter
-rw-r--r--docs/chapters/conclusion.tex23
-rw-r--r--docs/conf.tex3
-rw-r--r--docs/m6.tex5
-rw-r--r--docs/refs.bib13
4 files changed, 42 insertions, 2 deletions
diff --git a/docs/chapters/conclusion.tex b/docs/chapters/conclusion.tex
new file mode 100644
index 0000000..7dda5d9
--- /dev/null
+++ b/docs/chapters/conclusion.tex
@@ -0,0 +1,23 @@
+In conclusione si può dire che questo attacco è riuscito perché ci siamo trovati sotto alcuni prerequisiti:
+\begin{enumerate}
+ \item Abbiamo l'APK dell'applicazione per cui abbiamo potuto fare profiling direttamente da Android Studiio.
+ \item Il server non è su HTTPS.
+ \item L'API non prevede un JWK con sistemi di sicurezza come il JTI \cite{JTI}.
+ \item Non si controlla l'autenticazione, anzi, JWT viene usato simil-modo per far entrambi.
+ \item Il secret molto semplice.
+\end{enumerate}
+
+Anche se si ignorasse il punto 1, questa analisi si potrebbe replicare sul browser. Anzi, in modo molto più semplice, si potrebbe vedere la successione di richieste al backend con annesse risposte. Ignorando quindi il punto 1, anche il punto 2 sarebbe facilmente aggirabile, dato che abbiamo proprio la richiesta con l'URL.
+
+Per la questione dei 3 e 4 si risolve semplicemente tenendo aggiornato il sistema oppure non inserendo dei dati come l'user\_id dentro il payload.
+
+L'ultimo punto si risolve usando un secret più robusto e non presente dentro un dizionario.
+
+In un articolo di Okta \cite{OKTA:1} si discute sul come usare JWT per fare autenticazione e il perché è utile usare i token di autorizzazione e usarli sempre insieme.
+
+Prendendo uno snippet dall'articolo "Authentication vs. Authorization"\cite{OKTA:2}:
+\begin{displayquote}
+In secure environments, authorization must always follow authentication. Users should first prove that their identities are genuine before an organization’s administrators grant them access to the requested resources.
+\end{displayquote}
+
+ \ No newline at end of file
diff --git a/docs/conf.tex b/docs/conf.tex
index 07abcd9..3483dfa 100644
--- a/docs/conf.tex
+++ b/docs/conf.tex
@@ -4,12 +4,13 @@
\usepackage{url}
\usepackage{listings}
\usepackage{color}
+\usepackage{csquotes}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{frame=tb,
- language=C,
+ language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
diff --git a/docs/m6.tex b/docs/m6.tex
index 895ec09..298466e 100644
--- a/docs/m6.tex
+++ b/docs/m6.tex
@@ -5,7 +5,7 @@
\includegraphics[scale=0.2]{data/unict-logo.png}
\end{center}
\small\textsc{Dipartimento di Matematica e Informatica\\Corso di Internet Security}\\
- \Huge\textbf{M6: Insecure Authorization\\Attack side}\\
+ \Huge\textbf{M6: Insecure Authorization}\\
\author{Santo Cariotti}
\date{5 dicembre 2022}
}
@@ -30,6 +30,9 @@
\chapter{Traffico di rete}
\input{chapters/network}
+\chapter{Conclusione}
+\input{chapters/conclusion}
+
\bibliography{refs}
\bibliographystyle{ieeetr}
diff --git a/docs/refs.bib b/docs/refs.bib
index 58799dd..4227f01 100644
--- a/docs/refs.bib
+++ b/docs/refs.bib
@@ -51,6 +51,13 @@
MONTH="May",
YEAR=2015,
}
+@MISC{JTI,
+ HOWPUBLISHED="\url{https://www.rfc-editor.org/rfc/rfc7519#section-4.1.7}",
+ AUTHOR="M. Jones",
+ TITLE="jti (JWT ID) Claim",
+ MONTH="May",
+ YEAR=2015,
+}
@MISC(XHR:1,
HOWPUBLISHED="\url{https://developer.mozilla.org/en-US/docs/Glossary/XHR_(XMLHttpRequest)}"
}
@@ -72,3 +79,9 @@
TITLE="APK vs AAB",
YEAR=2021,
}
+@MISC{OKTA:1,
+ HOWPUBLISHED="\url{https://www.okta.com/identity-101/what-is-token-based-authentication/}"
+}
+@MISC{OKTA:2,
+ HOWPUBLISHED="\url{https://www.okta.com/identity-101/authentication-vs-authorization}"
+}