Es gibt inzwischen einen von mir erstellten Fork des originalen Repository, in dem ich die Komponente zur Darstellung der Konsole gegen die ausgetauscht habe, die in der sQLshell in den Plugins MDIJavaEditor und MDISqlEditor zum Einsatz kommt - dadurch wird wenigstens durch das Syntax-Highlighting auf problematische Stellen im Code hingewiesen.
Ich hatte hier darauf hingewiesen, dass die sQLshell, bzw. eines ihrer Plugins gegen die Trojan Source Attacke verwundbar sein kann.
Ich überlegte daraufhin, wie ich das Risiko zumindest vermindern könnte und forkte das ursprüngliche Repository, nachdem ich einen entsprechenden Bug eingestellt hatte.
Ich entschied mich dafür, die Editorkomponente zu ersetzen. Ich benutzte dazu die, die bereits als BeanShell- bzw. Java-Editor anderweitig zum Einsatz kommt und erstellte einen Pull-Request mit den notwendigen Änderungen. Diese Version der BeanShell mit den entsprechenden Änderungen kann auch direkt als Artefakt aus meinem Repsy-Repository genutzt werden.
Frühere Version meines Forks - beim Einfügen von Text weist ein Dialog auf mögliche problematische Zeichen hin, sie werden
aber nicht visualisiert
besteht nunmehr die Möglichkeit, diese Zeichen einzublenden - in diesem Fall wird jeweils ihr Unicode-Codepoint eingeblendet:
Aktuelle Version meines Forks: Der Entwickler kann die Anzeige nicht-druckbarer Zeichen aktivieren, wodurch auch die
bei der Trojan-Source-Attacke benutzten sichtbar werden.
Man beachte auch, dass dadurch die korrekte Darstellung dessen, was effektiv auskommentiert wird erreicht wird.
<repository>
<id>gitlab</id>
<name>EL BOSSOs (https://elbosso.codeberg.page/index.html) Maven Repository</name>
<url>https://elbosso.codeberg.page/mvn/repository/</url>
</repository>
zu finden. Für die BeanShell heißt das, dass auch alle RELEASE Versionen und die aktuellste SNAPSHOT Version demnächst dorthin umziehen werden:
<dependency>
<groupId>de.elbosso</groupId>
<artifactId>bsh</artifactId>
<version>3.0.1-SNAPSHOT</version>
</dependency>
In der Übergangszeit kann es zu einigen Problemen kommen - falls das so ist, bitte ich um ein kurzes Feedback - zum Beispiel in Gestalt eines Issues an dem betreffenden Projekt.
15.07.2024
Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.
19.12.2023
Mit Version 1.4.0 wurden die Gegenmaßnahmen gegen Trojan Source und Trojan SQL endlich in einer Release auf Repsy zur Verfügung gestellt.
23.10.2022
Während der Umstellung meiner Codebasis auf Java in der Version 17 schien es kurzzeitig so zu sein, dass diese Umstellung einen deutlich höheren Aufwand benötigen würde als ursprünglich angedacht: viele der Plugins der sQLshell funktionierten nicht mehr.
12.09.2022
Ich habe heute einen Bug in der OpenSource-Variante der BeanShell auf GutHub gefunden, dessen Behandlung mich wieder einmal ziemlich sprachlos zurückgelassen hat...
06.03.2022
Ich schrieb hier bereits über meine eigene Variation einer Textkomponente mit Syntaxhighlighting für Java. Durch Trojan Source und meine Fortschritte im Projekt The ultimate RISC bin ich dort nochmal eingestiegen und habe einige Features hinzugefügt:
29.01.2022
Ich habe bereits verschiedentlich auf eine Komponente verwiesen, die ich aus einer frühen Version des Editors JEdit erstellt habe - zuletzt als ich über den Fork zur Verbesserung der BeanShell wegen der Trojan Source Vulnerability berichtete.
09.12.2021
Ich habe bereits über Ideen geschrieben, die TrojanSource-Vulnerability in anderen Kontexten zu untersuchen - ein Vorkommnis in dem Job, mit dem ich mir das Geld für Kuchen verdiene hat mich jetzt angestachelt, diese Untersuchung tatsächlich umfangreich und gründlich durchzuführen. Dieser Beitrag wurde zum CCC End-of-year event 2021 eingereicht und abgelehnt.
Synchronisierung von Lorenz-Systemen III
23.10.2020
Nachdem ich in einem vorhergehenden Artikel auf das Problem des kleinen Parameterraums im Zusammenhang mit der Nutzung synchronisierter chaotischer Systeme hingewiesen hatte will ixch hier untersuchen, wie sensibel solche Systeme auf Abweichungen der Parameterwerte zwischen treibendem und getriebenen System reagieren
WeiterlesenAndroid Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Java. Komponenten Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Ich habe neulich beschrieben, dass ich aktuell mehr und mehr bemerke, dass Dinge, für die ich in meinem NeoVim-Setup Plugins benutzt habe sehr gut auch mit Bordmitteln funktionieren.
WeiterlesenIch habe neulich wieder einmal eine Upgrade- und Backup-Sitzung mit meinen diversen Linuxinstallationen veranstaltet. Der Zeitpunkt schien mir gekommen, da es eine neue stable Variante von Debian (Trixie) gibt.
WeiterlesenIch diskutiere immer wieder gern über das was heute Machine Intelligence oder Artificial Intelligence ( oder wie die ganzen anderen hohlen Phrasen heißen, die dafür heutzutage als Buzzwords missbraucht werden). Das geschieht online, in meinem $dayjob oder auch privat. Meine Meinung steht fest: das ist alles Quatsch und steht in keiner Relation zum Nutzen
WeiterlesenManche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.