Beschreiben Sie grob die Methode: Secure Development Life-Cycle und diskutieren Sie ob die Kosten für den SLC gerechtfertigt sind; geben Sie mindestens zwei pro und contra Punkte an. Bzw. Beschreiben Sie grob den SDLC und diskutieren Sie inwiefern ein Thread Modeling in der Entwicklung sinnvoll ist
SDLC ist ein Framework zur Erstellung von hochwertigen qualitativen Software und zielt darauf ab, Sicherheitsapekte von Beginn bis Ende in die Entwicklung zu integrieren, um potenzielle Sicherheitslücken zu vermindern.
Pro:
Frühe Gefahrenerkennung: Identifizierung von potenziellen Gefahren in einem frühen Stadium der Entwicklung.
Risikobasierte Entscheidungen: Ermöglicht Entwicklern, Ressourcen auf kritische Bereiche zu konzentrieren.
Contra
Zusätzlicher Aufwand: Erfordert zusätzlichen Zeitaufwand und Ressourcen während des Entwicklungsprozesses.
Komplexität: In komplexen Projekten kann das Durchführen von Threat Modeling als zu kompliziert empfunden werden.
Warum Threat Modeling sinnvoll ist:
Threat Modeling ist sinnvoll, weil es frühzeitig potenzielle Gefahren identifiziert und Entwicklern ermöglicht, gezielt auf kritische Sicherheitsaspekte zu reagieren, auch wenn es zusätzlichen Aufwand und Komplexität bedeutet.
Beschreiben Sie grob den Secure Development Life-Cycle (SDLC) und diskutieren Sie die Aussage „Der Aufwand von Threat Modeling im Entwicklungsprozess ist zu hoch“. Geben Sie jeweils 2 Argumente für und gegen diese Aussage an und schließen mit einer begründeten Meinung
SDLC:
1. Training:
Mitarbeiterschulung für Sicherheitsaspekte
2. Requirements:
Sicherheitsanforderungen, Buf Bars- & Quality Gates festlegen
3. Design:
Design-Anforderungen anhand Sicherheitsanforderungen
4. Implemetation:
Umsetzung von vertrauliche & unsichere Features, Werkzeuge
5. Verfification:
Laufzeitanalyse d. Software + Fuzzing Test (System auf fehlerhafte Daten getestet)
6. Release:
Letzte Kontrolle + Veröffentlichung (Vorfallreaktionsplan)
7. Response:
Vorfallreaktionsplan kontrollieren & umsetzen
Vorteile:
Besseres Sicherheitsverständnis durch Schulung: Mitarbeiter entwickeln ein verbessertes Bewusstsein für Sicherheit durch Schulungen.
Sichere Systeme: Der Fokus auf Sicherheit während der Entwicklung soll sicherstellen, dass die Software weniger anfällig für Sicherheitslücken ist.
Nachteile:
Hohe Anfangsinvestition: Die Einführung von Threat Modeling erfordert anfängliche finanzielle Investitionen für Schulung, Werkzeuge und Ressourcen.
Längere Entwicklungsdauer: Die Integration von Threat Modeling kann zu einer längeren Entwicklungszeit führen, da Sicherheitsaspekte gründlicher überprüft werden.
Meinung:
Der Aufwand für Threat Modeling ist gerechtfertigt, besonders bei Systemen mit vertraulichen Daten, um finanzielle, vertrauensbezogene und imagebezogene Schäden zu vermeiden. Die anfänglichen Kosten führen zu einem verbesserten Sicherheitsverständnis, sicheren Systemen und langfristigen Vorteilen.
→ Viele technische System sind mit Daten verbunden, welche durch das System eingesetzt werden. In vielen Fällen handelt es sich um Daten, die entweder unternehmensinterne Wichtigkeit sind oder Kundendaten. Aus diesem Grund ist ein Schutz dieser sehr wichtig. Die Kosten sind zwar ein Umstand für das Unternehmen, sollten aber eingegangen werden. Die Auswirkungen einer Sicherheitslücke würden dem Unternehmen mehr Schaden zufügen als die entstehenden Kosten. Eine Sicherheitslücke bringt neben zusätzlichen Entwicklungskosten noch weitere Faktoren, wie Image-Schäden und Vertrauensverluste gegenüber den eigenen Mitarbeitern, den Stakehouldern und wichtigen Kunden sowie Geschäftspartnern mit sich.
Threat Modeling
Threat Modeling: Verfahren, um potenzielle Bedrohungen, wie strukturelle Schwachstellen oder das Fehlen geeigneter Sicherheitsvorkehrungen zu ermitteln und Prioritäten für Gegenmaßnahmen festzulegen
Durch das TM können Sicherheitsanforderungen sowie entsprechende Gegenmaßnahmen ermittelt werden. Anschließend können diese entsprechend in den SDLC eingbaut bzw. berücksichtigt werden.
- Ziele:
○ Früherkennung potenzieller Bedrohungen
○ Bestimmung erforderlicher Gegenmaßnahmen
- Aufwand
○ Kann zu höheren Entwicklungsaufwand führen
○ Sinnvoll bei sensiblen Daten
- Risiken
○ Hohe Kosten
○ Vertrauenverlust bei Kunden, Stakeholdern & Mitarbeiter
- Hohe Datensicherheit erfordert Einsatz von TM
Wofür kann man OWASP Top 10 verwenden? Mit welchen Werkzeugen?
OWSP Top 10 ist ein regelmässig aktualisierte Liste von Bedrohungen im Web. Dies kann genutzt werden, um die Sicherheit von Sytemen im Web zu gewährleisten.
Es können Gefahren früh erkannt werden, sodass Hacker und Angreifer diese nicht ausnutzen können. Ebenfalls kann die Angriffsfläche für die Angreifer reduziert werden.
Ein Werkzeug von OWAS Top 10 wäre zb das Penetration-Test Tool, wodurch man Angriffe simulieren kann und diesen entgegen wirken kann. Ein weiteres wäre das Code-Review Tool, welches den Quellcode analysiert
Zeichnen Sie die Testpyramide auf.
Testpyramide: von unten nach oben
- Unit Tests (1.Ebene)
○ 100% Automatisierung anstreben
○ Einzelne Einheiten, Klassen & Methoden
- Komponenten- und Integrationstest (2.Ebene)
○ testet Anwendundungen
- Systemintegrationstest
○ 100% Atuomatisierung ansteben
- User Acceptance Test
○ Akzeptanz des Users wird getestet
- Pyramide gibt an, wie Tests von der untersten Ebene bishin zur kompletten Testung der Software stattfinden & welcher Automatisierungsgrad angestrebt wird
- Zuerst Unit Tests automatisieren, da diese die einfachste und simpleste Form von Tests beschreibt
- Ziel: 100% Automatisierung unter Bedingung, dass alle erforderlichen Funktionalitäten von Tests geprüft werden
- Je höher desto umfassender und komplexer die Ebene
Wann sollte 100% &Testautomatisierung eingeführt werden? Auf welchen Teststufen
Testautomatisierung sollte frühzeitig eingeführt werden, um sicherzustellen, dass sich Tests schnell und effizient ausführen lassen. Es wird empfohlen, zuerst Unit-Tests zu automatisieren, da sie am häufigsten ausgeführt werden. Sobald die Unit-Tests stabil sind, können Integrations- und UI-Tests automatisiert werden.
Die Zahl von 100 % Testabdeckung bezieht sich auf die Anzahl der Codezeilen, die von Tests abgedeckt werden. Es ist jedoch unwahrscheinlich, dass 100 % Testabdeckung erreicht werden können, und es ist auch nicht immer notwendig oder sinnvoll. Es ist wichtiger, dass Tests kritische Funktionalitäten abdecken und sicherstellen, dass die Anwendung stabil und fehlerfrei funktioniert.
Nennen / Erläutern Sie die drei Defizite des IT-Managements
Der unklare Wertbeitrag der IT
z.B. Anwendung von CRM System --> Auswirkung auf Erfolg des Unternehmens ist unklar (keine Verbindung zw. IT-Investitionen & geschäftliche Ergebnisse)
Konzentration auf Informatikmethoden
Existenz von vorherrschenden Methoden (Defizit, wenn Fokus nur auf Informatikmethoden, anstatt versch. Ansätze)
Die gedankliche und führungstechnische Trennung zwischen Business und IT:
Gedankenwelt in den beiden Bereichen sehr stark getrennt (enge Verbindung entscheidend für gegenseitige Unterstützung der Ziele)
Nennen Sie 2 IT-Methoden des IT-Management. Nennen Sie jeweils die Werkzeugtypen, aber keine konkreten Tools.
ITIL:
ist ein Rahmenwerk für IT-Service-Management, das best practices und Prozesse für die Bereitstellung und Verwaltung von IT-Services definiert.
Es umfasst Werkzeugtypen wie Prozessmanagement-Tools, Helpdesk- und Incident-Management-Tools sowie Change- und Configuration-Management Tools.
DevOps
ist eine Kultur und ein Ansatz für die Zusammenarbeit von ENtwicklungs- und IT-Betriebsteams, um schnellere und effizientere Softwareentwicklung und -bereitstellung zu ermöglichen.
beinhaltet Werkzeugtypen wie Continious Deployment (CI/CD) Tools, Infrastructure as Code Tools sowie Monitoring und Logging Tools.
Können die Defizite mit Business-IT-Management reduziert werden? Oder mit den Methoden für das Kostenmanagement.
Ja, durch Business-IT-Management und Kostenmanagement.
Klare Ausrichtung der IT auf Geschäftsziele, effektive Finanzplanung und Kostenkontrolle verbessern Effizienz und Wirtschaftlichkeit.
Kombinierte Anwendung beider Ansätze für ganzheitliche IT-Steuerung.
Business-IT-Management (BIM):
Steuert IT im Unternehmenskontext.
Berücksichtigt fachliche und technische Aspekte.
Ausrichtung auf Geschäftsziele zur Verbesserung von Effizienz und Wertschöpfung.
Kostenmanagement:
Finanzplanung, Kostenkontrolle, Analysen, Benchmarking.
Ziel: "Bill of IT" - Detaillierte Aufschlüsselung von IT-Leistungen, Beitrag und Kosten.
Probleme: Schwierige Kostenverteilung, hohe IT-Kostenanteile, Verhältnis von Betriebsausgaben zu Investitionsausgaben optimieren.
Beitrag zur Reduzierung von Defiziten durch effektive Finanzsteuerung und Ressourcenoptimierung.
Diskutieren Sie je Defizit des IT-Management eine Lösung. Inwieweit kann das IT-Management zur Lösung beitragen?
Defizit: Kostenmanagement → Aufschlüsselung einzelner Leistungen, auf deren Beitrag und Kosten
Defizit: BPM → eine Methode nicht nur auf Informatikmethoden den Fokus zu setzen
Defizit: IT-Architekturmanagement → geht darum, dass UN als eines als Einheit zu sehen
→ Lösung: BIM
Business-IT-Management (BIM) behandelt alle institutionalisierten Prozesse, Aktivitäten und Rollen, welche die Planung, Entscheidung, Durchführung und Kontrolle des Einsatzes von Informationstechnologie im Kontext von Unternehmen betreffen. Dabei wird die untrennbare Verschränkung von fachlichen und technischen Gegebenheiten stets berücksichtigt
→ Die drei Faktoren hängen eng miteinander zusammen → Müssen weitgehend gemeinsam gelöst werden
→ Es müssen die Einflussfaktoren bestimmt werden, um die Defizite zu lösen -> schwer
→ Allgemein Managementfähigkeiten nötig, die nicht originär aus der Informatik stammen → Bsp. IT-Governance
Method Engineering
-erklärt-
→ Das Methoden-Engineering im Bereich der Informationssysteme ist die Disziplin, die neue Methoden aus bestehenden Methoden konstruiert. Sie konzentriert sich auf den Entwurf, die Konstruktion und die Bewertung von Methoden, Techniken und Hilfsmitteln für die Entwicklung von Informationssystemen.
→ Method Engineering ist ein Ansatz zur systematischen Entwicklung und Gestaltung von Methoden und Prozessen in Organisationen. Es befasst sich mit dem gesamten Lebenszyklus von Methoden, einschließlich der Analyse, Konstruktion, Implementierung und Evaluierung von Methoden.
→ Das Ziel von Method Engineering ist es, Prozesse effizienter und effektiver zu gestalten, um einen besseren Nutzen für die Nutzer und die Organisation zu erzielen.
DevOps beschreiben und 3 Unterschiede zwischen ITIL
DevOps ist eine Kultur und ein Set von Praktiken, die die Zusammenarbeit und Kommunikation zwischen Entwicklern und Betriebsteams fördern, um schnellere und zuverlässigere Softwarelieferungen zu ermöglichen. DevOps ist ein Ansatz, der sich auf die Automatisierung von Prozessen und die Verkürzung von Feedback-Schleifen konzentriert, um schnellere und sicherere Releases zu ermöglichen.
Kultur: DevOps legt einen besonderen Schwerpunkt auf die Schaffung einer Zusammenarbeitskultur, die die Zusammenarbeit und Kommunikation zwischen Entwicklern und Betriebsteams fördert.
Automatisierung: DevOps nutzt Automatisierung und Tools, um den Deployment-Prozess zu beschleunigen und Fehler zu reduzieren. Dies ermöglicht schnellere Releases und höhere Effizienz.
Feedback-Schleifen: DevOps legt Wert auf kontinuierliches Feedback, um sicherzustellen, dass Prozesse ständig verbessert und optimiert werden.
ist ein Rahmenwerk für das IT-Service Management. IT Operations Control, als Teil von ITIL, überwacht und steuert laufende Routinetätigkeiten wie Job Scheduling, Backup, Print-Management und Wartungsarbeiten in der IT-Infrastruktur
DevOps:
Ansatz für Zusammenarbeit zwischen Entwicklungsteam und Betriebsteam, um schnellere und effizientere Softwareentwicklung und -bereitstellung zu ermöglichen
Konzentriert sich auf die Automatisierung von Prozessen und die Verkürzung von Feedback Schleifen, um schnellere und sichere Releases zu ermöglichen
Unterschiede:
ITIL betont strukturierte Prozesse und effizientes Service Management.
DevOps konzentriert sich auf die enge Zusammenarbeit von Entwicklung und Betrieb für schnelle Softwarebereitstellung.
Gemeinsamkeiten:
Beide streben Kundenzufriedenheit an.
Automatisierung und kontinuierliche Verbesserung sind in beiden Ansätzen wichtig.
Last changed10 months ago