5 puan yazan GN⁺ 2024-07-16 | 1 yorum | WhatsApp'ta paylaş
  • Bilgisayar güvenliği; ürünlerin, konferansların, kitapların ve yasa tasarılarının sürekli arttığı bir alan olsa da tekrarlanan başarısızlıkların kökünde Default Permit ve Enumerating Badness gibi yanlış temel varsayımlar var
  • Temel sorun, “neye izin verileceğini” dar biçimde tanımlamak yerine “neyin engelleneceğini” sonsuzca kovalamaya dayanan yapı; güvenlik duvarları, kod çalıştırma ve solucanlara müdahalede Default Deny seçilmezse saldırganlarla bir silahlanma yarışına girilir
  • Kötü şeyleri listeleme yaklaşımı, 75.000’den fazla virüsü ve her ay 200–700 yeni tehdidi takip etme biçimidir; bu da gerçekte gereken yaklaşık 30 meşru uygulamayı yönetmeye dayanan Enumerating Goodness’a göre verimsizdir
  • Zafiyet bulup yama yapma yöntemi, hacklemeyi havalı biçimde tüketen kültür ve kullanıcı eğitimine yaslanan stratejilerin hepsi tasarım kusurlarını azaltmak yerine olay sonrası müdahaleyi tekrarlar
  • Yeni teknolojileri hemen benimsemek yerine bekleyip doğrulamak daha güvenli olabilir; güvenlik uygulayıcıları modadan çok sağduyulu tasarımı ve şüpheci tutumu öncelemelidir

Güvenlik başarısızlıklarına yol açan “iyi fikir karşıtı” yaklaşımlar

  • Bilgisayar güvenliğinde yeni ürünler, yeni konferanslar, yeni kitaplar ve yeni yasa tasarıları sürekli ortaya çıkıyor; ancak sorunlar tekrarlanıyor
  • “Aptalca fikir”, iyi fikrin karşı tarafında yer alan bir yaklaşımdır; imkânsız bir şeyi yapmaya çalışınca ya da gerçekliği görmezden gelince ortaya çıkar
  • Bu tür yaklaşımlar iyi niyetli yanlış anlamalardan da doğabilir, hızlı para kazanmak için iyi paketlenmiş ürünlerden de
  • Altı fikir, sık görülme sırasına göre düzenlenmiştir; özellikle ilk üçünü önleyebiliyorsanız az sayıdaki seçkin güvenlik uygulayıcısından biri sayılırsınız

1. Default Permit: Varsayılan izin

  • Default Permit, açıkça yasaklanmamış her şeye izin verme yöntemidir; en kolay güvenlik duvarı kurallarında fark edilir
    • İlk dönem ağ yöneticileri yalnızca gelen telnet, rlogin ve FTP’yi engelleyip geri kalanına izin verirdi
    • Her yeni zafiyet keşfedildiğinde yöneticinin engelleyip engellemeyeceğine karar vermesi ve hacklenmeden önce yetişmesi gerekirdi
    • 1990’lardaki solucanların ortaya çıkmasıyla bunun ortadan kalkması gerekirdi; ancak birçok ağ hâlâ segmentasyonu olmayan açık çekirdek yapısına sahip
  • Kod çalıştırmada da aynı sorun tekrarlanır
    • Kullanıcı tıkladığında varsayılan olarak her şey çalışır; çalıştırma ancak antivirüs ya da casus yazılım engelleyici durdurursa reddedilir
    • Gerçekte sık kullanılan uygulamalar yaklaşık 15, ara sıra kullanılanlar ise yaklaşık 20–30 tane olmasına rağmen işletim sistemi virüs ya da casus yazılım çalıştırmaya varsayılan olarak izin verir
  • E-banking güvenlik projesi bunun ters yaklaşımını kullandı
    • Yük dengeleyici, yalnızca bilinen saldırıları kara deliğe göndermek yerine doğru URL listesiyle eşleşmeyen tüm trafiği, görseller ve 404 sayfaları sunan kilitli bir sunucuya gönderdi
    • Bu, yalnızca bilinen saldırıları engelleyen Default Permit değil, normal yapının dışına çıkan istekleri reddeden bir yaklaşımdı
  • Saldırganlarla silahlanma yarışı içindeyseniz bu, Default Permit’e düştüğünüzün işaretidir
  • Karşıt kavram olan Default Deny uygulamada adanmışlık, düşünme ve anlayış gerektirir; ancak daha iyi yaklaşımdır

2. Enumerating Badness: Kötülüğü listelemek

  • Enumerating Badness, bilinen tüm kötü şeyleri listeleyip bunları tespit etme ya da engelleme yöntemidir
  • Başlarda bilinen güvenlik açıkları az olduğu için mümkün görünüyordu; ancak 1992 civarından itibaren internetin “kötü şeyleri”, “iyi şeylerinden” çok daha fazla hâle geldi
    • Tipik bir antivirüs ürünü 75.000’den fazla virüsü bilir
    • Bir kişisel bilgisayarda kurulu meşru uygulamaların yaklaşık 30 olduğu varsayılır
    • 30 meşru uygulamayı takip edip geri kalanının çalışmasını engellerseniz casus yazılım, virüs, uzaktan kontrol truva atı ve sık kullanılmayan önceden kurulu kod çalıştırma exploit’leriyle ilgili sorunları birlikte azaltabilirsiniz
  • Bazı sektör analizlerine göre internette her ay 200–700 yeni “kötü şey” ortaya çıkıyor
  • Kurumsal ağların karmaşık olduğu ve meşru uygulamaları anlamanın zor olduğu itirazına karşı, CTO teknolojinin ne yaptığını kabaca bile bilmiyorsa kapasite planlaması, felaket planlaması ve güvenlik planlaması yapamaz deniyor
  • 1994’te bir güvenlik duvarı ürününün log analizi ilk başta kötü koşulları arama yöntemiydi; ikinci sürüm ise Artificial Ignorance kullandı
    • İlginç olmadığı bilinen loglar atılır
    • Kalan loglar ilginç kabul edilir
    • Bu yaklaşım, akla gelmeyecek operasyon koşullarını ve hataları tespit etti
  • Antivirüs, saldırı tespiti, saldırı önleme, uygulama güvenliği ve derin paket incelemeli güvenlik duvarları çoğu zaman bu yönteme dayanır
  • Düzenli imza güncellemesi gerekiyorsa ya da sistem ilk kez görülen solucanı geçiriyorsa bu, Enumerating Badness işaretidir
  • Çare Enumerating Goodness’tır; ancak işletim sistemlerinde bu tür yazılım düzeyi kontrol desteğinin neredeyse hiç olmadığı düşünülür

3. Penetrate and Patch: Sız ve yama yap

  • Penetrate and Patch, güvenlik duvarı, yazılım, web sitesi gibi şeylere dışarıdan saldırarak kusur bulma, kusuru düzeltme ve sonra tekrar arama döngüsüdür
  • Bu yöntem tasarım açısından daha iyi sistemler değil, deneme yanılmayla sertleşmiş sistemler üretir
  • Richard Feynman’ın Personal Observations on the Reliability of the Space Shuttle yazısı, karmaşık sistemlerde güvenilirliğin nasıl sağlanması gerektiğini gösteren bir okumadır
    • Ana mesaj, “hacklenebilir olacak şekilde tasarlanmamış bir sistem hacklenebilir olmamalıdır” fikrine daha yakındır
  • Zafiyet açıklama ve yama güncellemesi modası da bu yaklaşıma dayanır
    • Zafiyet araştırmacısı, açıkları hacker’lardan önce bulup düzelttirdiği için topluluğa yardım ettiğini düşünür
    • Üretici, hacker’lar ve solucan yazarları kullanmadan önce yama çıkardığı için doğru şeyi yaptığını düşünür
    • Ancak kod en baştan güvenli ve güvenilir tasarlansaydı zafiyet bulmak sıkıcı ve getirisi düşük bir iş olurdu
  • Internet Explorer’da 10 yıl boyunca her ay 2–3 güvenlik hatası çıktıysa, Penetrate and Patch’in etkili olduğunu söylemek zordur
  • PostFix, Qmail gibi bazı uygulamaların yetkileri ve işlemleri modülerleştirecek ve bölümlere ayıracak şekilde tasarlandığı, bu yüzden güvenlik hatası geçmişlerinin çok az olduğu düşünülür
  • Sızma testlerinin de aynı sınırları vardır
    • Temel tasarımı ya da güvenlik uygulamaları yanlış olan ağlar, defalarca sızma testi yapılsa da hacklenmeye devam eder
    • En baştan yalnızca belirli yönlerin, belirli trafiğin ve dikkatle yapılandırılmış sunucuların geçmesine izin verecek şekilde tasarlanmış ağlarda genel sızma testleri anlamsız olabilir
  • Her seferinde “haftanın hatasına” karşı savunmasızsanız Penetrate and Patch’e düşmüş durumdasınız demektir
  • Yazılım ve sistemler secure by design olmalı ve kusur yönetimi düşünülerek tasarlanmalıdır

4. Hacking is Cool: Hacklemek havalıdır düşüncesi

  • Hacking is Cool, hacker’ları hisse opsiyonları, kitaplar, kurslar ve yüksek ücretli sızma testleriyle ödüllendiren ya da yücelten kültüre yönelik bir eleştiridir
  • Donn Parker, uzaktan bilişimin suçta fiziksel yakınlık gereksinimini ortadan kaldırdığını; anonimlik ve mağdurla yüz yüze gelmemenin suçun duygusal bariyerlerini düşürdüğünü düşünür
  • Hackleme teknik bir sorundan çok toplumsal bir sorundur
    • İnternet, sosyal yönü zayıf insanlara yeni bir etkinlik alanı sunar
    • Güvenlik uygulayıcıları hacker’ları kahramanlaştırırsa hacklemeyi örtük olarak teşvik etmiş olur
    • Medya hacker’ları zaman zaman “whiz kids” ya da “brilliant technologists” olarak resmeder
  • Güvenlik uygulayıcılarının hackleme tekniklerini öğrenmesi de bu fikrin bir parçası sayılır
    • Exploit’ler ve kullanım biçimleri, ilgili açık yamalandığında kısa sürede eskir
    • Mesleki yetkinlik Penetrate and Patch’in silahlanma yarışına bağımlı hâle gelir
    • Hacklenebilir sistemleri bulmayı öğrenmektense hacklemeye dayanıklı güvenli sistemler tasarlamayı öğrenmek daha mantıklıdır
  • “Hacking is Cool” fikrinin 10 yıl içinde kaybolacağı öngörülür; ancak onun karşıtı olan “Good Engineering is Cool”un yerini alacağına dair bir işaret olmadığı düşünülür

5. Educating Users: Kullanıcı eğitimi

  • Educating Users, insanlara uygulanan Penetrate and Patch’e yakındır
  • Eğitimin kendisi iyi görünür; ancak etkili olsaydı şimdiye kadar etkisi görülmeliydi
    • Çeşitli araştırmalarda kullanıcıların kayda değer bir bölümünün bir şeker karşılığında parolasını verdiği sonucu olduğu söylenir
    • Anna Kournikova solucanı, insanlığın neredeyse yarısının yarı ünlü bir kadının çıplak fotoğraflarını içeriyor gibi görünen her şeye tıkladığını gösteren bir örnek olarak kullanılır
    • Kullanıcı eğitimini strateji yaparsanız kullanıcıları her hafta “yamamanız” gerekebilir
  • Asıl soru “kullanıcıları daha güvenli olacak şekilde eğitebilir miyiz” değil, “en başta kullanıcıları neden eğitmek zorundayız” sorusudur
    • Kullanıcı neden çalıştırılabilir dosya eki alıyor?
    • Kullanıcı neden hesabı bile olmayan bir bankadan e-posta bekliyor?
  • Ek dosyalar ve phishing müdahalesi de Default Permit sorunudur
    • Tüm kullanıcıların e-posta eki almasına izin verirseniz gönderilen her şeyi varsayılan olarak kabul etmiş olursunuz
    • Daha iyi bir yöntem olarak tüm ek dosyalar karantinaya alınabilir, çalıştırılabilir dosyalar silinebilir ve yalnızca izin verilen dosya türleri bir staging sunucusunda tutulabilir
    • Kullanıcıların SSL destekli tarayıcıyla giriş yapıp dosyaları alması sağlanabilir; parola gereksinimi birçok solucan yayılma mekanizmasını anında zayıflatır
  • MIMEDefang gibi ücretsiz araçlar, gelen e-postalardan ekleri ayırıp kullanıcı bazlı dizinlere kaydetmek ve e-postadaki ekleri ilgili URL ile değiştirmek için kullanılabilir
  • Küçük bir güvenlik startup’ı işletildiği dönemde Windows kullanmak isteyen çalışanların onu bizzat kurup yönetmeyi bilmesi gerekiyordu; aksi hâlde işe alınmıyordu
  • 10 yıl içinde eğitime ihtiyaç duyan kullanıcıların yüksek teknoloji iş gücü piyasasından çıkacağı ya da rekabet gücünü korumak için evde kendi kendine eğitim alacağı öngörülür

6. Action is Better Than Inaction: Eylem eylemsizlikten iyidir inancı

  • IT yöneticileri “early adopters” ve “pause and thinkers” olarak ikiye ayrılır; başarılı ve güvenli misyon kritik sistemler kuran tarafın ikincisine daha yakın olduğu düşünülür
  • Yeni bir teknoloji çıktığında hemen kurmak yerine beklemek, diğer erken benimseyenlerin sonuçlarını görmek ve deneyimli kişiler ortaya çıktıktan sonra dağıtmak daha güvenli olabilir
    • Üst düzey bir IT yöneticisi, kurumsal kablosuz ağ kurma planını “2 yıl bekleyip bizden daha büyük bir şirkette kablosuzu başarıyla yayına almış birini işe almak” olarak belirledi
    • Bu sırada teknoloji daha olgunlaştı ve fiyatlar da çok daha düştü
  • Temel yan önerme şudur: “Aptalca işler yapmamak, akıllıca işler yapmaktan çoğu zaman daha kolaydır”
  • Güvenlik dış kaynak kullanımını da 1–2 yıl erteleyip hayatta kalan kuruluşların tavsiye ve görüşlerini dinleme önerisi devam eder
  • Doğrulama yapmadan büyük para harcamak isteyen bir müşteri örneğinde, çalışanları ilgili konferans LISA’ya gönderip gerçek kullanım deneyimi olan kişileri bulmaları önerilir
    • Söz konusu çalışan, ürün deneyimi olan kişileri akşam yemeğine davet ederek gayriresmî değerlendirme alabilirdi
    • Bir IT yöneticisi, 200 dolarlık akşam yemeği maliyetinin 400.000 dolardan fazla teknik acıyı azalttığını aktardı
  • Profesyonel “kung fu”, hiçbir şey yapmayarak aptalca işlerden kaçınmak ve bu kaçınmanın takdirini yöneticiden alabilmektir

Diğer küçük aptallıklar

  • “Biz hedef değiliz”
    • Solucanlar bir web sitesinin ya da ev ağının ilginç olup olmadığını anlayacak kadar zeki değildir
  • “Herkes belli bir güvenlik modası OS kullanırsa güvende oluruz”
    • İşletim sistemleri karmaşık olduğu için güvenlik sorunları vardır ve sistem yönetimi hâlâ çözülmüş bir problem değildir
    • Modaya uyup değiştirirseniz yöneticinin zaman içinde biriktirdiği uzmanlığı edinmek daha zor hâle gelebilir
  • “İyi host güvenliğimiz var, bu yüzden güvenlik duvarına gerek yok”
    • Ağ dokusuna güvenemiyorsanız ağ üzerinden geçen tüm uygulamalar potansiyel hedeftir
    • Örnek olarak Domain Naming System verilir
  • “İyi bir güvenlik duvarımız var, bu yüzden host güvenliğine gerek yok”
    • Güvenlik duvarı trafiği arkadaki host’lara geçiriyorsa bu sistemlerin host güvenliği de düşünülmelidir
  • “Şimdi prodüksiyona alalım, güvenliği sonra yaparız”
    • Şimdi doğru yapmak için zaman yoksa bozulduktan sonra tekrar yapmak için zaman olup olmadığı sorulmalıdır
    • İlk birkaç günü harcamamak, yıllarca sürekli düzeltme yapmak zorunda kalınan bir duruma yol açabilir
  • “Ara sıra çıkan sorunlar engellenemez”
    • Havacılık sektörü insan hayatı konusunda böyle bir yaklaşım benimsese ticari yolcu uçağına biner miydiniz sorusuna varır

Güvenlik uygulayıcılarından beklenen tutum

  • Bilgisayar güvenliğinin “bu haftanın yeni teknolojisine” aşırı kapılıp sağduyuyu terk ettiği düşünülür
  • Güvenlik uygulayıcısının işi yerleşik kanıları ve mevcut durumu sorgulamak, gerekirse doğrudan meydan okumaktır
  • Yerleşik kanılar etkili olsaydı sistem ihlali oranlarının düşmesi gerektiği yönündeki sorun bilinciyle sona erer

1 yorum

 
GN⁺ 2024-07-16
Hacker News yorumları
  • Yine bu konu mu diye düşünüyorum: https://hn.algolia.com/?q=six+dumbest+ideas+in+computer+secu...
    Bu yazıda didiklenecek çok nokta var, ama benim her zaman işaret etmek istediğim şey, Ranum’un karşı çıktığı zafiyet araştırması konusundaki asıl tutumu. 90’ların sonu ile 2000’lerin başında Marcus Ranum ve Bruce Schneier, zafiyet açıklamanın yarardan çok zarar getirdiğini ve bu işi dış araştırmacıların değil, üreticilerin yapması gerektiğini savunan başlıca kanaat önderleriydi. O bakış açısı nihayetinde doğru çıkmadı; 2002’de dışarıdan yapılan tam açıklamalı zafiyet araştırmasını “hacking” başlığı altına sokmak mümkün olabilirdi, ama bugün hiç öyle değil. Güvenlik alanındaki dört büyük akademik konferans bir yana, kriptografi literatürü bile saldırı araştırmalarını ele alıyor

    • O dönemde haklı olabilirlerdi. Geçmiş kararları sonradan rasyonalize etmek istiyorsak, o zamanki kanıtlara göre bakmak gerekir. Sonrasında ağların ölçeği ve katılımcı sayısı patlama yaşadı
    • Güvenlik alanındaki “dört büyük akademik konferans” ile hangilerinin kastedildiğini merak ediyorum
    • Saldırı araştırmasının büyük konferanslarda temel bir konu haline geldiği doğru. Bunun sonucunda, açıklama sonrasında gerçek dünyada kötüye kullanım gibi olumsuz dışsallıkları sürekli görüyoruz; üreticilerin akademik açıklamalara doğru dürüst yanıt verecek beceriye ya da isteğe sahip olmadığı durumlar da çok. Akademinin de gelişmeye açık yanları var; yönün tersine dönmesindense, büyük konferansların açıklamadan doğan zararı azaltmak için daha somut beklentiler koyması daha olası. Örneğin “üretici” kapsamını işletim sistemi veya güvenlik duvarı üreticisi gibi hafifletme sağlayan tarafları da içerecek şekilde genişletmek gibi
  • Gözden mi kaçtı bilmiyorum ama parolalardan bahsedilmemesine şaşırdım. Asgari uzunluk dışında zorunlu karakter kombinasyonu kuralları, periyodik değiştirme ve “parola yerine geçecek” çözümler bence özünde aptalca. Kombinasyon kuralları parolayı kâğıda yazma, aynı parolayı yeniden kullanma, sonuna 1 ekleme gibi sonuçlar doğuruyor; alternatif yöntemlerin UX’i ise berbat ya da kafa karıştırıcı oluyor ve sonunda yine parolaya dönülüyor. Sadece kendi seçtiğim karakterlerle X karakterden uzun bir parola oluşturmama izin verin; telefonum ya da bilgisayarım olmasa veya yurt dışında olsam bile gerçekten hatırlayabilirim

    • Periyodik parola değiştirme o zamanlar iyi bir fikir olmuş olabilir. On yıllar önce güvenlik uygulamaları çok kötüydü; parolaların düz metin olarak gönderilmesi gibi şeyler vardı ve bunların düzeltilmesi de uzun sürdü. Ayrıca parolalarını şeker gibi paylaşan insanlar da var; burada kastım streaming hesabı paylaşımı değil, kurum içindeki önemli kaynaklara erişim yetkisini iş arkadaşlarıyla paylaşmak. Bu yüzden son kullanıcı eğitimini yok saymaya katılmıyorum. Bazı şeyler teknik olarak çözülebilir, ama parola paylaşımı gibi sosyal sorunlar yalnızca teknolojiyle pek iyi çözülmez
    • Her ay ya da iki ayda bir zorunlu parola değiştirmeyi öneren yerler, düzenleyici kurumların en güncel güvenlik uygulamalarını bile takip edemeyen yerlerdir. ABD NIST(https://pages.nist.gov/800-63-FAQ/) ve Birleşik Krallık NCSC(https://www.ncsc.gov.uk/collection/passwords/updating-your-a...) bu tür bir şart içermeyen, oldukça makul kılavuzlar yayımlıyor
    • Bu mesajı yıllardır söylüyorum. Parola üreticileri fiilen hatırlanamaz anahtarlar oluşturuyor; bunun sonucunda parola yöneticileri ortaya çıktı ve tüm bunlar tek bir parolayla korunuyor. Artık tek hata noktası tek bir parola oluyor; saldırgan onu ele geçirirse tüm parolalara erişebiliyor. Zaten n denemeden sonra kilitleme kuralı çoğu durumda kaba kuvvet saldırısı yolunu kestiği için çok daha etkili. Güvenlik uzmanı değilim, karmaşık ve uzun parolaların fark yarattığı durumlar olabilir; ama çok faktörlü kimlik doğrulama varsa bu tartışmanın büyük kısmı anlamsızlaşıyor
    • Parolalardan ben de bahsedecektim, ama şu sıralar passkey’ler daha aptalca fikir adayı gibi görünüyor. Ortalama kullanıcı için bitmek bilmeyen bir kafa karışıklığı yaratacak gibi
    • Parola politikaları şaka gibi. 5 web sitesi kullanıyorsanız 5 ayrı politika var. Bankalar gibi yerler özel karakterleri “hack girişimi” diye engelliyor; Firefox parola üreticisi bile çalışmıyor, kullanıcı da etrafından dolanıp suckmyDICK123!! gibi bir şey giriyor. Yine de genelde kaba kuvvet deneme kapasitesi yetersiz olduğu ya da 5 başarısız denemeden sonra hesap kilitlendiği için kolay kolay ele geçirilmiyor. Bugünlerde çoğu kişi “botlar insanüstü hızla parola dener” seviyesinde bir şeyi biliyor ve hiçbir parola politikası kötü parola seçimini engelleyemiyor. “Sorumlu” insanların gerçeği çözmeye çalışırken muazzam zaman harcadığı bir durum. Banka gibi hassas bir iki hesap dışında, 1 dakika oynadığınız 80 oyun gibi zorla hesap isteyen servislerde aynı parolayı kullanmak istiyorsunuz. Çoğu zaman ayrı bir GUI olduğu için yapıştırma da çalışmıyor; parola yöneticisi kullanabilirsiniz ama bununla uğraşmak için bir sebep yok
  • Hacking havalı olabilir. Başkalarının verilerine ve sistemlerine erişmek değil; ama sahip olduğum bir sistemi derinlemesine anlayıp onu kendi lehime olacak şekilde “yanlış” çalıştırmanın yolunu bulmak havalıdır. Komşunun kilidini açmak pek iyi değil, ama kendi kilidini açmak havalıdır; uzaktaki bir bilgisayarı manipüle edip haksız erişim elde etmek pek iyi değil, ama kendi bilgisayarına normalde yapmasına izin verilmeyen bir şeyi yaptırmak havalıdır. Olasılıkların sınırında dolaşma tavrı dünyayı ileri taşır; sınırların içinde kalmayı yücelten başarılı insan toplumları da muhtemelen pek olmamıştır

    • Suçun havalı olmadığını söyleyebiliriz, ama kilit açma, arabayı düz kontak çalıştırma, silah yapma, John the Ripper çalıştırma gibi yıkıcı şeyleri bilmenin kesin bir çekiciliği var. Herkesin inandığı kurallara bağlı olmayan bir tür büyücüye dönüşme etkisi yaratıyor
    • Uzaktaki bilgisayar, sesli dolandırıcılık çetesinin çok sayıda yaşlı kurbanın kişisel bilgilerini tutmak için kullanılıyorsa, izinsiz erişim de havalı olabilir. O erişimle dolandırıcılık işini sekteye uğratırsanız bu çok havalı ve komik bile olabilir. Teknik olarak yasa dışıdır ve kanunsuz adalet kapsamına girer; ama burada yasallıktan değil, “havalılıktan” söz ediyoruz. Kanunsuz adalet uygulayanlar, kişisel adalet duygusuyla hareket ettiklerinde genelde havalı görünür
  • Bu yazıda çok kötü muhakemeler var. “Sistemimi dikkatle tasarladım, uyguladım ve yapılandırdım; test etmeme gerek yok” tarzı cümleler, gerçekten duyduğum en kötü güvenlik bakış açısı olabilir. “Hacking sosyal bir sorundur, teknik bir sorun değildir” sözü de gizliliğe dayalı güvenlik anlayışına yakın ve her zaman sosyal bir sorun da değildir. Kurumsal casusluk ya da devlet aktörlerine bakınca öyle olmadığını görürsünüz

  • Temel sorun çoğu zaman kullanılabilirlik vs güvenlik arasındaki talihsiz bir uzlaşma; burada aptalca fikirler diye sayılanların çoğu, ortalama kullanıcının rahatsızlığını azaltmaya çalışırken güvenlikten ödün vermenin sonucu. Örneğin varsayılan olarak izin vermek güvenlik açısından en kötüsüdür ve Windows’taki birçok sorunun kaynağıdır, ama kullanıcılar her yeni program için açıkça izin vermek zorunda kalmaktan hoşlanmaz. Microsoft onay pencereleri eklediğinde bile birçok kişi bunu yazılımı çok daha zahmetli hâle getiren kötü bir tasarım olarak gördü. Bu yüzden “varsayılan izin”, “kötüleri listeleme”, “sızma sonrası yama” varsayılan hâline geldi. Kişisel olarak parolanın kendisini güvenlikteki en aptalca fikirlerden biri olarak görüyorum. Çünkü iyi bir parolanın tanımı, hatırlaması zor, düzgün klavyesi olmayan cihazlarda girmesi zor ve kullanıcı için neredeyse her açıdan zahmetli olması demek. Ama gerçekçi bir alternatif de yok. E-posta bağlantıları, e-posta erişimi ele geçirilirse her şeyin ele geçirilmesi anlamına gelir; parola sıfırlama da çoğu zaman aynıdır. Fiziksel kimlik doğrulama cihazları, kullanıcının ev dışında oturum açamaması ya da sürekli yanında bir aksesuar taşıması gerektiği anlamına gelir; neredeyse tüm yöntemler iyi güvenlik alışkanlıkları gerektirir ama nüfusun %99,9’u bununla pek ilgilenmez

    • Bu içgörüden passkey’ler doğdu; tek oturum açma ve iki aşamalı kimlik doğrulamayla oturum açma unsurlarına sahipler. Apple, bulut senkronizasyonlu passkey’leri tamamen entegre etti; Apple cihazlarında cihaz içinde, bir Apple cihazınız varsa yalnızca iki aşamalı kimlik doğrulamayla çalışıyor. Chrome da passkey rolü görebilir, BitWarden da yapabilir. Kandırılamaz, etrafından dolanılamaz, sağlayıcıyı seçebilirsiniz ve site kayıtlı sağlayıcı adını size söyleyebildiği için hatırlanacak bir şey de yoktur
    • Saygın bir tarayıcı tabanlı parola yöneticisini güçlü bir parolayla korumayı ve hatırlamayacağınız güçlü parolalar üretmesine izin vermeyi öneririm. Parola giriş alanında JavaScript ile bunu engelleyen web siteleri tazminat ve ağırlaştırılmış yaptırımlarla karşılaşmalı. Özellikle bankalar
    • Parolalar uzun süre iyi bir fikirdi. İlk 10 yıl, belki 20 yıl boyunca düzgün klavyesi olmayan cihaz yoktu. Daha büyük sorun, parolanın rastgele alfanümerik karakterlerle özel karakterleri karıştırması ve 12 karakterden uzun olması gerektiği gibi karmaşık ve uzun olması gerektiği düşüncesiydi; birkaç kelime kullanmak daha iyiydi. Akıllı telefonların gelişinden sonra teknoloji ortamının ne kadar değiştiğini sık sık hafife alıyoruz, ama ondan önceki bilgisayar ve dizüstü ortamında parola iyi bir tercihti
  • “Çeşitli exploit’leri ve bunların kullanımını öğrenmek, kısa süre sonra yamalanınca eskimeye mahkûm araç ve teknikleri öğrenmeye zaman harcamaktır” sözü yanlış. Gerçekte bu, teoriyle birlikte pratik yönleri öğrenmektir ve çok faydalıdır

    • Bu kısmı da sorunlu görüyorum. Okumayı öğrenmeden yazar olunamaz. Kitap yayımlamış olmanız okumanın faydasını azaltmaz. Bilinen exploit’lerin nasıl çalıştığını öğrenmelisiniz ki bilinmeyen exploit’leri de bulabilesiniz. Bilinen bir güvenlik açığı yamalansa bile onun nasıl ortaya çıktığına dair bilginin değeri azalmaz. Artık kullanılamayabilir, ama zaten onu kullanmak muhtemelen öğrenmenin amacı değildi
    • Şart değil. TCP’nin ne olduğunu, bir HTTP isteğinin nasıl göründüğünü hiç bilmeden LOIC ile site çökertmeyi bilen çok sayıda script kiddie var
  • Bu listeden “hacklemek havalıdır”ı çıkarıp yerine istemciye güveni koyardım. Son zamanlarda istemciye güvenme girişimleri arttı. Mobil uygulamaların işletim sisteminin değiştirilmediğine dair kanıt istemesi ya da Google’ın web’e benzer bir DRM koymaya çalışması buna örnek. Bir ağ güvenliği modeli istemci yazılımına güvenmeye dayanıyorsa zaten bozulmuştur

    • Bu güvenlik değil, kontrol meselesi. Değiştirilmiş sistemler reklam engelleme gibi şeytani amaçlar için kullanılabilir ve Google bundan hoşlanmayacaktır
  • “Varsayılan olarak engelleme” için “varsayılan olarak izin vermekten çok daha zor değil ve geceleri daha rahat uyursunuz” deniyor; IT güvenlik sorumlusu daha rahat uyur belki, ama şirketin geri kalanı en ufak şey için IT departmanıyla üçer kez gidip gelmek zorunda kalacağı için çok sinir olur. İnsanlar sinirlendikçe güvenlik kavramını bozan kestirme yollar kullanma ihtimali de artar. Her ay parola değiştirmeyi zorlarsanız password1, password2, password3 gibi şeyler kullanırlar. İyi IT güvenliği, sadece ağ kablosunu çekmek değil; kullanıcı için sihirli biçimde görünmez ve rahatsız etmeyen bir şey olmalıdır

    • Bir arkadaşımın bölümünde çok önemli bir tedarikçi uygulaması bir noktada çalışmaz oldu ve IT’ye kayıt açtı. Sorun o kadar karmaşıktı ki sonunda Microsoft paket yakalama aracını çalıştırmasına izin aldı. Yakalama yapılmasına rağmen IT çözüm bulamadı; o da bunalıp bana gönderdi. Geliştirici olduğum için dizüstümde yönetici hakları ve MSDN vardı; Microsoft aracını indirip yakalamaya baktım ve uygulamanın yerel makinenin içindeki bir istemci/sunucu uygulaması olduğunu gördüm. Ön uç, ağ portu üzerinden arka uçla konuşuyor; arka uç da tedarikçi sunucusuyla iletişim kuruyordu. Şirket “varsayılan engelleme”ye başlayınca benim geliştirme akışım da çeşitli şekillerde bozuldu ve ben de IT’nin bilmediği kestirme yollar buldum. IT’ye ne söylemesi gerektiğini ve bunun nasıl beyaz listeye alınabileceğini anlattım, ama o hâlâ sorun yaşıyor. Ayrıntıları muğlak bırakmamın nedeni yalnızca gizlilik değil; arkadaşımın bu noktaya gelmek için IT ile bir yıldan fazla çalışmış olması ve bunun iki yıl önce yaşanması nedeniyle birçok ayrıntıyı unutmuş olmam. Eski sistemleri olan bir üretim şirketinde “varsayılan engelleme” başlatırsanız “ekstra üç gidiş geliş” hafife almak olur
    • Daha fazla IT yöneticisinin emniyet kemeri ve hava yastıklarını güvenlik modeli olarak almasını isterdim. Arabayı normalde kullanırken çok küçük bir rahatsızlık verirler, ama kaza olduğunda varlık değerleri muazzamdır. Buna karşılık birçok yönetici, kendi cehaletini ve profesyonellikten uzaklığını gizlemek için işin kendisini engellemeyi normal görür
    • İyi IT güvenliği görünmez değildir. Sınırsız giden internet erişimi isteyen berbat uygulama dağıtımlarını engellemek için vardır. Çok faktörlü kimlik doğrulamayı yaygınlaştırmalı, paydaşlarla baştan birlikte çalışıp en baştan güvenliği sağlamalıdır. Çoğu, iş risklerini belirleyip azaltmak içindir. Tüm uygulamaların bir sorumluluk unsuru sayıldığı ve standarttan sapan yeni uygulamaların vaka bazında ele alınması gerektiği düşünülmeli
    • İş istasyonları çevresindeki güvenlik altyapısında “varsayılan olarak engelleme” politikasının iyi bir fikir olduğunu düşünüyorum. Yeni portlar vb. kullanan yeni bir araç geldiğinde IT’nin güvenlik profilini değiştirme zahmeti, belirli bir iş istasyonunun içeriğinin sızmasının maliyetinden çok daha düşüktür. Öte yandan uygulama sunucuları ve herkese açık altyapı mutlaka varsayılan olarak engelleme ile çalışmalı. Bunun gerekli olmadığı bir durum pek aklıma gelmiyor
    • Şirket IT’si şirket için vardır. Maliyeti faydasını aşmamalı. Denge gerekir. Bir port açmak 1 hafta sürmemeli, ama insanların şirket masaüstünde web sunucusu çalıştırmasını ve hemen yanında tescilli plan dosyalarının tesadüfen durmasını da istemezsiniz
  • Güvenlik odaklı yazılar genellikle güvenliği aşırı önemseyen kişiler tarafından yazılır ve salt güvenlik merkezli bir yaklaşımın güvenli yazılım kullanıcılarına çıkardığı zorlukları çoğu zaman görmezden gelir. Güvenliği her zaman güvenlik ile kullanım kolaylığı arasındaki bir kaydırma çubuğu olarak görüyorum. Tamamen güvenli bir tasarım o kadar kullanışsızdır ki neredeyse hiç kullanıcısı olmaz; tamamen kullanışlı bir tasarım da yeterince güvenli olmayıp sonunda aynı akıbete varabilir. Yine de bu yazı genel olarak okunmaya değer; ancak bir güvenlik uzmanının exploit yazmayı denemesinin veya belirli bir sistemi kötüye kullanmayı öğrenmesinin aptalca olduğu fikrine şiddetle karşı çıkıyorum. “Güvenli tasarım” çalışmaktan çok, açıkları ve exploit’leri inceleyip bunları bizzat white-hat biçimde uygulayarak güvenlik hakkında çok daha fazla şey öğrendim. “Onu tanımak istiyorsan onun gibi olmalısın” sözüne benziyor

    • Bu benzetme daha erişilebilir olabilir ama ben biraz daha saldırgan konuşma eğilimindeyim. Sadece güvenlik diye tutturan insanlarla tartışırken “En güvenlisi yarın dükkânı kapatmak olurdu herhalde, ama bunu onaylatmak zor olurdu, değil mi?” gibi bir sözle başlarım. Birlikte güldükten sonra nasıl bir taviz vereceğimizi konuşabiliriz. Ayrıca “Hayır derseniz bunu siz olmadan yaparız; o zaman güvenlik de ancak benim eklediğim kadar olur. Bir yol her zaman bulunur, bu yüzden bizi daha güvenli bir yola yönlendirmenizi isterim” diyerek temel tutumu değiştirtip işe yaradığını gördüğüm de oldu. Yine de kolayca tepki doğurabildiği için bundan kaçınmaya çalışıyorum
  • Bu, büyük ölçüde 19 yıl öncesinden kalma berbat bir liste. “Yazılım ve sistemler en baştan güvenli olmalı ve kusur işlemeyi de hesaba katarak tasarlanmış olmalıydı” demek, “kusursuz bir dünyada her şey baştan güvenli olurdu” demektir. Böyle bir şey asla olmayacağı için bulduktan sonra yama tekniğini kullanmak gerekir; bu da keşfedilen açıkları gerçekten yamayan ve hatalardan gelecekteki kodlama pratikleri için ders çıkaran şirketlerde iyi çalıştı. Ayrıca çoğu sistem statik değildir. Güvenli bir sistemi bir kez yayımlayıp bir daha hiç güncellememek diye bir şey yok; çoğu uygulama ve sistem sık sık güncellenir ve o sırada yeni açıklar içeri girer

    • Mümkün olan en iyi niyetli yorumla, yazarın söylemek istediği şey, açığı yaratan hatalı tasarım pratiklerini düzeltmeden aşırı dar hedefli “yamalar” yapmak gibi görünüyor. Örneğin bir web uygulamasındaki cross-site scripting açığını, içinde script veya onclick gibi anahtar kelimeler geçen istekleri engelleyerek “düzeltmek” gibi
    • Kendinden emin şekilde aptalca konuştuğunuzda birçok kişinin sizi zeki sanmasına bir örnek
    • Yazının kendisi de açıkça aptalca. “Çekingen biri suçlu olabilir” cümlesi hacking’i, suçluluğu ve insan doğasını tamamen yanlış anlıyor. Suçlular paranın olduğu yere gider; ATM önünde silah doğrultup para almak için iri yarı bir güreşçi olmanız gerekmez, bilgisayardan anlamak için de basmakalıp bir nerd olmanız gerekmez. 1980’lerin en kötü komedi filminden fırlamış düzeyde bir saçmalık. “Uzaktan bilişim, suçluların suç mahalline yakın olma yönündeki tarihsel gerekliliğini ortadan kaldırdı” sözü de anlamsız. Postanın neleri mümkün kıldığını düşünmek yeterli. İspanyol Mahkûm dolandırıcılığı yüzyıllardır vardı ve 419 dolandırıcılığıyla aynı yapıda. Anonimlik ve kurbanla yüz yüze gelmemenin suçun duygusal zorluğunu azalttığı iddiası da abartı. Suçlular yüz yüze bakarken de dolandırıcılık yapabilir, şiddet uygulayabilir ve insanları hesaplarını boşaltmaya tehdit edebilir. Son olarak, “En baştan tamamen doğru yap, aptal” uygulanabilir bir plan değildir
    • Sık güncellemeler, uygunsuz mühendislik pratiklerini örtme ve uygunsuz ürünleri teşvik etme yönü ağır basan bir şey. Dünya statik değil ama çoğu şeyde tanımlanıp ele alınması gereken örüntüler vardır. MVP’nin hızlı düzeltmesinden bir sonraki hızlı düzeltmeye koşturursanız buna zaman ayıramazsınız
    • Değerli birkaç özü de var, ama en az yarısı şirket yıl sonu partisinin sonlarına doğru sarhoş olmuş yeni bir help desk stajyerinden duyabileceğiniz türden utanç verici bir tirat gibi okunuyor. Bir konu uzmanı tarafından yazılmış olması, 20 yıl boyunca kendi web sitesinde tutmuş olması ve bu kadar çok önerilmiş olması şaşırtıcı