OzzTech - Kod Analizi Nasıl Yapılır?

Kod Analizi Nasıl Yapılır?

Kod Analizi Nasıl Yapılır?

Kodu analizi yapmaya nasıl başlanır?

Analizciler, "Sadece kod okuyarak" kod incelemesine başlamanızı tavsiye eder. Aslında bu gerçekten de başlamanın en iyi yoludur. Ancak, bir süredir kod analizi yapan çoğu kişinin sıklıkla unuttuğu son derece önemli bir ayrıntıdan yoksundur:

Hangi kodla başlamalıyım?

Kod incelemesine girerken ilk adım, birkaç iyi hedef bulmaktır. Çok sert başlamak ve cesaretinizi kırmak istemediğiniz için bu çok önemlidir. Basit bir şeyle başlamalı ve güveninizi arttırmalısınız. Bazı insanlar Kubernetes'in kaynak kodunu gözden geçirerek başlayabilir.

Anlayışınızı geliştirmek ve hayal kırıklığına uğramadan ilerlemeye devam etmek için küçük parçalarla başlamak iyidir. En sevdiğiniz dille veya kendinize en çok güvendiğiniz dille başlamaya çalışın ve özgüveninizi artırın.

CVE’leri İnceleyin

Örneğin, kullandığınız birkaç açık kaynaklı yazılımın güvenlik posta listelerini takip edebilirsiniz. Apache kuruluşunun posta listesini (yalnızca Apache httpd'yi değil, tüm Apache projelerini kapsayan) ve Ruby-on-Rails güvenlik posta listesi harika başlangıç noktalarıdır. Apache posta listesi size hem yazılım, hem güvenlik açıkları hem de diller açısından çeşitlilik sağlayacaktır. Ruby-on-Rails posta listesi, başlamanızı kolaylaştıran son derece iyi belgelenmiş sorunlar sağlayacaktır.

 Kütüphaneleri İnceleyin

Eksiksiz yazılımın aksine, kütüphaneler genellikle yalnızca bir sorunu çözmeye çalışan küçük kod tabanlarıdır. Kütüphanelerin bir başka avantajı da, belirli bir dilde genellikle birden fazla kütüphane bulunmasıdır. Bu, aynı şeyin birden çok uygulamasını incelemenize ve bunları karşılaştırmanıza olanak tanır. Bir uygulamada hangi kontrollerin eksik olabileceğini görmeyi kolaylaştırır. JWT gibi şeyler için kitaplıklar (birkaçını burada bulabilirsiniz ), Oturum yönetimi, dosya işleme/yükleme genellikle ilk hedeflerdir. Güveniniz arttığında SAML veya OAuth2 uygulamaları gibi daha güçlü hedeflere geçebilirsiniz.

Kütüphanelerde kendinizi geliştirdikten sonra ve daha zor hedefler seçmek istediğinizde, klasik yazılıma geçebilirsiniz. Bir yazılım için tüm kod tabanını gözden geçirmek sinir bozucu olabilir, bazı ortak özelliklerle başlamak, çalışmanızın yoğunluğunu artırdıkça işleri kolaylaştırabilir. Örneğin, tüm kod tabanını gözden geçirmek ve hüsrana uğramak yerine, kullanıcı kaydını, şifre sıfırlamayı, şifre depolamayı, dosya yüklemelerini gözden geçirmek iyi bir tercih olacaktır.

Ardından, zor hedeflere (Wordpress, PHPMyAdmin, Tomcat, Apache Httpd…) atlamak yerine, daha yumuşak, daha az olgun kod tabanları bulmak, çalışmanızda size yardımcı olabilir. Yine, en aşina olduğunuz dille başlayın. Bu dilde savunmasız kalıpları izole etme konusunda yetkin olduğunuzu hissettiğinizde, diğer dillerdeki kod tabanlarına geçebilir ve bu kalıpları uygulayabilirsiniz.

Başarılı Olduğunuzu Nasıl Anlarsınız?

Son olarak, başarıyı doğru bir şekilde ölçtüğünüzden emin olun. İlerlemenizi, güvenlik açıklarını keşfedip keşfetmediğinize göre ölçemezsiniz. Bulunacak hiçbir şey olmayabilir. Bunun yerine kodu anlama seviyenizi, bildiğiniz ve izole edebileceğiniz kalıpların miktarını ve karmaşıklığını, yeni bir kod tabanına yaklaşmanın sizin için ne kadar kolay olduğunu ölçmeye çalışın. Aynı şekilde, hız ilerlemenin büyük bir göstergesi değildir. Kodu okumada hızlı olabilirsiniz, ancak anlamadıysanız veya bir şeyi kaçırırsanız, gerçekten gelişmezsiniz. Her şey nicelikten çok nitelikle ilgilidir, özellikle de okurken. Pek çok yetenekli kod analisti, genellikle aynı 50 satırlık kodu okumak için saatler harcadıklarını ve saat başına bu kod satırı sayısının önemli olmadığını söyleyecektir.


İlginizi Çekebilecek Makaleler
FortiWeb Kurulumu 4- Admin Şifresi Değiştirme
Siber Güvenlik

FortiWeb Kurulumu 4- Admin Şifresi Değiştirme

Ocak 23, 2022 10:21

FortiWeb kurulumunu anlattığımız serinin dördüncü yazısında Admin şifresi nasıl değiştirceğinizi, saat ve günü nasıl...

Metasploittable 2
Siber Güvenlik

Metasploittable 2

Ocak 22, 2022 11:57

Metasploittable 2 Nedir? Neden Kullanılır? Nasıl Kurulur? Metasploittable 2 Metasploit firması tarafından bizlerin güvenli...

FortiWeb Kurulumu 3- Firmware Güncellenmesi
Siber Güvenlik

FortiWeb Kurulumu 3- Firmware Güncellenmesi

Ocak 22, 2022 11:56

FortiWeb kurulumunu anlattığımız serinin üçüncü yazısında Firmware güncellemesini anlatacağız. FortiWeb cihazınız gönderildiğinde en son...

FortiWeb Kurulumu 2- Web UI ve CLI Bağlama
Siber Güvenlik

FortiWeb Kurulumu 2- Web UI ve CLI Bağlama

Ocak 21, 2022 7:50

FortiWeb kurulumu yazımızın ikinci serisinde Web UI veya CLI bağlamanın nasıl yapılacağını anlatacağız. Eğer...

Yapay Zeka Nedir?
Yazılım Geliştirme

Yapay Zeka Nedir?

Ocak 20, 2022 10:57

Sürekli olarak değişen, gelişen ve oldukça hızlı bir şekilde boyut atlayan, günümüze kadar gelen...

Trellix Adıyla 2 Dev şirket McAfee ve FireEye
Siber Güvenlik

Trellix Adıyla 2 Dev şirket McAfee ve FireEye

Ocak 20, 2022 10:56

Yeni birleştirilen güvenlik ekipleri McAfee ve FireEye yeni bir isim açıkladı: “Trellix”. Başka bir...

Zoho Kritik Kusur İçin Yama Yayınladı
Siber Güvenlik

Zoho Kritik Kusur İçin Yama Yayınladı

Ocak 20, 2022 10:56

Kurumsal yazılım üreticisi Zoho, Pazartesi günü Desktop Central ve Desktop Central MSP’de, tehdit aktörlerinin...

FortiWeb Kurulumu
Network

FortiWeb Kurulumu

Ocak 19, 2022 12:38

Bu yazı ile başlayarak sizlere FortiWeb kurulumu yaparken nelere dikkat etmeniz gerektiğini ve nasıl...

FortiWeb Nedir?
Siber Güvenlik

FortiWeb Nedir?

Ocak 19, 2022 9:42

FortiWeb, Fortinet’in web uygulamaları için oluşturduğu bir web firewall’udur (WAF). Fortiweb iş açısından son...

İletişim
OZZTECH Bilgi Teknolojileri olarak siber güvenlik danışmanlığı ve bilgi güvenliği eğitimleri alanlarında 10 yılı aşkın bir süredir ülkemizin önde gelen kurumlarına hizmet vermeye devam etmektedir. Detaylı bilgi ve danışmanlık hizmetlerimiz için aşağıdaki formu kullanarak veya [email protected] adresimiz üzerinden bizlerle iletişime geçebilirsiniz.