Güvenlik tehditlerini avlamak için Jupyter not defterlerini kullanma
Not
Azure Sentinel artık Microsoft Sentinel olarak anılmıştır ve önümüzdeki haftalarda bu sayfaları güncelleştiriyor olacağız. En son Microsoft güvenlik geliştirmeleri hakkında daha fazla bilgi.
Not
ABD Kamu bulutlarında özellik kullanılabilirliği hakkında bilgi için, ABD Kamu müşterileri için Bulut özelliği kullanılabilirliği'nin Microsoft Sentinel tablolarına bakın.
Microsoft Sentinel'in temelini veri deposu sağlar; Yüksek performanslı sorgulamayı, dinamik şemayı birleştirir ve çok büyük veri hacimlerini ölçeklendirer. Bu Azure portal ve tüm Microsoft Sentinel araçları bu veri deposuna erişmek için ortak bir API kullanır.
Aynı API, Jupyter not defterleri ve Python gibi dış araçlar için de kullanılabilir. Portalda birçok yaygın görev yürütülebilir ancak Jupyter, bu verilerle gerçekleştirebilirsiniz kapsamını genişlettir. Tam programlanabilirliği makine öğrenmesi, görselleştirme ve veri analizi için çok büyük bir kitaplık koleksiyonuyla birleştirir. Bu öznitelikler Jupyter'i güvenlik araştırma ve avlanma için cazip bir araçtır.
Örneğin, aşağıdakiler için not defterlerini kullanın:
- Microsoft Sentinel'de bazı Python makine öğrenmesi özellikleri gibi, kullanımın dışında sağlanacak analizler gerçekleştirme
- Microsoft Sentinel'de özel zaman çizelgeleri ve işlem ağaçları gibi, kutudan çıkarılana veri görselleştirmeleri oluşturma
- Şirket içi veri kümesi gibi veri kaynaklarını Microsoft Sentinel dışında tümleştirin.
Jupyter deneyimini Azure portal tümleştirerek verilerinizi analiz etmek için not defterleri oluşturmanızı ve çalıştırmanızı kolaylaştırdı. Kqlmagic kitaplığı, Microsoft Sentinel'den KQL sorgularını alıp doğrudan bir not defteri içinde çalıştırmaya olanak sağlayan birleştirici sağlar.
Microsoft'un bazı güvenlik analistleri tarafından geliştirilen birkaç not defteri Microsoft Sentinel ile birlikte paketlenmiştir:
- Bu not defterlerinin bazıları belirli bir senaryo için hazır ve olduğu gibi kullanılabilir.
- Diğerleri, kopyalayıp kendi not defterlerinize uyarlamak için kullanabileceğiniz teknikleri ve özellikleri göstermek üzere örnekler olarak tasarlanmıştır.
Yine de diğer not defterleri, Microsoft Sentinel'in GitHub aktarılmış olabilir.
Not defteri bileşenleri
Not defterleri iki bileşenden oluşur:
- Sorguları ve kodu girerek çalıştırarak ve yürütme sonuçlarının görüntülendiğinde tarayıcı tabanlı arabirim.
- Kodu ayrıştırma ve yürütmeden sorumlu olan çekirdek.
Microsoft Sentinel not defterinin çekirdeği bir Azure sanal makinesi (VM) üzerinde çalışır. Not defterlerinde karmaşık makine öğrenmesi modelleri varsa daha güçlü sanal makineler kullanmak için çeşitli lisans seçenekleri vardır.
Microsoft Sentinel not defterleri pandas, matplotlib, bokeh ve diğerleri gibi birçok popüler Python kitaplığını kullanır. Aşağıdakiler gibi alanları kapsayan birçok farklı Python paketinden birini seçebilirsiniz:
- Görselleştirmeler ve grafikler
- Veri işleme ve analiz
- İstatistikler ve sayısal bilgi işlem
- Makine öğrenmesi ve derin öğrenme
Karmaşık ve yinelenen kodu not defteri hücrelerine yazma veya yapıştırmak zorunda kalmamak için Python not defterlerinin çoğu, paketleri olarak adlandırılan üçüncü taraf kitaplıkları kullanılır. Bir paketi not defterinde kullanmak için paketi hem yüklemeniz hem de içeri aktarmaniz gerekir. Azure ML Compute en yaygın paketleri önceden yüklenmiştir. Paketi veya modülün ilgili kısmını (modül, dosya, işlev veya sınıf gibi) içeri aktarın.
Microsoft Sentinel not defterleri, veri alma, analiz, zenginleştirme ve görselleştirme için siber güvenlik araçları koleksiyonu olan MSTICPyadlı bir Python paketi kullanır.
MSTICPy araçları avlanma ve araştırma için not defterleri oluşturmaya yardımcı olmak üzere özel olarak tasarlanmıştır ve yeni özellikler ve geliştirmeler üzerinde etkin bir şekilde çalışıyoruz. Daha fazla bilgi için bkz.
- MSTIC Jupyter ve Python Güvenlik Araçları belgeleri
- Öğretici: Kullanmaya başlayın'da Jupyter not defterleri ve MSTICPy ile çalışma
- Microsoft Sentinel'de Jupyter not defterleri ve MSTICPy için gelişmiş yapılandırmalar
Microsoft Sentinel GitHub deposu, Gelecekteki Microsoft Sentinel not defterleri için Microsoft tarafından veya topluluktan katkıda bulunan tüm not defterleri için konumdur.
Microsoft Sentinel not defterlerine erişimi yönetme
Microsoft Sentinel'de Jupyter not defterlerini kullanmak için önce kullanıcı rolünüze bağlı olarak doğru izinlere sahip olmak gerekir.
Microsoft Sentinel not defterlerini JupyterLab veya Jupyter klasiklerinde çalıştırabilirsiniz, ancak Microsoft Sentinel'de not defterleri bir Azure Machine Learning (Azure ML) platformunda çalıştırabilirsiniz. Not defterlerini Microsoft Sentinel'de çalıştırmak için hem Microsoft Sentinel çalışma alanına hem de Azure ML erişiminizin olması gerekir.
| İzin | Description |
|---|---|
| Microsoft Sentinel izinleri | Diğer Microsoft Sentinel kaynakları gibi, Microsoft Sentinel Not Defterleri dikey penceresindeki not defterlerine erişmek için bir Microsoft Sentinel Okuyucusu, Microsoft Sentinel Yanıtlayanı veya Microsoft Sentinel Katkıda Bulunanı rolü gereklidir. Daha fazla bilgi için bkz. Microsoft Sentinel'de İzinler. |
| Azure Machine Learning izinleri | Azure Machine Learning çalışma alanı bir Azure kaynağıdır. Diğer Azure kaynakları gibi, yeni bir Azure Machine Learning çalışma alanı oluşturulduğunda varsayılan rollerle birlikte gelir. Çalışma alanına kullanıcı ekleyebilir ve bu yerleşik rollerden birini atabilirsiniz. Daha fazla bilgi için bkz. Azure Machine Learning azure yerleşik rolleri. Önemli: Rol erişiminin kapsamı Azure'da birden çok düzeye kadar olabilir. Örneğin, bir çalışma alanına sahip erişimi olan biri, çalışma alanını içeren kaynak grubuna sahip erişimine sahip olabilir. Daha fazla bilgi için bkz. Azure RBAC nasıl çalışır? Azure ML çalışma alanının sahibiyseniz, çalışma alanı için rol ekleyebilir, kaldırabilir ve kullanıcılara roller atabilirsiniz. Daha fazla bilgi için bkz. - Azure portal - Powershell - Azure CLI - REST API - Azure Resource Manager şablonları - Azure Machine Learning CLI Yerleşik roller yetersizse özel roller de oluşturabilirsiniz. Özel roller bu çalışma alanında okuma, yazma, silme ve işlem kaynağı izinlerine sahip olabilir. Rolü belirli bir çalışma alanı düzeyinde, belirli bir kaynak grubu düzeyinde veya belirli bir abonelik düzeyinde kullanılabilir hale ebilirsiniz. Daha fazla bilgi için bkz. Özel rol oluşturma. |
Microsoft Sentinel'ML Azure Depolama çalışma alanı oluşturma
Bu yordamda, Microsoft Sentinel not defterleriniz için Microsoft Sentinel'ML Azure Depolama Çalışma Alanı oluşturma işlemi açık bir şekilde açık bir şekilde anlattır.
Çalışma alanınızı oluşturmak için:
Genel uç nokta mı yoksa özel uç nokta mı kullandığınıza bağlı olarak aşağıdaki sekmelerden birini seçin.
- Ağ iletişimde olası sorunları önlemek için Microsoft Sentinel çalışma alanınız varsa genel uç noktanın kullanılması önerilir.
- Sanal ağ içinde Bir Azure ML çalışma alanı kullanmak için özel uç nokta kullanın.
Uygulamanın Azure portal Microsoft Sentinel Tehdit Yönetimi Not Defterleri'ne gidin ve Çalışma > > alanında yeni bir AML seçin.
Aşağıdaki ayrıntıları girin ve ardından Sonraki'yi seçin.
Alan Açıklama Abonelik Kullanmak istediğiniz Azure aboneliğini seçin. Kaynak grubu Aboneliğinizde mevcut kaynak gruplarından birini seçin veya bir ad girerek yeni bir kaynak grubu oluşturun. Kaynak grubu, Bir Azure çözümü için ilgili kaynakları tutar. Çalışma alanı adı Çalışma alanınızı tanımlayan benzersiz bir ad girin. Adların kaynak grubu genelinde benzersiz olması gerekir. Hatırlaması kolay ve başkaları tarafından oluşturulan çalışma alanlarından ayırt etmek için bir ad kullanın. Bölge Çalışma alanınızı oluşturmak için kullanıcılarınıza ve veri kaynaklarına en yakın konumu seçin. Depolama hesabı Depolama hesabı, çalışma alanı için varsayılan veri deposu olarak kullanılır. Yeni bir Azure Depolama oluşturabilir veya aboneliğiniz içinde var olan bir kaynağı kullanabilirsiniz. KeyVault Anahtar kasası, çalışma alanı tarafından gerekli olan gizli dizileri ve diğer hassas bilgileri depolamak için kullanılır. Yeni bir kaynak Azure Key Vault veya aboneliğiniz içinde var olan bir kaynak oluşturabilirsiniz. Uygulama içgörüleri çalışma alanı, dağıtılan modelleriniz hakkında izleme bilgilerini depolamak için Azure Application Insights kullanır. yeni bir Azure Application Insights kaynağı oluşturabilir veya aboneliğinizde mevcut bir kaynak seçebilirsiniz. Kapsayıcı kayıt defteri Bir kapsayıcı kayıt defteri, eğitim ve dağıtımlarda kullanılan Docker görüntülerini kaydetmek için kullanılır. Maliyetleri en aza indirmek için, yalnızca ilk görüntünüzü oluşturduktan sonra yeni bir Azure Container Registry kaynağı oluşturulur. Alternatif olarak, kaynağı şimdi oluşturmayı veya aboneliğinizde mevcut bir tane seçebilirsiniz veya herhangi bir kapsayıcı kayıt defteri kullanmak istemiyorsanız hiçbiri ' ni seçebilirsiniz. Ağ sekmesinde, genel uç nokta (tüm ağlar)' ı seçin.
Gelişmiş veya Etiketler sekmelerinde ilgili ayarları tanımlayın ve ardından gözden geçir + oluştur' u seçin.
Gözden geçir + oluştur sekmesinde, doğru olduğunu doğrulamak için bilgileri gözden geçirin ve sonra çalışma alanınızı dağıtmaya başlamak için Oluştur ' u seçin. Örnek:
Çalışma alanınızı bulutta oluşturmak birkaç dakika sürebilir. Bu süre boyunca, çalışma alanına genel bakış sayfası geçerli dağıtım durumunu gösterir ve dağıtım tamamlandığında güncellenir.
dağıtımınız tamamlandıktan sonra, Microsoft Sentinel not defterlerine geri dönerek yeni Azure ML çalışma alanınızdan not defterleri başlatabilirsiniz.
birden çok not defteriniz varsa, not defterlerinizi başlatırken kullanılacak bir varsayılan AML çalışma alanı seçtiğinizden emin olun. Örnek:
Azure ML çalışma alanınızda bir not defteri başlatın
bir AML çalışma alanı oluşturduktan sonra, Microsoft Sentinel 'ten Azure ML çalışma alanınızda not defterlerinizi başlatmayı başlatın.
Not
bir not defterini, GitHub yerleşik statik not defteri işleyicide olduğu gibi statik bir belge olarak görüntüleyebilirsiniz. Ancak, kodu bir not defterinde çalıştırmak için, Not defterini Jupyter çekirdeği adlı bir arka uç işlemine bağlamanız gerekir. Çekirdek kodu çalıştırır ve kodun oluşturduğu tüm değişkenleri ve nesneleri tutar. Tarayıcı bu verilerin görüntüleyicisine yöneliktir.
azure ML, çekirdek azure ML İşlem adlı bir sanal makinede çalışır. Işlem örneği aynı anda birçok Not defterini çalıştırmayı destekleyebilir.
Not defterinizi Microsoft Sentinel 'ten başlatmak için:
Azure Portal , Microsoft Sentinel > tehdit yönetimi > Not defterleri' ne giderek Microsoft Sentinel 'in sağladığı not defterlerini görebilirsiniz.
İpucu
Not defterleri sayfasının en üstünde, sağ taraftaki bir bölmede daha fazla kaynak ve kılavuz göstermek için Kılavuzlar & geri bildirim ' ı seçin.
Açıklamasını, gerekli veri türlerini ve veri kaynaklarını görüntülemek için bir not defteri seçin.
Kullanmak istediğiniz Not defterini bulduğunuz zaman, kendi çalışma alanınıza kopyalamak için Not defterini kaydet ' i seçin.
Adı gerektiği gibi düzenleyin. Not defteri, çalışma alanınızda zaten varsa, mevcut not defterinin üzerine yazabilir veya yeni bir tane oluşturabilirsiniz.
Not defteri kaydedildikten sonra, Not defterini Kaydet düğmesi, Not defterini Başlat olarak değişir. AML çalışma alanınızda açmak için not defterini başlat ' ı seçin.
Örnek:
Sayfanın üst kısmında not defteri sunucunuz için kullanmak üzere bir İşlem örneği seçin.
İşlem örneğine sahip değilsanız yeni bir örnek oluşturun. İşlem örneğinin durdurulmuşsa, bunu başlatmaya emin olun. Daha fazla bilgi için bkz. Azure Machine Learning Studio'da not defteri çalıştırma.
Yalnızca sizin oluşturtuz işlem örneklerini görebilir ve kullanabilirsiniz. Kullanıcı dosyalarınız VM'den ayrı depolanır ve çalışma alanında tüm işlem örnekleri arasında paylaşılır.
İpucu
Not defterlerinizi test etmek için yeni bir işlem örneği oluşturuyorsanız, işlem örneğinizi Genel Amaçlı oluşturun.
Çekirdek, Azure Depolama Pencerenizin sağ üst kısmında da ML gösterilir. Ihtiyacınız olan çekirdek seçili değilse açılan listeden farklı bir sürüm seçin.
Not defteri sunucunuz oluşturulduktan ve başlatıldıktan sonra not defteri hücrelerinizi çalıştırmaya başlatabilirsiniz. Her hücrede Çalıştır simgesini seçerek not defteri kodunuzu çalıştırın.
Daha fazla bilgi için bkz. Komut modu kısayolları.
Not defteriniz askıda olursa veya baştan başlamak için çekirdeği yeniden başlatarak not defteri hücrelerini en baştan çalıştırabilirsiniz. Çekirdek işlemleri Çekirdeği yeniden > başlat'ı seçin. Örnek:
Önemli
Çekirdeğin yeniden başlatılması tüm değişkenleri ve diğer durumu siler. Başlatma ve kimlik doğrulama hücrelerini yeniden başlattıktan sonra yeniden çalıştırmanız gerekir.
Not defterinize kod çalıştırma
Not defterinde:
- Markdown hücrelerinde HTML ve statik görüntüler de dahil olmak üzere metin bulunur.
- Kod hücreleri kod içerir. Bir kod hücresi seçmenizin ardından hücrenin sol köşesindeki Oynat simgesini seçerek veya SHIFT+ENTER tuşlarına basarak kodu hücrede çalıştırın.
Önemli
Not defteri kod hücrelerini her zaman sırayla çalıştırın. Hücreleri atlama hatalara neden olabilir.
Örneğin, not defterinize aşağıdaki kod hücrelerini çalıştırın:
# 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)
Yukarıda gösterilen örnek kod şu çıkışı üretir:
Congratulations, you just ran this code cell
2 + 2 = 4
Bir not defteri kod hücresinde ayarlanmış değişkenler hücreler arasında kalıcıdır, böylece hücreleri zincirlemezsiniz. Örneğin, aşağıdaki kod hücresi önceki y hücrenin değerini kullanır:
# Note that output from the last line of a cell is automatically
# sent to the output cell, without needing the print() function.
y + 2
Çıkış şöyle olur:
6
Tüm Microsoft Sentinel not defterlerini indirme
Bu bölümde, Microsoft Sentinel GitHub deposunda bulunan tüm not defterlerini, bir Microsoft Sentinelnot defterinin içinden doğrudan Azure ML çalışma alanınıza indirmek için Git'in nasıl ML açıkmektedir.
Microsoft Sentinel not defterlerini Azure ML kolayca güncel tutmanıza olanak sağlar.
Microsoft Sentinel not defterinden aşağıdaki kodu boş bir hücreye girin ve hücreyi çalıştırın:
!git clone https://github.com/Azure/Azure-Sentinel-Notebooks.git azure-sentinel-nbAzure depolama GitHub içeriğinin bir kopyası, Azure ML çalışma alanınız içindeki kullanıcı klasörünüzdeki azure-Sentinel-nb dizininde oluşturulur.
Bu klasörden istediğiniz not defterlerini çalışma dizininize kopyalayın.
Not defterlerinizi son zamanlarda yaptığınız değişikliklerle güncelleştirmek GitHub çalıştırın:
!cd azure-sentinel-nb && git pull
Sorun giderme
Genellikle, bir not defteri çekirdek oluşturur veya çekirdeke sorunsuz bir şekilde iliştirer ve el ile değişiklik yapmanıza gerek yok. Hata asanız veya not defteri çalışmıyorsa, çekirdeğin sürümünü ve durumunu denetlemesi gerekir.
Not defterleriniz ile ilgili sorunlarınız varsa, bkz. Azure Machine Learning not defteri sorunlarını giderme.
Not defteri çalıştırmaları arasında kullanıcı hesapları ve kimlik bilgileri için önbelleğe almayı zorla
Varsayılan olarak, aynı oturum için bile kullanıcı hesapları ve kimlik bilgileri not defteri çalıştırmaları arasında önbelleğe alınmaz.
Oturum süreniz boyunca önbelleğe almayı zorlamak için:
Azure CLI kullanarak kimlik doğrulaması yapma. Boş bir not defteri hücresine aşağıdaki kodu girin ve çalıştırın:
!az loginAşağıdaki çıkış görüntülenir:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the 9-digit device code to authenticate.Çıkıştan dokuz karakterli belirteci seçin ve kopyalayın ve
deviceloginbelirtilen sayfaya gitmek için URL'yi seçin.Belirteci iletişim kutusuna yapıştırın ve istendiğinde oturum açın.
Oturum açma başarıyla tamamlandığında aşağıdaki çıkışı görüyorsunuz:
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'.
Not
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:
Proceed to the cell with the following code and run it:
qry_prov = QueryProvider("AzureSentinel")Eksik Python bağımlılığını () gösteren aşağıdaki iletiye benzer bir uyarı
pygobjectgörüntülenir: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'İşlem örneğindeki tüm not defterlerini ve Anaconda ortamlarını otomatik olarak yüklemek için, GitHub deposundaki Microsoft Sentinel Not Defterleri'nde bulunan aml-compute-setup.sh
pygobjectbetiği kullanın.
İpucu
Not defterinden aşağıdaki kodu çalıştırarak da bu Uyarıyı düzeltebilirsiniz:
!conda install --yes -c conda-forge pygobject
Sonraki adımlar
Not defteri deneyiminizi büyük veri analiziyle tümleştirin Azure Synapse. Daha fazla bilgi için bkz. Not defterlerini Azure Synapse (Genel önizleme) ile tümleştirin.
Microsoft Sentinel GitHub deposunda paylaşılan diğer not defterleri, kendi not defterlerinizi geliştirmede kullanabileceğiniz yararlı araçlar, çizimler ve kod örnekleri olarak tasarlanmıştır.
Geri bildirimleri, önerileri, özellik isteklerini, katkıda bulunan not defterlerini, hata raporlarını veya mevcut not defterlerine yapılan geliştirmeleri ve eklemeleri memnuniyetle karşılarız. Bir sorun veya GitHub oluşturmak ve katkıyı karşıya yüklemek için Microsoft Sentinel veri deposuna gidin.
Azure Log Analytics'te Kimlik Bilgisi Taraması ve Destekli Araştırma - İşlem Uyarıları gibi bazı not defteri şablonlarını keşfederek tehdit avcılığı ve araştırmada not defterlerini kullanma hakkında daha fazla bilgi edinin.
Microsoft Sentinel Not Defteri Şablonları sekmesinde > not > defteri şablonu bulun.
Microsoft Sentinelveri deposunda daha fazla GitHub bulun:
Dizin,
Sample-Notebookshedeflenen çıkışı göstermek için kullanabileceğiniz verilerle kaydedilen örnek not defterlerini içerir.Dizinde, varsayılan Python sürümünü ayarlama, not defterinden Microsoft Sentinel yer işaretleri oluşturma ve daha fazlası gibi kavramları açıklayan
HowTosnot defterleri bulunur.
Daha fazla bilgi için bkz.
- İlk Microsoft Sentinel not defterinizi oluşturma (Blog serisi)
- Öğretici: Kullanmaya başlayın Microsoft Sentinel'de Jupyter not defterleri ve MSTICPy ile çalışma
- Öğretici: Microsoft Sentinel not defterleri - Başlarken (Video)
- Öğretici: Azure ML Studio'dan ayrılmadan Jupyter not defterlerini düzenleme ve çalıştırma (Video)
- Webinar: Microsoft Sentinel not defterlerinin temelleri
- Tehditleri proaktif olarak avlama
- Avlanma sırasında ilgi çekici bilgileri kaydetmek için yer işaretlerini kullanma
- Jupyter, msticpy ve Microsoft Sentinel