Wikipedia makalesini okudum , ancak ne anlama geldiğinden ve sürüm kontrolüne ne kadar benzediğinden tam olarak emin değilim .
Birinin çok basit terimlerle sandboxing'in ne olduğunu açıklayabilmesi faydalı olacaktır.
Wikipedia makalesini okudum , ancak ne anlama geldiğinden ve sürüm kontrolüne ne kadar benzediğinden tam olarak emin değilim .
Birinin çok basit terimlerle sandboxing'in ne olduğunu açıklayabilmesi faydalı olacaktır.
Yanıtlar:
Bir sandpit veya sanal Çocukların oynayabileceği kum dolu bir alçak ve geniş kap veya sığ depresyondur. Çocuklu birçok ev sahibi, arka bahçelerinde kum çukurları inşa eder, çünkü çoğu oyun alanı ekipmanının aksine, bunlar kolayca ve ucuza inşa edilebilir. Bir "kum havuzu" aynı zamanda bir açık ocak kum madenini de gösterebilir.
Bir yazılım sanal alanı, bir çocuğun oynaması için oluşturulmuş bir sanal alandan farklı değildir. Bir çocuğa sanal alan sağlayarak gerçek oyun alanı ortamını simüle ediyoruz (diğer bir deyişleisolated environment
) ancak bir çocuğun neler yapabileceğine dair kısıtlamalar getiriyoruz. Çünkü çocuğun enfeksiyon kapmasını istemiyoruz veya onun başkalarına sorun çıkarmasını istemiyoruz. :) Sebep ne olursa olsun, biz sadece çocuğun ne için yapabileceği konusunda kısıtlamalar getirmek istiyoruz Security Reasons
.
Şimdi yazılım sanal alanımıza gelince, herhangi bir yazılımın (çocuğun) yürütmesine (oynamasına) izin veriyoruz, ancak yapabilecekleri konusunda bazı kısıtlamalarla. HissedebilirizYürütme yazılımının neler yapabileceği konusunda güvende .
Antivirüs yazılımını gördünüz ve kullandınız. Sağ? Aynı zamanda bir tür sanal alan. Herhangi bir programın yapabileceklerine kısıtlamalar getirir. Kötü amaçlı bir etkinlik tespit edildiğinde, durur ve kullanıcıyı "bu uygulama kaynaklara erişmeye çalışıyor. İzin vermek istiyor musunuz?"
Sandboxie adlı bir program indirin ve bir sanal alan deneyimine sahip olun. Bu programı kullanarak herhangi bir programı kontrollü ortamda çalıştırabilirsiniz.
Kırmızı oklar, çalışan bir programdan bilgisayarınıza akan değişiklikleri gösterir. Sabit disk (korumalı alan yok) etiketli kutu, normal olarak çalışan bir programın değişikliklerini gösterir. Sabit disk (sandbox ile) etiketli kutu, Sandboxie altında çalışan bir program tarafından yapılan değişiklikleri gösterir. Animasyon, Sandboxie'nin değişiklikleri yakalayabildiğini ve bunları sarı bir dikdörtgen olarak gösterilen bir sanal alanda izole edebildiğini göstermektedir. Ayrıca, değişikliklerin birlikte gruplandırılmasının hepsini bir kerede silmeyi kolaylaştırdığını da göstermektedir.
Artık bir programcının bakış açısından, sandbox, uygulamaya izin verilen API'yi kısıtlıyor. Antivirüs örneğinde, sistem çağrısını (işletim sistemi API'si) sınırlıyoruz.
Başka bir örnek, topcoder gibi çevrimiçi kodlama alanları olabilir. Bir kod (program) gönderirsiniz ancak sunucuda çalışır. İçinsafety
sunucunun, Onlar programın API erişim düzeyini sınırlamak gerekir. Başka bir deyişle, bir sandbox oluşturmaları ve programınızı içinde çalıştırmaları gerekir.
Uygun bir sandox'a sahipseniz, virüs bulaşmış bir dosyayı çalıştırabilir ve virüsün tüm kötü amaçlı faaliyetlerini durdurabilir ve ne yapmaya çalıştığını kendiniz görebilirsiniz. Aslında bu, bir Antivirüs araştırmacısının ilk adımı olacaktır.
Bu korumalı alan tanımı, temel olarak test ortamlarına (geliştirici entegrasyonu, kalite güvencesi, aşama vb.) Sahip olmak anlamına gelir. Bu test ortamları üretimi taklit eder, ancak üretim kaynaklarının hiçbirini paylaşmazlar. Tamamen ayrı sunucuları, kuyrukları, veritabanları ve diğer kaynakları vardır.
Daha yaygın olarak, sandboxing'in sanal makine gibi bir şeye atıfta bulunduğunu gördüm - bir makinede çalışan bazı kodları izole ederek temel sistemi etkilememesi.
Daha sıklıkla diğer korumalı alana atıfta bulunuruz .
Her durumda, korumalı alan genellikle izole bir ortam anlamına gelir . Korumalı alanda istediğiniz her şeyi yapabilirsiniz, ancak etkisi korumalı alanın dışına yayılmaz. Örneğin, yazılım geliştirmede bu /usr/lib
, kitaplığınızı test etmek için herhangi bir şeyle uğraşmanıza gerek olmadığı anlamına gelir .