Alle Komponenten

LmsAttackChain

Angriffssimulationen

Die Angriffskette — sie muss nur an einer Stelle brechen.

In Markdown: ::lms-attack-chain Im Zusammenhang ansehen
Die zentrale Einsicht, und die einzige, die sich mit einer Aufzählung nicht vermitteln lässt: die Kette muss nur an einer Stelle brechen. Wer das einmal gesehen hat — der Angriff läuft los, erreicht Stufe drei, und dort ist Schluss — argumentiert danach anders über Budgets. Mit budget wird daraus eine Entscheidung unter Knappheit: nicht alle Maßnahmen sind bezahlbar, also entscheidet, wo in der Kette man ansetzt. Eine Stufe mit recovery: true bedeutet nicht Abwehr, sondern Wiederherstellung — der Schaden trat ein, blieb aber folgenlos.

Beispiele (2)

Ransomware stoppen — mit Budget

75 Punkte, sechs Maßnahmen. Wählen Sie und starten Sie den Angriff.

Sie haben ein begrenztes Sicherheitsbudget. Wählen Sie Abwehrmaßnahmen und starten Sie den Angriff — die Kette muss nur einmal brechen.

75 von 75 Punkten frei

  1. 1ErstzugriffPhishing-Mail (T1566)
  2. 2AusführungMakro → PowerShell (T1059)
  3. 3PersistenzGeplanter Task (T1053)
  4. 4Laterale BewegungSMB / gestohlene Logins (T1021)
  5. 5ExfiltrationUpload in fremde Cloud (T1567)
  6. 6VerschlüsselungRansomware (T1486)

Ohne Maßnahmen

Ohne defenses steht die Kette nur da — die statische Darstellung der Quelle.

So verlief der Angriff auf einen Zulieferer im vergangenen Jahr.

  1. 1ErstzugriffGestohlene VPN-Zugangsdaten
  2. 2ErkundungNetzwerk-Scan über drei Wochen
  3. 3RechteausweitungUngepatchter Domänencontroller
  4. 4Exfiltration40 GB in eine fremde Cloud

API

Vollständig aus den Quellen erzeugt. Dieselben Angaben stehen an jedem Beispiel hinter dem Knopf API — hier ausgeschrieben, damit sie über die Seitensuche und im Druck auffindbar bleiben.

Props

PropTypStandardBedeutung
idPflichtstringEindeutig im Dokument.
taskstringDie Aufgabenstellung. Inline-Markdown erlaubt.
stagesLmsAttackStage[]() => []
defensesLmsDefense[]() => []Wählbare Maßnahmen. Ohne sie steht die Kette nur da.
budgetnumber | stringPunktebudget. Ohne Angabe sind alle Maßnahmen wählbar.
actionstringBeschriftung des Angriffsknopfes.
speednumber | string750Millisekunden je Stufe.

Slots

Dieser Baustein hat keine Slots — sein Inhalt kommt vollständig aus den Props.

Emits

Dieser Baustein sendet keine Events.

Theme

Die Beschriftungen dieses Bausteins stehen in der Gruppe lms.labels.attack. Alle Schlüssel sind einzeln überschreibbar — was nicht gesetzt wird, behält die Vorgabe.

// app.config.ts
export default defineAppConfig({
  lms: {
    labels: {
      attack: {
        run: 'Angriff starten',
        reset: 'Neu',
        loot: 'Erbeutete Daten',
        harden: 'absichern',
        openCount: '{open} offen',
        allSecure: 'Nichts steht mehr offen — der Scan läuft ins Leere.',
        budget: '{left} von {total} Punkten frei',
        stopped: 'Angriff gestoppt bei: {name}',
        breached: 'Keine Schicht hat gegriffen — der Angriff lief durch.',
        recovered: 'Der Schaden trat ein, blieb aber folgenlos.'
      }
    }
  }
})

Changelog

  1. Hinzugefügt1.0.0

    die Kette, die nur an einer Stelle brechen muss. Mit

  2. Geändert0.7.0

    src/runtime/utils/totp.ts kommt hinzu: TOTP in reinem JavaScript, gegen die Testvektoren des RFC geprüft. Einzige Änderung gegenüber der Quelle sind Nicht-Null-Zusicherungen an den Feldzugriffen — der Bestand an @ts-nocheck bleibt bei 51, und keine Ausnahme liegt außerhalb von fx/

  3. Hinzugefügt0.6.0

    useLmsProgress: Fortschritt lässt sich speichern, ohne dass die Bibliothek ein Backend kennt. Das Zielprojekt hinterlegt einmal einen Adapter mit get/set, die Bausteine nutzen ihn, wenn er da ist — sonst halten sie den Stand im Speicher wie bisher. Ereignisse wären hier nutzlos: MDC kann keine Events abonnieren, und genau dort werden diese Bausteine benutzt

  4. Behoben0.4.0

    Die Warnung Slot "default" invoked outside of the render function erscheint nicht mehr. Der Katalog läuft jetzt mit 0 Fehlern und 0 Warnungen

  5. Hinzugefügt0.3.0

    Der MDC-Bereich jedes Beispiels ist jetzt ein Editor: Syntaxhervorhebung, Code-Vervollständigung aus der Registry, Prüfung in sechs Stufen und eine Vorschau, die beim Tippen mitläuft. Oben rechts Zurücksetzen und Kopieren

  6. Hinzugefügt0.3.0

    Die Prüfung meldet unbekannte Bausteine, unbekannte Props, fehlende Pflicht-Props, unbekannte Slots, Events (die MDC nicht abonnieren kann) und den Typkonflikt, an dem man in MDC am häufigsten hängenbleibt: Inline-Attribute sind immer Zeichenketten, {count=14} übergibt "14"

  7. Hinzugefügt0.2.0

    API-Ansicht je Baustein: Props, Slots, Emits, Theme und dieser Changelog. In der Demo-Hülle als Reiter hinter dem Knopf API, auf der Detailseite ausgeschrieben

  8. Hinzugefügt0.2.0

    Emits werden dokumentiert. Sie sind der Grund, warum sich manche Bausteine aus Markdown heraus nicht vollständig bedienen lassen: MDC kann keine Events abonnieren

  9. Geändert0.2.0

    Die Komponentenreferenz der README wird jetzt vollständig erzeugt statt von Hand gepflegt

  10. Geändert0.2.0

    Auch die Tabelle der optionalen Abhängigkeiten wird erzeugt. Sie war gedriftet: motion-v stand mit 50 statt 54 Komponenten darin, @uiw/color-convert unter „je 1", obwohl es drei sind

  11. Hinzugefügt0.1.0

    Erstveröffentlichung: 187 Bausteine in 17 Kategorien, davon 40 didaktische Lms- und 147 dekorative Fx-Bausteine aus Inspira UI