20TD02X Spyder - itnett/FTD02H-N GitHub Wiki

20TD02X Spyder

image

https://trinket.io/python3/1f2ba3061d

image image

Starter monitorering og digital etterforskning...
Aktivitetslogg:
                    timestamp           activity
0  2024-06-12 19:11:18.169669              login
1  2024-06-12 19:11:18.169669              login
2  2024-06-12 19:11:18.169669    network_request
3  2024-06-12 19:11:18.169669        file_access
4  2024-06-12 19:11:18.169669    network_request
..                        ...                ...
95 2024-06-12 19:11:18.169669        file_access
96 2024-06-12 19:11:18.169669              login
97 2024-06-12 19:11:18.170692  file_modification
98 2024-06-12 19:11:18.170692              login
99 2024-06-12 19:11:18.170692    network_request

[100 rows x 2 columns]

Identifiserte sikkerhetsbrudd:
                    timestamp           activity
0  2024-06-12 19:11:18.169669  file_modification
1  2024-06-12 19:11:18.169669  file_modification
2  2024-06-12 19:11:18.169669  file_modification
3  2024-06-12 19:11:18.169669  file_modification
4  2024-06-12 19:11:18.169669  file_modification
5  2024-06-12 19:11:18.169669  file_modification
6  2024-06-12 19:11:18.169669  file_modification
7  2024-06-12 19:11:18.169669  file_modification
8  2024-06-12 19:11:18.169669  file_modification
9  2024-06-12 19:11:18.169669  file_modification
10 2024-06-12 19:11:18.169669  file_modification
11 2024-06-12 19:11:18.169669  file_modification
12 2024-06-12 19:11:18.169669  file_modification
13 2024-06-12 19:11:18.169669  file_modification
14 2024-06-12 19:11:18.169669  file_modification
15 2024-06-12 19:11:18.169669  file_modification
16 2024-06-12 19:11:18.169669  file_modification
17 2024-06-12 19:11:18.169669  file_modification
18 2024-06-12 19:11:18.170692  file_modification

Digital etterforskning - filtilgangslogg:
                    timestamp     activity
0  2024-06-12 19:11:18.169669  file_access
1  2024-06-12 19:11:18.169669  file_access
2  2024-06-12 19:11:18.169669  file_access
3  2024-06-12 19:11:18.169669  file_access
4  2024-06-12 19:11:18.169669  file_access
5  2024-06-12 19:11:18.169669  file_access
6  2024-06-12 19:11:18.169669  file_access
7  2024-06-12 19:11:18.169669  file_access
8  2024-06-12 19:11:18.169669  file_access
9  2024-06-12 19:11:18.169669  file_access
10 2024-06-12 19:11:18.169669  file_access
11 2024-06-12 19:11:18.169669  file_access
12 2024-06-12 19:11:18.169669  file_access
13 2024-06-12 19:11:18.169669  file_access
14 2024-06-12 19:11:18.169669  file_access
15 2024-06-12 19:11:18.169669  file_access

IDS Alert logg:
                    timestamp         activity
0  2024-06-12 19:11:18.169669  network_request
1  2024-06-12 19:11:18.169669  network_request
2  2024-06-12 19:11:18.169669  network_request
3  2024-06-12 19:11:18.169669  network_request
4  2024-06-12 19:11:18.169669  network_request
5  2024-06-12 19:11:18.169669  network_request
6  2024-06-12 19:11:18.169669  network_request
7  2024-06-12 19:11:18.169669  network_request
8  2024-06-12 19:11:18.169669  network_request
9  2024-06-12 19:11:18.169669  network_request
10 2024-06-12 19:11:18.169669  network_request
11 2024-06-12 19:11:18.169669  network_request
12 2024-06-12 19:11:18.169669  network_request
13 2024-06-12 19:11:18.169669  network_request
14 2024-06-12 19:11:18.169669  network_request
15 2024-06-12 19:11:18.169669  network_request
16 2024-06-12 19:11:18.169669  network_request
17 2024-06-12 19:11:18.170692  network_request
Tiltak: Vurder å begrense filtilgang og øke overvåkingsnivået.
Monitorering og digital etterforskning fullført.

For å få skriptet til å vise resultater i konsollen, må vi sikre at alle funksjonene som gir output faktisk blir kalt og at outputen blir printet til konsollen. Vi kan også inkludere noen print-setninger for å forsikre oss om at scriptet kjører riktig. La oss oppdatere skriptet for å sikre dette.

Oppdatert Skript

import random
import pandas as pd
import matplotlib.pyplot as plt

# --- MONITORERING OG STRATEGI FOR OVERVÅKING ---
def monitor_system(activity_log):
    """Simulerer overvåking av et system ved å generere en aktivitetslogg."""
    activities = ['login', 'logout', 'file_access', 'file_modification', 'network_request']
    log = []
    for _ in range(activity_log):
        activity = random.choice(activities)
        timestamp = pd.Timestamp.now()
        log.append({'timestamp': timestamp, 'activity': activity})
    return log

def identify_security_breach(log):
    """Identifiserer potensielle sikkerhetsbrudd basert på aktivitetsloggen."""
    breaches = [entry for entry in log if entry['activity'] == 'file_modification']
    return breaches

# --- VERKTØY FOR OVERVÅKING OG PRESENTASJON AV RESULTATER ---
def present_results(log, breaches):
    """Presenterer aktivitetsloggen og sikkerhetsbrudd visuelt."""
    df = pd.DataFrame(log)
    breach_df = pd.DataFrame(breaches)
    
    print("Aktivitetslogg:")
    print(df)
    
    print("\nIdentifiserte sikkerhetsbrudd:")
    print(breach_df)
    
    plt.figure(figsize=(10, 6))
    df['activity'].value_counts().plot(kind='bar', color='skyblue')
    plt.title('Aktivitetsfordeling')
    plt.xlabel('Aktivitet')
    plt.ylabel('Antall')
    plt.show()
    
    if not breach_df.empty:
        plt.figure(figsize=(10, 6))
        breach_df['timestamp'].value_counts().plot(kind='bar', color='salmon')
        plt.title('Tidspunkter for sikkerhetsbrudd')
        plt.xlabel('Tidspunkt')
        plt.ylabel('Antall')
        plt.show()

# --- DIGITAL ETTERFORSKNING ---
def perform_digital_forensics(log):
    """Utfører en enkel digital etterforskning ved å analysere loggdata."""
    file_access_log = [entry for entry in log if entry['activity'] == 'file_access']
    return file_access_log

# --- IDS/IPS EKSEMPEL ---
def ids_simulation(log):
    """Simulerer et Intrusion Detection System (IDS) som identifiserer mistenkelige aktiviteter."""
    ids_alerts = [entry for entry in log if entry['activity'] == 'network_request']
    return ids_alerts

# --- VERKTØY FOR SIKKERHETSANALYSE OG TILTAKSANALYSE ---
def security_analysis(log):
    """Utfører en enkel sikkerhetsanalyse og anbefaler tiltak."""
    breaches = identify_security_breach(log)
    if breaches:
        print("Tiltak: Vurder å begrense filtilgang og øke overvåkingsnivået.")
    else:
        print("Ingen sikkerhetsbrudd identifisert.")

# --- HOVEDFUNKSJON FOR Å KJØRE EKSEMPLENE ---
def run_monitoring_and_forensics():
    print("Starter monitorering og digital etterforskning...")
    activity_log = 100
    log = monitor_system(activity_log)
    breaches = identify_security_breach(log)
    present_results(log, breaches)
    
    forensics_log = perform_digital_forensics(log)
    print("\nDigital etterforskning - filtilgangslogg:")
    print(pd.DataFrame(forensics_log))
    
    ids_alerts = ids_simulation(log)
    print("\nIDS Alert logg:")
    print(pd.DataFrame(ids_alerts))
    
    security_analysis(log)
    print("Monitorering og digital etterforskning fullført.")

run_monitoring_and_forensics()

Forklaring

  • Importerer nødvendige moduler: random, pandas, matplotlib.pyplot.
  • Funksjoner for monitorering og etterforskning: monitor_system, identify_security_breach, present_results, perform_digital_forensics, ids_simulation, security_analysis.
  • Hovedfunksjon: run_monitoring_and_forensics kjører alle eksemplene og printer resultater til konsollen.

Instruksjoner for kjøring

  1. Aktivitetslogg: Generer en aktivitetslogg med monitor_system.
  2. Identifiser sikkerhetsbrudd: Identifiser sikkerhetsbrudd med identify_security_breach.
  3. Presentasjon av resultater: Presenter resultater visuelt med present_results.
  4. Digital etterforskning: Utfør digital etterforskning med perform_digital_forensics.
  5. IDS/IPS: Simuler IDS/IPS med ids_simulation.
  6. Sikkerhetsanalyse: Utfør en enkel sikkerhetsanalyse med security_analysis.

Ved å kjøre dette skriptet vil du få en aktivitetslogg, identifisere sikkerhetsbrudd, visualisere aktivitetsfordelingen og sikkerhetsbrudd, utføre digital etterforskning, simulere IDS/IPS, og utføre en sikkerhetsanalyse. Dette vil gi en omfattende forståelse av monitorering og digital etterforskning i tråd med fagplanen.

Det er flott å høre at du er fornøyd med resultatet! Hvis du har flere spørsmål eller trenger ytterligere hjelp med noe annet, er det bare å si ifra. Lykke til med ditt videre arbeid med monitorering og digital etterforskning!

For referanse, her er skriptet en gang til i sin helhet, slik at du kan kopiere det enkelt inn i ditt prosjekt:

Komplett Skript

import random
import pandas as pd
import matplotlib.pyplot as plt

# --- MONITORERING OG STRATEGI FOR OVERVÅKING ---
def monitor_system(activity_log):
    """Simulerer overvåking av et system ved å generere en aktivitetslogg."""
    activities = ['login', 'logout', 'file_access', 'file_modification', 'network_request']
    log = []
    for _ in range(activity_log):
        activity = random.choice(activities)
        timestamp = pd.Timestamp.now()
        log.append({'timestamp': timestamp, 'activity': activity})
    return log

def identify_security_breach(log):
    """Identifiserer potensielle sikkerhetsbrudd basert på aktivitetsloggen."""
    breaches = [entry for entry in log if entry['activity'] == 'file_modification']
    return breaches

# --- VERKTØY FOR OVERVÅKING OG PRESENTASJON AV RESULTATER ---
def present_results(log, breaches):
    """Presenterer aktivitetsloggen og sikkerhetsbrudd visuelt."""
    df = pd.DataFrame(log)
    breach_df = pd.DataFrame(breaches)
    
    print("Aktivitetslogg:")
    print(df)
    
    print("\nIdentifiserte sikkerhetsbrudd:")
    print(breach_df)
    
    plt.figure(figsize=(10, 6))
    df['activity'].value_counts().plot(kind='bar', color='skyblue')
    plt.title('Aktivitetsfordeling')
    plt.xlabel('Aktivitet')
    plt.ylabel('Antall')
    plt.show()
    
    if not breach_df.empty:
        plt.figure(figsize=(10, 6))
        breach_df['timestamp'].value_counts().plot(kind='bar', color='salmon')
        plt.title('Tidspunkter for sikkerhetsbrudd')
        plt.xlabel('Tidspunkt')
        plt.ylabel('Antall')
        plt.show()

# --- DIGITAL ETTERFORSKNING ---
def perform_digital_forensics(log):
    """Utfører en enkel digital etterforskning ved å analysere loggdata."""
    file_access_log = [entry for entry in log if entry['activity'] == 'file_access']
    return file_access_log

# --- IDS/IPS EKSEMPEL ---
def ids_simulation(log):
    """Simulerer et Intrusion Detection System (IDS) som identifiserer mistenkelige aktiviteter."""
    ids_alerts = [entry for entry in log if entry['activity'] == 'network_request']
    return ids_alerts

# --- VERKTØY FOR SIKKERHETSANALYSE OG TILTAKSANALYSE ---
def security_analysis(log):
    """Utfører en enkel sikkerhetsanalyse og anbefaler tiltak."""
    breaches = identify_security_breach(log)
    if breaches:
        print("Tiltak: Vurder å begrense filtilgang og øke overvåkingsnivået.")
    else:
        print("Ingen sikkerhetsbrudd identifisert.")

# --- HOVEDFUNKSJON FOR Å KJØRE EKSEMPLENE ---
def run_monitoring_and_forensics():
    print("Starter monitorering og digital etterforskning...")
    activity_log = 100
    log = monitor_system(activity_log)
    breaches = identify_security_breach(log)
    present_results(log, breaches)
    
    forensics_log = perform_digital_forensics(log)
    print("\nDigital etterforskning - filtilgangslogg:")
    print(pd.DataFrame(forensics_log))
    
    ids_alerts = ids_simulation(log)
    print("\nIDS Alert logg:")
    print(pd.DataFrame(ids_alerts))
    
    security_analysis(log)
    print("Monitorering og digital etterforskning fullført.")

run_monitoring_and_forensics()

Du kan også referere til dette skriptet og den tilhørende forklaringen i dokumentasjonen eller på GitHub-repoet ditt. Lykke til med prosjektet ditt i monitorering og digital etterforskning!


Beskrivelse av koden

Denne koden simulerer overvåkning og digital etterforskning av et system. Den genererer en aktivitetslogg, identifiserer potensielle sikkerhetsbrudd, presenterer resultatene visuelt, utfører digital etterforskning, simulerer et Intrusion Detection System (IDS), og utfører en sikkerhetsanalyse.

Faktisk kode

import random
import pandas as pd
import matplotlib.pyplot as plt

# --- MONITORERING OG STRATEGI FOR OVERVÅKING ---
def monitor_system(activity_log):
    """Simulerer overvåking av et system ved å generere en aktivitetslogg."""
    activities = ['login', 'logout', 'file_access', 'file_modification', 'network_request']
    log = []
    for _ in range(activity_log):
        activity = random.choice(activities)
        timestamp = pd.Timestamp.now()
        log.append({'timestamp': timestamp, 'activity': activity})
    return log

def identify_security_breach(log):
    """Identifiserer potensielle sikkerhetsbrudd basert på aktivitetsloggen."""
    breaches = [entry for entry in log if entry['activity'] == 'file_modification']
    return breaches

# --- VERKTØY FOR OVERVÅKING OG PRESENTASJON AV RESULTATER ---
def present_results(log, breaches):
    """Presenterer aktivitetsloggen og sikkerhetsbrudd visuelt."""
    df = pd.DataFrame(log)
    breach_df = pd.DataFrame(breaches)
    
    print("Aktivitetslogg:")
    print(df)
    
    print("\nIdentifiserte sikkerhetsbrudd:")
    print(breach_df)
    
    plt.figure(figsize=(10, 6))
    df['activity'].value_counts().plot(kind='bar', color='skyblue')
    plt.title('Aktivitetsfordeling')
    plt.xlabel('Aktivitet')
    plt.ylabel('Antall')
    plt.show()
    
    if not breach_df.empty:
        plt.figure(figsize=(10, 6))
        breach_df['timestamp'].value_counts().plot(kind='bar', color='salmon')
        plt.title('Tidspunkter for sikkerhetsbrudd')
        plt.xlabel('Tidspunkt')
        plt.ylabel('Antall')
        plt.show()

# --- DIGITAL ETTERFORSKNING ---
def perform_digital_forensics(log):
    """Utfører en enkel digital etterforskning ved å analysere loggdata."""
    file_access_log = [entry for entry in log if entry['activity'] == 'file_access']
    return file_access_log

# --- IDS/IPS EKSEMPEL ---
def ids_simulation(log):
    """Simulerer et Intrusion Detection System (IDS) som identifiserer mistenkelige aktiviteter."""
    ids_alerts = [entry for entry in log if entry['activity'] == 'network_request']
    return ids_alerts

# --- VERKTØY FOR SIKKERHETSANALYSE OG TILTAKSANALYSE ---
def security_analysis(log):
    """Utfører en enkel sikkerhetsanalyse og anbefaler tiltak."""
    breaches = identify_security_breach(log)
    if breaches:
        print("Tiltak: Vurder å begrense filtilgang og øke overvåkingsnivået.")
    else:
        print("Ingen sikkerhetsbrudd identifisert.")

# --- HOVEDFUNKSJON FOR Å KJØRE EKSEMPLENE ---
def run_monitoring_and_forensics():
    print("Starter monitorering og digital etterforskning...")
    activity_log = 100
    log = monitor_system(activity_log)
    breaches = identify_security_breach(log)
    present_results(log, breaches)
    
    forensics_log = perform_digital_forensics(log)
    print("\nDigital etterforskning - filtilgangslogg:")
    print(pd.DataFrame(forensics_log))
    
    ids_alerts = ids_simulation(log)
    print("\nIDS Alert logg:")
    print(pd.DataFrame(ids_alerts))
    
    security_analysis(log)
    print("Monitorering og digital etterforskning fullført.")

run_monitoring_and_forensics()

Struktur og flyt

  1. Importering av moduler: Skriptet starter med å importere nødvendige moduler som random, pandas, og matplotlib.pyplot.
  2. Monitorering og strategi for overvåking:
    • monitor_system: Genererer en simulert aktivitetslogg.
    • identify_security_breach: Identifiserer sikkerhetsbrudd basert på aktivitetsloggen.
  3. Verktøy for overvåking og presentasjon av resultater:
    • present_results: Presenterer aktivitetsloggen og sikkerhetsbrudd visuelt.
  4. Digital etterforskning:
    • perform_digital_forensics: Utfører digital etterforskning ved å analysere loggdata for filtilgang.
  5. IDS/IPS eksempel:
    • ids_simulation: Simulerer et Intrusion Detection System for å identifisere mistenkelige nettverksaktiviteter.
  6. Verktøy for sikkerhetsanalyse og tiltaksanalyse:
    • security_analysis: Utfører en enkel sikkerhetsanalyse og anbefaler tiltak basert på identifiserte sikkerhetsbrudd.
  7. Hovedfunksjon:
    • run_monitoring_and_forensics: Hovedfunksjonen som kjører alle eksemplene og printer resultater til konsollen.

Mermaid-diagram

graph TD
    A[run_monitoring_and_forensics] --> B[monitor_system]
    A --> C[identify_security_breach]
    A --> D[present_results]
    A --> E[perform_digital_forensics]
    A --> F[ids_simulation]
    A --> G[security_analysis]

    B --> H[Generate activity log]
    C --> I[Identify security breaches]
    D --> J[Display logs and breaches]
    E --> K[Analyze log for file access]
    F --> L[Simulate IDS alerts]
    G --> M[Recommend actions]

Dette diagrammet viser hvordan de forskjellige funksjonene i koden henger sammen og hvilken rekkefølge de blir kalt i hovedfunksjonen run_monitoring_and_forensics.