Inhalt 📚 In diesem Video zeige ich dir, wie du mithilfe von ChatGPT und Python einen Phishing-Checker programmieren kannst, der dir sogar angibt, mit welcher Wahrscheinlichkeit eine eingegangene E-Mail eine Phishing-Mail ist. Doch, was ist Phishing überhaupt? Der Begriff „Phishing“ setzt sich aus den beiden Wörtern „Password“ und „Fishing“ zusammen. Betrüger versuchen, vertrauliche Informationen wie Benutzernamen, Passwörter und Kreditkartendetails von ahnungslosen Opfern zu erlangen. Dies geschieht z. B. durch das Versenden von gefälschten E-Mails oder Nachrichten, die scheinbar von vertrauenswürdigen Quellen wie Banken, sozialen Netzwerken oder anderen Online-Diensten stammen. Ziel ist es, den Empfänger dazu zu bringen, auf einen Link zu klicken oder persönliche Daten einzugeben. Wie ist das Python Programm für die Analyse von Phishing-Mails mit ChatGPT aufgebaut? Der Benutzer speichert die verdächtige E-Mail und ggf. auch die E-Mail-Header zunächst in einer Textdatei. Beim Programmstart gibt der Benutzer direkt den Pfad zu dieser Datei an. Daraufhin wird der Inhalt dieser Datei eingelesen und in einem Prompt über die API von OpenAI an das Sprachmodell gesendet. Dieses verarbeitet den Inhalt und die Header der E-Mail und liefert eine prozentuale Einschätzung darüber, ob eine Phishing-Mail vorliegt oder nicht. #ChatGPT#Email#Phishing
00:00 | Einführung 00:11 | Was ist Phishing? 00:45 | Architektur des Programms 01:18 | pip install openai 01:31 | Implementierung in Python 03:38 | Test des Programms
(*) Bei den Amazon-Links (https.//amzn.to/???????) handelt es sich um Affiliate-Links. Wenn du etwas über diesen Link kaufst, bekomme ich eine kleine Provision. Der Preis ändert sich nicht, wenn du über diesen Link einkaufst. Vielen Dank für deine Unterstützung.
in diesem Video zeige ich dir wie du mit
Hilfe von Chat GPT und Python einen
fishingchecker programmieren kannst der
dir sogar angibt mit welcher
Wahrscheinlichkeit eine eingegangene
E-Mail eine fishingmail ist doch was ist
fishing überhaupt der Begriff fishing
setzt sich aus dem beiden Wörtern
password und fishing zusammen Betrüger
versuchen also vertrauliche
Informationen wie Benutzernamen
Passwörter und kreditkartenetails von
ahnungslosen Opfern zu stehlen dies
geschieht z.B durch das Versenden von
fälschten E-Mails oder Nachrichten die
scheinbar von vertrauenswürdigen Quellen
wie Banken sozialen Netzwerken oder
anderen onlineediensten stammen ziel ist
es den Empfänger dazu zu bringen auf
einen Link zu klicken oder persönliche
Daten einzugeben wie ist das Python
Programm für die Analyse von
fishingmails mit chatgpt aufgebaut der
Benutzer speichert die Verdächtige
E-Mail und gegebenenfalls auch die
E-Mail Header zunächst in einer
Textdatei beim Programmstart gibt der
Benutzer direkt den pah zu dieser Datei
an daraufhin wird der Inhalt dieser
Datei eingelesen und in einem prompt
über die API von openaii an das
Sprachmodell gesendet dieses verarbeitet
den Inhalt und die Header der E-Mail und
liefert eine prozentuale Einschätzung
darüber ob eine fishing Mail vorliegt
oder nicht für die Implementierung in
Python nutzen wir die API von openaii
dafür benötigst du das Modul openi das
wir dir mit dem Befehl PIP install open
i installieren kannst importiere dir
anschließend die beiden Bibliotheken
openmai und sys definiere eine Variable
api key der du deinen openaii API Key
zuweist wie man sich einen solchen API
Key besorgen kann habe ich in einem
anderen Video bereits erklärt den Link
findest du unten in der
Videobeschreibung definiere eine Liste
namens talk in der du den
konversationsverlauf mit chgbt
speicherst als systeminstruktion kann
kannst du du bist ein Assistent der
dabei hilft fishing zu erkennen
verwenden dann hat das Sprachmodell
schon mal einen Kontext und weiß wie es
zu antworten hat im Hauptprogramm lesen
wir mit dem kontextmanager den Inhalt
einer Datei ein die beim Programmstart
von Benutzer mitgegeben wird diesen Pfad
zur Datei greifen über die Liste ARV aus
dem Modul sisup dieser Pfad führt direkt
zu der Textdatei mit der E-Mail die von
chatgbt analysiert werden soll wir lesen
den Mailin mit Hilfe der Methode read in
eine Variable namens Mail ein
anschließend definieren wir den
folgenden prompt könnte es sich bei der
folgenden Mail um fishing Handeln darauf
folgt dann in geschweiften Klammern der
Mailtext das heißt dort wird das was
eingelesen wurde aus der Textdatei
direkt eingesetzt antworte mit einem
Risiko von 0 bis 100%. das ist wichtig
und dieser Zusatz dass das wichtig ist
ist tatsächlich wichtig damit HBT diese
Anweisung nicht vergisst welche
Indikatoren hast du für deine
Einschätzung genutzt diesen prom fügen
wir anschließend den Gesprächsverlauf
hinzu und senden ihn über die API von
openi an das Sprachmodell GPT 3.5 Turbo
für die Authentifizierung gegenüber der
API verwenden wir den zuvor definierten
API Key das Ergebnis des API Aufrufs
Speicher wir in einer Variable namens
response aus dieser Variable lesen wir
die Antwort also den eigen Text aus und
speichern ih wiederum in einer eigenen
variable namens answer diese geben im
Anschluss daran direkt aus okay dann
würde ich sagen testen wir unser
Programm doch einfach mal dazu habe ich
zwei E-Mails vorbereitet Mail 1 und Mail
2 die jeweils in einer Textdatei
gespeichert sind und wir werden jetzt
nacheinander analysieren ob es sich um
eine fishing Mail handelt oder nicht bei
einer handelt es sich um eine fishing
Mail bei der anderen nicht ich kann die
jetzt hier bewusst nicht zeigen weil da
viele persönliche Informationen drin
stehen aber findet Chat gbt das auch
heraus das finden wir heraus indem wir
jetzt den Befehl Python fish gbt
eingeben um das Programm zu starten in
fistbt.pie habe ich das soeben
geschriebene Programm gespeichert und
dahinter geben wir jetzt den Pfad zu
Datei an von der E-Mail die wir
analysieren wollen und wir starten
natürlich mit Mail 1.txt wichtig ich
befinde mich hier in dem selben
Verzeichnis wie auch diese beiden Mails
die ich analysieren möchte das heiß ich
muss jetzt hier keinen komplizierten
Pfad eingeben sondern einfach nur die
Datei en okay ich schicke das Ganze ab
es dauert jetzt ein paar Sekunden je
nachdem wie ausführlich und umfangreich
die E-Mail ist dauert es dann auch ein
bisschen für die Analyse weil chatbt
dann eben uns auch ja Gründe liefert das
haben wir im prom festgelegt warum es zu
der jeweiligen Einschätzung kommt okay
für die erste E-Mail bekommen wir als
Antwort die E-Mail könnte ein
potenieller fishingvsuch sein hier sind
einige Indikatoren die darauf hinweisen
könnten die unpersönliche Anrede hi
deutet darauf hin dass der Absender Dich
nicht persönlich kennt der hin we auf
ein Video zu fishing und Marware in dem
du angeblich gesagt hast dass solche
E-Mails gerne geschickt werden können
ist verdächtig in diesem Fall aber
kleine Entwarnung ja ich habe das mal in
einem Video gesagt und ihr könnt mir
auch nach wie vor gerne unter
[email protected] solche E-Mails zukommen
lassen ich verwende die z.B um aktuell
so ein GPT aufzubauen das eben gezielt
dazu eingesetzt werden kann um fishing
mates zukünftig noch besser zu erkennen
es ist ich dass jemand solche
Informationen von einem Video behalten
würde und darauf in einer E-Mail Bezug
nimmt aber unter meinen Zuschauern ist
das gar nicht mal so unüblich die
Anfrage sich eine PDF-Datei anzuschauen
die angeblich dem Ablauf eines
Betrugsversuchs enthält kann eine Taktik
sein um dich dazu zu verleiten
schädlichen Inhalt herunterzuladen oder
auf Links zu klicken der discord
Username max.müller wirkt möglicherweise
nicht authentisch okay basierend auf
diesen Indikatoren würde ich das das
Risiko einer fishingmail auf ca 80%
einschätzen es ist wichtig keine
persönliche Information preiszugeben
oder schädliche Dateien runterzuladen
wenn du Zweifel an der Echtheit einer
E-Mail hast okay also es gibt viele
Indikatoren die darauf hindeuten dass
das die fishing E-Mail ist gut schauen
wir uns mal an wie das bei der zweiten
E-Mail aussieht ich gebe wieder ein
Python
fishgpt.pi und dahinterstatt Mail 1.txt
jetzt Mail 2.txt schick das Ganze ab und
die E-Mail wird jetzt wieder im
Hintergrund analysiert es ist schwierig
anhand einer einzigen E-Mail eine genaue
Einschätzung vorzunehmen ob es sich um
fishing handelt oder nicht na ja das
sollte das System ja eigentlich können
wenn es gut trainiert wurde die von dir
bereitgestellte E-Mail enthält jedoch
keine spezifischen fishing Indikatoren
wie beispielsweise verdächtigte Links
oder Anhänge aufgrund der knappen
Information in der E-Mail und des
allgemeinen Inhalts kann das Risiko
einer fishing Mail als niedrig
eingestuft werden es scheint sich um
eine normale Kontaktaufnahme zwischen
Freunden oder Bekannten zu handeln das
Risiko einer fishing Mail könnte daher
bei etwa 10% liegen okay das deckt sich
mit dem was chatgbt jetzt zuvor gesagt
hat und klingt nach einer plausiblen
Einschätzung dieser E-Mail es ist jedoch
wichtig zu beachten dass dies nur eine
vorläufige Einschätzung ist und weitere
Informationen von Vorteil wären um eine
genauere Bewertung vornehmen zu können
es wird immer empfohlen wachsam zu sein
und verdächtige E-Mails genau zu prüfen
insbesondere wenn sie unerwartet oder
von unbekannten Absendern stammen und
das kann ich grundsätzlich auch so
unterschreiben und dannan schließt sich
jetzt direkt die Frage an ob du
zukünftig dieses Programm hier dazu
einsetzen solltest um eingehende Mails
dahingehen zu überprüfen ob es sich um
eine fishingmail handelt oder nicht
meiner persönlichen Einschätzung nach
nein das ist jetzt hier eine lustige
Spielerei um mal so ein bisschen mit der
API von Open ai rumzuspielen aber aus
mehreren Gründen kann ich das nicht
empfehlen zum einen ist die fals
acceptance Rate zu hoch ja genauso wie
die die falce rejection rate das kannst
du mal ausprobieren wenn du so ein paar
E-Mails mehrfach dahin sendest dass
aufgrund des temperature factors des
sprachmodells also dieser Zufälligkeit
der Antwort eben auch andere
Einschätzungen kommen für dieselbe
E-Mail teilweise ist es dann doch eine
fishingmail teilweise nicht und das
eignet sich mein Ansicht nach nicht gut
um da wirklich zuverlässig mit arbeiten
zu können hinzu kommt ein ganz wichtiger
Punkt der oftmals vergessen wird nämlich
das liegen von Information stell mal vor
du würdest diese Anwendung jetzt in das
ganz normale e-mailsystem einbauen und
eingehende E-Mails werden automatisch
erstmal von Chat gbt überprüfen dann
kommt eine Antwort das ist schwierig
denn was ist denn wenn darüber z.B
potenzielle Kundeninformationen an das
Sprachmodell gesendet werden da meldet
sich doch sofort der Datenschutz oder du
hast irgendwelche Geschäftsgeheimnisse
passwörte die ausgetauscht werden per
E-Mail und wenn das jetzt alles erstmal
an chatgpt geht und analysiert wird na
dann hat open ai schon ziemlich viele
Informationen über das jeweilige
Unternehmen nehmen und das ist in meinen
Augen immer problematisch klar die Daten
werden anonymisiert gespeichert aber
trotzdem gerade wenn Passwörter im Spiel
sind dann ist das ganze schon ziemlich
kritisch zu bewerten deswegen mein
Vorschlag du nutzt dieses Projekt
einfach um dich so ein bisschen das
Thema chatchbt und hacken einzuarbeiten
und gegebenenfalls hast du auch
Interesse daran dass mit meinem neuen
Buch hacking und Cyber Security mit KI
zu vertiefen da habe ich solche und
viele weitere Programme die ich mit Dir
gemeinsam programmieren werde was ich
mir aber sehr gut vorstellen könnte ist
eine Lösung bei der dieses Programm zum
Einsatz kommt wenn ein lokales large
language Model im Spiel ist das heißt
das ganze geht nicht über eine API
irgendwo ins große weite Internet
sondern es bleibt in der
Unternehmensinfrastruktur z.bpi und dann
wird das dort überprüft da kann ich mir
das sehr gut vorstellen und auch
cloudlösung würde ich erstmal nicht
unbedingt für für pläeren dass man das
macht
da könnte man natürlich jetzt
argumentieren mit dem Datenschutz dass
es durchaus sinnvoll sein kann ja wenn
das dann datenschutzrechtlich auch passt
dass man solche Informationen z.B an
einen cloudanbieter sendet und der macht
das dann für ein okay aber grundsätzlich
denke ich dass die lokale Lösung auch
eher unproblematisch ist und ich würde
dann auch nicht den Fehler machen
absolut Aussagen zu treffen also etwas
wie oh das ist eine fishing Mail da
bewahre ich den Benutzer lieber mal vor
sondern dass wir mit KI Labels Arbeiten
ich habe ja hier jetzt bewusst nach
einer prozentualen Wahrscheinlichkeit
gefragt um eben dann auch den Benutzer
der sper diese eil bekommt dann
entsprechend anzeigen zu können z.B die
KI hat gesagt zu 70% ist das eine
fishingmail bitte bedenken Sie das wenn
Sie diese E-Mail durchlesen haben wir
das Beste aus beiden Welten wir haben
den menschlichen Prüfer der sich das
noch mal anschaut und aufgrund der
Einschätzung der KI schon mal so ein
bisschen vorgewarnt ist und zum anderen
den Menschen der dann letztendlich auch
entscheidet ob es eine fishing Mail ist
oder nicht und es ist immer besser wenn
man eine
wahrscheinlichkeitsangabe gibt um den
Benutzer zu sagen das könnte jetzt so
sein bitte da mal genauer drauf zu
schauen als den Benuter zu sag oh das
ist Spam bitte gar nicht erst drauf
Anworten weil dann ist einfach eine
absolutussage vorhanden und wir kennen
es von den zahlreichen
systrichungmeldung vons und möchten Sie
das jetzt wirklich
wirklichklichklich
alsministratusführengendwan klickt man
einfach nur noch draf und sagt ja ja ich
möchte das als Administrator ausführen
weil das kommt eh bei jedem Programm was
ich ausfühen möchte das ist also nicht
zielführend was hältst du von diesem
Ansatz schreib gerne mal unten in die
komare und wir Seen uns im nächsten
Video bis dann und ciao