Steam ve grapejuice Flatpak'lerinde development syscalls izni mevcut. Bu izin bildiğim kadarıyla oyunlardaki hile koruma sisteminden dolayı bir zorunluluk. Mesela Grapejuice bu izin olmadan Roblox'u açamıyor. Ben de merakımdan gittim bir Rootless Podman Container'ı oluşturdum onun içinde Grapejuice Roblox'u çalıştıracak mı diye test ettim ve çalıştırdı. O container sadece benim iGPU'ma ve X11'e erişebiliyordu. Evet Flatpak'le podman Container'ı farklı şeyler. Ama o podman container'ına riskli bir izin vermemem sebebiyle ve buna rağmen Roblox'u çalıştırmasıyla o Syscalls'lara erişse bile container escape durumu oluşmaz diye düşününce benzer mantıkla flatpak içinde development syscalls izninin sandboxing escape ile sonuçlanmayacağını düşündüm. Tabii muhtemelen yanlış düşünüyorumdur.
Bu yorum mesela rahatlıkla sandboxing escape uygulanabileceğini söylüyor. Bu izin gerçekten sandboxing Escape'e mi sebep oluyor? Ayrıca bu izni vermeden oyunları nasıl açabilirim? Sanırsam özel bir Wine patch'inin oluşturulması gerekiliyor. Ama bilmiyorum.
Zar zor buldum. Bu resimdeki sistem çağrılarına izin veriyormuş[1]. Güvenlik açığı demek için ptrace tek başına bile yeterli görünüşe göre[2][3][4].
Pek kimse umursamıyor haklı olarak ama hiç hoş gözükmüyor. Oyunlar sunucu tarafında hile koruması uygulamak yerine client tarafına anticheat bahanesine sığınarak güvenlik açığına sebep oluyor. Keşke wine'ı kurcalayacak bilgim olsa da oyunlara özel bir patch geliştirebilsem ama gücüm yetmiyor.
Aradan 2 yıl geçmiş. Ne öğrendiğimi anlatayım o halde. O izin (geliştirici sistem çağrıları izni) sadece ptrace, personality ve perf_event_open sistem çağrılarına izin veriyor. Bu izin doğrudan sandbox kaçışına sebep olmuyor. Sadece kernel'in saldırı yüzeyini arttırıyor. Şahsen ben gerektiği zaman Bottles Flatpak'ine veriyorum bu izni gönül rahatlığıyla.
Ek olarak o zamanlar Podman konteynırında Roblox'u Grapejuice ile o sistem çağrıları olmadan çalıştırdığımı sanmışım. Podman zaten varsayılan olarak ptrace gibi sistem çağrılarına izin veriyormuş. Kısacası bilgisizliğime verin.