Bilişim Güvenliği Teknolojisi
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BGT210
Ders İsmi: Tersine Mühendislik
Ders Yarıyılı: Bahar
Ders Kredileri:
AKTS
5
Öğretim Dili: Türkçe
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Öğr. Gör. KEYVAN ARASTEH ABBASABAD
Dersi Veren(ler): Keyvan ARASTEH
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Tersine mühendislik tekniklerini ve araçlarını (Frida, ADB, Jadx) öğretmek.
Mobil uygulama analizinde tersine mühendislik becerisi kazandırmak.
Yazılım güvenliği ve etik yaklaşımları anlamalarını sağlamak.
Gerçek dünya senaryolarında araç kullanımıyla pratik deneyim sunmak.
Dersin İçeriği: Ders : Tersine Mühendislik ve ADB ile Başlangıç

Tersine mühendislik kavramı ve etik ilkeler
ADB (Android Debug Bridge) kurulumu ve temel komutlar
Android cihaz/emülatör ile uygulama analizi
Pratik: ADB ile bir Flutter uygulamasının APK’sini çekme ve cihazda hata ayıklama

Ders : Jadx ile Statik Analiz

Jadx kurulumu ve arayüzü
APK dosyalarının dekompilasyonu ve kaynak kod analizi
Mobil uygulamalarında kodun incelenmesi
Pratik: Jadx ile bir Mobil uygulamasının kaynak kodunu çıkarma ve analiz etme

Ders : Frida ile Dinamik Analiz

Frida’nın kurulumu ve temel kullanımı
Flutter uygulamalarında runtime müdahale ve hata ayıklama
Fonksiyon takibi ve veri manipülasyonu
Pratik: Frida ile bir Flutter uygulamasında dinamik analiz ve davranış değiştirme

Ders : Güvenlik ve Etik Uygulamalar

Tersine mühendislikte yasal ve etik sınırlar
Flutter uygulamalarında obfuscation ve güvenlik teknikleri
Güvenlik açıklarının tespiti ve raporlanması
Pratik: Örnek bir Flutter uygulamasında güvenlik açığı bulma ve rapor hazırlama

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Tersine Mühendislik Yöntemlerini Uygulama: Öğrenciler, Frida, ADB ve Jadx araçlarını kullanarak tersine mühendislik tekniklerini uygulayabilecek ve mobil uygulamaların yapısını analiz edebilecektir.
2) Mobil Uygulamalarını Analiz Etme: mobil tabanlı mobil uygulamaların kaynak kodunu ve davranışlarını statik ve dinamik analiz yöntemleriyle inceleyebilecektir.
3) Güvenlik Açıklarını Tespit Etme: Mobil uygulamalarda güvenlik açıklarını tespit edebilecek ve bu açıkları etik bir şekilde raporlayabilecektir.
4) Etik ve Yasal Çerçeveyi Anlama: Tersine mühendislik süreçlerinde yasal ve etik sorumlulukları kavrayarak güvenli yazılım geliştirme süreçlerine katkıda bulunabilecektir.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Hafta 1: Tersine Mühendisliğe Giriş Tersine mühendislik tanımı ve amacı Yasal ve etik sınırlar Aktivite: Ders katılımı, temel kavramlar tartışması
2) Hafta 2: ADB ile Mobil Uygulama Analizi ADB kurulumu ve temel komutlar Android cihaz/emülatör ile bağlantı Aktivite: ADB ile bir mobil uygulamanın APK’sini çekme
3) Hafta 3: Mobil Uygulama Yapıları Android ve iOS uygulama mimarisi APK ve IPA dosyalarının yapısı Aktivite: Laboratuvar: APK dosya yapısını inceleme
4) Hafta 4: Jadx ile Statik Analiz Jadx kurulumu ve arayüzü APK dekompilasyonu ve kaynak kod analizi Aktivite: Laboratuvar: Jadx ile bir uygulamanın kod analizi
5) Hafta 5: Statik Analiz Uygulamaları Kod yapısını anlama ve güvenlik açıklarını tespit Aktivite: Ödev 1: Bir mobil uygulamanın statik analizi
6) Hafta 6: Frida ile Dinamik Analiz Frida kurulumu ve temel kullanım Runtime müdahale ve hata ayıklama Aktivite: Laboratuvar: Frida ile fonksiyon takibi
7) Hafta 7: Dinamik Analiz Uygulamaları Mobil uygulamalarda davranış değiştirme Aktivite: Laboratuvar: Frida ile dinamik analiz pratiği
8) Ara Sınav (Vize) Teorik bilgi ve araç kullanımı değerlendirmesi Aktivite: Ara sınav (2 saat)
9) Hafta 9: Mobil Uygulamalarda Obfuscation Kod koruma teknikleri ve tersine mühendislik Aktivite: Laboratuvar: Obfuscated bir uygulamanın analizi
10) Hafta 10: Güvenlik Açıkları Tespiti Yaygın güvenlik açıkları (ör. SQL injection, insecure storage) Aktivite: Ödev 2: Güvenlik açığı analizi ve raporu
11) Hafta 11: Etik ve Yasal Çerçeve Tersine mühendislikte yasal sorumluluklar Etik hacking ile ilişki Aktivite: Ders katılımı, etik tartışmalar

Kaynaklar

Ders Notları / Kitaplar:
Diğer Kaynaklar:

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

Program Kazanımları
1) Program algoritması yaratma hakkında bilgi ve beceriye sahiptir.
2) Son kullanıcı güvenliği için gerekli olan yazılımların ve donanımların kurulumunu ve yönetimini yapabilir.
3) Güncel güvenlik ürünlerini takip edebilir.
4) Siber saldırı olaylarına karşın hem yazılımları hem de ortamda bulunan kişileri yönetebilir.
5) Bilgisayarın temel yazılımları ve donanımlarının kurulumu yapar.
6) Açık kaynak işletim sistemi ve bilgisayar ağları yazılımları kurar ve yönetir.
7) Siber saldırı olaylarında yazılımları donanımları ve ortamda bulunan kişileri yönetir.
8) Web sayfasını ve veritabanını kendi yaratır düzenler ve açık taraması yapabilir.
9) Bulut platformlarında alan yaratır, yönetir ve düzenler.
10) Güvenlik duvarı yazılımı de donanımının kurulumunu sağlar yönetir ve düzenler.
11) Bir aygıtın da yazılımın çalışma mantığını çözer işlevlerini maksimum düzeyde verim alması için gerekli düzenlemeleri yapar.
12) Alanı hakkında mesleki, etik, sosyal ve hukuksal alanlardaki konuya hakim olur.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Program algoritması yaratma hakkında bilgi ve beceriye sahiptir. 1
2) Son kullanıcı güvenliği için gerekli olan yazılımların ve donanımların kurulumunu ve yönetimini yapabilir. 1
3) Güncel güvenlik ürünlerini takip edebilir. 1
4) Siber saldırı olaylarına karşın hem yazılımları hem de ortamda bulunan kişileri yönetebilir. 1
5) Bilgisayarın temel yazılımları ve donanımlarının kurulumu yapar. 1
6) Açık kaynak işletim sistemi ve bilgisayar ağları yazılımları kurar ve yönetir. 2
7) Siber saldırı olaylarında yazılımları donanımları ve ortamda bulunan kişileri yönetir. 1
8) Web sayfasını ve veritabanını kendi yaratır düzenler ve açık taraması yapabilir. 1
9) Bulut platformlarında alan yaratır, yönetir ve düzenler. 1
10) Güvenlik duvarı yazılımı de donanımının kurulumunu sağlar yönetir ve düzenler. 1
11) Bir aygıtın da yazılımın çalışma mantığını çözer işlevlerini maksimum düzeyde verim alması için gerekli düzenlemeleri yapar. 1
12) Alanı hakkında mesleki, etik, sosyal ve hukuksal alanlardaki konuya hakim olur. 1

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Devam 30 % 5
Laboratuvar 10 % 5
Uygulama 10 % 5
Sunum 5 % 5
Projeler 10 % 50
Ara Sınavlar 2 % 30
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 100
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI %
Toplam % 100