c't 14/2023
S. 128
Wissen
C++: Strings obfuskieren
Bild: KI Midjourney | Bearbeitung c’t

Wo ist Dolly?

Wie man Strings in Binaries versteckt

Passwörter, API-Schlüssel, geheime Hinweise – wenn man solche Daten schon im Programm unterbringen muss, dann am besten verschlüsselt. Dank einer Besonderheit in C++14 kann man sie trotzdem wie gewohnt im Klartext in den Quellcode schreiben.

Von Oliver Lau

Clientsoftware, die mit Diensten im Netz kommuniziert, sollte ihre Daten verschlüsseln. Und die Server sollten ihre Programmierschnittstelle (API) nur autorisierten Clients anbieten. Für beides benötigt man Geheimnisse, etwa API-Schlüssel, Passwörter oder Zertifikate. Die Clientsoftware muss diese Daten also enthalten – und zwar verschlüsselt, sodass sie möglichst kein User entdeckt. Aber auch so, dass die Software sie selbst entschlüsseln kann.

Sicherheitsprofis quieken jetzt: Igitt, das ist ja Security by Obscurity! – Stimmt. Sicherheit durch Verschleierung, auch Obfuskation genannt, ist kein Schutz vor ambitionierten Hackern. Aber sie ist trotzdem manchmal unumgänglich und die gewählte Methode sollte eine hohe Hürde für alle anderen sein.

Kommentare lesen (2 Beiträge)