Aracılığıyla paylaş


Güvenlik ve Çalışma Sırasında Kod Oluşturma

Bazı kitaplıklar, çağıran için bazı işlemler gerçekleştirmek üzere kod oluşturup çalıştırarak çalışır. Temel sorun, daha az güvenen kod adına kod oluşturmak ve daha yüksek bir güvende çalıştırmaktır. Çağıranın kod oluşturmayı etkileyebileceğinden sorun daha da kötüleşir, bu nedenle yalnızca güvenli olarak kabul ettiğiniz kodun oluşturulduğundan emin olmanız gerekir.

Her zaman tam olarak hangi kodu oluşturduğunuzu bilmeniz gerekir. Başka bir deyişle, tırnak içine alınmış dizeler (beklenmeyen kod öğeleri içeremeyecek şekilde kaçış karakterinden çıkarılmalıdır), tanımlayıcılar (geçerli tanımlayıcılar olduğunu doğrulamak için denetlenmelidir) veya başka bir şey olsun, bir kullanıcıdan aldığınız tüm değerler üzerinde katı denetimlere sahip olmanız gerekir. Tanımlayıcılar tehlikeli olabilir çünkü derlenmiş bir derleme, tanımlayıcılarının garip karakterler içermesi için değiştirilebilir ve bu da büyük olasılıkla onu bozar (ancak bu nadiren bir güvenlik açığıdır).

Bu sorunların birçoğundan kaçınmanıza yardımcı olan yansıma yayma ile kod oluşturmanız önerilir.

Kodu derlerken, kötü amaçlı bir programın kodu değiştirmesinin bir yolu olup olmadığını göz önünde bulundurun. Derleyici okumadan önce veya kodunuz .dll dosyasını yüklemeden önce kötü amaçlı kodun disk üzerindeki kaynak kodunu değiştirebileceği küçük bir zaman penceresi var mı? Bu durumda, dosya sistemindeki bir Erişim Denetim Listesi'ni kullanarak bu dosyaları içeren dizini uygun şekilde korumanız gerekir.

Ayrıca bkz.