Güvenlik analizi: Sisteminizde harici komut dosyaları kullanmanın tehlikeleri

  • Meşru web sitelerinde, reklamlarda ve belgelerde yer alan harici komut dosyaları, diske dokunmadan kötü amaçlı kod çalıştırmak için kritik bir araçtır.
  • JavaScript ve PowerShell gibi diller, aşırı izinler ve yanlış yapılandırmayla birleştiğinde XSS, dosyasız ve yatay hareket saldırılarına olanak tanır.
  • Bu riskleri azaltmak için girdilerin doğrulanması, üçüncü taraf komut dosyalarının sınırlandırılması, yorumlayıcıların kullanımının güçlendirilmesi ve çerezlerin, belirteçlerin ve hassas verilerin korunması gerekmektedir.
  • İyi geliştirme uygulamaları, kullanıcı eğitimi ve SAST/SCA araçları, WAF ve sürekli izleme kombinasyonu, riski kontrol etmenin anahtarıdır.

Güvenlik analizi

Günlük olarak kodla çalıştığınızda, yalnızca "çalışmasını" sağlamaya odaklanıp önemli bir şeyi unutmak çok kolaydır: Uygulamanız kontrolünüz dışında olan kodlarla iletişim kurmaya başladığında ne olur?Üçüncü taraf komut dosyaları, harici kütüphaneler, reklamlar, analiz araçları, tedarikçi entegrasyonları… bunların hepsi geliştirici için kolaylık sağlasa da, en tehlikeli ve tespit edilmesi zor saldırılara da kapı açıyor.

Tarayıcınızda veya sisteminizde harici bir komut dosyasının çalışmasına izin verdiğiniz an, yazmadığınız bir koda çok büyük bir güven duyuyorsunuz. Ve saldırganlar bunun farkında. Kötü amaçlı komut dosyaları ve "dosyasız" saldırılar, tercih edilen saldırı yöntemlerinden biri haline geldi. Veri çalmak, belleğe kötü amaçlı yazılım yüklemek veya diskte minimum iz bırakarak ya da "şüpheli" ekler kullanarak altyapınıza sızmak gibi eylemler söz konusu olabilir. Uygulamalarınızın ve sistemlerinizin kolay bir hedef olmaktan öteye geçmesini istiyorsanız, bu riskleri iyice anlamanız şarttır.

Harici komut dosyası tam olarak nedir (ve neden bu kadar hassas)?

Özünde, bir senaryo şudur: başka bir program tarafından yorumlanan bir kod parçası: bir tarayıcı, PowerShell yorumlayıcısı, VBScript motoru, Python yorumlayıcısı vb. Derlenmiş bir yürütülebilir dosyanın aksine, bir betik genellikle düz metindir (ancak çoğu zaman şaşkın (bilinçli olarak) ve sistemde zaten mevcut olan bir yorumlayıcı tarafından anında yürütülür.

Güvenlik bağlamında harici komut dosyalarından bahsettiğimizde, esas olarak iki senaryoyu kastediyoruz: web'den gelen kod (JavaScript, PDF'lere gömülü komut dosyaları, Office makroları, HTA, vb.) ve Sistem üzerinde çalışan betik kodu (PowerShell, bash, VBScript, Python, vb.) kullanıcı tarafından, başka bir program tarafından veya bir güvenlik açığı yoluyla çalıştırılır.

Bu senaryoların güzelliği (ve sorunu) şu ki... Tamamen meşru araçlara güveniyorlar.Tarayıcınızın JavaScript çalıştırması gerekiyor; Windows, PowerShell ve WMI içeriyor; birçok şirket yönetim işlemlerini komut dosyalarıyla otomatikleştiriyor. Bir saldırganın yapması gereken tek şey, bu iş akışına sızmak ve sizin kullandığınız yetenekleri çok daha kötü amaçlar için yeniden kullanmaktır.

İlgili makale:
FileFort Backup, FTP sunucusundaki tüm belgelerin, fotoğrafların ve müzik klasörlerinin yedeğini oluşturun

Meşru sitelerin tehlikeye girmesi: Sorunun en sinsi yönü

Günümüzün en tehlikeli saldırı yöntemlerinden biri, şu durumun kullanılmasıdır: Tamamen yasal web sitelerine yerleştirilmiş kötü amaçlı komut dosyaları Güvenliği tehlikeye atılmış bir kullanıcı. Kullanıcı en sevdiği medya kuruluşuna, bankasına veya bir haber sitesine girer ve kendi hatası olmaksızın, tarayıcısı üçüncü bir tarafça enjekte edilen kodu alır ve çalıştırır.

Bu kod genellikle şu şekilde olur: gizlenmiş ve iyi kamufle edilmiş Meşru kütüphaneler, reklamlar veya üçüncü taraf araçlar arasında yer alır. Çoğu durumda, bunun bir parçasıdır. istismar kitleri (Neutrino, zamanındaki Angler ve diğer daha modern olanlar) tarayıcıda, eklentilerde (Flash, Java, PDF) hatta işletim sisteminde ve yardımcı uygulamalarda güvenlik açıklarını otomatik olarak tespit edebilen araçlar.

Doğru güvenlik ihlali ve izin kombinasyonu oluştuğunda, komut dosyası bir dosyayı indirip çalıştırır. yükFidye yazılımları, Truva atları, botlar, kripto para madencileri veya saldırganın ilgisini çeken diğer herhangi bir kötü amaçlı yazılım. Bunların hepsi olabilir. kullanıcının özellikle alışılmadık bir şeye tıklaması olmadanSadece bir banner veya tehlikeli bir komut dosyası içeren bir sayfa yüklemekten çok daha fazlası.

Malvertising: Truva atı olarak reklamcılık

Kampanyaları amaçlı reklamcılık Bunlar, harici komut dosyası istismarının oldukça açık bir örneğidir. Saldırganın büyük bir web sitesini doğrudan hacklemesine gerek yoktur: sadece şu kadarı yeterlidir: Reklam ağına zararlı reklamlar yerleştirmek Bu web sitesinin kullandığı reklamlar, güvenlik açığı içeren sayfalara yönlendiren veya doğrudan tarayıcıda kod çalıştıran komut dosyaları içerir.

Uluslararası alanda önde gelen ülkelerde, benzer vakalar yaşandı; Enjekte edilen reklamlar, Angler veya Neutrino gibi istismar kitlerini çalıştırıyordu.Bazı olaylarda, özellikle kullanıcı eklentilerin veya tarayıcının eski sürümlerini kullanıyorsa, saldırganın cihazın kontrolünü ele geçirmesi için basit bir banner'a tıklamak yeterli olmuştur.

Buradaki sorun, geçişli güvenle ilgili: ana site, yetkiyi devrediyor... üçüncü taraf komut dosyaları ve içerik (Reklam ağları, analiz sağlayıcıları, sosyal medya araçları) sayfanın geri kalanıyla aynı güvenlik bağlamında yüklenir. Bu bağlantılardan biri bozulursa, saldırgan meşru kodla aynı ayrıcalıklarla istediği her şeyi enjekte edebilir.

İstemci tarafı komut dosyaları: güç ve saldırı yüzeyi

İstemci tarafı programlama—JavaScript, TypeScript, HTML5, CSS ve diğer web dilleri—modern web'in motorudur. Onun sayesinde, şunlara sahibiz: Dinamik formlar, SPA'lar, etkileşimli haritalar, gerçek zamanlı gösterge panelleri vb. Ancak tüm bu gücün bir de dezavantajı var: Bu kod her kullanıcının tarayıcısında çalışıyor, tamamen görünür ve değiştirilebilir durumda.

  Windows için Nisan ayı yamaları 167 güvenlik açığını düzeltiyor.

Bu, herhangi bir istemci tarafı komut dosyasının şu anlama geldiği demektir: saldırgan için doğrudan bir hedefXSS, CSRF güvenlik açıkları veya CORS ve CSP'nin yetersiz uygulamalarından yararlanarak, onu inceleyebilir, tersine mühendislik yapabilir, çalışma zamanında manipüle edebilir, API çağrılarını engelleyebilir veya hatta kendi kodunuzu enjekte edebilirsiniz.

Güvenli olmayan istemci tarafı komut dosyalarıyla ilişkili tipik sorunlar şunlardır: Siteler arası komut dosyası çalıştırma (XSS)Çapraz site istek sahteciliği (CSRF), ön uçta belirteçlerin ve hassas verilerin ifşa edilmesi, DOM aracılığıyla kod enjeksiyonları ve tarayıcı konsolundan uygulama durumunun doğrudan manipülasyonu.

Güvenlik analizi

XSS: Kendi ön uç uygulamanız size karşı döndüğünde

Çapraz Site Komut Dosyası Çalıştırma (XSS) web güvenlik açıklarının başında gelmeye devam ediyor. Kavram basit: Saldırgan, uygulamayı kullanarak kendi kontrolündeki bir komut dosyasını diğer kullanıcılara iletmesini sağlıyor.Bu komut dosyası, mağdurların tarayıcısında meşru web sitesi koduyla aynı izinlerle çalışır.

Tipik vektörler arasında yorum alanları, kullanıcı profilleri, URL'lerdeki parametreler veya uygulamanın topladığı herhangi bir veri yer alır. Temizleme ve uygun kodlama yapılmadan yansıtılıyorEğer bu çıktı HTML'ye olduğu gibi eklenirse—ya da daha kötüsü, şu gibi özniteliklere eklenirse: onclick veya tarafından innerHTML "Saldırgan gizlice bir etiket yerleştirebilir." <script> veya daha karmaşık bir yük.

XSS saldırı kodunu eline geçiren saldırgan şunları yapabilir: çerezleri ve oturum belirteçlerini çalmakKullanıcı adına eylemleri simüle edebilir, arayüzünüzü taklit eden kimlik avı formları dağıtabilir, kullanıcının gördüklerini değiştirebilir veya etkilenen kullanıcı bir yöneticiyse arka uca yönelmek için saldırıları zincirleme olarak gerçekleştirebilirsiniz.

Office dosyalarındaki, PDF'lerdeki ve diğer belgelerdeki komut dosyaları

Harici komut dosyaları yalnızca tarayıcılar aracılığıyla gelmez. Saldırganlar yıllardır bunu istismar ediyor. Office belgelerinde, PDF'lerde ve diğer görünüşte zararsız formatlardaki makrolar ve komut dosyası mekanizmaları."Açılması zorunlu" ibaresi bulunan ekli dosyalar içeren e-postalar, hâlâ oldukça karlı bir fırsat olmaya devam ediyor.

Office söz konusu olduğunda, klasik yöntem gizlenmiş bir VBA makrosu içeren bir belgedir ve bununla bağlantılı riskler de mevcuttur. Ofis Komut DosyalarıBu makro, kullanıcı etkin içeriği etkinleştirdiğinde çalışır ve genellikle şu komutu çağırır: PowerShell komut dosyaları, WScript, HTA veya diğer sistem bileşenleri Zararlı yazılımı indirip belleğe yüklemek için kullanılır. Birçok fidye yazılımı ailesi sisteme bu şekilde girmiştir.

PDF dosyaları ise şunları içerebilir: Gömülü JavaScript Belirli okuyucuların çalıştırdığı komut dosyaları. Eğer okuyucu veya tarayıcı eklentisinde güvenlik açıkları varsa, bu komut dosyası bunları kullanarak kod çalıştırabilir. Tekrar belirtmek gerekirse, .exe dosyasına gerek yoktur; her şey zaten kurulu bileşenlerdeki komut dosyaları ve güvenlik açıkları kullanılarak yapılır.

PowerShell, bash ve benzerleri: diske dokunmadan sistem üzerinde çalışan betikler.

Sistem ortamında PowerShell, VBScript, bash, Python veya Perl gibi diller son derece güçlü yönetim araçlarıdır. İşte tam da bu yüzden, Gelişmiş tehdit grupları ve dosyasız kötü amaçlı yazılımlar bunları çok sever.Çalıştırılabilir bir dosya bırakmak yerine, tamamen bellekte çalışan bir komut dosyasını enjekte ederler veya indirirler.

PowerShell bunun en iyi örneklerinden biridir. Günlük olarak BT görevlerini otomatikleştirmek için kullanılır, ancak aynı zamanda... Belleğe zararlı DLL'ler yüklemek, kimlik bilgilerini çıkarmak, ağda yatay olarak hareket etmek veya şifrelenmiş bir C2 sunucusuyla iletişim kurmak gibi eylemler gerçekleştirilebilir.Tüm bunlar, yalnızca standart, genellikle gizlenmiş işlevler kullanılarak ve geleneksel bir antivirüsün tespit edebileceği açık bir kötü amaçlı yazılım izi bırakmadan gerçekleştirilir.

Aynı durum Linux ortamlarındaki bash veya Python betikleri ve macOS'taki AppleScript için de geçerlidir. Bir forumdan kopyalanan basit bir komut veya güvenilir olmayan bir depodan indirilen bir betik sisteminizde çalışabilir. göründüğünden çok daha fazlasıArka kapıları açmaktan kritik ayarları değiştirmeye kadar.

Dosyasız saldırılar ve klasik antivirüs yazılımlarından kaçınma yöntemleri

Saldırgan için en önemli avantajlardan biri, bu komut dosyalarının saldırı başlatmalarına olanak sağlamasıdır. neredeyse hiçbir şeyi diske yazmadanSaldırı, web, e-posta veya RDP üzerinden gelir, doğrudan belleğe ek kod indiren bir PowerShell veya JavaScript komutu çalıştırır, bunu meşru bir işleme enjekte eder ve işlem tamamlanır. Sistemi yeniden başlattığınızda, izlerin çoğu kaybolur.

Son yıllarda yapılan araştırmalara göre, Gözlemlenen saldırıların %40'a kadarı artık "dosyasız" veya yoğun olarak komut dosyası tabanlıdır.Zararlı yazılım bellekte yer alır, Microsoft veya diğer satıcılar tarafından imzalanmış işlemleri kullanır ve mshta.exe, wscript.exe, powershell.exe, rundll32.exe vb. gibi meşru araçlara dayanır.

Bu senaryoda, neredeyse tamamen şuna bağlı olan ürünler diskteki dosyalardaki imzalar Dezavantajlı bir konumda oynuyorlar; şu gibi karşılaştırmaları gözden geçirmek faydalı olacaktır: Windows Defender güvenlik karşılaştırması Sınırları ve alternatifleri anlamak için. Tespit daha sonra sezgisel tekniklere ve davranışsal analize bağlıdır: şüpheli komut dizeleri, gizlenmiş parametrelerle yorumlayıcılara yapılan çağrılar, garip ağ bağlantıları, hassas API'lerin kullanımı vb.

Aşırı yetkilendirme ve kötü yapılandırma: zararlı komut dosyasının en iyi dostu

Genellikle hafife alınan bir husus da şu etkidir: aşırı ayrıcalıklara sahip hesaplarBirçok Windows ortamında, çoğu kullanıcı hala yerel yönetici olarak veya Kullanıcı Hesabı Kontrolü (UAC) yetkilerini son derece düşük seviyelerde kullanarak çalışmaktadır. Kötü amaçlı bir komut dosyası bu kimlik bilgileriyle çalışırsa, sürücüleri, hizmetleri yüklemek, kayıt defterini değiştirmek veya güvenlik kontrollerini devre dışı bırakmak için serbestçe hareket edebilir.

  Chrome'da ciddi Gemini güvenlik açığı: Neler oldu ve kendinizi nasıl koruyabilirsiniz?

Kadar basit bir şey UAC'yi orta/yüksek seviyeye ayarlayın ve yönetici ayrıcalıkları olmayan hesaplarla çalışın. Günlük görevler için bu, birçok komut dosyasının etkisini önemli ölçüde azaltacaktır. Komut dosyası çalışsa bile, ayrıcalıklarını kolayca yükseltemezse zarar verme yeteneği büyük ölçüde sınırlı kalır.

Aynı durum sunucular, konteynerler ve bulut ortamları için de geçerlidir: aşağıdaki gibi hizmetleri çalıştırmak rootUygun olmayan yerlerde yazma izinleri vermek veya ortamlar arasında anahtarları ve belirteçleri paylaşmak, çok büyük bir potansiyel alan açıyor. Güvenliği ihlal edilmiş herhangi bir komut dosyası yön değiştirebilir. başlangıçtaki kapsamının çok ötesine.

Sisteminizde harici komut dosyaları kullanmanın başlıca tehlikeleri

Yukarıdakilerin tümü, uygulamanız veya altyapınız harici komut dosyalarına bağlı olduğunda oldukça somut bir dizi riske dönüşür:

  • Rastgele Kod Yürütme (RCE): XSS, makrolar, PowerShell komut dosyaları, HTA veya okuyucu ve tarayıcılardaki güvenlik açıkları aracılığıyla saldırgan, kullanıcının veya hatta sistemin ayrıcalıklarıyla komutlar çalıştırabilir.
  • Veri ve kimlik bilgisi hırsızlığı: Tarayıcıdaki komut dosyaları çerezleri okuyabilir, yerel depolama ve API yanıtları; sistem komut dosyaları şifreleri, belirteçleri, API anahtarlarını, hassas dosyaları toplayabilir ve bunları uzak bir sunucuya aktarabilir. Hesap sızıntılarını kontrol etmek için, aşağıdaki önlemlerin alınması önerilir: Hesaplarınızın sızdırılıp sızdırılmadığını kontrol edin. şüphe üzerine.
  • Oturum ve kimlik ele geçirme: İyi yerleştirilmiş bir XSS açığı veya ele geçirilmiş bir üçüncü taraf komut dosyası, oturum belirteçlerini, JWT'leri ve çerezleri çalabilir. korumasız Hatta sahte formlardaki kimlik bilgilerini bile ele geçirebilirler.
  • Yanal hareket ve süreklilik: İçeri girdikten sonra, yönetim komut dosyaları (PowerShell, WMI, bash) ağı keşfetmenize, diğer makinelere yayılmanıza, arka kapılar kurmanıza ve kalıcı erişim sağlamanıza olanak tanır. Kılavuzları inceleyin. kalıcı tehdit yönetimi Bu durumların etkilerini azaltmaya yardımcı olur.
  • Kripto para madenciliği ve kaynakların kötüye kullanımı: Web sitelerindeki kötü amaçlı komut dosyaları veya yüklenen uzantılar, kullanıcılarınızın veya sunucularınızın işlemci ve grafik işlemcilerini izniniz olmadan kullanarak veri madenciliği yapabilir, performansı düşürebilir ve ekipmanın ömrünü kısaltabilir.
  • Web sitesi tahrifatı ve içerik manipülasyonu: XSS, güvenliği ihlal edilmiş eklentiler veya değiştirilmiş harici komut dosyaları, kullanıcının gördüğü içeriği değiştirebilir, sitenize reklam, kimlik avı veya sahte içerik ekleyebilir.
  • Kontrollerden kaçınma ve karmaşık adli analiz: Bellekte çalıştıkları ve meşru araçlar kullandıkları için, komut dosyası tabanlı saldırılar diskte ve günlüklerde daha az belirgin iz bırakır; bu da onların daha sonra tespit edilmesini ve analiz edilmesini zorlaştırır.

Harici komut dosyalarıyla güvenli bir şekilde çalışmak için en iyi uygulamalar

Burada amaç tüm dışsal senaryoları şeytanlaştırmak değil, çünkü gerçek şu ki Modern uygulamaların çoğu bunlara dayanmaktadır.Amaç, örtük güveni en aza indirmek ve tüm kritik noktalarda makul kontroller uygulamaktır.

Windows 11'i güvenlik için yapılandırın
İlgili makale:
Windows 11'i nasıl güvenli tutabilirsiniz: ipuçları ve profesyonel ayarlar

1. Ön yüzü güçlendirin ve hangi işlemlerin yürütüleceğini kontrol edin.

İstemci tarafında amaç, ister sizin ister üçüncü bir tarafın yazdığı kötü amaçlı bir komut dosyasının verebileceği zararı en aza indirmektir:

  • İstemci ve sunucu tarafındaki girişleri doğrular ve temizler. İstemci tarafındaki filtreler kullanıcı deneyimini iyileştirir, ancak gerçek güvenlik sunucudadır. Yine de, mümkün olan yerlerde filtreleme, birçok basit XSS ve enjeksiyon saldırısını önlemeye yardımcı olur.
  • Çıkış karakterini kullanın ve çıktıyı her zaman kodlayın. HTML'de görüntülediğiniz tüm kullanıcı verilerinin doğru şekilde kaçış karakterleriyle belirtilmesi gerekir. HTML'yi şu şekilde oluşturmaktan kaçının: innerHTML ham tellerle.
  • Çevrimiçi komut dosyalarından kaçının. JavaScript kodunu doğrudan HTML özniteliklerine veya bloklarına koymayın. <script> Mümkünse gömülü dosyalar kullanın. Harici dosyaları kullanın ve daha sıkı İçerik Güvenlik Politikalarından yararlanın.
  • Düzgün bir CSP (Bulut Hizmet Sağlayıcısı) uygulayın. Komut dosyalarının nereden yüklenebileceğini sınırlayan ve yasaklayan bir İçerik Güvenlik Politikası tanımlayın. eval ve blok inline-script Kesinlikle gerekli olmadığı durumlar hariç.
  • HttpOnly ve SameSite ile güvenli çerezler kullanın. Oturumlar için çerezleri şu şekilde işaretleyin: Secure, HttpOnly y SameSite=Lax o Strict Onları XSS ​​ve CSRF saldırılarına karşı korumak için.
  • Güvenlik başlıklarını uygulayın. HSTS, X-Content-Type-Options, X-Frame-Options ve benzeri araçlar, birçok komut dosyası tabanlı saldırının kolayca kullandığı kapıları kapatmaya yardımcı olur.

2. İstemci tarafı komut dosyası yönetimini güçlendirir.

Uygulamanın mantığına ek olarak, ön uç bağımlılıkları da izlenmelidir:

  • Üçüncü taraf komut dosyalarının sayısını en aza indirin. Her ek bileşen, CDN veya SDK yeni bir saldırı yüzeyidir. Bunları yalnızca gerçekten gerekli olduklarında yükleyin.
  • Sürüm ayarlarını yapın ve alt kaynak bütünlüğünü (SRI) kullanın. CDN'lerden komut dosyaları yüklerken öznitelikleri kullanın. integrity y crossorigin İçeriğin değiştirilmediğinden emin olmak için.
  • Kütüphaneleri ve çerçeveleri güncel tutun. React, Angular, Vue, jQuery vb. kütüphanelerin daha yeni sürümlerinde birçok XSS ve benzeri güvenlik açığı yamalanmıştır. Eski sürümleri kullanmaya devam etmek, bilinen güvenlik açıklarını açık bırakır.
  • Uzantılarınızı ve eklentilerinizi düzenli olarak kontrol edin. Hem kurumsal tarayıcılarda hem de sunucularda (CMS eklentilerinde) gereksiz her şeyi kaldırır ve güvenlik uyarılarını izler.
  Windows 11 KB5074109 güncellemesi, UNMOUNTABLE_BOOT_VOLUME hatasıyla önyükleme hatalarına neden oluyor.

3. Sistemde komut dosyalarının (PowerShell, bash…) kullanılmasını sağlayın.

İşletim sistemi alanında kilit nokta şudur: En az ayrıcalık ilkesini uygulayın ve davranışları izleyin.:

  • Bu, kimin hangi işlemi gerçekleştirebileceğini sınırlandırır. Kullanıcıları ihtiyaçlarına göre segmentlere ayırın: günlük olarak komut dosyalarına ihtiyaç duyanlar, yalnızca ara sıra ihtiyaç duyanlar ve hiç ihtiyaç duymayanlar. Gereksiz yorumlayıcıları, bunlara ihtiyaç duymayan profillerde engelleyin.
  • PowerShell ve diğer yorumlayıcıları kısıtlar. Yalnızca imzalı komut dosyalarına veya kontrollü yollarda bulunan komut dosyalarına izin vermek için Yürütme Politikası, AppLocker veya eşdeğer alternatifler kullanın.
  • Makroları varsayılan olarak devre dışı bırakın. Bu özellikler yalnızca bunları gerektiren kullanıcılar ve belgeler için etkinleştirilmeli ve tercihen dijital olarak imzalanmalıdır.
  • Kesinlikle gerekli olmadıkça yönetici hesaplarıyla çalışmayın. Günlük görevleri standart hesaplarla gerçekleştirin ve ayrıcalıklı kimlik bilgilerini belirli, kontrollü görevler için saklayın.
  • Şüpheli komutları izler. Base64 dizeleri içeren PowerShell dizileri, alışılmadık alan adlarından indirmeler, komut çalıştırma mshta, wscript o rundll32 Anormal olaylar, bir şeylerin ters gittiğinin açık işaretleridir.

4. İstemci ve sunucudaki hassas verileri koruyun.

Senaryolar araç olduğuna göre, veri ödüldür. Zorlaştırın:

  • Token'ları ve anahtarları ön uçta göstermekten kaçının. JavaScript'te, genel değişkenlerde veya statik kodda gizli bilgiler saklamayın. İstemci tarafındaki her şey görünür durumdadır.
  • Doğru şekilde şifreleyin ve güçlü anahtarlar kullanın. İletim halindeki veriler için iyi yapılandırılmış bir TLS kullanın; depolanan veriler için ise güncel algoritmaları ve modları (AES-GCM, parolalar için Argon2/bcrypt vb.) kullanın.
  • Token tabanlı kimlik doğrulamasını doğru şekilde kullanın. JWT ve benzeri protokoller güvenli anahtarlarla imzalanmalı, makul geçerlilik sürelerine sahip olmalı ve güvensiz algoritmalar kullanmamalıdır. Her zaman HTTPS kullanın.
  • Açık kutu şifreleme veya gizleme yöntemlerine yalnızca ek bir katman olarak güvenin. Komut dosyalarını gizlemek, tersine mühendisliği zorlaştırır ancak güvenli bir tasarımın yerini tutmaz.

5. Destekleyici araçlar: Her şeyi "gözle" görmeye çalışmayın.

Modern bir sistemin işlediği kod ve komut dosyası miktarı göz önüne alındığında, her şeyi manuel olarak incelemek gerçekçi değildir. Mantıklı yaklaşım şudur: Güvenlik araçlarını geliştirme ve işletme döngüsüne entegre edin.:

  • Statik analizörler (SAST) ve güvenlik linterleri. ESLint, Semgrep vb. güvenlik eklentileriyle birlikte, aşağıdakiler gibi tehlikeli kalıpları tespit edebilir: evalHTML veya shell komutlarının güvenli olmayan şekilde birleştirilmesi.
  • Güvenlik açığı tarayıcıları ve SCA. Hem ön uç hem de arka uç uygulamalarınızdaki bağımlılıkları, bilinen CVE'lere sahip kütüphaneler açısından analiz eder ve güvenli sürümlerini önerirler.
  • WAF'lar ve trafik izleme. İyi bir web uygulama güvenlik duvarı, tipik XSS ve enjeksiyon girişimlerini anında engelleyebilir ve alışılmadık kalıpları görmenizi sağlayabilir; bu nedenle aşağıdakilerle desteklemeye değerdir: güvenlik duvarındaki özel kurallar.
  • Sertleştirme aletleri ve RASP. Çalışma zamanı kendi kendini koruma, gizleme, kurcalama ve bütünlük izleme, yüksek risk altındaki istemci uygulamalarına ek savunma katmanları ekler.
  • Geliştirici dostu güvenlik platformları. Modern çözümler, SAST, SCA, gizli tarama ve CI/CD yapılandırmasını entegre ederek şu olanakları sunar: erken teşhis ve genellikle otomatik iyileşme Komut dosyaları ve bağımlılıklarla ilgili güvenlik açıkları.

Organizasyonel değişiklikler: komut dosyası güvenliği sadece "BT" çalışanları için değil.

Kodunuz ne kadar kusursuz olursa olsun, eğer kuruluş düşünmeden ekleri açmaya veya e-postayla gelen her komut dosyasını çalıştırmaya devam ederse, sürekli olarak sorunları çözmekle uğraşacaksınız. Bu çok önemli. kullanıcıları ve ekipleri eğitmek Komut dosyalarının özel risklerine ilişkin olarak:

  • Periyodik eğitim. İnsanların şüpheli e-postaları, beklenmedik makroları, garip açılır pencereleri ve "sihirli" forum komut dosyalarını nasıl tanıyacaklarını bildikleri anlamına geliyor.
  • Açık kullanım politikaları. Neler yüklenebilir, komut dosyaları nereden indirilir, makrolar nasıl yönetilir, etkileşimli PowerShell'i kimler kullanabilir, vb.
  • Ağ ve cihaz segmentasyonu. Bir komut dosyası bir bilgisayarın güvenliğini tehlikeye atmayı başarırsa, o bilgisayarın tüm iç ağa doğrudan erişimi olmamalıdır.
  • 7/24 izleme ve müdahale. Kötü amaçlı bir komut dosyasının çalışmasını ne kadar erken tespit ederseniz, verileri taşıma, şifreleme veya dışarı sızdırma için o kadar az zamanı olur.

Özetle, harici komut dosyaları modern geliştirmede güçlü ve kesinlikle gerekli bir araçtır, ancak özellikle ele geçirilmiş meşru web siteleri, kötü amaçlı reklamlar ve yanlış yapılandırılmış ortamlarla birleştiğinde, saldırganlar için ayrıcalıklı bir giriş noktasıdır.

İlgili makale:
OSX Mavericks, Mac'inize belirli bir uygulamayı yüklemenize izin vermiyor, nasıl yapılacağını öğrenin

İzinleri azaltmak, yüklenen kodu kontrol etmek, davranışı izlemek ve tüm bunları geliştirme döngüsüne entegre edilmiş güvenlik araçları ve süreçleriyle desteklemek. Bu, "işleyen" bir altyapı ile birileri onu bozmaya çalışsa bile çalışmaya devam edebilen bir altyapı arasındaki farkı yaratır. Bilgiyi paylaşın, böylece diğer kullanıcılar da konu hakkında bilgi sahibi olsunlar.