Stronger_Cracker
- 25 Tem 2022
- 6,408 Mesaj
Aktiflik
Seviye
Deneyim
C#, ASP.NET(MvC) ve .NET Core(6,7...,10) Nedir? Neden Sadece "Kod Yazmıyoruz"?
Çalıştığım kurumda ilgi alanımdan dolayı gençlerden sıkça şu soruyu alıyorum: "siber güvenlikçiyiz tamam ama hangi dili öğrenelim? Bu C# falan ne işimize yarayacak?"
Siber güvenlik sadece sızmak (hacking) değildir; sızılması imkansız (ya da çok zor) sistemler inşa etmek, o projelerin güvenlik mimarisinde bizzat bulunmaktır. İşte tam bu noktada karşımıza Microsoft'un devasa ekosistemi çıkıyor. Bugün internetteki o dev bankacılık sistemlerinden tutun, savunma sanayii arayüzlerine kadar her yerde bu üçlü var. Gelin, bunları teknik jargona boğulmadan, bir savunma mimarı gözüyle tanıyalım.
1. C# (C-Sharp): Senin Ana Silahın
C#’ı bir İsviçre Çakısı gibi düşünün. Çok güçlü, çok keskin ama kullanımı (bana göre öğrenmesi de) inanılmaz konforludur.
2. .NET Core (Güncel adıyla .NET 6/7/8/9/10): Motorun Gücü
Yazılım dilimiz (C#) ne kadar iyi olursa olsun, onu koşturacak bir "motora" ihtiyacınız var. İşte o motorun adı .NET Core. (5 sürümünden sonra core kelimesi kalktı)
3. ASP.NET MVC: Dijital Kalenin Mimarisi
Şimdi bir web siteniz olduğunu düşünün. Ama bu sadece bir "sayfa" değil; içinde kullanıcı verileri, banka hesapları veya devlet sırları var. İşte bu karmaşık yapıyı yöneten mimariye ASP.NET MVC diyoruz. (Not: ASP.NET bir yazılım dili değildirrrrrrr Bir çatıdır/frameworktür.)
Tavsiye
MVC yapısını çözmek işin temelidir ama modern dünyada artık her şey birbiriyle konuşan servislerden oluşuyor. MVC'yi kavradıktan sonra mutlaka "Web API" kavramına da göz atın. Arka tarafta C# ile yazdığınız o güvenli yapıyı, dış dünyaya kontrollü bir şekilde açmanın yolu buradan geçiyor. API güvenliğini bilmeyen bir siber güvenlikçi, modern dünyada kapısı açık bir kalede nöbet tutuyor demektir!
Özetle: Nereden Başlamalıyım?
Eğer hedefiniz sadece kod yazmak değil, "güvenli ve büyük sistemler tasarlamak" ise yol haritanız şu olmalı:
Zamanında ben "MVC ne kadar saçma, Web Form daha güzel" diyor ve MVC kavramını hiç anlayamamıştım; taki Gencay Yıldız hocamızın paylaşımlarını takip edene kadar! Siz de pes etmeyin, mantığı kavradığınızda siber güvenlikteki gücünüzün arttığını göreceksiniz.
Çalıştığım kurumda ilgi alanımdan dolayı gençlerden sıkça şu soruyu alıyorum: "siber güvenlikçiyiz tamam ama hangi dili öğrenelim? Bu C# falan ne işimize yarayacak?"
Siber güvenlik sadece sızmak (hacking) değildir; sızılması imkansız (ya da çok zor) sistemler inşa etmek, o projelerin güvenlik mimarisinde bizzat bulunmaktır. İşte tam bu noktada karşımıza Microsoft'un devasa ekosistemi çıkıyor. Bugün internetteki o dev bankacılık sistemlerinden tutun, savunma sanayii arayüzlerine kadar her yerde bu üçlü var. Gelin, bunları teknik jargona boğulmadan, bir savunma mimarı gözüyle tanıyalım.
1. C# (C-Sharp): Senin Ana Silahın
C#’ı bir İsviçre Çakısı gibi düşünün. Çok güçlü, çok keskin ama kullanımı (bana göre öğrenmesi de) inanılmaz konforludur.
- Nedir? Bilgisayara ne yapması gerektiğini söylediğin "ana dildir".
- Neden Önemli? C# "Tip Güvenli" (Type-Safe) bir dildir. Visual Studio veya VS Code gibi IDE’ler kullanırken, siz daha kodu yazarken hata yapmanızı engeller. Bellek hataları gibi kritik güvenlik açıklarını daha oluşmadan kapatmanıza yardımcı olur.
- Siber Güvenlikteki Yeri: Kendi exploitlerinizi yazmak, hızlıca zararlı yazılım analiz araçları geliştirmek veya savunma otomasyonları kurmak için C# senin "ana dilin" olacak. (Ajanlar/Botlar)
2. .NET Core (Güncel adıyla .NET 6/7/8/9/10): Motorun Gücü
Yazılım dilimiz (C#) ne kadar iyi olursa olsun, onu koşturacak bir "motora" ihtiyacınız var. İşte o motorun adı .NET Core. (5 sürümünden sonra core kelimesi kalktı)
- Nedir? Eskiden sadece Windows'ta çalışırdı, artık Açık Kaynak ve Cross-Platform. Yani yazdığın kod Windows, Linux ve macOS üzerinde sorunsuz çalışır.
- Neden Önemli? Siber dünyada her şey Windows değil. Sunucuların çoğu Linux (lisans maliyetleri ve güvenlik nedenleriyle). .NET Core sayesinde bir savunma yazılımı geliştirip bunu Linux tabanlı bir sunucuda makine hızında çalıştırabiliyorsun.
- Hız: .NET Core, bugün dünyanın en hızlı çalışma ortamlarından (Runtime) biri. .NET 6 versiyonunda 2 saniyede yapılan işlem, güncel versiyonlarda milisaniyelere düşürüldü ve kodlar çok daha sadeleşti. Saniyelerle yarışılan siber saldırı anlarında hız her şeydir!
3. ASP.NET MVC: Dijital Kalenin Mimarisi
Şimdi bir web siteniz olduğunu düşünün. Ama bu sadece bir "sayfa" değil; içinde kullanıcı verileri, banka hesapları veya devlet sırları var. İşte bu karmaşık yapıyı yöneten mimariye ASP.NET MVC diyoruz. (Not: ASP.NET bir yazılım dili değildirrrrrrr Bir çatıdır/frameworktür.)
- Model (M): Verilerin saklandığı kasa.
- View (V): Kullanıcının gördüğü vitrin.
- Controller (C): Vitrin ile kasa arasındaki trafiği yöneten, güvenlik kontrollerini yapan "Güvenlik Görevlisi".
Tavsiye
MVC yapısını çözmek işin temelidir ama modern dünyada artık her şey birbiriyle konuşan servislerden oluşuyor. MVC'yi kavradıktan sonra mutlaka "Web API" kavramına da göz atın. Arka tarafta C# ile yazdığınız o güvenli yapıyı, dış dünyaya kontrollü bir şekilde açmanın yolu buradan geçiyor. API güvenliğini bilmeyen bir siber güvenlikçi, modern dünyada kapısı açık bir kalede nöbet tutuyor demektir!
Özetle: Nereden Başlamalıyım?
Eğer hedefiniz sadece kod yazmak değil, "güvenli ve büyük sistemler tasarlamak" ise yol haritanız şu olmalı:
- Önce C# öğren: Mantığı kavra, nesne yönelimli programlama (OOP) nedir anla.
- .NET Core ile tanış: Yazdığın kodun Linux terminalinde nasıl canlandığını gör.
- ASP.NET MVC ile proje yap: Kendi güvenli web uygulamanı geliştir, sonra o uygulamaya sızmaya çalış!
Zamanında ben "MVC ne kadar saçma, Web Form daha güzel" diyor ve MVC kavramını hiç anlayamamıştım; taki Gencay Yıldız hocamızın paylaşımlarını takip edene kadar! Siz de pes etmeyin, mantığı kavradığınızda siber güvenlikteki gücünüzün arttığını göreceksiniz.

