Pan Innovation House Pan Innovation House
ÖZEL YAZILIM · UYGULAMA GÜVENLİĞİ

Uygulama Güvenliği ve Kod Denetimi: İçeriden Bakan Denetim

Teslim edilmiş ya da devralınmış uygulamalarda güvenlik denetimi yaparız: yetkilendirme ve veri erişim hataları, kimlik doğrulama zayıflıkları, enjeksiyon riskleri, sır ve anahtar yönetimi, bağımlılık zafiyetleri. Bulguları kapatma tarafında da çalışırız.

Bir işletmenin en değerli verisi çoğu zaman en az korunan uygulamanın içindedir. Bayi portalı müşteri listesini ve fiyatları taşır; teklif sistemi maliyet yapısını gösterir; saha uygulaması personel ve müşteri bilgisini tutar. Bu uygulamalar genellikle hızlı yazılmış, işe yaramış ve sonra üzerine eklenerek büyümüştür. Güvenlik, çoğu zaman ilk günün önceliği olmamıştır ve sonradan da kimse geriye dönüp bakmamıştır.

Pratikte en sık karşılaşılan sorunlar egzotik değildir. Bir kullanıcının adres satırındaki numarayı değiştirerek başka bir bayinin siparişini görebilmesi; parola sıfırlama akışının zayıf kurulması; arayüzde gizlenmiş ama sunucuda kontrol edilmemiş bir yetkinin dışarıdan çağrılabilmesi; veritabanı parolasının kod içine yazılması; yıllardır güncellenmemiş bir kütüphanenin bilinen bir zafiyet taşıması. Bunların hepsi sıradan hatalardır ve sıradan oldukları için de yaygındır.

Yaptığımız iş kod ve mimari tarafındaki denetimdir. Yetkilendirme mantığı satır satır incelenir; kimlik doğrulama ve oturum yönetimi değerlendirilir; veri erişim katmanındaki enjeksiyon riskleri aranır; sırların nerede tutulduğu ve nasıl dağıtıldığı kontrol edilir; bağımlılıklar bilinen zafiyetlere karşı taranır. Bulgular tahmin olarak değil, nerede olduğu ve neden sorun olduğu gösterilerek raporlanır.

Sınırı açıkça yazıyoruz: resmî sızma testi ayrı bir yetkilendirme rejimine tabidir ve o hizmeti verdiğimizi söylemiyoruz. Bizim çalışmamız kod ve mimari denetimi ile bulguların kapatılmasıdır; elinizde başka bir tarafın hazırladığı bir sızma testi raporu varsa, oradaki bulguları kapatma tarafında çalışabiliriz. Bu ayrım işin ciddiyetinin göstergesidir; her ikisini birden vaat eden tekliflerde genellikle biri gerçek anlamda yapılmaz.

Kimler için?

Uygulama Güvenliği ve Kod Denetimi kimler için uygun?

B2B portalı ve bayi sistemi işletenler

Dışarıdan kullanıcıların giriş yaptığı sistemler. Bu portallar müşteri listesi ve fiyat verisi taşır; yetkilendirme hatası burada doğrudan ticari bilgi sızması demektir.

Devraldığı yazılımı çalıştıranlar

Yazan ekiple yolları ayrılmış ve sistemi devralmış işletmeler. Devir sırasında güvenlik durumunun bilinmemesi olağandır; denetim, devrin doğal bir parçası olarak yapılmalıdır.

Dışarıya API açan şirketler

Müşteri, tedarikçi veya pazaryerine arayüz sunan işletmeler. Arayüzler genellikle iç kullanım için yazılıp sonradan dışarı açılır ve yetki modeli bu geçişte gözden geçirilmez.

Kişisel veri işleyen uygulamaları olanlar

Personel, müşteri veya sağlık verisi tutan sistemler. Burada güvenlik yalnızca teknik değil, aynı zamanda hukuki bir yükümlülüğün teknik karşılığıdır.

Ne geliştiriyoruz?

Uygulama Güvenliği ve Kod Denetimi kapsamında neler yapıyoruz

Modülün yetenekleri ve karşılığı
YetenekNe sağlar
Yetkilendirme ve veri erişim denetimiKullanıcının yalnızca kendi verisine erişebildiği doğrulanır; adres veya kimlik değiştirerek başkasının kaydına ulaşma imkânı aranır. Yetki kontrolünün arayüzde değil sunucuda yapıldığı kontrol edilir. Uygulamada en sık ve en ciddi bulgular bu başlıktan çıkar.
Kimlik doğrulama ve oturum yönetimiGiriş akışı, parola politikası, parola sıfırlama, oturum süresi ve çoklu oturum davranışı incelenir. Sıfırlama akışı, saldırıya en açık ve en çok ihmal edilen noktalardan biridir.
Enjeksiyon ve veri katmanı riskleriVeritabanı sorgularının nasıl kurulduğu incelenir; birleştirilerek oluşturulan sorgular ve doğrulanmamış girdiler tespit edilir. Dosya yükleme, dışa aktarma ve rapor üretimi gibi yan yollar da ayrıca değerlendirilir.
Sır ve anahtar yönetimiVeritabanı parolaları, API anahtarları ve sertifikaların nerede tutulduğu, nasıl dağıtıldığı ve kimlerin eriştiği incelenir. Kod deposunda duran sırlar, sürüm geçmişi dahil aranır; silinmiş görünen bir sır geçmişte durmaya devam eder.
Bağımlılık ve bileşen zafiyetleriKullanılan kütüphaneler bilinen zafiyetlere karşı taranır ve güncelleme yolu çıkarılır. Öncelik, bileşenin varlığına değil gerçekten kullanılıp kullanılmadığına bakılarak belirlenir.
Bulguların kapatılması ve ekibe aktarımBulgular önem sırasına konur ve düzeltme uygulanır; isterseniz bunu kendi ekibiniz de yapabilir. Çalışmanın sonunda tekrar etmemesi için kısa bir güvenli geliştirme kontrol listesi bırakılır.
Teknolojiler

Kullandığımız teknolojiler

  • Kaynak kod güvenlik incelemesi
  • Yetkilendirme modeli analizi
  • Statik analiz araçları
  • Bağımlılık zafiyet taraması
  • Sır tarama (kod ve geçmiş)
  • API yetki ve girdi doğrulama testleri
  • Kayıt ve izleme değerlendirmesi
  • Düzeltme ve doğrulama turu
Süreç

Keşiften canlıya nasıl ilerliyoruz

  1. 01

    1. Kapsam ve erişim

    Hangi uygulamaların inceleneceği, kaynak koda erişim durumu ve çalışma penceresi belirlenir. Kapsam ve süre yazılı olarak sabitlenir; canlı ortama dokunulup dokunulmayacağı baştan netleştirilir.

  2. 02

    2. Mimari ve yetki modelinin çıkarılması

    Uygulamanın veri modeli, kullanıcı rolleri ve erişim mantığı çıkarılır. Yetkilendirme hatalarının çoğu, kodun tek tek satırlarında değil bu modelin kendisinde saklıdır.

  3. 03

    3. Denetim ve doğrulama

    Kod incelemesi, otomatik taramalar ve hedefli denemelerle bulgular çıkarılır. Her bulgu, gerçekten sömürülebilir olup olmadığı açısından değerlendirilir; teorik uyarılarla dolu bir rapor işe yaramaz.

  4. 04

    4. Raporlama ve önceliklendirme

    Bulgular etkisine ve sömürülme kolaylığına göre sıralanır; her biri için düzeltme önerisi verilir. Acil kapatılması gerekenler ayrı bir listeye alınır ve rapordan önce bildirilir.

  5. 05

    5. Kapatma ve yeniden denetim

    Düzeltmeler uygulandıktan sonra ilgili bulgular yeniden denenir ve kapanış kaydedilir. Ekibe kısa bir güvenli geliştirme kontrol listesi ve bağımlılık güncelleme düzeni bırakılır.

Sıkça sorulan sorular

Uygulama Güvenliği ve Kod Denetimi hakkında merak edilenler

Sızma testi yapıyor musunuz?

Hayır. Resmî sızma testi ayrı bir yetkilendirme rejimine tabidir ve o hizmeti verdiğimizi söylemiyoruz. Bizim yaptığımız iş kod ve mimari tarafındaki denetimdir. Elinizde başka bir tarafın hazırladığı bir sızma testi raporu varsa, bulguların kapatılması tarafında çalışabiliriz. İkisini birden vaat eden tekliflerde genellikle biri gerçek anlamda yapılmaz.

Kaynak kodumuz yok, denetim yapılabilir mi?

Kapsam daralır ama tamamen imkânsız değildir. Arayüz ve veri tarafından yapılabilecek incelemeler ve bağımlılık değerlendirmesi yine mümkündür. Ancak yetkilendirme mantığının doğru kurulup kurulmadığını en net gösteren şey koddur. Kaynak koda ulaşılamıyorsa, önce yazılımın devralınması gündeme gelir; bu ayrı bir çalışmadır.

Bulgular çıkarsa ne olacak?

Bulgular önem sırasına konur ve düzeltme önerileriyle birlikte raporlanır. Acil olanlar rapor beklemeden bildirilir. Düzeltmeyi biz uygulayabiliriz ya da kendi ekibiniz uygulayabilir; rapor bunu mümkün kılacak açıklıkta yazılır. Raporu alıp kendi yolunuza devam etmeniz de bizim için kabul edilebilir bir sonuçtur.

Çalışma sırasında sistemimiz etkilenir mi?

İnceleme büyük ölçüde kod ve yapılandırma üzerinde, yani salt okunur yürütülür. Çalışan sistem üzerinde deneme yapılması gerekiyorsa bu, canlıda değil kopya ortamda ya da sizinle kararlaştırılmış bir pencerede yapılır. Canlı ortama yalnızca sizin yazılı onayınızla dokunulur.

Ne sıklıkla tekrarlanmalı?

Tek seferlik bir denetim, yapıldığı andaki durumu gösterir. Kod değiştikçe ve bağımlılıklar eskidikçe tablo değişir. Uygulamada işe yarayan düzen şudur: bağımlılık taraması sürekli otomatik çalışır, kapsamlı denetim ise büyük değişikliklerden sonra veya belirli aralıklarla tekrarlanır. Sıklığı sistemin değişim hızına bakarak birlikte belirleriz.

Sonunda elimize ne geçer?

Kapsamı yazılı bir denetim raporu; önem sırasına konmuş bulgular ve her biri için düzeltme önerisi; acil kalemlerin ayrı listesi; uygulanan düzeltmeler ve yeniden denetim sonuçları; bağımlılık güncelleme düzeni ve ekibe bırakılan güvenli geliştirme kontrol listesi. Rapor ve uygulanan düzeltmeler dahil üretilen her şey yüzde yüz sizindir.

İletişim

Uygulama Güvenliği ve Kod Denetimi projenizi konuşalım

30 dakikalık keşif görüşmesinde ihtiyacınızı dinler, özele mi yoksa hazır çözüme mi ihtiyacınız olduğunu dürüstçe söyleriz.

İlgili

İlgili sayfalar ve rehberler

Mimari Danışmanlık ve Teknik Borç Denetimi

Mevcut yazılım varlığınızı bağımsız olarak değerlendiririz: mimari haritası, teknik borç envanteri ve önceliklendirmesi, bağımlılık ve tedarikçi kilitlenmesi riski, ekibin çalışma biçimi ve gerçekçi bir yol haritası. Kod yazmadan yön veren bir çalışmadır.

Detay

Yazılım Ürünleştirme: Projeden Ürüne

Tek müşteri için yazılmış ve çalışan bir yazılımı satılabilir bir ürüne dönüştürürüz: çekirdek ile müşteriye özel katmanın ayrılması, konfigürasyon motoru, çok kiracılı veri izolasyonu, kurulum ve sürüm yönetimi ile abonelik altyapısı.

Detay

Tedarik Zinciri Yönetimi (SCM)

Talep ile tedariğin nerede ayrıştığını, hangi tedarikçinin termininde durduğunu ve malın şu anda hangi noktada beklediğini tek yerden görünür kılarız. Amaç yeni bir ERP kurmak değil; mevcut sistemin bilmediği zincir dışı bilgiyi toplayıp planlama kararını veriye bağlamaktır.

Detay

Satın Alma Yönetimi (PMS)

Talebin nereden geldiğini, hangi tekliflerin alındığını, kimin neyi onayladığını ve gelen faturanın siparişle örtüşüp örtüşmediğini tek bir zincirde toplarız. Satın alma kişilerin hafızasında değil sistemde yürür; her adım geriye dönük olarak gerekçesiyle birlikte okunabilir. Mevcut ERP'niz yerinde kalır.

Detay

Tedarikçi İlişkileri Yönetimi (SRM)

Tedarikçinin kim olduğunu, hangi belgesinin ne zaman dolduğunu, geçen yıl terminine ne kadar uyduğunu ve hangi fiyat anlaşmasının yürürlükte olduğunu tek kayıtta toplarız. Onaylı tedarikçi listesi bir Excel dosyası olmaktan çıkar. Tedarikçi portalı isteğe bağlı olarak aynı yapıya bağlanır.

Detay

Nakliye ve Filo Yönetimi (TMS)

Sevkiyatı planlayan, aracı ve güzergâhı belirleyen, taşıyıcı ile navlunu karşılaştıran, e-irsaliyeyi kesen ve teslim kanıtını sahadan toplayan bir katman kurarız. Kendi filonuz varsa yakıt, bakım ve belge maliyeti aynı sistemde birikir; taşıyıcıyla çalışıyorsanız hangi işin kime kaça verildiği kayıt altına alınır.

Detay
Ara Ücretsiz keşif görüşmesi