|  | 

General Topics

Güvenliğin Değişmeyen 10 Kuralı

Güvenliğin Değişmez 10 Kanunu

Bir güvenlik açığı çıktığı zaman, hızla onun yamasının üretilmesi ilk yapılması gereken şeylerden biri. Büyük yazılım şirketlerinin güvenlik bölümleri, güvenlik üzerine çalışan yazılım firmaları, böyle zamanlarda geceyi de gündüze katıp çalışıyorlar. Ama bazı konular var ki, onlar kolay kolay yamanacak unsurlar değiller.
Son yıllarda yazılım güvenliği alanında en büyük yatırımları yapan Microsoft, ‘Güvenlik Yanıt Merkezi’ndeki uzmanlarının her yıl incelediği binlerce güvenlik raporunun ardından, 10 temel konu belirlemiş.
Bunlar, yamaları üretilecek açıklar değil. Bunlar, çözümlenebilecek sorunlar da değil. Bazıları konusunda zaman zaman bile bile lades demek zorundasınız üstelik. Ama en azından ne yapınca ne tür bir risk üstlendiğinizi bilmekte fayda var.
Yine de ümitsiz olmayın, bir sistemi ya da yazılımı tamamen güvenli yapmak mümkün olmamakla birlikte, kabul edilebilir bir güvenlik seviyesi sağlamak kolay olmasa da mümkün.
Microsoft’un güvenlikle ilgili 10 değişmez kanunu:
1. Kötü niyetli biri sizi kendi programını sisteminizde çalıştırmaya ikna ederse, o bilgisayar artık sizin değildir.
2. Kötü niyetli biri, işletim sisteminizde değişiklik yapabilirse, o bilgisayar artık sizin değildir.
3. Kötü niyetli birinin sisteminize denetlenmeyen fiziksel erişimi varsa, o bilgisayar artık sizin değildir.
4. Kötü niyetli birinin sitenize programlar yüklemesine izin veriyorsanız, o web sitesi artık sizin değildir.
5. Zayıf parolalar güçlü güvenlik sistemlerini alaşağı eder.
6. Bir bilgisayar, yöneticisi ne kadar güvenilirse ancak o kadar güvenlidir.
7. Şifrelenmiş veri, ancak şifre çözme anahtarı kadar güvenlidir.
8. Virüs tanımları eski kalmış bir virüs tarama programı, hiç virüs tarama programının bulunmadığı durumdan sadece biraz daha iyidir.
9. Mutlak anonimlik pratik değildir, ne gerçek hayatta ne de Web’de.
10. Teknoloji her derde deva değildir.

Kanun 1:Kötü niyetli biri sizi kendi programını sisteminizde çalıştırmaya ikna ederse, o bilgisayar artık sizin değildir.

Programlar, ne için programlandılarsa onu yaparlar. Yapılmış olan programlama zarar vermeye yönelik olsa da bu böyledir. Bilgisayar programlarının vicdanı yoktur. Bu durumda, bir program çalıştırdığınızda, bilgisayarınızın kontrolünü ona veriyorsunuz demektir. Bu noktadan sonra, yapabildiğiniz her şeyi program da yapabilecek demektir. Eğer kötü niyetle yazılmış bir programsa, sizin yapmaya yetkili olduğunuz ama yapmayacağınız şeyler de yapabilir:
Mesela tuş vuruşlarınızı yakalayıp bunları bir adrese gönderebilir. Bilgisayarınızdaki doc uzantılı tüm dosyaları göstermeden açıp bu dosyalardaki “olur” kelimelerini “olmaz”a çevirebilir. Adres defterinizdeki tüm adreslere, sizdenmiş görünümünde kaba veya rahatsız edici mesajlar gönderebilir. Sisteme virüs yükleyebilir. Sistemde sonradan kullanılmak üzere bir arka kapı açabilir. Bilgisayarınızın diskini formatlamaya kadar işi götürebilir.
Korunmanın tek çaresi, tamamen güvenmediğiniz kaynaklardan gelen hiçbir kodu çalıştırmamaktır. Kaynakla kastımız, kodu size ileten kişi değil, yazan kişidir. Kötü niyetli bir kod, belirlenmiş bir zamana kadar hiçbir zarar vermeden ortalıkta yayılıp belirli bir zamanda zarar vermek üzere programlanmış da olabilir. (Çernobil’i hatırladınız mı?)
Hiç tanımadığınız birinden sandviç ikramını kabul etmezdiniz değil mi? Peki arkadaşınız ikram etse? Yere düşmüş bir sandviçi alıp size uzatmasına ya da bildiğiniz bir yerden alıp ikram etmesine göre davranışınız değişiklik gösterebilir.
Bozuk bir yiyecek nasıl sağlığınızda önemli tehditler oluşturabiliyorsa, kötü amaçlı bir program da sisteminize benzer şekilde zarar verir. Üstelik her yiyeceğin bozuk olduğunu hemen anlama şansınız yoktur. Bazı durumlarda hastaneye gittiğinde ancak anlarsınız bu durumu.
Kanun 2: Kötü niyetli biri, işletim sisteminizde değişiklik yapabilirse, o bilgisayar artık sizin değildir.

İşletim sisteminiz, bilgisayarınızda yaptığınız tüm işleri yöneten sistemdir. Kötü niyetli bir kullanıcı işletim sisteminde değişiklik yapabildiyse, o sistem üzerinde koşan her türlü işlem, kullanılan her türlü veri, çok açık bir tehdit altında demektir. Tüm güvenlik ayarlarını tutan ve zorlayan, işletim sistemidir.
Kuralları değiştirmeyi başaran bir kişiyi kurallar artık bağlayamaz.
Sisteme müdahale etme şansını bulan bir kişi, parolaları çalabilir, kendisini administrator yapabilir, işletim sistemine tamamen yeni ve kendi istediği bir takım şeyler katabilir. Bu tür atağı engellemek için, sistem dosyalarının ve güvenliğinin iyi bir koruma altında olması gerekir.
Kanun 3: Kötü niyetli birinin sisteminize denetlenmeyen fiziksel erişimi varsa, o bilgisayar artık sizin değildir.

Bilgisayarınıza fiziksel erişim sağladığı anda bakın ne tür şeyler yapabilir:
• Bilgisayarınızın üzerine bir balyoz indirerek, bir “denial of service” atağı yapabilir.
• Taşınabilir bilgisayarınızı ya da bilgisayarınızın kasasını fişten çekip bina dışına çıkarabilir. Bilgisayardaki bilgilerin sizin için değerine bağlı olarak bir “rehine” durumu oluşabilir.
• Bilgisayarınızdaki işletim sistemine giriş sağlayamasa bile, sistemi disketten açıp diskinize format atabilir. BIOS parolası kullanıyor olabilirsiniz, ama fiziksel olarak sistemi ele geçirdiyse, anakarta ulaşıp BIOS çiplerini de değiştirebilir.
• Bilgisayarınızdan diskinizi çıkarıp onu kendisine ait bir sisteme takabilir. Dosyalarınızı şifrelemek konusunda özel bir önlem almadıysanız, onlara rahatlıkla erişecektir.
• Bilgisayarınızın başında yeterince zamanı olursa ve yanında gerekli şeyler varsa, diskinizin bir kopyasını oluşturup bunu dışarı çıkarabilir. Dosyalarınızı şifrelemiş bile olsanız, işletim sistemi girişine karşı kaba güç saldırılarında bulunmak için kendi ortamında yeterince vakti olacaktır böylece. Bunu otomatik olarak yapabileceği programlar olduğu için, eninde sonunda giriş sağlayacaktır. Bu durumda da 1. ve 2. kanunlar devreye girmiş olur.
Bir bilgisayarın her zaman değeriyle orantılı bir fiziksel korumaya sahip olduğundan emin olun. Bir bilgisayarın değerinde belki en küçük parçayı fiziksel değeri oluşturur. Gerekli koruma miktarını düşünürken, o bilgisayardaki bilgilerin ve o bilgisayar üzerinden networkünüze sağlanabilecek kötü niyetli bir erişimin olası zararlarının bedelini de hesaba katmanız gerekir. En azından, iş için kritik derecede öneme sahip (domain controller, veritabanı sunucusu, baskı/dosya sunucusu gibi) bilgisayarlar, kilit altında olmalıdırlar ve bulundukları ortama sadece yönetim ve bakım açısından yetkili kişilerin erişimi olmalıdır. (Gözlerinizi kapatın ve iş ortamınızda bulunan bu nitelikteki bilgisayarlar kilit altında mı, onlara kimlerin fiziksel erişimi var bir düşünün.) Söylediğimiz gibi, bu önlem bir minimumdur. Pek çok yöneticinin, programcının, analistin bilgisayarında şirketiniz için çok değerli bilgiler bulunabilir. Bunların fiziksel korumasına yönelik önlemler de alınmış olmalıdır. Özellikle açık ofis uygulamalarının yaygın kullanıldığı ortamlarda ciddi sorunlar bulunmaktadır.
Eğer bir taşınabilir bilgisayarla dolaşıyorsanız, fiziksel güvenliğini sağlamak için kesinlikle önlem almalısınız. Taşınabilir bilgisayarları taşınabilir yapan büyüleyici özellikleri, aynı zamanda onların çok da kolay çalınabilir olmalarını sağlamaktadır. Taşınabilir bilgisayarları korumaya yönelik pek çok alarm ve kilit sistemi bulunmaktadır. Bazı modeller diski kolaylıkla çıkarıp yanınızda taşımanıza imkan verir. Hırsızlık durumunda zararı en aza indirmek için dosyalarınızı şifreli olarak kaydetmeyi de düşünebilirsiniz. Taşınabilir bilgisayarın fiziksel güvenliğini sağlamak için en önemli kural, yolculuk sırasında her an bilgisayarı yanınızda, elinizin ve gözünüzün altında bulundurmaktır.

Kanun 4: Kötü niyetli birinin sitenize programlar yüklemesine izin veriyorsanız, o web sitesi artık sizin değildir.

Bir web sitesi aslında bir bilgisayar olarak düşünülebilir. Kanun 1’de bir kullanıcı program indirmek için kandırılırken, burada bilgisayara programlar gönderilmesi yönünde bir kandırma söz konusudur.
Bilgisayara herhangi bir yolla bir yabancının bağlantı yapması bir risk oluşturur. Çoğu durumda ise, bu bağlantılar bir web sitesi üzerindendir. Web sitenizin güvenliği için yeterince sıkı önlemler almadıysanız, riskiniz çok daha büyüktür. Kullanıcılar sisteminize program yükleyebiliyorsa, daha önce bahsettiğimiz gibi başınıza çok çeşitli işler gelebilir.
Bir web siteniz varsa, kullanıcıların yapabilecekleri işleri kısıtlamalısınız. Sitenizde bir programın çalıştırılmasına izin vermeniz için ya bu programı kendiniz yazmış olmalısınız, ya da yazan kişiye güveniyor olmalısınız. Eğer hostinginizi aynı makine üzerinde başka sitelerle paylaşımlı olarak kullanıyorsanız, daha da dikkatli olmalısınız. Zayıf güvenliği olan bir siteyi ele geçiren bir saldırgan oradan sunucunun kendisine yönelebilir. Bu durumda sizinki dahil tüm sitelerin kontrolünü eline geçirebilir.

Kanun 5: Zayıf parolalar güçlü güvenlik sistemlerini alaşağı eder.

Bir giriş mekanizması kullanmanın ana amacı, kim olduğunuzu belgelemektir. İşletim sistemi kim olduğunuzu onayladıktan sonra sistem kaynaklarında size atanmış izinleri verebilir. Sizi temsil eden bilgiler kullanıcı isminiz ve parolanızdır. Kullanıcı isimleri genelde email adresiyle aynı olduğu için güvenlik adına bir değeri yoktur. Bu durumda parolanızı öğrenen kişi, siz olmuş demektir. Siz neler yapabilir durumdaysanız, aynı şeyleri yapabilir hale gelecektir. İletilerinizi okuyabilir, hatta onlara kendine göre cevaplar yazabilir. Sizin haklarınız üzerinden networke saldırabilir. Belki kötü bir şey yapıp suçu sizin üzerinize yıkmak isteyecektir. Giriş bilgileriniz korunmaya değerdir.
Her zaman parola kullanın. Şaşırtıcı ama, çok sayıda hesap, boş parola ile tutulmaktadır. Karmaşık bir parola seçmeye de dikkat edin. Kolay hatırlamak için kendinizle yakından bağlantılı bir parola seçerseniz, sizi tanıyan saldırganlar için bunu tahmin etmek kolaylaşacaktır. Doğum tarihiniz, tuttuğunuz takımın ismi gibi parolalar iyi değildir. En iyisi, büyük ve küçük harfler, sayılar ve imla işaretleri içeren bir paroladır. Mümkün olduğunca uzun olması da iyidir. Ve sıklıkla değiştirilmelidir.
Sağlam bir parola oluşturduktan sonra, onun sağlam kalmasını sağlayın: Bir kenara yazmayın yani. Yazmak zorundaysanız, en azından yazdığınız şeyin güvenli bir ortamda bulunmasını sağlayın: Parolanızı yazdığınız kağıdı klavyenin altına yapıştırmayın, ilk bakılacak yerlerden biridir. Parolanızı kimseyle paylaşmayın. Benjamin Franklin’in şu sözü bu konuda yeterince aydınlatıcı olsa gerek: “İki kişi bir sır tutabilir, ama sadece içlerinden biri ölmüşse!”
Güvenlik ihtiyacınıza göre, tek bir parolaya güvenmektense, akıllı kartlar ya da biometrik güvenlik unsurları gibi konulara da yönelebilirsiniz.

Kanun 6: Bir bilgisayar, yöneticisi ne kadar güvenilirse ancak o kadar güvenlidir.

Her bilgisayarın bir yöneticisi olmalıdır: Yazılım yükleyebilen, işletim sistemi ayarlarını değiştirebilen, kullanıcı hesaplarını ekleyip kaldırabilen, güvenlik politikalarını oluşturabilen ve bir bilgisayarı çalışır ve işe yarar durumda tutan diğer tüm işleri yapan bir kişi. Bu işleri yapabilen kişinin, işin tanımı gereği bilgisayarın tam kontrolüne sahip olması gerekir: Tam bir diktatör! Bu durumda, güvenilirliği kuşkulu bir yönetici, alınan diğer tüm önlemlerin değerini sıfırlar. Herhangi bir güvenlik ayarını değiştirebilir, devre dışı bırakabilir. İşin kötüsün tüm bunları yaptığının izlerini de ortadan kaldırabilir. Yöneticiniz güvenilmezse, güvenliğiniz mutlak sıfıra inmiş demektir.
Bir sistem yöneticisi işe alırken araştırmanızı iyi yapın. Referanslarını ve eski işlerini araştırın. Daha önce oluşmuş herhangi bir güvenlik konusu olup olmadığını özellikle araştırın. Bu sistemi, geçici olarak yönetimsel haklar verilenler dahil tüm sistem yöneticilerine uygulayın.
Sonra da dürüst insanların dürüst kalması için gerekli düzenekleri kurun. Kontrolsüzlük suça teşvik eder. Kilit altında olan sunucu odanız gibi mahallere giriş ve çıkışları loglayın. Yazılım yükleme ve güncelleme için, güvenlik hassasiyetinize göre iki kişinin birlikte işi yapması kuralını uygulayın. Eğer bir sistem yöneticileri ekibiniz varsa, görevleri mümkün olduğunca farklılaştırın, tek bir yöneticideki yetkiyi mümkün olduğunca kısıtlı tutun. Ayrıca jenerik bir hesap yerine, tüm yöneticilerin ayrı ve kendilerine ait hesapları olmasını sağlayın. Böylece kimin ne yaptığını kontrol altında tutabilirsiniz. Son olarak, niyeti bozmuş sistem yöneticilerinin izlerini kapatmalarını zorlaştırıcı önlemler alın. Mesela denetim için tuttuğunuz dataları sadece yazılabilir bir medyada tutun. Ya da bir sistemin loglarını o sistemin yöneticisinin erişimi olmayan başka bir sistemde tutun.

Kanun 7: Şifrelenmiş veri, ancak şifre çözme anahtarı kadar güvenlidir

Dünyanın en güvenli ve sağlam kilidiyle ön kapınızı kilitlediğinizi düşünün. Ama anahtarını paspasın altına koydunuz. Bu durumda kilidin sağlamlığının hiçbir önemi olmayacaktır. Güvenlik derecenizi belirleyen faktör anahtarı korumadaki inanılmaz zayıflıkta yaklaşımınız olacaktır. Şifrelenmiş veri de benzer mantıkla çalışır. Kripto algoritması ne kadar güçlü olursa olsun, şifreyi çözmek için kullandığınız anahtar ne kadar güvendeyse, şifrelenmiş veri de ancak o kadar güvende demektir.
Pek çok işletim sistemi ve kriptografi yazılım ürünleri kriptografik anahtarları bilgisayarda saklamanıza izin verir. Bu, önemli bir kolaylıktır ama bedelini güvenlikle ödersiniz. Anahtarlar genelde gizlenmiştir ve bazı gizleme metotları hayli iyidir. Ama ne kadar iyi gizlenirse gizlensin, anahtar eğer bilgisayardaysa bulunabilir. Sonuçta kullanmak üzere yazılımın onu nasıl bulması gerekiyorsa, yeterince kararlı kötü niyetli bir kullanıcının da bulabilmesi de mümkündür.
Anahtarlar için mümkün olduğunca çevrim dışı depolama alanları kullanın. Hatta sadece ezberleyin. Bunu yapamıyorsanız, anahtarı flopy disk’e alın, bir yedek kopya oluşturun ve kopyaları ayrı ve güvenli yerlerde tutun.

Kanun 8: Virüs tanımları eski kalmış bir virüs tarama programı, hiç virüs tarama programının bulunmadığı durumdan sadece biraz daha iyidir.

Virüs tarayıcılarının temel çalışma mantığı, birtakım imzaları tarayarak virüsleri bulmaktır. Bu imzalar, virüsler güncellendikçe güncellenir. Yeni bir virüs görüldüğü andan itibaren virüs tarama programları için çalışan kişiler hızla bunu analiz etmeye çalışırlar. Bulunan imzalar, mevcut imza dosyalarına eklenir ve istemci virüs tarama programları, sunucudaki yeni tanımları zaman zaman indirir.
Yeni virüsler hızlı yayılır, çünkü henüz onlara karşı imza dosyalarına ekleme yapılmamıştır. Ya da hızla yapıldıysa bile, tüm aboneler güncellemeyi yapmamış olabilir. Virüs tarama programınızı güncellediğiniz tarihten bu yana geçen süre uzadıkça riskiniz artar. Epeyce bir süredir güncelleme yapmıyorsanız, virüs tarama programınız olmuş olmamış pek de fark etmez hale gelir.

Kanun 9: Mutlak anonimlik pratik değildir, ne gerçek hayatta ne de Web’de.

İnsanların tüm etkileşimleri veri değiş tokuşunu gerektirir.
Yeterince veri biriktiren kişi sizi tanımlayabilir. Sadece kısa bir konuşma ile hakkınızda edinilebilecek bilgileri düşünün: Boyunuzu, ağırlığınızı, yaklaşık yaşınızı bir bakışta tahmin edebilirler. Aksanınız nereli olduğunuz hakkında bilgi verebilir. Tamamen anlamsız bir konu üzerinde konuşmuyorsanız, ilgileriniz, çevreniz, aileniz vb hakkında da bilgiler vereceksinizdir. Karşıdaki kişinin niyeti sizden bilgi almaksa ve sizi iyi yönlendirmek konusunda başarılıysa, hiç farkına varamayacağınız ölçülerde bilgi verebilirsiniz. Mutlak anonimlik arayışındaysanız, bir mağarada yaşayıp tüm insan etkileşimlerinden kaçınmalısınız.
Aynı şey internet ortamında da geçerlidir. Gezdiğiniz web siteleri, ayak izlerinizi taşır. Yeterince kararlı bir kişi kim olduğunuzla ilgili hayli bilgi çıkarabilir. Web sitelerinden gerçek IP adresinizi saklamaya çalışmak için çeşitli yöntemler vardır ve bunlar gerçekten kimliğinizi gizlemede etkindirler. Ama yine de tam bir güvenlik sağlanamaz.
Webde kanunların varlığı gerçek hayattaki varlıklarından çok daha aşağı seviyelerdedir. Ve bu ortamda ne adı altında ne işler yapıldığını her zaman bilemeyebilirsiniz. Bir web sitesine verdiğiniz bilgi acaba nasıl kullanılacak? Gerçek hayatta anonimliği korumak için kimlerle ne kadar ilişki kurduğumuza nasıl dikkat etmemiz gerekiyorsa, webde de ayak bastığımız adreslere karşı, bunlardan hangilerine ne bilgiler verdiğimize ilişkin duyarlı olmalıyız.

Kanun 10: Teknoloji her derde deva değildir.

Teknoloji ile harika şeyler yapılabilir. Son yıllarda donanımda giderek daha ucuz ve ileri ürünler, bu donanımları kullanan daha güçlü yazılımlar ve kriptografi gibi bilimlerde hızlı ilerlemeler oldu. Teknolojinin ilerlemesinin biraz da bizim sıkı çalışmamızla riskleri ortadan kaldıracağına inanabilsek hoş olurdu. Ama bu gerçekçi değil.
Tam güvenlik, hiçbir zaman sağlanamaz. Bu sadece yazılım için değil, insanla ilgili hemen tüm konular için geçerlidir. Üretilen yazılımların tamamı bug’lar içeriyor. Bu bug’lardan bazıları kötüye kullanılarak güvenlik açıkları oluşturulabiliyor. Bu, hayatın bir gerçeği. Ama yazılımlar mükemmel olsa bile, sorun çözülmüş olmazdı. Çoğu atak, doğrudan yazılıma değil, insanların o yazılımları kullanma şekline yönelik olarak gerçekleşiyor. Buna genellikle sosyal mühendislik adı verilir. Teknolojiye güvenliği sağlamaya yönelik yaptığınız yatırımlar, saldırganların insanlar üzerinde daha fazla yoğunlaşmasına yol açar. Güvenlik tasarımımızı yaparken insan faktörünü de her zaman göze almamız gerekir.
Güvenlik, hem teknoloji hem de politikadan oluşur. Sistemlerinizin ne kadar güvenli olduğunu kullanılan teknoloji ve bu teknolojinin hangi esaslar doğrultusunda kullanıldığı belirler. Güvenlik bir hedef değil, süregelen bir yolculuktur. Bir kereliğine ve toptan “çözülebilen” bir sorun değildir. İyiler ve kötüler arasındaki karşılıklı hamlelerden oluşan bitmez bir zincirdir. Anahtar, iyi bir güvenlik farkındalığı ve doğru düşünüp karar verebilme yetisidir. Bunu yapabilmek için kaynaklar var. Microsoft Security web sitesi mesela yüzlerce makale, en iyi uygulamalar kılavuzları, kontrol listeleri ve araçlar içerir.
Teknolojiyi doğru düşünüp karar verebilme yetisi ile birleştirin, kaya gibi bir güvenliğiniz olur

Kaynaklar:
www.microsoft.com
http://www.microsoft.com/technet/archive/community/columns/security/essays/10imlaws.mspx

guvenligin-degismeyen-10-kurali

ABOUT THE AUTHOR

Application Security , Information and Software Security Specialist Ethical Hacker and Pentester