İçeriğe atla
megapromotingHadi konuşalım

Uzmanlık · Siber güvenlik

Kurmakta ve işletmekte olduğumuz uygulamaların güvenliği — kod içinde yazılmış, dışarıdan doğrulanabilir kontroller, sahip olmadığımız sertifikalar olmadan.

Çalışma, uygulama güvenliğini ve gizlilik mühendisliğini kapsar: başlıklar ve içerik politikası, oran sınırlama, kontrollerin varsayılan olarak “kapalı” konumu, sırların şifrelenmesi, yeniden yazılamayan günlükler, verilerin anonimleştirilmesi ve saklama sürelerinin yalnızca politikada değil, kodda da tanımlanması. Sertifikalı denetçi değiliz ve sertifika vermiyoruz.

Zaten kurduklarımızAm ales „livrat” pentru un domeniu deliberat îngust, iar limita o scriem înaintea listei de capabilități. Controalele descrise mai jos rulează în sisteme proprii și o parte se pot verifica din exterior chiar acum: limitarea de rată se demonstrează cu douăsprezece cereri consecutive (a zecea primește 429, verificat pe producție la 06.09.2026), sonda de sănătate întoarce doar valori logice, iar antetele de securitate se citesc din răspuns. A doua și a treia implementare citate sunt platforma de sesizări — politică de conținut cu valoare unică per răspuns, listă albă de destinații de rețea verificată în integrarea continuă, autentificare în doi pași obligatorie pentru personal — și clientul de semnătură electronică scris fără nicio dependență nouă, cu apărare împotriva încadrării semnăturii XML. Ce NU susține dovada: nu avem nicio certificare, nu facem testare ofensivă ca serviciu, nu operăm un centru de monitorizare și nu emitem atestate de conformitate.

Kendi sistemlerimizde bulduğumuz açıkların çoğu sofistike istismarlar değildi. Varsayılan değerlerdi. Kimlik doğrulama olmadan herhangi bir numaraya telefon araması başlatan bir rota; arayüzdeki hiçbir bileşenin artık uzun zamandır çağırmadığı bir rota. Liste boşken geçen bir kaynak denetimi. Kamu sayfası anonimleştirme vaat ederken bildirim mesajında gönderilen tam bir IP adresi. Üçü de kodumuzda yazılıydı ve hiçbiri otomatik bir tarayıcıda görünmezdi.

Hizmetin biçimi buradan geliyor. Bir tarama raporu satmıyoruz. Kodu kesin bir soruyla okuyoruz: bu kontrol karar veremediğinde ne yapar — izin mi verir, reddeder mi? Varsayılan pozisyon bir kapı ile bir süs arasındaki farktır. Sistemlerimizde tüketim kapısı istisnada “izin verilmez” döndürür ve telefon araması rotası gizli anahtar yapılandırılmamışsa 404 yanıtı verir — yani biri onu bilerek açmadıysa işlev kapalıdır.

İşin ikinci yarısı gizlilik mühendisliğidir, çünkü pratikte bu ikisi ayrılmaz. Kamuya açıklanan saklama süresi, kod tarafından uygulanmıyorsa hiçbir şey ifade etmez. Bizde istek günlüğü, belirtilen süreden eski dosyaları siler; gün sayısı, yayımlanan politikada geçen aynı değerden alınır. Başka bir sistemde, saklama tablosu her süreyle birlikte yayımlanan metni kelimesi kelimesine ve yasal dayanağı yan yana tutar — böylece politika ile veritabanı sessizce birbirinden sapamaz.

Kendimiz hakkında yayınladıklarımız yöntemin bir parçası. Bu sitenin içerik politikası betiklerde `unsafe-inline` ve `unsafe-eval`e izin verir. Bu gerçek bir zayıflıktır ve bunu burada, dahili bir raporda değil, yazıyoruz — kendi erişilebilirlik denetimimizin bir doğrulama aracını doğrudan üretim sayfasına enjekte edebilmesinin mekanizması tam da buydu. Kendi bilinen zayıflıklarını yayınlamayan bir sağlayıcı, sizin zayıflıklarınızı bulamaz.

Neleri kapsıyor

Çalışma, bileşenlerine ayrılmış hâliyle

Her kontrolün varsayılan konumunu okuyoruz

Analizin merkezi sorusu: kontrol karar veremediğinde izin mi verir, reddeder mi? Gerçek örnek, kendi kodumuzdan, böyle işaretlenmiş: bir widget’ın izin verilen kaynaklar listesi, liste boşsa denetimin geçmesine izin verir — eski kurulumlarla uyumluluk için bilinçli bir seçim, yorumda yazılı, ancak bu da alan bazlı kısıtlamanın her uygulamada açıkça yapılandırılması gerektiği anlamına gelir. Karşı örnek: herhangi bir istisnada “izin verilmez” döndüren tüketim kapısı.

Bir proxy’nin arkasında doğru oran sınırlaması

Adres başına dakikada on istek, sınırın çalışıp çalışmadığını belirleyen bir incelikle: anahtar ilk sıçramadan değil, yönlendirme başlığının son sıçramasından alınır. Proxy’miz gerçek adresi istemcinin gönderdiğinin sonuna ekler, bu yüzden ilk giriş saldırgan tarafından kontrol edilir — anahtarı buna koyan kişi rastgele değerler göndererek sınırı aşabilir. Dışarıdan doğrulanabilir: ardışık on iki istek dokuz başarılı yanıt verir, ardından 429 gelir.

Başlıklar ve içerik politikası, mümkün olan yerlerde yanıt başına tekil değerle

Bu sitede: alt alan adları ve ön yükleme listesine kayıtla iki yıllık sıkı taşıma, çıkarılamayan içerik türü, kısıtlı yönlendiren politikası, kamerayı kapatan ve mikrofon ile konum erişimini yalnızca kendi sayfası için bırakan izinler politikası. Şikayet platformunda daha sıkı: içerik politikası her yanıt için proxy’de üretilen tekil bir değer alır, betikler, bağlantılar veya yazı tipleri için üçüncü taraf kaynak yoktur ve çerçeve içine alınma tamamen reddedilir.

Ağ hedefleri beyaz listesi, otomatik olarak doğrulanır

Genel bir projede, uygulamanın hangi adreslerle iletişim kurmasına izin verildiği, sürekli entegrasyonda çalıştırılan bir komutla hem statik hem de çalıştırma sırasında doğrulanan bir listedir. Evini aramaya başlayan yeni bir paket, üretime değil doğrulamaya takılır. Bu, hiçbir kimsenin bir güvenlik açığı tarayıcısıyla korunmadığı tedarik zinciri olaylarının tam olarak o sınıfını yakalayan kontroldür.

Gizler yanıtlara, günlük kaydına veya bildirimlere ulaşmaz

İletişim formunun sağlık sondası yalnızca mantıksal değerler döndürür — yapılandırılmış mı, kimlik bilgisi geçerli mi, günlük yazılabiliyor mu — asla tokenı, konuşma kimliğini veya bot adını döndürmez. Mesajlaşma platformunun kanal tokenları şifreli olarak saklanır. Uyarı günlükleri yazılmadan önce kişisel verileri redakte eden bir modülden geçirilir.

Yazmadan önce uygulanan anonimleştirme, sonra değil

IP adresi, günlüğe veya bir bildirime girmeden önce ağ önekine — IPv4 için /24, IPv6 için /48 — kısaltılır. İki önemli ayrıntıyla: oran sınırlamasında olduğu gibi, aynı nedenden dolayı ilk değil son sıçrama alınır; ve IPv6 eşlenmiş biçimde bildirilen IPv4 adresleri IPv4 olarak tanınır ve işlenir, aksi halde bütünüyle saklanırlardı, yani amaçla tam ters olacak şekilde.

Yeniden yazmayan, ekleyen günlük

Form üzerinden gelen talepler, teslim denenmeden önce dosya için 0600 ve dizin için 0700 izinleriyle, satır başına bir nesne olacak şekilde eklemeli bir günlüğe yazılır. Bunun nedeni gerçek bir arıza: bildirim kanalı çöktüğünde uç nokta 500 döndürüyordu ve her talep iz bırakmadan kayboluyordu. Şimdi bozuk bir kanal, “dosyaya bakmamız gerekiyor” anlamına geliyor, “talep hiç var olmadı” değil. Teslim sonucı aynı kimlikle ikinci satır olarak yazılır.

Kodun uyguladığı, yalnızca beyan edilen değil, saklama süresi

Talep günlüğü, açıkça beyan edilen süreden daha eski dosyaları, değeri aynı sayıdan alınan gün sayısına göre siler. Başka bir sistemde, saklama tablosu her sürenin yanında yayımlanan metni kelimesi kelimesine ve yasal dayanağını tutar; temizleme işlevi varsayılan olarak neyi sileceğini bildirir; gerçek silme açık bir parametre gerektirir. Sessiz silme bir hata modudur, bir işlev değil.

Proje bunu istediğinde kimlik ve imza

Federatif kimlik doğrulama için sıfırdan ve yeni bağımlılıklar olmadan bir hizmet sağlayıcı ve elektronik imza için bir istemci yazdık. XML ayrıştırıcısı belge türü tanımlarını işlemez, bu yüzden dış varlık saldırıları sınıfı uygulanmaz; imza doğrulaması, mantıksal bir değer değil, imza kapsamındaki düğümü döndürür ve çağıran taraf nesnenin kimliğini karşılaştırmak zorundadır — imza sarılmasına karşı savunma. Kanonikleştirme, belirtimin resmi vektörleri üzerinde doğrulandı.

Nasıl görünüyor

Süreç, adım adım.

01

Kapsamı ve dokunmamamız gerekenleri belirliyoruz

Yazılı olarak, herhangi bir komuttan önce: hangi sistemler, hangi dönem, hangi doğrulama türleri izinli ve bir şey durursa irtibat kişisi kim. Teslim ediyoruz: imzalı kapsam belgesi ve hariç tutulan sistemler listesi.

02

Kodu ve yapılandırmayı, varsayılan konuma odaklanarak okuyoruz

Karar veremeyen kontroller, yanıtlar veya günlüklerde yer alan gizli bilgiler, artık kimse tarafından çağrılmayan ama açık kalan rotalar, eksik başlıklar. Teslim ediyoruz: dosya ve satırla birlikte bulgular, teorik ciddiyete göre değil, onlarla ne yapılabileceğine göre sıralanmış.

03

Düzeltiriz ya da düzeltmeyi tam olarak tarif ederiz

Erişimimiz olan yerde denetimi koyar ve onu yerinde tutan testi yazarız — testi olmayan bir kontrol ilk yeniden düzenlemede kaybolur. Erişimimiz olmayan yerde, müşteri ekibinin bize tekrar sormadan uygulayabileceği kadar kesin tarif edilmiş değişikliği teslim ederiz.

04

Gizliliği koda bağlıyoruz

Saklama süresi, anonimleştirme ve alıcı listesi, yayınlanan metin yanlarında olacak şekilde kodda değerler olur. Teslim ediyoruz: doldurulmuş işleme kaydı, “nerede uygulanıyor” sütunu dolu ve her biri için kimin karar verdiğiyle birlikte karar verilmemiş noktalar listesi.

05

Dışarıdan ne doğrulanabilirse, dışarıdan doğruluyoruz

Başlıklar, sınır davranışı, sağlık kontrollerinin ne döndürdüğü. Teslim ediyoruz: tam doğrulama komutları, böylece herkes — müşteri denetçisi dahil — doğrulamayı bizim olmadan yeniden yapabilsin.

Straturile pe care le atingem, de sus în jos1antete și politică de conținut2limitare de rată cu cheia luată din ultimul salt3autentificare, roluri și separare pe organizație aplicată înbază4secrete criptate, niciodată în răspunsuri sau jurnale5jurnal cu adăugare și anonimizare aplicată înainte de scriere6termen de păstrare aplicat de cod, cu textul publicat alături
Straturile pe care le atingem, de sus în jos

Veriler

Neye dokunuyoruz, nerede duruyorlar ve ne kadar kalıyorlar

Veri koruma sorumlusu olan herkesin soracağı sorular — o sormadan önce burada sorulmuş hâliyle.

Bir analizde neye dokunuyoruz
Kod, sunucu yapılandırması, yanıt başlıkları ve, uygun olduğunda, veritabanı şeması ile erişim politikaları satır satır. Analizi yapmak için gerçek müşteri verilerine ihtiyacımız yok ve onlara hiç dokunmamayı tercih ediyoruz.
Yazılı olarak yetkilendirilmiş alan olmadan ne yapmıyoruz
Çalışır durumdaki bir sisteme karşı trafik üreten hiçbir işlem. Bu sayfada yer alan üretim üzerindeki kontroller, kendi sistemlerimizdeki olağan okuma talepleridir. Bu sınırın aşılması, bunu verme yetkisi olan kişi tarafından imzalanmış, süre ve adresler içeren yazılı bir yetkilendirme gerektirir.
Tespitler nereye gidiyor
Her bulgu için bir satır olan bir belgede: nerede olduğu, onunla ne yapılabildiği, tam olarak neyin düzelttiği ve düzeltmenin nasıl doğrulandığı. Bir istismar yolu tanımlayan bulgular güvensiz kanallardan dolaştırılmaz ve onarım yapılmadan önce kamuya açık materyallere girmez.
İşleme kaydı
Gizlilik tarafı için sonuç, her faaliyet için bir satırlık bir kayıttır: amaç, dayanak, veri kategorileri, alıcılar, aktarımlar, saklama konumu, süre, önlemler ve kodda uygulandığı dosya. Doğrulanamayan şey „neverificat” olarak yazılır, şablondan doldurulmaz.
Politikayı kodla bağlı tutan kural
Bir kod değişikliği neyin toplandığını, kime gittiğini veya ne kadar süre tutulduğunu değiştirirse, yayımlanan politika aynı teslimat adımında değiştirilir. Yayımlanan politika ile kod arasındaki uyumsuzluk, kendi kaydımızı yazmamıza yol açan tam sorundu.

Bir vaka

Herkesi arayabilen unutulmuş bir rota

Durum

Kendi sitemizde bir inceleme sırasında, istek gövdesine gönderilen herhangi bir numaraya telefon araması başlatan bir uygulama programlama rotasıyla karşılaştık. Kimlik doğrulaması olmadan, şirketin masrafıyla ve şirket numarasından. Arayüzdeki hiçbir bileşen artık onu çağırmıyordu — tek çağıran, artık görüntülenmeyen bir öğeydi. Yani kimsenin bakmasına gerek kalmadan internete açık şekilde çalışmıştı.

Ne kurduk

Bunu tek değil, iki sorun olarak ele aldık. Teknik: rota artık bir başlıkta paylaşılan bir sır istiyor ve sır hiç yapılandırılmamışsa 404 döndürüyor — biri kasıtlı olarak açmadıkça yetenek kapalıdır, biri kapatana kadar açık değildir. Hukuki ve etik: istenmemiş otomatik bir arama, aranan kişinin talep etmediği bir veri işleme işlemidir; bu yüzden olası bir yeniden etkinleştirme için neyin gerekli olacağını kayda geçirdik — aranan kişiye karşı belgelenmiş dayanak, onayın kaydı ve bir itiraz kanalı.

Ne çıktı

Yetenek varsayılan olarak kapalıdır ve biri açık bir karar verene kadar kapalı kalır. İşlem kayıt satırı durumu, önce ne olduğunu, riski ve yeniden etkinleştirme koşullarını açıklar — böylece rotayı sonraki bulan kişi muhakemeyi yeniden kurmak zorunda kalmaz.

Vakanın söylemedikleri

Bunu bir araçla fark etmedik. Rotaları tek tek okuyup, her biri için kimin çağırdığını sorarak bulduk. Otomatik bir tarayıcı, boş bir istekte 400 döndüren bir rota görür ve geçip giderdi. Yöntemin sınırı da bu: okuduklarımızı kapsar, okumadıklarımız kapsam dışında kalır — bu yüzden alan yazılı olarak belirlenir.

Sorular

İnsanların aramadan önce bize sordukları

Güvenlik sertifikalarınız var mı?

Hayır. Ne ISO 27001, ne SOC 2, ne saldırı amaçlı test sertifikası, ne de denetçi akreditasyonu. Sertifika vermiyoruz ve uygunluk beyanı imzalamıyoruz. Gösterebildiğimiz şey, kendi pratiğimiz, dosya ve satır düzeyindeki kayıtlar ve çalışır durumdaki sistemlere koyduğumuz kontrollerdir. Bir dosya için sertifikaya ihtiyacınız varsa, akredite bir kuruma ihtiyacınız var, bize değil — ve bunu şimdi öğrenmeniz daha iyidir.

Sızma testleri yapıyor musunuz?

Bir hizmet olarak değil. Saldırı amaçlı test ekibimiz, lisansımız veya sertifikalı metodolojimiz yok ve varmış gibi davranmıyoruz. Yaptığımız şey kod ve yapılandırma analizi, ayrıca dışarıdan invazif olmayan kontrollerdir — başlıklar, oran sınırındaki davranış, hata yanıtlarının ne sızdırdığı. Proje gerçek saldırı amaçlı test gerektiriyorsa, uzman bir şirkete ihtiyacınız var; biz onarım tarafında onunla birlikte çalışabiliriz.

Kendi sistemlerinizde ne buldunuz?

Bir günlük analizde, üç şey; hepsi kayıt defterimizde açıkça yazılıydı. Talep gövdesindeki herhangi bir numarayı, anonim, kimlik doğrulama olmadan, arayüzdeki hiçbir bileşenin artık çağırmadığı bir telefon araması başlatan bir rota — artık sır yapılandırılmamışsa 404 döndürüyor, yani biri bilinçli olarak başlatmazsa kapalı. Her görüntülemede yüklenen ve ziyaretçi bir şey istemeden önce oturumu tarayıcı belleğine yazan bir sohbet widget’ı — artık düğmeye basıldığında yükleniyor. Ve tam IP adresi bir bildirime gönderilirken, kamuya açık sayfa anonimleştirme vaat ediyordu — artık yazılmadan önce kısaltılıyor.

İçerik politikanız `unsafe-eval`e izin veriyor. Neden size inanmalıyım?

Çünkü bunu size biz söyledik, siz öğrenmediniz. Evet, bu sitenin politikası scriptlerde `unsafe-inline` ve `unsafe-eval`e izin veriyor — bu, belirli üçüncü taraf scriptlerin yüklenme biçiminden miras kalan gerçek bir zayıflık ve kendi erişilebilirlik denetimimizin üretim sayfasına bir doğrulama aracı enjekte ettiği mekanizma da bu. Kısıtlamayı en baştan bizim koyduğumuz bir projede doğru biçim, sesizani platformundaki biçimdir: proxy’de üretilen her yanıt için tekil değer ve scriptler için hiçbir üçüncü taraf kaynak yok. İki yaklaşım arasındaki fark, bir projenin başında konuşmamız gereken şeyin tam kendisidir, sonunda değil.

Oran sınırlamasının çalıştığını, size inanmadan nasıl doğrularım?

Bu sitenin uygulama arayüzü rotasına art arda on iki istek gönderip yanıtları sayarak: ilk dokuzu geçer, onuncusu ne kadar süre sonra yeniden denenebileceğini söyleyen üst bilgiyle birlikte 429 alır. Pencere bir dakikadır. Komut bu sayfanın kaynak listesinde ve şimdi çalıştırabilirsiniz. Teslim ettiğimiz şeylerde de aynı ilkeyi uyguluyoruz: bir kontrol müşteri tarafından dışarıdan doğrulanamıyorsa, teslim edilmez, beyan edilir.

Bir formdaki kişisel verilere ne oluyor?

Bir günlük eklemeli kayıt içine, satır başına bir nesne olarak, teslim edilmeye çalışılmadan önce sınırlı dosya ve dizin izinleriyle yazılıyor — böylece bozuk bir bildirim kanalı isteğin kaybolmasına neden olmasın. IP adresi yazılmadan önce ağ öneki düzeyinde kısaltılıyor. Beyan edilen süreden eski dosyalar, yayımlanmış politikada yer alan aynı değerden alınan gün sayısıyla siliniyor. Ve işleme kayıt defterindeki satır, her öğe için, kodda hangi dosyada uygulandığını söylüyor.

Devlet elektronik kimliği veya elektronik imza ile kimlik doğrulama yapabilir misiniz?

Kod var ve test edildi, ama üretimde hiçbir yerde etkinleştirilmiş değil ve fark önemlidir. Federatif kimlik doğrulama için bir hizmet sağlayıcı ve bir imza istemcisi yazdık; ikisi de yeni bağımlılıklar olmadan, özel korumalar uygulanmış ve test edilmiş durumda. Eksik olan kodla ilgili değil: yetkili makamla sözleşme, sistem sertifikası ve üretim adresinin kaydı. O zamana kadar bugün çalışan seçenek, vatandaşın resmi portaldan imzalayıp imzalı belgeyi geri yüklemesidir.

Yeni bir uygulamada normalde hangi kontrolleri koyarsınız?

Başlıklar ve yanıt başına tekil değerli içerik politikası; proxy’nin arkasından doğru alınan anahtarla oran sınırlaması; uygulamada değil, veritabanında uygulanan kuruluş bazlı ayrım; şifrelenmiş sırlar ve asla yanıtlarda veya günlüklerde olmamaları; üçüncü taraf olayları için idempotency anahtarları; personel hesapları için zorunlu iki adımlı kimlik doğrulama; iç ve kamuya açık görünürlüğü ayrı olan bir denetim günlüğü; ve kamu projeleri için, her teslimde otomatik doğrulanan ağ hedefleri beyaz listesi.

Bu hizmet neleri kapsamaz?

Kurumsal ağ güvenliği, kullanıcı ekipmanları, sürekli operasyon merkezi türü izleme, 7/24 olay müdahalesi, kriminalistik inceleme ve kimlik avına karşı eğitim. Bunları kötü yaptığımız için değil — bunları yapmadığımız için. Kapsamımız, inşa ettiğimiz ya da devraldığımız uygulama ve onun içinden geçen verileridir.

Yukarıdaki iddialar neye dayanıyor (24 kaynak)
  1. Verificat pe producție: 12 cereri consecutive dau 9 răspunsuri 200, apoi 429https://www.megapromoting.com/api/health/contact · 2026-09-06
  2. Antete pe producție: transport strict 63072000 s cu subdomenii și precarcare, tip de conținut nedeductibil, politică de referință restrânsă, politică de permisiuni care închide camera; încadrarea în cadru e refuzată complet pe rutele de interfață de programare și limitată la aceeași origine pe paginihttps://www.megapromoting.com/api/health/contact · 2026-09-06

Bunlardan 22 tanesi depolarımızdaki kod ve dosyalardır. Adlarını ya da satırlarını yayımlamıyoruz: hepsi bir arada, tek bir sayfada, yalnızca bize ait olmayan sistemlerin nasıl kurulduğunu fazla net anlatırdı. İstek üzerine, depoda sizinle birlikte gözden geçiriyoruz — doğrulama hâlâ mümkün, sadece bir görüşme içinde yapılıyor.

Neyin daha iyi çalışmasını isterdiniz?

Bize sürecinizi anlatın. Neyin kurulmaya değer olduğuna, neyi bağlayabileceğimize ve sonucu nasıl doğrulayacağımıza birlikte karar verelim.

Hadi konuşalım