WEB TABANLI ANDROİD KÖTÜCÜL YAZILIM TESPİT SİSTEMİ. Ömer KİRAZ YÜKSEK LİSANS TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "WEB TABANLI ANDROİD KÖTÜCÜL YAZILIM TESPİT SİSTEMİ. Ömer KİRAZ YÜKSEK LİSANS TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI"

Transkript

1

2 WEB TABANLI ANDROİD KÖTÜCÜL YAZILIM TESPİT SİSTEMİ Ömer KİRAZ YÜKSEK LİSANS TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ HAZİRAN 2017

3 Ömer KİRAZ tarafından hazırlanan WEB TABANLI ANDROİD KÖTÜCÜL YAZILIM TESPİT SİSTEMİ adlı tez çalışması aşağıdaki jüri tarafından OY BİRLİĞİ ile Gazi Üniversitesi Bilgisayar Mühendisliği Anabilim Dalında YÜKSEK LİSANS TEZİ olarak kabul edilmiştir. Danışman: Yrd.Doç.Dr.İbrahim Alper DOĞRU Bilgisayar Mühendisliği, Gazi Üniversitesi Bu tezin, kapsam ve kalite olarak Yüksek Lisans Tezi olduğunu onaylıyorum... Başkan : Prof. Dr. Ali YAZICI Yazılım Mühendisliği, Atılım Üniversitesi Bu tezin, kapsam ve kalite olarak Yüksek Lisans Tezi olduğunu onaylıyorum... Üye : Doç. Dr. Necaattin BARIŞÇI Bilgisayar Mühendisliği, Gazi Üniversitesi Bu tezin, kapsam ve kalite olarak Yüksek Lisans Tezi olduğunu onaylıyorum... Tez Savunma Tarihi: 05/06/2017 Jüri tarafından kabul edilen bu tezin Yüksek Lisans Tezi olması için gerekli şartları yerine getirdiğini onaylıyorum... Prof. Dr. Hadi GÖKÇEN Fen Bilimleri Enstitüsü Müdürü

4 ETİK BEYAN Gazi Üniversitesi Fen Bilimleri Enstitüsü Tez Yazım Kurallarına uygun olarak hazırladığım bu tez çalışmasında; Tez içinde sunduğum verileri, bilgileri ve dokümanları akademik ve etik kurallar çerçevesinde elde ettiğimi, Tüm bilgi, belge, değerlendirme ve sonuçları bilimsel etik ve ahlak kurallarına uygun olarak sunduğumu, Tez çalışmasında yararlandığım eserlerin tümüne uygun atıfta bulunarak kaynak gösterdiğimi, Kullanılan verilerde herhangi bir değişiklik yapmadığımı, Bu tezde sunduğum çalışmanın özgün olduğunu, bildirir, aksi bir durumda aleyhime doğabilecek tüm hak kayıplarını kabullendiğimi beyan ederim. Ömer KİRAZ 05/06/2017

5

6 iv WEB TABANLI ANDROİD KÖTÜCÜL YAZILIM TESPİT SİSTEMİ (Yüksek Lisans Tezi) Ömer KİRAZ GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ Haziran 2017 ÖZET İstatiksel araştırmalara göre akıllı telefonların en çok kullandığı mobil işletim sistemi Google tarafından geliştirilmiş olan Android dir. Android işletim sistemi Linux tabanlı ve açık kaynak kodludur. Google Play uygulama marketine uygulama yüklenirken uygulamanın detaylı olarak analizi yapılmadığından dolayı Google Play market ve diğer uygulama marketlerindeki uygulamaların iyicil ya da kötücül olduğu bilinmemektedir. Bu yüzden Google Play marketteki ve diğer uygulama marketlerindeki uygulamaların kötücül veya iyicil olduğunu analiz yapan sistemlere ihtiyaç vardır. Bu tezde, Android kötücül yazılım tespit sistemleri üzerine güncel araştırmalar incelenmiştir ve statik analiz yöntemini kullanan istemci ve sunucu mimarisine sahip bir web uygulaması geliştirilmiştir. İstemci ve sunucu mimarisine sahip uygulamanın geliştirilmesindeki en önemli neden cep telefonlarının kısıtlı kaynaklara sahip olmasıdır. Android uygulamaların kötücül veya iyicil olduğunun tespitini yapan hesaplama yönteminin başarısını arttırmak için hesaplama yönteminde VirsuTotal API kullanılmıştır. Geliştirilen web uygulaması ile kullanıcılar Android uygulamaları sunucuya yükleyerek ya da uygulama arayarak analiz yapabilmektedir. Android uygulamaları sunucuya arayarak yükleyebilmek için öncelikle Google Play marketten aranan uygulama ile ilgili bilgiler web kazıma ile elde edilmektedir. İndirilmek istenilen uygulama seçilerek Android uygulamalara sahip web sayfalarında web kazıma işlemi yapılarak otomatik olarak indirilmektedir. Geliştirilen sistemin iyicil ve kötücül veri setlerindeki başarısı test sonuçlarına göre %97,02'dir. Bilim Kodu : Anahtar Kelimeler : Android, Kötücül yazılım tespit sistemi, Android güvenlik, Mobil güvenlik, Statik analiz Sayfa Adedi : 86 Danışman : Yrd. Doç. Dr. İbrahim Alper DOĞRU

7 v WEB BASED ANDROID MALWARE SOFTWARE DETECTION SYSTEM (M. Sc. Thesis) Ömer KİRAZ GAZİ UNIVERSITY GRADUATE SCHOOL OF NATURAL AND APPLIED SCIENCES June 2017 ABSTRACT According to statistical studies, the mobile operating system most used by smartphones is Android, which is developed by Google. Android operating system is Linux based and open sourced. However, it is not known whether the applications from Google Play and other stores are malicious software or not because applications uploaded to Google Play are not analyzed in detail. Therefore, there is a need for systems that analyze applications from Google Play and other stores for malicious software. In this thesis, up-to-date studies on Android malware detection systems were reviewed and a web application using clientserver architecture and static analysis method was developed. The most important reason behind the client-server architecture is the fact that mobile phones have limited resources. VirusTotal API was used to increase the success rate of the calculation method that determines if an Android application is malicious or not. Via this web application, users can analyze applications by uploading the Android applications to the server or searching for the applications. For users to be able to upload the applications to the server by searching, first, the related information about the application is obtained from Google Play using web-scrapping technique. When the application is selected, it is automatically downloaded using web-scrapping from websites that serve Android applications. According to the evaluation, the developed system has a success rate of 97.02% on benign and malicious datasets. Science Code : Key Words : Android, Malware detection systems, Android security, Mobile security, Static analysis Page Number : 86 Supervisor : Assist. Prof. Dr. İbrahim Alper DOĞRU

8 vi TEŞEKKÜR Yüksek lisans çalışmalarımın her aşamasında kıymetli katkıları ve eleştirileriyle yol gösteren, beni her zaman çalışmalarımın ilerlemesi yönünde teşvik eden ve güven veren değerli danışmanım Yrd. Doç. Dr. İbrahim Alper DOĞRU ya teşekkür ederim. Ayrıca, okul hayatım boyunca her türlü zorluğa rağmen desteklerini ve sevgilerini benden esirgemeyen, bana gönül bağıyla bağlı olan annem, babam, kardeşlerimle birlikte bana olan sevgisi ve sabrı hiç bitmeyen nişanlıma tüm kalbimle sonsuz teşekkür ediyorum.

9 vii İÇİNDEKİLER Sayfa ÖZET... ABSTRACT... TEŞEKKÜR... İÇİNDEKİLER... ÇİZELGELERİN LİSTESİ... ŞEKİLLERİN LİSTESİ... SİMGELER VE KISALTMALAR... iv v vi vii ix x xii 1. GİRİŞ YÖNTEM VE ARAÇLAR Statik Analiz Yöntemi Literatürde geçen statik analiz yöntemleri Literatürdeki diğer analiz yöntemleri Android İşletim Sistemi Mimarisi ve Kötücül Yazılımlar Akıllı cihazlar Android işletim sistemi mimarisi Android uygulamaların yapısı Android güvenlik politikaları Kötücül yazılım aileleri İSTEMCİ-SUNUCU MİMARİSİNDE GELİŞTİRİLEN ANDROİD KÖTÜCÜL YAZILIM TESPİT SİSTEMİ İyicil ve Kötücül Uygulama Veri Setlerinin Oluşturulması Uygulamaların Bilgilerinin Elde Edilmesi Kötücül ve İyicil Uygulama Değerlendirme İşlemi Veritabanı Tasarımı... 50

10 viii Sayfa 4. BULGULAR VE TARTIŞMA SONUÇ KAYNAKLAR EKLER EK-1. Eşik değer hesaplanması için kullanılan kod parçası EK-2. Apktool ile tersine mühendislik yapılabilmesi için kullanılan kod parçası EK-3. Google Play web sayfasındaki web kazıma işlemi için kullanılan kod parçası.. 82 EK-4. APKPure web sayfasındaki web kazıma işlemi için kullanılan kod parçası EK-5. APK Leecher web sayfasındaki web kazıma işlemi için kullanılan kod parçası 84 EK-6. APKBucket web sayfasındaki web kazıma işlemi için kullanılan kod parçası ÖZGEÇMİŞ... 86

11 ix ÇİZELGELERİN LİSTESİ Çizelge Sayfa Çizelge 1.1. Tehlikeli izin ve izin grupları... 2 Çizelge 3.1. Veri seti özeti Çizelge 3.2. VirusTotal e göre oluşan veri seti özeti Çizelge 3.3. Statik analiz çalışmalarında kullanılan veri seti bilgileri Çizelge 3.4. İyicil veri setinde en çok kullanılan 10 izin Çizelge 3.5. Kötücül veri setinde en çok kullanılan 10 izin Çizelge 3.6. Kötücül veri setinde en çok kullanılan 10 kötücül yazılım ailesi Çizelge 3.7. FakeInstaller kötücül yazılım ailesinin en çok kullandığı 10 izin Çizelge 3.8. DroidKungFu kötücül yazılım ailesinin en çok kullandığı 10 izin Çizelge 3.9. Plankton kötücül yazılım ailesinin en çok kullandığı 10 izin Çizelge En yüksek ve en düşük kötücül değerlere sahip izinler Çizelge 4.1. Android 4.1 sürümündeki izinlere göre değerlendirme sonuçları Çizelge 4.2. Veri setlerindeki uygulamaların kullandıkları izinlere göre değerlendirme sonuçları Çizelge 4.3. Android 4.1 deki izinler ve VirusTotal e göre değerlendirme sonuçları Çizelge 4.4. Veri setlerindeki izinler ve VirusTotal e göre değerlendirme sonuçları Çizelge 4.5. Statik analiz yöntemlerinin karşılaştırılması... 67

12 x ŞEKİLLERİN LİSTESİ Şekil Sayfa Şekil 2.1. DroidMat mimarisinin yapısı... 4 Şekil 2.2. Drebin aracının statik analiz adımları... 5 Şekil 2.3. APK Auditor sistem mimarisi... 6 Şekil 2.4. DroidOL sisteminin mimarisi... 7 Şekil 2.5. Wang ve diğerlerinin geliştirdiği sistemin mimarisi... 8 Şekil 2.6. Sokolova ve diğerlerinin geliştirdiği sistemin çalışma prensibi... 9 Şekil 2.7. Dexteroid mimarisi Şekil 2.8. Anwar ve diğerlerinin geliştirdiği sistem mimarisi Şekil 2.9. Wu ve diğerlerinin geliştirdiği sistem mimarisi Şekil Arslan ve diğ. nin geliştirdiği sistemin akış diyagramı Şekil Aynı tip ama farklı uygulamaların internet ağ trafik deseni Şekil ShotGun ve K-9 mail uygulamalarının virüslü ve virüssüz versiyonlarının ağ trafik desenleri Şekil TrafficAV sisteminin çalışma adımları Şekil DroidAuditor sisteminin çalışma mimarisi Şekil Andro-Profiler sisteminin çalışma mimarisi Şekil Garg ve diğerlerinin geliştirdiği sistemin iş akışı Şekil Chang ve diğerlerinin geliştirdiği sistemin mimarisi Şekil Shi ve diğerlerinin geliştirdiği sistemin mimarisi Şekil ScanMe Mobile sisteminin mimarisi Şekil Singh ve diğerlerinin geliştirdiği sistemin mimarisi Şekil Wang ve diğerlerinin geliştirdiği sistemin mimarisi Şekil Dünya çapındaki akıllı telefon işletim sistemi pazar payı Şekil Android işletim sistemi mimarisi... 27

13 xi Şekil Sayfa Şekil Android uygulaması sonucu oluşan dosyalar Şekil AndroidManifest.xml örneği Şekil Android temel bileşenleri Şekil Toplam uygulama ve market başına tespit edilen kötücül yazılım Şekil 3.1. Geliştirilen sistemin mimarisi Şekil 3.2. Alıcı işlem karakteristikleri eğrisi karşılaştırması Şekil 3.3. Eşik değer hesaplanması için kullanılan kod parçasının algoritması Şekil 3.4. Tersine mühendislik kod parçasının algoritması Şekil 3.5. Geliştirilen sistemin varlık-ilişki diyagramı Şekil 3.6. Geliştirilen web uygulamasının çalışma adımları Şekil 3.7. Geliştirilen web uygulamasının uygulama arama arayüzü Şekil 3.8. Google Play web sayfasındaki web kazıma işleminin algoritması Şekil 3.9. XPath yolunun belirlenmesi Şekil Futbol kelimesine göre çıkan arama sonucu Şekil APKPure web sitesindeki web kazıma kod parçasının algoritması Şekil APKPure web sayfasında bulunan indirme linki Şekil APK Leecher web sitesindeki web kazıma kod örneğinin algoritması Şekil APK Leecher web sayfasında bulunan indirme linki Şekil APKBucket web sitesindeki web kazıma kod örneğinin algoritması Şekil APKBucket web sayfasında bulunan indirme linki Şekil Uygulama yükle seçeneğinin ekran görüntüsü Şekil Analiz sonucunun ekran görüntüsü... 62

14 xii SİMGELER VE KISALTMALAR Bu çalışmada kullanılmış kısaltmalar, açıklamaları ile birlikte aşağıda sunulmuştur. Kısaltmalar Açıklamalar API Application Programming Interface APK Android Package ASM Android Security Modules CPU Central Process Unit DNS Domain Name Service GPS Global Positioning System HTTP Hyper Text Transfer Protocol IMEI International Mobile Equipment Identity IMSI International Mobile Subscriber Identity IOS iphone Operating System KNN K Nearest Neighbour MD5 Message Digest 5 PCAP Package Capture ROC Receiver Operating Characteristic SD Secure Digital SMS Short Message Sevice TCP Transmission Control Protocol

15 1 1. GİRİŞ Akıllı telefonların kullanımı dünya çapında günden güne artmaktadır. Akıllı telefon kullanıcıları bilgisayarlarına ihtiyaç duymadan banka, alışveriş, web sayfası gezintisi, oyun oynama ve benzeri işlemleri kolaylıkla gerçekleştirmektedir. International Data Corporation (IDC) firmasının çeyrek raporuna göre; dünya çapında akıllı telefon pazarında yıllık %1,1 artış gerçekleşmiştir ve akıllı telefon pazarında Android in market pazarındaki payı %86,8 olarak gerçekleşmiştir [1]. G Data H1/2016 raporuna göre 2016 yılının ilk yarısında dünya çapında Android platformunun kullanımı %68 olarak belirlenmiştir [2]. Ayrıca yine bu rapora göre adet yeni kötücül uygulama örneği tespit edilmiştir [2]. Yeni kötücül yazılımların sayısı artmakta ve buna paralel olarak kötücül yazılımların tespit edilmesini engellemek için kötücül yazılımların karmaşıklığı da artmaktadır. Google I/O 2017 de duyurulan Google Play Protect in, Play Store uygulamasına gömülü olarak çalışacağı ve uygulamaların yüklenmeden önce ve yüklenmeden sonra taratılacağı belirtilmiştir [3,4]. Android platformunun özgür ve açık kaynak kodlu bir işletim sistemine sahip olması ve Google Play markete [5] uygulama eklenirken uygulamanın detaylı olarak bir incelemesi yapılmamasından dolayı Android uygulamalar kötücül yazılım geliştiricilerin hedefi haline gelmiştir. Bunları engellemek için Android market çalışmalar yapmaktadır. Bu doğrultuda Android 6.0 Marshmallow ile birlikte Çizelge 1.1 de verilen Android in tehlikeli olarak belirlemiş olduğu izinler çalışma zamanında kullanıldığında işletim sistemi kullanıcıya uyarı vererek iznin kullanımı için kullanıcıdan izin almaktadır. Ayrıca yine bu sürümde önceki sürümlerden farklı olarak uygulamaların kullandıkları izinleri kapatma seçeneği sunulmaktadır. Bu belirtilen özellikler Android 6.0 ve sonrasını kapsadığından dolayı eski Android sürümlerini kullanan kullanıcılar bu özellikleri kullanamayacaklardır. Android kullanıcılarının %87 si güncel olmayan sürümleri kullandığından bütün Android kullanıcılarını kapsayan çözümler gereklidir [2].

16 2 Çizelge 1.1. Tehlikeli izin ve izin grupları [6] İZİN GRUBU TAKVİM KAMERA REHBER KONUM MİKROFON TELEFON SENSÖRLER SMS DEPOLAMA İZİNLER READ_CALENDAR WRITE_CALENDAR CAMERA READ_CONTACTS WRITE_CONTACTS GET_ACCOUNTS ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION RECORD_AUDIO READ_PHONE_STATE CALL_PHONE READ_CALL_LOG WRITE_CALL_LOG ADD_VOIC USE_SIP PROCESS_OUTGOING_CALLS BODY_SENSORS SEND_SMS RECEIVE_SMS READ_SMS RECEIVE_WAP_PUSH RECEIVE_MMS READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE Bu yüzden Google Play market [5] ve diğer uygulama marketlerinde bulunan uygulamaların iyicil ya da kötücül yazılım olduğunu tespit eden sistemlerin geliştirilmesi gereklidir. Uygulamaların iyicil ya da kötücül olduğunu statik analiz yöntemi kullanarak tespit eden sunucu ve istemci mimarisinde geliştirilmiş Android kötücül yazılım tespit sistemi olarak tanımlanabilecek olan tez çalışmasının geri kalanı şu şekilde planlanmıştır: 2. bölümde tez çalışmasında kullanılan yöntem ve araçlar sunulmuştur. 3. bölümde geliştirilen web tabanlı Android kötücül yazılım tespit sistemi tüm detaylarıyla sunulmuştur. 4. bölümde çalışma kapsamında elde edilen bulgular ve tartışma sunulmuştur. Son olarak 5. bölümde sonuç ve öneriler sunulmuştur.

17 3 2. YÖNTEM VE ARAÇLAR Android kötücül yazılım çeşitleri ve sayısı arttıkça koruma yöntemleri artmakta ve çeşitlenmektedir [7]. Android uygulamalarda bulunan kötücül yazılımları tespit etmek için tez çalışmasında statik analiz yöntemini kullanan bir sistem geliştirilmiştir. Bu başlık altında literatürdeki statik analiz yöntemini kullanan çalışmalardan ve literatürde bulunan diğer analiz yöntemlerinden bahsedilmiştir Statik Analiz Yöntemi Statik analiz yöntemi, uygulamanın Android cihaza yüklenmeden önce kötücül olup olmadığının tespitini yapan analiz yöntemidir. Statik analiz yönteminin sağlamış olduğu en önemli avantajlardan birisi uygulamanın Android cihaza yüklenmeden önce analizin yapılmasından dolayı kötücül yazılımın Android cihaza bulaşmasını önlemesidir. Bu analiz yöntemi hızlıdır fakat kod karıştırma tekniklerine ve polimorfik zararlı yazılım (işlevselliğini değiştirmeden kodu değiştiren) ile başa çıkma becerisine karşı sınırlıdır [8]. Bu analiz yönteminde uygulamanın APK (Android Package) dosyası kullanılmaktadır. Bir apk dosyasında izinler, Java kodları, niyetler (intent), ağ adresleri, metinler ve donanım bileşenleri gibi çeşitli özellikler bulunmaktadır [9] Literatürdeki statik analiz yöntemleri Literatür taraması ile elde edilen statik analiz yöntemini kullanan çalışmalar aşağıdaki başlıklarda anlatılmıştır. DroidMat DroidMat [10], uygulamaların iyicil veya kötücül olduğunu tespit etmek için statik analiz yöntemini kullanmaktadır. Her bir uygulamaya ait AndroidManifest.xml dosyasında bulunan izinler, diğer bileşenler (aktivite, servis ve alıcı) ve uygulamaların bayt kodlarında bulunan API (Application Programming Interface) çağrıları özellik olarak kullanılmıştır [10]. DroidMat çalışmasının mimarisi Şekil 2.1 de gösterilmiştir.

18 4 Şekil 2.1. DroidMat mimarisinin yapısı [7] Şekil 2.1 deki DroidMat mimarisini inceleyecek olursak; statik davranış çıkartımı bölümünde Apktool [11] aracı kullanılarak iyicil ve kötücül uygulamaların AndroidManifest.xml ve smali dosyaları elde edilmektedir. Bu dosyalarda bulunan izinler, aktiviteler, servis ve alıcı bileşenleri, niyet (intent) ve API çağrıları özellik olarak kabul edilmektedir. Uygulama fonksiyonel davranış tespiti bölümünde kötücül uygulamaların farklı niyetlerini tespit etmek için K-means ve Expectation Maximization (Beklenti Maksimizasyonu) algoritmaları kullanılmıştır. Kümeleme algoritmalarındaki küme sayılarını tespit etmek için tekil değer ayrışımı metodu kullanılmıştır. Android kötücül yazılım tespiti bölümünde her bir kümenin özelliklerini temsil eden profiller verilerek kötücül yazılımlar KNN (K Nearest Neighbour) ve NaiveBayes sınıflandırıcı algoritmaları ile tespit edilmiştir [10]. Drebin Drebin çalışmasında, kötü amaçlı uygulamaların doğrudan akıllı telefonda tanımlanmasını sağlayan Android kötü amaçlı yazılım tespiti için bir yöntem sunulmuştur [12,13]. Geliştirilen yönteme göre uygulama kodundan ve AndroidManifest.xml dosyasından birçok

19 5 özellik toplanmıştır. Bu toplanan özellikler ortak vektör uzayına kayıt edilmektedir. Uygulamanın kullanmış olduğu izinler, niyetler ve API çağrıları ortak uzay vektöründe belirli bir bölgeye denk gelmektedir. Bu geometrik gösterim ile makine öğrenme teknikleri kullanılarak otomatik olarak kötü amaçlı yazılım tespiti yapılmaktadır. Drebin çalışmasının kullandığı statik analiz adımları Şekil 2.2 de gösterilmiştir. Şekil 2.2. Drebin aracının statik analiz adımları [14] Şekil 2.2 incelendiğinde; statik analiz adımında Android uygulamaların farklı özellik setleri AndroidManifest.xml ve dex kod dosyalarından elde edilmektedir. Vektör uzayına gömme adımında, çıkartılan özellik setleri ortak bir vektör uzayında eşleştirilmiştir. Bu vektör uzayı ile özelliklerin ve kalıpların kombinasyonları geometrik olarak analiz edilmektedir. Öğrenme tabanlı tespit adımında, özellik setlerinin gömülmesi sayesinde destek vektör makineleri (Support Vector Machines) gibi verimli makine öğrenmesi teknikleri kullanılarak kötü amaçlı yazılım tespiti yapılmaktadır. Açıklama adımında, kötücül uygulamanın tespit edilmesine katkıda bulunan özellikler tanımlanmakta ve tespit işlemine ait açıklama kullanıcıya sunulmaktadır [12]. APK Auditor APK Auditor [15], izin tabanlı Android kötücül yazılım tespiti yapan bir sistemdir. APK Auditor, Android uygulamaları iyicil veya kötücül olarak karakterize etmek ve sınıflandırmak için statik analiz yöntemini kullanmıştır. Geliştirilen sistemin mimarisi Şekil 2.3'te gösterilmiştir.

20 6 Şekil 2.3. APK Auditor sistem mimarisi [16] Şekil 2.3 incelendiğinde; geliştirilen sistem Android istemcisi, imza veritabanı ve merkezi sunucu olmak üzere üç ana bileşenden oluşmaktadır [16]. Android istemcisinin görevi sisteme uygulama yüklemek ve web servisi aracılığıyla merkezi sunucu ile iletişime geçmektir [16]. Web servisinden alınan analiz sonuçları Android telefon veya web tabanlı portal vasıtasıyla kullanıcılara sunulmaktadır [16]. Belirtilen sistemdeki imza veritabanı, analiz edilen Android uygulamaların sonuçlarını saklayan bir ilişkisel veritabanı yönetim sistemidir [16]. Belirtilen sistemdeki merkezi sunucunun görevi Android istemcisi ve imza veritabanı ile iletişim kurmak ve analiz sürecini yürütmektir [16]. DroidOL DroidOL [17], kötü amaçlı yazılım tespiti sorununu ele almaktadır ve yeni bir çevrimiçi makine öğrenme tabanlı çerçeve önermektedir. DroidOL çalışması doğru, uyarlanabilir ve ölçeklenebilir bir Android kötü amaçlı yazılım algılama sistemidir. Geliştirilen sistemin mimarisi Şekil 2.4'te gösterilmiştir.

21 7 Şekil 2.4. DroidOL sisteminin mimarisi [17] Şekil 2.4 incelendiğinde; DroidOL sistemi üç aşamadan oluşmaktadır. İlk aşamada, işlemler arası kontrol akış grafiklerinin (inter-procedural control-flow graphs) sunumlarını elde etmek için belirli bir sayıdaki uygulama üzerinde statik analiz yapılmaktadır. İkinci aşamada, işlemler arası kontrol akış grafiklerinin alt grafik özellikleri Weisfeiler-Lehman çekirdeği kullanılarak çıkarılmaktadır ve uygulamalar özellik vektörleri olarak temsil edilmektedir. Son aşamada, çevrimiçi bir pasif agresif (passive aggressive) sınıflandırıcısı kullanılarak bu vektörlerle kötü amaçlı yazılım tespit edilmek üzere eğitilmektedir [17]. ASE ASE [18] çalışmasında, sırasıyla MD5 (Message Digest 5) karakteristik değerleri algılama, kötücül izinlerin kombinasyonunu algılama, tehlikeli izinleri algılama ve tehlikeli niyeti (intent) algılamayı içeren dört filtreleme katmanlı entegre bir statik algılama sistemi önerilmektedir. MD5 karakteristik değerleri algılama katmanında, apk dosyalarından MD5 değerleri çıkarılır ve daha sonra elde edilen değer MD5 kara liste veritabanıyla eşleştirilmektedir. Kötücül izinlerin kombinasyonunu algılama katmanında, uygulamalardan istenilen izinler elde edildikten sonra mevcutta bulunan kötücül izinlerin kombinasyonu ile karşılaştırılmaktadır. Ayrıcı bu katmanda uygulamanın kullandığı izinler kötü niyetli bir ailenin kullandığı izinler ile eşleşirse bunun şüpheli kötücül bir uygulama olduğu varsayılmaktadır. Tehlikeli izinleri algılama katmanında, ilk olarak bilinen tehlikeli izinler sınıflandırılıp tanımlanmıştır. Daha sonra uygulamanın AndroidManifest.xml dosyasındaki izinler ayrıştırılmıştır. İkinci olarak, ayrıştırılmış izinler mevcut tehlikeli izin listeleriyle eşleştirilmektedir. Tehlikeli niyeti algılama katmanında, AndroidManifest.xml

22 8 dosyalarıyla ilgili derin bir analizle mevcut tehlikeli eylem listeleriyle uygulamanın istediği eylem niyeti karşılaştırılır ve tehlikeli bir eylem amacı olup olmadığı değerlendirilmektedir [18]. Wang ve diğerlerinin çalışması Wang ve diğerlerinin çalışmasında [19], kötücül ve iyicil uygulamaları kategorize etme açısından büyük bir uygulama pazarını etkin ve verimli bir şekilde yönetmek için bir sistem önerilmektedir. Önerilen sistemin mimarisi Şekil 2.5'te gösterilmiştir. Şekil 2.5. Wang ve diğerlerinin geliştirdiği sistemin mimarisi [19] Şekil 2.5 incelendiğinde, bir uygulama sisteme girdikten sonra, apk dosyasından çok sayıda özellik ayıklanmaktadır. Çoklu sınıflandırıcıların birleşimi ile uygulama kötücül olarak tanımlanırsa alarm tetiklenmektedir. Aksi durumda bir oyun uygulaması olup olmadığına bakılmaktadır. Oyun uygulaması olarak öngörülürse, sistem oyun kategorisini belirlemektedir. Eğer oyun uygulaması değilse sistem belirli bir oyun dışı kategori belirlemektedir [19]. Sokolova ve diğerlerinin çalışması Sokolova ve diğerlerinin çalışmasında [20], her bir uygulama kategorisi için normal davranışları karakterize eden, beklenen izin isteklerini vurgulayan bir sistem önerilmektedir. Ayrıca kategori kalıpları ve merkezi izinler grafik analiz metrikleri kullanılarak elde edilmektedir. Elde edilen modeller, uygulama sınıflandırmasının kategorilere göre performansı ile değerlendirilmektedir. Geliştirilen sistemin çalışma prensibi Şekil 2.6'da gösterilmiştir.

23 9 Şekil 2.6. Sokolova ve diğerlerinin geliştirdiği sistemin çalışma prensibi [20] Şekil 2.6 incelendiğinde, Google Play market [5] Android uygulamaları kategorilere göre ayırmaktadır. Grafikler aracılığıyla normal izin istekleri kategoriye göre modellenmektedir. Aynı kategorideki uygulamaların benzer olacağı ve benzer izinlere sahip olacağı ve farklı kategorilerdeki uygulamaların farklı izin taleplerine sahip olacağı varsayılmaktadır. Bu yüzden her bir kategoriyi karakterize eden izin modeli ve her kategorinin tipik bir uygulaması tespit edilmesi sağlanmış olacaktır. Belli bir kategorideki bir uygulamanın normal davranışını bilmek, ondan sapan uygulamaların yanlış kategorize edildiğini veya kötücül olduğunu tespit etmeyi sağlayacağı düşünülmektedir [20]. Dexteroid Dexteroid [21] çalışmasında, Android bileşenlerin davranışlarını doğru bir şekilde yakalamak için tersine mühendislik yaşam döngüsü modelleri kullanılmaktadır. Tersine mühendislik ile yaşam döngüsü modellerinden olay dizileri sistematik olarak türetilmektedir. Olay dizilerinden geri çağırım (callback) dizilerini elde edilmektedir. Kötü niyetli davranışları saptamak için geri çağırım dizileri üzerinde kusur analizi yapılmaktadır. Dexteroid in sistem mimarisi Şekil 2.7'de gösterilmiştir.

24 10 Şekil 2.7. Dexteroid mimarisi [21] Şekil 2.7 incelendiğinde, bir apk dosyası Dexteroid sistemine girmektedir. Dalvik bayt kodu ve AndroidManifest.xml dosyasını elde etmek için Androguard aracı [22] kullanılmaktadır. Kayıtlı bileşenler AndroidManifest.xml dosyasından tanımlayarak bu bileşenleri tekrar tekrar analiz edilmektedir. Dexteroid çerçevesi, her bileşen için sistematik olarak tersine mühendislik ile yaşam döngüsü modelinden olay dizilerini türetmektedir. Bu olay dizilerinden geri çağırım dizilerini türetmektedir. Geri çağırım dizilerinin permütasyonları üretilir ve kötücül davranışları saptamak için kusur analizi yapılmaktadır [21]. Anwar ve diğerlerinin çalışması Anwar ve diğerlerinin çalışmasında [23], mobil botnet algılamaya yönelik statik bir sistem önerilmektedir. Bu sistem; MD5, izinler, alıcılar ve arka plan hizmetleri dahil olmak üzere Android uygulamaların statik özelliklerini göz önüne almaktadır. Geliştirilen sistem Şekil 2.8'de gösterilmiştir.

25 11 Şekil 2.8. Anwar ve diğerlerinin geliştirdiği sistem mimarisi [23] Şekil 2.8 incelendiğinde, önerilen sistem mobil botnet saldırılarının özelliklerine sahip uygulamaları tespit edebilen dört katmanlı bir yapıya sahiptir. Bu dört katmanlı yapı sırasıyla MD5, izinler, yayın alıcısı ve arka plan hizmetlerine sahiptir. MD5 değerleri katmanında, uygulamanın MD5 değerleri çıkarılarak mevcut kötü amaçlı MD5 listesiyle karşılaştırmaktadır. Eğer eşleştirme olursa uygulama kötücül olarak tanımlanmaktadır, aksi durumda bir sonraki katmana geçilmektedir. İzinler katmanında, Google Play marketten [5] indirilen bazı tanınmış uygulamaların 152 adet standart izne sahip olduğu görülmüştür. Bu izinler sırasıyla normal, tehlikeli, imza ve imza-veya-sistem olmak üzere dört kategoriye ayrılmıştır. Yayın alıcılar kullanılarak kötücül uygulamalar cihazın yeni başladığını veya cihazda herhangi bir güncelleme olduğu bilgisini elde etmektedir. Bu alıcılar, cihaz her açıldığında kötü amaçlı arka plan servislerini başlatmaktan sorumludur. Bu yüzden yayın alıcı katmanında bu alıcılar kontrol edilmektedir. Android platformunda, arka plan işlemi çoğunlukla arka plan hizmetleri kullanılarak yapılmaktadır. Bu hizmetler bir kullanıcı arabirimi içermediğinden Android uygulamalar için arka planda işlevsellik sağlamaktadır. Bu yüzden arka plan işlemleri katmanında bu servisler kontrol edilmektedir [23]. Wu ve diğerlerinin çalışması Wu ve diğerlerinin çalışmasında [24], kötücül algılama sistemini oluşturmak için genel bir veri madenciliği yaklaşımı benimsenmiştir. Geliştirilen sistem Şekil 2.9 da görüldüğü gibi eğitim ve tanımlama olmak üzere iki aşamadan oluşmaktadır.

26 12 Şekil 2.9. Wu ve diğerlerinin geliştirdiği sistem mimarisi [24] Şekil 2.9 incelendiğinde, eğitim aşamasında sistem hem iyicil hem de kötücül Android uygulamaları eğitim veri setinde ele alarak kötü amaçlı davranış kalıplarını araştırmaktadır. Eğitim aşamasında, bir sınıflandırıcı ve işlenmiş veri akışıyla ilgili API listesi genelleştirilmiştir. Tanımlama aşamasında, sistem bilinmeyen bir Android uygulamayı girdi olarak ele almaktadır. Bu uygulamanın özellik vektörlerini çıkardıktan sonra uygulamanın kötü amaçlı olup olmadığına karar vermektedir. Sistem hassas veri aktarım yollarını keşfetmek için işlenmiş API listesini kullanarak kötücül uygulamada statik veri akış analizi yapmaktadır [24]. Arslan ve diğerlerinin çalışması Arslan ve diğerlerinin çalışmasında [25], uygulamaların istedikleri izinlerin kod tarafında ne kadar kullanıldığına dair hesaplama yaparak kötücül ve iyicil yazılımları tespit eden statik bir yaklaşımda bulunulmuştur. Geliştirilen sistemin akış diyagramı Şekil 2.10'da gösterilmiştir.

27 13 Şekil Arslan ve diğ. nin geliştirdiği sistemin akış diyagramı [25] Şekil 2.10 incelendiğinde, uygulamalara tersine mühendislik yapılması için Dex2jar [26] ve Apktool araçları [11] kullanılmıştır. Bu araçların yardımıyla izinler ve bu izinlerin uygulamada kullanılıp kullanılmadığı elde edilmiştir. Sonuçlar veri tabanına kayıt edilmiştir ve karşılaştırma yapılarak uygulamanın değerlendirilmesi yapılmıştır [25]. AndroDialysis AndroDialysis çalışmasında [27], AndroidManifest.xml dosyasında bulunan niyetler kötücül yazılımların belirlenmesinde ayırt edici bir özellik olarak kullanılmıştır. Yapılan

28 14 çalışmada kötücül yazılım belirlemede niyetlerin (intent) izinlere göre daha etkili olduğu değerlendirmesi yapılmıştır [27]. Fakat niyetlerin kötücül yazılım belirlemede izinlerin yerine geçemeyeceği düşünülmektedir. Kang ve diğerlerinin çalışması Kang ve diğerlerinin çalışmasında [28], geliştiricinin bilgilerini bir özellik olarak kullanılmıştır. Bu çalışmada kötü niyetli uygulamaları benzer gruplara göre sınıflandırarak Android kötücül yazılım tespiti için bir yöntem önerilmiştir. Uygulama sertifika seri numarası önceden tanımlı kötücül sertifika seri numaraları ile karşılaştırma yapılarak kötücül yazılımın tespitinin daha etkili yapılabileceği savunulmuştur [28,29]. Geliştirilen sistem seri numarasının yanında SMS gizlemenin şüpheli davranışını, kod içindeki kötücül yazılım komutlarını ve şüpheli izin isteklerini kontrol etmektedir Literatürdeki diğer analiz yöntemleri Android kötücül uygulamaları tespit etmek için literatürde statik analiz yönteminin yanında dinamik ve hibrit analiz yöntemleri de bulunmaktadır. Bu başlık altında literatürde bulunan dinamik ve hibrit analiz yöntemlerinden bahsedilmiştir. Dinamik analiz yöntemi Dinamik analiz teknikleri, uygulama davranışları hakkında bilgi edinmek için uygulamaları sanal ortamda veya gerçek aygıtlarda çalıştırmaktadır [30]. Bu yüzden dinamik analiz yönteminin statik analiz yönteminden en önemli farkı Android uygulamanın cihaza yüklenerek kötücül uygulamaları tespit etmeye çalışmasıdır. Dinamik analiz çalışmalarında genellikle sistem çağrıları ve ağ trafiği olmak üzere iki temel dinamik özellik türü kullanılmaktadır [9]. Shabtai ve diğerlerinin çalışması Shabtai ve diğerlerinin çalışmasında [31], uygulamaların ağ desenlerini çıkartılarak kötücül yazılımların tespit edilebileceği bir sistem geliştirilmiştir [16]. Yapılan çalışmada aynı işleve sahip farklı uygulamaların ağ trafik desenlerinin benzer desenlere sahip olacağı

29 15 savunulmuştur. Şekil 2.11 de e-posta ve internet tarayıcıların ağ trafik desenleri gösterilmiştir [16]. Şekil Aynı tip ama farklı uygulamaların internet ağ trafik deseni (farklı uygulamalar farklı renkte gösterilmiştir) a) E-posta istemcileri uygulamaları b) İnternet tarayıcısı uygulamaları [16] Şekil 2.11 incelendiğinde, farklı ama aynı işleri yapan uygulamaların ağ davranış trafiklerinin benzer oldukları görülmektedir [16]. Ayrıca Şekil 2.12 de ShotGun ve K-9 mail uygulamalarının virüslü ve virüssüz versiyonlarının ağ trafik desenleri gösterilmiştir. Şekil ShotGun ve K-9 mail uygulamalarının virüslü ve virüssüz versiyonlarının ağ trafik desenleri a) ShotGun uygulaması b) K9 Mail İstemci uygulaması [16] Şekil 2.12 incelendiğinde, ShotGun ve K-9 mail uygulamalarının farklı versiyonlarındaki ağ trafik desenleri farklı olduğu görülmektedir. Bu farklılık bu uygulamaların kötücül olduğunu göstermektedir [16].

30 16 TrafficAV TrafficAv [32], uygulamaların ağ trafiğini analiz ederek kötü niyetli ağ davranışlarını keşfetmektedir. Geliştirilen istemin çalışma adımları Şekil 2.13 te gösterilmiştir. Şekil TrafficAV sisteminin çalışma adımları [32] Şekil 2.13 incelendiğinde, önerilen sistem dört adımdan oluşmaktadır. Trafik toplama adımında, gerçek bir ağ ortamında kötücül yazılım trafiğini izlemek için aktif bir trafik üretme ve toplama platformu kullanılmaktadır. Trafik toplama adımı temel platform, trafik üreticisi, trafik toplayıcısı ve ağ proxy / güvenlik duvarı olmak üzere dört bölümden oluşmaktadır. Özellik çıkarımı adımında, tüm trafik dosyaları otomatik olarak özellik kümeleri üretmek üzere işlenmektedir. HTTP (Hyper Text Transfer Protocol) istek paketleri ve TCP (Transmission Control Protocol) akışlarının özelliklerini ayıklamak için Python diliyle yazılmış iki program kullanılmaktadır. Öğrenme tabanlı algılama adımında, algılama modellerini eğitmek için C4.5 karar ağacı algoritması kullanılmaktadır. C4.5 karar ağacı algoritmaları ağaç yapısına dayalı bir model oluşturulmaktadır. Sonuç açıklaması adımında, tespit sonuçları gösterilmektedir [32]. DroidAuditor DroidAuditor [33] çalışması, gerçek Android cihazlarda uygulama davranışını gözlemleyen ve grafik tabanlı temsili oluşturan bir davranış analiz sistemidir. Android işletim sisteminin tüm katmanlarındaki uygulama davranışlarını gözlemlemek için ASM (Android Security Modules) [34] erişim kontrol mimarisini kullanmaktadır. DroidAuditor sisteminin mimarisi Şekil 2.14 te gösterilmiştir.

31 17 Şekil DroidAuditor sisteminin çalışma mimarisi [33] Şekil 2.14 incelendiğinde, DroidAuditor üç ana bileşeni kullanarak davranış grafiklerini üretmektedir. Mobil cihazda, Android uygulamalar güvenlik veya gizlilik açısından kritik olan kaynaklara eriştiğinde, Android güvenlik modüller çerçevesi ile DroidAuditor ASM ye bildirilmektedir (Adım 1-4). DroidAuditor ASM bu olayları kimliği doğrulanmış ve şifrelenmiş bir kanal (Adım B) vasıtasıyla DroidAuditor veritabanına iletmektedir. Güvenlik analistleri DroidAuditor istemcisini kullanarak davranış grafiği ile etkileşim kurmaktadır (Adım C) [33]. Andro-Profiler Andro-Profiler [35] çalışmasında, sistem çağrıları dahil olmak üzere entegre sistem günlüklerinden çıkarılan davranış profillerini kullanarak kötücül yazılımları sınıflandırmaktadır. Andro-Profiler, entegre sistem günlüklerini oluşturmak için sanal cihazda kötü niyetli bir uygulamayı çalıştırır ve entegre sistem günlüklerini analiz ederek insan tarafından okunabilen davranış profillerini oluşturmaktadır. Andro-Profiler sisteminin çalışma mimarisi Şekil 2.15'te gösterilmiştir.

32 18 Şekil Andro-Profiler sisteminin çalışma mimarisi [35] Şekil 2.15 incelendiğinde, Andro-Profiler sistemi mobil cihazlar için bir istemci uygulaması, profilleme ve analiz yapmayı sağlayan uzak sunucudan oluşmaktadır. Mobil cihazdaki istemci uygulaması yüklü uygulama bilgilerini toplamaktadır ve bu bilgileri uzaktaki sunucuya göndermektedir. İstemci uygulaması sadece apk dosyası ve paket adı gibi uygulama bilgilerini göndermektedir. Uzak sunucu bu uygulamayı elde edemezse, istemci uygulaması uygulama dosyasını uzaktaki sunucuya göndermektedir. Uzak sunucu bot, veri havuzu ve analiz birimi olmak üzere üç bileşenden oluşmaktadır. Uzak sunucu, kötü niyetli uygulamayı analiz eder ve davranışlarına göre kötücül olup olmadığını belirlemektedir. Bot bileşeni, resmi uygulama pazarları ve alternatif uygulama pazarları gibi depolardan uygulamaları taramaktadır. Taranan uygulamanın bir kopyası varsa atılır; aksi takdirde veri havuzu bileşeni, bu uygulamayı analiz birimi bileşenine göndermektedir. Analiz işlemi tamamlandıktan sonra, analiz birimi bileşeni analiz sonuçlarını depo bileşenine ve istemci uygulamasına göndermektedir [35].

33 19 Garg ve diğerlerinin çalışması Garg ve diğerlerinin çalışmasında [36], kötücül uygulamaları ağ üzerinde gözlemci bir göz ile ağ etkinliğine bakarak tespit etmeye çalışan bir sistem geliştirilmiştir. Ayrıca geliştirilen model ağ izlerini kullanarak kötücül uygulamaları tespit etmek, işletim sistemlerinin farklı sürümleriyle çalışmak, bilinmeyen uygulamaları tespit etmek ve şifrelenmiş verilerle virüs bulaşmış uygulamaları tespit etme yeteneklerine sahiptir. Geliştirilen sistemin iş akışı Şekil 2.16 daki gibidir. Şekil Garg ve diğerlerinin geliştirdiği sistemin iş akışı [36] Şekil 2.16 incelendiğinde, geliştirilen sistem ilk olarak uygulamaları toplamaktadır. Uygulamalar toplandıktan sonra uygulamaların ağ izlerinin elde edilmesi aşamasına geçilmektedir. Ağ izleri, uygulamaları farklı mobil aygıtlarda ayrı olarak çalıştırmaktadır. Her uygulama için 8-15 saatlik bir zaman dilimi boyunca periyodik olarak (örneğin her t saniyede bir) PCAP (Packet Capture) işlemini yapmaktadır. Özellik çıkarımı aşamasında, mobil cihazda çalışan her uygulamanın çeşitli ağ özelliklerini ayıklama işlemi yapılmaktadır. Özellikler dört farklı trafik kategorisinden seçilir: DNS (Domain Name Service), HTTP, TCP ve kaynak hedefli tabanlıdır. Tespit aşamasında, makine öğrenme sınıflandırıcı algoritmaları kötücül ve normal dahil olmak üzere farklı uygulamaların ağ davranışlarını izlemektedir ve öğrenmektedir. Bu sınıflandırıcılar, cihazda çalışan uygulamaların örneklerini çevrimiçi olarak test edebilmek için bir dedektör olarak çalışmaktadır [36]. Hibrit Analiz Yöntemi Hibrit analiz yöntemi, statik ve dinamik analiz yöntemlerinin birlikte kullanıldığı analiz yöntemidir. Uygulamaları çeşitli yönlerden analiz ettiğinden dolayı en kapsamlı analiz yöntemidir [9]. Bu yöntem pil, bellek ve benzeri sınırlı mevcut kaynaklar nedeniyle pahalı

34 20 bir yöntemdir [37]. Chang ve diğerlerinin çalışması Chang ve diğerlerinin çalışmasında [38], makine öğrenmesi kullanılarak Android davranış bazlı kötü amaçlı yazılım algılama sistemi önerilmektedir. Bu çalışmada DroidBox [39] yapısına ek olarak otomatik tetiklenen görünüm tanımlama programı eklenmiştir. Bu program sayesinde mobil uygulamalara anlamlı sıraya göre ulaşılmaktadır. Geliştirilen sistemin mimarisi Şekil 2.17'de gösterilmiştir. Şekil Chang ve diğerlerinin geliştirdiği sistemin mimarisi [39] Şekil 2.17 incelendiğinde, geliştirilen sistem; ön işleme, veri izleme, karar modeli ve veritabanı olmak üzere dört bileşenden oluşmaktadır. Ön işleme aşamasında, ilk olarak AndroidManifest.xml dosyasında bulunan uygulamanın paket adı ve ana aktivite adı elde edilmektedir. İkinci olarak hedef uygulamanın özgün imzası silinmektedir. Üçüncü olarak imza için Android anahtar oluşturulmaktadır. Son olarak oluşturulan anahtar ile tetikleyici program ve hedef uygulama imzalanmakta ve Android emülatöre yüklenmektedir. Veri izleme aşamasında, ilk olarak DroidBox statik ön kontrol işlemi yapılmaktadır. İkinci olarak Robotium tetik paketi ile enstrümantasyon TestRunner otomatik olarak başlatılmaktadır. Son olarak log toplayıcı ile oluşan loglar toplanmaktadır. Karar modeli

35 21 aşamasında, makine öğrenmesi metotları kullanılmaktadır. Özellik verisi olarak dinamik davranışlar ve izinler kullanılmaktadır. Dinamik davranışlara dosya okuma / yazma, ağ davranışları, servisler, alıcılar örnek olarak verilebilir. Karar modeli ile elde edilen sınıflandırma sonuçları veritabanında saklanmaktadır [39]. Shi ve diğerlerinin çalışması Shi ve diğerlerinin çalışmasında [40], güvenlik tehdidi ve mobil uygulamadaki saldırıyı tespit etmek için statik ve dinamik analizleri birleştiren karma bir sistem önerilmektedir. Geliştirilen sistemin mimarisi Şekil 2.18 de gösterilmiştir. Şekil Shi ve diğerlerinin geliştirdiği sistemin mimarisi [40] Şekil 2.18 incelendiğinde, geliştirilen sistem statik ve dinamik analiz olmak üzere iki ana safhadan oluşmaktadır. İlk aşamada, Apktool [11] kullanılarak apk dosyası içinde bulunan bütün dosyalar elde edilmektedir. Bu statik analiz aşamasının odak noktası AndroidManifest.xml dosyasını analiz etmektir. Ayrıca bu statik analiz aşamasında dosya ve metin desenlerinin okunması için bir Java uygulaması geliştirilmiştir. AndroidManifest.xml dosyasından başlama aktivitesi elde edilmektedir ve bu bilgi hassas API çağrılarını elde etmek için ikinci aşamada kullanılmaktadır. İkinci aşamada, uygulamayı yeniden paketlemek için Auto-sign aracı kullanılmaktadır. Yeniden

36 22 paketlenmiş uygulama çalıştırılarak dinamik analiz yapılmaktadır. Bu çalıştırma işlemi sembolik çalıştırma olarak adlandırılmaktadır, çünkü uygulama API çağrı yolunu elde etmek için çalıştırılmaktadır [40]. ScanMe Mobile ScanMe Mobile [41] çalışmasında, yerel ve bulut tabanlı hibrit kötücül yazılım algılama sistemi geliştirilmiştir. Gerçek zamanlı saptamayı verimli bir şekilde gerçekleştirmek için mobil bulut tabanlı mimari kullanılmıştır. Geliştirilen sisteminin mimarisi Şekil 2.19'da gösterilmiştir. Şekil ScanMe Mobile sisteminin mimarisi [41] Şekil 2.19 incelendiğinde, ScanMe Mobile mimarisi Android istemcisi uygulaması, yerel kum havuzu (sandbox) sunucusu, tespit modülü, Google Bulut Mesajlaşma (Google Cloud Messaging) servisi [42] ve Google Uygulama Motoru (Google App Engine) [43] web uygulaması ve bilgi deposu olmak üzere beş bileşenden oluşmaktadır. Android istemcisi uygulaması kullanıcının sandbox sunucusuna yüklenecek bir veya daha fazla uygulama seçmesine izin vermektedir. Ayrıca bu uygulama, cihazın Google bulut mesajlaşma hizmetine kaydedilmesinden ve yeni bir mesaj alındığında kullanıcıyı bilgilendirmekten sorumludur. Google bulut mesajlaşma servisi, işlem merkezi ve mobil cihazlar arasında veri iletimini sağlayan üçüncü taraf bir hizmettir. Yerel uygulama kum havuzu sunucusu,

37 23 Ubuntu sistemi ile çalışan bir sanal makine ile apk dosyalarını analiz etmeyi sağlayan kum havuzu uygulamasıdır. Tespit modülünde, makine öğrenmeye dayalı taslaklar hazırlanmaktadır. Makine öğrenme süreci boyunca, eğitimli modül yüklenen uygulamaların kötücül ya da iyicil uygulama olduğunu belirlemek için kullanılmaktadır. Google uygulama motoru web uygulaması ve bilgi deposu, rapor derlendiğinde gönderilir ve Google uygulama motorunun veri deposunda saklanmaktadır [41]. Singh ve diğerlerinin çalışması Singh ve diğerlerinin çalışmasında [44], kötücül uygulamaların tespitinin yapılması için bir çerçeve sunulmaktadır. Bu çerçevenin amacı yapay kullanıcı davranışlarını taklit etmek ve kötücül yazılımın gerçek davranışını çözmektir. Geliştirilen sistemin mimarisi Şekil 2.20'de gösterilmiştir. Şekil Singh ve diğerlerinin geliştirdiği sistemin mimarisi [44] Şekil 2.20 incelendiğinde, Singh ve diğerlerinin geliştirdiği sistemde analiz birimi statik analizi için kullanılmaktadır. Personalizer, sensör simülatörü, olay simülatörü ve kullanıcı simülatörü dinamik için kullanılmaktadır. Kernel görüntüsü, bir emülatörde bulunan ve bulunmayan dosyaların ve dizinlerin varlığını tahrif ederek kötü amaçlı yazılım için gerçek

38 24 bir ortam aygıtı oluşturmaktadır. Analiz birimi bileşeni, Androguard'un [45] Andoapkinfo aracını kullanarak statik analiz yapmaktadır. Bu araç ile AndroidManifest.xml dosyasında bulunan aktiviteler, izinler, servisler ve alıcılar elde edilmektedir. Personalizer bileşeni, izinler.txt dosyasını okur ve eğer uygulama telefon, rehber veya mesaj izinlerinden birini veya birkaçını istiyorsa listeleri sahte verilerle doldurmak için telefon komut dosyasını, kişi komut dosyasını veya mesaj komut dosyasını çağırmaktadır. Ayrıca uygulama hafızaya okumak veya yazmak için izin istiyorsa personalizer sd kartı rastgele metinler, resimler, şarkılar içeren sahte veri dosyaları ile doldurmaktadır. Sensör simülatörü ile periyodik olarak güncellenen değerler emülatör üzerinde kullanılmaktadır, kötücül yazılımların bunu algılayabileceğinden [44,46] gerçek zamanlı veri setleri kullanılmıştır. Olay simülatörü bileşeni, uygulamanın kayıtlı olduğu yayın amaçlarını okumak için alıcılar.txt'yi kullanmaktadır. Her olayı gerçekleştirmek için çok özel işlem gerekmektedir, bu yüzden olay simülatörü her yayın amacına ilişkin bir betiğe sahiptir. Kullanıcı simülatörü bileşeni, uygulamanın kullanıcı arabiriminde işlemleri gerçekleştiren sahte bir kullanıcıyı taklit etmeyi sağlamaktadır [44]. Wang ve diğerlerinin çalışması Wang ve diğerlerinin çalışmasında [47], API çağrılarından izin kullanım bilgisini elde etmek için statik analiz tekniği kullanılmaktadır. Ayrıca uygulamaların çalışma zamanı izin kullanım davranışlarını test etmek ve izlemek için dinamik analiz tekniği kullanılmaktadır. Geliştirilen sistemin mimarisi Şekil 2.21'de gösterilmiştir. Şekil Wang ve diğerlerinin geliştirdiği sistemin mimarisi [47]

39 25 Şekil 2.21 incelendiğinde, geliştirilen sistem AndroidManifest.xml dosyasının analizi, statik kod analizi ve dinamik analiz olmak üzere üç faklı bölümden oluşmaktadır. AndroidManifest.xml dosyasının analizi bölümünde, analiz edilen uygulamanın istediği izinleri elde edilmektedir. Statik kod analizi bölümünde, Android uygulamanın tüm API çağrılarını, niyetlerini (intent) ve içerik sağlayıcı bilgilerini ayıklayabilen dex bayt koduna dayanan hafif bir ayrıştırıcı kullanılmaktadır. API çağrılarını ayıklamak için, ayrılmış dex dosyalarını ayrıştırılır ve Android API'lara yapılan tüm çağrılar tanımlanmaktadır. Dinamik analiz bölümünde, Java Yansıma (Reflection) ve Dinamik Yükleme (Dynamic Loading) gibi statik analiz tarafından ele alınmayan zorluklarla başa çıkılmaya çalışılmaktadır. Uygulamaları dinamik olarak test etmek için otomatikleştirilmiş bir fuzzer Monkey'den [48] yararlanılmıştır. Monkey, sanal ortamda veya gerçek cihaz üzerinde çalışan, tıklamalar, dokunuşlar ve hareketler gibi sahte rastgele kullanıcı etkinliklerinin yanı sıra bir dizi sistem düzeyinde etkinlik oluşturabilen bir komut satırı aracıdır [47]. 2.2 Android İşletim Sistemi Mimarisi ve Kötücül Yazılımlar Akıllı cihazlar Akıllı telefon, yerel üçüncü parti uygulamaları destekleyen bir işletim sistemi kullanan ve bağlantı sağlamak için çoklu iletişim arabirimlerini içeren mobil el tipi bir telefondur [49]. Akıllı telefonlar ile bilgisayarda yapılabilecek müzik dinleme, resim çizme, internete girme gibi birçok işlem yapılmaktadır. Ayrıca akıllı telefonlar bilgisayarlarda bulunan CPU (Central Process Unit), hafıza, işletim sistemi gibi birçok bileşene sahiptir [50]. Dünya çapındaki akıllı telefonların kullandıkları işletim sistemlerinin pazar payı Şekil 2.22 de gösterilmiştir.

40 26 Şekil Dünya çapındaki akıllı telefon işletim sistemi pazar payı [1] Şekil 2.22 incelendiğinde, 2016 yılının üçüncü çeyreğinde akıllı telefonlar tarafından en çok kullanılan işletim sistemleri sırasıyla Android (%86,8), IOS (iphone Operating System) (%12,5), Windows Phone (%0,3) ve diğerleridir. Android işletim sistemi, Google tarafından akıllı telefonlarda ilk defa 2008 yılında kullanılmıştır [51]. ARM platformunda değiştirilmiş bir Linux çekirdeğin üzerine inşa edilmiştir [51]. Alt düzey sistem araçları C dili ile yazılmıştır, fakat Android uygulamalar Java dili kullanılarak geliştirilmektedir. IOS, Apple firmasına ait akıllı cihazlarda çalışan işletim sistemidir. IOS işletim sistemi için uygulama geliştirilirken resmi olmayan kütüphaneleri kullanım sınırlı olduğundan IOS uygulamaları genellikle güvenlidir ve literatürde IOS kötücül yazılım üzerine çok az çalışma bulunmaktadır [50]. IOS üzerine az sayıda çalışma bulunmasının nedenleri; Apple IOS cihazları, kullanılara yalnızca Apple App Store'dan [52] uygulama yüklemeye izin vermesi ve markete uygulama yüklenirken uygulamanın detaylı olarak incelenmesidir [53]. Windows Phone işletim sistemi, Microsoft firmasına ait akıllı cihazlarda çalışan işletim sistemidir. Microsoft, akıllı telefon pazarına biraz geç girmesine rağmen, Microsoft Mobile'ın Android ve IOS'a kıyasla bazı farklı özellikleri bulunmaktadır [50]. Diğer Microsoft hizmetleriyle birlikte çalışabilirlik, Windows Mobile'ın en büyük avantajıdır ancak güvenlik yapısı açısından bazı dezavantajlara sahiptir [50]. Windows Phone işletim sistemine sahip cihazlara uygulamalar Microsoft Mağaza [54] kullanılarak yüklenmektedir.

41 Android işletim sistemi mimarisi Android işletim sistemi, Linux çekirdek üzerine kurulmuş bir sistem mimarisine sahiptir. Şekil 2.23 te görüldüğü gibi bu yapı; Linux çekirdek, kütüphaneler ve Android çalışma zamanı, uygulama katmanı ve uygulamalardan oluşmaktadır. Şekil Android işletim sistemi mimarisi [7] Android işletim sistemi mimarisinin ilk katmanında Linux çekirdek bulunmaktadır. Bu katmanda donanım bilgileri ve uygulamaların çalışması için gerekli görüntü, klavye, ses gibi sürücüler bulunmaktadır. Bu yapı Android için özel olarak geliştirilmiştir. Linux çekirdeğin asli görevi donanım ile yazılım arasında iletişimi sağlamaktır [55]. İkinci katmanda kütüphaneler ve Android çalışma zamanı bulunmaktadır. Kütüphaneler

42 28 bölümünde C dili ile yazılmış sistem kütüphaneleri bulunmaktadır. Bu bölümde SQLite veritabanı kütüphanesi, Webkit katmanı, OpenGL, ses ve görüntü kütüphaneleri bulunmaktadır. Örneğin; bir uygulama geliştiriyoruz ve bu uygulamada verileri depolamak için veritabanı kullanmamız gerekli, bu durumda bu bölümde bulunan SQLite kütüphanesinden faydalanılabilir [55]. Android çalışma zamanı, uygulamaların çalışma anında devreye girmektedir. İki tane bileşene sahiptir, bunlar; Java'nın kütüphaneleri ve Dalvik sanal makinesidir. Dalvik sanal makinesi, uygulamaların çalıştırılmasını sağlamaktadır. Java kullanılarak geliştirilen Android uygulamasının çalışma şekli; ilk aşamada yazılan Java kodları derlenerek bayt koduna çevrilir, sonra bayt kod dosyaları dex formatına çevrilerek Dalvik sanal makinesinde çalışacak hale getirilmektedir [55]. Üçüncü katmanda uygulama katmanı bulunmaktadır. Uygulama katmanı Android uygulama geliştiricilerine; konum bilgisi, kaynak yönetimi, bildirim yönetimi gibi birçok bilginin kullanılmasını sağlar. Android uygulamalar geliştirilirken uygulamanın sahip olduğu ara yüzlere görünüm sistemini sağlar. Örneğin; geliştirilen bir Android uygulama telefonda bulunan çağrı kayıtlarına, fotoğraflara ve bulunduğunuz konum bilgilerine erişmeyi sağlayabilir. Son katmanda uygulamalar bulunmaktadır. Android telefonu aldığınızda gelen, sonradan geliştirilen veya Google Play marketten [5] indirilip yüklenilen tüm uygulamaları kapsamaktadır Android uygulamaların yapısı Android uygulamalar Java dili kullanılarak geliştirilmektedir. Bir Android uygulama projesi oluşturulduğunda Şekil 2.24 teki gibi dosyalar oluşmaktadır.

43 29 Şekil Android uygulaması sonucu oluşan dosyalar Şekil 2.24 incelendiğinde, Android uygulama projesinde geliştiricilerin kullandıkları klasörler; assets, libs, res, src vr AndroidManifest.xml dir. Assets klasörü sık olarak kullanılmamaktadır fakat video, ses, html, fontlar gibi veriler bu klasörde saklanabilmektedir. Libs klasöründe özel olarak oluşturulmuş jar dosyaları bulunmaktadır. Örnek olarak Android uygulamada reklam görünmesi için reklam şirketlerinin geliştirmiş oldukları jar dosyasının kullanılması verilebilir. Res klasörünün içinde drawable, layout, menu ve values klasörleri bulunmaktadır. Drawable klasöründe Android uygulama içinde kullanılacak olan resimler bu klasörde tutulmaktadır. Layout klasöründe Android uygulamanın ara yüzlerini oluşturmak için xml dosyaları bulunmaktadır. Menu klasöründe Android uygulamada seçenekler menüsü gibi menüleri oluşturmak için xml dosyaları bulunmaktadır. Values klasöründe ise metinler, stiller, renkler gibi değerleri tutmak için xml dosyaları bulunmaktadır. Src klasöründe oluşturulmuş olan paketler ve paketlerin içinde Java dosyaları bulunmaktadır. AndroidManifest.xml dosyasında uygulama için önemli bilgiler bu dosyada yer almaktadır. Şekil 2.25 te örnek bir AndroidManifest.xml dosyası gösterilmiştir.

44 30 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.ok.androidproject" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="8" android:targetsdkversion="21" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_fine_location" /> <uses-permission android:name="android.permission.camera" /> <application android:allowbackup="true" > <activity android:name=".mainactivity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> Şekil AndroidManifest.xml örneği Şekil 2.25 incelendiğinde, manifest etiketinde uygulamanın paket adı, versiyon numarası gibi değerleri tanımlayabileceğimiz özellikler bulunmaktadır. uses-sdk etiketi ile Android uygulamamızın hangi Android sürümlerinde çalışacağı bilgisi tanımlanmaktadır. usespermission etiketi kullanılarak Android uygulama için kullanılacak izinler tanımlanmaktadır. Şekil 2.25 teki örnekte Android uygulama internet, konum bilgisi ve kamera kullanım izinlerini istemektedir. Application etiketi ile uygulamanın kullanacağı tema, adı, simgesi gibi özellikler tanımlanmaktadır. Ayrıca application etiketi içinde aktiviteler, servisler, içerik sağlayıcılar ve yayın alıcılar tanımlanmaktadır. Şekil 2.26 da bu dört temel bileşenin açıklamaları yer almaktadır.

45 31 Şekil Android temel bileşenleri [56,57] Android güvenlik politikaları Android platformu kullanıcı verilerini, uygulamalarını, cihazlarını ve ağın gizliliğini, bütünlüğünü ve kullanılabilirliğini koruyan bir uygulama ortamı sunmaktadır [58]. Android platformunun sağlamış olduğu güvenlik politikaları aşağıda anlatılmıştır. Uygulama koruması Android çekirdek düzeyinde, bir uygulamanın diğer uygulamalara veya sistem

46 32 hizmetlerine müdahale edemeyeceği şekilde her uygulamanın benzersiz bir kullanıcı adı (User ID) ataması yaparak Linux'un İhtiyaca Göre Erişim Kontrolü (Discretionary Access Control) özelliğini kullanmaktadır [59]. Android aynı zamanda, Wi-Fi, Bluetooth, İnternet erişim servislerinin farklı gruplar halinde çalıştığı Paranoya Ağ Güvenliği (Paranoid Network Security) adı verilen bir özellik uygulayarak ağ erişimini korumaktadır [59,60]. Android uygulama mutlaka uygulama geliştiricisi tarafından imzalanmış bir Ortak Anahtar Altyapısı (Public Key Infrastructure) sertifikasını içermektedir [59]. Bu sertifika daha önceden yüklenmiş başka bir uygulama sertifikası ile eşleşirse Android bu iki uygulamaya birbirlerinin özel dosyaları ve izinleri paylaşmasına izin verir [59]. Bu nedenle, geliştiricinin kendi sertifikasını başkalarıyla paylaşması kesinlikle tavsiye edilmez [59]. Uygulama çerçevesi düzeyinde izinler Android, her uygulamanın telefon, şebeke, rehber, mesaj, hafıza ve GPS (Global Positioning System) konumu gibi akıllı telefonun önemli işlevlerine erişmesini kısıtlamak için uygulama çerçevesi düzeyinde izin tabanlı güvenlik modelini sağlamaktadır [59]. Bu izinler uygulama yapısında bahsedildiği gibi AndroidManifest.xml dosyasında usespermission etiketi kullanılarak tanımlanmaktadır. Android izinleri dört koruma seviyesine ayırmıştır [60]. Bunlardan birincisi olan normal koruma seviyesi varsayılan değerdir ve istenilen uygulamaların, diğer uygulamalara, sisteme veya kullanıcıya yönelik minimum riskle izole edilmiş uygulama düzeyindeki özelliklere erişmesini sağlayan düşük riskli bir izindir [60]. Bunlardan ikinci olan tehlikeli (dangerous) koruma seviyesi, özel bir kullanıcı verilerine istekte bulunan bir uygulamaya erişim izni veren veya cihazı kontrol eden ve kullanıcıyı olumsuz yönde etkileyebilecek daha yüksek riskli bir izin koruma seviyesidir [60]. Bunlardan üçüncüsü olan imza (signature) koruma seviyesi, sistemin yalnızca talep eden uygulama, izin beyan eden uygulama ile aynı sertifika ile imzalanmış olması durumunda izin vermektedir [60]. Bunlardan dördüncüsü olan imza veya sistem (signatureorsystem) koruma seviyesi, sistemin yalnızca Android sistem görüntüsündeki veya izin beyan eden uygulama ile aynı sertifika ile imzalanmış uygulamalara izin vermektedir [60]. Güvenli sistem bölme Sistem bölümü, Android'in çekirdeği, işletim sistemi kitaplıkları, uygulama çalışma

47 33 zamanı, uygulama çerçevesi ve uygulamalardan oluşmaktadır [61]. Android, yetkisiz erişim ve değişikliği önlemek için sistem bölümünü salt okunur hale getirmiştir [59]. Güvenli Google Play Market Google, herhangi bir uygulamayı kullanıma sunmadan önce uygulamanın normal davranışına sahip olup olmadığını belirlemek için uygulamayı kum havuzundaki bir ortamda dinamik analiz hizmeti olan Bouncer ile denetlemektedir [59]. Bu yüzden Google kullanıcılarına güvenlik nedenlerinden ötürü kendi uygulama marketi dışındaki kaynaklardan uygulama yüklemelerini önermemektedir [59]. Bazı alternatif pazarlar kötü amaçlı yazılımdan tamamen yoksun görünmektedir, ancak birkaç pazar neredeyse tamamen kötücül uygulama dağıtmaktadır [62]. Şekil Toplam uygulama ve market başına tespit edilen kötücül yazılım [62] Şekil 2.27'de gösterilen dağılım plânında taranılan her pazar için x-koordinatı o pazardaki toplam uygulama sayısını ve y koordinatı bu pazarda kötücül olarak tespit edilen uygulama sayısını belirten bir noktaya karşılık gelmektedir. Şekil 2.27'deki kesikli çizgi, bir pazardan örneklenen her uygulamanın kötücül olarak algılanacağı (dolayısıyla hiçbir satır bu çizginin üstünde olmayabilir) eşiği temsil etmektedir. Şekil 2.27 de görüleceği gibi bazı

48 34 uygulama marketlerinde bulunan uygulamaların tamamı kötücül olarak görülmektedir [62]. Google Play market dışındaki uygulama marketlerinde düşük doğrulama teknikleri olmasına rağmen bu marketler 'nin üzerinde indirme oranına sahiptir [63,64]. Android buna önlem olarak akıllı cihazlarda bilinmeyen kaynaklardan uygulama yüklemeye ön tanımlı olarak izin vermemektedir. Ancak, kullanıcı akıllı cihazın ayarlar bölümünden bilinmeyen kaynaklardan uygulama yüklemeye izin verebilmektedir Kötücül yazılım aileleri G Data H1/2016 raporunda bahsedildiği gibi 1,7 milyondan fazla yeni kötü amaçlı yazılım örneğiyle, 2015 yılının tamamında ( ) elde edilen sonuçların yarısından fazlasına ulaşılmıştır [2]. Kötücül yazılımların kişisel bilgileri ele geçirmek, gelir elde etmek, telefona zarar vermek gibi farklı amaçları vardır [50]. Bu yüzden farklı kötücül yazılım aileleri bulunmaktadır. Bunlardan en çok bilinenler aşağıda anlatılmıştır. FakeInstaller FakeInstaller, en yaygın bulunan ve tespit edilmesi en zor olan kötücül ailedir [65]. FakeInstaller, uygulama yüklenirken yeniden paketleme yöntemini kullanarak rastgele sınıfı ve yöntem adını şifreli biçimde ekleyerek kötü amaçlı uygulamayı gizlemektedir [65]. FakeInstaller'ın amacı, malware yazarlarının sahip olduğu ücretli (premium) servislere SMS (Short Message Sevice) göndererek maddi kayıplarla kullanıcıya zarar vermektir [65]. Ayrıca uzaktaki bir sunucudan komutlar almak için bir arka kapı da içermektedir [66]. Opfake Opfake, Opera Mini tarayıcısı için bir yükleyici dahil olmak üzere çeşitli uygulamalar ve içerikleri taklit eden ve kullanıcıların kendileri için ödeme yapmasını gerektiren polimorfik zararlı yazılımlardır [66]. Opfake, yeniden paketleme kurulum yöntemini kullanır, mesaj ile SIM verileri ile gönderir ve diğer kötü amaçlı uygulamaları indirir ve SD (Secure Digital) karta depolamaktadır [65].

49 35 Plankton Bu zararlı yazılım ailesi yayılım için güncelleme metodolojisini kullanmaktadır [65]. Kötü amaçlı yazılım dinamik kod yükleme yöntemini kullanmaktadır, bu nedenle statik kod analizi ve elle kod iç gözlemi zordur [65]. Bu zararlı yazılım, korsan yazarın cihazı uzaktan kontrol etmesini sağlar ve cihaz bilgilerini uzaktaki servislere gönderir [65]. DroidKungFu DroidKungFu, kullanıcı cihazını kontrol etmek için kök kullanıcı yetkisini kullanmayı amaçlayan tehlikeli bir zararlı yazılım ailesidir [65]. Kullanıcının gizli verilerini uzaktaki sunuculara göndererek gizlilik sızıntılarına neden olmaktadır [65]. Alternatif uygulama pazarları aracılığıyla sunulan uygulamalara ve Çince konuşan kullanıcıları hedef almaktadır [66]. BaseBridge 2011'de keşfedilen BaseBridge, zararlı ve kontrolü zor kötücül ailelerinden biridir [65]. Bu kötü amaçlı yazılım ailesi, cihazın kontrolünü kök yetkisini alarak ele geçirir ve kritik dosyaları okumak ve uzaktan kumandaya göndermek için read () sistem çağrısını çağırarak IMSI (International Mobile Subscriber Identity), IMEI (International Mobile Equipment Identity), işletim sistemi sürümü, telefon numarası, cihaz bilgisi gibi kritik verileri korsan yazılımcının sunucusuna gönderir [65]. Ayrıca SMS gönderme izni, SMS'i engelleme, SMS silme ve telefon görüşmesi yapma imkânı vardır, bu da kullanıcıya maddi olarak zarar vermesine neden olur [65]. Ginger Master Ginger Master, kullanıcı telefon numarası, IMEI numarası, Android sürümü, yüklü uygulamalar listesi ve şebeke bilgileri hakkında bilgi sahibi olan SQLite veritabanını oluşturan ve uzaktaki sunucuya gönderen bir zararlı yazılımdır [65]. Bu kötücül aile, mevcut kötücül yazılımları bulan teknolojiler tarafından tespitini engellemek için polimorfik tekniklerden faydalanmaktadır [66].

50 36 Iconosys Bu kötü amaçlı yazılım ailesi, önyükleme tamamlandığında yöntemlerini başlatır ve kullanıcının çevrimiçi etkinliklerini, cihaz konumunu, metin mesajı adlarını, kullanıcı iletişim listesini ve kredi kartı ayrıntılarını elde etmek için sessizce arka planda çalışarak gizli bilgileri korsan yazarlara göndermektedir [65]. Mesaj okumak, mesaj yazmak ve mesaj göndermek için izinlere sahiptir, ayrıca telefon görüşmesi özelliğine sahiptir [65]. Bu yüzden kullanıcıya mali açıdan zarar verebilir [65]. Kmin Önyükleme tamamlandı olayında etkinleştirilen bağımsız kurulum tabanlı kötücül yazılım ailesidir [65]. Bu tür zararlı yazılımlar kullanıcı cihazının kontrolünü ele geçirir ve ücretli servislere mesaj gönderir [65]. Ayrıca kullanıcı mesajlarını engelleyebilir ve kullanıcıların özel verilerini uzaktaki sunuculara gönderir [65].

51 37 3. İSTEMCİ-SUNUCU MİMARİSİNDE GELİŞTİRİLEN ANDROİD KÖTÜCÜL YAZILIM TESPİT SİSTEMİ Bu başlıkta, Android uygulamaların analizi için statik analiz yöntemi kullanılarak geliştirilmiş olan sistem anlatılmıştır. Statik analiz yöntemi için izinler kullanılmıştır. Geliştirilen statik analiz sisteminin mimarisi Şekil 3.1'de gösterilmiştir. Şekil 3.1. Geliştirilen sistemin mimarisi Şekil 3.1 incelendiğinde, veri setlerinin değerlendirilmesinin birinci adımında kötücül ve iyicil veri setleri oluşturulmuştur. İyicil veri setinin oluşturulması için ülkemizdeki ve diğer ülkelerin devlet kurumlarının geliştirmiş oldukları uygulamalar ve Google Play markette [5] bulunan en popüler uygulamalar indirilmiştir. Kötücül veri seti olarak Drebin [12] çalışmasında oluşturulan veri setinden yararlanılmıştır. İkinci adımda, Apktool [11] aracı kullanılarak iyicil ve kötücül veri setindeki apk dosyalarına tersine mühendislik yapılmıştır. Tersine mühendislik ile AndroidManifest.xml dosyasında bulunan izinler elde edilmiştir ve her uygulamanın sahip olduğu izinler oluşturulan veritabanına kayıt edilmiştir. Üçüncü adımda, kötücül ve iyicil veri setinde tekil olarak bulunan izinler elde edilmiştir. Bu izinlerin kötücül veri setinde bulunma yüzdesi ve iyicil veri setinde bulunma yüzdesi bulunmuştur. Ardından kötücül bulunma yüzdesinden iyicil bulunma yüzdesi çıkarılarak kötücül değer dediğimiz değer hesaplanmıştır. Bu işlemin formülize edilmiş gösterimi Eşitlik 3.1 de gösterilmiştir.

52 38 nn İzin Kötücül Değeri = ii=0 KKKK_KKöttüccüll(tt) ii=0 KKKK_İyyyyyyyyyy(tt) (3.1) nn Beşinci adımda, her bir uygulamanın sahip olduğu izinlerin kötücül değerleri toplanarak uygulamanın toplam kötücül değeri elde edilmiştir. Ayrıca bu adımda, VirusTotal in API'si [67] kullanılarak her bir uygulamanın VirusTotal veritabanında bulunan sonuçları elde edilmiştir. Burada uygulamaların kötücül değerlerini hesaplamak için VirusTotal'in kullanılmasının nedeni 50'den fazla antivirüs programı tarafından bir sonuç göstermesi [68] ve literatürdeki güvenlik tabanlı çalışmalarda kullanılmasıdır. Google'ın yan kuruluşu olan VirusTotal, virüsten koruma motorları ve web sitesi tarayıcıları tarafından tespit edilen virüsleri, solucanları, truva atlarını ve diğer kötü amaçlı içeriği tanımlayan dosyaları ve URL'leri analiz eden ücretsiz çevrimiçi bir hizmettir [69]. VirusTotal ile Android uygulamaları analiz yapmak için 4 yöntem bulunmaktadır, bunlar; web sayfası, VirusTotal uygulama yükleme aracı, mail gönderimi ve VirusTotal API sidir. Bu tezde bu yöntemlerden VirusTotal API [67] kullanılarak uygulamaların analizi yapılmıştır. Literatüre baktığımız zaman birçok çalışmada VirusTotal kullanılmıştır. Mobile-Sandbox çalışmasının statik analiz bölümünde analiz edilen uygulamanın md5 hash kodunu VirusTotal veritabanındaki tüm hash ler ile karşılaştırılır ve eğer hash bulunursa uygulamayı kötü niyetli olarak sınıflandıran araçların sayısı uygulamayı analiz eden antivirüs araçlarının sayısına bölünerek "bulunma oranı" hesaplanmaktadır [70,16]. Ban ve diğerlerinin yaptığı çalışmada veri setinde kullanılan uygulamaların kötücül olup olmadığını belirlemek için VirusTotal kullanılmıştır [71]. Wang ve diğerlerinin yaptığı çalışmada iyicil uygulamaların veri setini oluşturmak için VirusTotal kullanılmıştır [19]. Tez çalışmasında VirusTotal puanı her bir uygulama için hesaplanmaktadır. VirusTotal puanına örnek verecek olursak; com.perfectlove paket adına sahip uygulama 61 adet antivirüs programı tarafından 42 tanesinde kötücül olarak bulunmuştur. Bu durumda uygulamanın VirusTotal puanı (42/61)*100'den 68,85 olarak hesaplanmıştır. Her uygulama için bu VirusTotal değeri ile uygulamanın sahip olduğu toplam kötücül değer toplanmıştır ve ikiye bölünerek ortalama kötücül puan dediğimiz değer elde edilmiştir. Bu hesaplamanın formülize edilmiş hali Eşitlik 3.2 de gösterilmiştir. Nihai Kötücül Değer = (Toplam (KD) + VirusTotal Puanı) / 2 (3.2) Dördüncü adımda, iyicil ve kötücül veri setindeki uygulamaların ortalama kötücül değerleri Alıcı İşlem Karakteristikleri (Receiver Operating Characteristic) eğrisi

53 39 kullanılarak bir eşik değer belirlenmiştir. Alıcı işlem karakteristikleri eğrisi farklı eşik değerleri için hesaplanan, dikey eksen üzerinde doğru pozitiflik (duyarlılık) ve yatay eksen üzerinde yanlış pozitiflik (1- özgüllük) oranlarının yer aldığı bir grafiktir [72]. Şekil 3.2 de mükemmel, iyi ve değersiz testleri temsil eden alıcı işlem karakteristikleri eğrisi gösterilmiştir. Şekil 3.2. Alıcı işlem karakteristikleri eğrisi karşılaştırması [73] Şekil 3.2 incelendiğinde, eğrinin altında kalan alan 1 ise mükemmel bir testi temsil etmektedir eğer eğrinin altıda kalan alan 0.5'lik bir alan ise değersiz bir testi temsil etmektedir. Beşinci adımda, bu eşik değere göre uygulamaların iyicil ya da kötücül yazılım tespiti yapılmıştır. Alıcı işlem karakteristikleri eğrisi ile eşik değer hesaplanması için Accord.Statistics.Analysis kütüphanesi kullanılmıştır [74]. Bu kütüphane yardımıyla eşik değer belirlenirken kullanılan kod parçasının algoritması Şekil 3.3 te gösterilmiştir. Ayrıca ilgili kod parçasının örneği EK-1 de verilmiştir. Bilinmeyen Android uygulamayı değerlendirmek için istemci geliştirilen web uygulamayı kullanarak Android uygulamayı analiz etmesi gereklidir. Sunucu analiz için Android uygulamaya sırasıyla tersine mühendislik, uygulamanın kötücül değerinin hesaplanması ve eşik değerin belirlenmesi adımlarından geçirmektedir. Ardından analiz sonucu veritabanına kayıt edilip analiz sonucu istemciye gönderilmektedir.

54 40 1. Accord.Statistics.Analysis kütüphanesindeki ReceiverOperatingCharacteristic kullanılarak roc isminde nesne tanımlanır 2. Tanımlanan roc nesnenin Compute methodu kullanılarak 100 adet koordinat değerine sahip ROC eğrisi hesaplanır 3. Hesaplanan ROC eğrisi koordinatlarının sayısı kadar for döngüsü oluşturulur 4. Her bir koordinat değerinin doğru pozitiflik (duyarlılık) değeri (roc.points[n].sensitivity * 100) hesaplaması ile hesaplanır. Yanlış pozitiflik (1- özgüllük) değeri ise ((1 - roc.points[n].specificity) * 100) hesaplaması ile elde edilir 5. Doğru pozitiflik değeri 90 dan büyük ve yanlış pozitiflik değeri 15 ten küçük olanlar ROC nesnenelerini tutan listeye eklenir, ROC nesnesinde doğru pozitiflik, yanlış pozitiflik ve eşik değer değerlerini tutan değişkenler bulunmaktadır 6. Bu işlem for döngüsü bitene kadar tekrarlanır 7. Listedeki eleman sayısı kadar yeni bir for döngüsü oluşturulur 8. Listedeki her bir elaman için (100- (doğru pozitiflik))+ (yanlış pozitiflik) değeri hesaplanır ve listenin birinci elemanının değeri min değişkenine atanır 9. Bundan sonraki elemanların değeri min değişkenindeki değer ile karşılaştırılır, karşılaştırma sonucunda elemanın değeri min değişkenindeki değerden küçükse min değişkenine atanır 10. Bu işlem for döngüsü bitene kadar tekrarlanır ve min değişkenindeki değere sahip listedeki elemanın eşik değer değeri eşik değer olarak belirlenir. Şekil 3.3. Eşik değer hesaplanması için kullanılan kod parçasının algoritması Şekil 3.3 incelendiğinde, öncelikle ReceiverOperatingCharacteristic nesnesinin kullanılması için iyicil ve kötücül uygulamaların ayırt edilmesini sağlayan dizi ile iyicil ve kötücül uygulamaların sahip olduğu toplam kötücül değerleri tutan dizilerinin oluşturulmuş olması gereklidir. Bu oluşturulan diziler ReceiverOperatingCharacteristic metoduna girdi olarak eklenmiştir. Bir sonraki adımda 100 adet koordinat değerine sahip eşik değer eğrisi hesaplanmıştır. Oluşturulan koordinat değerlerinin sahip oldukları dikey eksen üzerinde doğru pozitiflik (duyarlılık) ve yatay eksen üzerinde yanlış pozitiflik (1- özgüllük) değerleri hesaplanmıştır. Bu değerlerden doğru pozitiflik oranı 90 nın üzerinde olan ve yanlış pozitiflik değeri 15 ten az olanlar bir listeye eklenmiştir. Bu listedeki elamanların

55 41 (100 - doğru pozitiflik değeri) ve yanlış pozitiflik değerleri toplanmıştır. Listedeki elemanlardan bu toplam değeri en küçük olan eşik değer olarak belirlenmiştir İyicil ve Kötücül Uygulama Veri Setlerinin Oluşturulması Tez için kullanılan Android sürümü Drebin [12] kötücül veri setindeki uygulamaların targetsdkversion bilgisi en yüksek 16 olduğundan Android 4.1 olarak seçilmiştir. İyicil uygulama veri seti oluşturulması için ülkemizdeki ve diğer ülkelerdeki resmî kurumların Android uygulamaları ve Google Play markette [5] bulunan popüler uygulamalar APKPure [75] web sayfası kullanılarak indirilmiştir. Bu web sayfası kullanılarak uygulama el ile indirilerek iyicil veri seti oluşturulmuştur. Kötücül uygulama veri seti için açık kaynak olarak paylaşılmış olan Drebin [12] çalışmasında oluşturulmuş veri seti kullanılmıştır. Bu veri seti 179 farklı kötücül yazılım ailesinden tane uygulama içermektedir. Bu örnekler Ağustos 2010 ile Ekim 2012 yılları arasındaki bir periyotta toplanmıştır [14,76]. Kullanılan veri setinin özet tablosu Çizelge 3.1'de gösterilmiştir. Çizelge 3.1. Veri seti özeti Veri Seti Türü Sayısı Kaynağı Kötücül Drebin [12] İyicil Google Play market İyicil veri setindeki uygulamalar Google Play markete [5] eklenirken detaylı bir analiz sürecinden geçmediğinden iyicil veri setindeki uygulamaların güvenli olup olmadığı VirusTotal API'si [67] kullanılarak kontrol edilmiştir. Literatürde bulunan AndroDialysis [27], Kang ve diğ. nin [77], Ma ve diğ. nin [78] ve ICCDetector [79] gibi çalışmalar iyicil veri setinde kullanılacak olan uygulamaların güvenilir olmasını sağlamak için VirusTotal kullanılmıştır. VirusTotal taraması sonucunda en az bir antivirüs programı tarafından kötücül olarak bulunan 158 adet uygulama iyicil veri setinde daha güvenli uygulamaların bulunması sağlamak için çıkarılmıştır. Bunun sonucunda elde edilen veri setinin özet tablosu Çizelge 3.2'de gösterilmiştir.

56 42 Çizelge 3.2. VirusTotal e göre oluşan veri seti özeti Veri Seti Türü Sayısı Kaynağı Kötücül Drebin [12] İyicil Google Play market Literatürde statik analiz yöntemini kullanarak kötücül yazılım tespiti yapan çok sayıda çalışma bulunmaktadır. Bu çalışmalarda kullanılan veri seti sayısında bir standart bulunmamaktadır. Bu tez kapsamında incelenen statik analiz çalışmalarında kullanılan veri seti sayıları Çizelge 3.3 te gösterilmiştir. Çizelge 3.3. Statik analiz çalışmalarında kullanılan veri seti bilgileri Yapılan Çalışma Yılı Kötücül Veri İyicil Veri Seti Toplam Veri Çalışma Seti Sayısı Sayısı Seti Sayısı DroidMat[10] Drebin[12] APK Auditor[15] DroidOL[17] ASE [18] Wang ve ark. [19] Sokolova ve ark. [20] Dexteroid[21] Anwar ve ark [23] Wu ve ark. [24] Arslan ve ark [25] Tez Çizelge 3.3 te çeşitli yıllarda statik analiz yöntemini kullanarak yapılmış olan çalışmaların veri seti bilgisi gösterilmiştir. Drebin, DroidOL ve Wang ve diğ. nin yapmış olduğu çalışmaların kullandığı toplam veri seti sayısı diğer çalışmalara göre oldukça fazla olduğu görülmüştür. Bazı çalışmalarda kötücül veri seti sayısı iyicil veri seti sayısından fazla iken bazı çalışmalarda bu durumun tam tersinin olduğu görülmüştür. Bu yüzden kötücül veri seti sayısı ile iyicil veri seti sayısı arasında bir ilişki kurulamamıştır. Ayrıca tez kapsamında incelenen kötücül veri seti sayısı Drebin, APK Auditor ve ASE

57 43 çalışmalarındaki değerlere yaklaşılmıştır. Tez kapsamında incelenen iyicil veri seti sayısı DroidMat, Dexteroid, Anwar ve diğ. nin ve Wu ve diğ. nin yaptıkları çalışmalardaki değerlere yaklaşılmıştır Uygulamaların Bilgilerinin Elde Edilmesi Android uygulamaları apk arşiv dosyaları ile telefonlara yüklenmektedir. Bu apk dosyalarının içinde bulunan bilgiler hazır araçlar ya da kütüphaneler kullanılarak elde edilmektedir. Bu tez çalışmasında AndroidManifest.xml dosyasındaki bilgileri elde etmek için Apktool aracının [11] versiyonu kullanılmıştır. C# Windows Form uygulamasında Apktool aracı kullanılarak Android uygulamaların izin bilgilerini elde eden uygulama geliştirilmiştir. Bu uygulama ile iyicil ve kötücül uygulamaların bulunduğu klasör yolu verilerek Android uygulamalara Apktool aracı ile tersine mühendislik yapılmıştır. Apktool aracı komut istemcisi ile çalışmaktadır fakat bir Android uygulamayı C# platformunda Apktool aracı ile tersine mühendislik yapmak için kullanılan kod parçasının algoritması Şekil 3.4 te gösterilmiştir. Ayrıca ilgili kod parçasının örneği EK- 2 de verilmiştir. 1. System.Diagnostics kütüphanesinde tanımlı olan ProcessStartInfo kullanılarak Apktool aracının tersine mühendislik için kullanacağı komut yazılarak procstartinfo adında bir nesne tanımlanır 2. procstartinfo nesnesinin RedirectStandardOutput değeri true atanır 3. procstartinfo nesnesinin UseShellExecute değerine false atanır 4. procstartinfo nesnesinin CreateNoWindow değerine true atanır 5. System.Diagnostics kütüphanesinde tanımlı olan Process kullanılarak proc adında nesne tanımlanır 6. proc nesnesinin StartInfo değerine procstartinfo nesnesi atanır 7. İlgili işlemi gerçekleştirmek için proc nesnesin Start metotu çağrılır. Şekil 3.4. Tersine mühendislik kod parçasının algoritması Yukarıdaki algoritmada bahsedilen Apktool aracının çalışması için gerekli olan komut apktool d uygulama yolu komutudur. Bu komutta bulunan d harfi decode (deşifre etmek)

58 44 anlamındadır. Elimizdeki veri setinde toplam adet Android uygulama bulunduğundan tersine mühendislik işlemini hızlı yapabilmek adına paralel işlemler kullanılmıştır. İyicil ve kötücül veri setindeki her bir uygulama için tersine mühendislik işlemi bittikten sonra bu uygulamaların AndroidManifest.xml dosyasında bulunan paket adı, uygulama adı, hedef SDK versiyonu, minimum SDK versiyonu, kullandığı izinler ve dosya adı veritabanına kayıt edilmektedir. Ayrıca Drebin [12] kötücül veri setindeki uygulamalar için kötücül yazılım aile bilgisi veritabanına kayıt edilmektedir. İyicil veri setinde bulunan uygulamaların en çok kullandıkları izinler ve kullanım adetleri aşağıdaki Çizelge 3.4 te gösterilmiştir. Çizelge 3.4. İyicil veri setinde en çok kullanılan 10 izin İzin Adı Toplam android.permission.internet android.permission.access_network_state android.permission.write_external_storage 930 android.permission.wake_lock 774 com.google.android.c2dm.permission.receive 679 android.permission.access_fine_location 533 android.permission.vibrate 520 android.permission.access_coarse_location 492 android.permission.get_accounts 473 android.permission.access_wifi_state 462 Çizelge 3.4 incelendiğinde, adet iyicil veri setinde en çok kullanılan izin INTERNET iznidir. Bu iznin hemen hemen bütün uygulamalarda kullanılmasının sebebi geliştirilen çoğu uygulamanın interneti kullanma ihtiyacı olmasından dolayıdır. En çok kullanılan ilk 10 izin içinde en az kullanılan izin ACCESS_WIFI_STATE iznidir. Bu izin uygulamaya kablosuz ağlar hakkında bilgilere erişim izni vermektedir [80]. Kötücül veri setinde bulunan uygulamaların en çok kullandıkları izinler ve kullanım adetleri aşağıdaki Çizelge 3.5 te gösterilmiştir.

59 45 Çizelge 3.5. Kötücül veri setinde en çok kullanılan 10 izin İzin Adı Toplam android.permission.internet android.permission.read_phone_state android.permission.write_external_storage android.permission.access_network_state android.permission.send_sms android.permission.receive_boot_completed android.permission.access_wifi_state android.permission.receive_sms android.permission.wake_lock android.permission.read_sms Çizelge 3.5 incelendiğinde, kötücül veri setinde en çok kullanılan izin iyicil veri setinde olduğu gibi INTERNET iznidir. En çok kullanılan ilk 10 izin içinde en az kullanılan izinler RECEIVE_SMS, WAKE_LOCK ve READ_SMS izinleridir. Bunlardan RECEIVE_SMS izni uygulamaya telefona gelen SMS mesajlarını almasına izin vermektedir [80]. WAKE_LOCK izni uygulamaya işlemciyi uyku halinden uzak tutmak veya ekranın karartmasını önlemek için kullanmasına izin vermektedir [80]. READ_SMS izni ise uygulamaya telefona gelen SMS mesajlarını okumasına izin vermektedir [80]. Kötücül ve iyicil veri setinde kullanılan en çok 10 izinler içinde ortak olarak INTERNET, READ_PHONE_STATE, WAKE_LOCK, WRITE_EXTERNAL_STORAGE, ACCESS_WIFI_STATE ve ACCESS_NETWORK_STATE izinleri bulunmaktadır. Ayrıca Çizelge 1.1 de bahsedilen Android in tehlikeli izin olarak belirlemiş olduğu izinler ile kötücül veri setinde en çok kullanılan 10 izinde ortak olarak READ_PHONE_STATE, WRITE_EXTERNAL_STORAGE, SEND_SMS, RECEIVE_SMS VE READ_SMS izinleri bulunmaktadır. Drebin [12] kötücül veri setinde en çok kullanılan 10 kötücül yazılım ailesi Çizelge 3.6 gösterilmiştir.

60 46 Çizelge 3.6. Kötücül veri setinde en çok kullanılan 10 kötücül yazılım ailesi Kötücül Yazılım Ailesi Toplam FakeInstaller 925 DroidKungFu 665 Plankton 625 Opfake 611 GinMaster 339 BaseBridge 328 Iconosys 152 Kmin 147 FakeDoc 132 Adrd 91 Çizelge 3.6 incelendiğinde, kötücül veri setinde en çok kullanılan kötücül yazılım ailesi FakeInstaller'dır. Drebin [12] kötücül veri setinde FakeInstaller kötücül yazılım ailesi bulunan uygulamaların kullandığı en çok 10 izin Çizelge 3.7'de gösterilmiştir. Çizelge 3.7. FakeInstaller kötücül yazılım ailesinin en çok kullandığı 10 izin İzin Adı Toplam android.permission.send_sms 925 android.permission.internet 903 android.permission.read_phone_state 831 android.permission.receive_sms 770 android.permission.write_external_storage 552 android.permission.read_sms 401 android.permission.wake_lock 304 com.google.android.c2dm.permission.receive 295 com.software.application.permission.c2d_message 266 android.permission.receive_boot_completed 220 Çizelge 3.7 incelendiğinde, FakeInstaller kötücül yazılım ailesi uygulamasının en çok kullandığı izin SEND_SMS iznidir. Bu iznin bütün FakeInstaller kötücül yazılım ailesi uygulamalarında kullanılmasının nedeni malware yazarlarının sahip olduğu ücretli (premium) servislere SMS göndererek maddi kayıplarla kullanıcıya zarar vermeyi amaçladığından dolayıdır [65]. Ayrıca Çizelge 1.1 de bahsedilen Android in tehlikeli izin olarak belirlemiş olduğu izinler ile FakeInstaller kötücül yazılım ailesinin en çok kullandığı 10 izinde ortak olarak READ_PHONE_STATE,

61 47 WRITE_EXTERNAL_STORAGE, SEND_SMS, RECEIVE_SMS VE READ_SMS izinleri bulunmaktadır. Drebin [12] kötücül veri setinde en çok kullanılan ikinci kötücül yazılım ailesi DroidKungFu'dur. Drebin [12] kötücül veri setinde DroidKungFu kötücül yazılım ailesi bulunan uygulamaların kullandığı en çok 10 izin Çizelge 3.8'de gösterilmiştir. Çizelge 3.8. DroidKungFu kötücül yazılım ailesinin en çok kullandığı 10 izin İzin Adı Toplam android.permission.internet 661 android.permission.read_phone_state 658 android.permission.access_network_state 626 android.permission.access_wifi_state 608 android.permission.write_external_storage 567 android.permission.change_wifi_state 473 android.permission.access_coarse_location 418 android.permission.receive_boot_completed 359 android.permission.access_fine_location 329 android.permission.read_sms 275 Çizelge 3.8 incelendiğinde, 665 adet DroidKungFu kötücül yazılım ailesi uygulamasının en çok kullandığı izin INTERNET iznidir. İkinci en çok kullandığı izin ise READ_PHONE_STATE iznidir. Bu iki izin hemen hemen bütün uygulamalarda beraber kullanılmıştır. Bunun nedeni READ_PHONE_STATE izni ile telefon durumu bilgisi elde edilir ve kullanıcının gizli verilerini uzaktaki sunuculara göndermek içinde INTERNET izni kullanılmaktadır. Ayrıca Çizelge 1.1 de bahsedilen Android in tehlikeli izin olarak belirlemiş olduğu izinler ile DroidKungFu kötücül yazılım ailesinin en çok kullandığı 10 izinde ortak olarak READ_PHONE_STATE, WRITE_EXTERNAL_STORAGE, READ_SMS, ACCESS_COARSE_LOCATION VE ACCESS_FINE_LOCATION izinleri bulunmaktadır. Drebin [12] kötücül veri setinde en çok kullanılan üçüncü kötücül yazılım ailesi Plankton'dur. Drebin [12] kötücül veri setinde Plankton kötücül yazılım ailesi bulunan uygulamaların kullandığı en çok 10 izin Çizelge 3.9'da gösterilmiştir.

62 48 Çizelge 3.9. Plankton kötücül yazılım ailesinin en çok kullandığı 10 izin İzin Adı Toplam android.permission.internet 624 android.permission.read_phone_state 621 com.android.launcher.permission.install_shortcut 612 com.android.launcher.permission.uninstall_shortcut 600 com.lge.launcher.permission.read_settings 589 com.htc.launcher.permission.read_settings 589 com.motorola.launcher.permission.read_settings 589 android.permission.access_network_state 587 com.motorola.dlauncher.permission.read_settings 583 android.permission.access_wifi_state 579 Çizelge 3.9 incelendiğinde, 625 adet Plankton kötücül yazılım ailesi uygulamasının en çok kullandığı izin INTERNET iznidir. İkinci en çok kullandığı izin ise READ_PHONE_STATE iznidir Kötücül ve İyicil Uygulama Değerlendirme İşlemi Bu bölümde veri setinde bulunan iyicil ve kötücül uygulamaları değerlendirme işleminden bahsedilmiştir. İlk olarak kötücül ve iyicil veri setinde bulunan tekil izinler bulunmuştur. Bu işlem sonucunda 1323 adet farklı izin bulunmuştur. Ardından her tekil iznin iyicil ve kötücül veri setindeki bulunma sayıları elde edilmiştir. Elde edilen bulunma sayıları kullanılarak izinlerin iyicil ve kötücül veri setindeki bulunma oranları hesaplanmıştır. Son olarak kötücül veri setinde bulunma oranından iyicil veri setinde bulunma oranı çıkarılarak her bir izin için kötücül değer elde edilmiştir. Yapılan işlemler sonucunda elde edilen sonucun bir bölümü Çizelge 3.10 da gösterilmiştir.

63 49 Çizelge En yüksek ve en düşük kötücül değerlere sahip izinler İzin Adı Kötüc ül Veri Setind eki Bulun ma Sayısı İyicil Veri Setind eki Bulun ma Sayısı Kötüc ül Veri Setind eki Bulun ma Oranı İyicil Veri Setind eki Bulun ma Oranı Köt ücül Değ er android.permission.read_phone_state android.permission.send_sms android.permission.read_sms android.permission.receive_sms android.permission.receive_boot_comp LETED com.android.launcher.permission.install_s HORTCUT android.permission.write_sms android.permission.camera android.permission.read_external_sto RAGE android.permission.access_network_st ATE android.permission.wake_lock com.google.android.providers.gsf.permission.r EAD_GSERVICES android.permission.get_accounts com.google.android.c2dm.permission.receiv E Çizelge 3.10 incelendiğinde, kötücül değeri en yüksek olan READ_PHONE_STATE iznidir. Bu izni sırasıyla SEND_SMS, READ_SMS, RECEIVE_SMS ve RECEIVE_BOOT_COMPLETED izinleri takip etmektedir. Ayrıca Çizelge 1.1 de bahsedilen Android in tehlikeli izin olarak belirlemiş olduğu izinler ile ortak olarak

64 50 READ_PHONE_STATE, SEND_SMS, RECEIVE_SMS, READ_SMS ve READ_CONTACTS izinleri bulunmaktadır. Bu elde edilen 1323 adet izin ve bu izinlerin kötücül değerleri veritabanına kayıt edilmektedir. İyicil ve kötücül veri setindeki her bir uygulamanın sahip olduğu izinlerin kötücül değerleri toplanarak uygulamaya ait toplam kötücül değer elde edilmektedir. Örnek verilecek olursa; beelon.android.alarm paket adındaki uygulama READ_PHONE_STATE (61 KD), RECEIVE_BOOT_COMPLETED (26 KD), CALL_PHONE (2 KD) ve SEND_SMS (52 KD) izinlerine sahiptir. Bu uygulamanın toplam kötücül değeri =141 olarak bulunmuştur. VirusTotal kullanılarak her bir uygulama için VirusTotal puanı hesap edilmiştir. Yukarıdaki uygulamadan devam edecek olursak, VirusTotal e göre 57 adet antivirüs programı tarafından 37 tanesinde kötücül olarak bulunmuştur. Bu durumda bu uygulamanın VirusTotal puanı (37/57)*100 den 64,91 olarak hesaplanmıştır. Her uygulama için bu VirusTotal değeri ile uygulamanın sahip olduğu toplam kötücül değer toplanır ve ikiye bölünür. Bu işlem sonucunda ortaya çıkan değer uygulamanın kötücül değeri olarak kabul edilir. Yukarıdaki uygulamanın kötücül değeri bu durumda ( ,91)/2 den 104,46 olarak bulunmuş olur. Her uygulamanın sahip olduğu kötücül değerler kullanılarak alıcı işlem karakteristikleri eğrisinin yardımıyla eşik değer belirlenmiştir. Belirlenen eşik değere göre uygulamanın sahip olduğu kötücül değer karşılaştırılmaktadır. Bu karşılaştırma sonucunda uygulamanın sahip olduğu kötücül değer eşik değerden büyük ise uygulama kötücül, küçük ise iyicil olarak tanımlanmaktadır Veritabanı Tasarımı Geliştirilen sistem veritabanı olarak Microsoft SQL Server 2012 yi kullanmaktadır. Geliştirilen sistemin varlık-ilişki diyagramı Şekil 3.5 te gösterilmiştir.

65 51 Şekil 3.5. Geliştirilen sistemin varlık-ilişki diyagramı Şekil 3.5 incelendiğinde, Applications tablosu, kötücül ve iyicil veri setindeki uygulama bilgilerini tutan tablodur. Bu tabloda uygulama adı, paket adı, minimum SDK versiyonu, hedef SDK versiyonu, APK dosyası adı ve hangi kötücül aileye ait olduğu bilgileri bulunmaktadır. Permissions tablosu, kötücül ve iyicil veri setindeki uygulamaların sahip olduğu izin bilgilerini tutmaktadır. Statistics tablosu, kötücül ve iyicil uygulamaların değerlendirmelerinin tutulduğu tablodur. AppToPermission tablosu, iyicil ve kötücül veri setlerinde bulunan tekil izinler ile ilgili bilgileri tutan tablodur. Bu tabloda her bir izne ait kötücül veri setinde bulunma sayısı, iyicil veri setinde bulunma sayısı, kötücül veri setinde bulunma oranı, iyicil veri setinde bulunma oranı ve kötücül değeri bilgileri tutulmaktadır Web Uygulaması Tez çalışması kapsamında geliştirilen Android kötücül yazılım tespit sistemi istemci sunucu mimarisine göre çalışmaktadır. İstemcilere örnek olarak akıllı telefonlar, televizyonlar, bilgisayarlar örnek olarak gösterilebilir. Yapılan işlemler sunucu tarafında yapıldığından dolayı istemci tarafında bir yük oluşmamaktadır. İstemci tarafında sadece analiz sonucu gösterilmektedir. Yapılan işlemlerin sunucu tarafında yapılmasının en önemli nedeni Android telefon istemcilerin batarya, işlemci, ram gibi kısıtlı kaynaklara sahip olmasıdır. Geliştirilen web uygulamasının çalışma adımları Şekil 3.6 da gösterilmiştir.

66 52 Şekil 3.6. Geliştirilen web uygulamasının çalışma adımları Şekil 3.6 incelendiğinde, geliştirilen web uygulamanın Google Play entegrasyonu, web kazıma, APKPure [75], APK Leecher [81], Apk Bucket [82], Apktool [11] ve VirusTotal [67] bileşenleri bulunmaktadır. Geliştirilen web uygulamasının uygulama arama arayüzü Şekil 3.7 de sunulmuştur. Şekil 3.7. Geliştirilen web uygulamasının uygulama arama arayüzü Şekil 3.7 incelendiğinde, uygulama açılış ekranında uygulama ara ve uygulama yükle olmak üzere iki seçenek bulunmaktadır. Uygulama ara seçeneğinde aranacak kelime yazılıp, ara butonuna basıldığında aranan kelime linkinin sonuna eklenir, ardından &c=apps eklenerek ilgili web sayfasında web kazıma işlemi yapılmaktadır. Web kazıma işlemi için kullanılan kod parçasının algoritması Şekil 3.8 de gösterilmiştir. Ayrıca ilgili kod parçasının örneği EK-3 te verilmiştir.

67 53 1. HtmlAgilityPack kütüphanesinde bulunan HtmlWeb kullanılarak web isminde nesne oluşturulur 2. web nesnesinin dil kodlaması Türkçe olarak ayarlanır 3. web nesnesinin Load metotu kullanılarak aranan kelimeye göre oluşturulan linkdeki web sayfasının html bilgileri elde edilir ve doc isimli değişkene atanır 4. doc.documentnode.selectnodes fonksiyonuna XPath bilgisi girilir ve bu işlem sonucunda elde edilecek olan veriler nodes isimli değişkene atanır 5. nodes değişkeninin boş olup olmadığı kontrol edilir 6. nodes değişkeni boş değilse nodes değişkeninde bulunan düğümlerin sayısı kadar for döngüsü oluşturulur 7. Her düğüm bilgisi için div//div//div/img XPath yolunun boş olup olmadığı kontrol edilir 8. Her düğüm bilgisinde bulunan uygulamanın resim bilgisini elde etmek için nodes[n].selectnodes("div//div//div/img")[0].getattributevalue("src", "Yok") yazılır 9. Her düğüm bilgisinde bulunan uygulamanın isim bilgisini elde etmek için nodes[n].selectnodes("div//div//div/img")[0].getattributevalue("alt", "Yok") yazılır 10. Her düğüm bilgisinde bulunan uygulamanın paket adı bilgisini elde etmek için nodes[i].selectnodes("a")[0].getattributevalue("href", "Yok") yazılır 11. Bu elde edilen bilgiler kullanılarak AppInfo ismindeki nesneleri tutan listeye eklenir. AppInfo nesnesinde uygulama adı, paket adı ve uygulamanın resim bilgilerini tutan değişkenler bulunmaktadır 12. Bu işlem listedeki eleman sayısı 50 olana kadar devam eder ve 50 olduğunda for döngüsü sonlandırılır Şekil 3.8. Google Play web sayfasındaki web kazıma işleminin algoritması Şekil 3.8 incelendiğinde, örnek olarak aranan kelime futbol olursa web kazıma için kullanılacak link gibi olacaktır. Bu link sonucu aranan kelimeye göre ilgili uygulamaların listesini elde etmek için XPath yolunun bulunması gereklidir. XPath yolunu bulmak için ilgili link internet tarayıcısına girilmiştir ve açılan sayfada fareye sağ tık yapılarak incele linkine tıklanılmıştır. Gelen ekranda uygulama bilgilerinin bulunduğu yer seçilerek XPath yolu elde edilmiştir. Bu işlemi gösteren ilgili görüntü Şekil 3.9 da gösterilmiştir.

68 54 Şekil 3.9. XPath yolunun belirlenmesi Şekil 3.9 incelendiğinde, kırmızı ile işaretlenmiş satır uygulama bilgilerinin bulunduğu bölümdür. Fare bu işaretli bölüm üzerindeyken sağ tık işlemi yapılır, ardından Copy yoluna tıklanır ve son olarak Copy XPath seçilerek XPath yolu elde edilmiştir. Elde edilen XPath yolu kullanılarak uygulamaların sahip olduğu resim, paket adı ve uygulama adı bilgileri elde edilmiştir. Uygulama ara seçeneği ile Android uygulamalar uygulama adı, uygulama paket adı veya istenilen kelimeye göre aranabilir. Şekil 3.10 da futbol kelimesine göre çıkan arama sonucu gösterilmiştir.

69 55 Şekil Futbol kelimesine göre çıkan arama sonucu Şekil 3.10 incelendiğinde, aranan futbol kelimesine göre sonuçlar listelenmiştir. Listedeki uygulamalardan istenilen seçilerek analiz yapılmaktadır. Analiz yapılabilmesi için öncelikle uygulamanın sunucuda bulunması gereklidir. Uygulama önceden analiz yapılmış ise ilgili sonuç istemci tarafında gösterilmektedir. Eğer önceden analiz yapılmamış ise ilk olarak uygulamanın sunucuya indirilmesi gereklidir. İndirme işlemi için ilgili uygulama ilk olarak APKPure [75] sitesinden indirilmeye çalışılmaktadır. Bu işlem için " Adı/Paket Adı/download?from=details" gibi bir link oluşturulmaktadır. Burada dikkat edilmesi gereken en önemli nokta uygulama adında özel karakter olup olmamasıdır. Uygulama adında özel karakter olması durumunda bulunan özel karakterlerin tire (-) karakteri ile yer değiştirilmesi gereklidir. Bu link kullanılarak ilgili sitede web kazıma işlemi yapılmaktadır. Bu işlem için kullanılan kod parçasının algoritması Şekil 3.11 de gösterilmiştir. Ayrıca ilgili kod parçasının örneği EK-4 te verilmiştir.

70 56 1. HtmlAgilityPack kütüphanesinde bulunan HtmlWeb kullanılarak web isminde nesne oluşturulur 2. web nesnesinin dil kodlaması Türkçe olarak ayarlanır 3. web nesnesinin Load metotu kullanılarak oluşturulan linkdeki web sayfasının html bilgileri elde edilir ve doc isimli değişkene atanır 4. doc.documentnode.selectnodes fonksiyonuna XPath bilgisi girilir ve bu işlem sonucunda elde edilecek olan veriler nodes isimli değişkene atanır 5. nodes değişkeninin boş olup olmadığı kontrol edilir 6. nodes değişkeni boş değilse nodes[0].getattributevalue("href", "Yok") fonksiyonu kullanılarak indirilmek istenilen dosyanın linki elde edilir 7. İndirilmek istenilen dosyanın kayıt edileceği dosya yolu belirlenir 8. Dosya indirmek için yazılan fonksiyon çağrılır ve dosya indirilir Şekil APKPure web sitesindeki web kazıma kod parçasının algoritması Şekil 3.11 incelendiğinde, indirilmek istenilen uygulamanın uygulama adı ve paket adı yazılarak link elde edilmektedir. Bu link sonucu ortaya çıkan web sayfasında bulunan Şekil 3.12 de gösterilen click here linkinin elde edilmesi gereklidir.

71 57 Şekil APKPure web sayfasında bulunan indirme linki Şekil 3.12 incelendiğinde, XPath yolunun elde edilmesi için fare ile click here yazısının üstüne gelinir ve sağ tık yapılarak açılan pencerede seçili olarak gelen satır üzerinde fare ile sağ tık yapılarak Copy seçeneklerinde bulunan Copy XPath seçeneği seçilerek ilgili linkin XPath adresi elde edilir. Bu XPath yolu kullanılarak indirme linki elde edilir ve uygulama indirilmeye çalışılmaktadır. Eğer uygulama indirilemezse ikinci alternatif olarak APK Leecher [81] sitesi kullanılmaktadır. Bu işlem için Adı gibi bir link oluşturulmaktadır. Bu link kullanılarak ilgili sitede web kazıma işlemi yapılmaktadır. Bu işlem için kullanılan kod parçasının algoritması Şekil 3.13 te gösterilmiştir. Ayrıca ilgili kod parçasının örneği EK- 5 te verilmiştir.

72 58 1. HtmlAgilityPack kütüphanesinde bulunan HtmlWeb kullanılarak web isminde nesne oluşturulur 2. web nesnesinin dil kodlaması Türkçe olarak ayarlanır 3. web nesnesinin Load metotu kullanılarak oluşturulan linkdeki web sayfasının html bilgileri elde edilir ve doc isimli değişkene atanır 4. doc.documentnode.selectnodes fonksiyonuna html/body/a XPath bilgisi girilir ve bu işlem sonucunda elde edilecek olan veriler nodes isimli değişkene atanır 5. nodes değişkeninin boş olup olmadığı kontrol edilir 6. nodes değişkeni boş değilse nodes[0].getattributevalue("href", "Yok") fonksiyonu kullanılarak indirilmek istenilen dosyanın linki elde edilir 7. İndirilmek istenilen dosyanın kayıt edileceği dosya yolu belirlenir 8. Dosya indirmek için yazılan fonksiyon çağrılır ve dosya indirilir Şekil APK Leecher web sitesindeki web kazıma kod örneğinin algoritması Şekil 3.13 incelendiğinde, indirilmek istenilen uygulamanın paket adı yazılarak link elde edilmektedir. Bu link sonucu ortaya çıkan web sayfasında bulunan Şekil 3.14 te gösterilen APK is Ready, Download Now linkinin elde edilmesi gereklidir. Şekil APK Leecher web sayfasında bulunan indirme linki Şekil 3.14 incelendiğinde, XPath yolunun elde edilmesi için fare ile APK is Ready, Download Now yazısının üstüne gelinir ve sağ tık yapılarak açılan pencerede seçili olarak gelen satır üzerinde fare ile sağ tık yapılarak Copy seçeneklerinde bulunan Copy XPath seçeneği seçilerek ilgili linkin XPath adresi elde edilir. Bu XPath yolu kullanılarak indirme linki elde edilir ve uygulama indirilmeye çalışılmaktadır. Eğer uygulama indirilemezse üçüncü alternatif olarak APKBucket [82] sitesi kullanılmaktadır. Bu işlem için " Adı/" gibi bir link oluşturulmaktadır. Bu link kullanılarak ilgili sitede web kazıma işlemi yapılmaktadır. Bu işlem için kullanılan kod

73 59 parçasının algoritması Şekil 3.15 te gösterilmiştir. Ayrıca ilgili kod parçasının örneği EK- 6 da verilmiştir. 1. HtmlAgilityPack kütüphanesinde bulunan HtmlWeb kullanılarak web isminde nesne oluşturulur 2. web nesnesinin dil kodlaması Türkçe olarak ayarlanır 3. web nesnesinin Load metotu kullanılarak oluşturulan linkdeki web sayfasının html bilgileri elde edilir ve doc isimli değişkene atanır 4. doc.documentnode.selectnodes fonksiyonuna /html/body/div[2]/div/div/div/div[1]/a XPath bilgisi girilir ve bu işlem sonucunda elde edilecek olan veriler nodes isimli değişkene atanır 5. nodes değişkeninin boş olup olmadığı kontrol edilir 6. nodes değişkeni boş değilse nodes[0].getattributevalue("href", "Yok") fonksiyonu kullanılarak indirilmek istenilen dosyanın linki elde edilir 7. İndirilmek istenilen dosyanın kayıt edileceği dosya yolu belirlenir 8. Dosya indirmek için yazılan fonksiyon çağrılır ve dosya indirilir Şekil APKBucket web sitesindeki web kazıma kod örneğinin algoritması Şekil 3.15 incelendiğinde, indirilmek istenilen uygulamanın paket adı yazılarak link elde edilmektedir. Bu link sonucu ortaya çıkan web sayfasında bulunan Şekil 3.16 da gösterilen Download linkinin elde edilmesi gereklidir.

74 60 Şekil APKBucket web sayfasında bulunan indirme linki Şekil 3.16 incelendiğinde, XPath yolunun elde edilmesi için fare ile Download yazısının üstüne gelinir ve sağ tık yapılarak açılan pencerede seçili olarak gelen satır üzerinde fare ile sağ tık yapılarak Copy seçeneklerinde bulunan Copy XPath seçeneği seçilerek ilgili linkin XPath adresi elde edilir. Bu XPath yolu kullanılarak indirme linki elde edilir ve uygulama indirilmeye çalışılmaktadır. Uygulama indirildikten sonra Apktool aracı [11] kullanılarak tersine mühendislik yapılmaktadır. Tersine mühendislik ile uygulamanın adı, paket adı, kullandığı izinler, targetsdkversion ve minsdkversion bilgileri elde edilerek veritabanına kayıt edilmektedir. Bu bilgiler elde edildikten sonra VirusTotal API'si [67] kullanılarak VirusTotal veritabanında tutulan bilgiler elde edilmektedir. Burada uygulamanın boyutu kilobayttan fazla olmamalı ve bir dakikada dört adet sorgu yapabilme olmak üzere iki adet kısıt bulunmaktadır [67]. Dosya boyutu kilobayttan fazla olan uygulamalar ile ilgili sonuçlar VirusTotal veritabanında bulunuyorsa kayıtlar kullanılır fakat yoksa ilgili uygulamanın VirusTotal sonuçları veritabanında ayırt edebilmek adına ilgili alanlara -2 değeri verilmektedir ve analiz sonucu sadece uygulamanın kötücül puanına göre değerlendirme yapılarak gösterilmektedir. Dosya boyutu kilobayttan az olan uygulamalar ile ilgili sonuçlar VirusTotal veritabanında bulunuyorsa kayıtlar kullanılır fakat yoksa ilgili uygulama VirusTotal API si [67] kullanılarak taratılmaktadır. Bu taratma işlemi VirusTotal in yoğunluğuna ve dosya boyutuna göre değişmektedir. Bu yüzden işlemin bitip bitmediği VirusTotal tarafından verilen tarama numarası kullanılarak 3 dakikada bir kontrol edilmektedir. Bu işlemin 3

75 61 dakikadan fazla sürmesi durumunda kullanıcıyı fazla bekletmemek için analiz sonucu sadece uygulamanın kötücül puanına göre değerlendirme yapılarak gösterilmektedir fakat VirusTotal den gelecek olan sonuç elde edilince veritabanına kayıt edilmektedir. İyicil ve kötücül veri setinde bulunan kilobayttan fazla olan 48 adet uygulama için VirusTotal web sayfasına girilerek el ile yükleme yapılarak uygulamanın analiz yapılması sağlanmıştır. Bölüm 3.3 te anlatılan hesaplama yöntemi kullanılarak uygulamanın ortalama kötücül değeri elde edilmektedir. Bu değer alıcı işlem karakteristikleri eğrisi ile belirlenen eşik değerden büyük ise kötücül, küçük ise iyicil olarak değerlendirilerek sonuç istemciye gösterilmektedir. Uygulama yükle seçeneğinde ise istemci tarafında bulunan Android uygulaması sunucuya yüklenerek analiz yapılmaktadır ve Şekil 3.17 de uygulama yükle seçeneğinin ekran görüntüsü gösterilmiştir. Şekil Uygulama yükle seçeneğinin ekran görüntüsü Şekil 3.17 incelendiğinde, Dosya Seç butonuna tıklanılması ile istemci tarafında analiz yapılmak istenilen Android uygulama bulunur ve Yükle butonuna basılarak Android uygulamanın sunucuya yükleme işlemi yapılmaktadır. Uygulama sunucuya yüklendikten sonra uygulama ara seçeneğinde bahsedilen tersine mühendislik aşaması ile başlayan süreç uygulanmaktadır. Uygulama ara ve uygulama yüklemede bahsedilen süreçler bittikten sonra ortaya çıkan analiz sonucu Şekil 3.18 deki gibi gösterilmektedir.

76 62 Şekil Analiz sonucunun ekran görüntüsü Şekil 3.18 incelendiğinde, analiz sonucunda uygulamanın adı, paket adı, çalıştığı Android sürümü, istediği izinler ve iki adet analiz sonucu gösterilmektedir. İlk analiz sonucunun kullandığı hesaplama yöntemi iyicil ve kötücül veri setlerinde bulunan izinlere göre yapılan değerlendirmedir. İkinci analiz sonucunun kullandığı hesaplama yöntemi ise ilk analiz yönteminde kullanılan hesaplamaya VirusTotal in eklendiği hesaplamadır. Ayrıca kullanıcıya VirusTotal de yapılan taramanın tarih bilgisi verilmektedir.

77 63 4. BULGULAR VE TARTIŞMA Bu çalışmada, Drebin [12] veri setinden adet kötücül uygulama ve Google Play marketten [5] el ile indirilmiş adet iyicil uygulama kullanılmıştır. Geliştirilen web uygulamasında veri setlerindeki uygulamaların bilgileri kullanılarak oluşturulmuş olan modele göre kullanıcılar istedikleri uygulamayı analiz yapabilmektedir. Bu tezde iyicil ve kötücül veri setlerini değerlendirmek için farklı yöntemler kullanılmıştır. Birinci yöntem, veri setlerindeki uygulamaların sahip olduğu izinlerden Android 4.1 sürümünde olan 197 adet izne göre yapılan değerlendirmedir. Bu yöntemde, uygulamaların kötücül değerleri hesaplanırken bu 197 adet izin dışındaki izinler yok sayılmaktadır. Uygulamaların kötücül değerleri uygulamaların sahip oldukları Android 4.1 sürümündeki izinlerin kötücül değerleri toplanarak hesaplanmaktadır. Bu değerlendirmeye göre elde edilen sonuç Çizelge 4.1 de gösterilmiştir. Çizelge 4.1. Android 4.1 sürümündeki izinlere göre değerlendirme sonuçları Doğru Tespit Yanlış Tespit Doğru Tespit Yanlış Sayısı Sayısı Oranı Oranı İyicil Veri Seti ,46 6,54 Tespit Kötücül Veri Seti ,02 6,98 Genel ,11 6,89 İyicil Veri Seti (VirusTotal'e göre belirlenmiş) Kötücül Veri Seti (VirusTotal'e göre belirlenmiş) Genel (VirusTotal'e göre belirlenmiş) ,29 5, ,62 7, ,91 7,09 Çizelge 4.1 incelendiğinde, ilgili değerlendirmeye göre iyicil veri setinde doğru tespit oranı %93,46, VirusTotal'e göre oluşturulmuş olan iyicil veri setinin doğru tespit oranı %94,29 dur. Kötücül veri setinde doğru tespit oranı %93,02, VirusTotal'e göre oluşturulmuş olan kötücül veri setinin doğru tespit oranı 92,62 dir. Genel doğru tespit

78 64 oranı %93,11, yanlış tespit oranı %6,89 dur. VirusTotal'e göre oluşturulmuş olan iyicil ve kötücül veri setinin genel doğru tespit oranı %92,91, yanlış tespit oranı %7,09 dur. İkinci yöntem, iyicil ve kötücül veri setlerindeki uygulamaların kullandıkları izinlere göre yapılan değerlendirmedir. Bu yöntemde, uygulamaların kötücül değerleri uygulamaların sahip oldukları izinlerin kötücül değerleri toplanarak hesaplanmaktadır. Bu değerlendirmeye göre elde edilen sonuç Çizelge 4.2 de gösterilmiştir. Çizelge 4.2. Veri setlerindeki uygulamaların kullandıkları izinlere göre değerlendirme sonuçları Doğru Tespit Yanlış Tespit Doğru Tespit Yanlış Sayısı Sayısı Oranı Oranı İyicil Veri Seti ,57 4,43 Kötücül Veri Seti ,35 6,65 Genel ,78 6,22 Tespit İyicil Veri Seti (VirusTotal'e göre belirlenmiş) Kötücül Veri Seti (VirusTotal'e göre belirlenmiş) Genel (VirusTotal'e göre belirlenmiş) ,25 3, ,13 6, ,67 6,33 Çizelge 4.2 incelendiğinde, ilgili değerlendirmeye göre iyicil veri setinde doğru tespit %95,57, VirusTotal'e göre oluşturulmuş olan iyicil veri setinin doğru tespit oranı %96,25 tir. Kötücül veri setinde doğru tespit oranı %93,35, VirusTotal'e göre oluşturulmuş olan kötücül veri setinin doğru tespit oranı 93,13 tür. Genel doğru tespit oranı %93,78, yanlış tespit oranı %6,22 dir. VirusTotal'e göre oluşturulmuş olan iyicil ve kötücül veri setinin genel doğru tespit oranı %93,67, yanlış tespit oranı %6,33 tür. Üçüncü yöntem, birinci yöntem ile uygulamaların VirusTotal değerlerinin birlikte kullanılıp uygulamaların kötücül değerlerinin hesaplandığı değerlendirmedir. Yani, iyicil ve kötücül veri setindeki uygulamaların Android 4.1 sürümünde bulunan 197 adet izin ve uygulamaların VirusTotal değerlerinin kullanılarak yapılan değerlendirmedir. Bu değerlendirmeye göre elde edilen sonuç Çizelge 4.3 te gösterilmiştir.

79 65 Çizelge 4.3. Android 4.1 deki izinler ve VirusTotal e göre değerlendirme sonuçları Doğru Tespit Yanlış Tespit Doğru Tespit Yanlış Sayısı Sayısı Oranı Oranı İyicil Veri Seti Kötücül Veri Seti ,42 2,58 Genel ,34 2,66 Tespit İyicil Veri Seti (VirusTotal'e göre belirlenmiş) Kötücül Veri Seti (VirusTotal'e göre belirlenmiş) Genel (VirusTotal'e göre belirlenmiş) ,85 3, ,49 2, ,38 2,62 Çizelge 4.3 incelendiğinde, ilgili değerlendirmeye göre iyicil veri setinde doğru tespit %97, VirusTotal'e göre oluşturulmuş olan iyicil veri setinin doğru tespit oranı %96,85 tir. Kötücül veri setinde doğru tespit oranı %97,42, VirusTotal'e göre oluşturulmuş olan kötücül veri setinin doğru tespit oranı %97,49 dur. Genel doğru tespit oranı %97,34, yanlış tespit oranı %2,66 dır. VirusTotal'e göre oluşturulmuş olan iyicil ve kötücül veri setinin genel doğru tespit oranı %97,38, yanlış tespit oranı %2,62 dir. Dördüncü yöntem, ikinci yöntem ile uygulamaların VirusTotal değerlerinin birlikte kullanılıp uygulamaların kötücül değerlerinin hesaplandığı değerlendirmedir. Yani, iyicil ve kötücül veri setlerindeki uygulamaların kullandıkları izinler ve uygulamaların VirusTotal değerlerinin kullanılarak yapılan değerlendirmedir. Bu değerlendirmeye göre elde edilen sonuç Çizelge 4.4 te gösterilmiştir.

80 66 Çizelge 4.4. Veri setlerindeki izinler ve VirusTotal e göre değerlendirme sonuçları Doğru Tespit Yanlış Tespit Doğru Tespit Yanlış Sayısı Sayısı Oranı Oranı İyicil Veri Seti ,2 1,8 Kötücül Veri Seti ,62 2,38 Genel ,73 2,27 Tespit İyicil Veri Seti (VirusTotal'e göre belirlenmiş) Kötücül Veri Seti (VirusTotal'e göre belirlenmiş) Genel (VirusTotal'e göre belirlenmiş) ,12 1, ,51 2, ,62 2,38 Çizelge 4.4 incelendiğinde, ilgili değerlendirmeye göre iyicil veri setinde doğru tespit %98,2, VirusTotal'e göre oluşturulmuş olan iyicil veri setinin doğru tespit oranı %98,12 dir. Kötücül veri setinde doğru tespit oranı %97,62, VirusTotal'e göre oluşturulmuş olan kötücül veri setinin doğru tespit oranı %97,51 dir. Genel doğru tespit oranı %97,73, yanlış tespit oranı %2,27 dir. VirusTotal'e göre oluşturulmuş olan iyicil ve kötücül veri setinin genel doğru tespit oranı %97,62, yanlış tespit oranı %2,38 dir. Bu dört yöntem içinde en yüksek performansa sahip yöntem VirusTotal ile birlikte iyicil ve kötücül veri setlerindeki izinlerin kullanıldığı yöntemdir. Hesaplama yönteminde VirusTotal in kullanılması yukarıda verilen sonuçlarda görüldüğü üzere sistemin başarısını arttırmıştır. Ayrıca, belirlenen Android sürümündeki izinlere bakılarak yapılan değerlendirme en düşük performansı gösteren yöntem olmuştur. Bunun nedeninin özel izinlerin ve Android 4.1 sürümünden sonra çıkan izinlerin değerlendirme dışında tutulmasından kaynaklandığı düşünülmektedir. Tezde geliştirilen sistemin literatürde geliştirilen statik analiz yöntemini kullanan çalışmalarla karşılaştırılması Çizelge 4.5 te gösterilmiştir.

81 67 Çizelge 4.5. Statik analiz yöntemlerinin karşılaştırılması Yapılan Çalışma Özellikler Veri Seti Başarı Oranı DroidMat [10] İzinler ve API 238 kötücül veri seti %97,87 çağrıları iyicil veri seti Drebin [12] Android Manifest Drebin kötücül veri %94 dosyası ve kaynak kodlar seti iyicil veri Kayabaşı [14] İzinler ve API çağrıları seti Drebin kötücül veri seti iyicil veri seti APK Auditor [15] İzinler Drebin ve Genome kötücül veri seti iyicil veri seti Wang ve ark. [19] Wu ve ark. [24] İzinler, niyetler, API çağrıları, donanım özellikleri ve kodla ilgili bilgiler Dex dosyası ve API çağrıları Arslan ve ark. [25] Dex dosyası ve izinler Tez, Android 4.1 sürümündeki izinlere göre Tez, Veri setlerindeki uygulamaların kullandıkları izinlere göre Tez, Android 4.1 deki izinler ve VirusTotal e göre Tez, Veri setlerindeki izinler ve VirusTotal e göre İzinler İzinler İzinler İzinler kötücül veri seti iyicil veri seti kötücül veri seti iyicil veri seti 50 kötücül veri seti 25 iyicil veri seti Drebin kötücül veri seti iyicil veri seti Drebin kötücül veri seti iyicil veri seti Drebin kötücül veri seti iyicil veri seti Drebin kötücül veri seti iyicil veri seti %99,2 %88,28 %99,39 kötücül veri seti için %97,66 %97,62 kötücül veri seti için %80 iyicil veri seti için %93,11 %93,78 %97,34 %97,73 Çizelge 4.5 incelendiğinde, tezde kullanılan hesaplama yöntemlerinin başarı oranları literatürde yapılmış olan bazı çalışmalardan fazla ve bazı çalışmalardan az olduğu görülmüştür. Tezde kullanılan yöntemlerden en başarılısı VirusTotal ile birlikte iyicil ve kötücül veri setlerindeki izinlerin kullanıldığı hesaplama yönteminin olduğu görülmüştür. Bu hesaplama yönteminin diğer yöntemlere göre başarılı olmasının nedeni veri setlerindeki

82 68 uygulamaların kullandıkları özel izin ve Android in tanımlamış olduğu izinlerin hesaplamaya dâhil edilmesi ve hesaplama yönteminde VirusTotal in kullanılmasıdır.

83 69 5. SONUÇ Bu tezde, öncelikle önerilen hesaplama modelinin iyicil ve kötücül veri setindeki uygulamalar üzerindeki başarısı test edilmiştir. Daha sonra iyicil veya kötücül olduğu bilinmeyen uygulamanın analizinin yapılması için istemci/sunucu mimarisi üzerine kurulmuş web uygulaması ile Android uygulamaların analizi yapılmıştır. Kullanıcılar istedikleri Android uygulamaları sunucuya yükleyerek ya da arama yaparak analiz yapabilmektedir. Web uygulamasında uygulamaların aranarak bulunabilmesi için Google Play market [5] sitesinde web kazıma işlemi yapılmıştır. Ayrıca Android uygulamaların indirilmesi için APKPure [75], Apk Leecher [81] ve ApkBucket [82] gibi Android uygulamaları indirme web sayfalarında web kazıma işlemi yapılmıştır. Android uygulamalarının analizi statik yöntem kullanılarak yapılmıştır. Analiz için Android uygulamanın kullandığı izinler kullanılmıştır. Uygulamaların kullandıkları izinlerin elde edilmesi için Apktool aracı [11] kullanılarak tersine mühendislik yapılmıştır. Tezde dört farklı hesaplama yöntemi kullanılmıştır. Bu dört hesaplama yönteminden en yüksek performansı %97,73 oranıyla VirusTotal ile birlikte iyicil ve kötücül veri setlerindeki izinlerin kullanıldığı hesaplama yöntemi olmuştur. Sonuçlardan görüleceği üzere hesaplama yönteminde VirusTotal in kullanılması sistemin başarısını arttırmıştır. Hesaplama yönteminde VirusTotal in kullanılmasının başlıca nedenleri; güvenlik tabanlı çalışmalarda sıklıkla kullanılması, uygulamanın 50 den fazla antivirüs programı tarafından taranması ve ücretsiz API ye [67] sahip olmasıdır. Ayrıca, en düşük performansı gösteren %93,11 oranıyla Android 4.1 deki izinlere göre değerlendirme yapan hesaplama yöntemi olmuştur. Bu yöntemin başarısız olmasındaki neden özel izinleri ve belirlenen Android sürümünden sonraki sürümlerde kullanılan izinleri yok saymasından dolayı olduğu düşünülmektedir. Bu tez çalışmasının kapsamında sistemin iyileştirmesi çalışmalarının sürdürülmesinde statik analiz yönteminde izinlerin yanı sıra apk dosyasında bulunan diğer özelliklerin kullanılmasının sağlanması önemlidir. Ayrıca, statik analiz yönteminin yanında dinamik analiz yönteminin eklenmesinin önemli olduğu düşünülmektedir.

84 70

85 71 KAYNAKLAR 1. İnternet: Smartphone OS Market Share, 2016 Q3. URL: Fsmartphone-market-share%2Fos&date= , Son Erişim Tarihi: İnternet: G DATA Mobile Malware Report H1/2016. URL: web%2fen%2fdocuments%2fwhitepaper%2fg_data_mobile_malware_report_h 1_2016_EN.pdf&date= , Son Erişim Tarihi: İnternet: Cunningham, E. Keeping you safe with Google Play Protect. URL: Fandroid%2Fgoogle-play-protect%2F&date= , Son Erişim Tarihi: İnternet: Google Play Protect. URL: Son Erişim Tarihi: İnternet: Google Play Store. URL: gle.com%2fstore%2fapps&date= , Son Erişim Tarihi: İnternet: Normal and Dangerous Permissions. URL: guide%2ftopics%2fsecurity%2fpermissions.html%23normal-dangerous&date= , Son Erişim Tarihi: Kabakuş, A. T., Doğru, İ. A. ve Çetin, A. (2015). Android kötücül yazılım tespit ve koruma sistemleri. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Dergisi, 31(1), Gheorghe, L., Marin, B., Gibson, G., Mogosanu, L., Deaconescu, R., Voiculescu, V.- G. and Carabas, M. (2015). Smart malware detection on Android. Security and Communication Networks, 8, Feizollah, A., Anuar, N. B., Salleh, R. and Wahab, A. W. A. (2015). A review on feature selection in mobile malware detection. Digital Investigation, 13, Wu, D. J., Mao, C. H., Wei, T. E., Lee, H. M. and Wu, K. P. (2012). Droidmat: Android malware detection through manifest and api calls tracing. Paper presented at 2012 Seventh Asia Joint Conference on Information Security, Tokyo, Japonya. 11. İnternet: Apktool: A tool for reverse engineering Android apk files. URL: pktool%2f&date= , Son Erişim Tarihi: Arp, D., Spreitzenbarth, M., Hubner, M., Gascon, H. and Rieck, K. (2014). DREBIN: Effective and Explainable Detection of Android Malware in Your Pocket. Paper presented at Network and Distributed System Security Symposium (NDSS), San Diego, CA.

86 Wang, Z., Chenlong, L., Zhenlong, Y., Guan, Y. and Xue, Y. (2016). DroidChain: A novel Android malware detection method based on behavior chains. Pervasive and Mobile Computing, 32, Kayabaşı, G. (2016). İzin Tabanlı Statik Analiz Yöntemi ile Android Uygulamaların Sınıflandırılması, Yüksek Lisans Tezi, Gazi Üniversitesi Fen Bilimleri Enstitüsü, Ankara. 15. Kabakuş, A. T., Doğru, İ. A. ve Çetin, A. (2015). APK Auditor: Permission-based Android malware detection system. Digital Investigation, 13, Kiraz, Ö. ve Doğru İ. A. (2017). Android Kötücül Yazılım Tespit Sistemleri İncelemesi. Düzce Üniversitesi Bilim ve Teknoloji Dergisi, 5, Narayanan, A., Yang, L., Chen, L. and Jinliang, L. (2016). Adaptive and Scalable Android Malware Detection through Online Learning. Paper presented at 2016 International Joint Conference on Neural Networks (IJCNN), Vancouver, Kanada. 18. Song, J., Han, C., Wang, K., Zhao, J., Ranjan R. and Wang, L. (2016). An integrated static detection and analysis framework for android. Pervasive and Mobile Computing, 32, Wang, W., Li, Y., Wang, X., Liu, J. and Zhang, X. (2017). Detecting android malicious apps and categorizing benign apps with ensemble of classifiers. Future Generation Computer Systems. 20. Sokolova, K., Perez, C. and Lemercier, M. (2017). Android Application Classification and Anomaly Detection with Graph-based Permission Patterns. Decision Support Systems, 93, Junaid, M., Liu, D. and Kung, D. (2016). Dexteroid: Detecting malicious behaviors in Android apps using reverse-engineered lifecycle models. Computers & Security, 59, İnternet: androguard / androguard. URL: %2Fandroguard&date= , Son Erişim Tarihi: Anwar, S., Zain, J. M., Inayat, Z., Karim, A., Haq, R. U. and Jabir, A. N. (2016). A Static Approach towards Mobile Botnet Detection. Paper presented at the 3rd International Conference on Electronic Design (ICED), Phuked, Tayland. 24. Wu, S., Wang, P., Li, X. and Zhang, Y. (2016). Effective Detection of Android Malware Based on the Usage of Data Flow APIs and Machine Learning. Information and Software Technology, 75, Arslan, R. S., Doğru, İ. A. ve Barışçı, N. (2017). Android Mobil Uygulamalar için İzin Karşılaştırma Tabanlı Kötücül Yazılım Tespiti. Politeknik Dergisi, 20(1), İnternet: pxb1988/dex2jar. URL: Fdex2jar&date= , Son Erişim Tarihi:

87 Feizollah, A., Anuar, N. B., Salleh, R., Suarez-Tangil, G. and Furnell, S. (2016). AndroDialysis: Analysis of Android Intent Effectiveness in Malware Detection. Computers & Security, 65, Kang, H., Jang, J.-W., Mohaisen, A. and Kim, H. K. (2015). Detecting and Classifying Android Malware Using Static Analysis along with Creator Information. International Journal of Distributed Sensor Networks. 29. Goyal, R., Spognardi, A., Dragoni, N. and Argyriou, M. (2016). SafeDroid: A Distributed Malware Detection Service for Android. Paper presented at 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), Macau, Çin. 30. Dimjasevic, M., Atzeni, S., Ugrina, I. and Rakamaric, Z. (2016). Evaluation of Android Malware Detection Based on System Calls. Paper presented at International Workshop on Security and Privacy Analytics (IWSPA), New Orleans, Amerika. 31. Shabtai, A., Tenenboim-Chekina, L., Mimran, D., Rokach, L., Shapira, B. and Elovici, Y. (2014). Mobile malware detection through analysis of deviations in application network behavior. Computers & Security, 43, Wang, S., Chen, Z., Zhang, L., Yan, Q., Yang, B., Peng, L. and Jia, Z. (2016). TrafficAV: An Effective and Explainable Detection of Mobile Malware Behavior Using Network Traffic. Paper presented at 2016 IEEE/ACM 24th International Symposium on Quality of Service (IWQoS), Pekin, Çin. 33. Heuser, S., Negro, M., Pendyala, P. K. and Sadeghi, A-R. (2016). DroidAuditor: Forensic Analysis of Application-Layer Privilege Escalation Attacks on Android. Paper presented at Financial Cryptography and Data Security (FC 2016), Barbados. 34. Felt, A. P., Wang, H. J., Moshchuk, A., Hanna, S. and Chin, E. (2011). Permission redelegation: Attacks and defenses. Paper presented at 20th USENIX Security Symposium, San Francisco, CA. 35. Jang, J-W., Yun, J., Mohaisen, A., Woo, J. and Kim, H. K. (2016). Detecting and classifying method based on similarity matching of Android malware behavior with profile. SpringerPlus, 5(273), Garg, S., Peddoju, S. K. and Sarje, A. K. (2016). Network-based detection of Android malicious apps. International Journal of Information Security, Arshad, S., Khan, A., Shah, M. A. and Ahmed, M. (2016). Android Malware Detection & Protection: A Survey. Advanced Computer Science and Applications, 7, Chang, W-L., Sun, H-M. and Wu, W. (2016). An Android Behavior-Based Malware Detection Method using Machine Learning. Paper presented at 2016 IEEE International Conference on Signal Processing, Communications and Computing (ICSPCC), Hong Kong, Çin. 39. Lantz, P. (2011). An Android application sandbox for dynamic analysis, Yüksek Lisans Tezi, Lund Üniversitesi Elektrik ve Enformasyon Teknolojileri Bölümü, İsveç.

88 Shi, Y., You, W., Qian, K., Bhattacharya, P. and Qian, Y. (2016). A Hybrid Analysis for Mobile Security Threat Detection. Paper presented at 2016 IEEE 7th Annual Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON), New York, Amerika. 41. Cole, Y., Zhang, H., Ge, L., Wei, S., Yu, W., Lu, C., Chen, G., Shen, D., Blasch, E. and Pham K. D. (2015). ScanMe Mobile: A Local and Cloud Hybrid Service for Analyzing APKs. Paper presented at Research in Adaptive and Convergent Systems (RACS), Prag, Çek Cumhuriyeti. 42. İnternet: Google Cloud Messsaging. URL: cloud-messaging%2f&date= , Son Erişim Tarihi: İnternet: Google App Engine. URL: ngine%2f&date= , Son Erişim Tarihi: Singh, S., Mishra, B. and Singh, S. (2015). Detecting Intelligent Malware on Dynamic Android Analysis Environments. Paper presented at the 10th International Conference for Internet Technology and Secured Transactions (ICITST), Londra, İngiltere. 45. İnternet: Androguard. URL: e%2fp%2fandroguard%2f&date= , Son Erişim Tarihi: Petsas, T., Voyatzis, G., Athanasopoulos, E., Polychronakis, M. and Ioannidis, S. (2014). Rage against the virtual machine: Hindering dynamic analysis of android malware. Paper presented at the Seventh European Workshop on System Security (EuroSec 14), Amsterdam, Hollanda. 47. Wang, H., Guo, Y., Tang, Z., Bai, G. and Chen, X. (2015). Reevaluating Android Permission Gaps with Static and Dynamic Analysis. Paper presented at 2015 IEEE Global Communications Conference (GLOBECOM), San Diego, Amerika. 48. İnternet: UI / Application Excerciser Monkey. URL: studio%2ftest%2fmonkey.html&date= , Son Erişim Tarihi: Schmidt, A.-D. (2011). Detection of Smartphone Malware, Doktora Tezi, Berlin Teknik Üniversitesi Elektrik Mühendisliği ve Bilgisayar Bilimleri, Berlin. 50. Davarcı, E. (2015). Malware analysis with side-channel information on android smartphones, Doktora Tezi, Boğaziçi Üniversitesi Fen Bilimleri Enstitüsü, İstanbul. 51. Oh, T., Kim, Y. H., Moon, H. S., Kim, J. N. and Stackpole, B. (2016). Android Malware Analysis and Conceptual Malware Mitigation Approaches. Paper presented at the 7th International Conference on Information and Communication Technology Convergence (ICTC 2016), Jeju Adası, Güney Kore.

89 İnternet: iphone App Store. URL: genre%2fios%2fid36%3fmt%3d8&date= , Son Erişim Tarihi: Felt, A. P., Finifter, M., Chin, E., Hanna, S. and Wagner, D. (2011). A Survey of Mobile Malware in the Wild. Paper presented at 18th ACM Conference on Computer and Communications Security (CCS 2011), Chicago, Amerika. 54. İnternet: Windows Phone Store. URL: Son Erişim Tarihi: İnternet: Android Internals Part I. URL: 2Fmobil-cihaz-guvenligi%2Fandroid-internals-part-i.html&date= , Son Erişim Tarihi: Enck, W., Ongtang, M. and McDaniel, P. (2009). On Lightweight Mobile Phone Application Certification. Paper presented at 16th ACM Conference on Computer and Communications Security (CCS 2009), Chicago, Amerika. 57. R-Mota, A., E-Ambrosio, P. J., A-Anaya, E., A-Bermejo, R. and V-Vargas, L. A. (2016). Improving Android Mobile Application Development by Dissecting Malware Analysis Data. Paper presented at 4th International Conference in Software Engineering Research and Innovation (CONISOFT 2016), Puebla, Meksika. 58. İnternet: Security. URL: urity%2f&date= , Son Erişim Tarihi: Faruki, P., Bharmal, A., Laxmi, V., Ganmoor, V., Gaur, M. S. and Conti, M. (2015). Android Security: A Survey of Issues, Malware Penetration and Defenses. IEEE Communications Surveys & Tutorials, 17 (2), İnternet: <permission>. URL: guide%2ftopics%2fmanifest%2fpermission-element.html&date= , Son Erişim Tarihi: İnternet: System and kernel security. URL: urity%2foverview%2fkernel-security.html&date= , Son Erişim Tarihi: Vidas, T. and Christin, N. (2013). Sweetening Android Lemon Markets: Measuring and Combating Malware in Application Marketplaces. Paper presented at Third ACM Conference on Data and Application Security and Privacy (CODASPY), San Antonio, Amerika.

90 Abualola, H., Alhawai, H., Kadadha, M., Otrok, H. and Mourad, A. (2016). An Android-based Trojan Spyware to Study the NotificationListener Service Vulnerability. Paper presented at the 7th International Conference on Ambient Systems, Networks and Technologies (ANT 2016), Madrid, İspanya. 64. Abura ed, N., Otrok, H., Mizouni, R. and Bentahar, J. (2014). Mobile phishing attack for android platform. Paper presented at 10th International Conference on Innovations in Information Technology (IIT), Al Ain, Birleşik Arap Emirlikleri. 65. Malik, S. and Khatter, K. (2016). System Call Analysis of Android Malware Families. Indian Journal of Science and Technology, 9 (21), Medvet, E. and Mercaldo, F. (2016). Exploring the usage of Topic Modeling for Android Malware Static Analysis. Paper presented at 11th International Conference on Availability, Reliability and Security (ARES), Salzburg, Avusturya. 67. İnternet: VirusTotal Public API v2.0. URL: %2Fdocumentation%2Fpublic-api&date= , Son Erişim Tarihi: Shehu, Z., Ciccotelli, C., Ucci, D., Aniello, L. and Baldoni, R. (2016). Towards the Usage of Invariant-based App Behavioral Fingerprinting for the Detection of Obfuscated Versions of Known Malware. Paper presented at 10th International Conference on Next Generation Mobile Applications, Security and Technologies (NGMAST 2016), Cardiff, Galler. 69. İnternet: About VirusTotal. URL: out%2f&date= , Son Erişim Tarihi: Spreitzenbarth, M., Schreck, T., Echtler, F., Arp, D. and Hoffmann, J. (2014). Mobile- Sandbox: combining static and dynamic analysis with machine-learning techniques. International Journal of Information Security, 14, Ban, T., Takahashi, T., Guo, S., Inoue, D. and Nakao, K. (2016). Integration of Multimodal Features for Android Malware Detection Using Linear SVM. Paper presented at The 11th Asia Joint Conference on Information Security (AsiaJCIS 2016), Fukuoka, Japonya. 72. Tomak, L. and Bek, Y. (2009). İşlem karakteristik eğrisi analizi ve eğri altında kalan alanların karşılaştırılması. Journal of Experimental and Clinical Medicine, 27, İnternet: The Area Under an ROC Curve. URL: Froc3.htm&date= , Son Erişim Tarihi: İnternet: Accord.Statistics.Analysis Namespace. URL: cs%2fhtml%2fn_accord_statistics_analysis.htm&date= , Son Erişim Tarihi:

91 İnternet: APKPure. URL: , Son Erişim Tarihi: İnternet: The Drebin Dataset. URL: narp%2fdrebin%2f&date= , Son Erişim Tarihi: Kang, B., Yerima, S. Y., McLaughlin, K. and Sezer, S. (2016). N-opcode Analysis for Android Malware Classification and Categorization. Paper presented at International Conference On Cyber Security And Protection Of Digital Services (Cyber Security), Londra, İngiltere. 78. Ma, L., Wang, X., Yang, Y. and He, J.(2016). Ultra-lightweight Malware Detection of Android Using 2-level Machine Learning. Paper presented at 3rd International Conference on Information Science and Control Engineering (ICISCE), Pekin, Çin. 79. Xu, K., Li., Y. and Deng, R. H. (2016). ICCDetector: ICC-Based Malware Detection on Android. IEEE Transactions on Information Forensics and Security, 11 (6), İnternet: Manifest.permission. URL: reference%2fandroid%2fmanifest.permission.html&date= , Son Erişim Tarihi: İnternet: APK Leecher. URL: , Son Erişim Tarihi: İnternet: APKBucket. URL: , Son Erişim Tarihi:

92 78

93 EKLER 79

94 80 EK-1. Eşik değer hesaplanması için kullanılan kod parçası Şekil 1.1. Eşik değer hesaplanması için kullanılan kod parçası örneği

95 81 EK-2. Apktool ile tersine mühendislik yapılabilmesi için kullanılan kod parçası Şekil 2.1. Tersine mühendislik kod parçası örneği

96 82 EK-3. Google Play web sayfasındaki web kazıma işlemi için kullanılan kod parçası Şekil 3.1. Google Play web sayfasındaki web kazıma işlemi için kullanılan kod parçası örneği

97 83 EK-4. APKPure web sayfasındaki web kazıma işlemi için kullanılan kod parçası Şekil 4.1. APKPure web sayfasındaki web kazıma işlemi için kullanılan kod parçası örneği

98 84 EK-5. APK Leecher web sayfasındaki web kazıma işlemi için kullanılan kod parçası Şekil 5.1. APK Leecher web sayfasındaki web kazıma işlemi için kullanılan kod parçası örneği

99 85 EK-6. APKBucket web sayfasındaki web kazıma işlemi için kullanılan kod parçası Şekil 6.1. APKBucket web sayfasındaki web kazıma işlemi için kullanılan kod parçası örneği

100 86 ÖZGEÇMİŞ Kişisel Bilgiler Soyadı, adı : KİRAZ, Ömer Uyruğu : T.C. Doğum tarihi ve yeri : , Ankara Medeni hali : Bekar Telefon : 0 (536) omerk1818@gmail.com Eğitim Derece Yüksek lisans Eğitim Birimi Gazi Üniversitesi / Bilgisayar Mühendisliği Lisans Eskişehir Osmangazi Üniversitesi / 2012 Bilgisayar Mühendisliği Lise Fatih Sultan Mehmet Lisesi 2006 Mezuniyet tarihi Devam Ediyor İş Deneyimi Yıl Yer Görev Halen Türkiye İstatistik Kurumu TÜİK Uzmanı Eski İşlem(GİS) Mobil Uygulama Geliştirme Uzmanı Yabancı Dil İngilizce Yayınlar Kiraz, Ö., Doğru İ. A. (2017). Android Kötücül Yazılım Tespit Sistemleri İncelemesi. Düzce Üniversitesi Bilim ve Teknoloji Dergisi, 5, Hobiler Gezmek, Futbol, Sinema, Spor.

101 GAZİ GELECEKTİR...

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların bilgilerini saklamalarına, program yüklemelerine izin

Detaylı

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

Detaylı

http://www.mertsarica.com http://twitter.com/mertsarica

http://www.mertsarica.com http://twitter.com/mertsarica Android üzerine Penetrasyon testi üzerine Penetrasyon testi adımları Örnek Zafiyetler Sonuç http://www.mertsarica.com http://twitter.com/mertsarica Ahlaklı Korsan Blog Yazarı Python Programcısı Zararlı

Detaylı

Bilgi güvenliği konusunda farkındalık yaratmak. Mobil cihazlardaki riskleri anlatmak. Mobil uygulamaların bilgi güvenliği açısından incelemek 2

Bilgi güvenliği konusunda farkındalık yaratmak. Mobil cihazlardaki riskleri anlatmak. Mobil uygulamaların bilgi güvenliği açısından incelemek 2 1 Bu çalışmanın amacı; Bilgi güvenliği konusunda farkındalık yaratmak Mobil cihazlardaki riskleri anlatmak Mobil uygulamaların bilgi güvenliği açısından incelemek 2 Giriş - Mobil Cihazlar Mobil İşletim

Detaylı

MOBIL UYGULAMA GELIŞTIRME

MOBIL UYGULAMA GELIŞTIRME MOBIL UYGULAMA GELIŞTIRME PELIN YILDIRIM FATMA BOZYIĞIT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Android Nedir ve Uygulama Temelleri Android Uygulama Bileşenleri

Detaylı

Google Play Zararlısı İnceleme Raporu

Google Play Zararlısı İnceleme Raporu Google Play Zararlısı İnceleme Raporu Günümüzde akıllı telefonlara olan ilginin ve akıllı telefon kullanım oranının artması ile birlikte mobil platformlar saldırganların ilgisini giderek çekmeye başlamıştır.

Detaylı

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız? İÇİNDEKİLER VII İÇİNDEKİLER 1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız? 4 Kaynak Kodu 5 2 MERHABA DÜNYA 7 Android Nedir?

Detaylı

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI 19.10.2015. 3 Yazılım Türleri

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI 19.10.2015. 3 Yazılım Türleri İÇERİK 2 BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI İşletim Sistemleri ÖĞR. GÖR. HASAN ALİ AKYÜREK Yazılım nedir? Yazılım türleri nelerdir? İşletim sistemi nedir? İşletim sisteminin özellikleri İşletim sistemleri

Detaylı

Kaspersky Open Space Security: Release 2. İşletmeniz için birinci sınıf bir BT güvenliği çözümü

Kaspersky Open Space Security: Release 2. İşletmeniz için birinci sınıf bir BT güvenliği çözümü Kaspersky Open Space Security: Release 2 İşletmeniz için birinci sınıf bir BT güvenliği çözümü Güncellenmiş uygulamalar Updated applications Release 2 uygulamaları: Kaspersky Anti-virus for Windows Workstations

Detaylı

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını

Detaylı

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü EYLÜL 2012 İŞLETİM SİSTEMLERİ İÇERİK 2 2 Yazılım nedir? Yazılım türleri nelerdir? İşletim sistemi nedir? İşletim sisteminin özellikleri İşletim sistemleri Unix Linux Windows Mac OS Android Yazılım Yazılım(Software),

Detaylı

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız? İÇİNDEKİLER V İÇİNDEKİLER 1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız? 4 Kaynak Kodu 4 2 MERHABA DÜNYA 7 Android Nedir?

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

Red Alert 2.0 Truva Atı ve Bankacılık Zararlısı İnceleme Raporu

Red Alert 2.0 Truva Atı ve Bankacılık Zararlısı İnceleme Raporu Red Alert 2.0 Truva Atı ve Bankacılık Zararlısı İnceleme Raporu Mobil platformda faaliyet yürüten Red Alert Truva Atının 2.0 olarak adlandırılan yeni versiyonu çeşitli mecralarda dağıtılmaya başlanmıştır.

Detaylı

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ TDİ111 TÜRKDİLİ 1 1. Dil, diller ve Türk dili 2. Dil bilgisi, sözcük, cümle 3. Kelime Türleri 4. Anlatımın

Detaylı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER BLM401 Dr.Refik SAMET 1 GİRİŞ (1/3) Güvenlik, verilerin veya bilgilerin saklanması, kullanılması ve taşınması esnasında bilgilerin

Detaylı

BİT in Temel Bileşenleri (Yazılım-1)

BİT in Temel Bileşenleri (Yazılım-1) Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu

Detaylı

İŞLETİM SİSTEMLERİ. (Operating Systems)

İŞLETİM SİSTEMLERİ. (Operating Systems) İŞLETİM SİSTEMLERİ (Operating Systems) İşletim Sistemi Tanımı, Görevleri, Bilinen İşletim Sistemleri Çok Kullanıcılı Sistemler, Bellek Yönetim Birimi Linux ve Windows Ailesi, Bilinen İşletim Sistemleri

Detaylı

Düzce Üniversitesi Bilim ve Teknoloji Dergisi

Düzce Üniversitesi Bilim ve Teknoloji Dergisi Düzce Üniversitesi Bilim ve Teknoloji Dergisi, 5 (2017) 281-298 Düzce Üniversitesi Bilim ve Teknoloji Dergisi Araştırma Makalesi Android Kötücül Yazılım Tespit Sistemleri İncelemesi Ömer KİRAZ a,*, İbrahim

Detaylı

BULUT BİLİŞİM VE BÜYÜK VERİ ARAŞTIRMA LABORATUVARI. Ekim 2017

BULUT BİLİŞİM VE BÜYÜK VERİ ARAŞTIRMA LABORATUVARI. Ekim 2017 BULUT BİLİŞİM VE BÜYÜK VERİ ARAŞTIRMA LABORATUVARI Ekim 2017 Bulut Bilişim ve Büyük Veri Araştırma Laboratuvarı (B3LAB) Kamunun ihtiyaçları doğrultusunda, açık kaynak kodlu ve güvenli çözümler için Ar-Ge

Detaylı

İŞ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

İŞ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 İŞ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 bulunmaktadır; 1. Performans: İşletim sistemi, makine

Detaylı

BioAffix Ones Technology nin tescilli markasıdır.

BioAffix Ones Technology nin tescilli markasıdır. BioAffix Ones Technology nin tescilli markasıdır. ? NEDEN BİYOMETRİK DOĞRULAMA SUNUCU TABANLI BİYOMETRİK MICROSOFT WINDOWS OTURUM AÇMA UYGULAMASI Biyometrik veri taklit edilemez, şifre gibi unutulamaz!

Detaylı

Bilişim Teknolojileri Temelleri 2011

Bilişim Teknolojileri Temelleri 2011 Bölüm 1 Bilişim Teknolojileri Temelleri 2011 Dijital Dünyada Yaşamak Hedefler Bilgisayar kullanabilmenin günümüzde başarılı olmak için neden son derece önemli olduğu Bilgisayar sözcüğünün tanımlanması

Detaylı

Android Telefonlarla Yol Bozukluklarının Takibi: Kitle Kaynaklı Alternatif Çözüm

Android Telefonlarla Yol Bozukluklarının Takibi: Kitle Kaynaklı Alternatif Çözüm Galatasaray Üniversitesi Android Telefonlarla Yol Bozukluklarının Takibi: Kitle Kaynaklı Alternatif Çözüm Mustafa Tekeli, Özlem Durmaz İncel İçerik Giriş Literatür Özeti Sistem Mimarisi / Metodoloji Öncül

Detaylı

Exobot Bankacılık Zararlısı İnceleme Raporu

Exobot Bankacılık Zararlısı İnceleme Raporu Exobot Bankacılık Zararlısı İnceleme Raporu Mobil platformda yaygın olan zararlı tiplerinden birisi olan bankacılık zararlıları yazarları, gün geçtikçe faaliyetlerini geliştirerek ve değiştirerek devam

Detaylı

İŞLETİM SİSTEMLERİ. Enformatik Bölümü

İŞLETİM SİSTEMLERİ. Enformatik Bölümü 2015 İŞLETİM SİSTEMLERİ İÇERİK 2 2 Yazılım nedir? Yazılım türleri nelerdir? İşletim sistemi nedir? İşletim sisteminin özellikleri İşletim sistemleri Unix Linux Windows Mac OS Android Yazılım Yazılım(Software),

Detaylı

Ağ Trafik ve Forensik Analizi

Ağ Trafik ve Forensik Analizi Ağ Trafik ve Forensik Analizi Zararlı Yazılım Analiz ve Mücadele Merkezi TÜBİTAK BİLGEM Siber Güvenlik Enstitüsü Ağ Forensik Analizi Tanım Bilgisayar ağlarının herhangi saldırıya karşın izlenmesi ve analiz

Detaylı

BioAffix Ones Technology nin tescilli markasıdır.

BioAffix Ones Technology nin tescilli markasıdır. BioAffix Ones Technology nin tescilli markasıdır. NEDEN BİYOMETRİK?DOĞRULAMA Biyometrik veri taklit edilemez, şifre gibi unutulamaz! Şifre olmadığı için, casus yazılımlara karşı güvenlidir! Biyometrik

Detaylı

Servis olarak Altyapı

Servis olarak Altyapı Servis olarak Altyapı Servis olarak Altyapı (Infrastructure as a Servis, IaaS) fiziksel makineler, sanal makineler ve sanal depolama gibi temel kaynaklara erişebilmeyi sağlar. Bu kaynaklardan başka IaaS

Detaylı

Sertan Kolat skolat@avanteg.com

Sertan Kolat skolat@avanteg.com Sertan Kolat skolat@avanteg.com Sertan Kolat Avanteg Güvenlik Denetimi & Servisler Yöneticisi Güvenlik TV Yapımcı ve Sunucu CISSP, CISA, OSCP Blogger SertanKolat.com AutomatedScanning.blogspot.com Mobil

Detaylı

Model-Tabanlı ve Rastgele Karma Yöntem

Model-Tabanlı ve Rastgele Karma Yöntem Android de Çökme Tespitini İyileştirme Amaçlı Model-Tabanlı ve Rastgele Karma Yöntem Yavuz Köroğlu Mustafa Efendioğlu Alper Şen Bilgisayar Mühendisliği Bölümü Boğaziçi Üniversitesi, İstanbul/Türkiye yavuz.koroglu@boun.edu.tr

Detaylı

Hızlı Başlangıç Kılavuzu

Hızlı Başlangıç Kılavuzu Hızlı Başlangıç Kılavuzu 1. Adım Windows Server 2012'yi Yükleme Bilgisayarınız Windows Server 2012 yüklenmiş olarak teslim edildiyse, 1. Adım'ı atlayabilirsiniz. Yükleme Yönergeleri Yükleme yönergeleri,

Detaylı

EKLER EK 12UY0106-5/A4-1:

EKLER EK 12UY0106-5/A4-1: Yayın Tarihi: 26/12/2012 Rev. :01 EKLER EK 12UY0106-5/A4-1: nin Kazandırılması için Tavsiye Edilen Eğitime İlişkin Bilgiler Bu birimin kazandırılması için aşağıda tanımlanan içeriğe sahip bir eğitim programının

Detaylı

Andorid İşletim Sistemi Uyumlu Ösym Sınavları Uygulaması

Andorid İşletim Sistemi Uyumlu Ösym Sınavları Uygulaması Andorid İşletim Sistemi Uyumlu Ösym Sınavları Uygulaması Metin Kapıdere*, Hilmi Turan* *İnönü Üniversitesi, Eğitim Fakültesi, Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü, Malatya mkapidere@inonu.edu.tr,

Detaylı

Qlik Sense için sistem gereksinimleri. Qlik Sense June 2017 Copyright QlikTech International AB. Tüm hakları saklıdır.

Qlik Sense için sistem gereksinimleri. Qlik Sense June 2017 Copyright QlikTech International AB. Tüm hakları saklıdır. Qlik Sense için sistem gereksinimleri Qlik Sense June 2017 Copyright 1993-2017 QlikTech International AB. Tüm hakları saklıdır. Telif Hakkı 1993-2017 QlikTech International AB. Tüm hakları saklıdır. Qlik,

Detaylı

MOBİL İŞLETİM SİSTEMLERİ (MOBILE OPERATING SYSTEMS)

MOBİL İŞLETİM SİSTEMLERİ (MOBILE OPERATING SYSTEMS) -GİRİŞ -BAŞLICA ÇEŞİTLERİ -ANDROID -Özellikleri -Sürümleri -Uygulama Geliştirme -IOS -SYMBIAN -WINDOWS MOBILE -BLACK BERRY OS -WEB OS -BADA -MEEGO -PAZAR PAYLARI -KAYNAKÇA MOBİL İŞLETİM SİSTEMLERİ (MOBILE

Detaylı

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1 vii İÇİNDEKİLER ÖNSÖZ... iii YAZARLAR HAKKINDA... v İÇİNDEKİLER... vii RESİMLER LİSTESİ...xv BÖLÜM 1: TEMELLER...1 1.1.Bulut Bilişim Kavramının Analizi...1 1.1.1.Bulut Alt-Kavramı...1 1.1.2. Bilişim Alt-Kavramı...3

Detaylı

SİBER SUÇLARA KARŞI SİBER ZEKA

SİBER SUÇLARA KARŞI SİBER ZEKA SİBER SUÇLARA KARŞI SİBER ZEKA Aytuğ Çelikbaş Sistem Mühendisi Copyright 2013 EMC Corporation. All rights reserved. 1 2 Ajanda Günümüz Tehditleri Güvenlikte Büyük Veri Yaklaşımları Siber İstihbarat Atak

Detaylı

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu 10-02-2007

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu 10-02-2007 Akademik Dünyada Özgür Yazılım Onur Tolga Şehitoğlu 10-02-2007 1 Özgür Yazılım Nedir? Neden Özgür Yazılım? 2 Masaüstü İşletim Sistemi Ofis Uygulamaları 3 Görüntüleme 4 Bilimsel Araçlar Octave SciLab R

Detaylı

Öğrenciler için Kablosuz İnternet Erişimi (Wi-Fi) Kullanım Kılavuzu

Öğrenciler için Kablosuz İnternet Erişimi (Wi-Fi) Kullanım Kılavuzu T.C. KIRŞEHİR AHİ EVRAN ÜNİVERSİTESİ REKTÖRLÜĞÜ Bilgi İşlem Daire Başkanlığı Bilgi İşlem Daire Başkanlığı bidb@ahievran.edu.tr Sayfa 1 / 9 KABLOSUZ AĞ TEKNOLOJİLERİ Öğrencilerimizin taşınabilir cihazlarından

Detaylı

2000 li yıllardan itibaren teknolojinin hızlı gelişiminden belki de en büyük payı alan akıllı telefon ve tabletler gibi kablosuz iletişim olanağı

2000 li yıllardan itibaren teknolojinin hızlı gelişiminden belki de en büyük payı alan akıllı telefon ve tabletler gibi kablosuz iletişim olanağı 2000 li yıllardan itibaren teknolojinin hızlı gelişiminden belki de en büyük payı alan akıllı telefon ve tabletler gibi kablosuz iletişim olanağı sağlayan cihazların daha iyi, hızlı ve ucuz modellerle

Detaylı

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır. Yazılım Mimarisi 1.Yazılım Mimarisi Nedir? Yazılım mimarisi geliştirilen uygumaların maliyetlerinin azaltılmasında önemli bir yer tutar. Örneğin MVC modeli kullanarak bir uygulama geliştiriyoruz ve arayüz

Detaylı

PAZARTESİ SALI 2015-2016 Ders Programı 1. Öğretim 09.00-09.50 10.00-10.50 11.00-11.50 12.00-12.50 HRT4291 WEB TABANLI CBS GR:11 Ü.GÜMÜŞAY EZ-121 ; D1-129 HRT4291 WEB TABANLI CBS GR:22 Ü.GÜMÜŞAY EZ-121

Detaylı

Bilgisayar, elektronik bir cihazdır ve kendi belleğinde depolanan talimatları sırasıyla uygulayarak çalışır. İşler. Bilgi İşlem Çevrimi

Bilgisayar, elektronik bir cihazdır ve kendi belleğinde depolanan talimatları sırasıyla uygulayarak çalışır. İşler. Bilgi İşlem Çevrimi Bilgisayar nedir? Bilgisayar, elektronik bir cihazdır ve kendi belleğinde depolanan talimatları sırasıyla uygulayarak çalışır. Veriyi toplar (girdi) İşler Bilgi üretir (çıktı) Bilgi İşlem Çevrimi 1 Bir

Detaylı

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017 Temel Bilgi Teknlolojileri 1 Ders notları 5 Öğr.Gör. Hüseyin Bilal MACİT 2017 Windows işletim sistemi Kullanıcıya grafik arabirimler ve görsel iletilerle yaklaşarak, yazılımları çalıştırmak, komut vermek

Detaylı

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu Turquaz Açık kodlu muhasebe yazılımı http://www.turquaz.com Turquaz Proje Grubu Konu Başlıkları 1. Turquaz Proje Grubu 2. Programın fikri 3. Geliştirme aşaması 4. Programın içeriği 5. Yapılacaklar 6. Dizayn

Detaylı

Web Uygulama Güvenliği Kontrol Listesi 2010

Web Uygulama Güvenliği Kontrol Listesi 2010 Web Uygulama Güvenliği Kontrol Listesi 2010 1 www.webguvenligi.org Web uygulama güvenliği kontrol listesi 2010, OWASP-Türkiye ve Web Güvenliği Topluluğu tarafından güvenli web uygulamalarında aktif olması

Detaylı

Hızlı ve Güvenli Vale Hizmeti

Hızlı ve Güvenli Vale Hizmeti Hızlı ve Güvenli Vale Hizmeti Social Media Hızlı ve Güvenli Vale Hizmeti!!! ValeApp Vale işletmeleri ve mobil kullanıcılar için geliştirilmiş araç park etme, çağırma ve ödeme süreçlerini hızlı ve güvenli

Detaylı

Vitel. Manage Engine. Opmanager Yönetici Özeti

Vitel. Manage Engine. Opmanager Yönetici Özeti Vitel Manage Engine Opmanager Yönetici Özeti AĞ ve SUNUCU İZLEME YAZILIMI OpManager web-tabanlı, ağ ve sunucu sistemlerini, (routers,firewalls,servers,switches,printers) merkezi bir noktadan izleme ve

Detaylı

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular Pardus A. Murat Eren, meren@pardus.org.tr Pardus Geliştiricisi 25 Mart 2007 İçerik 1 Neden? Nasıl? 2 3 Neden? Nasıl? 1 Neden? Nasıl? 2 3 Neden? Nasıl? Neden? Ana sözleşme Pardus, UEKAE tarafından, bilişim

Detaylı

Tek Arayüz. Çok Fonksiyon. Kolay Kullanım. Komut Satırı ile Vedalaşın

Tek Arayüz. Çok Fonksiyon. Kolay Kullanım. Komut Satırı ile Vedalaşın Neus Nedir? APN trafiğinizin tüm kontrolü tek arayüzde! Neus un grafik arayüzü, gelişmiş raporlama ve yönetim fonksiyonları sayesinde APN ağlarınızı kolayca yönetin! Tek Arayüz. Çok Fonksiyon. Kolay Kullanım.

Detaylı

TÜBİTAK ULAKBİM ELEKTRONİK İMZA ENTEGRASYONU HİZMET ALIMI TEKNİK ŞARTNAMESİ

TÜBİTAK ULAKBİM ELEKTRONİK İMZA ENTEGRASYONU HİZMET ALIMI TEKNİK ŞARTNAMESİ TÜBİTAK ULAKBİM ELEKTRONİK İMZA ENTEGRASYONU HİZMET ALIMI TEKNİK ŞARTNAMESİ 1. YAPILACAK İŞİN KONUSU VE TANIMI 1.1. Yapılacak İşin Konusu TRABIS (.tr Ağ Bilgi Sistemi) kapsamında doğacak olan e-imza ile

Detaylı

BioAffix Ones Technology nin tescilli markasıdır.

BioAffix Ones Technology nin tescilli markasıdır. BioAffix Ones Technology nin tescilli markasıdır. NEDEN BİYOMETRİK?DOĞRULAMA Biyometrik veri taklit edilemez, şifre gibi unutulamaz! Şifre olmadığı için, casus yazılımlara karşı güvenlidir! Biyometrik

Detaylı

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.2 Telif Hakkı QlikTech International AB. Tüm hakları saklıdır.

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.2 Telif Hakkı QlikTech International AB. Tüm hakları saklıdır. Qlik Sense için sistem gereksinimleri Qlik Sense 3.2 Telif Hakkı 1993-2017 QlikTech International AB. Tüm hakları saklıdır. Telif Hakkı 1993-2017 QlikTech International AB. Tüm hakları saklıdır. Qlik,

Detaylı

Bilgisayar Yazılımları

Bilgisayar Yazılımları Bilgisayar Yazılımları Yazılım Türleri Programlama Dilleri Bir işi bilgisayara yaptırmak ancak belirli kodların belirli bir sıra doğrultusunda kullanılması ile olanaklıdır. Kullanılan bu koda programlama

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

JAVA MOBIL UYGULAMALAR

JAVA MOBIL UYGULAMALAR JAVA MOBIL UYGULAMALAR Ahmet JAMEKOV Nevruz AGAYEV Orazmurat AVGANOV 1 MOBİL TEKNOLOJİ NEDIR? Bireylerin hareket halindeyken bile bilgiye erişebilmesini ve bu bilgilerle ilgili işlem yapabilmesini mümkün

Detaylı

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi... Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi... Bilgisayar Ağı (Network) Nedir? Bir ana bilgisayarın denetiminde birbirlerine bağlı olarak çalışan bilgisayarların oluşturduğu

Detaylı

Yazılım/Donanım Farkı

Yazılım/Donanım Farkı Yazılım Nedir? Bilgisayarın kullanılmasını sağlayan her türlü programa ise yazılım adı verilir. Örneğin resim yapmamızı sağlayan Paint, internete girmemizi sağlayan Chrome gibi.. Yazılım/Donanım Farkı

Detaylı

Bilgi Güvenliği Eğitim/Öğretimi

Bilgi Güvenliği Eğitim/Öğretimi Bilgi Güvenliği Eğitim/Öğretimi İbrahim SOĞUKPINAR Gebze Yüksek Teknoloji Enstitüsü İçerik Bilgi Güvenliği Eğitim/Öğretimi Dünyadaki Örnekler Türkiye deki Örnekler GYTE de Bilgi Güvenliği Dersi Sonuç ve

Detaylı

SMTP Protokolü ve Spam Mail Problemi

SMTP Protokolü ve Spam Mail Problemi SMTP Protokolü ve Spam Mail Problemi M. Erkan YÜKSEL, Şafak Durukan ODABAŞI İstanbul Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bu çalışmada, Özet Antispam/antivirüs programı filtresinden

Detaylı

UHeM ve Bulut Bilişim

UHeM ve Bulut Bilişim UHeM ve Bulut Bilişim Özden AKINCI Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) Bilim ve Mühendislik Uygulamalar Müdürü 11.07.2012 UHeM hakkında Vizyon: Yüksek başarımlı hesaplama, bilgi teknolojileri

Detaylı

İşletme ve Devreye Alma Planı Yerel Okul Sunucusu Uygulama Yazılımları Prototipi TRscaler Technology Solutions

İşletme ve Devreye Alma Planı Yerel Okul Sunucusu Uygulama Yazılımları Prototipi TRscaler Technology Solutions İşletme ve Devreye Alma Planı Yerel Okul Sunucusu Uygulama Yazılımları Prototipi 05.12.2013 TRscaler Technology Solutions SİSTEM MİMARİSİ: Yerel Okul Sunucusu Uygulama Yazılımları Prototipi Teknik Şartnamesinde

Detaylı

SAUPORT V3 (2014) Öğrenci Kullanım Rehberi Uzaktan Eğitim Araştırma ve Uygulama Merkezi

SAUPORT V3 (2014) Öğrenci Kullanım Rehberi Uzaktan Eğitim Araştırma ve Uygulama Merkezi SAUPORT V3 (2014) Öğrenci Kullanım Rehberi Uzaktan Eğitim Araştırma ve Uygulama Merkezi Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi Araştırma ve Uygulama Merkezi ne aittir. "Uzaktan

Detaylı

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı 1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı Metodolojisi üzerinde durduğumuz çalışman Eğitim altyapısını gerçekleştirmek: Proje iki ana parçadan oluşacaktır. Merkezi Altyapı Kullanıcı Arabirimi

Detaylı

BioAffix Ones Technology nin tescilli markasıdır.

BioAffix Ones Technology nin tescilli markasıdır. BioAffix Ones Technology nin tescilli markasıdır. ? NEDEN BİYOMETRİK DOĞRULAMA SUNUCU TABANLI BİYOMETRİK MICROSOFT WINDOWS OTURUM AÇMA UYGULAMASI Biyometrik veri taklit edilemez, şifre gibi unutulamaz!

Detaylı

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon : 1.02.01

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon : 1.02.01 AKINSOFT Yardım Dosyası Doküman Versiyon : 1.02.01 Tarih : 15.11.2014 1 1. KULLANIM AMACI Personel takip sistemi kullanmak isteyen tüm işletmeler için geliştirilmiştir. WOLVOX İnsan Kaynakları programı

Detaylı

ÖNDER BİLGİSAYAR KURSU. Sistem ve Ağ Uzmanlığı Eğitimi İçeriği

ÖNDER BİLGİSAYAR KURSU. Sistem ve Ağ Uzmanlığı Eğitimi İçeriği ÖNDER BİLGİSAYAR KURSU Sistem ve Ağ Uzmanlığı Eğitimi İçeriği BÖLÜM 1 KİŞİSEL BİLGİSAYAR DONANIMI 1.1. Kişisel Bilgisayarlar ve Uygulamalar Bilgisayarların Kullanım Şekli ve Yeri Bilgisayar Tipleri (Sunucular,

Detaylı

Bilgisayar Sistemlerine Genel Bakış

Bilgisayar Sistemlerine Genel Bakış Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Carnegie Mellon Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr.

Detaylı

Birey Okulları Office 365

Birey Okulları Office 365 Birey Okulları Office 365 Birey Okulları Microsoft ile Office 365 Exchange Plan 1 anlaşması sağlamıştır. Peki Office 365 nedir? Birey Office 365, Microsoft tarafından sağlanan e-posta (adsoyad@bireyokullari.com)

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

Ders İ zlencesi. Ders Başlığı. Dersin amacı. Önceden sahip olunması gereken beceri ve bilgiler. Önceden alınması gereken ders veya dersler

Ders İ zlencesi. Ders Başlığı. Dersin amacı. Önceden sahip olunması gereken beceri ve bilgiler. Önceden alınması gereken ders veya dersler Ders Başlığı İnternette Güvenliğinizi Arttırın Dersin amacı Ders İ zlencesi Bu dersin amacı, katılımcıların İnternet'te karşılaşılabilecek kullanıcı, donanım ve bilgisayar ağı kaynaklı tehditler ve bu

Detaylı

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015 BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015 Ders- 12 Bilgisayar Ağları Yrd. Doç. Dr. Burcu Can Buğlalılar Bilgisayar Mühendisliği Bölümü Bilgisayar Katmanları İçerik Bilgisayar ağı nedir? Yerel alan ağları

Detaylı

AKILLI TATIL PLANLAMA SISTEMI

AKILLI TATIL PLANLAMA SISTEMI AKILLI TATIL PLANLAMA SISTEMI Istanbul Teknik Üniversitesi Bilgisayar ve Bilişim Fakültesi Bitirme Ödevi Ali Mert Taşkın taskinal@itu.edu.tr Doç. Dr. Feza Buzluca buzluca@itu.edu.tr Ocak 2017 İçerik Giriş

Detaylı

XMail. Kurulum ve Senkronizasyon Ayarları Rehberi

XMail. Kurulum ve Senkronizasyon Ayarları Rehberi XMail Kurulum ve Senkronizasyon Ayarları Rehberi Yüksek Kapasiteli ve Profesyonel Özellikler Sunan XMail Mail Hosting Servisi ile Kurumsal Kimliğinizi Yansıtın Hosting Hesabına Eklenen XMail Hesapları

Detaylı

Hızlı ve Güvenli Vale Hizmeti

Hızlı ve Güvenli Vale Hizmeti Hızlı ve Güvenli Vale Hizmeti Social Media Hızlı ve Güvenli Vale Hizmeti!!! ValeApp Vale işletmeleri ve mobil kullanıcılar için geliştirilmiş araç park etme, çağırma ve ödeme süreçlerini hızlı ve güvenli

Detaylı

Pardus. S.Çağlar Onur, caglar@pardus.org.tr. 21 Aralık 2006. Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Pardus. S.Çağlar Onur, caglar@pardus.org.tr. 21 Aralık 2006. Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği Yenilikleri Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği 21 Aralık 2006 Yenilikleri İçerik 1 Neden? Nasıl? 2 Yenilikleri man 3 Yenilikleri Neden? Nasıl? 1 Neden? Nasıl? 2 Yenilikleri man 3 Yenilikleri

Detaylı

KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB İÇİNDEKİLER

KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB İÇİNDEKİLER KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB Tarih: 29/01/2013 Versiyon Tarih Açıklama 1.0 29-01-13 İlk yazımı İÇİNDEKİLER 1. AMAÇ... 1-2 2. SSLVPN BAĞLANTI ADIMLARI... 2-2 2.1 Linux

Detaylı

Linux İşletim Sistemi Tanıtımı

Linux İşletim Sistemi Tanıtımı Linux İşletim Sistemi Tanıtımı Burak DAYIOĞLU Hi-Tech World, Mart '98, Ankara İçerik Linux İşletim Sistemi nedir? Linux un benzer işletim sistemlerine göre avantajları nelerdir? Türkiye Linux Kullanıcıları

Detaylı

Asp.Net Veritabanı İşlemleri

Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Birçok uygulamada bilgiler geçici olarak tutulur ve oturum sonlandırıldığında bu bilgiler bellekten silinir. Ancak etkileşimli web sitelerinde

Detaylı

Sanal Santral A.Ş. Çözümleri

Sanal Santral A.Ş. Çözümleri Sanal Santral A.Ş. Çözümleri o Sanal Santral o Çağrı Merkezi Hizmetleri o Ses & Faks o Numara Taşıma & Numara Tahsis o Toplu SMS o Pi Plaformu (Programlanabilir IVR) o Yazılım Entegrasyonları & API Desteği

Detaylı

İşletim Sistemi. BTEP205 - İşletim Sistemleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri İşletim Sistemi 2 İşletim sistemi (Operating System-OS), bilgisayar kullanıcısı ile bilgisayarı oluşturan donanım arasındaki iletişimi sağlayan ve uygulama programlarını çalıştırmaktan sorumlu olan sistem

Detaylı

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi arvento Araç Takip ve Filo Yönetim Sistemleri ile araçlarınızı 7 gün 24 saat on-line ve geçmişe yönelik olarak izleyebilir, hızlarını, izlemiş oldukları güzergahı, duraklama yaptıkları yerleri uzaktan

Detaylı

Windows Live ID ve parolanızı giriniz.

Windows Live ID ve parolanızı giriniz. Ücretsiz Deneme Hesabı Oluşturma ve Temel Özelliklerin Kullanım Kılavuzu Bilgi girilmesi gerekli alanlar Kişisel bilgi içeren alanlar http://www.windowsazure.com/tr-tr/pricing/free-trial/ adresine gidiniz

Detaylı

Programlama Yazılımı ile Web Sitesi Oluşturma

Programlama Yazılımı ile Web Sitesi Oluşturma Hafta- 2 Programlama Yazılımı ile Web Sitesi Oluşturma Programlama yazılımı, bir web projesi oluşturmak için alternatif birkaç yol sunar. Buyollardan bir tanesi ihtiyaca uygun olarak seçilebilir. Programlama

Detaylı

Yüksek Öğretimde Mobil Eğitime Geçiş İçin Yol Haritası: Atılım Üniversitesi Örneği

Yüksek Öğretimde Mobil Eğitime Geçiş İçin Yol Haritası: Atılım Üniversitesi Örneği Yüksek Öğretimde Mobil Eğitime Geçiş İçin Yol Haritası: Atılım Üniversitesi Örneği Orçun Madran & Özalp Tozan & Hasan Akay omadran@atilim.edu.tr - otozan@atilim.edu.tr - hakay@atilim.edu.tr İçerik Neden

Detaylı

Trend Micro Worry-Free Business Security 8.0 İlk Kez Kurulumla İlgili İpuçları ve Püf Noktaları

Trend Micro Worry-Free Business Security 8.0 İlk Kez Kurulumla İlgili İpuçları ve Püf Noktaları Trend Micro Worry-Free Business Security 8.0 İlk Kez Kurulumla İlgili İpuçları ve Püf Noktaları Casus Yazılımdan İstenmeyen E- Koruma Postadan Koruma Virüsten Koruma Kimlik Avından Koruma İçerik ve URL

Detaylı

ELEKTRONİK İMZALI BAŞVURU ARAYÜZÜ TALİMATI

ELEKTRONİK İMZALI BAŞVURU ARAYÜZÜ TALİMATI Doküman Kodu Yayın Numarası Yayın Tarihi 02 Uyarı : Yalnız dosya sunucudan erişilen elektronik kopyalar güncel ve kontrollü olup, elektronik ortamdan alınacak kağıt 1/19 DEĞİŞİKLİK KAYITLARI Yayın No Yayın

Detaylı

Karabük Üniversitesi Bilgi Sistemi Android Uygulaması. Android Application of Karabük University Information System

Karabük Üniversitesi Bilgi Sistemi Android Uygulaması. Android Application of Karabük University Information System Karabük Üniversitesi Bilgi Sistemi Android Uygulaması Emrullah Sonuç 1, Yasin Ortakcı 2, Abdullah Elen 3 1 Karabük Üniversitesi, Bilgisayar Mühendisliği Bölümü, Karabük 2 Karabük Üniversitesi, Bilgisayar

Detaylı

PHP 1. Hafta 1. Sunum

PHP 1. Hafta 1. Sunum PHP 1. Hafta 1. Sunum PHP101: PHP nedir? Bu dersten sonra bilecekleriniz PHP nedir? PHP ye neden ihtiyaç vardır? PHP nin gelişimi HTML, HTTP ve JS nedir? PHP yle alakası nedir? PHP nin uygulama alanları

Detaylı

Bilgi Servisleri (IS)

Bilgi Servisleri (IS) Bilgi Servisleri (IS) GRID Kullanıcı Eğitimi Boğaziçi Üniversitesi 2007, İstanbul Emrah AKKOYUN Konu Başlığı Neden ihtiyaç duyulur? Kullanıcılar kimlerdir? Bilgi Servisi türleri MDS ve BDII LDAP Bilgi

Detaylı

FAN SELECTOR FAN SELECTOR FAN SEÇİM YAZILIMI.

FAN SELECTOR FAN SELECTOR FAN SEÇİM YAZILIMI. FAN SELECTOR FAN SEÇİM YAZILIMI YAZILIM TANIMI Fan Selector yazılımı havalandırma ve iklimlendirme sistemlerinde kullanılan fanların performans hesaplamalarının yapılması ve çalışma şartlarına en uygun

Detaylı

MOODLE UZAKTAN ÖĞRETİM SİSTEMİ

MOODLE UZAKTAN ÖĞRETİM SİSTEMİ MOODLE UZAKTAN ÖĞRETİM SİSTEMİ ÖZET Genel Bilgiler Moodle nedir? Sistem Gereksinimleri Moodle Sisteminin Kurulumu Ders ve kategori eklenmesi Bir dersin sistem özellikleri İstatistikler Sonuç ve öneriler

Detaylı

İşletim Sistemleri. Discovering Computers Living in a Digital World

İşletim Sistemleri. Discovering Computers Living in a Digital World İşletim Sistemleri Discovering Computers 2010 Living in a Digital World Sistem Yazılımı Sistem yazılımı, bilgisayar ve aygıtlarının çalışmasını kontrol eden ve sürdüren programlardan oluşur. İşle;m sistemleri

Detaylı

CHECKPOINT VPN KULLANIM KILAVUZU

CHECKPOINT VPN KULLANIM KILAVUZU CHECKPOINT VPN KULLANIM KILAVUZU Checkpoint VPN Uygulaması kurum dışından kurumiçi kaynaklara erişim için kullanılan uzaktan erişim uygulamasıdır. VPN erişimi için VKVAH ve KUH hesaplarınızı kullanabilirsiniz.

Detaylı

ODTÜ Kampüs Izgara Hesaplama Uygulaması

ODTÜ Kampüs Izgara Hesaplama Uygulaması ODTÜ Kampüs Izgara Hesaplama Uygulaması Mete Özay, Tuğba Taşkaya Temizel Enformatik Enstitüsü ODTÜ Taslak Kampüs Izgara Hesaplama Mevcut Uygulamalar ODTÜ Kampüs Izgara Hesaplama Sistem Testleri ODTÜ Kampüs

Detaylı

Bireysel İnternet Şubesi

Bireysel İnternet Şubesi Bireysel İnternet Şubesi Bireysel İnternet Şubesi kanalı üzerinden Otomatik Katılım kapsamındaki sözleşmeniz için katkı payı tutarı kesinti oranınızı değiştirebilirsiniz. 1 2 Ziraat Emeklilik web sitesinde

Detaylı