1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
|
\documentclass{beamer}
\usepackage[ngerman]{babel}
\usepackage[utf8x]{inputenc}
%\usepackage{iwona}
\usepackage{palatino}
\usepackage{beamerthemesplit}
\usepackage{url}
\usepackage{graphicx}
\usepackage{listings}
\lstdefinelanguage{JavaScript}{
keywords={attributes, class, classend, do, empty, endif, endwhile, fail, function, functionend, if, implements, in, inherit, inout, not, of, operations, out, return, set, then, types, while, use},
keywordstyle=\color{blue}\bfseries,
ndkeywords={},
ndkeywordstyle=\color{yellow}\bfseries,
identifierstyle=\color{black},
sensitive=false,
comment=[l]{//},
commentstyle=\color{green}\ttfamily,
stringstyle=\color{red}\ttfamily,
morestring=[b]",%
}
\usetheme{Warsaw}
\usefonttheme{professionalfonts}
\title{\emph{\sc Omegle}}
\subtitle{Spiel, Spass und Spannung}
\author{Yves Fischer}
\institute{Übungsvortrag im Fach Vortragstechniken an der\\
DHBW Stuttgart Aussenstelle Horb}
\date{Montag 15. Juni 2009}
\begin{document}
\frame{\titlepage}
\section{Was ist Omegle}
{\usebackgroundtemplate{\includegraphics[width=\paperwidth]{img/omegle.png}}\begin{frame}[fragile]
\textbf{Omegle}
\begin{itemize}
\item ... verbindet zwei Gesprächspartner zufällig
\item ... ist ,,Web 2.0''. Setzt mit Ajax auf REST-Interface und
JSON als Datenformat.
\item ... ist \emph{nicht} primär eine Cybersex Plattform
\item Hat angeblich je nach Zeit zwischen 2500 und 4000 Benutzer
\end{itemize}
\end{frame}
}
\section{Fun mit Omegle}
\begin{frame}
\begin{center}
{\Huge \it Spass mit Omegle}
\end{center}
\end{frame}
\begin{frame}[fragile]
\frametitle{,,Easteregg''} \lstset{language=JavaScript,
extendedchars=true, basicstyle=\scriptsize,
showstringspaces=false, }
\begin{lstlisting}
if(Q=="stranger" && ( R.indexOf("FBI") !==-1 ||
R.toLowerCase().indexOf("federal bureau")!==-1)) {
A("If the above message says you "+
"have been reported to the FBI, "+
"it is not legitimate. Please ignore it.");
}
\end{lstlisting}
\small
\begin{itemize}
\item \url{http://omegle.com/static/omegle.js}
\end{itemize}
\end{frame}
\begin{frame}\frametitle{Re-Implementation der Omegle Plattform}
\begin{columns}
\begin{column}{5cm}
\begin{itemize}\small
\item Zum Testen der eigenen ,,Omegle-Applikationen''
\item ebenfalls mit python und twisted-Framework
\item Zurzeit teils funktionsfähig. Weitere Funktionen wie Malen
oder Bildertausch geplant
\end{itemize}
\end{column}
\begin{column}{7cm}
\includegraphics[width=\textwidth]{img/chatserver.png}
\end{column}
\end{columns}
\end{frame}
\begin{frame}\frametitle{eigene Omegle Clients}
\begin{columns}
\begin{column}{5cm}
\begin{itemize}
\item einfacher Konsolenchat
\item ncurses chat mit python-urwid
\end{itemize}
\end{column}
\begin{column}{5cm}
\includegraphics[width=5cm]{img/chat.png}
\end{column}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Mitschneiden von Inhalten}
\includegraphics[width=10cm]{img/proxy.pdf}
\end{frame}
\begin{frame}[fragile]
\frametitle{Training eines Bots}
\lstset{language=SQL} \tiny
\begin{lstlisting}
SELECT message FROM omegle_messages WHERE ( message ILIKE
'%sex%'
OR message ILIKE '%boob%'
OR message ILIKE '%horny %'
OR message ILIKE '%pussy %'
OR message ILIKE '%ass %'
OR message ILIKE '%naked%'
OR message ILIKE '%fuck%'
OR LENGTH(message) < 7 AND CAST(RANDOM()*10 as integer)=1) AND
LENGTH(message) < 35 AND NOT ( message ILIKE '%www.%'
OR message ILIKE '%http%'
OR message ILIKE '%@%.%');
\end{lstlisting}
\small
\begin{itemize}
\item Alle Nachrichten in denen die {\it Wörter}\/ vorkommen und
keine Adressen vorkommen.
\item keine Nachrichten groesser 34 Zeichen ({\sc ASCII}-Art)
\end{itemize}
\end{frame}
\begin{frame}\frametitle{Erster Chat}\tiny
\begin{columns}
\begin{column}{6cm}
\textbf{Trained over all sentences}\\
\textcolor{red}{Stranger:} hi\\
\textcolor{green}{Megahal:} Hi. 22,M, moscow. And u.\\
\textcolor{red}{Stranger:} 17, F, Mars\\
\textcolor{green}{Megahal:} I am from mars.\\
\textcolor{red}{Stranger:} no you're not\\
\textcolor{green}{Megahal:} Not not not.\\
\textcolor{red}{Stranger:} well mars is epic\\
\textcolor{green}{Megahal:} Starbucks is kind of hobbies do you have son that i am from mars.\\
\textcolor{red}{Stranger:} what?\\
\textcolor{green}{Megahal:} What is your job.\\
\textcolor{red}{Stranger:} i'm unemployed\\
\textcolor{green}{Megahal:} I know, i'm crying now.\\
\textcolor{red}{Stranger:} not many jobs going in mars\\
\textcolor{green}{Megahal:} I'm going to go to school and have 2 jobs.\\
\textcolor{red}{Stranger:} sweet\\
ENDE
\end{column}
\begin{column}{6cm}<2->
\textbf{Trained with offensive sentences}\\
Megahal Connection confirmed\\
\textcolor{red}{Stranger:} Hello\\
\textcolor{green}{Megahal:} Hello, asl, cybersex.\\
\textcolor{red}{Stranger:} 15/male\\
\textcolor{green}{Megahal:} L am sexy male man.\\
\textcolor{red}{Stranger:} oh lets cyber\\
\textcolor{green}{Megahal:} Lets have cyber sex.\\
\textcolor{red}{Stranger:} okay\\
\textcolor{green}{Megahal:} Do \\
\textcolor{red}{Stranger:} you want to dock\\
\textcolor{green}{Megahal:} I want to dock.\\
\textcolor{red}{Stranger:} or go in the ass\\
\textcolor{green}{Megahal:} One guy fucks you in the ass.\\
\textcolor{red}{Stranger:} okay\\
\textcolor{green}{Megahal:} Fuck that i say what i am haha.\\
\textcolor{red}{Stranger:} no i fuck you in the penis\\
\textcolor{red}{Stranger:} woo that wasd fun\\
\textcolor{green}{Megahal:} Have fun fucking your mom.\\
\textcolor{red}{Stranger:} okay\\
\textcolor{green}{Megahal:} What is fuck.\\
\textcolor{red}{Stranger:} im not sure\\
ENDE
\end{column}
\end{columns}
\end{frame}
\begin{frame}\frametitle{Zweiter Chat}\small
\begin{columns}
\begin{column}{6cm}
\textbf{Trained with offensive sentences}\\
Megahal Connection confirmed\\
\textcolor{red}{Stranger:} let's puk\\
\textcolor{green}{Megahal:} Let's have cyber sex.\\
\textcolor{red}{Stranger:} mmm hellz yea bby\\
\textcolor{green}{Megahal:} Only if u are boob.\\
\textcolor{red}{Stranger:} oh i am a boob alright\\
\textcolor{green}{Megahal:} I want to do sex with a girl.\\
\textcolor{red}{Stranger:} well shit son do sex wif me then\\
\textcolor{green}{Megahal:} Do you have sex with me.\\
\textcolor{red}{Stranger:} -takes off shirt-
\end{column}
\begin{column}{6cm}
\textcolor{green}{Megahal:} And i wanna fuck you.\\
\textcolor{red}{Stranger:} -takes ur pants off- well lets go bby\\
\textcolor{green}{Megahal:} Well shit son do sex with a girl.\\
\textcolor{green}{Megahal:} Hey sexy sexy.\\
\textcolor{green}{Megahal:} Hey, horny girl.\\
\textcolor{red}{Stranger:} mm baby i'm feeling myself right now\\
\textcolor{green}{Megahal:} I'm so horny right now.\\
\textcolor{red}{Stranger:} i wanna suck ur\\
\textcolor{green}{Megahal:} Ur a fucken hot pussy.
\end{column}
\end{columns}
\end{frame}
\begin{frame}\frametitle{Dritter Chat}
\begin{columns}
\begin{column}{6cm}
\textbf{Trained with offensive sentences}\\
\textcolor{red}{Stranger:} hi\\
\textcolor{green}{Megahal:} Hi sex slave.\\
\textcolor{red}{Stranger:} who ?\\
\textcolor{green}{Megahal:} Who like a bad sex.\\
\textcolor{red}{Stranger:} i like\\
\textcolor{green}{Megahal:} U like sex.\\
\textcolor{red}{Stranger:} but I have cock\\
\textcolor{green}{Megahal:} Can i have cock.\\
\textcolor{red}{Stranger:} come on and get it
\end{column}
\begin{column}{6cm}
\textcolor{green}{Megahal:} And sex with you.\\
\textcolor{red}{Stranger:} okay\\
\textcolor{green}{Megahal:} Horny 21 m here..interested.\\
\textcolor{red}{Stranger:} im not a gay\\
\textcolor{green}{Megahal:} Not like sex.\\
\textcolor{red}{Stranger:} thank you\\
\textcolor{green}{Megahal:} Do you want sex you have sex with you.\\
\textcolor{red}{Stranger:} fuck you\\
ENDE
\end{column}
\end{columns}
\end{frame}
\frame{\frametitle{Auswertung}
\begin{itemize}
\item Abbruch der Verbindung mit ,,Processing Failed''. Filter?
\item Asiaten brechen bei {\it sinnlosen} Bot-Aussagen weniger ab
\item Die allgemein schlechten Englischkentnisse auf Omegle
begünstigen den Einsatz von Megahal
\item Megahal ist hin und wieder in der Lage seinem Partner nicht
aufzufallen
\item Das Trainieren von Megahal mit Begriffen aus Konversationen
rund um Cybersex ist sinnvoll, wenn lange Konversationen gewünscht
sind da hier Fehler des Bots nicht so stark ins Gewicht fallen
\end{itemize}
} \frame{\frametitle{Auswertung 2}
\begin{itemize}
\item Megahal antwortet auf jede Nachricht mit genau einer
Nachricht. Das ist unnatürlich aber fällt nicht auf.
\item Megahal ist nicht in der Lage ein Gesprächsverlauf zu
analysieren sondern betrachet jeweils nur die letzte Aussage
seines Gesprächspartners. Daher kommt er leicht vom Thema ab.
\item Megahal ist nicht intelligent! Er weiss nicht, dass er nach
,,19M Holland'' nicht ,,19M Finnland'' sondern eher ,,19F'' sagen
sollte
\item Manchmal fängt Megahal an sich nur zu wiederholen
\item Megahal merkt nicht, wenn jemand gemerkt hat, dass er ein Bot
ist
\end{itemize}
}
\begin{frame}\frametitle{Rechtliche Aspekte}
\begin{itemize}\tiny
\item § 202a StGB: Die Daten sind nicht gegen unbefugten Zugang besonders gesichert
wobei der Zugang im beschriebenen Szenario auch berechtigt ist und keine besondere Sicherung vorliegt
\item § 202b StGB Abfangen von Daten: Die Datenübermittlung ist öffentlich, die Daten sind für
jeden Omegle.com Benutzer bestimmt. Jeder Nutzer gibt sein Einverständniss, dass Unbekannte seine Texte lesen.
\item § 303a StGB scheitert an der Rechtswidrigkeit der Datenveränderung. Durch die durch den jeweiligen Urheber der vorliegenden
Nachrichten, dessen Inhalt verändert wird, beim Betreten des Chatrooms konkludent abgegebene Einwilligung, das Geschriebene
öffentlich zu machen, ist es nicht rechtswidrig, die Daten verändert weiterzuverarbeiten.
\item § 303b I StGB scheitert, da kein fremder Betrieb, kein fremdes Unternehmen und keine Behörde vorliegt, für die die
Datenverarbeitung von wesentlicher Bedeutung ist.
\item Omegle hat keine AGB, Terms of Service, Impressum o.ä.
\end{itemize}
\end{frame}
\section{Demonstration}
\frame{\frametitle{}
\begin{center}\Huge Demonstration \end{center}
}
\begin{frame}\frametitle{Quellen und weiteres}
\begin{itemize}
\item Folien
\url{http://xapek.org/svn/common/omegle/slides/slides.pdf}
\item omegle \url{http://omegle.com}
\item megahal \url{http://megahal.alioth.debian.org/}
\item python-omegle tools \url{http://xapek.org/svn/common/omegle}
\item Omegle Klon in python \url{http://xapek.org/svn/common/chat}
\item Perl WWW::Omegle
\url{http://search.cpan.org/~revmischa/WWW-Omegle-0.02/lib/WWW/Omegle.pm}
\item PHP Omeglelogger \url{http://code.google.com/p/omeglelogger/}
\item Omegler \url{http://twitter.com/omegler}
\item das gleiche \url{http://omegle.tumblr.com/}
\end{itemize}
\end{frame}
\end{document}
|