6.4 Zugriffsschutz in Datenbanken

Größe: px
Ab Seite anzeigen:

Download "6.4 Zugriffsschutz in Datenbanken"

Transkript

1 6.4 Zugriffsschutz in Datenbanken Relationale Datenbank besteht aus einer Menge von Tabellen (Relationen). Tabellen werden über Referenzen verbunden. Tabellen werden mengentheoretisch verknüpft und verarbeitet. Datenbank-Schema beschreibt die Tabellen. Zeilen der Tabelle werden als Tupel, die Spalten als Attribute bezeichnet. Wir beschäftigen uns nun mit Zugriffsschutzmechanismen in relationalen Datenbanken. Eine relationale Datenbank besteht aus einer Menge von Tabellen (Relationen), die durch Referenzen verknüpft sind. Die in den Tabellen gespeicherten Daten werden durch Operatoren mengenorientiert verknüpft und verarbeitet. Ein Datenbank-Schema beschreibt eine Tabelle, eine Instanz eines Schemas ist dann eine spezielle Ausprägung, d.h. Belegung der Tabelle mit Daten. Eine Zeile in einer Tabelle wird als Tupel bezeichnet, die Spalten als Attribute. 1

2 6.4 Zugriffsschutz in Datenbanken Beispiel: Primärschlüssel Signatur Autor Titel BenutzerNr Name Adresse Bücher Tupel ISBN30 ISBN32 ISBN40 Grass Heinz Kochrezepte Blechtrommel Benutzer Fritz Anna Berlin Hamburg Attribute Ausleihe Buch ISBN32 Leser 200 enthält Fremdschlüssel Der Primärschlüssel identifiziert die Tupel in der Tabelle eindeutig. Fremdschlüssel realisieren Verweise zwischen Tupeln unterschiedlicher Tabellen. 2

3 6.4 Zugriffsschutz in Datenbanken SQL ist Anfragesprache, die die Definition, Anfrage und Änderung einer Datenbank ermöglicht. Schemadefinition: create table Bücher (Signatur varchar(12) not null, Autor varchar(15), Titel varchar(30) not null); Einfügen von Tupeln: insert into Bücher values (`ISBN32`, `Heinz`, `Kochrezepte`); SQL ist eine deklarative Anfragesprache, bei der der Benutzer angibt, welche Daten ihn oder sie interessieren. Eine neue Tabelle wird mit dem create table Befehl erzeugt. Um eine Tabelle mit Daten zu füllen, wird der Befehl insert verwendet. 3

4 6.4 Zugriffsschutz in Datenbanken Einfache SQL-Anfragen: liefert Menge von Paaren (Signatur, Titel) vom Autor Grass select Signatur, Titel from Bücher where Autor = 'Grass'; liefert Menge von Tripeln select * from Benutzer where Name = Fritz'; Anfragen können mit dem select Befehl gestellt werden. Beispiele zeigt die Folie. 4

5 6.4 Zugriffsschutz in Datenbanken Anfragen über mehrere Relationen select Titel from Bücher, Ausleihe, Benutzer where Name = Anna' and BenutzerNr = Leser and Signatur = Buch; 5

6 6.4 Zugriffsschutz in Datenbanken Sichten (views) sind virtuelle Tabellen die bei jeder Verwendung ad-hoc aus den realen Tabellen generiert werden. create view Präferenzen(Name, Titel) as select Name, Titel from Bücher, Ausleihe, Benutzer where Benutzer = Leser and Signatur = Buch; select Titel from Präferenzen where Name = Anna'; Sichten bieten virtuelle Tabellen an, die nur einen Ausschnitt des gesamten Modells zeigen. Für virtuelle Tabellen werden keine neuen Tabellen angelegt, sondern sie werden bei jeder Verwendung neu berechnet. 6

7 6.4 Zugriffsschutz in Datenbanken Formulierung von Schutzstrategien in SQL Zugangskontrolle meist über Passwörter. Autorisierung erfolgt über die Kommandos grant und revoke zum Zuweisen bzw. Entziehen von Privilegien. Privilegien: Rechte, Typen von SQL Statements auf Daten auszuführen (z.b. SELCET, INSERT, DELETE etc.) Werden Benutzern und Rollen zugeordnet. Erzeuger hat alle Privilegien auf den Daten. Die Zugangskontrolle bei Datenbanken erfolgt meistens über Passwörter. Die Passwörter werden üblicherweise bei der Einrichtung der Benutzererkennung verschlüsselt gespeichert. In SQL existiert ein Befehl zur Vergabe von Privilegien (grant) und einer zum Entzug von Privilegien (revoke). Privilegien sind Rechte, Typen von SQL Statements auf Daten auszuführen. So kann einem Benutzer beispielsweise das SELECT-Kommando auf einer Tabelle gewährt oder das INSERT-Kommando auf einer View entzogen werden. Die Privilegien können direkt an Benutzer, aber auch an Rollen vergeben werden. In diesem Fall haben dann alle Mitglieder einer Rolle die der Rolle zugewiesenen Privilegien. Der Erzeuger von Daten hat alle Privilegien auf den Daten. 7

8 6.4 Zugriffsschutz in Datenbanken GRANT-Kommando zum Zuweisen von Privilegien. GRANT <privileges> ON <object> TO [<users> <role>] [WITH GRANT OPTION] GRANT OPTION: Recht, Privilegien an andere Benutzer weiterzureichen. Nach dem GRANT-Kommando hat der <user> das <privilege> auf dem <object> (Zugriffsmatrix) Das Grant-Kommando weist ein Privileg (z.b. SELECT, UPDATE) auf einem Objekt (z.b. eine Tabelle, Sicht) einem Benutzer oder einer Rolle zu. Betrachtet man die Zugriffsschutzmatrix als unterliegendes Modell, bewirkt das Grant-Kommando das Zufügen des Privilegs in die Matrix in der Spalte des Objekts und der Zeile des Benutzers bzw. der Rolle. Wird die GRANT OPTION verwendet, so darf der Benutzer das zugewiesene Privileg ebenfalls anderen Benutzern gewähren. 8

9 6.4 Zugriffsschutz in Datenbanken Beispiele: GRANT INSERT, SELECT ON Movie TO Klaus Klaus darf anfragen an die Tabelle Movie stellen und neue Tupel zufügen. GRANT DELETE ON Movie TO Anna WITH GRANT OPTION Anna kann Tupel der Tabelle Movie löschen und andere Benutzer ebenfalls dazu autorisieren. GRANT UPDATE (price_day) ON Movie TO movie_staff Alle Mitglieder der Rolle movie_staff können das Attribut price_day (und nur dieses) von Tupeln der Tabelle Movie ändern. Diese Folie zeigt einige Beispiele für das Grant-Kommando. 9

10 6.4 Zugriffsschutz in Datenbanken Revoke-Kommando zum Entziehen von Privilegien. REVOKE <privileges> ON <object> FROM [<users> <role>] RESTRICT RESTRICT: entziehe das Privileg nur, wenn das Privileg nicht von einem der <users> an andere weitergereicht wurde. Wird ein Privileg von mehreren Benutzern gegeben, muss das Privileg von allen diesen Benutzern entzogen werden, um das Privileg zu verlieren. Mit dem Revoke-Kommando lassen sich einem Benutzer oder einer Rolle Privilegien wieder entziehen. Das Schlüsselwort Restrict spezifiziert, dass Privilegien einem Benutzer jedoch nicht entzogen werden können, wenn dieser das Privileg schon weitergegeben hat, da dann auch allen diesen Benutzen das Privileg entzogen werden müsste. Ein solches transitives Entziehen des Privilegs ist mit diesem einfachen Revoke-Kommando jedoch nicht möglich. Außerdem wird einem Benutzer das Privileg durch ein Revoke-Kommando nicht entzogen, wenn dem Benutzer das Privileg noch von anderen Benutzern gewährt wurde. Um ein Privileg zu verlieren, müssen also alle Benutzer, die dieses Privileg gewährten, ein Revoke ausführen. 10

11 6.4 Zugriffsschutz in Datenbanken Beispiel 1: Owner: GRANT Update ON Movie TO Klaus; Owner: GRANT Update ON Movie TO Anna; Owner: REVOKE Update ON Movie FROM Klaus RESTRICT; Owner und Anna haben das Privilege Update Klaus hat das Privileg Update nicht mehr In diesem Beispiel wird Klaus das Update-Privileg auf die Tabelle Movie vom Owner entzogen. 11

12 6.4 Zugriffsschutz in Datenbanken Beispiel 2: Owner: Klaus: GRANT Update ON Movie TO Klaus WITH GRANT OPTION; GRANT Update ON Movie TO Anna; Owner: REVOKE Update ON Movie FROM Klaus RESTRICT; Revoke hat keinen Effekt: Owner, Anna und Klaus haben das Privileg Update. In diesem Beispiel hat das Revoke-Kommando keinen Effekt auf die Privileg-Zuordnung. Klaus kann das Update-Privileg nicht entzogen werden, da Klaus das Update-Privileg schon an Anna weitergegeben hat. 12

13 6.4 Zugriffsschutz in Datenbanken Revoke-Kommando zum transitiven Entziehen von Privilegien. REVOKE [GRANT OPTION FOR] <privileges> ON <object> FROM <users> {RESTRICT CASCADE} CASCADE: Entziehe das Recht auch allen Benutzern, denen das Privileg von diesen <users> gegeben wurde. RESTRICT: Entziehe das Privileg nur, wenn das Privileg nicht von einem der <users> an andere weitergereicht wurde. Es gibt auch eine Variante des Revoke-Kommandos zum transitiven Entziehen von Privilegien. Dies wird durch das Schlüsselwort Cascade spezifiziert, bei dem dann auch allen Benutzern das Privileg entzogen wird, die das Privileg von dem Benutzer bekamen, auf dem das Revoke-Kommando aufgerufen wird. 13

14 6.4 Zugriffsschutz in Datenbanken GRANT OPTION FOR: Entziehe das Recht zum Weiterreichen des Privilegs an andere Benutzer. Außerdem kann das Recht zum Weiterreichen von Privilegien einem Benutzer wieder entzogen werden. Dies geschieht mit dem Ausdruck GRANT OPTION FOR. 14

15 6.4 Zugriffsschutz in Datenbanken Beispiel 1: Owner: Klaus: GRANT Update ON Movie TO Klaus WITH GRANT OPTION; GRANT Update ON Movie TO Anna; Owner: REVOKE Update ON Movie FROM Klaus CASCADE; Owner hat das Privileg Update. Anna und Klaus wurde das Privileg entzogen. In diesem Beispiel hat das Entziehen des Update-Privilegs vom Benutzer Klaus auch den Entzug des Privilegs vom Benutzer Anna zur Folge, da Anna das Privileg von Klaus gewährt wurde. Da Klaus dieses Privileg nicht mehr hat, darf es somit auch Anna nicht mehr von ihm haben. 15

16 6.4 Zugriffsschutz in Datenbanken Beispiel 2: Owner: Klaus: GRANT Update ON Movie TO Klaus WITH GRANT OPTION; GRANT Update ON Movie TO Anna; Owner: REVOKE GRANT OPTION FOR Update ON Movie FROM Klaus CASCADE; Owner und Klaus haben das Privileg Update. Anna wurde das Privileg Update entzogen. Klaus wurde das GRANT-Recht entzogen. In diesem Beispiel wird Klaus das Recht zum Weiterreichen des Update-Privilegs entzogen. Da das Revoke-Kommando mit der Option CASCADE aufgerufen wurde, muss das Update-Privileg auch allen Benutzern entzogen werden, die das Privileg von Klaus gewährt bekamen. Da Anna das Update- Privileg von Klaus gewährt wurde, muss Anna das Privileg somit entzogen werden. Klaus selbst hat noch das Update-Privileg, da der Owner nur das Recht zum Weiterreichen des Privilegs entzogen hat, nicht das Privileg selbst. 16

17 6.4 Zugriffsschutz in Datenbanken Beispiel 3: Owner: Owner: Klaus: GRANT Update ON Movie TO Klaus WITH GRANT OPTION; GRANT Update ON Movie TO Anna; GRANT Update ON Movie TO Anna; Owner: REVOKE GRANT OPTION FOR Update ON Movie FROM Klaus CASCADE; Owner, Klaus und Anna haben das Update Privileg. Klaus hat das GRANT-Privileg nicht mehr. In diesem Beispiel wird Klaus wieder das Recht zum Weiterreichen des Update-Privilegs vom Owner entzogen. Da Klaus das Privileg an Anna weitergereicht hat, müsste es demnach auch Anna entzogen werden. Da Anna das Update-Privileg jedoch auch vom Owner selbst gewährt wurde, behält sie das Privileg. 17

18 6.4 Zugriffsschutz in Datenbanken Explizite Verwaltung der Zugriffsrechte mit GRANT und REVOKE ist für große Systeme aufwendig. Implizite Autorisierung für Subjekte und Operationen durch Anordnung in Hierarchien. Rolle B Rolle A Rolle D Rolle C Rollenhierarchie: Rolle B und C haben implizit die Privilegien von D. Rolle A hat implizit die Privilegien von Rolle B und C (und damit D). Die Grant- und Revoke-Kommandos geben die Möglichkeit, explizit Zugriffe auf Daten zu erlauben. Existieren viele Datenobjekte, wird die Menge der Autorisierungsregeln komplex und schwer verwaltbar. Daher existiert eine implizite Autorisierung. Bei dieser werden Subjekte bzw. Operationen hierarchisch angeordnet. Eine Autorisierung auf einer bestimmten Stufe der Hierarchie bewirkt, dass implizit Autorisierungen auf anderen Hierarchiestufen gelten. Für eine implizite Autorisierung von Subjekten werden Rollenhierarchien eingeführt. Eine Rolle hat dann implizit alle Privilegien der in der Hierarchie unter der Rolle liegenden Rollen. 18

19 6.4 Zugriffsschutz in Datenbanken Operationshierarchie: SELECT UPDATE DELETE UPDATE-Privileg beinhaltet SELECT- und DELETE-Privileg. Analog zu Rollenhierarchien können Operationshierarchien festgelegt werden. Bei der Hierarchie der Folie beinhaltet beispielsweise ein Privileg zum Update auch die Privilegien Select und Delete. 19

20 6.4.1 SQL Injection Einschleusen eigener Befehle in die SQL-Datenbank. Beispiel: Ein häufiger Angriff auf relationale Datenbanken ist SQL-Injection. SQL-Injection bezeichnet das Einschleusen von eigenen Befehlen in eine SQL-Datenbank. Als Beispiel betrachten wir eine Web- Schnittstelle, bei der man sich mit seinem Benutzernamen und seinem Passwort anmelden muss. 20

21 6.4.1 SQL Injection Code, der den Login durchführt: Language=VBScript %> <%... If Request.ServerVariables("CONTENT_LENGTH") > 0 Then strusername = Trim(Request.Form("UName")) strpassword = Trim(Request.Form("UPwd")) Set rs = Server.CreateObject("ADODB.Recordset") rs.open "select * from users where UserName='" & strusername &_ "' AND UserPassword='" & strpassword & "'"... End If %> Das dahinterliegende Skript konstruiert aus den Eingaben für das Passwort und den Benutzernamen eine SQL-Anfrage. 21

22 6.4.1 SQL Injection SQL String, wenn sich der Administrator mit admin / admin einloggt: select * from users where UserName='admin' AND UserPassword='admin' SQL String, wenn man sich mit ' OR '1'='1 und ' OR '1'='1 einloggt: select * from users where UserName='' OR '1'='1' AND UserPassword='' OR '1'='1' Gibt man nun für Benutzername und Passwort den String admin ein, so ergibt sich die erwartete SQL-Anfrage, bei der der UserName und das UserPassword auf admin geprüft werden. Gibt man jedoch für Benutzername und Passwort folgende Kombination ein: ' OR '1'='1 und ' OR '1'='1, so ergibt sich eine SQL-Anfrage, deren where-bedingung immer erfüllt ist und womit ohne das gültige Passwort auf Daten zugegriffen werden kann. 22

23 6.4.1 SQL Injection Weitere Angriffe sind möglich, um über Fehlermeldungen Informationen über das Datenbank-Schema zu erlangen. Problem bei SQL-Injection: Keine Überprüfung der Eingaben auf Quotes ( ) Gegenmaßnahme: Validieren der SQL-Statements auf ihre Gültigkeit. Das grundlegende Problem bei SQL-Injection ist die fehlende Filterung der Eingaben auf mögliche Quotes. Eine Gegenmaßnahme gegen SQL-Injection Angriffe liegt daher in der Validierung der SQL- Anfragen, bevor die SQL-Anfrage auf die Datenbank angewendet wird. 23

24 XACML = extensible Access Control Markup Language XML-basierter Standard zur Beschreibung von Zugriffsschutzpolitiken. Universelle Sprache für beliebige Werkzeige und Umgebungen (Interoperabilität). OASIS Spezifikation 1.1 (7.8.03) Existierende Implementierungen: Parthenon Computing SUN Lagash Systems: XACML.NET: Die extensible Access Control Markup Language (XACML) ist ein XML-basierter Standard der OASIS zur Beschreibung von Zugriffsschutzstrategien. Die XACML stellt eine universelle Sprache für Zugriffsschutzstrategien zur Verfügung, mit der Strategien für eine Vielzahl von Werkzeugen und Umgebungen beschrieben werden können. 24

25 Organization for the Advancement of Structured Information Standards (OASIS) 1993: SGML Open Konsortium zur Entwicklung von Interoperabilitäts-Richtlinien für Produkte, die die Standard Generalized Markup Language (SGML) unterstützen. 1998: OASIS Standards für Sicherheit (PKI, XACML), Web services, elektronisches Veröffentlichen, Interoperabilität in und zwischen elektronischen Marktplätzen etc. Die OASIS (Organization for the Advancement of Structured Information Standards) ist ein Konsortium, dass die Entwicklung weltweiter Standards für E-Business Anwendungen zum Ziel hat. Diese Standards betreffen Sicherheit, Web Services, elektronisches Veröffentlichen, Interoperabilität zwischen elektronischen Marktplätzen etc. Die Standards sollen helfen, dass Produkte verschiedener Hersteller miteinander interagieren können. OASIS ist aus der SGML Open entstanden, die sich mit der Entwicklung von Interoperabilitäts-Richtlinien bzgl. der Standard Generalized Markup Language (SGML) befasste. 25

26 XACML-Komponenten Policy Administration Point (PAP) Erstellt die Sicherheitsstrategie (security policy) und speichert diese in einem Repository. Policy Enforcement Point (PEP) Setzt dien Zugriffsschutz durch. Policy Information Point (PIP) Hält Informationen bereit, die zur Auswertung der Politik bzgl. einer Anfrage benutzt werden können. Policy Decision Point (PDP) Wertet die Politiken aus und bestimmt, ob der Zugriff der Anfrage erlaubt oder verboten ist. Die Folie zeigt und beschreibt kurz die wichtigsten Komponenten im XACML-Modell. 26

27 Ablauf einer Zugriffsschutzentscheidung für den Zugriff eines Subjekts auf eine Ressource: 1. PAPs schreiben Politiken und machen diese für den PDP verfügbar. 2. Das Subjekt (Access Requester) sendet eine Anfrage an den PEP. 3. Der PEP sendet die Anfrage an den Context Handler im Anfrage-Format weiter. Der PEP kann weitere Information hinzufügen (über Subjekt, Ressource oder Aktion). 4. Der Context Handler erstellt eine XACML-Anfrage, möglicherweise mittels weiterer Informationen vom PIP. Der Context Handler schickt die XACML-Anfrage an den PDP. Möchte ein Subjekt auf eine Ressource mittels einer bestimmten Aktion zugreifen, wird mittels des XACML-Modells der Zugriff entschieden. Der Ablauf dieser Zugriffsschutzentscheidung ist wie folgt. 1. Zunächst müssen PAPs Politiken schreiben, die sie dem PDP verfügbar machen. 2. Der Access Requester sendet eine Anfrage (z.b. eine CORBA-, J2EE- oder SOAP-Anfrage) zum Zugriff auf eine Ressource zum PEP. 3. Der PEP sendet diese Anfrage im ursprünglichen Format weiter zum Context Handler. Dabei können vom PEP neben der eigentlichen Anfrage weitere Information an den Context Handler geschickt werden, die das Subjekt, die auszuführende Aktion oder die Ressource näher beschreiben. 4. Der Context Handler erzeugt aus diesen Informationen eine XACML-Anfrage. Dazu können weitere Informationen zum Subjekt, der Ressource oder der Umgebung vom PIP angefordert werden. Der Context Handler schickt die XACML-Anfrage and den PDP. 27

28 5. Der PDP wertet die für die Anfrage anwendbaren Politiken aus. Sendet einen Antwort-Kontext (inklusive Zugriffsentscheidung) an den Context Handler. 6. Der Context Handler transformiert den Antwort-Kontext in das vom PEP benötigte Format und sendet ihn an den PEP. 7. PEP setzt die Antwort um (Zugriff erlaubt/verboten) 5. Der PDP identifiziert die anwendbaren Politiken und wertet die XACML-Anfrage bzgl. dieser Politiken aus. Der PDP gibt einen Antwort-Kontext inklusive der Zugriffsschutzentscheidung an den Context Handler zurück. 6. Der Context Handler transformiert den Antwort-Kontext in das Antwort-Format des PEP und sendet die Antwort an den PEP. 7. Der PEP setzt die Antwort um: Wenn der Zugriff erlaubt ist, erlaubt der PEP den Zugriff auf die Ressource. Ansonsten wird der Zugriff auf die Ressource abgelehnt. 28

29 Überblick 6.5 XACML setzt Zugriffsschutzentscheidung durch Access Requester Policy Decision Point (PDP) entscheidet Zugriff bzgl. Politik request Policy Enforcement permit (native) Point (PEP) access request + [subject + response (native) resource + action] decision request response Attribute für Subjekt, Ressource,Umgebung context handler erzeugt XACML Anfrage, Erzeugt Antwort Ressource Policy Administration Point (PAP) erstellt die Politik Policy Information Point (PIP) Enthält Informationen zu Attributen von Subjekten, Ressourcen, Aktionen, Umgebungen Diese Folie zeigt nochmals den gesamten Ablauf in einem Diagramm: Möchte ein Benutzer auf eine Ressource in einer bestimmten Weise zugreifen (z.b. ein Bankangestellter möchte sich ein Konto ansehen), so würde das System des Benutzers eine Anfrage zum Zugriff auf die Ressource stellen. Diese Anfrage würde vom Policy Enforcement Point (PEP) entgegengenommen. Der PEP erstellt dann seinerseits eine Anfrage basierend auf der Identität und den Attributen des Benutzers, der Aktion, die ausgeführt werden soll und möglicherweise weitere benötigte Informationen. Der PEP sendet diese Anfrage an den Context Handler, der die Anfrage des Client-Systems in eine XACML-Anfrage transformiert und an den Policy Decision Point weitersendet. Zur Konstruktion der XACML-Anfrage kann der Context Handler weitere Informationen vom Policy Information Point erfragen. Der PDP wertet die XACML-Anfrage auf Grundlage der anwendbaren Zugriffsschutzstrategien (die der PAP definiert hat) aus. Der PDP liefert eine Antwort an den Context Handler zurück, die entweder den Zugriff erlaubt oder verbietet. Der Context-Handler wandelt die XACML-Antwort in das ursprüngliche Anfrage-Format um und schickt es an den PEP. Der PEP setzt dann die Antwort durch. 29

30 Politik-Sprachmodell 0..1 Target * 1..* 1..* Subject Resource Action Condition Policy 1 1 Rule Combining Algorithm * Rule Effect Aus welchen Elementen eine Politik in XACML aufgebaut ist, zeigt das Klassendiagramm der Folie. Einer Politik (policy) ist ein Rule Combining Algorithm und eine Menge von Regeln (rule) zugeordnet. Jede Regel kann eine Bedingung (condition) haben, hat genau einen Effekt (effect) und möglicherweise ein Target. Ein Target kann aus einer Menge von Subjekten, Ressourcen oder Aktionen bestehen. Auch eine Politik kann einem Target zugeordnet werden. 30

31 Rule Beschreibt eine Zugriffsschutzregel. Besteht aus einen Target, einem Effect und einer Condition. Das Target einer Regel kann entfallen, wenn es mit dem Target der Policy übereinstimmt. Rule Target Menge von Ressourcen, Subjekten und Aktionen, auf die die Regel anwendbar ist. Falls anwendbar auf alle Entitäten eines Datentyps: <AnySubject/>, <AnyResource/> bzw. <AnyAction/> Regeln bestehen aus einem Target, einem Effect und möglicherweise einer Condition. Das Target einer Regel identifiziert die Ressourcen, Subjekte und/oder Aktionen, auf die die Regel anwendbar ist. Wenn die Regel zu allen Entitäten eine bestimmten Datentyps anwendbar ist, wird ein XML-Element <AnySubject/>, <AnyResource/> oder <AnyAction/> verwendet. Wenn die Regel kein Target hat, dann stimmt es mit dem Target der Policy überein. 31

32 Condition Funktion, die True, False oder Indeterminate zurückgibt. Bei Indeterminate liegen nicht genug Informationen für eine Entscheidung vor. Effect Wenn Rule-Condition True, wird entweder Permit oder Deny zurückgegeben. Ansonsten ist die Regel NotApplicable. Eine Condition ist eine Funktion, die entweder zu True, False oder Indeterminate ausgewertet wird. Indeterminate zeigt an, dass nicht genug Informationen vorlagen, um die Condition zu True oder False auszuwerten. Der Effect einer Regel ist entweder Permit oder Deny. 32

33 Policy Besteht aus Target, Rules und Rule-Combination Algorithmus. Policy Target Subjekte, Ressourcen und Aktionen, auf die die Politik angewendet werden soll. Kann explizit angegeben werden oder implizit aus den Rule-Targets berechnet werden. Eine Policy besteht aus einem Target, einer Menge von Regeln und einem Rule-Combination Algorithmus. Das Policy-Target spezifiziert die Subjekte, Ressourcen und Aktionen, auf die die Politik anwendbar ist. Die Target-Elemente der Politik können explizit angegeben werden oder anhand der Targets der Regeln der Policy berechnet werden. Jede Policy hat einen Rule-Combination Algorithmus zum Kombinieren der Politik-Regeln im Falle einer Zugriffsschutzentscheidung. Verschiedene von der Spezifikation vorgeschlagene Algorithmen zeigen die nächsten Folien. 33

34 Rule-Combination Alghoritmus Bestimmt, wie die Ergebnisse der Regelauswertung für die Auswertung der Politik ausgewertet werden. Deny-Overrides Wenn eine Regel in der Politik zu Deny ausgewertet wird, ist das Gesamtergebnis Deny. Wenn einige Regeln zu Permit ausgewertet werden und der Rest der Regeln zu NotApplicable, ist das Gesamtergebnis Permit. Sind alle Regeln NotApplicable, so ist die gesamte Politik NotApplicable. Der Deny-Overrides Algorithmus gibt Deny-Entscheidungen Priorität, d.h. wenn nur eine Regel der Politik den Zugriff verbietet, so ist die Gesamtzugriffsentscheidung ein Deny. Nur wenn keine der Regeln ein Deny liefert, kann es für das Gesamtergebnis ein Permit geben. Dazu muss allerdings mindestens eine der Regeln ein Permit liefern. Sind alle Regeln der Politik nicht anwendbar für die Zugriffsentscheidung, so ist auch die Politik nicht anwendbar. 34

35 Permit-Overrides Wenn eine Regel in der Politik zu Permit ausgewertet wird, ist das Gesamtergebnis Permit. Wenn einige Regeln zu Deny ausgewertet werden und der Rest der Regeln zu NotApplicable, ist das Gesamtergebnis Deny. Sind alle Regeln NotApplicable, so ist die gesamte Politik NotApplicable. Der Permit-Overrides Algorithmus gibt im Gegensatz zum Deny-Overrides Algorithmus einer Permit- Entscheidung Priorität. 35

36 First-applicable Regeln werden nach der Reihe ausgewertet, die durch die Politik gegeben ist. Sobald eine Regel anwendbar ist (d.h. Target ist identifiziert und Rule-Condition ist True), dann ist das Gesamtergebnis der Effect der Regel, d.h. entweder Permit oder Deny. Ist keine Regel anwendbar, so ist die Politik NotApplicable. Der Algorithmus First-Applicable läuft die Regeln der Politik der Reihe nach durch und sucht nach der ersten anwendbaren Regel. Die Auswertung dieser Regel (entweder Deny oder Permit) ist dann das Ergebnis der Zugriffsschutzentscheidung bzgl. der Politik. Falls keine der Regeln anwendbar sein sollte, ist die gesamte Politik nicht anwendbar. 36

37 Politiken können in einer PolicySet zusammengefasst werden. 1 Policy Set 1 0..* PolicySet besteht aus einer Menge von Policies, einem Target und einem Policy Combining Algorithmus. 1 Target Policy Combining Algorithm 1 0..* Policy Man kann mehrere Politiken auch zu einer PolicySet zusammenfassen. Diese Menge von Politiken wird dann ebenfalls einem Target zugeordnet und man muss einen Policy-Combining Algorithmus definieren, der die Zugriffsschutzergebnisse der einzelnen Politiken der PolicySet zu einem Gesamtergebnis kombiniert. Beispiele solcher Kombinierungsalgorithmen zeigen die nächsten Folien. Viele dieser Algorithmen sind analog zu den Algorithmen zum Kombinieren von Regeln. 37

38 Policy Combining Algorithmus Deny-Overrides eine Policy Deny => PolicySet Deny mindestens eine Policy Permit, Rest NotApplicable => PoliySet Permit Alle Policies sind NotApplicable => PoliySet NotApplicable Der Deny-Overrides Algorithmus gibt dem Deny einer Politik Priorität. 38

39 Permit-Overrides eine Policy Permit => PolicySet Permit mindestens eine Policy Deny, Rest NotApplicable => PoliySet Deny Alle Policies sind NotApplicable => PoliySet NotApplicable Der Permit-Overrides Algorithmus gibt dem Permit einer Politik Priorität. 39

40 First-applicable Auswertung der Policies nach Liste in der PolicySet Erste anwendbare Policy wird ausgewertet (Target ist anwendbar und Policy wertet zu Permit oder Deny aus) Ergebnis der Policy-Auswertung wird Ergbenis der PolicySet-Auswertung Ist keine Policy Anwendbar, ist die PolicySet NotApplicable. Der First-Applicable Algorithmus benutzt die erste anwendbare Politik zur Zugriffsschutzentscheidung. 40

41 Only-one-applicable Wenn keine Policy der PolicySet anwendbar ist, ist die PolicySet NotApplicable. Wenn mehr als eine Policy der PolicySet anwendbar ist, dann ist die PolicySet Indeterminate. Wenn genau eine Policy der PolicySet anwendbar ist, dann ist die Auswertung der PolicySet gegeben durch die Auswertung der einen Policy. Der Only-one-applicable Algorithmus betrachtet das Ergebnis einer anwendbaren Politik nur dann, wenn es die einzige anwendbare Politik der PolicySet ist. Ist keine Politik anwendbar, dann ist die PolicySet nicht anwendbar. Sind mehrere Politiken anwendbar, dann liefert die Auswertung der PolicySet Indeterminate. 41

42 Beispiel: Politik: Jeder Benutzer mit einer im medico.com Namensraum darf jede Aktion auf jeder Ressource durchführen. Abschließend noch ein Beispiel einer in XACML spezifizierten Politik und einer XACML-Anfrage. Die in natürlicher Sprache formulierte Politik zeigt die Folie. Sie gestattet jedem Benutzer mit einer E- Mail von medico.com jede Aktion auf jeder Ressource auszuführen. 42

43 Policy-Header 6.5 XACML <Policy xmlns="urn:oasis:names:tc:xacml:1.0:policy" cs-xacml-schema-policy.xsd" PolicyId="identifier:example:SimplePolicy" RuleCombiningAlgId= "identifier:rule-combining-algorithm:deny-overrides"> <Description> Medi Corp access control policy </Description> Die XACML-Politik startet mit einem Header, in dem der Namensraum und die XACML-Version spezifiziert werden. Außerdem bekommt die Politik einen Namen und der Algorithmus zum Kombinieren der Regeln wird angegeben. In diesem Beispiel wird der Deny-overrides Algorithmus benutzt. Es kann noch eine Beschreibung der Politik hinzugefügt werden. 43

44 Politik-Target Politik ist anwendbar für jeden Benutzer, jede Ressource und jede Aktion <Target> <Subjects> <AnySubject/> </Subjects> <Resources> <AnyResource/> </Resources> <Actions> <AnyAction/> </Actions> </Target> Das PolicyTarget dieser Politik sind alle Subjekte, alle Ressourcen und alle Aktionen. Daher gibt es für die entsprechenden Einträge die Werte <AnySubject/>, <AnyRessource/>, <AnyAction/>. 44

45 Es gibt eine Regel in der Politik. Wenn die Regel anwendbar ist, dann liefert sie Permit. <Rule RuleId= "urn:oasis:names:tc:xacml:1.0:example:simplerule" Effect="Permit"> <Description> Any subject with an name in the medico.com domain can perform any action on any resource. </Description> In der Politik gibt es nur eine Regel, die Benutzern mit medico.com Zugriff auf alle Ressourcen und Aktionen erlaubt. Zunächst gibt man der Regel einen Namen und spezifiziert ihren Effekt. In diesem Beispiel ist der Effekt Permit, d.h. wenn die Regel anwendbar ist, liefert sie als Ergebnis Permit. Eine Beschreibung der Regel kann zusätzlich gegeben werden. 45

46 Rule-Target Alle Benutzer mit im medico.com Namensraum Wenn die Subjekte, Ressourcen und Aktionen der Anfrage nicht auf das Rule-Target zutreffen, ist die Regel für diese Anfrage NotApplicable. <Target> <Subject> <SubjectMatch MatchId=" function:name-match"> <SubjectAttributeDesignator AttributeId="subject:subject-id" DataType="datatype:Name"/> <AttributeValue DataType="datatype:Name"> medico.com </AttributeValue> </SubjectMatch> </Subject> Das Rule-Target spezifiziert die Subjekte, Ressourcen und Aktionen, auf die die Regel anwendbar sein soll. Es wird gefordert, dass die Regel auf alle Subjekte angewandt werden soll, die eine von medico.com besitzen. Dies wird im Rule-Target spezifiziert unter dem Element <Subject> spezifiziert. 46

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

IT-Security als Enabler Attribut-basierte Autorisierung (ABAC) für das neue Kundenportal der CSS

IT-Security als Enabler Attribut-basierte Autorisierung (ABAC) für das neue Kundenportal der CSS IT-Security als Enabler Attribut-basierte Autorisierung (ABAC) für das neue Kundenportal der CSS Netclose Community Treffen, Horw, 24.09.2014 Stefan Allemann, CSS Versicherung CSS Versicherung - INTRAS

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Sicherheitsmechanismen in serviceorientierten Architekturen Hauptseminar im SS 2009 XACML

Sicherheitsmechanismen in serviceorientierten Architekturen Hauptseminar im SS 2009 XACML Sicherheitsmechanismen in serviceorientierten Architekturen Hauptseminar im SS 2009 XACML OASIS Profile in Bezug auf XACML Philip Daubmeier Technische Universität München 29.05.2009 Zusammenfassung Das

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 4. Zugriffskontrolle AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Einführung Architektur

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Masterarbeit. Policy-based Authorization for Grid Data-Management

Masterarbeit. Policy-based Authorization for Grid Data-Management Masterarbeit Policy-based Authorization for Grid Data-Management Ralf Gröper Agenda 1. Sicherheit im Grid Computing 2. Grid Daten Management in glite 3. Selbstbeschränkung von Benutzerrechten 4. XACML

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

5 Sicherheit und Zugriff auf SQL Server 2008 R2

5 Sicherheit und Zugriff auf SQL Server 2008 R2 5 Sicherheit und Zugriff auf SQL Server 2008 R2 5.1 Grundkonzept Das Sicherheitskonzept von SQL Server 2008 R2 ist dreistufig aufgebaut: Betriebssystem-Ebene: Zunächst ist eine Anmeldung am Betriebssystem

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

(c) 2014, Peter Sturm, Universität Trier

(c) 2014, Peter Sturm, Universität Trier Soziotechnische Informationssysteme 6. OAuth, OpenID und SAML Inhalte Motivation OAuth OpenID SAML 1 Grundlagen Schützenswerte Objekte Zugreifende Subjekte Authentifizierung Nachweis einer behaupteten

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Vorlesung Datenbanken

Vorlesung Datenbanken Vorlesung Datenbanken Kapitel 6 Institut für Informatik 2 Überblick Assertions Trigger und Regeln Zugriffsrechte 3 Zugriffsrechte und Integritätsbedingungen Zugriffsrechte gewährleisten, dass nur autorisierte

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen FAEL-Seminar Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

SQL Injection Funktionsweise und Gegenmaßnahmen

SQL Injection Funktionsweise und Gegenmaßnahmen SQL Injection Funktionsweise und Gegenmaßnahmen EUROSEC GmbH Chiffriertechnik & Sicherheit Tel: 06173 / 60850, www.eurosec.com EUROSEC GmbH Chiffriertechnik & Sicherheit, 2005 Problematik SQL-Injection

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen?

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen? Betrifft Autor Oracle und.net im n-tier Umfeld Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (April 2003) Quelle Aus unserer Projekterfahrung Einführung Oracle und.net sind ein populäres

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

Themenblock: Erstellung eines Cube

Themenblock: Erstellung eines Cube Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

Sicherheitsaspekte. Szenarien. Angriffsarten. Discretionary Access Control. Sicherheit im DBMS. Identifikation und Authentisierung

Sicherheitsaspekte. Szenarien. Angriffsarten. Discretionary Access Control. Sicherheit im DBMS. Identifikation und Authentisierung Sicherheitsaspekte Sicherheit im DBMS Identifikation und Authentisierun Autorisierun und Zuriffskontrolle Auditin Szenarien Literaturdatenbank in der Hochschule: erines Sicherheitsbedürfnis ERP-Datenbank

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2

SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2 SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2 Wie sind die nur wieder an meine Kreditkartendaten gekommen? http://www.testedich.de/quiz29/picture/pic_1312394875_7.jpg

Mehr

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL ) Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 6 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 1.12.2003 SQL-DDL und SQL-Anfragen

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite Zusammenfassung: Alle Oracle Forms Anwendungen sind per Default durch SQL Injection angreifbar. Oracle Applications >=11.5.9 ist davon nicht betroffen, da hier standardmäßig der Wert FORMSxx_RESTRICT_ENTER_QUERY

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Dr. Marc Rennhard Institut für angewandte Informationstechnologie Zürcher Hochschule Winterthur marc.rennhard@zhwin.ch Angriffspunkt

Mehr

Inhaltsverzeichnis. Vorwort... 13. Einleitung... 15

Inhaltsverzeichnis. Vorwort... 13. Einleitung... 15 Vorwort.................................................. 13 Einleitung................................................ 15 1 Aufwand versus Sicherheit was ist angemessen?.............. 17 1.1 Warum ist

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2 SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

Federated Identity Management

Federated Identity Management Federated Identity Management Verwendung von SAML, Liberty und XACML in einem Inter Campus Szenario d.marinescu@gmx.de 1 Fachbereich Informatik Inhalt Grundlagen Analyse Design Implementierung Demo Zusammenfassung

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken 2 7 Erweiterungen 7 Erweiterungen 7.1 Prozess-Kommunikation mit Datenbanken Im Buch Einstieg in das Programmieren mit MATLAB wird im Abschnitt 4.8 das Thema Prozess-Kommunikation am Beispiel von MS-Excel

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

GeoXACML und SAML. Ubiquitous Protected Geographic Information. Dr. Andreas Matheus Universität der Bundeswehr München Andreas.Matheus@unibw.

GeoXACML und SAML. Ubiquitous Protected Geographic Information. Dr. Andreas Matheus Universität der Bundeswehr München Andreas.Matheus@unibw. GeoXACML und SAML Ubiquitous Protected Geographic Information Dr. Andreas Matheus Universität der Bundeswehr München Andreas.Matheus@unibw.de Was erwartet Sie in diesem Vortrag? Einleitung OpenGIS Web

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Schwachstellen in Web- Applikationen: Was steckt dahinter und wie nutzt man sie aus?

Schwachstellen in Web- Applikationen: Was steckt dahinter und wie nutzt man sie aus? Schwachstellen in Web- Applikationen: Was steckt dahinter und wie nutzt man sie aus? Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

Begleitskript. zum PHP/MySQL. Kurs

Begleitskript. zum PHP/MySQL. Kurs Begleitskript zum PHP/MySQL Kurs http://www.online-platform.net Dieser Text unterliegt der GNU General Public License. Er darf als ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig) 1 Grundlagen Begriffe Daten bekannte zutreffende Tatsachen über die Domäne/Miniwelt DBS Einsatz eines DBMS für eine Datenbank, DBS besteht aus folgenden Komponenten: 1. DBMS 2. Datenbank DBMS Software

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

DB2 Version 10 Kapitel IT-Sicherheit

DB2 Version 10 Kapitel IT-Sicherheit (*) IBM DB2 for z/os DB2 Version 10 Kapitel IT-Sicherheit (06_DB2V10_itsicherheit.pptx) (*) ist eingetragenes Warenzeichen der IBM International Business Machines Inc. 1 DB2 Version 10 IT Sicherheit DB2

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Sicherheit von Webapplikationen Sichere Web-Anwendungen Sicherheit von Webapplikationen Sichere Web-Anwendungen Daniel Szameitat Agenda 2 Web Technologien l HTTP(Hypertext Transfer Protocol): zustandsloses Protokoll über TCP auf Port 80 HTTPS Verschlüsselt

Mehr

Technische Universität München. SAML/Shibboleth. Ein Vortrag von Florian Mutter

Technische Universität München. SAML/Shibboleth. Ein Vortrag von Florian Mutter SAML/Shibboleth Ein Vortrag von Florian Mutter Security Assertion Markup Language XML-basierter Standard für den Austausch von Authentifizierungs-, Attributs- Berechtigungsinformationen Seit 2001 von OASIS

Mehr

PostgreSQL auf Debian System

PostgreSQL auf Debian System PostgreSQL auf Debian System Inhaltsverzeichnis 1. Installation 1.1 Installation 1.2 Mit postgres anmelden 2. Benutzer anlegen 3. Datenbank anlegen 3.1 Optionen 3.2 Datenbank mydatabase anlegen 4. Datenbank

Mehr

Autorisierung zentral steuern

Autorisierung zentral steuern Autorisierung zentral steuern AdNovum hatte jüngst Gelegenheit, ein Autorisierungs-Management-System für ein Gesundheits-Enterprise-Portal zu bauen. Welche Form der Autorisierung soll auf welcher Stufe

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

IT-Sicherheit. 1. Einführung und organisatorische Sicherheit. 2. Datenschutz und Nicht-technische Datensicherheit. 3. Identity Management

IT-Sicherheit. 1. Einführung und organisatorische Sicherheit. 2. Datenschutz und Nicht-technische Datensicherheit. 3. Identity Management IT-Sicherheit 1. Einführung und organisatorische Sicherheit 2. Datenschutz und Nicht-technische Datensicherheit 3. Identity Management 4. Angewandte IT Sicherheit 5. Praktische IT Sicherheit 1. Einführung

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

... Rollen verwalten

... Rollen verwalten 19... Rollen verwalten Lektion 19: Rollen verwalten Ziele Ziele Nach dieser Lektion sollten Sie Folgendes können: Rollen anlegen und ändern Verfügbarkeit von Rollen steuern Rollen löschen Vordefinierte

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

Thema: SQL-Injection (SQL-Einschleusung):

Thema: SQL-Injection (SQL-Einschleusung): Thema: SQL-Injection (SQL-Einschleusung): Allgemein: SQL (Structured Query Language) ist eine Datenbanksprache zur Definition von Datenstrukturen in Datenbanken sowie zum Bearbeiten (Einfügen, Verändern,

Mehr

Initiative»Elektronische Fallakte«

Initiative»Elektronische Fallakte« Deklarative Sicherheit zur Spezifikation und Implementierung der elektronischen FallAkte Workshop»Sichere Informationstechnologie für das Gesundheitswesen von morgen«gmds Jahrestagung 2010, Mannheim R.

Mehr

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1 Internetanbindung von Datenbanken Active Server Pages ASP-1 Gliederung Einführung in ASP Sessions mit ASP Datenbankanbindung mit ASP Brunner, Fromm, Huppert ASP-2 Einführung in ASP ASP-3 Entwicklung des

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Datendefinition und Datenmanipulation in SQL

Datendefinition und Datenmanipulation in SQL SQL Datendefinition und Datenmanipulation in SQL 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 SQL: Geschichte SQL (Structured Query Language) ist heute die bei weitestem populärste und verbreitetste

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Aktuelle Sicherheitsprobleme im Internet

Aktuelle Sicherheitsprobleme im Internet Herbst 2014 Aktuelle Sicherheitsprobleme im Internet Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Rainer Telesko - Martin Hüsler 1 Inhalt

Mehr

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 7. 5. 2014 Kennnr. Matrikelnr.

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

SQL-Injection in the news Stand: 17.06.2006 24:00

SQL-Injection in the news Stand: 17.06.2006 24:00 Vernetzte Unternehmen I SQL-Injection Prof. Dr. H. Strack, Dipl.-Inf.(FH) Ch. Karich SQL-Injection in the news Stand: 17.06.2006 24:00 Heise-Newsticker: 02.06.06: SQL-Injection-Lücke in MySQL gestopft

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

Übung: Data Warehousing und Data Mining

Übung: Data Warehousing und Data Mining Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

Basistechnologien: Web-Services

Basistechnologien: Web-Services Alexander Rudolf Cloud-Computing Seminar Hochschule Mannheim WS0910 1/29 Basistechnologien: Web-Services Alexander Rudolf Hochschule Mannheim Fakultät für Informatik alexander.rudolf@stud.hs-mannheim.de

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff mit JDBC Java: Kapitel 8 Datenbankzugriff mit JDBC Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 8 Einführung in SQL und JDBC Verbindung zur Datenbank

Mehr

SQL. Run. SQL Run - Handbuch. as Mika GmbH. it solutions for your system i

SQL. Run. SQL Run - Handbuch. as Mika GmbH. it solutions for your system i SQL Run SQL Run - Handbuch as Mika GmbH it solutions for your system i SQLRUN Beliebige SQL Statements auf Befehlsebene Inhaltsverzeichnis Programmbeschreibung... 2 1.1 Funktionalitäten... 2 1.1.1 Ausführen

Mehr

Einführung in IBM DB2

Einführung in IBM DB2 Raum: LF 230 Nächste Sitzung: 3./6. November 2003 Einführung in IBM DB2 Im Praktikum wird als Datenbank-Managementsystem (DBMS) das kommerzielle System IBM DB2 Universal Database in der Version 8.1 verwendet.

Mehr

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

Securing SOAP e-services

Securing SOAP e-services Securing SOAP e-services Nilson Reyes Sommersemester 2004 aus: E. Damiani, S. De Capitani di Vermercati, S. Paraboschi, P. Samarati, Securing SOAP e-sservices, IJIS, Ausgabe 1 (2002), S.110-115. Gliederung

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

7.11.2006. int ConcatBuffers(char *buf1, char *buf2, size_t len1, size_t len2) {

7.11.2006. int ConcatBuffers(char *buf1, char *buf2, size_t len1, size_t len2) { Universität Mannheim Lehrstuhl für Praktische Informatik 1 Prof. Dr. Felix C. Freiling Dipl.-Inform. Martin Mink Dipl.-Inform. Thorsten Holz Vorlesung Angewandte IT-Sicherheit Herbstsemester 2006 Übung

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, erweiterbare Datenbanken WS 04/05 Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

Installation und erste Schritte laserdesk Version 1.0

Installation und erste Schritte laserdesk Version 1.0 Installation und erste Schritte 23. April 2013 SCANLAB AG Siemensstr. 2a 82178 Puchheim Deutschland Tel. +49 (89) 800 746-0 Fax: +49 (89) 800 746-199 support@laserdesk.info SCANLAB AG 2013 ( - 20.02.2013)

Mehr