Open-/Closed-Source Konsequenzen für die Sicherheit

Hallo allerseits.

Umso mehr ich in die Linux Welt einsteige und mir Gedanken um die Sicherheit meines eigenen Computers mache drängt sich mir die Frage auf, was macht eigentlich ein sicheres Computersystem aus?

Insbesondere komme ich zu dem Schluss, dass jegliche Benutzung von Closed-Source Software die Sicherheit eines Systems in die Hände ihrer Entwickler legt, da man keinerlei Kontrolle über dieses Stück Software hat. Die Benutzung von Windows oder Mac bedeutet also die Sicherheit seines Computers Microsoft bzw. Apple zu überlassen, die, wenn sie denn wollten, ohne weiteres eine Hintertür einprogrammieren könnten ohne das ich als Benutzer davon etwas mitbekomme.

Nun gut, dann benutzt man eben ein Open-Source Betriebssystem wie zum Beispiel Linux. Aber auch hier gibt es ja proprietäre Treiber und es tut sich das selbige Problem auf. Ist die Lösung aus diesem Dilemma also ein komplett offenes System ala Linux-libre?

Natürlich bedeutet Open-Source nicht garantiert sicher, aber soweit ich das sehe bedeutet Closed-Source doch zumindest potentiell unsicher, was dessen Benutzung für ein sicheres System ausschließt. Mich würden mal eure Gedanken zu dem Thema interessieren und auch wie ihr das für euch handhabt?

Grüße!
 
Open-source

Hallo


Nur weil bei open-source jeder den Quellcode einsehen kann, heißt das doch nicht, das es deshalb sicherer als closed source ist, das ist ein Mythos und das hat sogar Stallman eingesehen.

mfg
schwedenmann
 
Nun gut, dann benutzt man eben ein Open-Source Betriebssystem wie zum Beispiel Linux. Aber auch hier gibt es ja proprietäre Treiber und es tut sich das selbige Problem auf. Ist die Lösung aus diesem Dilemma also ein komplett offenes System ala Linux-libre?

Wieso Linux-libre?
Du bist ja nicht gezwungen, proprietäre Treiber zu nutzen. Ob die os Treiber jedoch genauso effizient sind, ist eine andere Frage. Jedoch die Distributionen, die ich kenne fragen einen eigentlich, ob man nur os Programme (Treiber) installieren will oder proprietäre Von daher muss da eigentlich keine neue Lösung erstellt werden.

Übrigens kann die ganze Frage m.M.n. noch erweitert werden. Wie installierst du das OS Betriebssystem? Lädst du dir die ISO runter oder erstellst du sie dir anhand des Quellcodes selber? (Schöne Diskussion darüber war/ist TrueCrypt)
Wenn du die ISOs nutzt, kannst du sicher sein, dass diese nicht modifiziert sind?
Auch die Updates kommen ja meist über Paketmanager. Überprüfst du diese auch bevor du sie installierst?

OS/CS ist einfach nur eine Glaubensfrage. Ich persönlich finde den Gedanken hinter Open Source einfach toll und nutze es daher gerne und würde, wenn ich die Zeit habe auch in diese Richtung so gut es geht die Leute zu Unterstützen.

Auch OS besitzt Fehler die ausgenutzt werden können. Aber wenn ich so die News verfolge habe ich das Gefühl, dass sich CS Programm Hersteller beim fixen von Bugs mehr Zeit lassen als die Hersteller von OS Programmen.
 
Aber auch hier gibt es ja proprietäre Treiber und es tut sich das selbige Problem auf. Ist die Lösung aus diesem Dilemma also ein komplett offenes System ala Linux-libre?
Wegen proprietärer Treibern und besonders der Offenheit:
was vielen imho nicht so klar ist - noch viel öfters ist die Firmware das "Problem" - und dafür gibt es oft keine Alternative (außer natürlich sich schon vor dem Hardwarekauf Gedanken diesbezüglich zu machen und generell die Hersteller zu bevorzugen, die die Benutzer nicht nur mit Blobs abspeisen ;))

Es gibt nicht umsonst nur eine handvoll von der FSF "akzeptierten" Geräte:
Libreboot X200 laptop now FSF-certified to respect your freedom

Denn neue, "benutzerfreundliche" Technologien haben auch einige Schattenseiten:
Blaze's Security Blog: Thoughts on Absolute Computrace
Absolute Computrace Revisited - Securelist
Research

Mich würden mal eure Gedanken zu dem Thema interessieren und auch wie ihr das für euch handhabt?
Habe absolut keine Problem damit, jegliche unvertrauenswürdige Software (und das können auch durchaus Opensourceprojekte sein - kontrollieren lässt sich nun mal bei weitem nicht alles) in einer VM laufen zu lassen ;).
Btw: und der Kernel wird natürlich selbst kompiliert (selbstverständlich wegen dem Freiheitsgedanken! Und nicht etwa, weil es mal Probleme mit SuspendToRam gab und dann, mit der Zeit auch noch ein paar eigene kleinere Patches dazu kamen - und man mittlerweile lieber alle paar Wochen 5 Minuten für die Kompilierung in Kauf nimmt, als irgendetwas umzustellen ;) )
 
Insbesondere komme ich zu dem Schluss, dass jegliche Benutzung von Closed-Source Software die Sicherheit eines Systems in die Hände ihrer Entwickler legt[...].

Das gilt doch für beide Lizenzarten. Die Sicherheit liegt immer in der Hand der Entwickler. Wenn sie sich nicht mit Sicherheit auseinandersetzen, dann ist die Software wahrscheinlich unsicher. Wo, glaubst du, wird man mehr auf Sicherheit achten? Bei einer kommerziell vertriebenen Software, oder bei einem privat entwickelten kleinen Projekt?

Wie du siehst ist nicht die Lizenz das ausschlaggebende, sondern das Geschäftsmodell der EntwicklerInnen: Die meisten OS Projekte sind Hobbyprojekte und haben damit kein Geschäftsmodell oder werden für einen netten Zusatzverdienst entwickelt. Das betrifft nicht nur irgendwelche kleinen Projekte zur Berechnung von Planetenlaufbahnen oder chemischen Reaktionen, sondern auch Software, auf der die Sicherheit des Internets grundlegend aufbaut, wie man am Beispiel openssl sehen kann. Trotz der hohen Verbreitung von OpenSSL ist es kein kommerzielles Projekt und die Entwickler müssen sich daher aus kommerzieller Sicht kaum Gedanken machen. Die Gedanken, die sie sich machen, stammen vielmehr aus der Ideologie hinter dem Projekt und dessen Verbreitung. Man möchte ja nicht als Buhmann oder Buhfrau da stehen, wenn man die Bugs nicht fixed.
Anders sieht es aus bei kommerziellen Projekten, d.h. Projekte, deren Entwicklung von einem Kundenstamm gestützt wird. Hier sind Security Issues wichtig, da sie kommerziellen Verlust bedeuten können, nämlich dann, wenn Kunden aus Sicherheitsgründen abspringen. Hier wird man also auf Sicherheit achten müssen - gezwungenermaßen. Was glaubst du, warum z.B. SDL von Microsoft entwickelt wurde und nicht von irgendwelchen Open-Source-Nerds? ;)

Die Lizenz ist schlussendlich nicht ausschlaggebend für die Sicherheit. Die Lizenzwahl ist dann wichtig, wenn du mit Software Geld verdienen willst und auf "Fame" aus bist. Das Linux Projekt hat gezeigt, dass man mit einem kleinen Projekt hoch hinaus kommt, wenn man es Open Source stellt. Open Source unterstützt die Verbreitung und den Vertrieb, nicht aber die Sicherheit (siehe OpenSSL). Natürlich gibt es aber auch andere Vertriebsmodelle, z.B. die von Microsoft, Oracle und Co.
 
Zuletzt bearbeitet:
Anders sieht es aus bei kommerziellen Projekten, d.h. Projekte, deren Entwicklung von einem Kundenstamm gestützt wird. Hier sind Security Issues wichtig, da sie kommerziellen Verlust bedeuten können, nämlich dann, wenn Kunden aus Sicherheitsgründen abspringen. Hier wird man also auf Sicherheit achten müssen - gezwungenermaßen. Was glaubst du, warum z.B. SDL von Microsoft entwickelt wurde und nicht von irgendwelchen Open-Source-Nerds? ;)
Das ist zwar im Prinzip völlig richtig, trifft aber in der Realität oft nur bei jenen Unternehmen zu, welche diesbezüglich bereits negative Erfahrungen gemacht haben. :wink:

Man könnte auch anders herum Argumentieren und behaupten, dass finanzielle Interessen zu schwerwiegenderen "Deadlines" führen (und damit zu "Stress"), was sich in "schlampigen" Implementationen äußern kann. Das vor allem, wenn Sicherheitsaspekte nicht konzeptionell bereits eine angemessene Rolle gespielt haben.

Das Lizenzmodell einer Software ist sicherlich nicht ausschlaggebend, oder gar ein Garant, für sichere Software. Es sind aber wohl teilweise unterschiedliche Faktoren, die je nach Lizenzmodell zu unsicherer Software führen können.
Das sich im OpenSource-Segment mehr unprofessionelle Entwickler finden, erscheint plausibel (wer anfängt und kleine Software der Menschheit zur Verfügung stellen möchte, wird wohl eher zu OpenSource-Lizenzen greifen, nicht zuletzt aus ideologischen Gründen). Wohingegen gerade Schwachstellen aufgrund von Zeitdruck sich wohl eher im kommerziellen Segment finden, zumindest bei kleineren Unternehmen / Projekten.

Der Gedanke, OpenSource sei sicherer, schließlich können und werden hier viele unbeteiligte Programmierer den Code prüfen, ist durch zahlreiche Beispiele belegt eher falsch. Auch Angreifer schrecken natürlich nicht davor zurück, dass in OSS mögliche "Backdoors" schneller erkannt werden könnten.

Am Ende ist die Frage nach einem sicheren System von vielen Faktoren abhängig, das Lizenzmodell spielt hierbei imho eine eher untergeordnete Rolle. Die Frage lässt sich auch nicht ganz ohne die Bedrohung beantworten, gegen die man sich absichern möchte. So wird man wohl bei proprietärer Software amerikanischer Unternehmen weniger geschützt vor NSA-Backdoors sein, wie bei OpenSource-Projekten mit Entwicklern aus aller Welt. :wink: Kategorisch gilt diese Aussage aber natürlich nicht...

Sicherheit sollte zwar idealerweise nicht, ist aber häufig auch eine Frage des Vertrauens. Aber bekanntlich ist Kontrolle ja besser, weshalb ein gutes "Sicherheitskonzept" auch das Versagen von Maßnahmen mit einschließt, Stichwort Intrusion Detection.
 
Man könnte auch anders herum Argumentieren und behaupten, dass finanzielle Interessen zu schwerwiegenderen "Deadlines" führen (und damit zu "Stress"), was sich in "schlampigen" Implementationen äußern kann. Das vor allem, wenn Sicherheitsaspekte nicht konzeptionell bereits eine angemessene Rolle gespielt haben.

Und die agile PM-Methode der indischen Entwicklerfirma tut ihr übriges :D

Aber bekanntlich ist Kontrolle ja besser, weshalb ein gutes "Sicherheitskonzept" auch das Versagen von Maßnahmen mit einschließt, Stichwort Intrusion Detection.
Intrusion Detection ist hier zu eng gefasst und bezeichnet in aller Regel auch nur die technische Seite, nicht aber die Prozesse, die dahinter hängen (müssen). Incident Management trifft es da besser: Von der Erkennung eines Bugs, über geeignete und effiziente Maßnahmen zur Behebung, bis zum Patchmanagement gerade bei Legacy-Software muss letzten Endes alles bedacht werden. Das kostet Zeit und Zeit ist bekanntlich Geld, das den meisten OSS-Developern fehlt und das die meisten Entwicklungsbuden nicht investieren wollen. Damit stehen wir heute vor dem Problem, dass eigentlich nur große Häuser solche Prozesse überhaupt in ihrer Organisation implementiert haben und alle anderen darauf verzichten.

Wir lernen: Die Probleme kommen aus der Organisation, nicht aus der IT :D
 
Danke erst einmal für eure Antworten.

Es ist relaitv unabhängig von CS/OS, es hängt ein wenig vom Angreifermodell ab ;)

Es gibt drei (einfache) Maßnahmen um das System abzusichern:
1) Regelmäßige Updates: 0days sind teuer, daher benutzen Kriminelle idR bereits bekannte Bugs um fremde System anzugreifen.
2) Gesunder Menschenverstand: Noch einfacher als bekannte Bugs auszunutzen ist es den Benutzer einfach zu fragen Malware zu installieren. Dh, nicht irgendwelche Programme runterladen und ausführen, die versprechen irgendetwas tolles zu machen, was sonst keiner kann (zB $SocialMediaHackTool, $Cheats... es gilt: Wenn es zu gut klingt um Wahr zu sein, dann ist es das auch nicht).
3) Vielfalt: Kriminelle betreiben MinMax Prinzip, minimaler Aufwand maximaler Belohnung. Wenn eine Mehrheit IE/Windows benutzt, wird der Angriff gegen IE/Windows laufen. Also sollte man versuchen möglichst eine Konfiguration zu benutzen, die sonst niemand benutzt. Hier kommt es dann zwangsläufig zum Hipster-Dilemma©: Wenn jeder vom Mainstream abweichen möchte, bildet sich zwangsläufig ein neuer - da nicht jeder Zeit hat sein eigenes OS/Browser zu schreiben. Da der Marktanteil von Linux/Mac kleiner ist, stehen dessen Benutzer relativ weit unten auf der Angriffsliste von Kriminellen. Das heißt aber nicht, dass beide Systeme mehr Sicherheit bieten. Zum einen erhöhen Sicherheitslösungen wie EMET(Windows)/grsecrity(Linux) die Sicherheit vom System, zum anderen sorgen sie dafür, dass Konfiguration des Systems sich von anderen unterscheidet (Vielfalt).

Wenn du die drei Punkte beachtest, hast du eine gute Chance, dass dein System sicher ist, egal ob nun CS oder OS. Hast du allerdings aus irgendwelchen Gründen die NSA als Gegner hilft dir das alles nichts, da diese über die Resourcen verfügen um sämtliche von dir gestellten Probleme zu lösen.

Die Frage war eher in dem Kontext gemeint, dass ich diese grundlegenden Maßnahmen bereits befolge und mich nun vor den Spähattacken der Geheimdienste absichern möchte. Und ja ich stimme mit dir überein, wenn du die NSA als Gegner hast hilft dir alles nicht mehr. Sprich wie kann ich es Ihnen zumindest möglichst schwer machen an meine Daten zu kommen, sodass ich zumindest Spähmaßnahmen, die nicht speziell auf mich fokussiert sind, entgehe.

In dem Kontext ist auch meine Aussage zu sehen, dass man mit Closed-Source Software die Sicherheit eines Systems in die Hände ihrer Entwickler legt. Denn in diesem Fall hängt es ja von diesen ab, ob sie ein Backdoor einbauen oder nicht und im Gegensatz zu Open-Source Software gehen sie hier auch kein hohes Risiko ein entdeckt zu werden. Und soweit ich das richtig verstanden habe, können alle US Firmen genau dazu angehalten werden, sodass Windows, OSX, etc. meiner Auffassung nach "unsicher" sind.

Grüße!
 
Und überprüfst du, dass die Linux Binaries, die du benutzt, auch wirklich 1:1 das machen, was im Source Code steht? Oder könnte es auch sein, dass die Binaries von einem Source Code entstammen, der eine Backdoor enthält und dann der Source Code ohne Backdoor veröffentlicht wird?

Mal abgesehen davon, dass die Anzahl der Menschen, die Kernelcodes, Cryptocodes oder Netzwerkstacks lesen und verstehen können sehr sehr sehr gering ist. Und die Anzahl der Menschen die in solch komplexen Codes Fehler identifizieren können, durch reines Codereading, ist noch geringer.

Das Ausschlaggebende ist das Entwicklungsmodell. Stehen kommerzielle Interessen im Sinne von Gewinnen und Wachstum dahinter, so leidet die Qualität und Sicherheit idR. immer unter dem Innovationsdruck. Und wer meint, Linux sei nicht kommerziell, sollte sich mal vor Augen führen dass das allermeiste innovative Zeug von Unternehmen, bzw. deren Mitarbeitern, gesponsert wird. OpenSource wird genauso kommerziell genutzt wie andere Software, nur eben mit anderen Lizenzmodellen, die andere Vertriebsmöglichkeiten bedingen.
 
Sicherheit

Hallo

@schwarzebeere
Die meisten OS Projekte sind Hobbyprojekte und haben damit kein Geschäftsmodell oder werden für einen netten Zusatzverdienst entwickelt. Das betrifft nicht nur irgendwelche kleinen Projekte zur Berechnung von Planetenlaufbahnen oder chemischen Reaktionen, sondern auch Software, auf der die Sicherheit des Internets grundlegend aufbaut, wie man am Beispiel openssl sehen kann. Trotz der hohen Verbreitung von OpenSSL ist es kein kommerzielles Projekt und die Entwickler müssen sich daher aus kommerzieller Sicht kaum Gedanken machen. Die Gedanken, die sie sich machen, stammen vielmehr aus der Ideologie hinter dem Projekt und dessen Verbreitung. Man möchte ja nicht als Buhmann oder Buhfrau da stehen, wenn man die Bugs nicht fixed.
Anders sieht es aus bei kommerziellen Projekten, d.h. Projekte, deren Entwicklung von einem Kundenstamm gestützt wird. Hier sind Security Issues wichtig, da sie kommerziellen Verlust bedeuten können, nämlich dann, wenn Kunden aus Sicherheitsgründen abspringen.

Das war jetzt aber Ironie:rolleyes:

Falls du das wirklich ernst meinst, was ist dann mit all den bugs der großen IT-Firmen, alles fud.
Den großen IT-Firmen juckt das relativ wenig, ob bugs da sind oder nicht, wenn die Kundenbasis groß ist und das Produkt weit verbreitet ist. Der Kunde kann ev. wechseln, tut es aber nicht, weil er keine Alternative hat, eben Markmacht. Das gibt dann zwar eine kleinen Imageschaden (siehe das letzte win update-Debakel, der wird aber meist nur vom Konkurrent als solcher wahrgenommen)), aber win wird weiter gekauft;).
Diese


Außerdem ist es wie in der Politik, das Gedächtnis der Leute ist kurz. Um bei MS zu bleiben der IE ist bis in alle Ewigkeit vermurkst, trotzdem schmeißt MS den erst bei win10 aus dem Programm, wenn sie es mit der Sicherheit ernst meinsten, würden sie das teil sofort entfernen, weil zu unsicher und nichtt fixbar:D, schließ0lich haben sie lange genug Zeit dazu gehabt. Anderes Beispiel wäre flash, fällt auch immer wieder durch bugs auf.

mfg
schwedenmann
 
Den großen IT-Firmen juckt das relativ wenig, ob bugs da sind oder nicht, wenn die Kundenbasis groß ist und das Produkt weit verbreitet ist.
Ich kann dir nur empfehlen, dich mit der Entwicklung wichtiger Sicherheitsmechanismen auseinanderzusetzen. Am einfachsten geht das bei der IETF: Ein einfacher Blick in die Autorenlisten der Standards wird dir sehr schnell klar machen, wer wirklich in die Weiterentwicklung von Sicherheitsmechanismen investiert. Das sind nicht irgendwelche Open Source Gurus, Hippies oder Anti-KapitalistInnen. Das sind Cisco, Google, Microsoft, usw.. Du kannst auch tiefer bohren: Microsoft Research ist für essentielle Entwicklungen in der IT- und Informationssicherheit verantwortlich, unter anderem der weit verbreitete SDL, ActiveDirectory in Unternehmen, Microsoft Azure, usw... Nicht wenige Paper werden von den Research-Abteilungen von Intel, Google oder SAP verfasst. Nicht wenige kluge Köpfe arbeiten dort. Ein anderes Beispiel sind die vielen großen Industrie- und Wirtschaftskonsortien, z.B. Kantara, TCG, ..., die einen nicht unerheblichen Einfluss auf die Sicherheit ausüben, da genau damit Geld verdient werden kann. Security ist heute kein Minusgeschäft mehr, das nur Investitionen fordert, aber keine Vorteile bietet. Der Grundgedanke, dass Investitionen in IT- und Informationssicherheit gewinnbringend sein können, ist heute weitestgehend akzeptiert, weswegen deine Aussage heute (zum Glück) schlichtweg falsch ist.

Schliesst man mal die üblichen dedizierte Sicherheitsprojekte wie OpenBSD, OpenSSL und Co. aus, so gibt es heute nur sehr wenige nicht-kommerzielle Projekte, die sich für ihre Sicherheit interessieren. Warum auch: Der Sinn hinter einem Produkt ist nicht die Sicherheit, sondern z.B. der Spielspaß bei einem Game. Es gibt genügend Studien (z.B. hier), die diese Aussage unterstützen. Die meisten Entwickler interessieren sich nunmal nicht für Security, weswegen die einfache Implementierung sicherer Funktionen heute ein großes Thema ist.
 
Zurück
Oben