Bilişim Güvenliği Teknolojisi | |||||
Önlisans | TYYÇ: 5. Düzey | QF-EHEA: Kısa Düzey | EQF-LLL: 5. Düzey |
Ders Kodu: | BGT210 | ||||
Ders İsmi: | Tersine Mühendislik | ||||
Ders Yarıyılı: | Bahar | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Türkçe | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
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 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 |
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. |
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 |
Ders Notları / Kitaplar: | |
Diğer Kaynaklar: |
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. |
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 |
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 |