ChatGPT ile Splunk Entegrasyonu ve Olay Analizi Gerçekleştirme - SİBER GÜVENLİK EĞİTİMİ

NELER VAR

29 Ocak 2023 Pazar

ChatGPT ile Splunk Entegrasyonu ve Olay Analizi Gerçekleştirme


Herkese merhaba. Son zamanlarda oldukça popüler hale gelen AI projesi ChatGPT ile Splunk'ı entegre edip neler yapabileceğimize bir bakacağız. 

Öncelikle ChatGPT'yi çoğu kez okumamıza, denememize rağmen tekrar ne olduğuna ve neler yaptığına bir bakalım isterim.

ChatGPT Nedir ve Ne İşe Yarar?

ChatGPT, OpenAI tarafından ilk olarak 30 Kasım 2022'de kullanıma sunulan yapay zeka sohbet robotudur. Farklı alanlardaki konuları sisteminde işleyebilen ChatGPT, yanıtlarını kullanıcıların taleplerine göre uyarlayarak daha dinamik ve ilgi çekici konuşmalar yapılmasına olanak tanır. Türkçe de dahil olmak üzere pek çok farklı dilde çalışan bu sistem hem denetimli hem de pekiştirmeli öğrenme teknikleriyle geliştirilmektedir. 

Oldukça popüler hale gelen yapay zeka projesi birçok tartışmaların da önünü açtı. Şöyle ki ChatGPT'nin bazı meslek gruplarının yok olmasına bile neden olabileceği tartışılmaktadır. ChatGPT'yi KPSS sınavına tabii tutanlar bile oldu :) Haberi "https://www.webtekno.com/yapay-zeka-chatgpt-kpss-sorulari-h130336.html" linki üzerinden inceleyebilirsiniz.

Siber güvenlik alanında da oldukça kullanılan ve örneklerini gördüğümüz ChatGPT'yi bir de güvenlik ürünlerinden Splunk ile entegre etmeyi deneyelim. 

Splunk Add-On ve App mantığı ile çalışan güvenlik ürünüdür. Appler sayesinde güncel kalıp, customize edilebilen Add-Onlarla birlikte geniş bir yelpazede kullanılmaktadır. Şöyle ki pandeminin başlarında herkesin uzaktan çalışma ortamına geçtiği dönemde Zoom App'ini geliştirip marketinde yayınlayarak monitoring yapan ekiplerin işini oldukça kolaylaştırmıştır. Günümüzde popüler durumda olan ChatGPT için henüz bir App geliştirilmemiştir ama custom Add-On ve Appler ile birlikte bu ihtiyaç hızlı bir şekilde giderilebilmektedir. Third-party olarak geliştirilen ChatGPT add-on unu Splunk üzerine kurup entegrasyonu gerçekleştirelim. Ayrıca ilgili add-on'a https://github.com/bentleymi/ta-openai-chatgpt linki üzerinden erişip, indirebilirsiniz.

Add-On Kurulumu 

Splunk'ta Add-Onlar logları anlamlandırır ve doğru bir şekilde parse etmemize olanak sağlar. Splunk ara yüzü üzerinde App bölümünden yayınlanmış olan istediğiniz App ve Add-On'u arayıp ücretsiz bir şekilde indirebilirsiniz. Market bölümünde yer almayan app ve add-onları da 2 farklı şekilde Splunk'a yükleyebilmektesiniz. İlk yöntem .spl veya .tgz uzantılı olan add-onları Apps > Manage Apps > "Install app from file" seçeneği ile ara yüzden yükleyebilirsiniz. 


2. yöntem ise mobaxterm ya da winscp uygulamalarıyla Splunk sunucusuna erişip .tgz uzantılı dosyayı tar'dan çıkarıp Splunk uygulamasını restart ederek yükleyebilirsiniz. 


.tgz uzantılı dosyaları <InstallationFolder>/etc/apps pathi içerisinde tardan çıkarmanız gerekmektedir. Tar'dan çıkarma işlemini "tar xvf TA-openai-chatgpt..." komutu ile gerçekleştirebilirsiniz. 


Uygulama restart sonrasında ara yüzden kontrolleri gerçekleştirdiğimizde Add-On'un başarılı bir şekilde yüklendiğini görebilmekteyiz. 

ChatGPT API Entegrasyonu 

ChatGPT ile Splunk entegrasyonunu API key aracılığıyla gerçekleştirmekteyiz. API aracılığıyla ChatGPT robotuna ulaşıp, istediğimiz soruları sorup yanıtlarını Splunk üzerinde görüntüleyebileceğiz. 


Add-On'un setup sekmesine tıkladığımız zaman "Organization ID" ve "API Key" beklenmektedir. Organization ID bilgisini "https://beta.openai.com/account/org-settings" linkinden ve API-Key i de  https://beta.openai.com/account/api-keys linkinden login işlemi sonrasında görüntüleyebilirsiniz. İlgili bilgileri ekledikten sonra entegrasyon tamamlanmaktadır. 

Splunk Search Örnekleri 

Entegrasyonu tamamladıktan sonra search sekmesinden artık chatgpt robotuna istediğimiz soruları sorabiliriz. Ayrıca Splunk içerisinde yer alan datalar ile ilgili de chatgpt ye sorularımızı iletebileceğiz. 

Basit bir soru ile başlayalım o halde. Chatgpt den yanıt alabilmemiz için " | chatgpt org="organizationid" prompt="ilgilisoru" " parametrelerini kullanmanız gerekmektedir.


ChatGPT'ye "Kaplumbağalar kaç sene yaşar" sorusunu ilettiğimizde response olarak text kısmında sorunun yanıtını göstermektedir. 

chatgpt parametresinin hemen ardından "org" komutu zorunludur. "Prompt" komutu ile chatgpt'ye dilediğimiz soruları sorabilmekteyiz. Sorgu çıktısında "chatgpt_model" alanını görmekteyiz. GPT-3 doğal dilleri anlayabilmektedir. Bunu da içerisine 4 main modelle birlikte yapmaktadır. Kullanılan "davinci" modeli en yetenekli modeldir. Dilerseniz diğer modelleri de "https://beta.openai.com/docs/models/gpt-3" linkinden inceleyebilir ve searchte kullanabilirsiniz. Searchün daha hızlı olması için "text-ada-001" modelini kullanabilirsiniz. 

Farklı bir örnekle devam edelim; 

Eval komutu ile word field ı içerisine "Istambul" yazdırıp, yazılan şehri doğru bir şekilde hecelemesini ChatGPT'den yukarıdaki komut ile isteyebiliriz. Search sonucunda görebileceğiniz gibi ChatGPT yanlış yazılan "Istambul" u  "Is-tan-bul" olarak düzeltip hecelemiştir. 

Başka bir örnekle devam edelim. Örneğin Splunk'a aldığımız windows logları için ChatGPT ile analiz gerçekleştirmeye çalışalım. 


4738 Event ID sini ChatGPT ile analiz edelim. Bu logun oluşmasıyla ilgili alarmımızın olduğunu fakat oluştuktan sonra ne gibi önlemler almamız gerektiğini chatgpt ye hızlıca search üzerinden sorabiliriz. Bunun için "index="indexiniz" EventCode=4738 |stats count values(Message) by Message | appendcols [|chatgpt org="org-xxx" prompt="What is the mean 4738 Event Code and what is it recommend to investigate once this event if triggered?" ] |fields chatgpt_response" komutunu kullandım. Bu log üredikten sonra ne yapılması gerektiğini bu şekilde ChatGPT'ye sorabildim. Gelen yanıtı inceleyelim; Yanıtı incelediğimizde öncelikle bu Event ID'nin ne anlama geldiğini açıklamaktadır.

"The mean 4738 Event Code is used to indicate a user account was disabled. It is recommended to investigate the user account that was disabled to determine why it was disabled and by whom. Additionally, it is important to review any related event logs to determine if any suspicious activity occurred prior to the account being disabled"


 4738 Event ID si için bir kullanıcı hesabının devre dışı bırakılmasının ardından oluşan bir event olduğu açıklamasını yapmaktadır. Öneri olarak ise; devre dışı bırakılan kullanıcı hesabının neden ve kim tarafından kapatıldığının araştırılması önerilmektedir. Ayrıca, hesap devre dışı bırakılmadan önce herhangi bir şüpheli etkinlik olup olmadığını belirlemek için ilgili olay günlüklerini incelemenin önemli olduğunu da ChatGPT bizlere söylemektedir. Görüldüğü gibi herhangi bir alarm durumunda hızlıca aksiyon alabilmek için ChatGPT'den faydalanabilmekteyiz. 

Artı yönleri olduğu gibi yapıdaki logları veya olayları chatgpt ile paylaşmak tedirgin etmektedir. Burada da aslında soruyu sorma yöntemini iyi oluşturarak bu tedirginliklerin önüne geçilebileceğini düşünmekteyim.

Sonuç olarak ChatGPT yi birçok alanda faydalı bir şekilde kullanabiliriz. Bunlara güzel bir örnek olarak Splunk'ı gösterebilirim. Splunkta görmek istediğimiz anomalileri, incidentları veya alarmları chatgpt ile geliştirebilir ve uygulayabilirsiniz. 

KAYNAKÇA















Hiç yorum yok:

Yorum Gönder