Wednesday, May 13, 2009

Eurovision, Hadise ve Zemana Anti-Webcam

Karışık bir başlık gibi gözüküyor ancak anlatmaya çalışacağım.

Güzel sarkıcı Hadisenin milliyet.com.tr deki klibini izlemek isteyen bir çok AntiLogger kullanıcısı,tarafımıza Webcam logger uyarisi ile karsılaştıklarını belirten geri bildirim yaptı.

İlk basta milliyet.com.tr’ın mass sql injection saldırılarına maruz kaldığını ve infecte olduğunu düşündük. Sonrasında yaptığımız derinlemesine incelemede durumun tahmin ettiğimiz gibi olmadığını, verilen uyarının bu sitedeki bazı flash animasyonlar için verildiğini gördük.

AntiLogger’ın verdiği uyarılarda 1.etken ilgili flash animasyonları kodlayanların hatalı kodlamaları, 2.Etken Mocramedia mimarisinin zaafları ve 3.etken ise, geri bildirimleri ile WebCam koruma modülümüzü daha agresif yapmamızı telkin eden ve bu agresifliği yapmamızı sağlayan TEAkolik tir :)

İnceleme sonuçlarına dönecek olursak, AntiLogger milliyet.com tr deki ilgili flash animasyon için verilmesi gereken bir uyarı vermiş ancak bu uyarı aynı zamanda gereksiz bir uyarı olmuştur.

Milliyet.com.tr daki Flash’ın web kamerasına bağlanmak gibi bir amacı olmadığı için yanlış uyarı diyoruz, ancak ilgili Flash’, Flash player’in (Flash10b.ocx) web kamerasına bağlanmasına sebep verdiği içinde doğru uyarı diyoruz.

Action scriptte kamera objesi oluşturulduğu gibi Macromedia Flash Player, sistemde webcam olup olmadığına bakıyor ve varsa kullanıcıya soru sormadan bağlanıyor. Ancak bu obje üzerinden getCamera() dendiğinde kullanıcıya alttaki uyarıyı gösteriyor.


Durum böyle olunca aslında bu uyarıdan çok daha önce iexplore. exe içinde çalışan Flash10b.ocx componenti web kamerasına bağlantı kurmuş oluyor ve AntiLogger da bu bağlantı öncesi uyarı veriyor. Halbuki belki kamera objesi kullanılmayacak.

Bu durumda ilgili falsh’i kodlayan kişi bir yerde Kamera objesini yada bu objeyi dolaylı yoldan çağıran bir component kullandıysa bu uyarının vermesine sebebiyet verecektir.

Aslında Macromedia Flash Player bu obje oluşturulduğunda değil, bu class’a ait webcam bağlantı fonksiyonu çağrıldığında gerçekten uyarı vermeli ve uyarı doğrulanırsa webcam cihazına bağlanmalı ki bu şekilde olsa AntiLogger Flash player uyarısı onaylandıktan sonra kendi uyarısını gösterirdi.

Nedense Macromedia Player bu Camera onjesini gördüğü gibi webcam bağlantısına hazırlayıp çağrıları bekliyor. Burada Flash Player mimarisinde bir kodlama hatası var gibi görünüyor ve güvenlik riskide yaratabilir. Yakın geçmişte yine flash taki bir acık ile kullanıcı onayı istemeden hackerlar kullanıcıların web kameralarını kayıt altına almışlardı. Aynı açıktan, AntioLogger kullanıcıları, ikinci bir uyarı aldıkları için etkilenmemişlerdi.

Eğer Flash programlayıcısı iseniz ve AntiLogger, animasyonlarınızda webcam bağlantısı gerekmediği halde Webcam logger uyarısı veriyor ise Kamera object’ini kullanmaktan sakininiz.

Örneğin alttaki sitede GO butonuna basınca kameranıza bağlanıyor ve resminizi çekiyor. Doğru kodlanmış bir flash olduğunu anlıyoruz, çünkü flash açıldığı gibi AntiLogger uyarı vermiyor, sadece GO butonu basıldığında kamera bağlantısı kuruluyor ve ilk önce AntiLogger, arkasında da Flash Player uyarı veriyor.
http://www.picanom.com/

Google da Hadise diye arayıp bu postu bulanlar bu ne alaka diyeceklerdir. Bu yüzden yanlış uyarıya sebep veren Hadisenin kilibinin linkinide verelim:
http://www.milliyet.com.tr/Yasam/SonDakika.aspx?aType=SonDakika&ArticleID=1093499&Date=12.05.2009&b=Hadisenin

Sonuç olarak ne Macromedia’dan Flash Player’i nede Flash programcılarından Flash’larını istediğimiz gibi kodlamalarını isteyemeyiz. Bundan dolayı Flash Player Internals üzerine AR-GE yapip ileriki sürümlerde bu yanlış uyarıların önüne geçmeye çalışacağız.

Bu zaman zarfında güvendiğiniz sitelere onay vermelisiniz aksi halde Browser kapanır.
Ancak IE8’e yada Google Chrom’a terfi ettiyseniz ve bu eylemi engellediyseniz alttaki resimdeki gibi sadece ilgili tab kapanacaktır, çünkü bu iki browser her tab için ayrı bir process oluşturuyor ve AntiLogger’da bu process’i kill edince ana browser kapanmıyor. İlk defa chrome’un uyguladığı bu teknolojiyi simdi IE8 de uyguladı ve Mozilladan gelen habere Gorede FireFox yeni versiyonda uygulayacakmış. Bu teknoloji hakkında da ayrıca bir blog yazacağım.




4 comments:

  1. "Action scriptte kamera objesi oluşturulduğu gibi Macromedia Flash Player, sistemde webcam olup olmadığına bakıyor ve varsa kullanıcıya soru sormadan bağlanıyor."

    Kimilerine göre gereksiz bir uyarı olarak algılansada bence get_camera talebinde bulunan bir flash animasyon için muhakkak Zemana'nın uyarı vermesi taraftarıyım :) Geçmişte zaten bu tip yöntemle görüntü çalanları gördük.

    Yinede kullanıcılardan gelen talepler üzerine bu uyarıyıda kapatabilirsiniz. Tabi birisi sizin flash ile görüntünüzü alıp XXXX sitesinde yayınlar ayrı mesele :)

    Buradan tüm coder arkadaşlara çağrıda bulunalım gereksiz yere gereksiz kod kalabalığı etmeyin. Her zaman fazlalık kodlar ve alakasız kodlar insanların canlarını sıkabilir :)

    ReplyDelete
  2. Teakolik bence haklı. Kullanıcılar bunu bir saldırı gibi algılıyor olabilir fakat neticede bu bir program. Programın, "Bak, dikkatli ol burada bir gariplik var. Hatalı kod olabilir ya da gerçek bir saldırı olabilir" gibi uyarı vermesi çok doğal ve sistem yöneticileri bu uyarıları genelde sever :)

    Bu uyrarıdan sonra ; "Bu siteye güveniyorsanız, devam edebilirsiniz fakat kameranızın önünü kapatmanızı öneririz." diyebilir :)

    ReplyDelete
  3. Konu ile pek alakası yok lakin üçtür denememe rağmen programınızı sonladırarak işlevsiz hale getiren bir message-handling açığını siteniz üzerinden size göndermeye çalışıyorum ancak bilginin tarafınıza ulaşıp ulaşmadığını belirten bir onay ibaresi çıkmadığından bundan emin olamadım. Kontrol edebilirseniz sevinirim. İyi çalışmalar.

    ReplyDelete
  4. @İbrahim Akgül

    Zamaniniz ve ilginiz icin tesekkur ederiz. Ancak guvenlik acigi ile ilgili bir rapor almadik; ancak otomatik error report sistemi uzerinden ilettiyseniz gozden kacmis olabilir cunku o sistemde epeyce bi trafik var.

    Alttaki adreslerden birine tekrar yolliyabilirseniz seviniriz.
    bug@zemana.com
    erkan.arnaudov@zemana.com

    ReplyDelete