Software-Sicherheit Anforderungen


  Share  
|

In Verbindung mit dem Kennzeichnen der in Verbindung stehenden Sicherheit Gefahren, die eine spezifische Anwendung oder ein Anwendung Genren bekannt sind, müssen Entwickler die Sicherheit Anforderungen für ihre Anwendung festsetzen. Diese Analyse sollte zu einem ausgeglichenen Maß des Niveaus der Sicherheit kommen erfordert für eine Anwendung. Sie muß nicht die Übermaße des Sicherheit Spektrums erwägen. Das Verständnis, daß zutreffende und garantierte Sicherheit nicht vorhanden ist, gegen bekannte Gefahren sich schützt und die Zahl erfolgreichen Angriffen und ihren Effekten herabsetzt, im Allgemeinen gegeben ein annehmbares Niveau der Sicherheit. Die, die in die Programmentwicklungszeit der Anwendung mit einbezogen werden, sollten ihre Selbst "annehmbares" Sicherheit Niveau, indem sie die bekannten Gefahren feststellen, die überprüfen, Ziele der Anwendung und die Methoden, die verwendet werden, um das gewünschte Sicherheit Niveau einzuführen.

Um zu Sicherheit Anforderungen zu kommen, können Manager und Entwickler es nützlich finden sich auf die folgenden, allgemein bekannten Gefahr Bereiche zu konzentrieren:

· Benutzerauthentisierung und Zugriffssteuerung

· Datenspeicher der vertraulichen Informationen

· Sicherheit in den externen Netzkommunikationen

· Sicherheit der Eingänge für externe Anwendungen und das Betriebssystem

Diesen vier von den allgemeinen Bereichen können Anwendungsentwickleren und Entwickler einen minimalen Satz wichtige Eigenschaften kennzeichnen, um zu analysieren. Abhängig von der Funktionalität der Anwendung, sind etwas Gefahr Bereiche passender als andere.

Sichern oder nicht sichern

Die Hinzufügung der Sicherheit zu einer Anwendung beeinflußt eine Anwendung in einigen Weisen. Sie wird sofort komplizierter, während der Codeweg eine neue Umdrehung nimmt, um die Sicherheit Methoden unterzubringen. Die Leistung einer Anwendung konnte, besonders mit der Hinzufügung der Verschlüsselungbetriebe gehindert werden. Diese Betriebe liegen CPU an den komplizierten betroffenen Algorithmen intensives. Die Leistungsfähigkeit einer Anwendung kann auch geopfert werden, wenn Sicherheit in den Bereichen angewendet wird, in denen sie wenig Nutzen liefert. Dieses kann auftreten, wenn Sicherheit Methoden blind an allen Bestandteilen einer Anwendung ohne Gedanken hinsichtlich ihrer Anforderungen angewendet werden. Die folgenden Abschnitte liefern einen angemessenen Ausgangspunkt, um ein grundlegendes Niveau der Sicherheit Anforderungen festzustellen.

Spitze

Es ist gutes üblich, die Sicherheit zu betrachten erfordert für jedes Modul oder Bestandteil innerhalb einer Anwendung. Widerstehen Sie dem Drängen, umfassende Sicherheit Methoden über mehrfachen Modulen oder Bestandteilen anzuwenden. Stattdessen stellen Sie das verwendbarste Niveau der Sicherheit für jedes fest.

Festsetzen Authentisierung und von von Zugriffssteuerung-Anforderungen

Benutzerauthentisierung wird häufig durch das Betriebssystem angefaßt, auf dem die Anwendung läuft, aber einige Kategorien Anwendung konnten Authentisierung eigenständig beschäftigen müssen. Eingebettete Anwendungen, Anwendungen, die unabhängig vom Betriebssystem arbeiten und verteilte Netzanwendungen müssen häufig irgendein Niveau der Benutzerauthentisierung und der Zugriffssteuerung unterbringen. Allgemeine Beispiele der Anwendungen, die diese Sicherheit Methoden erfordern, sind Anwendungen des Internet-Handels (Ehandel), worin Benutzer Erwerbe über eine Web site abschließen, oder Kunde Datenbankzugriff. In beiden Fällen erfordert die Möglichkeit für viele unterschiedliche Benutzer oder die Gruppen Benutzer, zum des Systems zu benutzen zwingende Steuerung der zugänglichen Daten. Die Anwendungen Notwendigkeit Methoden, zum der unterschiedlichen Benutzer zu erlauben, die Systeme über eine LOGON-Methode zugänglich zu machen; sie benötigen auch die Beschränkungen betreffend sind die einzelnen users'respective finanziellen Daten.

Um die Authentisierung und festzustellen Zugriffssteuerunganforderungen, sollten Entwerfer die Interaktionen innerhalb der Anwendung und mit der Welt überprüfen die sie umgibt. Dieses schließt die Methoden ein, durch die Benutzer die Anwendung zugänglich machen, die—direkt an einem Anschluß sitzt, oder, vom Netz, zwei Methoden zugänglich machend sind, die unterschiedliche Authentisierung Entwürfe erfordern konnten. Eine Anwendung, die erreicht wird, nur beim Sitzen am Schreibtisch, kann über die Authentisierung Methoden des Betriebssystems effektiv gesichert werden, auf dem er läuft. Netzanwendungen, die von den mehreren Benutzern gleichzeitig erreicht werden oder durch welche Anwenderzugriffdaten von den allgemeinen Datenbanken, stellen starken Antrieb für Zugriffssteuerung und Authentisierung zur Verfügung. Das Niveau von granularity und die Flexibilität der Zugriffssteuerung- und Authentisierungsfähigkeiten stellten von der Betriebssystemhilfe feststellen zur Verfügung, wenn eigene Methoden entwickelt werden. Alleinstehende oder eingebettete Anwendungen werden häufig vom Kratzer entwickelt und folglich ihre eigenen fachkundigen Methoden erfordern.

Anforderungen für Daten-Speicher

Datenspeicher reflektiert die Methode, die verwendet wird, um die privaten und empfindlichen Informationen zu speichern. Dieses schließt den korrekten Gebrauch von den Dateisicherungmethoden des zugrundeliegenden Betriebssystems (wie Re stricted Akte Erlaubnis) und stärkeren Methoden des Schützens der einzelnen Datenelemente ein (wie Verschlüsselung). In vielen Fällen ist der Gebrauch von Betriebssystemerlaubnismethoden genügend, den erforderlichen Grad von Sicherheit zur Verfügung zu stellen. Verschlüsselung kann verwendet werden, um extrem empfindliche Daten, wie Benutzerbescheinigungen und Keditauskunft zu schützen.

Das Niveau, zu dem die Anwendung Daten speichern muß und die Natur von dem Daten-Antrieb die Anforderungen für Datenspeichersicherheit. Die Ablage der empfindlichen Informationen ist häufig der mit einem Gatter versehende Faktor, wenn sie feststellt, wenn hohe Sicherheit Verschlüsselung erforderlich ist. Benutzerbescheinigungen, so, die Kennwörter, Adressen, Telefonnummern und finanzielle Daten, als empfindlich gelten und mit hoher Sicherheit auch behandelt werden sollten. Konfiguration Informationen können mit Standardakte Erlaubnismethoden häufig genug gesichert werden.

Als, die Anforderungen für Datenspeicher bildend, konnten Entwerfer gereizt werden, um auf einem Niveau Sicherheit zu standardisieren. Zum Beispiel wenn ein Kennwort in einer Konfiguration Akte zusammen mit anderen unempfindlichen Informationen gespeichert wird, konnte die Versuchung stark sein, Verschlüsselung auf der gesamten Akte als umfassende Sicherheit Methode zu verwenden. Um Datenspeicheranforderungen festzustellen, überprüfen Sie die Notwendigkeiten aller betroffenen Bestandteile. In diesem Beispiel konnte das Anwenden von von Verschlüsselung an den nonsensitive Daten wegen der Berechnungsunkosten der Verschlüsselungbetriebe, sowie den Mangel an granulierter Steuerung der anderen Informationen in der Akte wirkungsloses als gelten. Ein einzelnes Element kann nicht leicht erreicht werden, wenn die gesamte Akte verschlüsselt wird. Die Kompliziertheit, die betroffen ist, um andere Elemente zugänglich zu machen, wird dann drastisch erhöht.

Netz und Eingang Sicherheit Anforderungen

Anwendungen stehen zu den Benutzern, zum Betriebssystem und zu anderen Anwendungen durch Eingänge in Verbindung. Diese konnten auf der gleichen Maschine wie die Anwendung sein oder über einem Netz; häufig sind sie auf beiden. Die Methoden für das Zur Verfügung stellen der Eingänge zur Anwendung und zur Unterstützung für Netzkommunikation sind häufig eine und dieselben; folglich werden sie zusammen hier gruppiert.

Sicherheit der Netzkommunikationen wird gut adressiert, indem man den Inhalt der Anzeigen überprüft, die gesendet werden. Anwendungen, die Netzkommunikation für informierende Nachrichtenübermittlung oder das Übermitteln der festen Daten verwenden, konnten keine stärkere Zuverlässigkeit als das Protokoll erfordern sich stützt. Wieder wie im Fall vom Internet-Handel, eine Anwendung, die empfindliche Benutzerinformationen wahrscheinliche Ermächtigungen die Hinzufügung einer höheren Sicherheit Methode sendet und erhält. Eingänge stellen auch Sicherheit Anforderungen für Anwendungen fest, die in einem vernetzten Klima in Verbindung stehen.

Die Eingänge zu einer Anwendung erfordern ein hohes Niveau der Analyse, weil sie die Netzkommunikation Funktionalität umgeben und liefern. Andere wirken auch auf die Anwendung durch die Eingänge ein. Diese Funktionsbereiche können über eine Kombination der vorhandenen Betriebssystemmethoden und definierten der Zugriffssteuerung- und Authentisierungsentwürfe geschützt werden, die innerhalb der Anwendung verwendet werden. Analyse der Interaktionen, die eine Anwendung mit der äußeren Welt hat, erlaubt den Entwerfern, das verwendbarste Niveau der Sicherheit festzustellen benötigt. Diese Interaktionen und folgenden Eingänge werden wie kategorisiert

· Netzinteraktion

· Interaktion mit anderen Anwendungen

· Interaktion mit seinem jeweiligen Betriebssystem

Diese Kategorien sind weithin bekannte Funktionsbereiche, und Entwerfer wissen vermutlich bereits, wenn ihre Anwendung in irgendwelchen dieser Weise aufeinander einwirkt. Der folgende Schritt ist, Sicherheit jedes Bereichs zu betrachten.

Netz, Anwendung und System Interaktionen

Die Popularität des Internets verursacht viele Neuanmeldungen, die mit anderen Bestandteilen innerhalb der lokalen Systeme und auf ferninstallierte Systeme einwirken. Anwendungen, die unabhängig von anderen Anwendungen arbeiten und nur auf selbst offensichtlich einwirken, erfordern nicht Netzwerkanschlußgefahr Analyse.

Netzinteraktion kann auf einigen Niveaus anwesend sein. Eine Anwendung kann der Klientenserver, der, denn,–Gebrauch auf orientiert werden den ferninstallierten Systemen vollständig sein, die über dem Internet verbritten werden. Die Notwendigkeit an der Sicherheit in diesen Anwendungen wird beträchtlich komplizierter, als sie in den alleinstehenden Anwendungen ist.

Einige Abhängigkeiten sollten erkannt werden. Das Niveau, zu dem die Entwickler Sicherheit Einheiten in der Anwendung zur Verfügung stellen möchten, sollte betrachtet werden. Die Entwerfer konnten entscheiden, keine internen Sicherheit Einheiten zur Verfügung zu stellen. Die Sicherheit der vernetzten Anwendung beruht dann auf der Sicherheit der Netze, in denen sie läuft und in Verbindung steht; das ogy Netz topol und die Brandmauer stellen das maximale Niveau der Sicherheit fest, das eine Anwendung erfahren kann. Der Entwerfer konnte beschließen, Abhängigkeiten zu vermeiden und den höchsten Grad von Sicherheit zur Verfügung zu stellen möglich innerhalb der Anwendung. Diese sind die zwei Übermaße, welche—die meisten Anwendungen irgendwo in die Mitte fallen.

Anwendungen können Netz-Service für beschränkte Kommunikation auch benutzen, die nicht bestimmt ist, über den Confines des Systems hinaus zu gehen, auf dem sie läuft. Betrachtung sollte zur Natur dieser Kommunikation gegeben werden, um festzustellen, wenn die Implementierung nicht notwendige Gefahr verursacht.

Die Notwendigkeit an der Interaktion zwischen Anwendungen oder mit dem Betriebssystem deutet nicht eine Anforderung für Netzkommunikation an. Entwerfer sollten die Implementierung Methoden nachforschen, die die erforderliche Funktionalität liefern. Anwendungen verwenden häufig Einfaßung-gegründete Kommunikation Methoden, um diese Eingänge zur Verfügung zu stellen, weil sie schnell und leicht eingeführt werden. Der Gebrauch der Einfaßungen kann mehr Funktionalität jedoch zur Verfügung stellen als erforderlich ist. Anwendungen, die nur mit anderen Anwendungen auf dem lokalen System oder ihre eigenen Betriebssysteme sein müssen, haben viele Kommunikation Methoden an ihrer Beseitigung, wie NichtInternet Einfaßungen und IPC Einheiten.

Allgemein verwenden UNIX Systeme Einfaßung Kommunikationen wegen ihrer Benutzerfreundlichkeit und Fülle Unterlagen. UNIX stützt einige Aromen der Einfaßung-gegründeten Kommunikation, von denen zwei die populäre IP Einfaßung und DAS UNIX Gebiet Einfaßungen sind.

IP Einfaßungen, als der Name deutet an, verwendet das IP Protokoll für Kommunikation und stützt Netz mit größerer geographischer Ausdehnungkommunikation, die lokale und Remoteprozesse die Anwendung sein darf. Viele Anwendungen, die nur Prozesse auf einem lokalen System sind und die Netzkommunikation Fähigkeiten Gebrauch IP Einfaßungen nicht als Standardschnittstelle erfordern. IP Einfaßungen sind nicht in dieser Situation ideal, weil sie automatisch Zugang zu den lokalen und Remoteklienten liefern.

Gebiet Einfaßungen verwenden ein internes UNIX Protokoll für Kommunikation und stützen nicht Netzkommunikation; sie liefern einen connection-oriented Kommunikationskanal. Gebiet Einfaßungen haben ihren Anteil von Gefahren, wenn sie unsachgemäß benutzt werden. UNIX Gebiet Einfaßungen stützen das Überschreiten der Akte Beschreiber sowie informierende Daten. Dies heißt, daß Zeiger oder Handgriffe zu anderen Teilen des Systems von einer Anwendung zu anderen geführt werden können. Diese Funktionalität ist nur in den UNIX Gebiet Einfaßungen vorhanden. Wenn diese Fähigkeit nicht gewünscht oder gewährleistet wird, konnte Ablenkung von Einfaßung-gegründeter Kommunikation zu einer anderen IPC Einheit eine bessere Wahl sein.

In der Erwägung die Art der Informationen gesendet nach und von den Anwendung Hilfen die Anforderungen für seine Kommunikation Methode definieren. Entwerfer sollten die Interaktion Fähigkeiten der Anwendung auswerten, bevor sie eine Standardfunktion enthalten. In diesem Beispiel ist die Anwendung, die IP Einfaßungen verwendet, an der Gefahr, weil sie ferninstallierte Systeme an die Anwendung anschließen läßt, wenn sie nicht erlaubt werden sollten. Ein besseres Design dokumentiert die Anforderung für Interaktion mit nur lokalen Anwendungen. Diese komplette Anforderung führt den Entwickler, etwas anders als IP Einfaßungen zu verwenden.

Betriebssystem-Interaktionen

Interaktion mit dem Betriebssystem verursacht häufig ein anderes Niveau der Wertpapieremissionen. Viele Niveaus der Interaktion können mit einer Betriebssystem- Netz—interaktion, Interprozescommu nication auftreten, und die Handhabung der Akten sind bereits erwähnt worden. Zwei andere Arten Interaktion erfordern auch Aufmerksamkeit: Die Durchführung der externen Programme und des Gebrauches von System und andere außen definierte Anrufe sind Sourceschaltungen von Ausnutzung. Wichtige Ausgaben wie Erlaubnis, Authentisierung, Zugriffssteuerung und eingegebene Gültigkeitserklärung sollten in Verbindung mit Betriebssysteminteraktionen betrachtet werden.

System Anrufe und externe Anwendungen stellen einen hohen Grad der Gefahr dar, wenn sie unsachgemäß wegen ihrer Naturen verwendet werden. Diese Funktionen bestehen häufig in den Bibliotheken, die durch viele Anwendungen gleichzeitig benutzt werden und die häufig direkten Zugriff zu den Betriebssystembestandteilen und -betriebsmitteln liefern. Ausnutzung einer einzelnen Anwendung durch diese Funktionen kann einige Anwendungen und das System beeinflussen.

System Anrufe liefern Zugang zu vielen universellen und System-spezifischen Funktionalitäten. Sie lassen eine Anwendung auf spezifische Hardwareeinheiten sowie Kern-Niveau Funktionalität einwirken. Die Sicherheit des Betriebssystems und der Bestandteile muß betrachtet werden, wenn sie System verwendet, benennt. Wenn eine Anwendung die zusammen Benutzer- oder Netzdaten mit dem Betriebssystem über System Anrufe bindet, müssen Entwerfer Aussetzung zu den gefährlichen, unerwarteten und unsachgemäßen Daten herabsetzen.

Die Durchführung der externen Anwendungen ist eine andere allgemeine, ungesicherte Interaktion. Entwickler entwerfen häufig eine Anwendung, um um andere Anwendungen durch verschiedene Methoden zu ersuchen. Es gibt sev eral Gründe, die ein Entwickler dies tun wünschen konnte, wie, um zwischen Funktionen zu unterscheiden oder Umgebungskontrolle herzustellen. Das Benennen anderer Anwendungen erlaubt auch Entwicklern, vorhandene Funktionalität zu verwenden und die Implementierung der Anwendung zu beschleunigen.

Es gibt eine zugehörige Gefahr, wenn man innen ein anderes Programm von einer Anwendung benennt, die—das externe Programm selten vertraut werden kann. Die Anwendung besteht in einem dynamischen Klima, in dem es möglich ist, jedes mögliches Programm zu ändern oder zu ersetzen. Das Problem liegt in den Methoden, die verwendet werden, um die Anwendung zu benennen. UNIX-gegründete Systeme stützen häufig die Funktionen, die beziehungsweise system() und genannt werden exec(), die die gelieferten Parameter als Zeichenkette zur Durchführung des Standard-UNIX Oberteils und des Subprozesses führen. Der system() Anruf geht zum benennenden Programm zurück, wenn komplett, aber exec() beendet das laufende Programm und ersetzt es mit dem benannten Programm. Windows gegründete Systeme haben den exec() Anruf, der die Durchführung anderer Programme erlaubt. Anders als UNIX läßt die Windows Version von exec() das spezifizierte Programm in einem Subprozeß laufen, und die benennende Funktion beendet nicht. Ohne Eingang Gültigkeitserklärung können Angreifer Oberteilmetazeichen in den Eingang Strom setzen und das Oberteil zwingen, um schädliche Befehle und Parameter vielleicht laufen zu lassen. Der Gebrauch von diesen Funktionen wird im Allgemeinen auf die Stirn gerunzelt, und Bemühung sollte gebildet werden, um ihren Gebrauch zu vermeiden, weil sie die Durchführung von untrusted und unbeaufsichtigte Anwendungen erlauben. Wechselweise können Entwerfer die erforderliche Funktionalität direkt in eine Anwendung enthalten. Der Gebrauch frei vorhandenen, öffnen-Quellen-Software verringert groß die Bemühung, die benötigt wird, um so zu tun.

Viele Betriebssysteme lassen auch Funktionalität an den unterschiedlichen Privilegniveaus laufen. UNIX hat seine "Wurzel" Privilegien, hat Windows "Verwalter-" und "SYSTEMS" Privilegien. Diese speziellen Konten können administrative Aufgaben durchführen und mehr Interaktion mit dem Betriebssystem und seinen Dienstleistungen, als haben andere Konten. Programme können geschrieben werden, um Privilegniveaus zu erhöhen, wenn fachkundige Funktionalität erforderlich ist. Eine Anwendung und das Betriebssystem, auf denen sie läuft, können verglichen werden, wenn Privilegien nicht sorgfältig kontrolliert sind.

Das Modell wenigen Privilegs schlägt vor, daß eine Anwendung mit dem minimalen Satz der Privilegien laufen sollte, die benötigt werden, um die meisten Funktionen durchzuführen. Funktionalität, die höhere Privilegien erfordert, sollte in sein eigenes Modul, jedoch, in das lokalisiert werden als—Prozeß, Kategorie, Anwendung oder sogar ein anderes System definiert wird. Sogar dann, sollte dieser Satz Funktionalität am wenigen privilegierten Niveau auch laufen, bis jene erhöhten Privilegien angefordert sind. Zu dieser Zeit sollten höhere Privilegien erhalten werden und, nach Beendigung der Funktionalität, sollten Privilegien zum minimalen Niveau zurückgebracht werden.

Anmerkung

Metazeichen sind Buchstaben, die auf spezieller Bedeutung in einem gegebenen Kontext nehmen. Z.B. innerhalb des Standard-UNIX Oberteils, ist der Semicolon (;) ein Befehl Separator d.h. viele Befehle kann auf eine einzelne Linie gesetzt werden, wenn ein Semicolon zwischen ihnen ist. Das Rohr (|) schickt Buchstabe Anschlußausgang zu was auch immer dem Rohr folgt und erlaubt, daß der Ausgang von einem Programm in andere eingezogen wird.

Zusammenfassung

Etwas Anwendung Entwickler beschließen, Sicherheit innerhalb ihrer Anwendungen zu vergessen oder zu ignorieren und an der Gnade des des Netzes Kunden sich zu setzen oder des Betriebssystems und seiner Sicherheit Eigenschaften. Mit diesem umfassenden Sicherheit Modell meidet die Verantwortlichkeit zur Verfügung zu stellen befestigen Anwendungen an die Öffentlichkeit. Die Sicherheit Philosophie behauptet eine starke und komplette Sicherheit Ideologie, die nichts über die Sicherheit der Bestandteile annimmt, die zur Anwendung extern sind. Eine Anwendung sollte so sicher immer sein, wie sie in Bezug auf sich und die externen Bestandteile sein kann, auf die sie einwirkt. Das Niveau von folgen-durch wird die Diskretion des Entwerfers oder des Entwicklers, jedoch überlassen

dieses ist ein Artikel, der von Tamas Querolin hinzugefügt wird


Share  

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