[Pardus-kullanicilari] pisi paket kurarken root şifresi neden istemiyor
Onur Küçük
onur at pardus.org.tr
3 Nis 2007 Sal 22:04:13 EEST
> Asagidaki gibi bir senaryo kursak, guvenlik modelinde bir eksiklik var
> diyebilir miyiz?
Evet bu senaryoda bir güvenlik açığı var. Güvenlik modelinde kullanıcı
güvenlik ile ilgili dikkatli davranmıyor, kendine yollanan ne olduğunu
bilmediği dosyayı çalıştırıyor. Bence güvenlik açığı klavye ile sandalye
arasında :)
Şaka bir yana güvenliğin bence en önemli iki şartı "fiziksel güvenlik"
ve "sosyal güvenlik", yani bilinçlendirilmiş kullanıcıdır. Bu ikisindeki
herhangi bir açık, yazılım tarafında aldığınız hemen her önlemi alt
edecektir.
Unutulmaması gereken bir şey, fişi taktığınız andan itibaren "asla"
%100 güvenli bir sistem oluşturamazsınız. Her açıdan yazılımlarınız
süper güvenli bile olsa (ki olmaz) güvenliği etkileyen başka
bileşenlerden (iletişim, kullanıcı vb.) ötürü sisteminiz güvensizleşir.
Güvenlik adına yapabileceğiniz sadece güvenlik problemi daha az bir
sistem oluşturmaktır (dikkat edin daha güvenli demiyorum,
sisteminizdeki bir kritik açık diğer bütün önlemleri geçebilir). Bu
işlemi yaparken de alacağınız önlemler sizi kullanışlılık ve paranoya
arasında seçime zorlar, sisteminizi tasarlarken aradaki dengeyi
sağlamak zorunda kalırsınız.
Masaüstü sistemlerde kullanışlılık bizim için kullanıcıya her iş
yaptığında pencere çıkartıp (bir kağıda yazacağı ya da 12345 olarak
yazacağı) bir parola sormaktan daha önemli. Bunun yanında güvenlik
ile ilgili çalışmalarımızı daha ortada Çomar'ın, Pisi'nin sadece adı
varken yaptığımızı, bu durum için yıllardır tabiri caizse "kafa
patlattığımızı" hatırlatırım. Pardus'un güvenlik konusuna verdiği önemi
güvenlik güncellemelerini yapma hızımıza ve bizim açıkları kapatmamız
ile diğer dağıtımların kapatması arasındaki aylara varan zaman farkına
bakarak da görebilirsiniz.
Bu güvenlik hikayesinde anlaşılmayan bir nokta var. Bir kullanıcının
pardus üzerinde işlem yaparken parola girmeden yapabilmesi demek, root
yetkilerine sahip olduğu anlamına gelmiyor. Çomar üzerinden yapılan
bütün işlemler yine Çomar'ın obje modelinde tanımlanmış olan
işlemlerdir ve sadece o işlem için yetkilendirilmiş kullanıcı
tarafından yapılabilir. Aslında paket konusu en uç nokta, ama mesela
pnp aygıtları yönetebilen birinin yetkisi yoksa ağ ayarlarını
değiştirebilmesi bir yazılım hatası olmadığı sürece (ki henüz böyle bir
durumla karşılaşmadık) mümkün değildir.
> Mumkun mudur? Eger kullancinin bu script'i calistirmasini saglamayi
> basarabilirsek, bu bir guvenlik eksigi olur mu? Ubuntu gibi bir
> linux'ta, yeni bir repo eklenmeye calisildiginda sifre isteyecek ve
> kullanici noluyor yaw diyip uyanabilecektir. Ama Pardus modelinde?
Örneğe gelecek olursak, teorik olarak yapılabilirmiş gibi görünüyor
ancak pratikte geçerliliği yok denecek kadar azdır (güvenliğin hiç bir
sistemde %100 olamaması gibi). Bahsettiğiniz senaryoyu yapabilmesi için
birinin oturup öncelikle bütün pardus alt sistemlerini ezbere biliyor
olması gerekiyor. Gerekli vakti harcadıktan sonra da hazırladığı truva
atının ihtiyaç duyduğu Çomar, Pisi vb. araçların "nokta atış"
sürümlerini tutturması gerekiyor. Bu sürümleri tutturduktan ve
bahsettiğiniz senaryoyu hazırladıktan sonra kritik bilgiler içeren bir
bilgisayarın başına dikkatsiz bir kullanıcının oturması, bu saldırganın
da bu kullanıcıyı bulup yönlendirmesi, "sosyal mühendislik" yapıp
kandırması gerekiyor. Bunlar bana çok akla yatkın gelmiyor. Hadi
diyelim ki her şey yerli yerine oturdu, saldırı başarılı oldu, bu sefer
de kullanıcının yeni depo eklenmesi, paket kurulması gibi işlemleri,
(ki bu arada pisi GUI sini ele geçirmek gibi bir tarif de mümkün değil,
bu iş çok daha farklı ve çok daha karışık yapılmalı), bilgisayarındaki
istenmeyen/beklenmeyen ağ trafiği vb. durumları fark etmemesi
gerekiyor. Sizin anlayacağınız çook uzun bir yol ve araçlarımız sürekli
değiştiği için de kalıcı olması mümkün olmayan bir yol.
Böyle bir sistem hazırlamaya giriştiyseniz, emek - zaman göz önüne
alarak Pardus'a özel bir şey yapmanın da bir anlamı yok. Genel olarak
"yetkili kullanıcıyı nasıl kandırırım" mantığıyla herkesi etkileyecek
bir şey hazırlarsınız, hem daha kullanışlı olur hem de daha kısa sürede
hazırlanır. Örneğin bilgisayara kullanıcı giriş yaptığında çalışacak
basit bir keylogger ile güvenlik sağladığı zannedilen "ben her işlem
yaptığımda ekranda parola soran bir pencere" çıktığında keylogger
parolanızı kaydeder, saldırganın istediği bir yere gerekli bilgileri
ulaştırır, ondan sonra da saldırgan istediği her işlemi yapar. Ne
pardus ne X ne Y fark etmez, işletim sistemi ya da dağıtım ayırt
etmeden bu yapılabilir. Hem de daha kolay hazırlanır.
Bence yazılımlarınızın daha tasarım aşamasında güvenlik göz önüne
alınarak hazırlanması, akıllıca kodlanması, çeşitli güvenlik
incelemelerinden geçmesi, açıkkodlu yani "milyonlarca gözün baktığı"
bir yerde kaynak kodlarının durması gibi kriterler ekrana çıkan bir
parola kutusundan çok daha fazla güvenlik sağlar. Bu parola sorma
meselesi diğer kriterler sağlandığında sadece kullanıcının kendini
güvende hissetmesini, hatta bu sebeple gevşemesini dikkatsizleşmesini
sağlar. Tam Türkçe'ye çeviremediğim "security through obscurity"
terimini araştırmanızı öneririm.
Peki bahsettiğiniz senaryonun önüne geçebilecek yöntemler yok mu ?
Tabi ki var. Uygulayabileceğiniz bir kaç yöntem;
- Sisteminde kritik bilgiler saklayıp da bu senaryodaki gibi sosyal
saldırıları fark edemeyecek kullanıcılara "yetki vermeyin".
- Kendinizden bile çekiniyorsanız ve illa parola yazmak istiyorsanız
kendinize de yetki vermeyin, sistem araçlarını kdesu ile çalıştırın.
- Paranoya seviyesinde güvenlik sizin için önemli ise yine depomuzdan
apparmor kurun ve kullanın, bu ve benzeri pek çok senaryonun mümkün
olmamasını garanti eder. Sistem takibi ve koruması adına çok kapsamlı
ve çok detaylı bir araç setidir.
Sistem izleyici yetki kısıtlayıcı daha pek çok başka yöntem de mevcut,
ama paranoyanın da sonu yok. Şu an ki sistemimizde yapmak istediğimiz,
henüz oturtamadığımız araçlar, yöntemler vs. mevcut ve bu konular
üzerinde çalışmalarımız sürüyor. Ancak sizin de olması gerektiğine
inandığınız değişiklikler / iyileştirmeler varsa hata.pardus.org.tr
adresinden ilgili yazılımın geliştiricisine bildirebilirsiniz.
Listenin konusunun çok dışına çıktık ama umarım açıklayıcı olmuştur.
--
Onur Küçük Knowledge speaks,
<onur.--.-.pardus.org.tr> but wisdom listens
Pardus-kullanicilari mesaj listesiyle ilgili
daha fazla bilgi