13 Mayıs 2009 Çarşamba

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.