SlideShare una empresa de Scribd logo
1 de 16
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
GÜVENLİ YAZILIM
GELİŞTİRMEDE
DOSYA YÜKLEME
Yazar: Elif Bayrakdar
Baskı: 21.02.2017
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
İçerik
Güvenli Yazılım Geliştirmede File Upload’ın Doğru Kullanım Yolları....................................3
Authentication ve Authorization .......................................................................................4
Yüklenen Dosyanın Maximum Boyutu ...............................................................................5
Uzantıların Kontrolü (BlackListing & WhiteListing) .............................................................6
Yüklenen Dosyada İsim Değişikliği.....................................................................................7
Dosya Content’ini Kontrol Etme ........................................................................................8
Client-Side Validation......................................................................................................11
IIS Request Filtering ........................................................................................................12
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Güvenli Yazılım Geliştirmede File Upload’ın Doğru Kullanım Yolları
İşleyiş olarak son kullanıcıya oldukça yararlı ve günümüz dünyasında yaygınlığı olan
uygulamalarda bile güvenlik açıklıkları çıkmaktadır. Bu durum yazılımcıların fonksiyonaliteyi
arttırayım derken güvenliğe yeterince önem verememesinden kaynaklanabilmektedir. Bu
açıklıklardan en fazla dikkat edilmesi gereken konulardan birisi olarak güvensiz upload’ı
inceleyeceğiz.
File upload alanları istemci tarafından sunucu tarafına dosya gönderme olanağı
sağlayan yapılardır. Dikkat edileceği üzere burası bir saldırgan için sunucuya açılan bir
kapıdır. Bu nedenle yazılımcıların buradaki senaryoları iyi kodlaması gerekmektedir ki
yüklenilen dosya üzerindeki yetersiz kontroller nedeniyle uygulamanın koştuğu sistem için
güvenlik problemlerine yol açılmasın. Bu nedenlerdendir ki bir yazılımcı asla dışarıdan gelen
kaynağa güvenmemelidir. Heleki bu kaynağın sunucu tarafında yorumlanıp çalıştırılabilecek
bir dosya olabileceği düşünülürse.
Bu yazıda alınabilecek önlemler, best practise’ler ve tek başına yeterli olmayan
kontroller ele alınacaktır.
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Authentication ve Authorization
Bir dosya yükleme alanı varsa öncelikle burayı bu uygulamaya giriş yapan ve dosya
yüklemeye izni olan kullanıcılar kullanmalı. Aksi taktirde bir saldırganın uygulamaya
girmeden (Authentication) ve de işlemi yapması için bir yetkiye ihtiyaç duymadan
(Authorization) kolayca bu dosya yükleme alanında denemeler yapmasına ve hatta belki de
başarılı olmasına neden olunabilir.
Önlem olarak projenin kendi yapısına uygun olacak şekilde bir kurgu oluşturulmalıdır.
Dosya yükleme işlemini gerçekleştiren kullanıcı login durumunda mı, dosya yüklemeye veya
yüklemek istediği dosyanın türünde bir dosyayı yüklemeye yetkili mi gibi kontroller yapan
metodlar yazıp en azından herkesin bu önemli alana erişme imkanı ortadan kaldırılmalıdır.
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Yüklenen Dosyanın Maximum Boyutu
Yüklenen dosyalarda bir boyut sınırı olmazsa saldırgan sisteme oldukça büyük bir
dosya yükleyip yer kaynaklarını tüketebilir ve sunucuyu hizmetdışı bırakabilir. Bunu
engellemenin yolu yüklenmeye çalışılan dosyanın boyutunu kontrol etmektir. .Net’te
yüklenen dosyanın boyutunu byte olarak döndüren bir metod vardır:
fileUploadControl.PostedFile.ContentLength
Bu kod ile yüklenen dosyanın boyut kontrolünün yapılması gerekmektedir.
if(fileUploadControl.PostedFile.ContentLength > 0
&& fileUploadControl.PostedFile.ContentLength <
1048576)
{;}
Burada ancak 0 Byte’tan büyük, 1 MegaByte’tan küçük boyuttaki bir dosya ise if
koşulunun içini gerçekleştir denmiş oluyor. İstenilen boyutun dışında bir dosya yüklenmeye
çalışırsa da işlemi gerçekleştirmeyecektir.
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Uzantıların Kontrolü (BlackListing & WhiteListing)
Uygulamaya hangi uzantıya/uzantılara sahip olan dosyaların yüklenebilir olduğuna
göre uzantı kontrolü yapılabilir. Bunun için blacklist veya whitelist gibi yöntemler
uygulanabilir. Bir whitelist oluşturarak yüklenmesine izin verilen dosya uzantıları
belirlenebilir ve bunların dışındaki dosyaların yüklenmesine izin verilmeyebilir. Ya da bir
blacklist oluşturarak asla yüklenmemesi gereken dosya uzantıları kontrol edilebilir ve
yüklenmesi engellenebilir.
Ancak zararlı bir içerik barındıran bir dosya için bu yöntem yeterli olmayacaktır çünkü
saldırgan shell.png.aspx şeklinde bir dosya adı kullanarak bu yöntemi bypass edebilir.
Örneğin png dosyası yüklemeye izin veren bir file upload alanında saldırgan içinde zararlı bir
kod bulunan shell.png.aspx diye bir dosyayı sisteme yükleyebilir ve bunu çalıştırabilir.
Önlem olarak dosya adındaki ilk noktadan sonraki değil de en son noktadan sonraki
uzantı kontrol edilmelidir. Bu dosyanın gerçek uzantısı aslında .aspx’tir.
ASP.NET’te dosyanın uzantısını bulan metod:
string extension = System.IO.Path.GetExtension(FileName);
Bu kod dosyanın uzantısı olarak .aspx’i döndürecektir. Fakat kullanılan programlama
diline göre bu işi yapan bir metod olmayabilir. O zaman da şu mantık ile dosya uzantısı
bulunabilir:
string extension =
fileUploadControl.FileName.Substring(fileUploadControl.FileName.LastIndexOf('.') + 1);
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Yüklenen Dosyada İsim Değişikliği
Yüklenecek dosyaya yeni bir isim ve kabul edilen uzantı verilebilir. Bu yöntem XSS ve
path traversal gibi dosya ismi yolu ile yapılabilecek saldırılara karşı alınabilecek bir önlem
olarak kabul edilir.
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Dosya Content’ini Kontrol Etme
Her dosya için kendine özgü bir header bilgisi olur. Her dosya uzantısı için de ilk 4
byte sabittir. Bu ilk 4 byte’ı kontrol ederek de dosyaya güvenilebilir. Aşağıdaki örnek kodlar
bu kontrolü yapmaktadır:
if (fileUploadControl.HasFile
&& fileUploadControl.PostedFile.ContentLength > 0
&& fileUploadControl.PostedFile.ContentLength < 1048576)
{
if (IsImage())
{
try
{
string fileName = Path.GetFileName(fileUploadControl.PostedFile.FileName);
string directoryPath = Server.MapPath("~/UploadedFiles");
string uploadPath = Path.Combine(directoryPath, fileName);
if (!Directory.Exists(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}
fileUploadControl.SaveAs(uploadPath);
lblStatus.Text = "Success!";
}
catch (Exception ex)
{
lblStatus.Text = "Failure! " + ex.Message;
}
}
else
{
lblStatus.Text += "<br />This is not an image file!";
}
}
public bool IsImage()
{
string[] validFileTypes = { "JPG", "JPEG", "PNG", "TIF", "TIFF", "GIF", "BMP", "ICO" };
string ext = fileUploadControl.FileName.Substring(fileUploadControl.FileName.LastIndexOf('.') +
1).ToUpper(); //or string ext =
Path.GetExtension(this.fileUploadControl.PostedFile.FileName).TrimStart('.').ToUpper();
bool isValidFileExtention = false;
for (int i = 0; i < validFileTypes.Length; i++)
{
if (ext == validFileTypes[i])
{
isValidFileExtention = true;
break;
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
}
}
if (!isValidFileExtention)
{
lblStatus.ForeColor = System.Drawing.Color.Red;
lblStatus.Text = string.Format("Invalid file. Please upload a file with extension {0}", string.Join(",",
validFileTypes));
}
if (isValidFileExtention)
isValidFileExtention = CheckTrueImageType();
return isValidFileExtention;
}
public bool CheckTrueImageType()
{
// DICTIONARY OF ALL IMAGE FILE HEADER
Dictionary<string, byte[][]> imageHeader = new Dictionary<string, byte[][]>();
imageHeader.Add("JPG", new byte[][] { new byte[] { 0xFF, 0xD8, 0xFF, 0xE0 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xE1 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xE2 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xE3 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xE8 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xDB } });
imageHeader.Add("JPEG", new byte[][] { new byte[] { 0xFF, 0xD8, 0xFF, 0xE0 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xE1 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xE2 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xE3 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xE8 },
new byte[] { 0xFF, 0xD8, 0xFF, 0xDB } });
imageHeader.Add("PNG", new byte[][] { new byte[] { 0x89, 0x50, 0x4E, 0x47 } });
imageHeader.Add("TIF", new byte[][] { new byte[] { 0x49, 0x49, 0x2A, 0x00 },
new byte[] { 0x49, 0x20, 0x49 },
new byte[] { 0x4D, 0x4D, 0x00, 0x2A },
new byte[] { 0x4D, 0x4D, 0x00, 0x2B } });
imageHeader.Add("TIFF", new byte[][] { new byte[] { 0x49, 0x49, 0x2A, 0x00 },
new byte[] { 0x49, 0x20, 0x49 },
new byte[] { 0x4D, 0x4D, 0x00, 0x2A },
new byte[] { 0x4D, 0x4D, 0x00, 0x2B } });
imageHeader.Add("GIF", new byte[][] { new byte[] { 0x47, 0x49, 0x46, 0x38, 0x37, 0x61 },
new byte[] { 0x47, 0x49, 0x46, 0x38, 0x39, 0x61 } });
imageHeader.Add("BMP", new byte[][] { new byte[] { 0x42, 0x4D } });
imageHeader.Add("ICO", new byte[][] { new byte[] { 0x00, 0x00, 0x01, 0x00 } });
bool isTrueImage = false;
if (fileUploadControl.HasFile)
{
// GET FILE EXTENSION
string fileExt =
Path.GetExtension(this.fileUploadControl.PostedFile.FileName).TrimStart('.').ToUpper();
// CUSTOM VALIDATION GOES HERE BASED ON FILE EXTENSION IF ANY
byte[][] tmp = imageHeader[fileExt];
foreach (byte[] validHeader in tmp)
{
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
byte[] header = new byte[validHeader.Length];
// GET HEADER INFORMATION OF UPLOADED FILE
//fileUploadControl.FileContent.Seek(0, SeekOrigin.Begin);
fileUploadControl.FileContent.Read(header, 0, header.Length);
if (CompareArray(validHeader, header))
{
// VALID HEADER INFORMATION
isTrueImage = true;
break;
}
}
}
if (!isTrueImage)
{
lblStatus.ForeColor = System.Drawing.Color.Red;
lblStatus.Text += "<br />Invalid file header! ";
}
return isTrueImage;
}
private bool CompareArray(byte[] a1, byte[] a2)
{
if (a1.Length != a2.Length)
return false;
for (int i = 0; i < a1.Length; i++)
{
if (a1[i] != a2[i])
return false;
}
return true;
}
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Client-Side Validation
ASP.NET yazılımcılara daha dosyayı yükleme aşamasında kullanabilecekleri bir takım
doğrulama yöntemleri sunmaktadır. Validation’lar… Validation’lar, yazılımcılara dosya
yüklenip yüklenmediğini veya yüklenen dosyanın belirtilen regex’e (whitelist) uygun bir
uzantıda olup olmadığını kontrol etmeye ve eğer istenmeyen bir durum varsa bu konuda
uygun dönüşler yapması ve işlemi gerçekleştirmemesi konusunda yardımcı olur. ASP.NET’te
validation’lar genel olarak sadece dosya yükleme için değil, diğer birçok doğrulama türü için
kullanılabilmektedir.
Dosya yükleme esnasında client-side validation kullanımı daha çok .Net’te yaygındır
ve sebebi de belirttiğimiz gibi .Net’in yazılımcıların işini kolaylaştıran bu imkanı basitçe
sunmuş olmasından kaynaklanmaktadır.
ASP.NET’te örnek bir validation kullanımı:
<asp:FileUpload ID="fileUploadControl" runat="server" />
<asp:RequiredFieldValidator ID="rfvFileUpload" runat="server"
ControlToValidate="fileUploadControl" ErrorMessage="File required." Display="Dynamic"
ForeColor="Red">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revFileUpload" ValidationExpression="([a-zA-Z0-9s_-
:])+(.jpg|.jpeg|.png|)$"
ControlToValidate="fileUploadControl" runat="server" ForeColor="Red"
ErrorMessage="Please select a valid Word or PDF file."
Display="Dynamic" />
<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Save" />
ASP.NET, Jquery, HTML5, javascript veya diğer programlama dilleri ile yazılan client-
side yöntemler saldırgan tarafından Burp veya Fiddler gibi araçlar ile kolayca bypass
edilebileceği için yazılımcının kullanacağı bu yöntem güvensiz upload’lara karşı kesin alınmış
bir önlem olarak kabul edilemeyecektir.
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
IIS Request Filtering
IIS (Internet Information Services) 7.0 ile gelen bir istek filtreleme mekanizması olan
Request Filtering ile istenilen dizinde belirlenen türlerdeki dosyalar için gelen isteklere izin
vermeyi ya da isteği reddetmeyi sağlamaktadır. Bu özelliği kullanmanın yolu ise şu şekilde:
IIS’te istek filtreleme yapılacak alana tıklanır:
Şekil 1 - IIS Görünüm
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Request Filtering yazan yere tıklandığında da aşağıdaki kısım açılacaktır:
Şekil 2 - File Name Extensions Alanından Çalıştırılmasının Engellendiği Dosya Uzantılarının Listesi
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Boş alana sağ tıklanınca açılacak küçük pencereden Deny File Name Extension seçeneği
seçilir:
Şekil 3 - File Name Extensions Alanından Çalıştırılması Engellenecek Dosya Uzantısının Eklenmesi
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
Açılacak küçük pencereye istenilen uzantı yazılıp OK’a basılınca listeye eklendiği görülecektir:
Şekil 4 - File Name Extensions Alanından Çalıştırılması Engellenmek İstenen Dosya Uzantılarının Belirlenmesi
Bu yöntemi kullanarak da projedeki belli klasörlerde veya tamamında belirlenen
türdeki dosyalar için gelen istekler kabul edilmeyebilir ve atılması olası herhangi bir shell ya
da zararlı içerikli bir dosyanın çağrılıp çalıştırılması engellenecektir.
Buraya kadar anlatılanlardan da görüldüğü gibi bir saldırgan dosya yükleme
alanlarında birçok bypass yöntemi kullanabilmektedir. Yazılımcıdan beklenen bu anlatılan
hususlara dikkat ederek önlemler almak ve bu önlemlerin çalışır olduğundan emin olmaktır.
Bu yazı .Net file upload control’ü üzerinden yazılmıştır. Ancak alınacak önlemler diğer
diller ile benzer başlıkları taşımaktadır. Faydalı olması dileğiyle.
[GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME]
BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity
BGA Bilgi Güvenliği A.Ş. Hakkında
BGA Bilgi Güvenliği A.Ş. 2008 yılından bu yana siber güvenlik alanında faaliyet göstermektedir.
Ülkemizdeki bilgi güvenliği sektörüne profesyonel anlamda destek olmak amacı ile kurulan BGA Bilgi
Güvenliği, stratejik siber güvenlik danışmanlığı ve güvenlik eğitimleri konularında kurumlara hizmet
vermektedir.
Uluslararası geçerliliğe sahip sertifikalı 50 kişilik teknik ekibi ile, faaliyetlerini Ankara ve İstanbul ve
USA’da sürdüren BGA Bilgi Güvenliği’nin ilgi alanlarını “Sızma Testleri, Güvenlik Denetimi, SOME, SOC
Danışmanlığı, Açık Kaynak Siber Güvenlik Çözümleri, Büyük Veri Güvenlik Analizi ve Yeni Nesil
Güvenlik Çözümleri” oluşturmaktadır.
Gerçekleştirdiği başarılı danışmanlık projeleri ve eğitimlerle sektörde saygın bir yer edinen BGA Bilgi
Güvenliği, kurulduğu günden bugüne alanında lider finans, enerji, telekom ve kamu kuruluşlarına
1.000'den fazla eğitim ve danışmanlık projeleri gerçekleştirmiştir.
BGA Bilgi Güvenliği, kurulduğu 2008 yılından beri ülkemizde bilgi güvenliği konusundaki bilgi ve
paylaşımların artması amacı ile güvenlik e-posta listeleri oluşturulması, seminerler, güvenlik etkinlikleri
düzenlenmesi, üniversite öğrencilerine kariyer ve bilgi sağlamak için siber güvenlik kampları
düzenlenmesi ve sosyal sorumluluk projeleri gibi birçok konuda gönüllü faaliyetlerde bulunmuştur.
BGA Bilgi Güvenliği AKADEMİSİ Hakkında
BGA Bilgi Güvenliği A.Ş.’nin eğitim ve sosyal sorumluluk markası olarak çalışan Bilgi Güvenliği
AKADEMİSİ, siber güvenlik konusunda ticari, gönüllü eğitimlerin düzenlenmesi ve siber güvenlik
farkındalığını arttırıcı gönüllü faaliyetleri yürütülmesinden sorumludur. Bilgi Güvenliği AKADEMİSİ
markasıyla bugüne kadar “Siber Güvenlik Kampları”, “Siber Güvenlik Staj Okulu”, “Siber Güvenlik Ar-
Ge Destek Bursu” , ”Ethical Hacking yarışmaları” ve “Siber Güvenlik Kütüphanesi” gibi birçok gönüllü
faaliyetin destekleyici olmuştur.

Más contenido relacionado

La actualidad más candente

Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9BGA Cyber Security
 
Web Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma TestleriWeb Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma TestleriBGA Cyber Security
 
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBeyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBGA Cyber Security
 
Siber Güvenlik Kış Kampı'18 Soruları
Siber Güvenlik Kış Kampı'18 SorularıSiber Güvenlik Kış Kampı'18 Soruları
Siber Güvenlik Kış Kampı'18 SorularıBGA Cyber Security
 
Güvenlik Testlerinde Bilgi Toplama
Güvenlik Testlerinde Bilgi ToplamaGüvenlik Testlerinde Bilgi Toplama
Güvenlik Testlerinde Bilgi ToplamaBGA Cyber Security
 
Windows Sistemler için Sysmon ve Wazuh Kullanarak Mitre ATT&CK Kurallarının ...
Windows Sistemler için Sysmon ve Wazuh Kullanarak  Mitre ATT&CK Kurallarının ...Windows Sistemler için Sysmon ve Wazuh Kullanarak  Mitre ATT&CK Kurallarının ...
Windows Sistemler için Sysmon ve Wazuh Kullanarak Mitre ATT&CK Kurallarının ...BGA Cyber Security
 
Hacklenmiş Web Sunucu Analizi
Hacklenmiş Web Sunucu AnaliziHacklenmiş Web Sunucu Analizi
Hacklenmiş Web Sunucu AnaliziBGA Cyber Security
 
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıWindows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıBGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18BGA Cyber Security
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1BGA Cyber Security
 
Empire Kurulumu ve Kullanımı
Empire Kurulumu ve Kullanımı Empire Kurulumu ve Kullanımı
Empire Kurulumu ve Kullanımı BGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15BGA Cyber Security
 
8 Ocak 2015 SOME Etkinligi - BGA Bank Vulnerable Web Application
8 Ocak 2015 SOME Etkinligi - BGA Bank Vulnerable Web Application8 Ocak 2015 SOME Etkinligi - BGA Bank Vulnerable Web Application
8 Ocak 2015 SOME Etkinligi - BGA Bank Vulnerable Web ApplicationBGA Cyber Security
 

La actualidad más candente (20)

10 Adımda Sızma Testleri
10 Adımda Sızma Testleri10 Adımda Sızma Testleri
10 Adımda Sızma Testleri
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
 
Web Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma TestleriWeb Servislerine Yönelik Sızma Testleri
Web Servislerine Yönelik Sızma Testleri
 
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBeyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
 
Siber Güvenlik Kış Kampı'18 Soruları
Siber Güvenlik Kış Kampı'18 SorularıSiber Güvenlik Kış Kampı'18 Soruları
Siber Güvenlik Kış Kampı'18 Soruları
 
Güvenlik Testlerinde Bilgi Toplama
Güvenlik Testlerinde Bilgi ToplamaGüvenlik Testlerinde Bilgi Toplama
Güvenlik Testlerinde Bilgi Toplama
 
Windows Sistemler için Sysmon ve Wazuh Kullanarak Mitre ATT&CK Kurallarının ...
Windows Sistemler için Sysmon ve Wazuh Kullanarak  Mitre ATT&CK Kurallarının ...Windows Sistemler için Sysmon ve Wazuh Kullanarak  Mitre ATT&CK Kurallarının ...
Windows Sistemler için Sysmon ve Wazuh Kullanarak Mitre ATT&CK Kurallarının ...
 
Hacklenmiş Web Sunucu Analizi
Hacklenmiş Web Sunucu AnaliziHacklenmiş Web Sunucu Analizi
Hacklenmiş Web Sunucu Analizi
 
Kablosuz Ağlarda Adli Analiz
Kablosuz Ağlarda Adli AnalizKablosuz Ağlarda Adli Analiz
Kablosuz Ağlarda Adli Analiz
 
BTRisk Android Mobil Uygulama Denetimi Eğitimi
BTRisk Android Mobil Uygulama Denetimi EğitimiBTRisk Android Mobil Uygulama Denetimi Eğitimi
BTRisk Android Mobil Uygulama Denetimi Eğitimi
 
BackTrack Linux-101 Eğitimi
BackTrack Linux-101 EğitimiBackTrack Linux-101 Eğitimi
BackTrack Linux-101 Eğitimi
 
Outlook E-Mail Forensics
Outlook E-Mail ForensicsOutlook E-Mail Forensics
Outlook E-Mail Forensics
 
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıWindows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
 
Metasploit Framework Eğitimi
Metasploit Framework EğitimiMetasploit Framework Eğitimi
Metasploit Framework Eğitimi
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1
 
Empire Kurulumu ve Kullanımı
Empire Kurulumu ve Kullanımı Empire Kurulumu ve Kullanımı
Empire Kurulumu ve Kullanımı
 
Web 2.0 Güvenliği
Web 2.0 GüvenliğiWeb 2.0 Güvenliği
Web 2.0 Güvenliği
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 13, 14, 15
 
8 Ocak 2015 SOME Etkinligi - BGA Bank Vulnerable Web Application
8 Ocak 2015 SOME Etkinligi - BGA Bank Vulnerable Web Application8 Ocak 2015 SOME Etkinligi - BGA Bank Vulnerable Web Application
8 Ocak 2015 SOME Etkinligi - BGA Bank Vulnerable Web Application
 

Destacado

Uygulamalı Ağ Güvenliği Eğitimi Lab Çalışmaları
Uygulamalı Ağ Güvenliği Eğitimi Lab ÇalışmalarıUygulamalı Ağ Güvenliği Eğitimi Lab Çalışmaları
Uygulamalı Ağ Güvenliği Eğitimi Lab ÇalışmalarıBGA Cyber Security
 
İleri Seviye Ağ Güvenliği Lab Kitabı
İleri Seviye Ağ Güvenliği Lab Kitabıİleri Seviye Ağ Güvenliği Lab Kitabı
İleri Seviye Ağ Güvenliği Lab KitabıBGA Cyber Security
 
Her Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıHer Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıBGA Cyber Security
 
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBeyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBGA Cyber Security
 
Kali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADKali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADMehmet Ince
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3BGA Cyber Security
 
Yeni Nesil Küresel Savaş: Siber Saldırılar
Yeni Nesil Küresel Savaş: Siber SaldırılarYeni Nesil Küresel Savaş: Siber Saldırılar
Yeni Nesil Küresel Savaş: Siber SaldırılarBGA Cyber Security
 
Güvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaGüvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaBGA Cyber Security
 
Kablosuz Ağlara Yapılan Saldırılar
Kablosuz Ağlara Yapılan SaldırılarKablosuz Ağlara Yapılan Saldırılar
Kablosuz Ağlara Yapılan SaldırılarBGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19BGA Cyber Security
 

Destacado (14)

Uygulamalı Ağ Güvenliği Eğitimi Lab Çalışmaları
Uygulamalı Ağ Güvenliği Eğitimi Lab ÇalışmalarıUygulamalı Ağ Güvenliği Eğitimi Lab Çalışmaları
Uygulamalı Ağ Güvenliği Eğitimi Lab Çalışmaları
 
İleri Seviye Ağ Güvenliği Lab Kitabı
İleri Seviye Ağ Güvenliği Lab Kitabıİleri Seviye Ağ Güvenliği Lab Kitabı
İleri Seviye Ağ Güvenliği Lab Kitabı
 
Her Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıHer Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratı
 
Kali linux
Kali linuxKali linux
Kali linux
 
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBeyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
 
Kali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADKali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRAD
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
 
linux-enterprise-cluster
linux-enterprise-clusterlinux-enterprise-cluster
linux-enterprise-cluster
 
Slideshare net
Slideshare netSlideshare net
Slideshare net
 
Yeni Nesil Küresel Savaş: Siber Saldırılar
Yeni Nesil Küresel Savaş: Siber SaldırılarYeni Nesil Küresel Savaş: Siber Saldırılar
Yeni Nesil Küresel Savaş: Siber Saldırılar
 
Güvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaGüvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya Kurtarma
 
Kablosuz Ağlara Yapılan Saldırılar
Kablosuz Ağlara Yapılan SaldırılarKablosuz Ağlara Yapılan Saldırılar
Kablosuz Ağlara Yapılan Saldırılar
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
 
Web Uygulama Pentest Eğitimi
Web Uygulama Pentest EğitimiWeb Uygulama Pentest Eğitimi
Web Uygulama Pentest Eğitimi
 

Similar a Güvenli Yazılım Geliştirmede Dosya Yükleme

Performanslı site tasarımı ve Site performans ölçüm araçları
Performanslı site tasarımı ve Site performans ölçüm araçlarıPerformanslı site tasarımı ve Site performans ölçüm araçları
Performanslı site tasarımı ve Site performans ölçüm araçlarıbarisaydiner
 
Apache Htaccess Güvenlik Testleri
Apache Htaccess Güvenlik TestleriApache Htaccess Güvenlik Testleri
Apache Htaccess Güvenlik TestleriBGA Cyber Security
 
Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanımEliflknurNACAR
 
Siem, log yönetimi ve 5651 projelerinin performans ve log kaçirip kaçirmadiği...
Siem, log yönetimi ve 5651 projelerinin performans ve log kaçirip kaçirmadiği...Siem, log yönetimi ve 5651 projelerinin performans ve log kaçirip kaçirmadiği...
Siem, log yönetimi ve 5651 projelerinin performans ve log kaçirip kaçirmadiği...Ertugrul Akbas
 
Bitdefender gravityzone yapılandırma_tekvizyon
Bitdefender gravityzone yapılandırma_tekvizyonBitdefender gravityzone yapılandırma_tekvizyon
Bitdefender gravityzone yapılandırma_tekvizyonTekvizyonTeknolojiHi
 
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   sonAçık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma sonBGA Cyber Security
 
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ BGA Cyber Security
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysisAttaporn Ninsuwan
 

Similar a Güvenli Yazılım Geliştirmede Dosya Yükleme (10)

Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
 
Performanslı site tasarımı ve Site performans ölçüm araçları
Performanslı site tasarımı ve Site performans ölçüm araçlarıPerformanslı site tasarımı ve Site performans ölçüm araçları
Performanslı site tasarımı ve Site performans ölçüm araçları
 
Apache Htaccess Güvenlik Testleri
Apache Htaccess Güvenlik TestleriApache Htaccess Güvenlik Testleri
Apache Htaccess Güvenlik Testleri
 
Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanım
 
Siem, log yönetimi ve 5651 projelerinin performans ve log kaçirip kaçirmadiği...
Siem, log yönetimi ve 5651 projelerinin performans ve log kaçirip kaçirmadiği...Siem, log yönetimi ve 5651 projelerinin performans ve log kaçirip kaçirmadiği...
Siem, log yönetimi ve 5651 projelerinin performans ve log kaçirip kaçirmadiği...
 
Bitdefender gravityzone yapılandırma_tekvizyon
Bitdefender gravityzone yapılandırma_tekvizyonBitdefender gravityzone yapılandırma_tekvizyon
Bitdefender gravityzone yapılandırma_tekvizyon
 
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   sonAçık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
 
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
LINUX, WINDOWS VE AĞ SİSTEMLERİ SIZMA TESTLERİ
 
Audit Policy
Audit PolicyAudit Policy
Audit Policy
 
45965 php-source-code-analysis
45965 php-source-code-analysis45965 php-source-code-analysis
45965 php-source-code-analysis
 

Más de BGA Cyber Security

WEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiWEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiBGA Cyber Security
 
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfTatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfBGA Cyber Security
 
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiÜcretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiBGA Cyber Security
 
3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?BGA Cyber Security
 
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBGA Cyber Security
 
Webinar: Popüler black marketler
Webinar: Popüler black marketlerWebinar: Popüler black marketler
Webinar: Popüler black marketlerBGA Cyber Security
 
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıWebinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıBGA Cyber Security
 
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020BGA Cyber Security
 
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriBGA Cyber Security
 
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakWebinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakBGA Cyber Security
 
Open Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIOpen Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIBGA Cyber Security
 
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiWebinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiBGA Cyber Security
 
Hacklenmiş Windows Sistem Analizi
Hacklenmiş Windows Sistem AnaliziHacklenmiş Windows Sistem Analizi
Hacklenmiş Windows Sistem AnaliziBGA Cyber Security
 
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİRAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİBGA Cyber Security
 
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Cyber Security
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerBGA Cyber Security
 
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsVeri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsBGA Cyber Security
 
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi ToplamaAktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi ToplamaBGA Cyber Security
 

Más de BGA Cyber Security (20)

WEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiWEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesi
 
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfTatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
 
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiÜcretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
 
3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?
 
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
 
Webinar: Popüler black marketler
Webinar: Popüler black marketlerWebinar: Popüler black marketler
Webinar: Popüler black marketler
 
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıWebinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
 
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
 
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
 
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakWebinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
 
Open Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIOpen Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-II
 
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiWebinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
 
Hacklenmiş Windows Sistem Analizi
Hacklenmiş Windows Sistem AnaliziHacklenmiş Windows Sistem Analizi
Hacklenmiş Windows Sistem Analizi
 
Open Source SOC Kurulumu
Open Source SOC KurulumuOpen Source SOC Kurulumu
Open Source SOC Kurulumu
 
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİRAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
 
Siber Fidye 2020 Raporu
Siber Fidye 2020 RaporuSiber Fidye 2020 Raporu
Siber Fidye 2020 Raporu
 
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
 
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsVeri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
 
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi ToplamaAktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
 

Güvenli Yazılım Geliştirmede Dosya Yükleme

  • 1. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME Yazar: Elif Bayrakdar Baskı: 21.02.2017
  • 2. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity İçerik Güvenli Yazılım Geliştirmede File Upload’ın Doğru Kullanım Yolları....................................3 Authentication ve Authorization .......................................................................................4 Yüklenen Dosyanın Maximum Boyutu ...............................................................................5 Uzantıların Kontrolü (BlackListing & WhiteListing) .............................................................6 Yüklenen Dosyada İsim Değişikliği.....................................................................................7 Dosya Content’ini Kontrol Etme ........................................................................................8 Client-Side Validation......................................................................................................11 IIS Request Filtering ........................................................................................................12
  • 3. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Güvenli Yazılım Geliştirmede File Upload’ın Doğru Kullanım Yolları İşleyiş olarak son kullanıcıya oldukça yararlı ve günümüz dünyasında yaygınlığı olan uygulamalarda bile güvenlik açıklıkları çıkmaktadır. Bu durum yazılımcıların fonksiyonaliteyi arttırayım derken güvenliğe yeterince önem verememesinden kaynaklanabilmektedir. Bu açıklıklardan en fazla dikkat edilmesi gereken konulardan birisi olarak güvensiz upload’ı inceleyeceğiz. File upload alanları istemci tarafından sunucu tarafına dosya gönderme olanağı sağlayan yapılardır. Dikkat edileceği üzere burası bir saldırgan için sunucuya açılan bir kapıdır. Bu nedenle yazılımcıların buradaki senaryoları iyi kodlaması gerekmektedir ki yüklenilen dosya üzerindeki yetersiz kontroller nedeniyle uygulamanın koştuğu sistem için güvenlik problemlerine yol açılmasın. Bu nedenlerdendir ki bir yazılımcı asla dışarıdan gelen kaynağa güvenmemelidir. Heleki bu kaynağın sunucu tarafında yorumlanıp çalıştırılabilecek bir dosya olabileceği düşünülürse. Bu yazıda alınabilecek önlemler, best practise’ler ve tek başına yeterli olmayan kontroller ele alınacaktır.
  • 4. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Authentication ve Authorization Bir dosya yükleme alanı varsa öncelikle burayı bu uygulamaya giriş yapan ve dosya yüklemeye izni olan kullanıcılar kullanmalı. Aksi taktirde bir saldırganın uygulamaya girmeden (Authentication) ve de işlemi yapması için bir yetkiye ihtiyaç duymadan (Authorization) kolayca bu dosya yükleme alanında denemeler yapmasına ve hatta belki de başarılı olmasına neden olunabilir. Önlem olarak projenin kendi yapısına uygun olacak şekilde bir kurgu oluşturulmalıdır. Dosya yükleme işlemini gerçekleştiren kullanıcı login durumunda mı, dosya yüklemeye veya yüklemek istediği dosyanın türünde bir dosyayı yüklemeye yetkili mi gibi kontroller yapan metodlar yazıp en azından herkesin bu önemli alana erişme imkanı ortadan kaldırılmalıdır.
  • 5. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Yüklenen Dosyanın Maximum Boyutu Yüklenen dosyalarda bir boyut sınırı olmazsa saldırgan sisteme oldukça büyük bir dosya yükleyip yer kaynaklarını tüketebilir ve sunucuyu hizmetdışı bırakabilir. Bunu engellemenin yolu yüklenmeye çalışılan dosyanın boyutunu kontrol etmektir. .Net’te yüklenen dosyanın boyutunu byte olarak döndüren bir metod vardır: fileUploadControl.PostedFile.ContentLength Bu kod ile yüklenen dosyanın boyut kontrolünün yapılması gerekmektedir. if(fileUploadControl.PostedFile.ContentLength > 0 && fileUploadControl.PostedFile.ContentLength < 1048576) {;} Burada ancak 0 Byte’tan büyük, 1 MegaByte’tan küçük boyuttaki bir dosya ise if koşulunun içini gerçekleştir denmiş oluyor. İstenilen boyutun dışında bir dosya yüklenmeye çalışırsa da işlemi gerçekleştirmeyecektir.
  • 6. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Uzantıların Kontrolü (BlackListing & WhiteListing) Uygulamaya hangi uzantıya/uzantılara sahip olan dosyaların yüklenebilir olduğuna göre uzantı kontrolü yapılabilir. Bunun için blacklist veya whitelist gibi yöntemler uygulanabilir. Bir whitelist oluşturarak yüklenmesine izin verilen dosya uzantıları belirlenebilir ve bunların dışındaki dosyaların yüklenmesine izin verilmeyebilir. Ya da bir blacklist oluşturarak asla yüklenmemesi gereken dosya uzantıları kontrol edilebilir ve yüklenmesi engellenebilir. Ancak zararlı bir içerik barındıran bir dosya için bu yöntem yeterli olmayacaktır çünkü saldırgan shell.png.aspx şeklinde bir dosya adı kullanarak bu yöntemi bypass edebilir. Örneğin png dosyası yüklemeye izin veren bir file upload alanında saldırgan içinde zararlı bir kod bulunan shell.png.aspx diye bir dosyayı sisteme yükleyebilir ve bunu çalıştırabilir. Önlem olarak dosya adındaki ilk noktadan sonraki değil de en son noktadan sonraki uzantı kontrol edilmelidir. Bu dosyanın gerçek uzantısı aslında .aspx’tir. ASP.NET’te dosyanın uzantısını bulan metod: string extension = System.IO.Path.GetExtension(FileName); Bu kod dosyanın uzantısı olarak .aspx’i döndürecektir. Fakat kullanılan programlama diline göre bu işi yapan bir metod olmayabilir. O zaman da şu mantık ile dosya uzantısı bulunabilir: string extension = fileUploadControl.FileName.Substring(fileUploadControl.FileName.LastIndexOf('.') + 1);
  • 7. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Yüklenen Dosyada İsim Değişikliği Yüklenecek dosyaya yeni bir isim ve kabul edilen uzantı verilebilir. Bu yöntem XSS ve path traversal gibi dosya ismi yolu ile yapılabilecek saldırılara karşı alınabilecek bir önlem olarak kabul edilir.
  • 8. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Dosya Content’ini Kontrol Etme Her dosya için kendine özgü bir header bilgisi olur. Her dosya uzantısı için de ilk 4 byte sabittir. Bu ilk 4 byte’ı kontrol ederek de dosyaya güvenilebilir. Aşağıdaki örnek kodlar bu kontrolü yapmaktadır: if (fileUploadControl.HasFile && fileUploadControl.PostedFile.ContentLength > 0 && fileUploadControl.PostedFile.ContentLength < 1048576) { if (IsImage()) { try { string fileName = Path.GetFileName(fileUploadControl.PostedFile.FileName); string directoryPath = Server.MapPath("~/UploadedFiles"); string uploadPath = Path.Combine(directoryPath, fileName); if (!Directory.Exists(directoryPath)) { Directory.CreateDirectory(directoryPath); } fileUploadControl.SaveAs(uploadPath); lblStatus.Text = "Success!"; } catch (Exception ex) { lblStatus.Text = "Failure! " + ex.Message; } } else { lblStatus.Text += "<br />This is not an image file!"; } } public bool IsImage() { string[] validFileTypes = { "JPG", "JPEG", "PNG", "TIF", "TIFF", "GIF", "BMP", "ICO" }; string ext = fileUploadControl.FileName.Substring(fileUploadControl.FileName.LastIndexOf('.') + 1).ToUpper(); //or string ext = Path.GetExtension(this.fileUploadControl.PostedFile.FileName).TrimStart('.').ToUpper(); bool isValidFileExtention = false; for (int i = 0; i < validFileTypes.Length; i++) { if (ext == validFileTypes[i]) { isValidFileExtention = true; break;
  • 9. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity } } if (!isValidFileExtention) { lblStatus.ForeColor = System.Drawing.Color.Red; lblStatus.Text = string.Format("Invalid file. Please upload a file with extension {0}", string.Join(",", validFileTypes)); } if (isValidFileExtention) isValidFileExtention = CheckTrueImageType(); return isValidFileExtention; } public bool CheckTrueImageType() { // DICTIONARY OF ALL IMAGE FILE HEADER Dictionary<string, byte[][]> imageHeader = new Dictionary<string, byte[][]>(); imageHeader.Add("JPG", new byte[][] { new byte[] { 0xFF, 0xD8, 0xFF, 0xE0 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xE1 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xE2 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xE3 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xE8 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xDB } }); imageHeader.Add("JPEG", new byte[][] { new byte[] { 0xFF, 0xD8, 0xFF, 0xE0 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xE1 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xE2 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xE3 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xE8 }, new byte[] { 0xFF, 0xD8, 0xFF, 0xDB } }); imageHeader.Add("PNG", new byte[][] { new byte[] { 0x89, 0x50, 0x4E, 0x47 } }); imageHeader.Add("TIF", new byte[][] { new byte[] { 0x49, 0x49, 0x2A, 0x00 }, new byte[] { 0x49, 0x20, 0x49 }, new byte[] { 0x4D, 0x4D, 0x00, 0x2A }, new byte[] { 0x4D, 0x4D, 0x00, 0x2B } }); imageHeader.Add("TIFF", new byte[][] { new byte[] { 0x49, 0x49, 0x2A, 0x00 }, new byte[] { 0x49, 0x20, 0x49 }, new byte[] { 0x4D, 0x4D, 0x00, 0x2A }, new byte[] { 0x4D, 0x4D, 0x00, 0x2B } }); imageHeader.Add("GIF", new byte[][] { new byte[] { 0x47, 0x49, 0x46, 0x38, 0x37, 0x61 }, new byte[] { 0x47, 0x49, 0x46, 0x38, 0x39, 0x61 } }); imageHeader.Add("BMP", new byte[][] { new byte[] { 0x42, 0x4D } }); imageHeader.Add("ICO", new byte[][] { new byte[] { 0x00, 0x00, 0x01, 0x00 } }); bool isTrueImage = false; if (fileUploadControl.HasFile) { // GET FILE EXTENSION string fileExt = Path.GetExtension(this.fileUploadControl.PostedFile.FileName).TrimStart('.').ToUpper(); // CUSTOM VALIDATION GOES HERE BASED ON FILE EXTENSION IF ANY byte[][] tmp = imageHeader[fileExt]; foreach (byte[] validHeader in tmp) {
  • 10. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity byte[] header = new byte[validHeader.Length]; // GET HEADER INFORMATION OF UPLOADED FILE //fileUploadControl.FileContent.Seek(0, SeekOrigin.Begin); fileUploadControl.FileContent.Read(header, 0, header.Length); if (CompareArray(validHeader, header)) { // VALID HEADER INFORMATION isTrueImage = true; break; } } } if (!isTrueImage) { lblStatus.ForeColor = System.Drawing.Color.Red; lblStatus.Text += "<br />Invalid file header! "; } return isTrueImage; } private bool CompareArray(byte[] a1, byte[] a2) { if (a1.Length != a2.Length) return false; for (int i = 0; i < a1.Length; i++) { if (a1[i] != a2[i]) return false; } return true; }
  • 11. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Client-Side Validation ASP.NET yazılımcılara daha dosyayı yükleme aşamasında kullanabilecekleri bir takım doğrulama yöntemleri sunmaktadır. Validation’lar… Validation’lar, yazılımcılara dosya yüklenip yüklenmediğini veya yüklenen dosyanın belirtilen regex’e (whitelist) uygun bir uzantıda olup olmadığını kontrol etmeye ve eğer istenmeyen bir durum varsa bu konuda uygun dönüşler yapması ve işlemi gerçekleştirmemesi konusunda yardımcı olur. ASP.NET’te validation’lar genel olarak sadece dosya yükleme için değil, diğer birçok doğrulama türü için kullanılabilmektedir. Dosya yükleme esnasında client-side validation kullanımı daha çok .Net’te yaygındır ve sebebi de belirttiğimiz gibi .Net’in yazılımcıların işini kolaylaştıran bu imkanı basitçe sunmuş olmasından kaynaklanmaktadır. ASP.NET’te örnek bir validation kullanımı: <asp:FileUpload ID="fileUploadControl" runat="server" /> <asp:RequiredFieldValidator ID="rfvFileUpload" runat="server" ControlToValidate="fileUploadControl" ErrorMessage="File required." Display="Dynamic" ForeColor="Red"> </asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="revFileUpload" ValidationExpression="([a-zA-Z0-9s_- :])+(.jpg|.jpeg|.png|)$" ControlToValidate="fileUploadControl" runat="server" ForeColor="Red" ErrorMessage="Please select a valid Word or PDF file." Display="Dynamic" /> <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Save" /> ASP.NET, Jquery, HTML5, javascript veya diğer programlama dilleri ile yazılan client- side yöntemler saldırgan tarafından Burp veya Fiddler gibi araçlar ile kolayca bypass edilebileceği için yazılımcının kullanacağı bu yöntem güvensiz upload’lara karşı kesin alınmış bir önlem olarak kabul edilemeyecektir.
  • 12. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity IIS Request Filtering IIS (Internet Information Services) 7.0 ile gelen bir istek filtreleme mekanizması olan Request Filtering ile istenilen dizinde belirlenen türlerdeki dosyalar için gelen isteklere izin vermeyi ya da isteği reddetmeyi sağlamaktadır. Bu özelliği kullanmanın yolu ise şu şekilde: IIS’te istek filtreleme yapılacak alana tıklanır: Şekil 1 - IIS Görünüm
  • 13. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Request Filtering yazan yere tıklandığında da aşağıdaki kısım açılacaktır: Şekil 2 - File Name Extensions Alanından Çalıştırılmasının Engellendiği Dosya Uzantılarının Listesi
  • 14. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Boş alana sağ tıklanınca açılacak küçük pencereden Deny File Name Extension seçeneği seçilir: Şekil 3 - File Name Extensions Alanından Çalıştırılması Engellenecek Dosya Uzantısının Eklenmesi
  • 15. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity Açılacak küçük pencereye istenilen uzantı yazılıp OK’a basılınca listeye eklendiği görülecektir: Şekil 4 - File Name Extensions Alanından Çalıştırılması Engellenmek İstenen Dosya Uzantılarının Belirlenmesi Bu yöntemi kullanarak da projedeki belli klasörlerde veya tamamında belirlenen türdeki dosyalar için gelen istekler kabul edilmeyebilir ve atılması olası herhangi bir shell ya da zararlı içerikli bir dosyanın çağrılıp çalıştırılması engellenecektir. Buraya kadar anlatılanlardan da görüldüğü gibi bir saldırgan dosya yükleme alanlarında birçok bypass yöntemi kullanabilmektedir. Yazılımcıdan beklenen bu anlatılan hususlara dikkat ederek önlemler almak ve bu önlemlerin çalışır olduğundan emin olmaktır. Bu yazı .Net file upload control’ü üzerinden yazılmıştır. Ancak alınacak önlemler diğer diller ile benzer başlıkları taşımaktadır. Faydalı olması dileğiyle.
  • 16. [GÜVENLİ YAZILIM GELİŞTİRMEDE DOSYA YÜKLEME] BGA Bilgi Güvenliği A.Ş. | www.bgasecurity.com | @BGASecurity BGA Bilgi Güvenliği A.Ş. Hakkında BGA Bilgi Güvenliği A.Ş. 2008 yılından bu yana siber güvenlik alanında faaliyet göstermektedir. Ülkemizdeki bilgi güvenliği sektörüne profesyonel anlamda destek olmak amacı ile kurulan BGA Bilgi Güvenliği, stratejik siber güvenlik danışmanlığı ve güvenlik eğitimleri konularında kurumlara hizmet vermektedir. Uluslararası geçerliliğe sahip sertifikalı 50 kişilik teknik ekibi ile, faaliyetlerini Ankara ve İstanbul ve USA’da sürdüren BGA Bilgi Güvenliği’nin ilgi alanlarını “Sızma Testleri, Güvenlik Denetimi, SOME, SOC Danışmanlığı, Açık Kaynak Siber Güvenlik Çözümleri, Büyük Veri Güvenlik Analizi ve Yeni Nesil Güvenlik Çözümleri” oluşturmaktadır. Gerçekleştirdiği başarılı danışmanlık projeleri ve eğitimlerle sektörde saygın bir yer edinen BGA Bilgi Güvenliği, kurulduğu günden bugüne alanında lider finans, enerji, telekom ve kamu kuruluşlarına 1.000'den fazla eğitim ve danışmanlık projeleri gerçekleştirmiştir. BGA Bilgi Güvenliği, kurulduğu 2008 yılından beri ülkemizde bilgi güvenliği konusundaki bilgi ve paylaşımların artması amacı ile güvenlik e-posta listeleri oluşturulması, seminerler, güvenlik etkinlikleri düzenlenmesi, üniversite öğrencilerine kariyer ve bilgi sağlamak için siber güvenlik kampları düzenlenmesi ve sosyal sorumluluk projeleri gibi birçok konuda gönüllü faaliyetlerde bulunmuştur. BGA Bilgi Güvenliği AKADEMİSİ Hakkında BGA Bilgi Güvenliği A.Ş.’nin eğitim ve sosyal sorumluluk markası olarak çalışan Bilgi Güvenliği AKADEMİSİ, siber güvenlik konusunda ticari, gönüllü eğitimlerin düzenlenmesi ve siber güvenlik farkındalığını arttırıcı gönüllü faaliyetleri yürütülmesinden sorumludur. Bilgi Güvenliği AKADEMİSİ markasıyla bugüne kadar “Siber Güvenlik Kampları”, “Siber Güvenlik Staj Okulu”, “Siber Güvenlik Ar- Ge Destek Bursu” , ”Ethical Hacking yarışmaları” ve “Siber Güvenlik Kütüphanesi” gibi birçok gönüllü faaliyetin destekleyici olmuştur.