Der Chatbot als Schwachstelle
Bevor es andere finden: Penetration Tests und Source Code Analysen leisten einen essenziellen Beitrag zur IT-Sicherheit. Zum Beispiel, wenn dadurch schwerwiegende Sicherheitslücken gefunden und geschlossen werden. So wie in diesem Fall.
Angreifer übernehmen Unternehmens-Systeme mithilfe des “Neuen im Support“? Solche Überschriften möchtet ihr nicht lesen und wir haben dafür gesorgt, dass es erst gar nicht dazu kommt. Wir, das ist das des Security Testing Team der Deutschen Telekom und der Neue im Support ist in vielen Unternehmen der Chatbot.
Sie finden sich dort – aber auch in immer mehr Bereichen - und erfreuen sich steigender Beliebtheit. Denn Chatbots helfen in natürlicher Sprache weiter, sind rund um die Uhr verfügbar und unter dem Strich preiswerter, als etwa ein Callcenter-Team. Sie basieren heute auf künstlicher Intelligenz (KI), die gerade in aller Munde ist. Doch mit jeder neuen, vernetzten Technologie wächst die Angriffsfläche digitaler Technik. Und die Zahl möglicher Schwachstellen nimmt ebenfalls zu, die als Tür zu vernetzten Systemen genutzt werden können.
Eine solche fanden wir als Security Testing Team Anfang 2025 in einem Produkt der Firma Rasa. Damit baust du diese beliebten Chatbots. Bei so genannten Penetration Tests haben wir zunächst diese Schwachstelle in Rasa identifiziert. Um anschließend die Kritikalität auszuloten und quasi festzustellen, wie weit wir dank der Schwachstelle gehen können. Tatsächlich waren wir sogar in der Lage, ein System komplett zu übernehmen. Dazu haben wir Techniken aus den Bereichen Penetration Testing und Source Code Analyse kombiniert.
Sprechen wir von künstlicher Intelligenz in Bezug auf Chatbots, so ist die Rede von den großen KI-Sprachmodellen. Diese sind darauf spezialisiert, die jeweils passende Antwort auf eine konkrete Frage zu finden. Im Falle von Rasa besteht das Modell aus mehreren Teilen, die jeweils an unterschiedlichen Stellen einer Systemarchitektur aktiv sind. Einige dieser Bestandteile zeigten sich anfällig für den sogenannten Deserialisierung-Angriff. Mit der Folge, dass Angreifer, die Zugriff auf gewisse Datenströme bekommen, Codezeilen auf dem Systemserver ausführen können.
Rasa ermöglicht den Nutzern den Zugriff aus der Ferne über eine Schnittstelle. Auf diesem Weg war es möglich, das Modell auszutauschen und somit Code auf dem Server auszuführen. Man spricht dann von einer Remote Code Execution (RCE). Die erlaubt es einem Angreifer ein System komplett zu übernehmen.
Doch wir haben nicht nur die Schwächen des Produkts ausgelotet. Wir haben uns auch überlegt, wie diese zu beheben sind. Durch den Austausch der Funktionen, die Daten aus Bestandteilen des Modells laden einerseits. Und andererseits über Bibliotheken, die keine Deserialisierung-Angriffe zulassen.
Aus diesen detaillierten Analysen hat das Security Testing Team der Telekom Security einen Proof of Concept (PoC) entwickelt. Diesen haben wir Rasa umgehend zur Verfügung gestellt. Im Rahmen des sogenannten „Responsible Disclosure“-Prinzips haben wir mit dem Hersteller mögliche Lösungsansätze diskutiert. Nachdem Rasa die Schwachstelle bestätigt und behoben hatte, verifizierte das Security Testing Team die Wirksamkeit des Patches. Im Anschluss wurden die Patches von Rasa freigegeben.
Dies ist ein exzellentes Beispiel dafür, dass Penetration Tests und Source Code Analysen einen essenziellen Beitrag zur IT-Sicherheit für alle leisten. Wir führen Penetration Tests auch im Auftrag unserer Kunden durch. Etwa vor dem Marktstart eines Produkts.
Mehr fachliche Details zu dieser Schwachstelle und eine technische Beschreibung, wie diese gefunden und der PoC entwickelt wurde, findet ihr hier.