Použití poznámkových bloků Jupyter k prolovení bezpečnostních hrozeb

Poznámka

Azure Sentinel se teď nazývá Microsoft Sentinel a tyto stránky budeme v nadcházejících týdnech aktualizovat. Přečtěte si další informace o nedávných vylepšeních zabezpečení od Microsoftu.

Poznámka

Informace o dostupnosti funkcí v cloudech státní správy USA najdete v tématu věnovaném tabulkám Sentinel Microsoftu v cloudu dostupnost funkcí pro státní správu USA.

Základem Microsoft Sentinel je úložiště dat; kombinuje dotazování s vysokým výkonem, dynamické schéma a škáluje na obrovské objemy dat. Azure Portal a všechny nástroje Microsoft Sentinel používají pro přístup k tomuto úložišti dat společné rozhraní API.

Stejné rozhraní API je také k dispozici pro externí nástroje, jako jsou Jupyter notebooky a Python. I když je možné na portálu provádět mnoho běžných úloh, Jupyter rozšiřuje rozsah toho, co můžete s těmito daty dělat. Kombinuje plnou programovatelnost s velkou kolekcí knihoven pro strojové učení, vizualizaci a analýzu dat. Tyto atributy Jupyter přesvědčivý Nástroj pro vyšetřování a lov zabezpečení.

Například použijte poznámkové bloky k těmto akcím:

  • Provádějte analýzy , které nejsou poskytovány předem v rámci Microsoft Sentinel, například některé funkce strojového učení v Pythonu.
  • Vytváření vizualizací dat , které nejsou poskytovány předem v rámci Microsoft Sentinel, například vlastní časová osa a stromy procesů
  • Integrujte zdroje dat mimo Microsoft Sentinel, jako je například místní datová sada.

Prostředí Jupyter jsme integroval do Azure Portal, což usnadňuje vytváření a spouštění poznámkových bloků pro analýzu dat. Knihovna Kqlmagic poskytuje připevňování, který umožňuje převzít KQL dotazy od společnosti Microsoft Sentinel a spustit je přímo v rámci poznámkového bloku.

Několik poznámkových bloků vyvinutých analytiky zabezpečení Microsoftu je zabalené pomocí nástroje Microsoft Sentinel:

  • Některé z těchto poznámkových bloků jsou sestaveny pro konkrétní scénář a lze je použít tak, jak jsou.
  • Jiné jsou určené jako vzorky k ilustraci techniků a funkcí, které můžete zkopírovat nebo přizpůsobit pro použití ve vlastních poznámkových blocích.

z úložiště GitHub Microsoft Sentinelse taky můžou importovat i další poznámkové bloky.

Komponenty poznámkového bloku

Poznámkové bloky mají dvě komponenty:

  • Rozhraní založené na prohlížeči, kde zadáváte a spouštíte dotazy a kód a kde se zobrazují výsledky spuštění.
  • Jádro , které zodpovídá za analýzu a provádění samotného kódu.

Jádro Microsoft Sentinel poznámkového bloku se spouští na virtuálním počítači Azure (VM). Existuje několik možností licencování pro použití výkonnějších virtuálních počítačů, pokud vaše poznámkové bloky obsahují složité modely strojového učení.

Poznámkové bloky Microsoft Sentinel využívají spoustu oblíbených knihoven Pythonu, jako jsou PANDAS, matplotlib, rozostření a další. Existuje spousta dalších balíčků Pythonu, ze kterých si můžete vybrat, včetně oblastí, jako jsou:

  • Vizualizace a grafika
  • Zpracování a analýza dat
  • Statistiky a číselné výpočty
  • Strojové učení a hluboké učení

Aby se zabránilo nutnosti psát a vkládat složitý a opakující kód do buněk poznámkových bloků, většina poznámkových bloků Pythonu spoléhá na knihovny třetích stran nazývané balíčky. Chcete-li použít balíček v poznámkovém bloku, je nutné nainstalovat i importovat balíček. Azure Výpočetní prostředky služby ML má předinstalované nejběžnější balíčky. Ujistěte se, že jste balíček naimportovali, nebo příslušnou část balíčku, jako je například modul, soubor, funkce nebo třída.

Poznámkové bloky Microsoft Sentinel používají balíček Pythonu s názvem MSTICPy, což je kolekce nástrojů kyberbezpečnosti pro načítání, analýzu, obohacení a vizualizaci dat.

Nástroje MSTICPy jsou navržené specificky pro pomoc s vytvářením poznámkových bloků pro lov a vyšetřování a aktivně pracujeme na nových funkcích a vylepšeních. Další informace naleznete v tématu:

microsoft sentinel GitHub úložiště je umístění všech budoucích poznámkových bloků služby microsoft sentinel postavených společností microsoft nebo, které přispěly od komunity.

Správa přístupu k poznámkovým blokům Sentinel společnosti Microsoft

Pokud chcete používat poznámkové bloky Jupyter v nástroji Microsoft Sentinel, musíte nejdřív mít správná oprávnění v závislosti na vaší roli uživatele.

i když můžete spustit poznámkové bloky microsoft sentinel v JupyterLab nebo Jupyter classic, poznámkové bloky microsoft sentinel se spouštějí na platformě Azure Machine Learning (Azure ML). chcete-li spustit poznámkové bloky v nástroji microsoft sentinel, je nutné mít odpovídající přístup k pracovnímu prostoru microsoft sentinel i k pracovnímu prostoru služby Azure ML.

Oprávnění Description
Oprávnění Microsoft Sentinel Podobně jako u jiných prostředků Microsoft Sentinel, pro přístup k poznámkovým blokům v okně Microsoft Sentinel poznámkových bloků, je vyžadována aplikace Microsoft Sentinel Reader, Microsoft Sentinel Responder nebo role přispěvatele Microsoft Sentinel.

Další informace najdete v tématu oprávnění v Microsoft Sentinel.
Azure Machine Learning oprávnění Pracovní prostor služby Azure Machine Learning je prostředek Azure. podobně jako u jiných prostředků Azure se při vytvoření nového pracovního prostoru Azure Machine Learning dodává s výchozími rolemi. Do pracovního prostoru můžete přidat uživatele a přiřadit jim jednu z těchto integrovaných rolí. další informace najdete v tématu Azure Machine Learning výchozích rolí a předdefinovaných rolí Azure.

Důležité: přístup k rolím může být v Azure vymezen na více úrovní. Například někdo s přístupem vlastníka k pracovnímu prostoru nemusí mít oprávnění vlastníka ke skupině prostředků, která obsahuje pracovní prostor. Další informace najdete v tématu Jak funguje Azure RBAC.

pokud jste vlastníkem pracovního prostoru Azure ML, můžete přidávat a odebírat role pro pracovní prostor a přiřazovat role uživatelům. Další informace naleznete v tématu:
- Azure Portal
- Prostředí
- Rozhraní příkazového řádku Azure
- REST API
- Šablony Azure Resource Manager
- Azure Machine Learning CLI

Pokud jsou předdefinované role nedostatečné, můžete také vytvořit vlastní role. Vlastní role můžou mít v tomto pracovním prostoru oprávnění ke čtení, zápisu, odstranění a výpočtu prostředků. Role může být dostupná na konkrétní úrovni pracovního prostoru, na konkrétní úrovni skupiny prostředků nebo na konkrétní úrovni předplatného. Další informace najdete v tématu Vytvoření vlastní role.

vytvoření pracovního prostoru Azure ML z Microsoft Sentinel

tento postup popisuje, jak vytvořit pracovní prostor Azure ML od společnosti microsoft sentinel pro poznámkové bloky sentinel společnosti microsoft.

Vytvoření pracovního prostoru:

Vyberte jednu z následujících karet v závislosti na tom, jestli budete používat veřejný nebo privátní koncový bod.

  • Doporučujeme použít veřejný koncový bod , pokud má pracovní prostor Microsoft Sentinel nějaký, aby nedocházelo k potenciálním problémům v síťové komunikaci.
  • pokud chcete použít pracovní prostor Azure ML ve virtuální síti, použijte privátní koncový bod.
  1. v Azure Portal otevřete > > poznámkové bloky Microsoft Sentinel Threat management a pak vyberte vytvořit nový AML pracovní prostor.

  2. Zadejte následující podrobnosti a pak vyberte Další.

    Pole Popis
    Předplatné Vyberte předplatné Azure, které chcete použít.
    Skupina prostředků Použijte stávající skupinu prostředků, kterou máte v předplatném, nebo zadejte název a vytvořte novou skupinu prostředků. Skupina prostředků obsahuje související prostředky pro řešení Azure.
    Název pracovního prostoru Zadejte jedinečný název, který identifikuje váš pracovní prostor. Názvy musí být v rámci skupiny prostředků jedinečné. Použijte název, který se dá snadno vyvolat a odlišit z pracovních prostorů vytvořených jinými uživateli.
    Oblast Vyberte umístění, které je nejblíže vašim uživatelům a datovým prostředkům, abyste mohli vytvořit pracovní prostor.
    Účet úložiště Účet úložiště se používá jako výchozí úložiště dat pro pracovní prostor. můžete vytvořit nový prostředek Azure Storage nebo si v předplatném vybrat existující.
    KeyVault Trezor klíčů se používá k ukládání tajných klíčů a dalších citlivých informací, které pracovní prostor potřebuje. Můžete vytvořit nový prostředek Azure Key Vault nebo si v předplatném vybrat existující.
    Application Insights Pracovní prostor používá Azure Application Přehledy k ukládání monitorovacích informací o nasazených modelech. Můžete vytvořit nový prostředek Azure Application Přehledy nebo vybrat existující prostředek ve vašem předplatném.
    Registr kontejneru Registr kontejneru slouží k registraci imagí Dockeru používaných při trénování a nasazování. Aby se minimalizovaly náklady, Azure Container Registry nový prostředek vytvoří až po sestavení první image. Případně se můžete rozhodnout vytvořit prostředek hned, nebo vybrat existující prostředek ve vašem předplatném, nebo vybrat Žádné, pokud nechcete použít žádný registr kontejneru.
  3. Na kartě Sítě vyberte Veřejný koncový bod (všechny sítě).

    Na kartách Upřesnit nebo Značky definujte relevantní nastavení a pak vyberte Zkontrolovat a vytvořit.

  4. Na kartě Zkontrolovat a vytvořit zkontrolujte informace, abyste ověřili, že jsou správné, a pak výběrem možnosti Vytvořit začněte nasazovat pracovní prostor. Například:

    Zkontrolujte a vytvořte pracovní Machine Learning microsoft sentinelu.

    Vytvoření pracovního prostoru v cloudu může trvat několik minut. Během této doby se na stránce Přehled pracovního prostoru zobrazí aktuální stav nasazení a po dokončení nasazení se aktualizuje.

Po dokončení nasazení se můžete vrátit do poznámkových bloků Microsoft Sentinel a spustit poznámkové bloky z nového pracovního prostoru Azure ML.

Pokud máte více poznámkových bloků, nezapomeňte vybrat výchozí pracovní AML, který se má použít při spouštění poznámkových bloků. Například:

Vyberte výchozí pracovní AML pro poznámkové bloky.

Spuštění poznámkového bloku v pracovním prostoru ML Azure

Po vytvoření pracovního prostoru AML spouštění poznámkových bloků v pracovním prostoru Azure ML microsoft Sentinel.

Poznámka

Poznámkový blok můžete zobrazit jako statický dokument, například v GitHub integrovaném rendereru statického poznámkového bloku. Pokud ale chcete spustit kód v poznámkovém bloku, musíte ho připojit k back-endovému procesu nazývaného jádro Jupyter. Jádro spustí kód a bude obsahovat všechny proměnné a objekty, které kód vytvoří. Prohlížeč je divákem pro tato data.

V Azure ML běží jádro na virtuálním počítači s názvem Azure ML Compute. Výpočetní instance může podporovat spouštění mnoha poznámkových bloků najednou.

Spuštění poznámkového bloku ze služby Microsoft Sentinel:

  1. V části Azure Portal poznámkové bloky pro správu hrozeb microsoft Sentinel, kde uvidíte poznámkové bloky, které > > poskytuje Microsoft Sentinel.

    Tip

    V horní části stránky Poznámkové bloky vyberte Průvodci & Názory a v pravém podokně se zobrazí další prostředky a pokyny.

  2. Výběrem poznámkového bloku zobrazíte jeho popis, požadované datové typy a zdroje dat.

    Jakmile najdete poznámkový blok, který chcete použít, vyberte Uložit poznámkový blok a naklonovat ho do vlastního pracovního prostoru.

    Podle potřeby upravte název. Pokud už poznámkový blok ve vašem pracovním prostoru existuje, můžete stávající poznámkový blok přepsat nebo vytvořit nový.

    Pokud chcete poznámkový blok naklonovat do vlastního pracovního prostoru, uložte ho.

  3. Po uložení poznámkového bloku se tlačítko Save notebook (Uložit poznámkový blok) změní na Launch notebook (Spustit poznámkový blok). Vyberte Spustit poznámkový blok a otevřete ho ve svém AML pracovním prostoru.

    Například:

    Poznámkový blok spusťte v pracovním AML pracovním prostoru.

  4. V horní části stránky vyberte výpočetní instanci, která se má použít pro server poznámkového bloku.

    Pokud nemáte výpočetní instanci, vytvořte novou. Pokud je vaše výpočetní instance zastavená, nezapomeňte ji spustit. Další informace najdete v tématu Spuštění poznámkového bloku v Azure Machine Learning Studio.

    Výpočetní instance, které vytvoříte, můžete zobrazit a používat jenom vy. Soubory uživatelů se ukládají odděleně od virtuálního počítače a sdílí se mezi všemi výpočetními instancemi v pracovním prostoru.

    Tip

    Pokud vytváříte novou výpočetní instanci pro testování poznámkových bloků, vytvořte výpočetní instanci s kategorií Pro obecné účely.

    Jádro se také zobrazí v pravém horním rohu okna ML Azure. Pokud není vybrané jádro, které potřebujete, vyberte v rozevíracím seznamu jinou verzi.

  5. Po vytvoření a spuštění serveru poznámkového bloku můžete začít používat buňky poznámkového bloku. V každé buňce vyberte ikonu Spustit a spusťte kód poznámkového bloku.

    Další informace najdete v tématu Klávesové zkratky v režimu příkazů.

  6. Pokud poznámkový blok přestane reagovat nebo chcete začít znovu, můžete jádro restartovat a znovu spustit buňky poznámkového bloku od začátku. Vyberte Operace jádra Restart kernel > (Restartovat jádro). Například:

    Restartujte jádro poznámkového bloku.

    Důležité

    Restartováním jádra se vymažou všechny proměnné a další stav. Po restartování je potřeba znovu spustit všechny buňky inicializace a ověřování.

Spuštění kódu v poznámkovém bloku

V poznámkovém bloku:

  • Buňky Markdownu mají text, včetně HTML a statických obrázků.
  • Buňky kódu obsahují kód. Po výběru buňky s kódem spusťte kód v buňce výběrem ikony Přehrát nalevo od buňky nebo stisknutím kláves SHIFT+ENTER.

Důležité

Vždy postupně spouštět buňky kódu poznámkového bloku. Vynechání buněk může vést k chybám.

V poznámkovém bloku například spusťte následující buňku kódu:

# This is your first code cell. This cell contains basic Python code.

# You can run a code cell by selecting it and then selecting
# the Play button to the left of the cell, or by pressing SHIFT+ENTER.
# Code output displays below the code.

print("Congratulations, you just ran this code cell")

y = 2 + 2

print("2 + 2 =", y)

Ukázkový kód uvedený výše vytvoří tento výstup:

Congratulations, you just ran this code cell

2 + 2 = 4

Proměnné nastavené v buňce kódu poznámkového bloku se zachytí mezi buňkami, takže buňky můžete zřetězovat. Například následující buňka kódu používá hodnotu y z předchozí buňky:

# Note that output from the last line of a cell is automatically
# sent to the output cell, without needing the print() function.

y + 2

Výstup bude následující:

6

Stažení všech poznámkových bloků Microsoft Sentinelu

Tato část popisuje, jak pomocí Gitu stáhnout všechny poznámkové bloky dostupné v úložišti služby Microsoft Sentinel GitHubpřímo z poznámkového bloku Microsoft Sentinelu přímo do vašeho pracovního prostoru azure ML.

Pokud máte poznámkové bloky Microsoft Sentinelu uložené ve vašem pracovním ML Azure, můžete je snadno aktualizovat.

  1. V poznámkovém bloku Microsoft Sentinelu zadejte do prázdné buňky následující kód a pak buňku spusťte:

    !git clone https://github.com/Azure/Azure-Sentinel-Notebooks.git azure-sentinel-nb
    

    Kopie obsahu úložiště GitHub se vytvoří v adresáři azure-Sentinel-nb ve složce uživatele ve vašem pracovním prostoru Azure ML prostoru.

  2. Zkopírujte poznámkové bloky, které chcete, z této složky do pracovního adresáře.

  3. Pokud chcete poznámkové bloky aktualizovat o nedávné změny z GitHub, spusťte:

    !cd azure-sentinel-nb && git pull
    

Řešení potíží

Poznámkový blok obvykle bez problémů vytvoří nebo připojí jádro a nemusíte provádět žádné ruční změny. Pokud dojde k chybám nebo se zdá, že poznámkový blok není spuštěný, možná budete muset zkontrolovat verzi a stav jádra.

Pokud našly problémy s poznámkovými bloky, podívejte se na Azure Machine Learning s poznámkovým blokem.

Vynucení ukládání uživatelských účtů do mezipaměti a přihlašovacích údajů mezi spuštěními poznámkového bloku

Ve výchozím nastavení se uživatelské účty a přihlašovací údaje neuchová v mezipaměti mezi spuštěními poznámkového bloku, a to ani pro stejnou relaci.

Vynucení ukládání do mezipaměti po dobu trvání relace:

  1. Ověřování pomocí Azure CLI Do prázdné buňky poznámkového bloku zadejte a spusťte následující kód:

    !az login
    

    Objeví se následující výstup:

    To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the 9-digit device code to authenticate.
    
  2. Vyberte a zkopírujte z výstupu devět znaků tokenu a výběrem adresy devicelogin URL přejděte na uvedenou stránku.

  3. Vložte token do dialogového okna a pokračujte s přihlášením, jak se zobrazí výzva.

    Po úspěšném dokončení přihlášení se zobrazí následující výstup:

    Subscription <subscription ID> 'Sample subscription' can be accessed from tenants <tenant ID>(default) and <tenant ID>. To select a specific tenant when accessing this subscription, use 'az login --tenant TENANT_ID'.
    
    

Poznámka

The following tenants don't contain accessible subscriptions. Use 'az login --allow-no-subscriptions' to have tenant level access.

<tenant ID> 'foo'
<tenant ID> 'bar'
[
{
   "cloudName": "AzureApp",
   "homeTenantId": "<tenant ID>",
   "id": "<ID>",
   "isDefault": true,
   "managedByTenants": [
   ....

Error: Runtime dependency of PyGObject is missing

If the Runtime dependency of PyGObject is missing error appears when you load a query provider, try troubleshooting using the following steps:

  1. Proceed to the cell with the following code and run it:

    qry_prov = QueryProvider("AzureSentinel")
    

    Zobrazí se upozornění podobné následující zprávě, které značí chybějící závislost Pythonu ( pygobject ):

    Runtime dependency of PyGObject is missing.
    
    Depends on your Linux distribution, you can install it by running code similar to the following:
    sudo apt install python3-gi python3-gi-cairo gir1.2-secret-1
    
    If necessary, see PyGObject's documentation: https://pygobject.readthedocs.io/en/latest/getting_started.html
    
    Traceback (most recent call last):
      File "/anaconda/envs/azureml_py36/lib/python3.6/site-packages/msal_extensions/libsecret.py", line 21, in <module>
    import gi  # https://github.com/AzureAD/microsoft-authentication-extensions-for-python/wiki/Encryption-on-Linux
    ModuleNotFoundError: No module named 'gi'
    
  2. Pomocí aml-compute-setup.sh, který se nachází v úložišti poznámkových bloků Microsoft Sentinel GitHub, automaticky nainstalujte do instance Compute ve všech poznámkových blocích a pygobject prostředích Anaconda.

Tip

Toto upozornění můžete také opravit spuštěním následujícího kódu z poznámkového bloku:

!conda install --yes -c conda-forge pygobject

Další kroky

Integrace prostředí poznámkového bloku s analýzou velkých dat v Azure Synapse. Další informace najdete v tématu Integrace poznámkových bloků s Azure Synapse (Public Preview).

Další poznámkové bloky sdílené v úložišti služby Microsoft Sentinel GitHub jsou určené jako užitečné nástroje, ilustrace a ukázky kódu, které můžete použít při vývoji vlastních poznámkových bloků.

Vítáme zpětnou vazbu, návrhy, žádosti o funkce, přispíváné poznámkové bloky, zprávy o chybách nebo vylepšení a dodatky ke stávajícím poznámkovým blokům. Přejděte do úložiště GitHub Microsoft Sentinel a vytvořte problém nebo fork a nahrajte příspěvek.

  • Další informace o používání poznámkových bloků v proaktivním vyhledávání hrozeb a šetření najdete v některých šablonách poznámkových bloků, jako je kontrola přihlašovacích údajů v Azure Log Analytics a Guided Investigation - Process Alerts.

    Další šablony poznámkových bloků najdete na kartě Šablony poznámkových > Microsoft Sentinel. >

  • Další poznámkové bloky najdete v úložišti GitHub Microsoft Sentinel:

    • Adresář obsahuje ukázkové poznámkové bloky uložené s Sample-Notebooks daty, která můžete použít k zobrazení zamýšleného výstupu.

    • Adresář obsahuje poznámkové bloky, které popisují koncepty, jako je nastavení výchozí verze Pythonu, vytváření záložek HowTos Microsoft Sentinelu z poznámkového bloku a další.

Další informace naleznete v tématu: