Softwareentwicklung – die besten Beiträge

Hintertür in xz gefunden - Kann man überhaupt noch einer Software vertrauen, die man nicht selbst geschrieben hat?

xz ist ein unter Linux weit verbreitetes Datenkompressionsformat. Ein Entwickler der Referenzimplementierung xz-utils (https://github.com/tukaani-project/xz) hat vor kurzem eine Hintertür (CVE-2024-3094) eingebaut, mit der in manchen Linux Distributionen sshd kompromittiert werden kann. Bisher wurde noch kein CVE Score zugewiesen, aber ich schätze diese Hintertür als sehr kritisch ein. Bestimmt werden in den nächsten Tagen Heise, Golem, etc. darüber berichten, und vielleicht sogar die Mainstream Medien.

Die Hintertür wurde gefunden, weil der Schadcode Performanceprobleme in sshd verursacht hat. Glücklicherweise sind die betroffenen xz Versionen noch nicht weit verbreitet, da Pakete in vielen Distributionen nur sehr langsam aktualisiert werden. In Arch Linux wurde bereits eine betroffene xz Version ausgeliefert, aber da sshd in Arch Linux kein gz verwendet, ist ein Angriff in diesem Fall nicht möglich.

Dennoch ist dieser Vorfall äußerst besorgniserregend, da die Hintertür von einem xz Entwickler eingebaut wurde, der bereits mehrere Jahre am Projekt beteiligt war und als vertrauenswürdig galt.

Grundsätzlich galt Open Source Software als weniger anfällig für Hintertüren als Closed Source Software. Man ging davon aus, dass Hintertüren in Open Source Software gefunden werden, bevor sie überhaupt veröffentlicht werden, da der Code von vielen unabhängigen Experten überprüft wird. Ein häufig genanntes Beispiel, das diese These untermauern soll, ist ein 2003 gescheiterter Versuch, eine Hintertür in den Linux Kernel einzubauen.

Der aktuelle Vorfall zeigt, dass es sehrwohl möglich ist, Schadcode unentdeckt in weit verbreitete Open Source Software einzubauen. Dies wirft die Frage auf, inwieweit man fremder Software überhaupt noch vertrauen kann.

Seid ihr selbst von dieser Hintertür betroffen? Wie schützt ihr euch? Habt ihr Zweifel an der Sicherheit von Open Source Software? Denkt ihr, dass dieser Vorfall zu einem Umdenken bei der Vertrauenswürdigkeit von Open Source Entwicklern führen wird?

Weitere Informationen
  • https://lwn.net/Articles/967180/
  • https://lwn.net/ml/oss-security/20240329155126.kjjfduxw2yrlxgzm@awork3.anarazel.de/
  • https://www.cisa.gov/news-events/alerts/2024/03/29/reported-supply-chain-compromise-affecting-xz-utils-data-compression-library-cve-2024-3094
  • https://archlinux.org/news/the-xz-package-has-been-backdoored/
  • https://arstechnica.com/security/2024/03/backdoor-found-in-widely-used-linux-utility-breaks-encrypted-ssh-connections/
  • https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27
Computer, Software, Linux, Sicherheit, IT, Backdoor, Code, Hacker, Hackerangriff, Informatik, IT-Sicherheit, Open Source, Softwareentwicklung, ssh, Vertrauen, Vertrauensbruch, Exploit, Exploits, IT-Sicherheitsexperte, Schwachstellen, vertrauenswürdig, sshd

Zählt das als "Social Good"?

Hallo.

Ich mache bei einem kleinem Hackathon mit, einfach mal um mich da bisschen auszuprobieren (naja, und 200€ Preisgeld wären auch ganz interessant).

Bei dem Hackathon geht es um Social Good, also Apps entwickeln die auch wirklich helfen und nicht unbedingt ein Spiel das In-App Käufe hat.

Zu meiner Idee. Ich hatte als Kind (und jetzt auch jüngere Freunde von mir) immer das gleiche Problem. Ich weiß, Luxusprobleme usw., aber das ist nun mal so, wenn man jünger ist.

Man wollte mit seinen Freunden Minecraft spielen, aber es gab immer Probleme dabei, einen kostenlosen anständigen Server zu finden. Es gab immer ein paar Probleme, z.B.:

  • Max ... Spieler
  • Keine Plugins
  • Werbung
  • Max ... Welten
  • Keine Mods

Usw., immer die gleiche kacke. Und als Kind hatte man auch kein Geld, um sich mal für 10€/Monat nen Server zu holen.

Ich dachte jetzt an P2P Minecraft, ABER nicht so, wie man es kennt. Sondern einer ist der Host und generiert die Server Files, dann geht das ganze auf Google Drive und jeder andere Peer mit der Google Drive URL kann eben diesen Server bei sich lokal Spiegeln und sich mit den Peers für Live Änderungen verbinden.

Für die Noobies, dass heißt man könnte alleine und gleichzeitig, auf dem gleichen Server spielen, ohne das es einen echten Minecraft Server der irgendwo rum steht, gibt. Und der Vorteil zu normalen P2P ist eben, dass nicht irgendjemand online sein muss, damit man spielen kann. Es ist eigentlich ein vollwertiger Minecraft Server, abgesehen von paar Sicherheitsproblemen, aber da kann man auch noch was bauen (Validierung mit Daten auf Google Drive bei Actions z.B.).

Jetzt ist meine Frage, kann man das als Social Good sehen? Ich schwanke da irgendwie ein bisschen, zum einem hilft es vielen Kindern und Jugendlichen, aber irgendwie ist es halt auch etwas ... banal.

Wie seht ihr das? Und falls ihr die Idee nicht gut findet (für den Hackathon zumindest), was würdet ihr für Apps/Webseiten/.... vorschlagen?

LG

Spiele, PC, Computer, Software, App, Technik, Webseite, programmieren, Soziale Netzwerke, Gaming, Minecraft, Gamer, Good, Herausforderung, Ideen, P2P, Social, Softwareentwicklung, Soziales, Challenge, Competetive, Minecraft Java Edition

Als Anfänger Chat-App programmieren aka (Facebook)?

Eigentlich wollte ich eine vereinfachte Uber-App versuchen nachzubauen, habe aber in der ersten Frage viele Antworten bekommen, dass es zu schwer für einen Anfänger ist und z.B. eine Chat-App etwas einfacher wäre.

Deswegen will ich in drei Monaten mein erstes großes Projekt anfangen zu bauen und zwar so eine Chat-App, wo man mit Freunden schreiben und Fotos teilen kann. Also so eine Art Facebook (aber sehr sehr vereinfacht!).

Ich habe gestern auch den Film "The Social Network" nochmal geguckt und jetzt will ich noch mehr die App bauen.

Jetzt die Frage: Hat jemand schon von euch Erfahrung mit einer Chat-App?

Was müsste ich alles wissen (Webentwicklung)?

Und wie viele Stunden brauche ich circa für die einzelnen Themen, um sich an dieses Projekt zu trauen?

Ich finde, dass man beim Learning-by-doing sehr gut lernt und deswegen will ich auch nicht nur lernen, sondern einfach versuchen, auch etwas zu bauen und wenn ich nicht weiterkomme, dann kurz nachschauen, versuchen zu verstehen und zu lernen, was ich machen muss und dann umsetzen, usw..

Auch wenn es ein mega Fail und die App am Ende nicht gut wird, habe ich trotzdem dann viel gelernt und werde es beim nächsten Mal besser machen.

Also zwei Fragen: Was müsste ich alles dafür können und wie viele Stunden Lernzeit ungefähr braucht man dafür, um damit anfangen zu können?

Computer, Software, App, Chat, Programm, HTML, Webseite, Programmierer, programmieren, CSS, Facebook, Java, JavaScript, Android, Informatik, Programmiersprache, Softwareentwicklung, Webentwicklung

Downgrade dank Versionsverwaltung möglich?

Hallo zusammen

Wir haben folgende Situation. Aktuell führen wir eine neue Software ein. Der Hersteller schickt uns hier Key-Account-Manager die technisch nicht sehr pfiffig sind. Soweit so gut. Nun hatten wir gerade die Diskussion, ob wir auf der Testinstanz im Falle eines Falle ein SW-Downgrade machen können. Der Hersteller meinte; "nicht in allen Fällen".
aber ist nicht gerade auch das die Idee einer Versionsverwaltung?

Use-Case

Wir haben zwei Systeme:

  • Produktion und
  • Testumgebung

Wir habe eine Versionsverwaltung (Git) von der aus wir die SW entsprechend deployen. Sowohl auf Testumgebung als auch auf Prod.

So, nun hat man es offenbar verpasst, die Regeln für die Testumgebung festzusetzen. Der Hersteller (welcher aktuell bei uns im Haus ist) verlangt von uns immer wieder, dass wir RC (Release Candidates) auf die Testumgebung spielen. Was auch nicht dramatisch ist. Problem ist nur, dass wir offenbar die Softwareparität ausser Acht lassen. Denn was ich gerne hätte, wäre eine Produktion und eine Testumgebung die zumindest potenziell den selben Softwarestand fahren können. Dann kann man auf der Testumgebung spielen so viel man will, man kann jederzeit die Produktion 1:1 abbilden. Zumindest auf Softwareebene.

Nun gehe ich davon aus, dass man mit der Versionsverwaltung genau das kann. Also eine alte Version mit dem Master Mergen und dann deployen. Der Hersteller (technisch vielleicht nicht affin, da Verkäufer im Haus) meint, dass das nicht zwingend geht. Da beim RC oder bei welcher Version auch immer Tabellen bzw. die DB neu organisiert wird.

aber ich gehe eben genau davon aus, dass eine alte SW-Version die Tabellen bzw. DB Schemen dann wieder so um- und überschreibt wie sie das zum Versionsstand XYZ aus der Vergangenheit gemacht hat.

bin ich hier völlig auf dem Holzweg? Eine Versionsverwaltung bringt mir in dem Fall doch herzlich wenig, wenn ich kein Fallback bzw. Downgrade machen kann. richtig?

Grüsse euch, danke für eure Gedanken im Voraus.

Software, C Sharp, Datenbank, Downgrade, Softwareentwicklung, Upgrade, Datenbanksystem, github, Datenbankmodell

Meistgelesene Beiträge zum Thema Softwareentwicklung