Nur suresi 57.ayet ile bilgisayar programcılığı ilişkisi
Bir Bilgisayar Programcısı İçin Nur Suresi 57’nin Mesajı
“Sakın gerçeği yalanlayan nankörleri, yeryüzünde aciz bırakıcı zannetme. Onların varacağı yer ateştir.”
Bir programcı için bu ayet aslında şu dersi verir:
**1. “Sistemi kandırdığını zannetme”
Bir programcının yapabileceği en büyük hata şudur:
Sistemi aldattığını sanmak.**
Bazen:
- hataları loglamaz,
- testleri geçiştirir,
- güvenlik açıklarını görmezden gelir,
- kodu hızlıca çalışır hâle getirir ama sağlam yapmaz.
Dışarıdan program çalışıyor görünür.
Ama içeride hatalar birikiyordur.
Ayet der ki:
“Sistemin sahibi seni aciz kalmış gibi görmez.
Sen kendini akıllı sanırsın; oysa sistem seni izliyordur.”
**2. “Hile yapan güçlü değildir”
Programlama dünyasında hilekâr kod uzun süre ayakta kalmaz.**
Bir programcı hızlı kazanayım diye:
- kısayollar kullanır,
- güvenlik katmanlarını atlar,
- hacky çözümler üretir,
- teknik borcu artırır.
Bu kişi zanneder ki “Ben zekiyim, sistemi alt ediyorum.”
Ayet ise şöyle der:
“Bu zeka değil; bu nankörlüktür.
Gerçeği yalanlayan asla sistemi aciz bırakamaz.”
Yani:
Doğru kod her zaman kazanır.
Yanlış kod eninde sonunda çöker.
**3. “Her kodun bir dönüşü vardır”
Bir programda yazdığın her satır kod gelecekte sana döner.**
- Bug yazarsan bug bulursun.
- Açık bırakırsan saldırı bulursun.
- Ucuz çözüm üretirsen pahalı sorun bulursun.
Ayetin mesajı tam burada programcıya seslenir:
“Hatalı davranışın son varışı ateştir.”
Programlama dilinde bu:
- sistem çöküşü,
- veritabanı bozulması,
- projenin batması,
- kariyerin sarsılmasıdır.
Bu metafor şunu söyler:
Kalitesiz işin cezası vardır.
Ve bu ceza kaçınılmazdır.
**4. “Sistem mimarisi güçlüdür”
Bir programcı bilir ki en derin otorite ‘root’tur.**
Hiçbir kullanıcı:
- root yetkisini aşamaz,
- kernel’i yenemez,
- sistemi aciz bırakamaz.
Ayet der ki:
“Gerçeği inkâr edenler kendilerini güçlü sansalar da sistemi kuran mimar her şeyin üstündedir.”
Programcı için mesaj:
Evrensel yasaları, doğruluk ilkesini, dürüst kod yazmayı hiçe sayanlar, sistemin sahibine karşı galip gelemez.
5. “İşini düzgün yap, çünkü uzun vadeli sonuçlar var”
Bir programcı için yapılacak iş basittir:
- Temiz kod yaz,
- doğruluğa sadık kal,
- testleri yap,
- hile yapma,
- kolaycılığa kapılma,
- mizanı (dengeyi) koru.
Çünkü:
Gerçeği takip edenin yolu açıktır.
Gerçeği inkâr edenin sonu kendi yazdığı hataların ateşidir.
Programcıya tek cümlelik özet
“Yanlış kod uzun süre ayakta duramaz; gerçeği inkâr eden de duramaz. Hile yapan güçlü görünse de sistemi aciz bırakamaz. Doğru kod, doğru karakter gibi sonunda kazanır.”
“Sakın gerçeği yalanlayan nankörleri yeryüzünde aciz bırakıcı zannetme. Onların varacağı yer ateştir. Ne kötü bir varış yeridir.” (Nur 57) – bunu bilgisayar programcılığıyla öyle bir ilişkilendirelim ki hem ayetin ağırlığı, hem hikmet tarafı olsun.
“kod yazmak öğreniyorsunuz ama hakikatin de kodunu çözmek zorundasınız”
NUR 57’Yİ BİLGİSAYAR PROGRAMCILIĞIYLA İLİŞKİLENDİRME
Kardeşlerim, bir program geliştirirken bilirsiniz ki sistemde bazı exploit’ler vardır. Görünürde bir kullanıcı sisteme sızar, kendince yetkileri aşar, güvenlik duvarlarını deldiğini sanır.
Kendini çok güçlü zanneder.
Ama aslında…
Sistem mimarı ona bakar ve der ki:
“Sen sadece açık kapıdan giriyorsun; çekirdek katmana ulaşamazsın. Sonuçta seni karşıladığım yer bir ‘kara liste’ (blacklist) tablosudur.”
İşte Nur Suresi 57’nin anlattığı hakikat, programcıların bu tecrübesiyle birebir aynıdır.
1. “Aciz bırakamazlar” = Sistem mimarisi saldırgana üstün gelir
Bir yazılımda saldırgan, sistemi hack’lediğini sanabilir.
Birkaç modülü bozabilir.
Bir iki fonksiyona izinsiz erişebilir.
Ama sistemin mimarı – yani soyut planda Allah – ona seslenir:
“Sanma ki beni aciz bırakabildin.
Sen sadece sana izin verilen yüzeyde oynuyorsun.”
Nasıl ki:
- Dosya sistemi izinleri,
- Kernel seviyesindeki koruma,
- Root yetkileri,
- Sandboxing,
- Whitelisting
saldırganı sınırlıyorsa…
Ayet de der ki:
Hakikati yalanlayanlar gücü ele geçirdiklerini sanırlar, fakat sistemin çekirdeğini asla avuçlayamazlar.
2. “Nankörler kendini güçlü sanır” = Hatalı yazılım kendi çöküşünü fark etmez
Bir yazılım bozuk olduğunda, yanlış çıktılar verdiğinde bazen bunu fark etmezsin.
Hatalı çalışan süreç kendini başarılı zanneder.
Bazen sistem dışarıdan kusursuz görünür ama içinde:
- sonsuz döngü birikmiştir,
- memory leak büyümüştür,
- deadlock kapıya dayanmıştır.
Dış görüntü insanı aldatır.
Tıpkı ayetteki ifade gibi:
“Gerçeği yalanlayanlar, yeryüzünün verilerini kendi lehine çevirdikçe güçlü olduklarını zannederler.”
3. “Varacakları yer ateştir” = Her exploit’in bir log kaydı ve karşılığı vardır
Sistemde kötü niyetli bir kullanıcı varsa, her hareketi log’a yazılır:
- IP adresi
- zaman damgası
- eriştiği dosyalar
- değiştirdiği parametreler
Her adım kaydedilir.
Bir gün sistemin “security module”’ü devreye girer ve kullanıcıyı karantina moduna alır:
- Hesap bloke edilir,
- erişim kapanır,
- ceza süreci başlar.
Ayet der ki:
“Nankörün son bulacağı yer ateştir”
Programlama diliyle:
“Sistemin güvenlik duvarı en sonunda onu karanlık bir karantina alanına atacak.”
Şimdi düşünün…
Bir hacker, sistemi zorladıkça kendini zeki sanır.
Fakat aslında sadece log dosyasını kabartıyordur.
Biraz sonra firewall onu paketleyecektir.
İşte ayetin “ne kötü bir varış yeridir” ifadesi, yazılım dünyasında cezalı sandbox’ın karşılığıdır.
4. “Hakikati yalanlayanlar aciz bırakamaz” = En yüksek seviye authority her zaman sistem sahibindedir
Yazılımda “superuser” vardır.
“Root authority” vardır.
Üstüne yoktur.
Bir exploit ne kadar ileri giderse gitsin, root izinleri kapalıysa:
- asla çekirdeği ele geçiremez,
- sistemi deviremez,
- mimarı alt edemez.
İşte ayet bize bunu haykırır gibi seslenir:
“Allah’ın koyduğu sistem yasaları değişmez.
Hiçbir hilekâr bu yasayı alt edemez.”
Yani:
- ahlaki yasalar,
- mizan yasası,
- karşılık yasası,
- adalet yasası
tümü bir yazılımın kernel’i gibi çalışır.
Kimse o çekirdeğe hükmedemez.
5. Programlama metaforu ile genel ders
Bir sınıfa hitap eder gibi söyleyeyim:
“kardeşlerim, bir programcı olarak şunu bilin: Bir saldırgan kendini çok şey zanneder, ama kernel seviyesine ulaşamaz. Bir nankör kendini güçlü zanneder, ama kaderin çekirdeğine hükmedemez. İnsanın yaptığı her satır kod log’a yazılır, karşılığı gelir. Nankörlük kısa vadede güçlü görünür fakat uzun vadede kara listeye yazılmış bir kullanıcı gibidir. Ayet bize şunu öğretir: Hakikat mühendisliği öyledir ki, sistemi kuran mimar asla aciz kalmaz. Bütün hesaplaşma sonunda yapılır.”
