Açık Kaynak Kodu ve Güvenlik

17
Açık Kaynak Kodu ve Güvenlik Açık Kaynak Kodu ve Güvenlik [email protected] [email protected]

Transcript of Açık Kaynak Kodu ve Güvenlik

Açık Kaynak Kodu ve GüvenlikAçık Kaynak Kodu ve Gü[email protected]@pro-g.com.tr

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 2

Sunum PlanıSunum Planı► Açık kaynak kodun güvenliğe etkisiAçık kaynak kodun güvenliğe etkisi► Açık kaynak kodlu güvenlik yazılımlarıAçık kaynak kodlu güvenlik yazılımları

Güvenlik duvarlarıGüvenlik duvarları Saldırı tespit sistemleriSaldırı tespit sistemleri VPN yazılımlarıVPN yazılımları Ağ trafik analizi sistemleriAğ trafik analizi sistemleri Zafiyet tarayıcılarıZafiyet tarayıcıları Parola kırıcılarıParola kırıcıları Kaynak kod güvenlik analizi yazılımlarıKaynak kod güvenlik analizi yazılımları

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 3

Açık Kod ve Yazılım GüvenliğiAçık Kod ve Yazılım Güvenliği► Kaynak kodların açıklığı yazılım güvenliğine ve Kaynak kodların açıklığı yazılım güvenliğine ve

güvenilirliğine önemli katkı sağlargüvenilirliğine önemli katkı sağlar Yazılımlar çok sayıda bağımsız uzman tarafından Yazılımlar çok sayıda bağımsız uzman tarafından

incelenirincelenir► Hatalar daha kısa sürelerde bulunarak giderilebilirHatalar daha kısa sürelerde bulunarak giderilebilir► Diebold oylama sistemleriDiebold oylama sistemleri

Yazılımlar içerisindeki arka-kapıların tümü elenebilirYazılımlar içerisindeki arka-kapıların tümü elenebilir► UNIX SNMP sunucularıUNIX SNMP sunucuları

İnceleneceğini bilerek yazılım geliştirenler daha özenli İnceleneceğini bilerek yazılım geliştirenler daha özenli çalışırlar (çalışırlar (Sahne EtkisiSahne Etkisi))

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 4

Kaynak Kod Açıklığı Yeterli Mi?Kaynak Kod Açıklığı Yeterli Mi?► Kaynak kodun açıklığı tek başına yeterli değildirKaynak kodun açıklığı tek başına yeterli değildir

İyi bir tasarım, kapsamlı bir risk analizi ve yapısal İyi bir tasarım, kapsamlı bir risk analizi ve yapısal sınama bir ön-şarttırsınama bir ön-şarttır

Bir yazılımın kaynak kodunda tariflenen davranışı ile Bir yazılımın kaynak kodunda tariflenen davranışı ile çalışma zamanı davranışı çalışma zamanı davranışı bilinçli biçimdebilinçli biçimde farklılaştırılabilirfarklılaştırılabilir

► Yapısal sınamalar için özgür proje grupları da Yapısal sınamalar için özgür proje grupları da katkı vermektedirkatkı vermektedir Sardonix projesi özgür yazılım projelerinin bağımsız Sardonix projesi özgür yazılım projelerinin bağımsız

gruplar tarafından yapısal sınamalarını gruplar tarafından yapısal sınamalarını gerçekleştirmektedirgerçekleştirmektedir► http://www.sardonix.orghttp://www.sardonix.org

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 5

Açık Kodlu Güvenlik YazılımlarıAçık Kodlu Güvenlik Yazılımları► Ağ ve sistem güvenliğinin sağlanması için,Ağ ve sistem güvenliğinin sağlanması için,

hemen her alanda, açık kaynak kodlu güvenlik hemen her alanda, açık kaynak kodlu güvenlik yazılımları mevcutturyazılımları mevcuttur

► Açık kaynak kodlu güvenlik yazılımlarının Açık kaynak kodlu güvenlik yazılımlarının karakteristik özelliklerikarakteristik özellikleri Yüksek teknik nitelikleri ve özelleştirilebilmeleriYüksek teknik nitelikleri ve özelleştirilebilmeleri Akademik araştırmalara temel teşkil etmeleriAkademik araştırmalara temel teşkil etmeleri Göreli kullanım güçlüğü ve yüksek teknik birikim Göreli kullanım güçlüğü ve yüksek teknik birikim

gereksinimigereksinimi Ticari ürünlerin içerisinde gömülü kullanımlarTicari ürünlerin içerisinde gömülü kullanımlar

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 6

Güvenlik DuvarlarıGüvenlik Duvarları► Linux işletim sistemi ile entegre biçimdeLinux işletim sistemi ile entegre biçimde

dağıtılan dağıtılan NetfilterNetfilter (iptables) oldukça yaygın (iptables) oldukça yaygınolarak kullanılmaktadırolarak kullanılmaktadır Tüm temel paket filtreleme özellikleri Tüm temel paket filtreleme özellikleri

desteklenmektedirdesteklenmektedir► OpenBSD işletim sistemi için geliştirilen OpenBSD işletim sistemi için geliştirilen pfpf, daha , daha

yüksek teknik niteliklere sahiptiryüksek teknik niteliklere sahiptir Entegre trafik biçimlendirmeEntegre trafik biçimlendirme Kullanıcı doğrulaması ve kullanıcılaraKullanıcı doğrulaması ve kullanıcılara

özel kurallarözel kurallar Yüksek-erişilebilirlikYüksek-erişilebilirlik

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 7

Güvenlik Duvarı YönetimiGüvenlik Duvarı Yönetimi► Firewall BuilderFirewall Builder güvenlik duvarı yönetimi için güvenlik duvarı yönetimi için

bir yapılandırma aracıdır bir yapılandırma aracıdır (http://www.fwbuilder.org)(http://www.fwbuilder.org) Farklı firewall yazılımlarını tek arayüzden idare Farklı firewall yazılımlarını tek arayüzden idare

edebilmeye imkan veriredebilmeye imkan verir► Netfilter (iptables), pf, ipf ve Cisco PIXNetfilter (iptables), pf, ipf ve Cisco PIX

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 8

Saldırı Tespit SistemleriSaldırı Tespit Sistemleri► SnortSnort (http://www.snort.org),(http://www.snort.org), endüstri tarafından da endüstri tarafından da

yaygın biçimde kullanılan popüler bir ağ tabanlı yaygın biçimde kullanılan popüler bir ağ tabanlı saldırı tespit sistemidirsaldırı tespit sistemidir Gerçek zamanlı trafik analiziGerçek zamanlı trafik analizi Kural tabanlı / özelleştirilebilmeKural tabanlı / özelleştirilebilme 2000+ farklı saldırıyı tanımlayabilme2000+ farklı saldırıyı tanımlayabilme

► PreludePrelude (http://www.prelude-ids.org),(http://www.prelude-ids.org), hem ağ ve hem de hem ağ ve hem de sunucular üzerinden veri toplayabilen bir saldırı sunucular üzerinden veri toplayabilen bir saldırı tespit sistemidirtespit sistemidir Sistem kayıtlarından, ağ analizinden veSistem kayıtlarından, ağ analizinden ve

entegre edilen diğer uygulamalardanentegre edilen diğer uygulamalardan(Snort, honeyd, nessus vb.) veri(Snort, honeyd, nessus vb.) veritoplayabilmektedirtoplayabilmektedir

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 9

Güvenli İletişim YazılımlarıGüvenli İletişim Yazılımları► VPN bağlantıları için VPN bağlantıları için LinuxLinux ve ve OpenBSDOpenBSD

IP yığıtlarıIP yığıtları iki önemli yazılım kümesidir iki önemli yazılım kümesidir Her iki yazılım da siteler-arası (site to site) ya da Her iki yazılım da siteler-arası (site to site) ya da

istemciden siteye (client-to-site) VPN tünellemesiistemciden siteye (client-to-site) VPN tünellemesiiçin kullanılabilecek teknik niteliklere sahiptiriçin kullanılabilecek teknik niteliklere sahiptir

► OpenSSHOpenSSH (http://www.openssh.org)(http://www.openssh.org) , güvenli uzak erişim , güvenli uzak erişim için kullanılan SSH protokolünün en yaygın için kullanılan SSH protokolünün en yaygın gerçekleştirimidirgerçekleştirimidir Güvenli bir telnet ve ftp alternatifidirGüvenli bir telnet ve ftp alternatifidir

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 10

Ağ Trafik AnaliziAğ Trafik Analizi► EtherealEthereal (http://www.ethereal.com)(http://www.ethereal.com) gelişmiş bir trafik gelişmiş bir trafik

inceleme sistemidir (network sniffer)inceleme sistemidir (network sniffer) Ağ trafiğinin gerçek zamanlı incelenmesi, protokol Ağ trafiğinin gerçek zamanlı incelenmesi, protokol

istatistiklerinin çıkartılması ve protokol çözümlemesi istatistiklerinin çıkartılması ve protokol çözümlemesi gerçekleştirebilmektedirgerçekleştirebilmektedir

Ağ üzerinden aktarılan dosyaları diske Ağ üzerinden aktarılan dosyaları diske kaydedebilmektedirkaydedebilmektedir

► DsniffDsniff (http://www.monkey.org/~dugsong/dsniff)(http://www.monkey.org/~dugsong/dsniff), , anahtarlanmış (switched) ağlarda trafik incelemesi anahtarlanmış (switched) ağlarda trafik incelemesi imkanı sağlarimkanı sağlar Parola kaydı için özel becerilere de sahiptirParola kaydı için özel becerilere de sahiptir

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 11

Zafiyet TarayıcılarıZafiyet Tarayıcıları► Nmap Nmap (http://www.insecure.org/nmap),(http://www.insecure.org/nmap), teknolojik açıdan teknolojik açıdan

en gelişmiş port tarayıcısıdıren gelişmiş port tarayıcısıdır Çok sayıda farklı tarama ve hedef şaşırtma tekniğini Çok sayıda farklı tarama ve hedef şaşırtma tekniğini

uygulayabilmektediruygulayabilmektedir Pek çok ticari zafiyet tarayıcısı içerisinde nmap gömülü Pek çok ticari zafiyet tarayıcısı içerisinde nmap gömülü

olarak çalışmaktadırolarak çalışmaktadır

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 12

Zafiyet TarayıcılarıZafiyet Tarayıcıları► Nessus Nessus (http://www.nessus.org)(http://www.nessus.org), bilinen en başarılı , bilinen en başarılı

zafiyet tarayıcılarından birisidirzafiyet tarayıcılarından birisidir 2000+ farklı zafiyeti tanımlayabilir2000+ farklı zafiyeti tanımlayabilir Plug-in mimarisi sayesinde yeni testlerPlug-in mimarisi sayesinde yeni testler

eklenebilireklenebilir Gelişmiş raporlama becerilerine sahiptirGelişmiş raporlama becerilerine sahiptir

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 13

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 14

Parola KırıcılarıParola Kırıcıları► John the Ripper John the Ripper (http://www.openwall.org)(http://www.openwall.org), zayıf , zayıf

parolaları tespit etmek için kullanılabilecekparolaları tespit etmek için kullanılabilecekbir parola kırma yazılımıdırbir parola kırma yazılımıdır Parola dosyasının programa verilmesiParola dosyasının programa verilmesi

ile çalışırile çalışır Zayıf UNIX ve Windows parolalarını tespit edebilirZayıf UNIX ve Windows parolalarını tespit edebilir

► Hydra Hydra (http://www.thc.org)(http://www.thc.org) zayıf parolaların ağ zayıf parolaların ağ üzerinden tespit edilmesi için kullanılabilecek bir üzerinden tespit edilmesi için kullanılabilecek bir araçtıraraçtır Pek çok farklı protokolü destekler (HTTP, SNMP, FTP, Pek çok farklı protokolü destekler (HTTP, SNMP, FTP,

IMAP, POP3 vb.)IMAP, POP3 vb.) Paralel biçimde birden çok parolayı aynı anda Paralel biçimde birden çok parolayı aynı anda

deneyebilirdeneyebilir

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 15

Kaynak Kod Analizi YazılımlarıKaynak Kod Analizi Yazılımları► Kod analizi yazılımları, yazılım kaynak kodlarını Kod analizi yazılımları, yazılım kaynak kodlarını

inceleyerek güvenlik problemlerine neden inceleyerek güvenlik problemlerine neden olabilecek bölümlerin tespit edilmesini sağlar:olabilecek bölümlerin tespit edilmesini sağlar: Splint Splint (http://lclint.cs.virginia.edu/)(http://lclint.cs.virginia.edu/) Valgrind Valgrind (http://valgrind.kde.org)(http://valgrind.kde.org) ITS4 ITS4 (http://www.cigital.com/its4/)(http://www.cigital.com/its4/) RATS RATS (http://www.securesoftware.com/download_rats.htm)(http://www.securesoftware.com/download_rats.htm)

► Bu araçların yazılım kaynak kodları üzerinde Bu araçların yazılım kaynak kodları üzerinde çalıştırılması ile problemler yazılım dağıtımından çalıştırılması ile problemler yazılım dağıtımından önce tespit edilebilirönce tespit edilebilir

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 16

Ticari Ürünlerde KullanımıTicari Ürünlerde Kullanımı► Pek çok yazılım üreticisi açık kaynak kodlu Pek çok yazılım üreticisi açık kaynak kodlu

yazılımları ürünleri içerisinde kullanmaktadıryazılımları ürünleri içerisinde kullanmaktadır Sınanmış güvenilir yazılım bileşenlerinden Sınanmış güvenilir yazılım bileşenlerinden

faydalanılmasıfaydalanılması Düzenli olarak güncellenen ve geliştirilenDüzenli olarak güncellenen ve geliştirilen

bileşenlerin kullanılmasıbileşenlerin kullanılması Ürünlerin daha kısa sürelerde pazara sunulabilir hale Ürünlerin daha kısa sürelerde pazara sunulabilir hale

getirilmesigetirilmesi► Pro-G ürünleri içerisinde açık kaynak kodlu Pro-G ürünleri içerisinde açık kaynak kodlu

yazılım bileşenleri de kullanmaktadıryazılım bileşenleri de kullanmaktadır

© 2004, Pro-G Bilişim Güvenliği ve Araştırma Ltd. 17

Açık Kaynak Kod ve GüvenlikAçık Kaynak Kod ve Güvenlik► Açık kaynak kodlu yazılımlardan faydalanılarakAçık kaynak kodlu yazılımlardan faydalanılarak

Yüksek nitelikliYüksek nitelikli Maliyet-etkinMaliyet-etkin Özelleştirilebilir / geliştirilebilirÖzelleştirilebilir / geliştirilebilirbir güvenlik altyapısının oluşturulması mümkündürbir güvenlik altyapısının oluşturulması mümkündür

► Bilişim güvenliği konusuna ilgi duyanlar bu Bilişim güvenliği konusuna ilgi duyanlar bu yazılımları inceleyerek birikimlerini arttırabilirler, yazılımları inceleyerek birikimlerini arttırabilirler, yeni fikirlerini sınayabilirleryeni fikirlerini sınayabilirler