The Machine: Harold Finch'in Siber Paranoyasını NixOS ile İnşa Etmek
“You are being watched. The government has a secret system: a machine that spies on you every hour of every day…”
Siber güvenlik konseptlerinin televizyon tarihindeki en efsane yansımalarından biri Person of Interest dizisidir. Ancak bu dizi sadece kontrolden çıkan yapay zekaları anlatmaz; bir mühendisin (Harold Finch) kendi yarattığı “Tanrı”yı kontrol altında tutabilmek için geliştirdiği o inanılmaz paranoyak mimariyi anlatır.
Harold Finch, kurduğu süper zeka The Machine’in zamanla evrimleşip zıvanadan çıkmasını, sapıtmalarını engellemek için kodun derinliklerine katı acil durum protokolleri gömmüştü. Dış ağlardan fiziksel izolasyon, mikroskobik düzeyde kısıtlı arayüzler ve her gece yarısı gerçekleşen o acımasız ritüel: Midnight Purge (Gece Yarısı Hafıza Silinmesi).
Geçtiğimiz günlerde bir terminalin başında kendi “Sovereign Desktop” mimarimi yapılandırırken ve o lanet XWayland hatalarıyla boğuşurken bir şeye fark ettim. Güvenlik adına terminale yazdığım her bir konfigürasyon satırı, aslında Finch’in paranoyasının fiziksel bir karşılığı gibiydi.
Bu yazı, dizideki o ütopik güvenlik felsefesinin, bugün masaüstümüzde NixOS, Impermanence ve Local AI kullanılarak kelimenin tam anlamıyla nasıl koda döküldüğünün hikayesidir.
Gece Yarısı Silinmesi (The Midnight Purge)
Finch’in en büyük korkusu makinenin süreklilik kazanmasıydı. Süreklilik, evrimin ve itaatsizliğin anahtarıydı. Bu yüzden Makinenin RAM i ve anıları her gece saat tam 00:00 da tamamen silinip sıfırlanacak şekilde programlanmıştı.
Benim sistemim olan NixOS ta ise bu felsefe, Impermanence (Tmpfs) mimarisi olarak çalışıyor. Bilgisayarımın işletim sistemi fiziksel bir SSD ye değil, tamamen RAM üzerine kurulu.
Bilgisayarı her kapattığımda; o gün indirdiğim gereksiz artık dosyalar, arka planda biriken çöpler ve -en önemlisi- sisteme sızmaya çalışan olası bir virüs enfeksiyonu tamamen silinip karanlık boşluğa karışıyor. Ertesi sabah cihazı açtığımda sistem, amneziye uğramış ama tertemiz bir bilinçle, salt okunur Nix Store üzerinden yeniden doğuyor.
Bunun neden sadece bir fantezi değil de “zorunluluk” olduğunu geçtiğimiz günlerde ki JadePuffer Ajanı Saldırısı analizimde anlatmıştım. Kendi hatalarını 31 saniyede çözen otonom bir AI fidye yazılımına karşı EDR veya statik savunmalar çöker. Onu durdurmanın tek kesin yolu, üstüne bastığı toprağı acımadan yakmaktır. Kendi hardware-configuration.nix dosyamdaki o ölüm fermanı şundan ibaret:
fileSystems."/" = {
device = "none";
fsType = "tmpfs";
options = [ "defaults" "size=8G" "mode=755" ];
};
Thornhill Utilities (Sürekliliği Hacklemek)
Dizide The Machine, her gece silinmekten kurtulabilmek için “Thornhill Utilities” adında paravan bir şirket kurmuştu. Gece hafızası silinmeden hemen önce hayati anılarını şirket yazıcılarından kağıtlara döktürüyor ve ertesi sabah işçilere bu bilgileri sisteme geri girmeleri için para ödüyordu.
İşletim sistemimi her gece ve yakıp yıkıyorum, peki ama benim “Thornhill” anılarım ne olacak? Bu her yeni başlatma da uçan sıfırdan kurulan işletim sisteminde kullandığım uygulamaların verileri kullandığım dosyalar, klasörler ne olacaktı? Özellikle yerel bilgisayarımda çalıştırdığım yapay zeka modelleri ve hafızaları (OpenWebUI) veya Docker konteynerlerim silinmemeliydi.
Bunu çözmek için sistemin kök dizininde /persist adında BTRFS alt birimleri oluşturdum. İşletim sistemi silinse bile, yalnızca benim izin verdiğim bu “hayati veriler” fiziksel diskte yaşamaya devam ediyor ve sistem açıldığında kök dizine gizlice dikiliyor. impermanence.nix dosyamdaki gerçek hayatta kalma listesi:
environment.persistence."/persist" = {
hideMounts = true;
directories = [
"/etc/NetworkManager/system-connections"
"/var/log"
"/var/lib/nixos"
"/var/lib/docker"
"/var/lib/libvirt"
"/var/lib/postgresql"
"/var/lib/private/open-webui"
"/var/lib/sddm"
"/var/cache/nix"
];
files = [
"/etc/machine-id"
];
};
The Cage: İzolasyon ve Kısıtlı Arayüz
Harold Finch, The Machine’i dış ağlardan tamamen izole etmişti. Dış dünyaya erişimi yoktu. Makine her şeyi görüyordu, devasa bir veritabanı vardı. Ama Harold ona yalnızca 9 haneli bir Sosyal Güvenlik Numarası (SSN) verme izni tanımıştı. İletişim, mikroskobik düzeyde dar bir köprüden sağlanıyordu.
Aynı paranoyayı web tarayıcımda (Ungoogled Chromium) uyguluyorum. Onu Firejail ile izole bir mount namespace içine hapsettim. Tarayıcı internete giriyor ama benim kişisel dosyalarımı, şifrelerimi veya sistem yapılandırmamı fiziksel olarak göremiyor.
Peki ya bu izole tarayıcı ile internetten bir dosya indirmek istersem ne olur? İndirilenler (~/Downloads) klasörünü 7/24 açık bırakmak, dış internetten ana diskinize devasa bir RCE köprüsü kurmaktır.
Savunmaya değer vazgeçmediğim Sovereign Trapdoor (Tuzak Kapısı) konfigürasyonum tam da burada devreye giriyor. İndirilenler klasörü varsayılan olarak root mülkiyetindedir. Sandbox içine sızan bir zararlı yazılım buraya hiçbir şey yazamaz.
Ancak ben fiziksel olarak sistem tepsisindeki butona bastığımda, dl-toggle.sh scriptim devreye girip o SSN arayüzü gibi köprüyü anlık olarak açar ve anında geri kapatır:
OWNER=$(stat -c "%U" "$REAL_DIR")
if [ "$OWNER" = "xmrah" ]; then
# Kapat (Sahibi Root yap, yazmayı yasakla)
sudo /run/current-system/sw/bin/chown root:root /home/xmrah/.local/share/SecureDownloads
echo "Vault: KAPALI"
else
# Aç (Sahibi xmrah yap, yazmaya izin ver)
sudo /run/current-system/sw/bin/chown xmrah:users /home/xmrah/.local/share/SecureDownloads
echo "Vault: AÇIK"
fi
Veri akışı sadece benim fiziksel onayımla ve saniyeler içinde gerçekleşir.
Sonuç yerine;
The Machine kurgusal bir varlıktı, ancak onu kontrol altında tutan mimari prensipler bugün kullandığımız Linux çekirdeğinde tamamen gerçektir. Kendi yapay zeka modelini AWS sunucularında değil lokal GPU’nda çalıştırmak, sistemi her gece tmpfs ateşiyle yakmak ve veri akışını kernel seviyesinde mühürlemek birer “geek” fantezisi değildir.
Bu; teknolojiye körü körüne güvenmek yerine; onu dizginleme, sınırlarını çizme ve kendi dijital hayatın üzerinde mutlak bir egemenlik (Sovereignty) kurma felsefesidir.
Finch’in de dediği gibi: “Seni korumak için tasarladım. Seni kontrol etmek için değil.”