-
HINTERGRUND
-
Peripheriegeräte, z. B. ein Universal Serial Bus (USB)-Gerät, können an Peripherie-Ports/Steckern, wie z. B. einem USB-Port, angeschlossen werden, um eine Verbindung zu einem Host-Computersystem herzustellen. Der USB-Standard wurde entwickelt, damit Peripheriegeräte (oder externe Geräte) wie Drucker, Scanner, Tastaturen, Mäuse, Modems, Kameras, Speichergeräte usw. über einen 4-Draht-Bus mit dem Host-Computersystem verbunden werden können. Die USB-Anschlüsse können einen Stecker, ein mit dem Stecker gekoppeltes Kabel und/oder ein im 4-Draht-Bus verwendetes Kommunikationsprotokoll zur Herstellung der Verbindung, Kommunikation und/oder Stromversorgung zwischen dem Host-Computersystem, den Peripherieanschlüssen und den Peripheriegeräten umfassen.
-
Figurenliste
-
Verschiedene Beispiele werden im Folgenden unter Bezugnahme auf die folgenden Abbildungen beschrieben.
- ist eine Beispiel-Rechenzentrumsumgebung mit einem Host-Computersystem, einem externen Computersystem und einem Peripheriegerät gemäß den Ausführungsformen der vorliegenden Offenbarung.
- ist ein Blockdiagramm, das einen Port-Management-Chip (IC) mit integrierter Schaltung darstellt, der eine Verarbeitungsressource aufweist, die betriebsfähig mit einem maschinenlesbaren Medium gekoppelt ist, das ausführbare Programmanweisungen speichert, in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung.
- ist ein Blockdiagramm, das eine Verarbeitungsressource und ein maschinenlesbares Medium darstellt, das mit Beispielbefehlen zur Verarbeitung von Daten in einem integrierten Portmanagement-Schaltkreis-Chip (IC) gemäß Ausführungsformen der vorliegenden Offenbarung codiert ist.
- ist ein Flussdiagramm, das ein Verfahren zur Steuerung des Zugriffs auf einen oder mehrere Ports eines Host-Computersystems unter Verwendung eines Port-Management-Chips (IC) gemäß den Ausführungsformen der vorliegenden Offenbarung darstellt.
- ist ein Flussdiagramm, das ein Verfahren zum Bestimmen mindestens einer Sicherheitsaktion durch einen Verwaltbarkeits-Controller gemäß Ausführungsformen der vorliegenden Offenbarung darstellt.
-
In den Zeichnungen können identische Referenznummern ähnliche, aber nicht notwendigerweise identische Elemente bezeichnen. Eine Indexzahl „N“, die an einige der Bezugszahlen angehängt ist, ist lediglich als Hinweis auf eine Vielzahl zu verstehen und muss nicht notwendigerweise für jede Bezugszahl mit einer solchen Indexzahl „N“ die gleiche Menge darstellen. Darüber hinaus kann die Verwendung einer Bezugszahl ohne Indexnummer, auf die an anderer Stelle mit einer Indexnummer Bezug genommen wird, hier eine allgemeine Bezugnahme auf die entsprechenden Pluralelemente, kollektiv oder einzeln, darstellen. In einem anderen Beispiel kann anstelle der Indexnummer N eine Indexnummer „I“, „M“ usw. verwendet werden. Die Abbildungen sind nicht notwendigerweise maßstabsgetreu, und die Größe einiger Teile kann zur besseren Veranschaulichung des gezeigten Beispiels übertrieben sein. Außerdem bieten die Zeichnungen Beispiele und/oder Implementierungen, die mit der Beschreibung übereinstimmen; die Beschreibung ist jedoch nicht auf die in den Zeichnungen dargestellten Beispiele und/oder Implementierungen beschränkt.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende detaillierte Beschreibung bezieht sich auf die beigefügten Zeichnungen. Wo immer es möglich ist, werden in den Zeichnungen und der folgenden Beschreibung die gleichen Referenznummern verwendet, um auf gleiche oder ähnliche Teile zu verweisen. Es ist jedoch ausdrücklich zu verstehen, dass die Zeichnungen nur der Veranschaulichung und Beschreibung dienen. Obwohl in diesem Dokument mehrere Beispiele beschrieben werden, sind Änderungen, Anpassungen und andere Implementierungen möglich. Dementsprechend schränkt die folgende detaillierte Beschreibung die offengelegten Beispiele nicht ein. Stattdessen kann der richtige Umfang der offengelegten Beispiele durch die beigefügten Ansprüche definiert werden.
-
Die hier verwendete Terminologie dient nur zur Beschreibung von Beispielen und ist nicht als einschränkend zu verstehen. Die hier verwendeten Singularformen „ein“, „ein“ und „die“ schließen auch die Pluralformen ein, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Der hier verwendete Begriff „Mehrzahl“ ist definiert als zwei oder mehr als zwei. Der Begriff „ein weiteres“, wie hier verwendet, ist definiert als mindestens ein zweites oder mehr. Der Begriff „gekoppelt“, wie hierin verwendet, ist definiert als verbunden, entweder direkt ohne dazwischenliegende Elemente oder indirekt mit mindestens einem dazwischenliegenden Element, sofern nicht anders angegeben. Zwei Elemente können mechanisch, elektrisch oder kommunikativ über einen Kommunikationskanal, -pfad, -netzwerk oder -system gekoppelt sein. Der Begriff „und/oder“, wie er hier verwendet wird, bezieht sich auf alle möglichen Kombinationen von einem oder mehreren der aufgeführten Elemente und umfasst diese. Es versteht sich auch, dass, obwohl die Begriffe „erstes“, „zweites“, „drittes“ usw. hier verwendet werden können, um verschiedene Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe eingeschränkt werden sollten, da diese Begriffe nur verwendet werden, um ein Element von einem anderen zu unterscheiden, es sei denn, es wird etwas anderes angegeben oder der Kontext zeigt etwas anderes an. Wie hierin verwendet, bedeutet der Begriff „beinhaltet“, dass er beinhaltet, aber nicht beschränkt ist, der Begriff „einschließlich“ bedeutet, dass er beinhaltet, aber nicht beschränkt ist. Der Begriff „basierend auf“ bedeutet zumindest teilweise basierend auf. Ferner kann sich der hier verwendete Begriff „Peripheriegerät“ oder „externes Gerät“ auf eine Art von elektronischem Gerät beziehen, das nicht zu einem Host-Computersystem gehört, oder das ein Zusatzgerät zum Host-Computersystem ist und möglicherweise durch Einstecken oder Anbringen an das Host-Computersystem angeschlossen werden muss, um Informationen in das Host-Computersystem einzugeben und von diesem zu erhalten. In ähnlicher Weise kann sich der Begriff „Peripherieanschluss“ auf einen Typ eines elektronischen Anschlusses beziehen, der dem Host-Computersystem eigen ist oder der in das Host-Computersystem integriert ist und die Möglichkeit bietet, das Peripheriegerät anzuschließen, um Informationen in das Host-Computersystem einzugeben und Informationen aus diesem zu erhalten. In einigen Beispielen können das Peripheriegerät und der Peripherieanschluss wie ein Stecker und eine Buchse des elektronischen Geräts funktionieren. Weiterhin kann sich der Begriff „Einstecken“ darauf beziehen, dass das Peripheriegerät physisch in den Peripherieanschluss des Host-Computersystems eingesteckt wird. Der Begriff „Einbauen“ kann sich jedoch auf das virtuelle Hinzufügen des Peripheriegeräts in das Host-Computersystem über eine sichere Web-Konsole beziehen. Weiterhin kann sich der Begriff „Host-Computersystem“ auf einen Rechenknoten beziehen, der sensible Daten enthält, der mit einem TCP/IP-Netzwerk, einschließlich dem Internet, verbunden ist und der eine oder mehrere Arbeitslasten der Kunden hostet oder ausführt. Des Weiteren kann sich der Begriff „Vorderseite“ auf eine Seite eines Host-Rechnersystems beziehen, die i) einen Anzeigebereich aufweist, um einem Benutzer/Administrator einen einfachen Zugriff auf häufig verwendete Geräte des Host-Rechnersystems zu ermöglichen, wie z. B. einen Netzschalter, periphere Anschlüsse und die Anzeige anderer relevanter Informationen über das Host-Rechnersystem, ii) für den Benutzer leicht sichtbar ist, wenn sie an einem Rack oder einem Gehäuse eines Rechenzentrums montiert ist, und iii) eine oder mehrere Klemmen aufweist, mit denen das Host-Rechnersystem an dem Rack oder dem Gehäuse befestigt werden kann. In ähnlicher Weise kann sich der Begriff „Rückseite“ auf eine der Vorderseite des Host-Computersystems gegenüberliegende Seite beziehen, die i) über selten zugängliche Anschlüsse, wie z. B. Netzwerk- und Stromanschlüsse, verfügt, um das Host-Computersystem mit der jeweiligen Versorgungseinheit zu verbinden, und ii) vor dem Benutzer/Administrator verborgen ist, wenn sie in dem Rack oder dem Gehäuse installiert ist. Der Begriff „Peripherieseite“ kann sich auf eine Seite des Host-Computersystems beziehen, die sich zwischen der Vorder- und Rückseite des Host-Computersystems erstreckt.
-
Zur Erläuterung der vorliegenden Offenbarung werden bestimmte Beispiele unter Bezugnahme auf die in den dargestellten Komponenten beschrieben. Die Funktionalität der dargestellten Komponenten kann sich jedoch überschneiden und kann in einer geringeren oder größeren Anzahl von Elementen und Komponenten vorhanden sein. Ferner kann die gesamte oder ein Teil der Funktionalität der dargestellten Elemente nebeneinander bestehen oder auf mehrere geografisch verteilte Standorte verteilt sein. Darüber hinaus können die offengelegten Beispiele in verschiedenen Umgebungen implementiert werden und sind nicht auf die dargestellten Beispiele beschränkt. Ferner ist die in Verbindung mit beschriebene Abfolge von Vorgängen ein Beispiel und soll nicht einschränkend sein. Es können zusätzliche oder weniger Vorgänge oder Kombinationen von Vorgängen verwendet werden oder variieren, ohne dass der Umfang der offengelegten Beispiele verlassen wird. Daher stellt die vorliegende Offenbarung lediglich Beispiele für Implementierungen dar, und es können viele Variationen und Modifikationen an den beschriebenen Beispielen vorgenommen werden. Solche Modifikationen und Variationen sollen in den Anwendungsbereich dieser Offenbarung aufgenommen werden und sind durch die folgenden Ansprüche geschützt.
-
Die vorliegende Offenlegung beschreibt Beispielimplementierungen eines Systems und eines Verfahrens zur Steuerung des Zugriffs auf einen oder mehrere periphere Anschlüsse eines Host-Computersystems von einem Peripheriegerät aus. In einigen Beispielen kann der Peripherieanschluss ein Universal Serial Bus (USB)-Anschluss sein und das Peripheriegerät kann ein USB-Gerät sein. Es wird darauf hingewiesen, dass die Begriffe „Peripherieanschluss“, „Peripherieanschluss“ und „Port“ austauschbar verwendet werden können. Gleichermaßen können die Begriffe „Peripheriegerät“ und „externes Gerät“ austauschbar verwendet werden. In einem oder mehreren Beispielen kann das Host-Computersystem einen Port-Management-Chip (IC) enthalten, der als zentralisierter Port-Manager des Host-Computersystems arbeiten kann, um den Zugriff auf den einen oder die mehreren Peripherie-Ports, die zu jedem Peripheriegeräte-Hub (oder USB-Hub) des Host-Computersystems gehören, vom Peripheriegerät aus zu regeln. Wenn das Peripheriegerät an den Peripherieport angeschlossen oder montiert ist, kann der Portmanagement-IC Daten empfangen, die dem Peripheriegerät und dem Peripherieport entsprechen, an den das Peripheriegerät angeschlossen oder montiert ist. Der Port-Management-IC kann dann die empfangenen Daten an einen Verwaltbarkeits-Controller des Host-Computersystems übermitteln und mindestens eine Sicherheitsaktion vom Verwaltbarkeits-Controller empfangen. Ferner kann der Port-Management-IC die mindestens eine Sicherheitsaktion direkt am Peripherieanschluss implementieren. In einigen Beispielen kann die mindestens eine Sicherheitsaktion das Akzeptieren des Peripheriegeräts, das Zurückweisen des Peripheriegeräts und das Deaktivieren des Peripherieports umfassen. In einem oder mehreren Beispielen kann der Verwaltungscontroller die empfangenen Daten mit vorgegebenen Daten vergleichen, die eine Vielzahl von Zugriffskontrollregeln enthalten, um die mindestens eine Sicherheitsaktion zu bestimmen, und die bestimmte Sicherheitsaktion an den Portmanagement-IC übermitteln. Sobald die Portverwaltungs-IC die mindestens eine Sicherheitsaktion an dem peripheren Port implementiert, an dem das Peripheriegerät eingesteckt oder montiert ist, kann die Portverwaltungs-IC dann die Steuerung dieses peripheren Ports in Übereinstimmung mit dem Peripheriegerät an ein Betriebssystem (OS) des Host-Computersystems übergeben, bis das Peripheriegerät von dem peripheren Port des Host-Computersystems abgezogen oder abmontiert wird.
-
Rechenzentren umfassen Rechensysteme wie Serversysteme, Speichersysteme und verschiedene andere Arten von Rechensystemen, die sensible Daten enthalten. In der Regel nutzen Kunden zumindest einige der Rechensysteme der Rechenzentren für die Ausführung von Arbeitslasten, die auf ihren Geschäftsanforderungen basieren. Dementsprechend können Kunden auch beträchtliche Mengen an Zeit, Aufwand und Geld in die Sicherung der identifizierten Computersysteme investieren, indem sie Sicherheitsschwachstellen herausfinden und die identifizierten Sicherheitsschwachstellen beheben. Sicherheitsschwachstellen, die durch uneingeschränkten/unbefugten Zugriff auf Peripherieanschlüsse, wie z. B. einen Universal Serial Bus (USB)-Anschluss der Computersysteme, durch die Verwendung von Peripheriegeräten, wie z. B. einem USB-Gerät, entstehen, können jedoch dazu führen, dass sensible Daten aus den Computersystemen verloren gehen oder bösartige (schädliche) Daten in die Computersysteme gelangen.
-
Die aktuellen Sicherheitsmaßnahmen und -richtlinien zum Schutz vor unbefugtem Zugriff auf die Rechensysteme konzentrieren sich darauf, was in das Rechenzentrum hineingeht und was aus dem Rechenzentrum herauskommt. Oft verlangen bestimmte Rechenzentren die Zustimmung des Benutzers zur Durchführung von stichprobenartigen oder regelmäßigen Abtastungen, bevor der Zugang zum entsprechenden Rechenzentrum gewährt wird. Eine solche Methode ist zwar effektiv, um zu verhindern, dass unautorisierte USB-Geräte in das Rechenzentrum gebracht oder aus dem Rechenzentrum herausgenommen werden, aber sie ist auch nicht hundertprozentig effektiv und nicht praktisch zu implementieren. Solange der Benutzer Zugriff auf die Computersysteme im Rechenzentrum hat, kann das USB-Gerät in den USB-Port eingesteckt/angeschlossen werden und die sensiblen Daten können gestohlen oder die bösartigen Daten können eingeführt werden. In jüngerer Zeit wurde eine andere Art von Peripheriegerät, wie z. B. ein USB-Ninja-Kabel, verwendet, um die sensiblen Daten aus den Computersystemen zu extrahieren. In diesem Fall hatte das USB-Ninja-Kabel physikalische Eigenschaften, die einem normalen USB-Kabel im Wesentlichen ähnlich sind, aber wenn ein solches USB-Ninja-Kabel an den Peripherieanschluss angeschlossen oder eingesteckt wird, kann es als virtuelle Tastatur fungieren und vorprogrammierte Befehle an die Computersysteme senden, um die sensiblen Daten zu extrahieren oder zu missbrauchen oder die bösartigen Daten in die Computersysteme einzuführen.
-
Daher ist es wichtig, die Extraktion und den Missbrauch der sensiblen Daten aus den Computersystemen sowie das Einschleusen von bösartigen Daten in die Computersysteme zu verhindern. Selbst in Fällen, in denen die Extraktion von Daten autorisiert ist, kann das Kopieren der sensiblen Daten auf das Peripheriegerät Sicherheitsbedenken aufwerfen, da die Verschlüsselung allein möglicherweise nicht ausreicht, um solche sensiblen Daten während der Übertragung zu schützen. Außerdem muss verhindert werden, dass die schädlichen Daten (absichtlich oder unabsichtlich) über die Peripheriegeräte in die Rechensysteme gelangen.
-
Einige bestehende Methoden zum Schutz der USB-Ports können auf softwarebasierten Port-Management-Geräten beruhen. Ein solches softwarebasiertes Port-Management-Gerät kann jedoch anfällig für Manipulationen sein, erfordert Administration und Wartung, verbraucht Ressourcen des Computersystems und kann auch die Leistung von Anwendungen oder legitimen Peripheriegeräten beeinträchtigen. Außerdem gibt es keine Mechanismen, die den unbefugten Zugriff auf periphere Ports verhindern, noch bevor die Computersysteme eingeschaltet werden.
-
Eine technische Lösung für die oben genannten Probleme kann die Verwendung eines integrierten Port-Management-Chips (IC) eines Host-Computersystems zur Steuerung des Zugriffs auf jeden Peripherieanschluss des Host-Computersystems von einem Peripheriegerät oder einem externen Gerät aus umfassen. In einem oder mehreren Beispielen kann der Port-Management-IC kommunikativ mit mindestens einem Peripherieanschluss jedes Hubs einer Vielzahl von Peripheriegeräte-Hubs und einem Verwaltungscontroller, wie z. B. einem Baseboard-Management-Controller (BMC) des Host-Computersystems, verbunden sein. Beim Anbringen, z. B. Einstecken oder Montieren des Peripheriegeräts an den mindestens einen Peripherieanschluss, kann der Anschlussverwaltungs-IC mit einem entsprechenden Peripherie-Hub der mehreren Peripherie-Hubs und dem Verwaltbarkeitscontroller verhandeln und die mindestens eine Sicherheitsaktion an dem mindestens einen Peripherieanschluss direkt erzwingen oder implementieren, um den Zugriff auf den mindestens einen Peripherieanschluss von dem Peripheriegerät aus zu regeln.
-
Beim Anschließen des Peripheriegeräts an den mindestens einen Peripherieanschluss kann der Peripheriegeräte-Hub, der den mindestens einen Peripherieanschluss beherbergt, beispielsweise erste Daten erhalten, die dem Peripheriegerät und dem mindestens einen Peripherieanschluss entsprechen, an den das Peripheriegerät angeschlossen ist. In einigen Beispielen kann ein Mikrocontroller des Peripheriegeräte-Hubs die ersten Daten von dem ersten Peripheriegerät und dem mindestens einen Peripherieanschluss erhalten. Der Port-Management-IC kann dann die ersten Daten von dem entsprechenden Peripheriegeräte-Hub empfangen und die ersten Daten an den Verwaltbarkeits-Controller übermitteln. Der Verwaltbarkeitscontroller kann die ersten Daten mit zweiten Daten vergleichen, die eine Vielzahl von Zugriffskontrollregeln enthalten, um mindestens eine Sicherheitsaktion auf der Grundlage solcher Vergleiche der ersten und zweiten Daten zu bestimmen. Anschließend kann der Verwaltbarkeits-Controller die mindestens eine Sicherheitsmaßnahme an den Port-Management-IC kommunizieren. In solchen Beispielen kann der Port-Management-IC dann die mindestens eine Sicherheitsmaßnahme direkt an dem mindestens einen peripheren Port implementieren.
-
In einigen Beispielen können die ersten Daten eine Vielzahl von Gerätekennungen eines ersten Peripheriegeräts und eine Anschlusskennung des mindestens einen Peripherieanschlusses enthalten. Die zweiten Daten können eine Vielzahl von Zugriffskontrollregeln enthalten, wobei jede Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion verknüpft ist. In einigen Beispielen umfasst die mindestens eine Sicherheitsaktion das Akzeptieren des Peripheriegeräts, das Zurückweisen des Peripheriegeräts und das Deaktivieren des mindestens einen Peripherieanschlusses. In einem oder mehreren Beispielen kann jede Zugriffskontrollregel mindestens einen vorbestimmten Port-Identifizierer des mindestens einen Peripherieanschlusses haben, der einer Vielzahl von vorbestimmten Geräte-Identifizierern eines zweiten Peripheriegeräts zugeordnet ist. In einigen Beispielen werden die vorbestimmte Anschlusskennung des mindestens einen Peripherieanschlusses und die Vielzahl der vorbestimmten Gerätekennungen des zweiten Peripheriegeräts von einem autorisierten Benutzer/Administrator des Host-Computersystems bereitgestellt. Es kann hier angemerkt werden, dass der autorisierte Benutzer die zweiten Daten direkt über eine Web-Konsole oder RESTful-Befehle in den Verwaltbarkeits-Controller eingeben/bearbeiten kann. Da der Verwaltbarkeits-Controller die Zugriffskontrollregeln speichert, kann er den Zugriff auf die virtuellen Ports regeln, und der Port-Management-IC-Chip kann den Zugriff auf die physischen Ports regeln.
-
In einem oder mehreren Beispielen können die Zugriffskontrollregeln auf der Grundlage von Geschäftsanforderungen festgelegt werden, und die mindestens eine Sicherheitsaktion wird auf der Grundlage eines Typs des Peripheriegeräts festgelegt, z. B. eines Speichergeräts, eines Kamerageräts, eines Geräts mit menschlicher Schnittstelle, wie z. B. einer Tastatur, einer Maus und dergleichen. In einigen Beispielen kann der mindestens eine Peripherieanschluss ein physischer Anschluss oder ein virtueller Anschluss sein.
-
Es kann hier angemerkt werden, dass der Port-Management-IC im Hintergrund arbeiten kann, ohne die Funktionalität oder den Betrieb eines Betriebssystems (OS) des Host-Computersystems und der auf dem OS laufenden Anwendungen zu beeinträchtigen, bis das Peripheriegerät vom Port-Management-IC für seine Verwendung im Host-Computersystem akzeptiert (oder verifiziert oder genehmigt) wird. So kann der Port-Management-IC das Betriebssystem und andere Hardware des Host-Computersystems von dem Peripheriegerät isolieren, bis es freigegeben ist. Später kann der Port-Management-IC die Verwendung des Peripheriegeräts an das Betriebssystem weitergeben, bis das Peripheriegerät vom Peripherieanschluss des Host-Computersystems abgezogen oder abgemeldet wird.
-
Da der Verwaltbarkeitscontroller über eine Hilfsspannungsschiene mit Strom versorgt werden kann, kann der Verwaltbarkeitscontroller aktiv sein, auch wenn das Host-Computersystem ausgeschaltet ist. Somit kann der Verwaltbarkeitscontroller die Sicherheitsaktion bestimmen und die Sicherheitsaktion mit Hilfe des Port-Management-IC-Chips während des gesamten Lebenszyklus des Host-Computersystems implementieren lassen, um den Zugriff auf den einen oder die mehreren Peripherie-Ports vom Peripheriegerät aus zu steuern.
-
zeigt eine beispielhafte Rechenzentrumsumgebung 100, in der ein Host-Computersystem 102 betriebsbereit mit einem externen Computersystem 104 gekoppelt ist, z. B. einem Rechenzentrumsverwaltungssystem zur sicheren Verwaltung von Arbeitslasten, die im Host-Computersystem 102 gehostet werden. Die beispielhafte Rechenzentrumsumgebung 100 kann als Unternehmenssystem oder als Verbrauchersystem oder als industrielles System implementiert werden, das die Ausführung oder den Betrieb der Arbeitslasten zur Bereitstellung des beabsichtigten Dienstes für Endbenutzer erleichtert und die Arbeitslasten parallel vor einer oder mehreren Sicherheitslücken schützt.
-
In einigen anderen Beispielen kann die Rechenzentrumsumgebung 100 Infrastrukturressourcen enthalten, wie z. B. eine Vielzahl von Host-Computersystemen 102, die jeweils funktionsfähig mit dem externen Computersystem 104 verbunden sind. Es kann hier angemerkt werden, dass die Rechenzentrumsumgebung 100 zusätzlich eine Vielzahl anderer Infrastrukturressourcen enthalten kann, wie z. B. Kühlvorrichtungen, Stromversorgungs- und Verwaltungsvorrichtungen, lokale Festplatten, Speichersysteme, Storage Area Networks (SANs), Netzwerkvorrichtungen, Netzwerkverbindungen, Network Fabric, Storage Fabric und dergleichen. In solchen Beispielen kann die Rechenzentrumsumgebung 100 einen Cloud-Dienst für die Implementierung der Arbeitslasten eines oder mehrerer Kunden bereitstellen, indem mindestens einige der identifizierten Infrastrukturressourcen in Abhängigkeit von den Geschäftsanforderungen des einen oder der mehreren Kunden verwendet werden. In einigen Beispielen kann die Beispiel-Rechenzentrumsumgebung 100 im Besitz des einen oder der mehreren Kunden oder eines Anbieters oder einer Kombination davon sein.
-
Auf das externe Rechnersystem 104 kann ein Administrator 106 oder ein Benutzer (nicht dargestellt) zugreifen, um das Host-Rechnersystem 102 zu regulieren oder zu verwalten. Es kann hier angemerkt werden, dass der Administrator 106 ein Vertreter der Rechenzentrumsumgebung 100 sein kann. Im gezeigten Beispiel ist das externe Rechnersystem 104 ein Server, der in der Rechenzentrumsumgebung 100 eingesetzt wird. In einigen anderen Beispielen kann das externe Computersystem 104 außerhalb der Rechenzentrumsumgebung 100 eingesetzt werden, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Das externe Computersystem 104 kann eine grafische Benutzeroberfläche (GUI) oder eine Web-Konsole 108 für den Administrator 106 bereitstellen, um sicher mit der Rechenzentrumsumgebung 100, z. B. dem Host-Computersystem 102, zu interagieren und diese zu verwalten. In einigen anderen Beispielen kann das externe Computersystem 104 eine Befehlszeilenschnittstelle 110 für den Administrator 106 bereitstellen, um mit dem Host-Computersystem 102 zu interagieren und es zu verwalten.
-
Das Host-Rechnersystem 102 ist mit dem externen Rechnersystem 104 über ein Netzwerk 112 betriebsbereit verbunden. In solchen Beispielen kann das Netzwerk 112 ein TCP/IP-Netzwerk (Transmission Control Protocol/Internet Protocol) sein, das eine Reihe von Kommunikationsprotokollen ist, die zur Verbindung von Netzwerkgeräten im Internet verwendet werden.
-
In einigen Beispielen ist das Host-Computersystem 102 ein Server, der in der Rechenzentrumsumgebung 100 zum Hosten der Arbeitslasten des einen oder mehrerer Kunden eingesetzt wird. In einem oder mehreren Beispielen kann das Host-Computersystem 102 eine Zentraleinheit (CPU) 114, einen Hauptspeicher 116, einen Verwaltbarkeitscontroller 118, eine Vielzahl von Peripheriegeräte-Hubs 120 und einen integrierten Portmanagement-Schaltkreis (IC) 122 umfassen.
-
Die CPU 114 kann betriebsfähig mit dem Hauptspeicher 116 gekoppelt sein und eine oder mehrere im Hauptspeicher 116 gespeicherte Programmanweisungen ausführen, um Software des Host-Computersystems 102, wie z. B. ein Betriebssystem und auf dem Betriebssystem laufende Arbeitslasten, auszuführen. Es kann hier angemerkt werden, dass das Betriebssystem alle grundlegenden Aufgaben wie Dateiverwaltung, Speicherverwaltung, Prozessverwaltung, Verarbeitung von Ein- und Ausgaben und Steuerung von Peripheriegeräten, wie z. B. Plattenlaufwerke, Drucker und dergleichen, ausführen kann. Der Workload kann ein Produktions-Workload, ein Entwicklungs-Workload oder ein Test-Workload sein, je nach Anforderung des Kunden. Die Arbeitslast kann sensible Informationen oder Daten enthalten, die für den Kunden geschützt sind. In einigen Beispielen kann der Produktions-Workload die Ausführung eines Geldautomaten-Anwendungsprogramms oder eines Lohnabrechnungs-Anwendungsprogramms oder die Durchführung von Live-Videoanalysen umfassen. In ähnlicher Weise kann der Entwicklungsaufwand die Ausführung einer Reihe von Prozessen und Programmierwerkzeugen zur Erstellung eines neuen Anwendungsprogramms oder eines Softwareprodukts umfassen. Des Weiteren kann der Testaufwand die Ausführung eines weiteren Satzes von Prozessen und Testwerkzeugen umfassen, um das neue Anwendungsprogramm oder das Softwareprodukt zu testen.
-
Der Verwaltbarkeitscontroller 118 kann ein Serviceprozessor sein, der in der Lage ist, einen physikalischen Zustand des Host-Computersystems 102 oder anderer Hardwaregeräte mit Hilfe eines oder mehrerer Sensoren zu überwachen. In einigen Beispielen ist der Verwaltbarkeitscontroller 118 ein Baseboard Management Controller (BMC), der in eine Hauptplatine oder eine Hauptplatine (nicht dargestellt) des zu überwachenden Host-Computersystems 102 eingebettet ist. In solchen Beispielen kann die Hauptplatine auch die CPU 114 beherbergen. Der Verwaltbarkeits-Controller 118 kann dem Administrator 106 helfen, das Host-Computersystem 102 und andere Hardware-Geräte aus der Ferne zu überwachen und dadurch die Betriebskosten für den Betrieb der Rechenzentrumsumgebung 100 zu senken. Der Verwaltbarkeitscontroller 118 kann eine eigene Internetprotokoll (IP)-Adresse haben, auf die über die sichere Web-Konsole 108 oder die Befehlszeilenschnittstelle 110 zugegriffen werden kann. Ferner kann der Verwaltbarkeitscontroller 118 einen eigenen Speicher und einen mit dem Speicher verbundenen Prozessor haben und eine oder mehrere im Speicher gespeicherte Programmanweisungen ausführen, um das Host-Computersystem 102 zu überwachen, eine oder mehrere Infrastrukturressourcen des Host-Computersystems 102 zu regulieren und mit dem externen Computersystem 104 zu interagieren. Der Verwaltbarkeitscontroller 118 kann auch über eine Hilfsstromschiene (nicht dargestellt) mit Strom versorgt werden, selbst wenn das Host-Computersystem 102 ausgeschaltet ist. Auf diese Weise kann das externe Computersystem 104 jederzeit eine sichere Verbindung mit dem Verwaltbarkeitscontroller 118 herstellen und eine kontinuierliche Interaktion mit dem Verwaltbarkeitscontroller 118 während des gesamten Lebenszyklus des Host-Computersystems 102 aufrechterhalten.
-
In einigen Beispielen kann jeder Hub der Vielzahl von Peripheriegeräte-Hubs 120 eine Vielzahl von Peripherieanschlüssen 124 enthalten. Jeder Hub der mehreren Peripheriegeräte-Hubs 120 kann auch einen Mikrocontroller 126 enthalten, der kommunikativ mit den mehreren Peripherie-Ports 124 des entsprechenden Hubs und dem Port-Management-IC 122 verbunden ist. Der Mikrocontroller 126 kann eine Verbindung mit einem ersten Peripheriegerät 128 herstellen, wenn es physisch an den mindestens einen Peripherieport 124 angeschlossen ist, und mit dem ersten Peripheriegerät 128 verhandeln, um erste Daten zu erhalten, die dem ersten Peripheriegerät 128 und dem mindestens einen Peripherieport 124, an den das erste Peripheriegerät 128 angeschlossen ist, entsprechen. In einigen Beispielen kann der Mikrocontroller 126 Standard-USB-Protokolle für die Aushandlung mit der Vielzahl von Peripherieanschlüssen 124 und dem Portmanagement-IC 122 verwenden.
-
Im Beispiel von umfasst die Vielzahl von Peripheriegeräte-Hubs 120 einen ersten Peripheriegeräte-Hub 120A, der mit einer peripheren Seite 130 des Host-Computersystems 102 gekoppelt ist, einen zweiten Peripheriegeräte-Hub 120B, der mit einer Vorderseite 132 des Host-Computersystems 102 gekoppelt ist, und einen dritten Peripheriegeräte-Hub 120C, der mit einer Rückseite 134 des Host-Computersystems 102 gekoppelt ist. Ferner umfasst der erste Peripheriegeräte-Hub 120A zwei Peripherieanschlüsse, beispielsweise einen ersten Peripherieanschluss 124A und einen zweiten Peripherieanschluss 124B, und einen ersten Mikrocontroller 126A, der kommunikativ mit dem ersten bzw. zweiten Peripherieanschluss 124A, 124B verbunden ist. In ähnlicher Weise enthält der zweite Peripheriegeräte-Hub 120B drei Peripherieanschlüsse, zum Beispiel einen dritten Peripherieanschluss 124C, einen vierten Peripherieanschluss 124D und den fünften Peripherieanschluss 124E, und einen zweiten Mikrocontroller 126B, der kommunikativ mit dem dritten, vierten bzw. fünften Peripherieanschluss 124C, 124D, 124E gekoppelt ist. Der dritte Peripheriegeräte-Hub 120C umfasst zwei Peripherieanschlüsse, zum Beispiel einen sechsten Peripherieanschluss 124F und einen siebten Peripherieanschluss 124G, und einen dritten Mikrocontroller 126C, der kommunikativ mit dem sechsten bzw. siebten Peripherieanschluss 124F, 124G gekoppelt ist. In einem nicht einschränkenden Beispiel kann der dritte Peripheriegeräte-Hub 120C auch einen virtuellen Port 124H enthalten. In solchen Beispielen kann jeder Anschluss der Vielzahl von Peripherieanschlüssen 124 einen Anschlussbezeichner enthalten, der für den jeweiligen Peripherieanschluss eindeutig oder unverwechselbar ist. Zum Beispiel kann der erste periphere Anschluss 124A eine Anschlusskennung als „PP-1101“ haben, der zweite periphere Anschluss 124B kann eine Anschlusskennung als „PP-1102“ haben, der dritte periphere Anschluss 124C kann eine Anschlusskennung als „PP-2201“ haben, der vierte periphere Anschluss 124D kann eine Anschlusskennung als „PP-2202“ haben, der fünfte periphere Anschluss 124E kann eine Anschlusskennung als „PP-2203“ haben, der sechste periphere Anschluss 124F kann eine Anschlusskennung als „PP-3301“ haben, und der siebte periphere Anschluss 124G kann eine Anschlusskennung als „PP-3302“ haben. In einigen Beispielen kann jeder der mehreren peripheren Anschlüsse 124 ein physikalischer Anschluss sein. In einem oder mehreren Beispielen ist jeder der mehreren Peripheriegeräte-Hubs 120 ein Universal Serial Bus (USB)-Hub, und jeder der mehreren Peripherieanschlüsse 124 ist ein USB-Anschluss. Die Funktionalitäten der mehreren Peripheriegeräte-Hubs 120 und der mehreren Peripherieanschlüsse 124 werden im Folgenden ausführlicher beschrieben.
-
In einem oder mehreren Beispielen kann der Port-Management-IC 122 ein Hardwaremodul sein, das betriebsfähig mit der Hauptplatine des Host-Computersystems 102 verbunden ist. In solchen Beispielen kann das Hardwaremodul eine Verarbeitungsressource (in nicht dargestellt) zum Implementieren von Funktionalitäten des Portmanagement-IC 122 durch Ausführen von Programmanweisungen enthalten, die in einem maschinenlesbaren Medium (in nicht dargestellt) des Hardwaremoduls gespeichert sind. Der Port-Management-IC 122 kann als zentralisierter Port-Manager des Host-Computersystems 102 arbeiten, um den Zugriff auf jeden der mehreren Peripherie-Ports 124, die zu den mehreren Peripheriegeräte-Hubs 120 gehören, vom ersten Peripheriegerät 128 aus zu regeln. Mit anderen Worten, der Port-Management-IC 122 ist kommunikativ mit der Vielzahl von Peripheriegeräte-Hubs 120, dem Verwaltbarkeits-Controller 118 und der CPU 114 gekoppelt, um den Zugriff auf jeden Port der Vielzahl von Peripherie-Ports 124 von dem ersten Peripheriegerät 128 zentral zu regeln. In einigen Beispielen kann der Port-Management-IC 122 mit dem Mikrocontroller 126 jedes Hubs der Vielzahl von Peripheriegeräte-Hubs 120 gekoppelt sein, um die ersten Daten zu empfangen. Weiterhin kann der Portmanagement-IC 122 mit dem Verwaltbarkeitscontroller 118 gekoppelt sein, um die ersten Daten an den Verwaltbarkeitscontroller 118 zu übermitteln und mindestens eine Sicherheitsaktion vom Verwaltbarkeitscontroller 118 zu empfangen. Der Port-Management-IC 122 kann ferner mit jedem der mehreren peripheren Ports 124 gekoppelt sein, um die mindestens eine Aktion an einem entsprechenden peripheren Port 124 direkt zu implementieren. In einigen Beispielen können die Sicherheitsaktionen das Akzeptieren des ersten Peripheriegeräts 128, das Zurückweisen des ersten Peripheriegeräts 128 und das Deaktivieren des mindestens einen Ports 124 umfassen. Die Funktionalitäten des Port-Management-IC 122 werden im Folgenden genauer beschrieben.
-
In einigen Beispielen kann die Beispiel-Rechenzentrumsumgebung 100 das erste Peripheriegerät 128 enthalten, z. B. ein USB-Gerät. Das erste Peripheriegerät 128 kann eine Vielzahl von ersten Gerätekennungen haben, die ihm zugeordnet sind. In einigen nicht einschränkenden Beispielen kann die Vielzahl der ersten Gerätekennungen eine Hersteller-Kennung, eine Klassenbeschreibung und eine Unterklassenbeschreibung enthalten. In einem Beispiel kann die Hersteller-Kennung Informationen über den Hersteller des ersten Peripheriegeräts 128 liefern. Es kann hier angemerkt werden, dass der Hersteller-Identifikator ein Standard-Identifikator ist, der für jeden Hersteller einzigartig oder unverwechselbar ist. Zum Beispiel kann die Hersteller-Kennung für einen Hersteller „A“ „PD-AAA“ sein, zum Beispiel. In ähnlicher Weise kann die Hersteller-Kennung für einen anderen Hersteller „B“ „PD-BBB“ und für einen weiteren Hersteller „C“ „PD-CCC“ sein. Weiterhin kann die Klassenbeschreibung eine breite Kategorie angeben, zu der das erste Peripheriegerät 128 gehört. Zum Beispiel kann die Klassenbeschreibung für das erste Peripheriegerät 128 als „Gerät mit menschlicher Schnittstelle“ oder „Massenspeichergerät“ oder „Netzwerkgerät“ oder „Bildverarbeitungssteuerungsgerät“ und dergleichen klassifiziert werden, basierend auf dem Typ des ersten Peripheriegeräts 128. Es kann hier angemerkt werden, dass die Klassenbeschreibung standardisiert und herstellerübergreifend eindeutig oder unterscheidbar sein kann. Zum Beispiel kann die Klassenbeschreibung für das Human Interface Device als „PD-HID“ kategorisiert werden. In ähnlicher Weise kann die Klassenbeschreibung für das Massenspeichergerät als „PD-STO“, für das Netzwerkgerät als „PD-NET“ und für das Vision Control Interface als „PD-VCI“ kategorisiert werden. Weiterhin kann jede Klassenbeschreibung in die Unterklassenbeschreibung unterteilt werden. Zum Beispiel kann die Klassenbeschreibung des menschlichen Schnittstellengeräts „PD-HID“ weiter unterteilt werden, z. B. in „Tastatur“ oder „Maus“. In solchen Beispielen kann die Unterklassenbeschreibung für die Tastatur z. B. „PD-KEY“ sein. Analog dazu kann die Unterklassenbeschreibung für die Maus z. B. „PD-MOU“ sein.
-
Das externe Computersystem 104 kann auch eine Vielzahl von Peripherieanschlüssen 136 enthalten. In einigen Beispielen kann jeder Anschluss der Vielzahl von Peripherieanschlüssen 136 ein USB-Anschluss sein. In einem oder mehreren Beispielen kann das erste Peripheriegerät 128 auch an den mindestens einen Peripherieanschluss der Vielzahl von Peripherieanschlüssen 136 des externen Computersystems 104 angeschlossen und über den virtuellen Anschluss 124H an das Host-Computersystem 102 montiert werden. Das Verfahren zur sicheren Befestigung des ersten Peripheriegeräts 128 am Host-Computersystem 102 wird im Folgenden genauer beschrieben.
-
Während des Betriebs kann sich der Administrator 106 sicher am Host-Computersystem 102 anmelden und zweite Daten, einschließlich einer Vielzahl von Zugriffskontrollregeln und Sicherheitsaktionen, im Verwaltbarkeitscontroller 118 speichern. Wenn die zweiten Daten bereits im Verwaltbarkeitscontroller 118 gespeichert sind, kann der Administrator 106 die Zugriffskontrollregeln und/oder die Sicherheitsaktionen basierend auf den Geschäftsanforderungen aktualisieren. In einigen Beispielen kann der Administrator 106 auf die Web-Konsole 108 zugreifen, um die zweiten Daten im Speicher des Verwaltbarkeitscontrollers 118 zu speichern/zu aktualisieren. In einigen anderen Beispielen kann der Administrator 106 die Befehlszeilenschnittstelle 110 verwenden, um die zweiten Daten im Speicher des Verwaltbarkeitscontrollers 118 zu speichern/zu aktualisieren. In solchen Beispielen kann der Administrator 106 einen RESTful-Befehl (Representational State Transfer) zum Speichern oder Aktualisieren der zweiten Daten über die Befehlszeilenschnittstelle 110 verwenden.
-
Ein Beispiel für zweite Daten, die die Vielzahl von Zugriffskontrollregeln und die Sicherheitsaktionen enthalten, kann wie in Tabelle - 1 unten dargestellt werden. TABELLE - 1
ZUGRIFFSKONTROLLREGEL NR. | ZUGRIFFSKONTROLLREGELN | SICHERHEITSMASSNAHMEN |
PERIPHERIE-ANSCHLUSSKENNUNGEN | VIELZAHL VON ZWEITEN KENNUNGEN FÜR PERIPHERIEGERÄTE |
ANBIETERKENNZEICHNUNG | KLASSENBESCHREIBUNG | UNTERKLASSENBESCHREIBUNG |
1 | PP-2201 ODER PP-2202 ODER PP-2203 | PD-ANY | PD-HID | PD-KEY ODER PD-MOU | ACCEPT |
2 | PP-1101 ODER PP-1102 | PD-ANY | PD-HID | PD-KEY ODER PD-MOU | REJECT |
3 | PP-3301 ODER PP-3202 | PD-ANY | PD-HID | PD-KEY ODER PD-MOU | REJECT |
4 | PP-ALL | PD-ANY | PD-VCI | PD-CAM | AUSSCHALTEN, LOG |
5 | PP-2201 ODER P3301 | PD-AAA ODER PD-BBB ODER PD-CCC | PD-STO | PD-ANY | ACCEPT |
6 | PP-2201 ODER PP-2202 ODER PP-2203 | PD-ANY | PD-STO | PD-ANY | REJECT |
7 | PP-2201 ODER PP-2202 ODER PP-2203 | PD-ANY | PD-NET | PD-ANY | REJECT |
8 | PP-1101 ODER PP-1102 ODER PP-3301 ODER PP-3202 | PD-BBB | PD-STO ODER PD-NET | PD-ANY | ACCEPT |
9 | PP-ALL | PD-ANY | PD-OUT | PD-PRI | ACCEPT |
-
Im gezeigten Beispiel hat die Beispieltabelle 1 neun Zugriffskontrollregeln, die jeweils mit mindestens einer Sicherheitsaktion verknüpft sind, um den Zugriff auf die mehreren Peripherieanschlüsse 124 des Host-Computersystems 102 zu regeln. Bezug nehmend auf Tabelle - 1, unten, hat jede Zugriffskontrollregel mindestens einen vorbestimmten Peripherieport-Identifikator, der einer Vielzahl von vorbestimmten Geräte-Identifikatoren eines zweiten Peripheriegeräts zugeordnet ist. Außerdem ist jede Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion verknüpft. In einigen Beispielen können die Sicherheitsaktionen das Akzeptieren des ersten Peripheriegeräts 128, das Zurückweisen des ersten Peripheriegeräts 128 und das Deaktivieren des mindestens einen Peripherieports 124 umfassen.
-
Unter Bezugnahme auf die erste Zugriffskontrollregel in Tabelle 1 werden die dritten, vierten und fünften Peripherieanschlüsse 124C, 124D bzw. 124E, die zum zweiten Peripheriegeräte-Hub 120B gehören, dem zweiten Peripheriegerät zugeordnet, das von „ANY“-Anbietern hergestellt wird, die die Klassenbeschreibung „Human Interface Device“ (Gerät mit menschlicher Schnittstelle) repräsentieren und die Unterklassenbeschreibungen „Tastatur“ oder „Maus“ aufweisen. In einem solchen Beispiel ist die erste Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Akzeptieren“ des ersten Peripheriegeräts 128 verknüpft.
-
In der zweiten Zugriffskontrollregel werden die ersten und zweiten Peripherieanschlüsse 124A bzw. 124B, die zum ersten Peripheriegeräte-Hub 120A gehören, dem zweiten Peripheriegerät zugeordnet, das von „ANY“-Anbietern hergestellt wird, die Klassenbeschreibung „Human Interface Device“ repräsentiert und die Unterklassenbeschreibungen „Tastatur“ oder „Maus“ aufweist. In diesem Beispiel ist die zweite Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Zurückweisen“ des ersten Peripheriegeräts 128 verknüpft.
-
In der dritten Zugriffskontrollregel werden der sechste und siebte Peripherieanschluss 124F bzw. 124G, die zum dritten Peripheriegeräte-Hub 120C gehören, dem zweiten Peripheriegerät zugeordnet, das von „ANY“-Anbietern hergestellt wird, die Klassenbeschreibung „Human Interface Device“ repräsentiert und die Unterklassenbeschreibungen „Tastatur“ oder „Maus“ aufweist. In diesem Beispiel ist die dritte Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Zurückweisen“ des ersten Peripheriegeräts 128 verknüpft.
-
In der vierten Zugriffskontrollregel wird die Vielzahl von Peripherieanschlüssen 124 mit der Anschlusskennung „PP-ALL“ dem zweiten Peripheriegerät zugeordnet, das von „ANY“-Anbietern hergestellt wird, die Klassenbeschreibung „Visual Control Interface“ darstellt und eine Unterklassenbeschreibung „Kamera“ hat. In einem solchen Beispiel ist die vierte Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Deaktivieren“ des Peripherieanschlusses 124 verknüpft und macht einen „Log“-Eintrag über die Sicherheitsaktion, die auf dem Peripherieanschluss 124 implementiert ist, in einer Log-Datei (nicht gezeigt) des Host-Computersystems 102.
-
In der fünften Zugriffskontrollregel werden der dritte und sechste Peripherieanschluss 124C bzw. 124F, die zum zweiten bzw. dritten Peripheriegeräte-Hub 120B, 120C gehören, dem zweiten Peripheriegerät zugeordnet, das von Herstellern wie „A“, „B“ oder „C“ hergestellt wird, die die Klassenbeschreibung „Massenspeichergerät“ darstellen und die Unterklassenbeschreibung „ANY“ haben. In diesem Beispiel ist die fünfte Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Akzeptieren“ des ersten Peripheriegeräts 128 verknüpft.
-
In der sechsten Zugriffskontrollregel wird der dritte, vierte bzw. fünfte Peripherieanschluss 124C, 124D, 124E, der zum zweiten Peripheriegeräte-Hub 120B gehört, dem zweiten Peripheriegerät zugeordnet, das von „ANY“-Anbietern hergestellt wird, die Klassenbeschreibung „Massenspeichergerät“ repräsentiert und die Unterklassenbeschreibung „ANY“ hat. In diesem Beispiel ist die sechste Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Zurückweisen“ des ersten Peripheriegeräts 128 verknüpft.
-
In der siebten Zugriffskontrollregel wird der dritte, vierte bzw. fünfte Peripherieanschluss 124C, 124D, 124E, der zum zweiten Peripheriegeräte-Hub 120B gehört, dem zweiten Peripheriegerät zugeordnet, das von „ANY“-Anbietern hergestellt wird, die Klassenbeschreibung „Netzwerkgerät“ repräsentiert und die Unterklassenbeschreibung „ANY“ hat. In diesem Beispiel ist die siebte Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Zurückweisen“ des ersten Peripheriegeräts 128 verknüpft.
-
In der achten Zugriffskontrollregel werden die ersten, zweiten, sechsten und siebten Peripherieanschlüsse 124A, 123B, 124F, 124G, die jeweils zu den ersten und dritten Peripheriegeräte-Hubs 120A, 120C gehören, dem zweiten Peripheriegerät zugeordnet, das von einem Hersteller wie „B“ hergestellt wird und eine Klassenbeschreibung wie „Massenspeichergerät oder Netzwerkgerät“ und eine Unterklassenbeschreibung „ANY“ aufweist. In diesem Beispiel ist die achte Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Akzeptieren“ des ersten Peripheriegeräts 128 verknüpft.
-
In der neunten Zugriffskontrollregel wird die Vielzahl von Peripherieanschlüssen 124 mit der Anschlusskennung „PP-ALL“ dem zweiten Peripheriegerät zugeordnet, das von „ANY“-Anbietern hergestellt wird, die Beschreibung „Ausgabeklasse“ darstellt und eine Unterklassenbeschreibung „Drucker“ hat. In diesem Beispiel ist die neunte Zugriffskontrollregel mit der mindestens einen Sicherheitsaktion als „Akzeptieren“ des ersten Peripheriegeräts 128 verknüpft.
-
In einem oder mehreren Beispielen werden die Vielzahl von Zugriffskontrollregeln und die entsprechenden Sicherheitsaktionen vom Administrator 106 der Rechenzentrumsumgebung 100 definiert. In einigen Beispielen kann der Administrator 106 erforderliche Eingaben/Informationen von dem einen oder den mehreren Kunden erhalten, deren Arbeitslasten in dem Host-Computersystem 102 gehostet werden, um jede der Vielzahl von Zugriffskontrollregeln zu formulieren. Mit anderen Worten, die mindestens eine Sicherheitsaktion, die mit jeder Zugriffskontrollregel verknüpft ist, wird auf der Grundlage eines Typs des zweiten Peripheriegeräts bestimmt, das der eine oder die mehreren Kunden zur Verwendung in der Rechenzentrumsumgebung 100 zugelassen haben. Beispielsweise kann das zweite Peripheriegerät, das zur Klassenbeschreibung „Sichtkontrollschnittstelle“ gehört, eine Sicherheitsbedrohung (z. B. eine physische Sicherheit und digitale Sicherheit) für die Rechenzentrumsumgebung 100 darstellen. Dementsprechend können der eine oder die mehreren Kunden dem Administrator 106 Anweisungen gegeben haben, strenge Maßnahmen gegen die Verwendung eines solchen Typs von zweitem Peripheriegerät zu ergreifen, wodurch der Peripherieanschluss 124 „deaktiviert“ wird, indem die Stromversorgung des Peripherieanschlusses 124 ausgeschaltet wird. Es kann hier angemerkt werden, dass, wenn der periphere Anschluss 124 deaktiviert ist, er vollständig inaktiv wird oder nicht auf zukünftige Aktionen an diesem bestimmten peripheren Anschluss reagiert, bis der Administrator 106 eingreift und Einstellungsänderungen an diesem peripheren Anschluss 124 vornimmt, zum Beispiel durch Einschalten, um diesen bestimmten peripheren Anschluss wieder in den aktiven Zustand zu bringen.
-
Während des Betriebs oder der Nutzung kann der Administrator 106 oder ein beliebiger Benutzer, der Zugang zur Rechenzentrumsumgebung 100 hat, beispielsweise das erste Peripheriegerät 128 physisch an das Host-Computersystem 102 anschließen, um entweder Informationen in das Host-Computersystem 102 einzugeben oder Informationen aus diesem herauszuholen.
-
In einem Beispiel kann der Benutzer das erste Peripheriegerät 128 mit der Herstelleridentifikation „PD-BBB“, der Klassenbeschreibung „PD-HID“ und der Unterklassenbeschreibung „PD-KEY“ an den ersten Peripherieport 124A mit der Peripherieportidentifikation „PP-1101“ anschließen. In solchen Fällen kann beim Einstecken des ersten Peripheriegeräts 128 in den ersten Peripherieport 124A der erste Peripheriegeräte-Hub 120A aktiv werden. Der erste Mikrocontroller 126A, der zum ersten Peripheriegeräte-Hub 120A gehört, kann den Port-Management-IC 122 über das Einstecken des ersten Peripheriegeräts 128 in das Host-Computersystem 102 informieren. Später kann der erste Mikrocontroller 126A mit dem ersten Peripheriegerät 128 und dem ersten Peripherieanschluss 124A verhandeln, um die ersten Daten einschließlich der Peripherieanschlusskennung des ersten Peripherieanschlusses 124A und der mehreren Gerätekennungen des ersten Peripheriegeräts 128 zu erhalten. In einigen Beispielen kann der erste Mikrocontroller 126A Standard-USB-Protokolle für die Verhandlung mit der Vielzahl von Peripherieanschlüssen 124 und dem Anschlussverwaltungs-IC 122 verwenden. Im vorliegenden Beispiel kann die Kennung des Peripherieanschlusses „PP-1101“ und die Mehrzahl der Gerätekennungen „PD-BBB“, „PD-HID“ und „PD-KEY“ sein. Der Port-Management-IC 122 kann später den ersten Mikrocontroller 126A abfragen, um die ersten Daten vom ersten Mikrocontroller 126A zu empfangen. Anschließend kann der Portmanagement-IC 122 eine sichere Verbindung mit dem Verwaltbarkeitscontroller 118 herstellen und die ersten Daten an den Verwaltbarkeitscontroller 118 übermitteln.
-
In einigen Beispielen kann der Verwaltbarkeits-Controller 118 die vom Port-Management-IC 122 empfangenen ersten Daten mit den zweiten Daten vergleichen, die die Mehrzahl der im Speicher des Verwaltbarkeits-Controllers 118 gespeicherten Zugriffskontrollregeln enthalten, um die mindestens eine Sicherheitsaktion zu bestimmen. Im vorliegenden Beispiel kann der Verwaltbarkeitscontroller 118 die zweite Zugriffskontrollregel anwenden, die in Tabelle - 1 aufgeführt ist, da die Peripherieanschlusskennung des ersten Peripherieanschlusses 124A und jede der mehreren Peripheriegerätekennungen des ersten Peripheriegeräts 128, die von den ersten Daten empfangen werden, mit der Bedingung übereinstimmen, die in der zweiten Zugriffskontrollregel in Tabelle - 1 aufgeführt ist. Zum Beispiel stimmen die Anschlusskennung, wie „PP-1101“ des ersten Peripherieanschlusses 124A, und die mehreren Peripheriegerätekennungen, wie „PD-BBB“, „PD-HID“ und „PD-KEY“, des ersten Peripheriegeräts 128 mit der vorbestimmten Peripherieanschlusskennung, wie „PP-1101“, und den mehreren vorbestimmten Peripheriegerätekennungen, wie „PD-BBB“, „PD-HID“ und „PD-KEY“, des zweiten Peripheriegeräts überein, wie in der zweiten Zugriffssteuerungsregel der Tabelle -1 aufgeführt. Dementsprechend kann der Verwaltungskontroller 118 die mindestens eine Sicherheitsaktion auswählen, die mit der zweiten Zugriffskontrollregel verknüpft ist, z. B. „Zurückweisen“ des ersten Peripheriegeräts 128. Anschließend kann der Portmanagement-IC 122 den Verwaltbarkeitscontroller 118 abfragen, um die mindestens eine Sicherheitsaktion zu erhalten, die vom Verwaltbarkeitscontroller 118 ausgewählt wurde, z. B. „Zurückweisen“ des ersten Peripheriegeräts 128.
-
Der Port-Management-IC 122 kann dann direkt mit dem ersten Peripherieanschluss 124A interagieren, um die mindestens eine Sicherheitsaktion zu implementieren, die vom Verwaltbarkeitscontroller 118 ausgewählt wurde. In einigen Beispielen kann der Port-Management-IC 122 Standard-USB-Protokolle für die Implementierung der mindestens einen Sicherheitsaktion an der Mehrzahl der Peripherieanschlüsse 124 verwenden. Im vorliegenden Beispiel kann der Portverwaltungs-IC 122 keine Kommunikationsverbindung mit dem ersten Peripheriegerät 128 über den ersten Peripherieanschluss 124A herstellen, um zu verhindern, dass das erste Peripheriegerät 128 erkannt und/oder in der Schnittstelle des Betriebssystems (OS) zur Verwendung durch den Benutzer aufgeführt wird. Es kann hier angemerkt werden, dass der Portverwaltungs-IC 122 alle oben genannten Funktionen im Hintergrund ausführen kann, d. h. ohne mit der CPU 114/dem Betriebssystem des Host-Computersystems 102 zu interagieren, um das Betriebssystem und andere Hardware des Host-Computersystems 102 von dem ersten Peripheriegerät 128 zu isolieren, bis es zur Verwendung freigegeben/akzeptiert wird.
-
In einem anderen Beispiel kann der Benutzer das erste Peripheriegerät 128, das von einem „ANY“-Anbieter hergestellt wurde (d.h. mit der Anbieterkennung „PD-ANY“), der Klassenbeschreibung „PD-HID“ und der Unterklassenbeschreibung „PD-MOU“ an den dritten Peripherieanschluss 124C mit der Peripherieanschlusskennung „PP-2101“ anschließen. In solchen Fällen kann beim Einstecken des ersten Peripheriegeräts 128 in den dritten Peripherieport 124C der zweite Peripheriegeräte-Hub 120B aktiv werden. Der zweite Mikrocontroller 126C, der zum zweiten Peripheriegeräte-Hub 120B gehört, kann den Port-Management-IC 122 über das Einstecken des ersten Peripheriegeräts 128 in das Host-Computersystem 102 informieren. Der zweite Mikrocontroller 126C kann mit dem ersten Peripheriegerät 128 und dem dritten Peripherieanschluss 124C verhandeln, um die ersten Daten einschließlich der Peripherieanschlusskennung des dritten Peripherieanschlusses 124C und der mehreren Gerätekennungen des ersten Peripheriegeräts 128 zu erhalten. In solchen Beispielen kann der Peripherieport-Identifikator „PP-2201“ sein und die mehreren Geräteidentifikatoren können „PD-ANY“, „PD-HID“ und „PD-MOU“ sein. Der Portmanagement-IC 122 kann später den zweiten Mikrocontroller 126B abfragen, um die ersten Daten vom zweiten Mikrocontroller 126B zu empfangen. Anschließend kann der Portmanagement-IC 122 die sichere Verbindung mit dem Verwaltbarkeitscontroller 118 herstellen und die ersten Daten an den Verwaltbarkeitscontroller 118 übermitteln.
-
In einigen Beispielen kann der Verwaltbarkeits-Controller 118 die vom Port-Management-IC 122 empfangenen ersten Daten mit den zweiten Daten vergleichen, die die Mehrzahl der im Speicher des Verwaltbarkeits-Controllers 118 gespeicherten Zugriffskontrollregeln enthalten, um die mindestens eine Sicherheitsaktion zu bestimmen. In solchen Beispielen kann der Verwaltbarkeitscontroller 118 die erste Zugriffskontrollregel anwenden, die in Tabelle - 1 aufgeführt ist, da die Peripherieanschlusskennung des dritten Peripherieanschlusses 124C und jede der mehreren Peripheriegerätekennungen des ersten Peripheriegeräts 128, die von den ersten Daten empfangen werden, mit der Bedingung übereinstimmen, die in der ersten Zugriffskontrollregel in Tabelle - 1 aufgeführt ist. Zum Beispiel stimmt der Peripherieport-Identifizierer, wie „PP-2201“ des dritten Peripherieports 124C und jeder der mehreren Peripheriegeräte-Identifizierer, wie „PD-ANY“, „PD-HID“ und „PD-MOU“ des ersten Peripheriegeräts 128 mit dem vorbestimmten Peripherieport-Identifizierer „PP-2201“ und jedem der mehreren vorbestimmten Peripheriegeräte-Identifizierer, wie „PD-ANY“, „PD-HID“ und „PD-MOU“ des zweiten Peripheriegeräts überein, wie in der zweiten Zugriffskontrollregel der Tabelle -1 aufgeführt. Dementsprechend kann der Verwaltungskontroller 118 die mindestens eine Sicherheitsaktion auswählen, die mit der ersten Zugriffskontrollregel verknüpft ist, z. B. „Akzeptieren“ des ersten Peripheriegeräts 128. Anschließend kann der Portmanagement-IC 122 den Verwaltbarkeitscontroller 118 abfragen, um die mindestens eine Sicherheitsaktion zu erhalten, die vom Verwaltbarkeitscontroller 118 ausgewählt wurde, z. B. „Akzeptieren“ des ersten Peripheriegeräts 128.
-
Der Portmanagement-IC 122 kann dann direkt mit dem dritten Peripherieanschluss 124C interagieren, um die mindestens eine Sicherheitsaktion zu implementieren, die von der Verwaltungssteuerung 118 ausgewählt wurde. Im vorliegenden Beispiel kann der Portmanagement-IC 122 die Kommunikationsverbindung zum ersten Peripheriegerät 128 über den dritten Peripherieanschluss 124C herstellen, so dass das erste Peripheriegerät 128 erkannt und/oder in der Betriebssystemschnittstelle zur Verwendung durch den Benutzer aufgelistet werden kann. Später kann der Portmanagement-IC 122 die Verwendung des ersten Peripheriegeräts 128 an das Betriebssystem übergeben, bis das erste Peripheriegerät 128 vom dritten Peripherieanschluss 124C abgezogen oder abgehängt wird. Die vorgenannten Schritte können sich wiederholen, wenn der Benutzer das erste Peripheriegerät 128, wie hier beschrieben, erneut in den dritten Peripherieanschluss 124C ein- bzw. aussteckt.
-
Es kann hier angemerkt werden, dass der Administrator 106 die Zugriffskontrollregeln so eingestellt haben kann, dass die Verwendung des ersten Peripheriegeräts 128, das von einem „beliebigen“ Hersteller hergestellt wurde und die Klassenbeschreibung „Gerät mit menschlicher Schnittstelle“ und die Unterklassenbeschreibung „Tastatur“ oder „Maus“ hat, erlaubt wird, wenn es an einen der Peripherieanschlüsse angeschlossen wird, die an der Vorderseite 132 des Host-Computersystems 102 verfügbar sind. Während das erste Peripheriegerät 128 mit der Klassenbeschreibung als „Massenspeichergerät“ oder „Netzwerkgerät“ zurückgewiesen wird, wenn ein solches erstes Peripheriegerät 128 in einen der Peripherieanschlüsse eingesteckt wird, die an der Peripherieseite 130 oder der Rückseite 134 des Host-Computersystems 102 verfügbar sind.
-
In bestimmten anderen Beispielen kann der Benutzer das erste Peripheriegerät 128, das von „ANY“-Anbietern hergestellt wurde (d.h. mit der Anbieterkennung „PD-ANY“), der Klassenbeschreibung „PD-VCI“ und der Unterklassenbeschreibung „PD-CAM“ an einen beliebigen der mehreren Peripherieanschlüsse 124 anschließen (d.h. mit der Peripherieanschlusskennung „PP-ALL“). In solchen Fällen kann beim Einstecken des ersten Peripheriegeräts 128 in einen der mehreren Peripherieanschlüsse 124, z. B. einen vierten Peripherieanschluss 124D, ein entsprechender Peripheriegeräte-Hub, z. B. der zweite Peripheriegeräte-Hub 120B, aktiv werden. Der zweite Mikrocontroller 126B, der dem zweiten Peripheriegeräte-Hub 120B entspricht, kann den Port-Management-IC 122 über das Einstecken des ersten Peripheriegeräts 128 in das Host-Computersystem 102 informieren. Der zweite Mikrocontroller 126B kann dann mit dem ersten Peripheriegerät 128 und dem vierten Peripherieanschluss 124D verhandeln, um die ersten Daten einschließlich der Peripherieanschlusskennung des vierten Peripherieanschlusses 124D und der mehreren Gerätekennungen des ersten Peripheriegeräts 128 zu erhalten. In solchen Beispielen kann der Peripherieport-Identifikator „PP-2202“ sein und die mehreren Geräteidentifikatoren können „PD-ANY“, „PD-VCI“ und „PD-CAM“ sein. Der Port-Management-IC 122 kann später den zweiten Mikrocontroller 126B abfragen, um die ersten Daten vom zweiten Mikrocontroller 126B zu empfangen. Anschließend kann der Portmanagement-IC 122 die sichere Verbindung mit dem Verwaltbarkeitscontroller 118 herstellen und die ersten Daten an den Verwaltbarkeitscontroller 118 übermitteln.
-
In einigen Beispielen kann der Verwaltbarkeits-Controller 118 die vom Port-Management-IC 122 empfangenen ersten Daten mit den zweiten Daten vergleichen, die die Mehrzahl der im Speicher des Verwaltbarkeits-Controllers 118 gespeicherten Zugriffskontrollregeln enthalten, um die mindestens eine Sicherheitsaktion zu bestimmen. In solchen Beispielen kann der Verwaltbarkeitscontroller 118 die vierte Zugriffskontrollregel anwenden, die in Tabelle - 1 aufgeführt ist, da die Peripherieanschlusskennung des vierten Peripherieanschlusses 124D und jede der mehreren Peripheriegerätekennungen, die von den ersten Daten empfangen werden, mit der Bedingung übereinstimmt, die in der vierten Zugriffskontrollregel in Tabelle - 1 aufgeführt ist. Zum Beispiel, der Peripherieport-Identifikator, wie oder „PP-2202“ oder „PP-ANY“ des vierten Peripherieports 124D und jeder der Vielzahl von Peripheriegeräte-Identifikatoren, wie „PD-ANY“, „PD-VCI“, und „PD-CAM“ des ersten Peripheriegerätes 128 mit dem vorbestimmten Peripherieportbezeichner „PP-2202“ oder „PP-ANY“ und jedem der mehreren vorbestimmten Peripheriegerätebezeichner, wie „PD-ANY“, „PD-VCI“ und „PD-CAM“ des zweiten Peripheriegerätes, übereinstimmt, wie in der vierten Zugriffskontrollregel der Tabelle -1 aufgeführt. Dementsprechend kann der Verwaltungskontroller 118 die mit der vierten Zugriffskontrollregel verknüpfte Sicherheitsaktion auswählen, z. B. „Deaktivieren“ des Peripherieports 124 und „Protokollieren“ der Sicherheitsaktion. Anschließend kann der Portverwaltungs-IC 122 den Verwaltbarkeitscontroller 118 abfragen, um die Sicherheitsaktion vom Verwaltbarkeitscontroller 118 zu erhalten, z. B. „Deaktivieren“ des vierten peripheren Ports 124D und „Protokollieren“ der Sicherheitsaktion.
-
Der Port-Management-IC 122 kann dann direkt mit dem vierten Peripherieanschluss 124D interagieren, um die vom Verwaltbarkeits-Controller 118 gewählte Sicherheitsaktion zu implementieren. Im vorliegenden Beispiel kann der Portmanagement-IC 122 die Stromversorgung des vierten Peripherieanschlusses 124D abschalten, so dass das erste Peripheriegerät 128 nicht erkannt und/oder in der Betriebssystemschnittstelle zur Verwendung durch den Benutzer aufgelistet wird. Weiterhin kann der Port-Management-IC 122 einen „Log“-Eintrag über die Sicherheitsaktion, die an dem peripheren Port 124 implementiert wurde, in einer Protokolldatei (nicht gezeigt) des Host-Computersystems 102 vornehmen. Es kann hier angemerkt werden, dass der vierte Peripherieanschluss 124D, wenn er deaktiviert ist, vollständig inaktiv wird oder nicht auf zukünftige Aktionen an diesem speziellen Anschluss reagiert, bis der Administrator 106 die Einstellungen dieses Peripherieanschlusses 124 ändert und die Stromversorgung wieder einschaltet, um den vierten Peripherieanschluss 124D in den aktiven Zustand zu bringen.
-
In einigen Beispielen kann der Administrator 106 oder ein anderer Benutzer das erste Peripheriegerät 128 an einen der mehreren Peripherieports 136 des externen Computersystems 104 anschließen. Später kann der Benutzer versuchen, das erste Peripheriegerät 128 über den virtuellen Port 124H an das Host-Computersystem 102 anzuschließen. Zum Beispiel kann der Benutzer auf die Web-Konsole 108 des externen Computersystems 104 zugreifen und versuchen, das erste Peripheriegerät 128, das an das externe Computersystem 104 angeschlossen ist, über den virtuellen Port 124H an das Host-Computersystem 102 anzuschließen. In solchen Beispielen kann der Verwaltbarkeitscontroller 118 die ersten Daten, die der Vielzahl von Peripheriegerätekennungen des ersten Peripheriegeräts 128 und der Portkennung des Peripherieports 136 entsprechen, vom externen Computersystem 104 empfangen. Beispielsweise kann die Portkennung des Peripherieports 136 „PP-ALL“ sein und die mehreren Peripheriegerätekennungen des ersten Peripheriegeräts 128 können „PD-ANY“, „PD-OUT“ und „PD-PRI“ sein. Dann kann die Verwaltungssteuerung 118 die ersten Daten mit den zweiten Daten vergleichen, die in der Verwaltungssteuerung 118 gespeichert sind, um mindestens eine Sicherheitsaktion zu bestimmen, wie oben beschrieben. Sobald die mindestens eine Sicherheitsaktion bestimmt ist, kann die Verwaltbarkeitssteuerung 118 eine solche Sicherheitsaktion auf dem virtuellen Port 124H des Host-Computersystems 102 implementieren.
-
Im vorliegenden Beispiel ist die Kennung des Peripherieanschlusses „PP-ALL“ und die mehreren Kennungen der Peripheriegeräte sind „PP-ANY“, „PP-OUT“ und „PP-PRI“. Die ersten Daten stimmen mit der Bedingung überein, die in den neunten Zugriffskontrollregeln der zweiten Daten festgelegt ist (unter Bezugnahme auf TABELLE - 1). Dementsprechend kann der Verwaltbarkeitscontroller 118 die mindestens eine Sicherheitsaktion als „Akzeptieren“ des ersten Peripheriegeräts 128 auswählen und die mindestens eine Sicherheitsaktion des Anschließens des ersten Peripheriegeräts 128 an das Host-Computersystem 102 über den virtuellen Port 124H implementieren.
-
In einigen Beispielen kann der Portverwaltungs-IC 122 ferner einen Eintrag der mindestens einen Sicherheitsaktion, die an dem mindestens einen Peripherieanschluss 124 implementiert wurde, beim Einstecken oder Anbringen des ersten Peripheriegeräts 128 an dem mindestens einen Peripherieanschluss 124 in einer Protokolldatei vornehmen. In einigen Beispielen können die Protokolldateien entweder in dem Host-Computersystem 102 gespeichert werden und der Administrator 106 kann darauf zugreifen. In einigen anderen Beispielen können die Protokolldateien direkt in dem externen Computersystem 104 gespeichert sein. Es kann hier angemerkt werden, dass der Administrator 106 die Einträge in den Protokolldateien analysieren kann, um alle Muster der Nutzung des Peripheriegeräts in einem bestimmten Peripherieanschluss oder die maximale Nutzung des Peripheriegeräts, das von einem bestimmten Hersteller hergestellt wurde, und Ähnliches zu bestimmen. Später kann der Administrator 106 die aus der Analyse der Muster gewonnenen Erkenntnisse bei der Formulierung/Überarbeitung/ Aktualisierung der Zugriffskontrollregeln verwenden.
-
ist ein Blockdiagramm eines Computersystems, z. B. eines Portmanagement-ICs 222 mit einer Verarbeitungsressource 202 und einem maschinenlesbaren Medium 204, das ausführbare Programmanweisungen speichert. Es sollte hier angemerkt werden, dass der in erwähnte Portmanagement-IC gleich oder ähnlich dem in beschriebenen Portmanagement-IC 122 sein kann. In dem Ausführungsbeispiel ist die Verarbeitungsressource 202 betriebsfähig mit dem maschinenlesbaren Medium 204 gekoppelt.
-
Die Verarbeitungsressource 202 kann ein physischer Prozessor sein. In einigen Beispielen kann der physische Prozessor mindestens eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Mikroprozessor und/oder andere Hardwarevorrichtungen sein, die zur Ausführung der in Bezug auf beschriebenen Funktionalität geeignet sind. In einigen Beispielen ist das maschinenlesbare Medium 204 nicht-transitory und wird alternativ als nicht-transitory maschinenlesbares Medium bezeichnet.
-
Die Verarbeitungsressource 202 führt eine oder mehrere Programmanweisungen aus, um eine oder mehrere der in beschriebenen Funktionen auszuführen. Beispielsweise kann die Verarbeitungsressource 202 Programmanweisungen ausführen, um erste Daten von der Vielzahl von Peripheriegeräte-Hubs zu empfangen. In einigen Beispielen enthalten die ersten Daten eine Vielzahl von Gerätekennungen eines ersten Peripheriegeräts und eine Anschlusskennung des mindestens einen Peripherieanschlusses. In einigen Beispielen ist jeder Hub der Vielzahl von Peripheriegeräte-Hubs ein USB-Hub (Universal Serial Bus). Ebenso ist das Peripheriegerät ein USB-Gerät und der mindestens eine Peripherieanschluss ist ein USB-Anschluss.
-
Die Verarbeitungsressource 202 kann später die ersten von den mehreren Peripheriegeräte-Hubs empfangenen Daten an einen Verwaltbarkeits-Controller übertragen. In einigen Beispielen kann die Verarbeitungsressource die Programmanweisungen ausführen, um eine sichere Verbindung mit dem Verwaltbarkeitscontroller herzustellen, bevor die ersten Daten übermittelt werden. Anschließend kann die Verarbeitungsressource 202 den Verwaltbarkeitscontroller abfragen, um eine oder mehrere Sicherheitsaktionen vom Verwaltbarkeitscontroller zu empfangen. In einigen Beispielen können die Sicherheitsaktion(en) das Akzeptieren des ersten Peripheriegeräts, das Zurückweisen des ersten Peripheriegeräts oder das Deaktivieren des mindestens einen Peripherieanschlusses umfassen. In einem oder mehreren Beispielen wird die Sicherheitsaktion durch den Verwaltbarkeitscontroller auf der Grundlage eines Vergleichs der ersten Daten mit zweiten Daten bestimmt, die eine Vielzahl von Zugriffskontrollregeln enthalten. In diesem Beispiel ist die Sicherheitsaktion mit jeder Zugriffskontrollregel verknüpft, und jede Zugriffskontrollregel hat den Port-Identifikator des mindestens einen peripheren Ports, der einer Vielzahl von vorbestimmten Geräte-Identifikatoren eines zweiten peripheren Geräts zugeordnet ist. Die Schritte zur Bestimmung der Sicherheitsaktion(en) durch den Verwaltungskontroller werden in Verbindung mit beschrieben.
-
Die Verarbeitungsressource 202 kann ferner die Programmanweisungen ausführen, um die mindestens eine Sicherheitsaktion an dem mindestens einen Peripherieanschluss direkt zu implementieren, wie in Verbindung mit beschrieben. In einigen Beispielen kann die Verarbeitungsressource 202 die Kommunikationsverbindung mit dem Peripheriegerät über den mindestens einen Peripherieanschluss nicht herstellen, um zu verhindern, dass das Peripheriegerät 128 erkannt und/oder in der Schnittstelle des Betriebssystems (OS) zur Verwendung durch den Benutzer aufgeführt wird. In einigen anderen Beispielen kann die Verarbeitungsressource 202 die Kommunikationsverbindung mit dem Peripheriegerät über den mindestens einen Peripherieanschluss herstellen. In bestimmten anderen Beispielen kann die Verarbeitungsressource 202 die Stromversorgung des mindestens einen Peripherieanschlusses abschalten.
-
ist ein Blockdiagramm 300, das eine Verarbeitungsressource 302 und ein maschinenlesbares Medium 304 zeigt, das mit Beispielbefehlen kodiert ist, um Daten durch einen integrierten Portmanagement-Schaltkreis-Chip (IC) zu verarbeiten. In einigen Beispielen wird der Portmanagement-IC in einer Beispielumgebung 100 (wie in dargestellt) betrieben, um den Zugriff auf mindestens einen Peripherieport eines Host-Computersystems von einem Peripheriegerät aus zu regeln. Es sollte hier angemerkt werden, dass der in erwähnte Port-Management-IC gleich oder ähnlich dem in bzw. beschriebenen Port-Management-IC 122, 222 sein kann. Das maschinenlesbare Medium 304 ist nicht-transitory und wird alternativ als nicht-transitory maschinenlesbares Medium bezeichnet. In einigen Beispielen kann auf das maschinenlesbare Medium 304 von der Verarbeitungsressource 302 zugegriffen werden. In einigen Beispielen speichert das maschinenlesbare Medium 304 die Programmanweisungen, die der Funktionalität eines Port-Management-ICs entsprechen, wie in beschrieben.
-
Das maschinenlesbare Medium 304 kann mit Beispielbefehlen 306, 308, 310, 312 kodiert sein. In einigen Beispielen kann ein Administrator des Host-Computersystems auf einen Verwaltbarkeits-Controller des Host-Computersystems zugreifen und zweite Daten speichern/bearbeiten, die eine Vielzahl von Zugriffskontrollregeln und Sicherheitsaktionen enthalten, die mit jeder der Vielzahl von Zugriffskontrollregeln verbunden sind.
-
Die Anweisung 306 kann, wenn sie von der Verarbeitungsressource 302 ausgeführt wird, Aspekte des Empfangs erster Daten von einer Vielzahl von Peripheriegeräte-Hubs implementieren. In einigen Beispielen enthalten die ersten Daten eine Vielzahl von Gerätekennungen eines ersten Peripheriegeräts und eine Anschlusskennung von mindestens einem Peripherieanschluss. Ein entsprechender der mehreren Peripheriegeräte-Hubs, an den der Peripherieanschluss angeschlossen ist, kann mit dem Peripheriegerät und dem mindestens einen Peripherieanschluss verhandeln, um die ersten Daten zu erhalten. In einigen Beispielen ist jeder Hub der Vielzahl von Peripheriegeräte-Hubs ein USB-Hub (Universal Serial Bus). In ähnlicher Weise ist das Peripheriegerät ein USB-Gerät und der mindestens eine Peripherieanschluss ist ein USB-Anschluss. Der Schritt des Empfangens der ersten Daten von der Vielzahl der Peripheriegeräte-Hubs ist in detailliert beschrieben.
-
Die Anweisung 308 kann, wenn sie ausgeführt wird, die Verarbeitungsressource 302 veranlassen, die von der Mehrzahl der Peripheriegeräte-Hubs empfangenen ersten Daten an den Verwaltbarkeits-Controller zu übermitteln, wie in beschrieben. In einigen Beispielen kann die Verarbeitungsressource 302 des Portmanagement-ICs eine sichere Verbindung mit dem Verwaltbarkeitscontroller herstellen und die ersten Daten an den Verwaltbarkeitscontroller übertragen.
-
Der Befehl 310 kann, wenn er ausgeführt wird, die Verarbeitungsressource 302 veranlassen, mindestens eine Sicherheitsaktion vom Verwaltbarkeitscontroller zu empfangen, wie in beschrieben. Wie in beschrieben, kann der Portmanagement-IC den Verwaltbarkeitscontroller abfragen, um die mindestens eine Sicherheitsaktion zu empfangen. In einigen Beispielen kann die Verwaltbarkeitssteuerung die ersten Daten mit den zweiten Daten vergleichen, um die mindestens eine Sicherheitsaktion zu bestimmen, wie in beschrieben.
-
Ferner können die Anweisungen 312, wenn sie ausgeführt werden, die Verarbeitungsressource 302 veranlassen, die mindestens eine Sicherheitsaktion an dem mindestens einen Peripherieanschluss zu implementieren, wie in beschrieben. In einigen Beispielen kann die mindestens eine Sicherheitsaktion das Akzeptieren des Peripheriegeräts, das Zurückweisen des Peripheriegeräts oder das Deaktivieren des mindestens einen Peripherieanschlusses umfassen. In einigen Beispielen kann die Verarbeitungsressource 302 das Peripheriegerät zurückweisen, indem sie die Kommunikationsverbindung mit dem Peripheriegerät über den mindestens einen Peripherieanschluss nicht herstellt. Ebenso kann die Verarbeitungsressource 302 das Peripheriegerät akzeptieren, indem sie die Kommunikationsverbindung mit dem Peripheriegerät über den mindestens einen Peripherieanschluss herstellt. In bestimmten anderen Beispielen kann die Verarbeitungsressource 302 den mindestens einen Peripherieanschluss durch Ausschalten der Stromversorgung des mindestens einen Peripherieanschlusses deaktivieren.
-
ist ein Flussdiagramm, das ein Verfahren 400 zur Regelung des Zugriffs auf mindestens einen Peripherieanschluss eines Host-Computersystems von einem Peripheriegerät gemäß Ausführungsformen der vorliegenden Offenbarung darstellt. Es sei hier angemerkt, dass das Verfahren 400 in Verbindung mit beschrieben wird.
-
Das Verfahren 400 beginnt bei Block 402 und geht weiter zu Block 404. In Block 404 umfasst das Verfahren 400 den Empfang erster Daten von mehreren Peripheriegeräte-Hubs eines Host-Computersystems, wie in beschrieben. In einem oder mehreren Beispielen kann ein Hub, der dem mindestens einen Peripherieanschluss entspricht, mit dem Peripheriegerät und dem mindestens einen Peripherieanschluss verhandeln, um die ersten Daten zu erhalten, wenn das Peripheriegerät an den mindestens einen Peripherieanschluss des Host-Computersystems angeschlossen (eingesteckt/montiert) ist. In einigen Beispielen können die ersten Daten einen Port-Identifikator des mindestens einen peripheren Ports und die mehreren Geräte-Identifikatoren des peripheren Geräts enthalten. In einigen Beispielen ist jeder Hub der Vielzahl von Peripheriegeräte-Hubs ein Universal Serial Bus (USB)-Hub. Ebenso ist das Peripheriegerät ein USB-Gerät und der mindestens eine Peripherieanschluss ist ein USB-Anschluss.
-
Weiter geht das Verfahren 400 zu Block 406. In Block 406 umfasst das Verfahren 400 die Übermittlung der empfangenen ersten Daten an einen Verwaltbarkeitscontroller des Host-Computersystems, wie in beschrieben. In einigen Beispielen kann der Portmanagement-IC eine sichere Verbindung mit dem Verwaltbarkeitscontroller herstellen, bevor die ersten Daten an den Verwaltbarkeitscontroller übermittelt werden. In einigen Beispielen kann der Verwaltbarkeitscontroller ein Baseboard Management Controller (BMC) sein. Das Verfahren 400 wird in Block 408 fortgesetzt.
-
In Block 408 umfasst das Verfahren 400 den Empfang mindestens einer Sicherheitsaktion vom Verwaltbarkeitscontroller, wie in beschrieben. In einigen Beispielen kann der Portmanagement-IC den Verwaltbarkeitscontroller abfragen, um die mindestens eine Sicherheitsaktion zu empfangen. In einem oder mehreren Beispielen umfasst die mindestens eine Sicherheitsaktion das Akzeptieren des Peripheriegeräts, das Zurückweisen des Peripheriegeräts oder das Deaktivieren des mindestens einen Peripherieports. Die Schritte zur Bestimmung der mindestens einen Sicherheitsaktion sind in beschrieben und werden in der Beschreibung entsprechend erläutert. Das Verfahren 400 geht weiter zu Block 410.
-
In Block 410 umfasst das Verfahren 400 die direkte Implementierung der mindestens einen Sicherheitsaktion an dem mindestens einen peripheren Port, wie in beschrieben. In einigen Ausführungsformen kann der Portmanagement-IC das Peripheriegerät zurückweisen, indem er die Kommunikationsverbindung mit dem Peripheriegerät über den mindestens einen Peripherieport nicht herstellt. Ebenso kann der Portmanagement-IC das Peripheriegerät akzeptieren, indem er die Kommunikationsverbindung mit dem Peripheriegerät über den mindestens einen Peripherieanschluss herstellt. In bestimmten anderen Beispielen kann der Portmanagement-IC den mindestens einen Peripherieanschluss durch Abschalten der Stromversorgung des mindestens einen Peripherieanschlusses deaktivieren, wie in Verbindung mit ausführlich beschrieben. Das Verfahren 400 endet in Block 412.
-
ist ein Flussdiagramm, das ein Verfahren 500 zur Bestimmung mindestens einer Sicherheitsmaßnahme durch einen Verwaltbarkeitscontroller gemäß Ausführungsformen der vorliegenden Offenbarung darstellt. Es sei hier angemerkt, dass das Verfahren 500 in Verbindung mit den und beschrieben wird.
-
Das Verfahren 500 beginnt bei Block 502 und geht weiter zu Block 504. In Block 504 umfasst das Verfahren 400 den Empfang erster Daten von einem Port-Management-IC, wie in und beschrieben. In einem oder mehreren Beispielen können die ersten Daten einen Port-Identifikator des mindestens einen Peripherieports und die mehreren Geräte-Identifikatoren des Peripheriegeräts enthalten.
-
Weiter geht das Verfahren 500 zu Block 506. In Block 506 umfasst das Verfahren 500 den Empfang von zweiten Daten, die eine Vielzahl von Zugriffssteuerungsregeln enthalten, von einem Administrator einer Rechenzentrumsumgebung mit einem Host-Computersystem und einem externen Computersystem. In einigen Beispielen kann der Administrator auf den Verwaltbarkeitscontroller des Host-Computersystems entweder über eine sichere Web-Konsole oder eine Befehlszeilenschnittstelle zugreifen und die zweiten Daten, die eine Vielzahl von Zugriffskontrollregeln und mit jeder der Vielzahl von Zugriffskontrollregeln verknüpfte Sicherheitsaktionen enthalten, in einem Speicher des Verwaltbarkeitscontrollers speichern/bearbeiten. In einigen Beispielen kann der Administrator einen RESTful-Befehl zum Speichern/Bearbeiten der Zugriffskontrollregeln im Verwaltbarkeitscontroller verwenden. Wie in erläutert, ist die mindestens eine Sicherheitsaktion mit jeder Zugriffskontrollregel verknüpft, und jede Zugriffskontrollregel hat die Port-Kennung des mindestens einen Peripherieports, die einer Vielzahl von vorbestimmten Gerätekennungen eines zweiten Peripheriegeräts zugeordnet ist. Das Verfahren 500 wird weiter in Block 508 fortgesetzt.
-
In Block 508 umfasst das Verfahren 500 die Bestimmung mindestens einer Sicherheitsaktion durch den Verwaltbarkeits-Controller, wie in beschrieben. In einigen Beispielen kann der Verwaltbarkeits-Controller die ersten Daten mit den zweiten Daten vergleichen, um die mindestens eine Sicherheitsmaßnahme zu bestimmen. In einem oder mehreren Beispielen kann der Verwaltbarkeits-Controller zunächst die in den ersten Daten empfangene Port-Kennung des mindestens einen peripheren Ports mit der mindestens einen vorbestimmten Port-Kennung des mindestens einen peripheren Ports vergleichen, die in den zweiten Daten gespeichert ist. Wenn die Übereinstimmung festgestellt wird, kann der Verwaltbarkeitscontroller nur solche Zugriffskontrollregeln in die engere Auswahl nehmen, die identische periphere Portkennungen haben, und die mehreren Gerätekennungen des in den ersten Daten empfangenen Peripheriegeräts mit den mehreren vorbestimmten Gerätekennungen eines zweiten Peripheriegeräts vergleichen, die in den zweiten Daten gespeichert sind. Danach kann der Verwaltungskontroller die Zugriffskontrollregeln bestimmen, wenn die Bedingungen zwischen den ersten und zweiten Daten übereinstimmen, und die mindestens eine Sicherheitsaktion finden, die mit der bestimmten Zugriffskontrollregel verbunden ist. Das Verfahren 500 geht weiter zu Block 510.
-
In Block 510 umfasst das Verfahren 500 die Übermittlung der mindestens einen Sicherheitsaktion an den Portmanagement-IC, wie in beschrieben. In einigen Beispielen kann der Portmanagement-IC den Verwaltbarkeitscontroller abfragen, um die mindestens eine Sicherheitsaktion zu empfangen. In einem oder mehreren Beispielen umfasst die mindestens eine Sicherheitsaktion das Akzeptieren des Peripheriegeräts, das Zurückweisen des Peripheriegeräts oder das Deaktivieren des mindestens einen Peripherieports. In einigen Ausführungsformen implementiert der Portverwaltungs-IC die mindestens eine Sicherheitsaktion, die vom Verwaltbarkeitscontroller bestimmt wird. Beispielsweise kann der Portmanagement-IC das Peripheriegerät zurückweisen, indem er die Kommunikationsverbindung mit dem Peripheriegerät über den mindestens einen Peripherieport nicht herstellt. Ebenso kann der Portmanagement-IC das Peripheriegerät akzeptieren, indem er die Kommunikationsverbindung mit dem Peripheriegerät über den mindestens einen Peripherieport herstellt. In bestimmten anderen Beispielen kann der Portmanagement-IC den mindestens einen Peripherieanschluss durch Abschalten der Stromversorgung des mindestens einen Peripherieanschlusses deaktivieren, wie in Verbindung mit ausführlich beschrieben. Das Verfahren 500 endet in Block 512.
-
Verschiedene Funktionen, wie sie in den hier beschriebenen Beispielen dargestellt sind, können implementiert werden, um Sicherheitslücken zu beheben, die durch uneingeschränkten/unautorisierten Zugriff auf periphere Ports des Host-Computersystems unter Verwendung eines Peripheriegeräts entstanden sind, und so den Diebstahl sensibler Daten von den Host-Computersystemen oder die Einführung bösartiger (schädlicher) Daten in die Host-Computersysteme zu verhindern.
-
In der vorstehenden Beschreibung sind zahlreiche Details aufgeführt, um ein Verständnis des hier offengelegten Gegenstands zu ermöglichen. Die Implementierung kann jedoch auch ohne einige oder alle dieser Details durchgeführt werden. Andere Implementierungen können Modifikationen, Kombinationen und Variationen der oben beschriebenen Details umfassen. Es ist beabsichtigt, dass die folgenden Ansprüche solche Modifikationen und Variationen abdecken.