Vergiftung der Quelle


  Share  
|

So haben wir eine Vielzahl des Gebrauches der schlechten Kerle der Techniken, Trojan Horsefunktionalität in unsere Systeme zusammenzudrücken gesehen. Jedoch, möglicherweise bezieht der lästigste Trojan Horsevektor mit ein, böswilligen Code in ein Software-Produkt einzusetzen, bevor er sogar freigegeben wird. Angreifer konnten Trojanize Programme während der des Software-Entwicklung und Prüfung Verkäufers Prozesse. Nehmen Sie Mieten eines Angreifers an als Angestellter an einem Haupt-Software-Entwicklung Geschäft oder Freiwilliger an, um Code zu einem geöffneten Quell-Software-Projekt beizutragen. Das Ziel konnte alles sein; ein Hauptbetriebssystem, ein allgemein verwendetes Unternehmenhilfsmittelplanung Werkzeug oder sogar ein sehr geheimes Programm, das durch Bänke verwendet wurde, um ihre Kapital Übertragung zu handhaben wurden alle Marke saftigen Ziele. Als Entwickler oder sogar Prüfvorrichtung konnte der Angreifer ein verhältnismäßig kleines heimliches von kleiner als 100KB des Codes innerhalb der Hunderte Megabytes des gesetzmaßigen Codes einsetzen. Die ist wirklich eine Nadel in einem Heuschober! Alle mögliche Benutzer, die das Produkt kaufen, würden dann unwittingly ein Trojan Horse kaufen und es auf ihre Systeme anbringen. Das vollständige Software-Produkt selbst wird das Trojan Horse, tut nützliches etwas (das ist, warum Sie es kaufen oder downloaden), dennoch verdeckt heimliches dieses.

Ken Thompson, notiertes UNIX cocreator und der C Programmiersprache Guru, besprochen dem Wert des Steuerns des Quellenprogramms und der Möglichkeit des Errichtens von von backdoors in ihm in seinem berühmten Papier 1984 betitelte "Reflexionen auf dem Vertrauen des Vertrauens." In diesem klassischen Papier beschrieb Thompson, das Quellenprogramm für einen Compiler zu ändern, damit er ein heimliches in allen Code errichtete, den es kompiliert. Der vorgeschlagene Angriff war besonders heimtückisch, wie sogar ein nagelneuer Compiler, der mit einer Trojan Version des alten Compilers kompiliert wird, das heimliche in ihm, auch haben würde. Diese Allee des Angriffs ist lang ein Interesse gewesen und ist ein sogar grösseres mögliches Problem heute.

Dieses Interesse ist sogar, störend als das Trojaning der Software-Verteilung Aufstellungsorte, die wir im letzten Abschnitt besprachen. Wenn ein Angreifer Trojanizes ein Software-Verteilung Aufstellungsort, die Entwickler der Software mindestens eine saubere Version der Software haben, die sie vergleichen können gegen, um das subterfuge zu ermitteln. Probleme auszuweichen ist nach Entdeckung verhältnismäßig einfacher, da eine saubere Version der Software auf die Web site für Verteilung gesetzt werden kann. Andererseits wenn ein Angreifer ein Trojan Horse während des Software-Entwicklung Prozesses einbettet, konnte der Verkäufer nicht eine Reinschrift sogar haben. Wenn die Angreifer besonders gescheit sind, greifen sie ein kleines, inconspicuous heimliches während des normalen Codes ineinander und bilden Entwurzelung extrem schwierig. Der Software-Entwickler würde enorme Quantitäten des Codes ablichten müssen, um die Vollständigkeit eines vollständigen Produktes sicherzustellen. Das größer das Software-Produkt, schwieriger werden die Abfragung und die Entwurzelung. Lassen Sie uns analysieren, warum dieses so ist.

Kodieren Sie Den Einfacheren Kompliziertheit Marken Angriff

Die meisten modernen Software-Werkzeuge sind im Bereich beträchtlich. Das Ermitteln hört im Code, geschweige denn backdoors ab, ist sehr schwierig und teuer. Muß ein Software-Produkt, ein schlechter Angestellter nicht sogar wirklich ein gesamtes heimliches in das Produkt schreiben Trojanize. Stattdessen könnte der böswillige Entwickler Code zweckmäßig schreiben, der einen verwertbaren Fehler, wie ein Pufferüberlauf enthält, der einen Angreifer die Maschine würde übernehmen lassen. Effektiv fungiert solch ein zweckmäßiger Fehler wie ein heimliches gerecht. Wenn der Fehler hinter der prüfenmannschaft der Software schleicht, würde der Entwickler das einzige sein, wer in der Bohrung zuerst auskennt. Indem er diesen Fehler ausnutzte, könnte der Entwickler alle mögliche Systeme mit seinem oder Code steuern.

Erhalten ein Gefühl für, wie leicht solch ein absichtlicher Fehler oder sogar ein volles Trojan Horse hinter Software-Entwicklung Qualitätsprozessen quietschen konnten, lassen Sie uns betrachten die Qualitätsschiene Aufzeichnung der Informationstechnologieindustrie über Zeit. Software-Qualitätsprobleme haben uns für Dekaden gequält. Mit der Einleitung der höheren Dichtespäne, der Glasfasertechnologie und der besseren Festplattenlaufwerke, fahren Kleinteile fort, zuverlässigere Überzeit zu erhalten. Software bleibt andererseits störrisch entstellt. Hat Watt Humphrey, ein Software-Qualitätsguru und Forscher Carnegie Mellon von der Universität, Übersichten in die Zahl Fehlern geleitet, Software-, dieEntwickler allgemein machen, wenn sie Code schreiben. Verschiedene Analysen haben aufgedeckt, daß, auf Durchschnitt, ein typischer Entwickler versehentlich zwischen 100 und 150 Defekten pro 1.000 Linien Code einführt. Diese Ausgaben sind völlig versehentlich, aber ein einzelner absichtlicher Fehler könnte innen außerdem geschlichen werden.

Obgleich viele dieser Störungen die einfachen syntaktischen Probleme sind, die leicht durch einen Compiler entdeckt werden, ergeben ein gutes Abkommen der restlichen Defekte häufig den Mund aufsperrende Sicherheit Bohrungen. Tatsächlich im wesentlichen ist eine Sicherheit Verwundbarkeit die sehr kontrollierte Ausnutzung einer Wanze wirklich gerecht, zum des spezifischen Ziels eines Angreifers zu erzielen. Wenn der Angreifer Programmausfallen in einer Weise bilden kann, die den Angreifer (durch das Zerschmettern des Systems, das Erbringen des Zuganges oder das Anzeigen der vertraulichen Informationen) fördert, gewinnt der Angreifer. Sehr konservativ schätzen, wenn nur ein in 10 der Defekte in der Software Sicherheit Implikationen hat, daß Blätter zwischen 10 und 15 Sicherheit Defekten pro 1.000 Linien Code. Diese Zahlen gerade schauen nicht sehr ermunternd.

Ein kompliziertes Betriebssystem wie Microsoft Windows XP hat ungefähr 45 Million Linien Code, und diese gigantische Zahl wächst, während neue Eigenschaften und Flecken freigegeben werden. Andere Betriebssysteme und Anwendungen haben sehr große Mengen des Codes außerdem. Die Vermehrung für XP tuend, konnte es ungefähr 450.000 Sicherheit Defekte in Windows.xp alleine geben. Selbst wenn unsere Zurück-von-dumschlag Berechnung durch einen Faktor von 100 zu hoch ist, könnte die ruhige Sicherheitsschwachstellen des Mittels 4.500. Autsch! In der Tat gab der sehr gleiche Tag, daß Windows.xp im Oktober 2001 ausgestoßen wurde, Microsoft whopping 18 Megabytes Flecken für ihn frei.

Erhalten Sie mich nicht falsch; Ich liebe Windows.xp. Zu verwenden ist weites zuverlässigeres und einfacher als vorhergehende Freigaben von Windows. Es ist definitiv eine Bewegung in der rechten Richtung von diesen Perspektiven. Jedoch ist dieses eine Abbildung des Sicherheit Problems gerecht, das in den großen Software-Projekten zugehörig ist. Es ist nicht Microsoft herausgibt auch nicht gerecht; die gesamte Software-Industrie ist das Einführen größer, kompliziertere, ultra-Eigenschaft-reichere (und manchmal Eigenschaft-beladene) Programme mit Tonnen Sicherheitsschwachstellen. Während der Software-Industrie sehen wir sehr fruchtbaren Boden für einen Angreifer, um ein subtiles Trojan Horse zu errichten.

Test? Welcher Test?

Trotz dieser Sicherheit Wanzen denken einige Völker noch, daß der prüfenprozeß, der von den Entwicklern eingesetzt wird, uns speichert und Trojan Pferde findet, bevor die verdorbenen Produkte die Regale schlagen. Ich pflegte, meine Interessen auf dieses Argument außerdem zu lindern. Es half mir, nachts besser zu schlafen. Aber es gibt ein anderes Maß, hier, zum im Verstand zu halten, um Ihren ruhigen Schlummer zu zerstören: Ostereier. Entsprechend dem Osterei-Archiv™wird ein Osterei wie definiert:

Irgendein amüsanter Leckerbissen, daß Schöpfer in ihren Kreationen sich versteckten. Sie konnten in der Computer-Software, in den Filmen, in der Musik, in der kunst, in den Büchern oder sogar in Ihrer Uhr sein. Es gibt Tausenden von ihnen, und sie können durchaus unterhalten, wenn Sie wissen, wo man schaut.

Ostereier sind jene unvorhergesehenen goofy kleinen "Eigenschaften" squirreled weg in Ihrer diesen Software (oder in anderen Produkten) knallen oben unter ganz speziellen Umständen. Z.B. wenn Sie das Programm beim Niederhalten der E, F und S Schlüssel laufen lassen, konnten Sie erhalten, eine dorky Abbildung des Programmentwicklers zu sehen. Das Osterei-Archiv behält eine Vorlagenliste dieser kleinen Edelsteine an www.eeggs.com, mit mehr als 2.775 Software Ostereiern auf Aufzeichnung ab diesem Schreiben bei.

Was beziehen Ostereier Trojan Pferden in der Software mit ein? Viel tatsächlich. Ein Osterei ist wirklich eine Form von Trojan Horse, obwohl von a (gewöhnlich) gutartiges. Jedoch wenn Software-Entwickler ein gutartiges Osterei hinter der prüfenden und Qualitätssicherung Mannschaften Software schleichen können, gibt es keinen Zweifel in meinem Verstand, daß sie ein Trojan Horse oder absichtlichen einen Pufferüberlauf ähnlich außerdem führen konnten. Tatsächlich konnte der Angreifer das heimliche innerhalb eines Ostereies sogar setzen, das innerhalb des Hauptprogramms eingebettet wurde. Wenn die Prüfung und Qualitätssicherung Mannschaften nicht das Osterei beachten oder sogar es aber lassen es durch beachten, überprüfen sie wahrscheinlich es nicht auf solche versteckte Funktionalität. Zu mir prüft das Bestehen der Ostereier ziemlich offenbar, daß ein böswilliger Entwickler oder eine Prüfvorrichtung böse versteckte Funktionalität innerhalb des Produktcodes setzen und sie durch Produktfreigabe erhalten konnten, ohne beachtet zu werden.

Um ein Gefühl für ein Osterei zu erhalten, lassen Sie uns ein betrachten einbettete innerhalb eines populären Produktes, Microsoft übertreffen Kalkulationsprogramm. Übertreffen Sie ist ziemlich berühmt für seine Ostereier. Eine frühere Version des Programms, übertreffen 97, eingeschlossen einem Flugsimulatorspiel. Eine neuere Version, übertreffen 2000, einschließt ein Auto-treibendes Spiel, das Dev Hunter genannt wird.

Damit dieses Osterei arbeitet, müssen Sie, haben 2000 zu übertreffen (vor Service-Freigabe 1), der Internet Explorer und DirectX angebracht auf Ihren Computer. Um das Osterei zu aktivieren und das Spiel zu spielen, müssen Sie das folgende tun:

  • Laufen Sie Übertreffen 2000.

  • Unter dem Akte Menü wählen Sie außer als Webseite vor.

  • Auf der Sicherungsschnittstelle auserwählt veröffentlichen Sie und klicken Sie dann den hinzufügenwechselwirkungkasten.

  • Klicken veröffentlicht, um die resultierende htm Seite auf Ihrem Antrieb zu speichern.

  • Zunächst öffnen Sie die htm Seite, die Sie gerade mit Internet Explorer herstellten. Der unbelegte Verteilungsbogen erscheint mitten in Ihrer Internet Explorer Browser Window.

  • Ist hier das tricky Teil. Scroll unten, um 2000 und Überschuß zu Spalte WC zu rudern.

  • Jetzt wählen Sie die Ganzheit von Reihe 2000 vor, indem Sie auf der 2000 Zahl links von der Reihe klicken.

  • Schlagen Sie die Tabulatortaste, um WC die aktive Spalte zu bilden. Diese Spalte ist weiß, während die anderen Spalten in der Reihe verdunkelt werden.

  • Halten Sie Shift+Ctrl+Alt und klicken Sie nieder gleichzeitig das Microsoft Office Firmenzeichen in der oberen linken Ecke des Verteilungsbogens.

  • In eine Sekunde oder zwei läuft das Spiel.

  • Benutzen Sie die Pfeiltasten, um zu fahren und zu steuern und die Leertaste abzufeuern. Die O Tastenhübe ölen slicks, um die anderen Autos zu verwirren. Wenn es Dunkelheit erhält, können Sie den H Schlüssel verwenden, um Ihre Scheinwerfer einzuschalten.

Wenn das Spiel nicht auf Ihrem System hervorgerufen wird, ist es wahrscheinlich, weil Sie Service-Freigabe 1 oder eine neuere Version von Microsoft Excel angebracht auf Ihre Maschine haben, die nicht das Osterei miteinschließt. Sie konnten hinunter eine frühere Version von Microsoft Excel oder gerechtes Nehmen mein Wort für es jagen.

Jetzt kümmern Sie sich um Sie, diese "Eigenschaft" ist in einem Verteilungsbogen, ein Büroproduktivitätprogramm. Abhängig von Ihrer Denkrichtung konnte es schrullig und Spaß sein. Jedoch, wie erhält solch eine Sache hinter dem Software-Qualitätsprozeß (der Schreibtischtests für ein Programm einschließen sollte) und prüfenmannschaft? Möglicherweise beachteten die Qualitätssicherung und die Prüfpersonal sie nicht. Oder, möglicherweise waren die Qualitätssicherung Völker und die Prüfvorrichtungen in den cahoots mit den Entwicklern, zum zu sehen, daß das Spiel in die Produktion Freigabe enthalten erhielt. Jede Weise, werde ich mit den Aussichten eines Trojan Horse betroffen, das in einer ähnlichen Weise an anderen Verkäufern eingesetzt wird.

Wieder wähle ich nicht auf gerechtem Microsoft hier aus. Tatsächlich hat Microsoft über den letzten Paaren von Jahren in Bezug auf diese Interessen besser erhalten. Neue Service-Sätze oder heiße Verlegenheiten häufig und quetschen schnell alle mögliche Ostereier, die in den früheren Freigaben eingeschlossen sind. Microsoft verläßliche rechnende Initiative, obgleich häufig derided, fängt an, etwas Frucht als weniger und wenig Sicherheit Verwundbarkeit und Ostereier zu tragen scheinen zu kommen, in den Microsoft Programmen zu vermarkten. Jedoch sage ich dieses mit großem Zögern, da ein anderes sehr großes den Mund aufsperrendes Ei entdeckt werden könnte jeder möglicher Tag. Noch unterstreichend, daß dieses nicht eine Microsoft-only Ausgabe ist, haben viele andere Software-Entwicklung Geschäfte die Ostereier, die in ihren Produkten, einschließlich Apple-Computer, Norton, luftgetrockneter Ziegelstein, Quark, das geöffnete Quellmozilla web browser und die Oper Datenbanksuchroutine eingeschlossen sind. Die Liste geht an und weiter und wird heraus buchstabiert, damit die Welt an www.eeggs.com sieht.

Die Bewegung In Richtung Zur Internationalen Entwicklung

Ein abschließender Bereich des Interesses betreffend ist böswillige Software-Entwickler und Trojan PferdeIST mit dem Code verbunden, der um die Welt sich entwickelt wird. Software-Hersteller beruhen in zunehmendem Maße auf in hohem Grade verteilten Mannschaften um den Planeten, um Code zu verursachen. Und warum nicht? Von einer ökonomischen Perspektive haben zahlreiche Länder Bürger mit Oberseite-Kerbe Software-Entwicklung Fähigkeiten und senken viel Arbeitsrate. Obgleich die Volkswirtschaft sinnvoll ist, taucht die Trojan Horsewertpapieremission viel größer mit dieser Art der Software-Entwicklung auf.

Nehmen Sie Sie, ein Stück an Software vom Verkäufer zu kaufen oder zu downloaden X. Dieser Verkäufer schließt der Reihe nach mit Verkäufern Y und Z Vertrag ab, um bestimmte Teile des Codes zu entwickeln. Unterschiedliche Subkomponenten der Nebenverträge des Verkäufers Z der Arbeit zu drei unterschiedlichen Ländern um die Kugel. Bis das Produkt auf Ihrem Festplattenlaufwerk sitzt, konnten Tausenden Hände, die über den Planeten verteilt wurden, mit einbezogen worden sein, wenn man ihn entwickelte. Einige jener Hände konnten ein böses heimliches errichtet haben. Schlechter schon, trifft die gleiche Analyse auf die finanziellen Hintersysteme zu, die durch Ihre Bank und die Datenbankprogramme unterbringen Ihre medizinischen Aufzeichnungen benutzt werden. Informationen Sicherheit Gesetz- und Zuverläßlichkeit von Produktenrichtlinien schwanken erheblich von Land zu Land, wenn viele Nationen sehr robuste Regelungen nicht an allen haben.

Dieses InteresseIST nicht mit dem Sittlichkeitsgefühl der Entwickler in zahlreichen Ländern verbunden. Stattdessen beschäftigt das Interesse das Niveau der Qualitätskontrolle, das mit begrenztem Vertrag und regelnden Tragkonstruktionen angewendet werden kann. Auch die gleichen ökonomischen Effekte, die Entwicklung zu den Ländern mit weniger kostspieligem Entwicklung Personal fahren, konnten das Problem verbittern. Ein Angreifer konnte in der LageSEIN, einen Entwickler zu bestechen, der $100 eine ein Woche oder Monat in das Setzen ein heimliches in Code für sehr kleines Geld bildet. "ist hier ein Gehalt 10 Jahre … ändern bitte zwei Linien Code für mich" konnte alles sein, das es nehmen würde. Wir möchten nicht xenophobic sein hier; internationale Software-Entwicklung ist eine Wirklichkeit mit bedeutendem Nutzen im heutigen Informationstechnologiegeschäft. Jedoch müssen wir auch erkennen, daß sie die Sicherheit Gefahren der Trojan Pferde oder der absichtlichen Software-Fehler erhöht.

Verteidigung gegen die Vergiftung der Quelle

Wie können Sie von einem Trojan Horse sich verteidigen, das von einem Angestellten Ihres Software-Entwicklung Hauses errichtet wird? Dieses ist eine besonders haltbare Frage, da Sie wenig Steuerung über der Entwicklung der beträchtlichen Majorität der Software auf Ihren Systemen haben. Noch gibt es Sachen alle, die wir als Gemeinschaft tun können, um diese Situation zu verbessern.

Zuerst können Sie Ihre kommerziellen Verkäufer anregen, robuste Vollständigkeit Kontrollen- und Prüfungsregierungen für ihre Produkte zu haben. Wenn sie nicht, sie oben schlagen und bedrohen, andere Produkte zu benutzen. Ich bedeute nicht, sie oben zu schlagen buchstäblich. Ich möchte nicht Gewalttätigkeit, für Güte sakes anreizen. Durch "Schlag sie oben," bedeute ich gebe ihnen eine harte Zeit. Fordern Sie sie heraus. Kreischen Sie an ihnen. Informieren Sie Ihre Software-Entwicklung Verkäufer, wie wichtiger sicherer Code zu Ihren Betrieben ist. Wenn der Markt anfängt, sichereren Code zu verlangen, fangen wir stufenweise an, in diese Richtung Schritt für Schritt fortzubewegen. Zusätzlich wenn Sie eine Menge geöffnete Quell-Software benutzen, Unterstützung die Gemeinschaft mit Ihrer Zeit und Bemühung in verstehenden Software-Fehlern. Wenn Sie die Fähigkeiten haben, helfen Sie heraus, indem Sie geöffnetes Quellenprogramm wiederholen, um sicherzustellen, daß es sicher ist.

Zunächst wenn Sie neue Software kaufen oder downloaden, prüfen Sie sie zuerst, um sicherzustellen es einschließt keine offensichtliche Trojan Horsefähigkeit. Mit einem vollständigen Software-Test und einem Auswertung Prozeß im Haus, konnten Sie einige Trojan Pferde in Ihren Produkten vor jedermann gerade finden sonst Nachrichten sie. Teilen Sie diese Informationen zum Verkäufer mit, um zu helfen, die Ausgabe zu beheben.

Wenn Ihre Organisation irgendeinen Code im Haus entwickelt, stellen Sie sicher, daß Ihre prüfenmannschaft der Software die Probleme Ostereiern, Trojan Pferden und absichtlichen Fehlern berücksichtigt. Traurig werden Software-Prüfvorrichtungen häufig als die untere Reihe des Wertes in der Software-Entwicklung Hierarchie angesehen und normalerweise wenig erhalten Respekt, Anerkennung oder Bezahlung. Jedoch ist ihr Wert zur Sicherheit unserer Produkte paramount. Bilden Sie diese Völker aus, damit sie Code schnell beschmutzen können, der nicht Recht schaut und ihm passendes Managementpersonal berichtet. Belohnen Sie Ihre Prüfvorrichtungen, wenn sie Hauptsicherheit Probleme finden, bevor Sie Software versenden. Geben Sie, zwar acht. Sie möchten nicht Prüfvorrichtungen haben, mit Entwickler zum Spiel den System und Betriebwanzen zu bearbeiten, also können sie mehr Geld verdienen. Das ist wie Haben einer Lotterie, in der Leute ihre eigenen gewinnenden Karten drucken können. Überwachen Sie sorgfältig alle mögliche Wanze Belohnung Programme, die Sie für solches subterfuge verursachen.

Ausserdem stellen Sie sicher, daß Ihre Prüfvorrichtungen und Entwickler über Sicherheit Interessen ohne Repressalien von den hoffnungslosen Managern berichten können, die versuchen, einen strengen Software-Stichtag zu treffen. Abhängig von der Größe Ihrer Organisation und seiner Kultur, konnten Sie ein anonymes tipline einführen sogar müssen, damit Ihre Entwickler über solche Interessen berichten. Indem Sie diese dringend benötigte zusätzliche Aufmerksamkeit zu Ihren Software-Prüfvorrichtungen geben, können Sie zu den Matschproblemen mit Trojan Pferden so gut helfen wie verbessern die gesamte Qualität Ihrer Produkte.

Um diese Denkrichtung während der Kultur Ihrer Software-Entwicklung Mannschaften hineinzugießen, erwägen Sie Ihre Prüforganisation in eine flügge Qualitätssicherung Funktion umzuwandeln. Die Qualitätssicherung Organisation sollte mit Software-Sicherheit Verantwortlichkeit als Facette der Qualität gechartert werden. Errichten Sie Ihren Qualitätssicherung Prozeß in den gesamten Zyklus der Software-Entwicklung, einschließlich Design, Schreibtischtests für ein Programm und die Prüfung. Sie sollten vorsichtige Kontrollen Ihrem Quellenprogramm auch auferlegen und Entwickler erfordern, zu beglaubigen, bevor Sie auf allen möglichen Modulen arbeiten. Alle Änderungen sollten durch einen anderen Entwickler aufgespürt werden und wiederholt werden. Nur mit vollständiger Qualität können Prozesse und Quellenprogrammsteuerung wir die Situation verbessern, die mit untrustworthy Quellenprogramm verbunden ist.

dieses ist ein Artikel, der von Greg McKlein hinzugefügt wird


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions