• Sonuç bulunamadı

Log Analysis in Electronic Records Management System: A Statistical Evaluation

Bahattin YALÇINKAYA

Marmara Üniversitesi Bilgi ve Belge Yönetimi Bölümü Muhammet Emin GEDİKLİ

Marmara Üniversitesi Bilgi ve Belge Yönetimi Bölümü Mehmet Oytun CİBAROĞLU

Bursa Teknik Üniversitesi Bilgi İşlem Daire Başkanlığı Öz

Elektronik Belge Yönetim Sistemlerinin (EBYS) yapısı göz önüne alındığında, log analizi, çok sayıda kullanıcı hakkında davranışsal veri toplamaya yönelik uygun ve basit bir yol olarak göze çarpmaktadır. Loglar, sistem veya ağdaki hareketleri, kullanıcı-sistem arasındaki etkileşimi ve sonuçların arama sürecinde araştırıcı tarafından değerlendirilmesini gözlemlemek için kullanılabilmektedir. Bunun yanında çoğunlukla ilk başta dikkat çekmeyen ve göze çarpmayan insan davranışlarını gözlemlemede, sistem performansı ve kullanımı ile bilgi arama davranışlarının ve bu süreçte meydana gelen sorunların belirlenmesine yönelik istatistiksel analizinde ve kullanıcı ara yüzlerini değerlendirme ve geliştirmede de kullanılmaktadır. Bu çalışmada, yaklaşık 100.000 satırlık veri setinden oluşan kayıt ile Python programlama dili ve Pandas, Scikit-Learn ve Plotly kütüphaneleri kullanılarak çeşitli analizler yapılmıştır. Log kayıtlarında bulunan özel isimler ve organizasyona ait gizli veriler anonim hale getirilerek analiz sonuçları raporlandırılmıştır. Analiz sonuçlarına göre log kayıtlarının EBYS’ler açısından kanıt değeri oluşturma, organizasyonların iş, işlem ve aksiyonlarına dair fikir verme ve kurumsal planlamanın stratejik bir yapıda değerlendirmesi için zemin oluşturma boyutunda önemli bir etken olduğu görülmüştür. Özellikle elektronik arşiv yapılarının oluşmaya başlayacağı yakın zamanda log verilerinin büyük veri analitiği gibi kavramlarla eş zamanlı analizleri ile ilgili başka geliştirmelerin de ortaya çıkması muhtemeldir.

Anahtar Kelimeler: EBYS, Log, Log Analizi, Sistem Analizi Abtsract

Considering the structure of Electronic Records Management Systems (ERMS), log analysis stands out as a convenient and simple way to collect behavioral data about a

large number of users. Logs can be used to monitor movements in the system or network, the interaction between the user and the system, and the researcher's evaluation of the results in the seeking process. Besides, it is used mostly observed in human behaviors that are not noticeable and unobtrusive at first, system performance and usage, information search behaviors and problems in this process to determine the statistical analysis and evaluating and improving user interfaces. In this study, various ERMS log data were analyzed by using Python programming language within the libraries of Pandas, Scikit-Learn and Plotly. Private names in the log records and confidential data of the organization are anonymized and the results of the analysis are reported. According to the results of the analysis, it is seen that log records are an important factor in creating evidence value for ERMS, providing insight into the activities, actions and actions of organizations to create a basis for strategic evaluation of corporate planning. In the near future, especially when electronic archive structures will begin to form, other developments related to simultaneous analysis of log data with concepts such as big data analytics are likely to emerge.

Keywords: ERMS, Log, Log Analysis, System Analysis 1. Giriş

Bilişim sistemleri bağlamında insan davranışlarının iyi bir şekilde anlaşılması -neden belirli bir yazılım kullandıkları ve bununla nasıl etkileşime girebilecekleri gibi- insanların hedeflerine ulaşmalarına yardımcı olan etkileşimli sistemlerin başarılı bir şekilde tasarlanması için gereklidir. Her kullanıcının kendi karakteristik özelikleri vardır ve bir sistemi kullanmak için belirli bir geçmişe, içeriğe, ilgiye ve motivasyona sahip olsa da, sistemin kullanıcıları hakkında genel olarak neyin doğru olduğunu ve hangi davranış kalıplarının ortak olduğunu öğrenmek gerekir (Muresan, 2009, s. 227). Günümüzde kullanılan bilgi sistemlerinin eskiye nazaran çok daha fazla veri ve bilgi üretmesi neticesinde, bu sistemlerdeki kullanıcı hareketleri, sistem denetimleri ve çeşitli entegrasyonların yönetiminin sağlanmasında log kayıtlarının önemi giderek artmıştır. Log kayıtlarının herhangi bir analiz işlemine tabi tutulmadan öylece saklanması, organizasyonlara risk yönetimi, stratejik karar verme ve faaliyet programlama gibi çeşitli boyutlarda herhangi bir avantaj sağlamamaktadır. Burada önemli olan, log kayıtlarının analitik yöntemlerle analiz edilmesi ve verilerin kurumsal ve stratejik karar vermede kullanılacak önemli bir bilgi varlığına dönüşmesidir. Bu sayede organizasyonlar çeşitli faaliyetlerini nasıl yönetmesi gerektiği konusunda bir fikre ve bilgiye sahip olabilir.

Log kayıtları, hem sistem hem kullanım geribildirimleri açısından oldukça önemli ve büyük hacimli bir bilgi kaynağı olup genellikle işletim sistemleri

ile uygulama ve veri sunucularından gelmektedir (Azizi, Azizi ve Elboukhari, 2019, s. 37).

Bu çalışmada, Python programlama dili ve Pandas, Scikit-Learn ve Plotly kütüphaneleri kullanılarak canlı bir EBYS’den alınan log kayıtları; sistem ve kullanıcıların en çok hangi işlemi yaptığı, işlem zaman aralığı ve yoğunluğu, hangi birimlerde hangi işlemlerin yapıldığı gibi analizlere tabi tutulacak, elde dilen bilgiler neticesinde bu bilgilerin kuruma kanıt, aksiyon ve stratejik yönden fayda sağlayıp sağlamadığı değerlendirilecektir. Bunun yanında log kayıtlarını tutmanın önemi ve bunun neticesinde yönetimsel süreçlerin geliştirilmesi konusu tartışılacak ve karakteristik sistem kullanım özellikleri açıklanacaktır.

2. Log ve Log Analizi

Log; uygulama bilgileri, sistem performansı veya kullanıcı etkinliklerinin ayrıntılı listesi olarak tanımlanmasının yanında bilgisayar kullanımı, acil durumlara müdahale ve uygulama geliştirme işlemlerini takip etmek için kullanılmaktadır (Computer Hope, 2017). Geliştirilen çeşitli yazılımların ortak noktaları log kaydı tutmalarıdır. Log analizi ise, yazılım sistemlerinde gerçekleşen olayların detaylarını çeşitli kriterler bazında (tarih, saat, kullanıcı, birim/bölüm vb.) ham olarak sunan ve operatörler ile yöneticilerin işleyişe dair sorunları çözmelerine yardımcı olan bilgilere dönüştürme işlemi olarak tanımlanabilir (Debnath vd., 2018, s. 1052). Log analizi; özellikle veri merkezlerinde güvenlik tehditlerini algılama, uygunluk denetimleri, arıza tespiti işlemleri gibi çeşitli alanlarda kullanılır (Du, Li, Zheng ve Srikumar, 2017; Yu, Joshi, Xu, Jin, Zhang ve Jiang, 2016; ). Logların hızlı ve doğru bir şekilde analiz edilmesi, sistemin çalışmadığı süreleri azaltmak ve sorunlar ortaya çıkmadan önce veya ortaya çıktıktan sonraki süre içinde operasyonel sorunları tespit etmek adına kritik öneme sahiptir. Bir logun yapısı, o logun hızlı ve doğru analiz edilmesini sağlar. Log yapısının tanınması; işlem türü, oluşturma zamanı, belirli bir olayın kaynağı, temel performans göstergelerinin değeri vb. belirli sistem bilgilerinin kolayca anlaşılmasına yardımcı olur. Log yapısı olmadan log analizi, basit bir anahtar kelime tabanlı metin arama aracı haline gelir. Günümüzde log analiz hizmeti veren şirketler, kullanıcıların doğrudan log modellerini belirlemesine veya alan bilgisine dayalı modeller oluşturmasına izin vermektedir (Elastic Stack, t.y.). Gartner raporuna göre (2017), 2020 yılına kadar 20.4 milyar IoT cihazının dünya çapında kullanımda olacağı öngörülmesi ve veri formatlarının genişlemesi neticesinde, log analiz araçlarının yeni log yapılarını tanımlayıp onlara adapte olması ve bilinmeyen anomalileri tanımlamasının daha da zorlaştığı belirtilmektedir (Debnath vd., 2018, s. 1052).

Loglarda yerleşik bulunan veriler, bunlardan elde edilebilecek bilgiler ve bu verilerin hangi amaçlarla kullanılabileceği Tablo 1’de gösterilmiştir.

Elde Edilebilecek Bilgi Detay Hangi Alanlarda Kullanılabileceği Genel İstatistikler Tepe ve Ortalama

Değerler, Medyan, Mod ve Sapmalar Donanım Gereksinimlerini Belirleme, Muhasebe Program ve Sistem Uyarıları Elektrik Kesintisi,

Düşük Hafıza Sistem Bakımı Güvenlikle İlgili

Uyarılar Yazılım Testi

Zamanla İlgili Özellikler Yazılım Dilleri ve Kıyaslama

Nedensellik ve Eğilimler Veri Madenciliği

Davranış Kalıpları Performans ve Güvenilirliğin Belirlenmesi Tablo 1. Log Kayıtlarından Elde Edilebilecek Bilgiler ve Kullanım Alanları

(Valdman, 2001, s. 11) 3. Log Kaydı Çeşitleri

Günümüzde kullanılan yazılım ve sistemlerde, kullanılan programın amaç ve hedefleri doğrultusunda log kayıtları tutulmaktadır. Başlıca log kayıt türleri aşağıdaki gibidir:

 Trafik Logu: Her bir oturumun başlangıcı ve bitişini; tarih-saat, kaynak ve hedef adres(URL) ve portlar; uygulama adı, trafik akışına uygulanan güvenlik kuralı, bu kuralın eylemi (izin ver, reddet veya bırak); hata kaydı gibi veriler/bilgiler bazında gösterir.

 Tehdit Logu: Güvenlik duvarındaki bir güvenlik kuralına eklenmiş güvenlik profillerinden biriyle eşleştiğinde; tarih ve saat; tehdit tipi (virüs veya casus yazılım gibi);tehdit açıklaması veya URL, kaynak ve hedef, adresler ve portlar; uygulama adı; komut işlemi (izin ver veya engelle gibi); tehdit seviyesi (Kritik, Yüksek, Orta, Düşük, Bilgilendirici).  URL Filtreleme Logu: Güvenlik kurallarına eklenmiş URL Filtreleme

Profili ile eşleşen trafik girişlerini görüntüler. Örnek olarak, bir kural belirli web sitelerine ve web sitesi kategorilerine erişimi engellerse veya kullanıcı bir web sitesine eriştiğinde bir uyarı oluşturmak için bir kural yapılandırıldıysa, güvenlik duvarı bir log kaydı oluşturur.

 Veri Filtreleme Logu: Kredi kartı numaraları gibi hassas bilgilerin güvenlik duvarının koruduğu alanı terk etmesini önlemeye yardımcı olan güvenlik kuralları için oluşturulan log kayıtlarıdır. Bu log türü ayrıca dosya engelleme profilleri için de bilgileri gösterir. Örneğin, bir kural, .exe dosyalarını engellerse, log kaydı, engellenen dosyaları gösterir.  Konfigürasyon Logu: Güvenlik duvarı yapılandırmasındaki

yapılan IP adresi, istemci türü, komut durumu (başarılı veya başarısız), yapılandırma yolu ve değişiklikten önceki ve sonraki değerler bazında gösterir.

 Sistem Logu: Sistemin, her bir olay veya hareketini kaydeder. Giriş tarih ve saati, olayın kategorize edilmiş halini ve olay açıklamasını içerir.  Kullanıcı ID Logu: IP adresiyle ilgili bilgileri kullanıcı adı eşlemelerine

ve Kimlik Doğrulama Zaman Damgalarına (eşleme bilgilerinin kaynakları ve kullanıcıların kimliğinin doğrulandığı zamanlar gibi) görüntüler (Log Types and Severity Levels, 2019).

4. EBYS ve Log Yönetimi

Log yönetimi, bir bilgi sistemi içerisinde oluşturulan büyük miktardaki günlük verilerin analiz edilmesini, depolanmasını, arşivlenmesini ve nihai olarak elden çıkarılmasını yönetmek ve kolaylaştırmak için kullanılan toplu süreçler ve politikalar olarak tanımlanabilir (Log Management, t.y.). Özellikle resmi bir işlevi olan kurumsal organizasyonlar ve diğer büyük işletmeler; FISMA, HIBAA, SOX, COBIT, ISO 27001 gibi uluslararası standartlar uyarınca log yönetimini zorunlu olarak yapmaktadır. Ülkemizde ise 04.05.2007 tarihli 5651 sayılı kanunda internet suçlarını önlemeye yönelik olarak kurumların log yönetimi ile ilgili yükümlülükleri belirlemiştir (Akbaş, t.y.).

Bir yazılım olarak EBYS içerisindeki kullanıcıların hareketleri ve tüm işlem detayları (belge hazırlama süreçleri, paraf ve imza aşamaları ve sevk süreçleri, kullanıcı değişiklikleri vb.) log kayıtlarında tutulmaktadır. Elektronik belge yönetimi mantığında, her şeyden önce belgeleri doğru ve verimli bir şekilde sınıflandırmak, depolamak ve erişmek önem arz etmektedir. EBYS’lerde belge oluşturma veya içeriğin değiştirilmesi vb. konularında işlem geçmişi ile ilgili bilgiler loglara kaydedildiğinden, kullanıcıların iş yapma biçimleri, performans değerlendirmesi veya mevcut belge sürümü kontrolünün takibi oldukça kolay ve sistematik bir şekilde yapılabilmektedir.

5. Yöntem

01.07.2019 ile 28.09.2019 tarihleri arasında, canlı bir EBYS uygulamasından alınan yaklaşık 100.000 satırlık log kaydı, Python yazılım dili ve Pandas, Scikit-Learn ve Plotly kütüphaneleri kullanılarak kullanıcı&birim işlem logları, iş akışı logları ve işlem türü logları ile hata loglarından oluşan kayıtlar analiz edilmiştir. Pandas, Python programlama dili için veri yapıları ve veri analiz araçları sağlayan açık kaynaklı bir BSD lisanslı kütüphane olup .csv ve text dosyalarını açmaya ve içerisinde bulunan verileri okuyarak istenen

sonuca kolayca ulaşmak için kullanılmaktadır (Pandas Nedir, 2019). Çalışma kapsamında Pandas Kütüphanesi ile log kayıtlarında veri ön işleme ve temizleme işlemleri yapılmıştır. Bu kapsamda eksik veri olup olmadığı, veri tiplerinin kontrolü ve düzeltilmesi yapılmıştır. Eğer eksik veriler varsa; eksik veri satırını silme, ortalama alma gibi yöntemlerden en uygun olanı seçilerek veriler tamamlanmıştır. Ayrıca her bir sütundaki veri tipleri kontrol edilmiş ve gerek varsa veri tipleri uygun veri tipiyle değiştirilmiştir. Örnek olarak; tarih ve saat içeren sütunlardaki veriler tarih/saat formatına, sayı içeren sütunlardaki veriler sayı tipine dönüştürülmüştür. Bu işlemden sonra, veri üzerinde hangi analizlerin yapılabileceğini görmek için açıklayıcı veri analizi ve temel görselleştirme yapılarak loglar hakkında ön bilgiler edinilmiştir. Scikit-learn, sınıflandırma, regresyon, boyut azaltma ve kümelemeyi içeren makine öğrenmesi görevleri için algoritmalar sağlayan bir kütüphanedir. Ayrıca özellikleri çıkarmak, verileri işlemek ve modelleri değerlendirmek için modüller sağlar (Hackeling, 2014, s. 16). Çalışmada, Scikit-Learn kütüphanesindeki ilgili algoritmalar ile logların sınıflandırma ve kümeleme işlemleri yapılmıştır. Plotly ise interaktif görseller oluşturmaya yarayan kütüphane olup, Pandas içerisinde istenilen veri manipülasyonları gerçekleştirip çeşitli interaktif görseller oluşturulmasını sağlayan kütüphanedir (Şimşek, 2018). Çalışmada, Plotly kütüphanesi ile Pandas’ta ön işleme ve temizlemesi yapılan logların tüm görselleştirmeleri yapılmıştır. Bu kod kütüphanesi içerisinde birçok grafik türü bulunmaktadır ve bunlardan sütun ve çubuk grafik türleri seçilmiştir.

6. Bulgular

07.09.2019 saat 11:33:38 ile 07.09.2019 saat 21:17:44 zamanları arasında tutulan ve 1345 satırdan oluşan ilk log dosyasında, kayıtlarla ilgili şu üstveriler bulunmaktadır:  Kullanıcı Ad  Kullanıcı Soyad  Birim  İşlem Türü  İşlem Tarihi  İşlem Saati  Detaylar  İş Akışı  Platform Bilgisi

Bu log dosyasında yapılan analizler sonucunda sırasıyla şu bulgulara ulaşılmıştır:

6.1. Birim-İşlem Sayıları

Verilen tarih ve saat aralığında birimler tarafından yapılan işlem sayıları aşağıda verilmiştir.

Şekil 1. Birimler ve İşlem Sayıları

Birim 1, 23, 21, 18, 17, 9, 5 ve 3, idari birimleri temsil etmekte; Birim 2, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 19, 20 ve 22 ise akademik birimleri temsil etmektedir. Gerek tablo gerekse grafikten görüldüğü üzere, idari birimlerin EBYS içerisinde daha çok işlem yaptıkları belirlenmiştir. İdari birimler ile karşılaştırıldığında akademik birimlerdeki işlemlerin daha az yoğunlukta olmasının nedeni, akademik birimlerin asli sorumluğunun ders ve araştırma yoğunluklu olmasıdır.

6.1.1. Birim-İşlem Yapan Personel Sayıları

Birim 1, 23, 21, 18, 17, 9, 5 ve 3, idari birimleri temsil etmekte; Birim 2, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 19, 20 ve 22 ise akademik birimleri temsil etmektedir. Gerek tablo gerekse grafikten görüldüğü üzere, idari birimlerde çalışan personelin EBYS içerisinde akademik birimlere kıyasla daha az personel ile daha çok işlem yaptıkları söylenebilir.

Şekil 2. Birimler ve İşlem Yapan Personel Sayıları 6.1.2. İşlem Türü ve Sayıları

Şekil 3’te EBYS belge oluşturma, sevk, e-imza, iade veya sonlandırma gibi işlem türlerinin dağılımları verilmektedir. Bu işlem türlerinden bazıları (Belgenin Numeratörden Numara Alması, Belge Dağıtımının Yapılması,

44 23 204 91 9 222 13 3967 22 73 29 29 31 22 22 7 174 24 55 61 2 82 0 100 200 300 Bir im 1 Bir im 23 Bir im 21 Bir im 18 Bir im 16 Bir im 17 Bir im 9 Bir im 5 Bir im 3 Bir im 2 Bir im 4 Bir im 6 Bir im 7 Bir im 8 Bir im 10 Bir im 11 Bir im 12 Bir im 13 Bir im 14 Bir im 15 Bir im 19 Bir im 20 Bir im 22