Güvenlik

Ne kapatıyoruz, ne kapatamıyoruz

Bu sayfa mimariyi anlatıyor ve sonunda 32 hile senaryosunun bilançosunu veriyor — engellenenler kadar engellenemeyenlerle birlikte.

Temel ilke

Sunucu, doğrulamanın sonucuna güvenmez

1:1 doğrulamaya geçmek, güven sınırını öğrencinin kendi cihazına taşır. Bu klasik bir “istemciye güvenme” problemidir ve adı açıkça konmalıdır: tamamen ele geçirilmiş bir cihazda istemci tarafı hiçbir doğrulama mutlak değildir.

Sunucu “cihaz doğrulandı dedi mi?” diye sormaz. Şunu sorar: bu iddia (a) bütünlüğü kanıtlanmış bir cihazdan, (b) değiştirilmediği kanıtlanmış bir uygulamadan, (c) kurcalanmadığı kanıtlanmış bir şablonla, (d) doğru zamanda ve doğru yerde mi üretildi?

Bunun bir sonucu var: attestation başarısız olursa öğrenci “geçersiz” sayılmaz. Güvenilmeyen kanal kapatılır ve öğrenci öğretmen onaylı yola yönlendirilir. Sistem asla “emin değilim ama var sayayım” demez — ama “emin değilim, o hâlde yok” da demez.

Katmanlar

Dokuz katman

Her katman ayrı bir soruya cevap verir. Hiçbiri tek başına yeterli değildir; bir katmanın çökmesi diğerlerini geçersiz kılmaz.

#KatmanCevapladığı soruMekanizma
1HesapDoğru öğrenci hesabı mı?Kurumsal kimlik + ders listesi eşleşmesi + rıza kaydı
2CihazKayıtlı fiziksel cihaz mı?Donanıma bağlı, dışa aktarılamaz anahtar (StrongBox / Secure Enclave) + cihaz bağlama geçmişi
3UygulamaGerçek ve değiştirilmemiş uygulama mı?Play Integrity / App Attest + paket adı, imza sertifikası özeti, önyükleme durumu
4KimlikTelefonun önündeki doğru öğrenci mi?Cihaz üstü 1:1 yüz doğrulama + canlılık + şablon taahhüdü
5Taze sinyalO anki karekod ve Bluetooth'u görüyor mu?1,5 sn'de dönen nonce + ≤5 sn tazelik + sinyal gücü + sunucu sorusu
6İnsan yedeğiÖğretmen fiziksel olarak doğrulayabiliyor mu?Nokta denetimi + öğretmen cihazında doğrulama + manuel işaretleme
7SüreklilikDers boyunca sınıfta kaldı mı?Rastgele çoklu tur + katılım oranı + erken ayrılma bayrakları
8Zamansal riskDönem boyunca örüntü tutarlı mı?Kural tabanlı risk motoru, 16 sinyal, step-up merdiveni
9DenetlenebilirlikKayıt kaybolduysa öğrenci ispatlayabilir mi?İmzalı makbuz + hash zinciri + oturum Merkle kökü

Katman 1–6'nın altısı da sağlanabilir ve öğrenci hâlâ evde olabilir. Hiçbiri “telefon sınıfın içinde mi?” sorusunu kriptografik olarak cevaplamaz. Röle saldırısı tam burada durur ve onu yalnızca katman 6 kapatır — o da olasılıksal olarak.

Katman 7–8 bu olasılığı zamana yayarak yükseltir. Katman 9 ise yönü tersine çevirir ve öğrenciyi sisteme karşı korur.

Tazelik

Üç bağımsız kanal, tek imza

Öğrenci cihazının ürettiği imza, üç ayrı kaynaktan gelen taze veriyi tek bir imzada birleştirir. Saldırgan kanalları ayrı ayrı değil, aynı beş saniyelik pencere içinde hepsini birden kırmak zorundadır.

KanalFiziksel yolGüven köküNe kanıtlar
K1 · BluetoothRadyo, ~10 mÖğretmen cihazının oturum anahtarıCihaz çapanın menzilinde
K2 · KarekodOptik, görüş hattıAynı oturum anahtarıCihaz çapanın ekranını görebiliyor
K3 · Sunucu sorusuAğ (push / HTTPS)Sunucu — çapadan bağımsızDoğrulamayı yapan, kayıtlı cihazın kendisi; zaman sunucu saatiyle taze

Kritik nokta: K1 ve K2 aynı güven kökünü paylaşır

İkisi de öğretmen cihazındaki oturum anahtarından türer. Farklı fizik kullandıkları için röleye karşı bağımsızdırlar, ama çapa ele geçirilirse ikisi birden düşer. Ele geçirilmiş veya iş birliği yapan bir öğretmen cihazı, kendi anahtarıyla K1 ve K2'yi istediği gibi üretebilir.

K3 tam olarak bu boşluğu kapatır: soru sunucudan doğrudan öğrencinin kayıtlı cihazına gider, çapadan hiç geçmez. Çapa onu ne üretebilir ne tahmin edebilir. Ayrıca soru tek kullanımlıktır ve sunucuda tüketilir; ön hesaplama ve tekrar oynatma imkânsızdır.

K3'ün çözmediği şey: Üçüncü kanal röle saldırısını çözmez. Evdeki öğrencinin telefonu soruyu zaten alır. Kazandığımız tek şey, üç kanalın zaman damgalarının birbirini tutmak zorunda olmasıdır — röle zincirinin penceresi daralır ve tutarsızlık ölçülebilir hâle gelir. Röleye karşı asıl savunma hâlâ öğretmen nokta denetimidir.

Kademeli düşüş — öğrenci cezalandırılmaz

Kurum politikası iki veya üç kanal ister. Öğrencide internet yoksa doğrulama K1+K2 ile tamamlanır ve sonuç aynıdır. Kurum üç kanal zorunlu kıldıysa ve ağ yoksa öğrenci yüz yüze doğrulamaya yönlendirilir, “yok” sayılmaz. Varsayılan iki kanaldır; üç kanal zorunluluğu ağ bağımlılığı yarattığı için varsayılan değildir.

Denetlenebilirlik

Makbuz: yönü tersine çeviren katman

Diğer sekiz katman sistemi öğrenciye karşı korur. Bu katman öğrenciyi sisteme karşı korur.

Makbuzu öğrencinin cihazı imzalamaz

Bu kritik bir tasarım kararıdır: kendi kendine imzalanan bir belge hiçbir şey kanıtlamaz. İmzalayan taraf her zaman öğrenciden başkasıdır — çevrimiçiyken sunucu, çevrimdışıyken öğretmen cihazı (sunucunun oturum açarken verdiği anahtarla, ki sunucu bu imzayı sonradan doğrulayabilir).

Zincir ve oturum kökü

Her makbuz bir öncekinin özetini taşır. Oturum kapanınca tüm makbuzların Merkle kökü imzalanıp yayımlanır. Sonuç:

Öğrenci, elindeki makbuzun imzalı oturum kökünün içinde olduğunu kanıtlayabilir — sekiz özetlik bir yol, yaklaşık 250 bayt. Sunucu kaydında o öğrenci yoksa, kaybın sunucu tarafında olduğu matematiksel olarak gösterilmiş olur.

Bu, “makbuzum var” ile “sistemin beni kaydettiğini ispatlayabiliyorum” arasındaki farktır. Ortadan bir makbuzun sessizce silinmesi zinciri kırar ve tespit edilir; yani bir öğrenciyi listeden çıkarmak iz bırakmadan yapılamaz.

Ne kanıtlar, ne kanıtlamaz

KanıtlarKanıtlamaz
Sistemin o an, o oturumda bu doğrulamayı kabul ettiğini Öğrencinin fiziksel olarak sınıfta olduğunu — röle hâlâ mümkün
Kaydın sonradan kaybolduğunu veya silindiğini Doğrulamayı doğru kişinin yaptığını — bunu 4. katman sağlar

Uzlaştırma proaktiftir. Cihazdaki makbuzlar arka planda sunucu kaydıyla karşılaştırılır; fark bulunursa öğrenci itiraz etmeden önce bilgilendirilir. Bu aynı zamanda sistemin kendi kayıp oranını ölçen bir sağlık metriğidir.

Risk motoru

Skor karar vermez, insana yönlendirir

Diğer katmanlar anlık çalışır. Aynı telefonun iki öğrenci adına imza üretmesi gibi örüntüler ancak dönem boyunca görünür.

Risk skorunun tek çıktısı, “bu doğrulamaya bir insan baksın mı?” sorusunun cevabıdır. Hiçbir skor, band veya sinyal kombinasyonu bir öğrenciyi devamsız yapamaz. Yapabileceği en sert şey, o derste öğretmenin yüz yüze doğrulama istemesidir.

Bu bir politika kuralı değil, mimari bir ayrımdır: yoklama sonucunu yazan kod yolunun risk tablolarına erişimi yoktur ve bu bir testle sürekli denetlenir. Politika kuralları zamanla esner; mimari ayrımlar esnemez.

Neden makine öğrenmesi yok

Etiketli veri yok

Hile nadir ve etiketsizdir. Denetimsiz anomali tespiti “bu öğrenci diğerlerine benzemiyor” der — bu hileyi değil farklılığı yakalar. Engelli, geç gelen, eski cihaz kullanan öğrenci “anomali” olur. Bu, sistemin yapabileceği en olası ve en zararlı hatadır.

Açıklanabilirlik zorunlu

Her bayrak tek cümleyle açıklanabilmelidir: “14 Mart 09:15'te sizin hesabınız için imza üreten cihaz, aynı gün 11:00'de başka bir öğrenci için de imza üretti.” “Model 0,87 verdi” bir açıklama değildir ve itirazda savunulamaz.

Yanlılık denetlenebilirliği

Hangi kuralın hangi grubu daha çok işaretlediği ağırlık tablosuna bakılarak görülür ve tek satırla düzeltilir. Öğrenen modelde aynı düzeltme yeniden eğitim gerektirir ve sonucu garanti değildir.

İki sinyal özel dikkat gerektiriyor

Başarısız yüz denemesi naif hâliyle tehlikelidir. NIST, yanlış ret oranının demografik gruplar arasında 10–100 kat farklılaşabildiğini gösterdi; “çok başarısız deneme = şüpheli” kuralı model yanlılığını doğrudan disiplin şüphesine çevirir. Bu yüzden mutlak oran değil kişinin kendi taban çizgisinden ani sapma ölçülür, sınıf geneliyle normalize edilir ve hiçbir demografik grubun ek doğrulama oranı ortalamanın 1,25 katını aşamaz. Aşarsa sinyal kapatılır.

Sürekli birlikte görülme ham hâliyle neredeyse tamamen yanlış pozitiftir ve grup profillemesine dönüşür — birlikte hareket eden öğrenciler çoğu zaman aynı şehirden, aynı kültür grubundandır. Bu yüzden yalnızca “A'nın varlığı B'ye teknik olarak bağımlı görünüyor” ve en az bir başka sinyal varsa yazılır.

Rastgele taban asla kaldırılmaz

Denetim seçimini tamamen riske bağlamak cazip ama yanlıştır: skorun mantığını çözen bir öğrenci skorunu sıfırda tutup denetimden tamamen kaçar. Bu yüzden her turda, riskten tamamen bağımsız bir rastgele taban uygulanır. Skoru sıfır olan öğrenci bile seçilebilir. Risk motoru rastgeleliği yükseltir, yerine geçmez.

Ayrıca öğrenciye bandı gösterilmez ve ek doğrulama ekranı rastgele denetim ekranıyla aynıdır; aksi hâlde uygulama bir kâhine döner ve eşikler haritalanabilir.

Konum verisi toplanmaz

“İmkânsız yer değişimi” sinyalinin bariz uygulaması konum okumaktır; reddedildi. Sürekli konum takibi yoklama amacı için orantısızdır ve “biyometrik veri cihazdan çıkmaz” duruşuyla çelişen yeni bir hassas veri kategorisi ekler. Sinyal bunun yerine derslik atamaları ve kurumun bir kez tanımladığı bina geçiş matrisinden türetilir. Cihazdan hiçbir konum verisi okunmaz.

Gölge mod zorunludur. Sinyal ağırlıklarının hiçbiri ölçülmemiştir; gerekçeli tahmindir. Motor pilot boyunca sinyalleri yazar ama hiçbir aksiyon almaz; kırmızı takım bilinen hileleri enjekte eder ve yer gerçeği böyle üretilir. Yalnızca kabul kriterlerini geçen sinyaller aktif edilir.

Bilanço

32 hile senaryosu

Her senaryo için saldırı, karşı önlem ve kalan risk yazılıdır. “Engellendi” yazamadığımız yere kısmen veya açık yazılır.

21

Engellendi

Telefon devri, kart devri, basılı fotoğraf, video replay, emülatör, cihaz saati sahteciliği, karekod ekran görüntüsü, Bluetooth tekrar oynatma, yoklama alıp çıkma, geç gelme, çift sayım, sahte çevrimdışı kayıt ve diğerleri.

8

Kısmen

Savunma var ama tam değil. Bunları “engellendi” diye sunmuyoruz.

2

Açık

Tek yumurta ikizleri ve yüz doğrulaması kapalıyken telefon devri.

Kısmen çözülenler ve açık kalanlar

SenaryoDurumNeden tam değil
Röle saldırısı — sınıftaki arkadaş bileti dışarıdakine aktarırKısmenKriptografiyle çözülemez. Beş saniyelik pencere ve sinyal gücü kontrolü daraltır; asıl savunma öğretmen nokta denetimidir ve olasılıksaldır.
Şablon kurcalama — cihazdaki yüz şablonunu değiştirmeKısmenAltı katmanlı savunma var; üçü donanım attestation'ına dayanıyor ve bu henüz prototiplenmedi.
Root / jailbreak + uygulama yamalamaKısmenPlay Integrity ve donanım attestation'ı gelişmiş saldırgan için riski azaltır, sıfırlamaz.
Sanal kamera enjeksiyonu / deepfakeKısmenCihaz üstü işleme yapısal dayanıklılık sağlar ama tehdit hızla gelişiyor; izlenmeli.
3D maskeKısmenCanlılık modeli baskı ve ekranı yakalar; kaliteli 3D maske ayrı bir zorluk seviyesidir.
Çapayı ele geçirme — öğretmen cihazının anahtarını elde etmeKısmenÜçüncü kanal bunu büyük ölçüde kapatır; ancak iki kanal politikasında ve öğrenci ağsızken açık kalır.
Risk motorunu öğrenip kaçınmaKısmenRastgele taban asla kaldırılmaz, dolayısıyla olasılık sıfırlanamaz — ama tam kaçınma engellenemez.
Risk kirletme / iftiraKısmenSinyal eylemi yapana atfedilir ve zayıf sinyaller tek başına aksiyon almaz; koordineli kirletme tespit edilemez.
Tek yumurta ikizleriAçıkTeknolojinin sınırı. Hiçbir yüz tanıma sistemi ayırt edemiyor.
Telefon devri — yüz doğrulama kapalıykenAçıkYakınlık ve karekod yollarında telefon ödünç verilebilir. Nokta denetimi ağırlığı bu öğrenciler için yükseltilir — cezalandırma değil, telafi.

Savunma eklemek yeni saldırı yüzeyi de ekler. Son üç senaryo (risk motorunu öğrenme, risk kirletme, çapayı ele geçirme) risk motoru ve makbuz katmanının kendisine yöneliktir. Net kazanç pozitiftir ama bedelsiz değildir.

Dürüstlük

Sistemin bugünkü durumu

Bu bir akademik araştırma projesidir. Neyin tasarlandığı ile neyin ölçüldüğü aynı şey değildir.

Çalışıyor Sunucu ve panel

Veri modeli, kimlik doğrulama, CSV içe/dışa aktarma, oturum ve tur yönetimi, üç tazelik kanalı, makbuz zinciri ve Merkle kökü, kural tabanlı risk motoru, yönetim paneli. Testlerle doğrulanmıştır.

Çalışıyor Makbuz doğrulaması

İstemci ve sunucu birebir aynı özeti üretir; öğrencinin makbuzunu sunucuya güvenmeden doğrulayabilmesi ortak test vektörleriyle sürekli denetlenir.

Uygulanmadı Yüz doğrulama motoru

Model seçimi yapıldı, ölçüm yapılmadı. Doğruluk, canlılık tespiti ve mobil gecikme Faz 0 ölçüm planında tanımlıdır ama henüz çalıştırılmamıştır.

Uygulanmadı Donanım attestation'ı

Projenin en büyük ölçülmemiş varsayımıdır. Şablon kurcalama savunmasının altı katmanından üçü buna dayanıyor ve hiç prototiplenmedi. Çalışmazsa güvenlik modeli zayıflar ve mimari yeniden değerlendirilir.

Gölge modda Risk motoru

Kurallar yazıldı ve çalışıyor, ancak hiçbir ağırlık ölçülmedi. Motor pilot boyunca sinyalleri yazar ve hiçbir aksiyon almaz. Kabul kriterlerini geçmeyen sinyal aktif edilmez.

Yapılacak Etik kurul ve hukuki onay

Etik kurul başvurusu, ölçülülük değerlendirmesi ve KVKK görüş başvurusu tamamlanmadan gerçek öğrenci verisiyle pilot yapılmayacaktır.