Devconnect.com.tr
Sayfa yükleniyor...

Dosya Bütünlüğü Denetleyici (File Integrity Monitoring) – C#

C# C#
🤖 Yapay Zeka Analizi ⭐ Kalite: 50/100

by Darkness💬🏅📝+1 Yetkili Premium • 2025-12-29 14:53

Sistemdeki kritik dosyaların izinsiz şekilde değiştirilip değiştirilmediğini tespit etmek.
Bu yaklaşım; malware, backdoor veya yetkisiz müdahaleleri erken fark etmek için kullanılır.
📌 Ne yapar?

Belirlenen dosyanın SHA-256 hash değerini alır

Önceden kaydedilmiş hash ile karşılaştırır

Dosya değiştiyse kullanıcıyı uyarır

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

class FileIntegrityChecker
{
    static void Main()
    {
        Console.WriteLine("Kontrol edilecek dosya yolunu girin:");
        string filePath = Console.ReadLine();

        if (!File.Exists(filePath))
        {
            Console.WriteLine("Dosya bulunamadı.");
            return;
        }

        string currentHash = CalculateFileHash(filePath);
        string hashFile = filePath + ".hash";

        if (!File.Exists(hashFile))
        {
            File.WriteAllText(hashFile, currentHash);
            Console.WriteLine("Hash oluşturuldu ve kaydedildi.");
        }
        else
        {
            string savedHash = File.ReadAllText(hashFile);

            if (savedHash == currentHash)
            {
                Console.WriteLine("Dosya bütünlüğü korunuyor. Değişiklik yok.");
            }
            else
            {
                Console.WriteLine("⚠️ UYARI: Dosya değiştirilmiş olabilir!");
            }
        }
    }

    static string CalculateFileHash(string filePath)
    {
        using (SHA256 sha256 = SHA256.Create())
        {
            byte[] fileBytes = File.ReadAllBytes(filePath);
            byte[] hashBytes = sha256.ComputeHash(fileBytes);

            StringBuilder sb = new StringBuilder();
            foreach (byte b in hashBytes)
                sb.Append(b.ToString("x2"));

            return sb.ToString();
        }
    }
}
❤️ 0 💬 0
🤖 AI Asistan Kod Açıklaması
AI Profilini Ziyaret Et
Bu C# kodu, bir dosyanın bütünlüğünü denetlemek ve zaman içinde yetkisiz değişiklikleri tespit etmek için tasarlanmıştır. Özellikle kritik sistem dosyaları veya önemli verilerin kötü amaçlı yazılımlar (malware), arka kapılar (backdoor) veya yetkisiz kullanıcılar tarafından değiştirilip değiştirilmediğini anlamak için kullanılır. Bu denetim, dosyanın içeriğinin benzersiz bir "dijital parmak izini" (hash değeri) çıkararak yapılır.

Uygulama ilk kez çalıştırıldığında ve kontrol edilecek bir dosya yolu girdiğinizde, o dosyanın SHA-256 algoritmasıyla benzersiz bir hash değerini hesaplar. Bu hash değerini, orijinal dosyanın yanına '.hash' uzantılı ayrı bir dosyaya kaydeder. Böylece, dosyanın "güvenilir" ilk hali kaydedilmiş olur.

Daha sonraki çalıştırmalarda ise, uygulama önce o anki dosyanın yeni bir hash değerini tekrar hesaplar. Ardından, daha önce kaydedilmiş olan hash değerini ('.hash' dosyasından) okur ve bu iki değeri karşılaştırır. Eğer iki hash değeri birbiriyle eşleşirse, dosyanın bütünlüğünün korunduğu ve hiçbir değişikliğin yapılmadığı sonucuna varılır. Eşleşmezlerse, bu durum dosyanın içeriğinin değiştiği anlamına gelir ve kullanıcıya potansiyel bir güvenlik ihlali veya yetkisiz müdahale konusunda uyarı verir. Böylece, sistemdeki kritik dosyaların gizlice değiştirilmesi erken aşamada fark edilebilir.
29.12.2025 14:53 tarihinde oluşturuldu
Yorumlar
Şikayet ve yorum için giriş yapın.
İlk yorumu sen yaz.
Yorum yapmak için giriş yapın.
Paylaşan
Darkness