Aracılığıyla paylaş


Rapor Başlıklarına ve Gürültülü Verilere Göre Güvenlik Hata Raporlarını Tanımlama

Mayana Pereira Scott Christiansen
CELA Data Science Müşteri Güvenliği ve Güveni
Microsoft Microsoft

Özet — Güvenlik hata raporlarını (SBR) tanımlama, yazılım geliştirme yaşam döngüsünün önemli adımlarından biridir. Denetimli makine öğrenmesi tabanlı yaklaşımlarda genellikle hata raporlarının tamamının eğitim için kullanılabilir olduğu ve kirli etiketlerin bulunmadığı varsayılır. Bildiğimiz kadarıyla, yalnızca başlığın kullanılabildiği ve kirli etiketlerin söz konusu olduğu durumlarda bile SBR'lerde doğru etiket tahmininin mümkün olduğunu göstermek için yapılan ilk çalışma budur.

Dizin Terimleri — Makine Öğrenmesi, Yanlış Etiketleme, Kirlilik, Güvenlik Hatası Raporu, Hata Depoları

I. GİRİŞ

Bildirilen hatalar arasında güvenlikle ilgili sorunları belirlemek yazılım geliştirme ekipleri için bir zorunluluktur çünkü uyumluluk gereksinimlerinin karşılanması, yazılım ve müşteri verileri bütünlüğünün güvence altına alınması için bu tür sorunların daha hızlı çözülmesi gerekir.

Makine öğrenmesi ve yapay zeka araçları yazılım geliştirmeyi daha hızlı, çevik ve doğru yapmayı vaat eder. Birkaç araştırmacı güvenlik hatalarını belirleme sorununa makine öğrenmesini uyguladı [2], [7], [8], [18]. Daha önce yayımlanan çalışmalarda hata raporunun tamamının makine öğrenmesi modelinin eğitiminde ve puanlamasında kullanılabilir olduğu varsayılmıştı. Böyle olması şart değil. Hata raporunun tamamının kullanılamadığı durumlar vardır. Örneğin hata raporu parolalar, kişisel bilgiler (PII) veya başka türde hassas bilgiler içeriyor olabilir. Bu Microsoft'ta şu anda karşılaştığımız bir durumdur. Dolayısıyla daha az bilgiyle, örneğin hata raporunun yalnızca başlığı kullanılabildiğinde güvenlik hatası belirleme işleminin ne kadar başarılı olabileceğini belirlemek önemlidir.

Bunun yanı sıra hata depoları sıklıkla yanlış etiketlenmiş girdiler içerir [7]: güvenli hatası raporu olmayanlar güvenlikle ilgili olarak (veya tersi) etiketlenir. Yanlış etiketlemenin çeşitli nedenleri vardır ve bunlar geliştirme ekibinin güvenlik alanında uzman olmamasından, bazı sorunların belirsiz olmasına kadar değişir. Örneğin güvenlikle ilgili olmayan hataların dolaylı bir yoldan güvenliği etkileyecek şekilde çalışması mümkündür. SBR'lerin yanlış etiketlenmesi güvenlik uzmanlarının pahalı ve zaman alıcı bir çalışmayla hata veritabanını el ile gözden geçirmek zorunda kalmasına neden olacağından, bu önemli bir sorundur. Kirli etiketlerin farklı sınıflandırıcıları nasıl etkilediğini ve farklı türlerdeki kirlilikle bozulmuş veri kümelerinin bulunduğu durumlarda farklı makine öğrenmesi tekniklerinin ne kadar güçlü (veya kırılgan) olduğunu anlamak, yazılım mühendisliğinin çalışmasına otomatik sınıflandırma getirmek için çözülmesi gereken bir sorundur.

Ön çalışmalarda hata depolarının doğal olarak kirli olduğu ve bu kirliliğin makine öğrenmesi sınıflandırıcılarının performansını olumsuz etkileyebileceği tartışılıyordu [7]. Öte yandan güvenlik hata raporlarını (SRB) belirleme sorununu çözmek için, farklı kirlilik düzeyleri ve türlerinin farklı denetimli makine öğrenmesi algoritmalarının performansını nasıl etkilediğine ilişkin sistematik ve sayısal bir çalışma yapılmadı.

Bu çalışmada eğitim ve puanlama için yalnızca başlık kullanılabiliyor olsa bile, hata raporları sınıflandırmasının yapılabileceğini gösteriyoruz. Bildiğimiz kadarıyla bu konuyu ele alan ilk çalışma gerçekten bu. Ayrıca hata raporu sınıflandırmasında kirliliğin etkisine ilişkin ilk sistematik çalışmayı da sağlıyoruz. Sınıftan bağımsız kirliliğe göre üç makine öğrenmesi tekniğinin (lojistik regresyon, basit Bayes ve AdaBoost) gücüne ilişkin karşılaştırmalı bir çalışma yapıyoruz.

Birkaç basit sınıflandırıcıda kirliliğin genel etkisini yakalayan bazı analiz modelleri olsa da [5], [6], bu sonuçlar kirliliğin hassaslık üzerindeki etkisi konusuna kesin sınırlar getirmiyor ve yalnızca belirli bir makine öğrenmesi tekniği için geçerli. Kirliliğin makine öğrenmesi modelleri üzerindeki etkisini gösteren doğru bir analiz gerçekleştirmek için genellikle hesaplama denemeleri çalıştırılıyor. Yazılım ölçü verilerinden [4] uydu görüntüsü sınıflandırmasına [13] ve tıbbi verilere [12] kadar değişen çeşitli senaryolar için bu tür analizler yapılmıştı. Yine de bu sonuçlar bizim özel sorunumuza uygulanamaz çünkü bunlar veri kümelerinin ve temel sınıflandırma sorununun doğasına fazlasıyla bağımlı. Bildiğimiz kadarıyla özel olarak kirli veri kümelerinin güvenlik hata raporu sınıflandırması üzerindeki etkisi sorununun sonuçları hiç yayımlanmadı.

ARAŞTIRMA KATKILARIMIZ:

  • Güvenlik hata raporlarının (SBR) belirlenmesi için sınflandırıcıları yalnızca raporların başlıklarına dayanarak eğitiyoruz. Bildiğimiz kadarıyla bu konuyu ele alan ilk çalışma bu. Önceki çalışmalar hata raporunun tamamını kullanıyor veya hata raporunu tamamlayıcı bazı özelliklerle geliştiriyordu. Gizlilik kaygılarından dolayı hata raporlarının tamamının kullanılamadığı durumlarda hataları yalnızca başlığa göre sınıflandırmak özellikle yararlı olur. Örneğin parolalar ve başka hassas veriler içeren şu meşhur hata raporları vardır.

  • Ayrıca SBR'lerin otomatik sınıflandırmasında kullanılan farklı makine öğrenmesi modelleri ve tekniklerinin etiket kirliliğine dayanıklılığı konusundaki ilk sistematik çalışmayı sağlıyoruz. Sınıfa bağımlı ve sınıftan bağımsız kirliliğe göre üç ayrı makine öğrenmesi tekniğinin (lojistik regresyon, basit Bayes ve AdaBoost) gücüne ilişkin karşılaştırmalı bir çalışma yapıyoruz.

Kağıdın kalan kısmı şu şekilde sunulmuştur: II. bölümde literatürde önceki eserlerin bazılarını sunuyoruz. III. bölümde veri kümesini ve verilerin önceden nasıl işlendiğini açıklıyoruz. Metodoloji IV. bölümde açıklanıyor ve denemelerimizden elde ettiğimiz sonuçlar V. bölümde analiz ediliyor. Son olarak, ulaştığımız sonuçlar ve gelecekte yapılacak çalışmalar V. bölümde tanıtılıyor.

II. ÖNCEKİ ÇALIŞMALAR

HATA DEPOLARINA YÖNELİK MAKİNE ÖĞRENMESİ UYGULAMALARI.

Güvenlik hatası algılama [2], [7], [8], [18], hata yineleme tanımlaması [3], hata önceliklendirme [1], [11] gibi daha birçok zahmetli görevi otomatikleştirme denemesi olarak metin madenciliği, doğal dil işleme ve makine öğrenmesi uygulamayla ilgili geniş bir literatür vardır. İdeal koşullarda makine öğrenmesi (ML) ile doğal dil işlemenin birlikteliği hata veritabanlarını seçmek için el ile yapılması gereken çalışmayı azaltma ve bu görevleri yerine getirmek için gereken süreyi kısaltma potansiyeline sahiptir; ayrıca sonuçların güvenilirliğini de artırabilir.

[7] çalışmasında yazarlar hatanın açıklaması temelinde SBR'lerin sınıflandırmasını otomatikleştirmek için bir doğal dil modeli öneriyor. Yazarlar eğitim verileri kümesindeki tüm hata açıklamasından bir sözlük ayıklıyor ve bunu el ile üç sözcük listesine ayırıyor: ilgili sözcükler, durdurma sözcükleri (sınıflandırmayla ilgisiz olan sık kullanılan sözcükler) ve eş anlamlılar. Değerlendirmesi tümüyle güvenlik mühendisleri tarafından yapılan verilerle eğitilmiş bir güvenlik hatası sınıflandırıcısı ile genel olarak hata bildirenlerin etiketlediği verilerle eğitilmiş bir sınıflandırıcıyı karşılaştırıyorlar. Modelleri güvenlik mühendisleri tarafından gözden geçirilen verilerle eğitildiğinde açıkça daha etkili olsa da, önerilen model el ile türetilen, dolayısıyla da insan seçimine bağımlı olan bir sözlüğe dayanıyor. Üstelik farklı kirlilik düzeylerinin modellerini nasıl etkilediğine, farklı sınıflandırıcıların kirliliğe nasıl yanıt verdiğine ve iki sınıftan birinde kirliliğin performansı farklı etkileyip etkilemediğine ilişkin bir analiz de yok.

Zou et. al [18] hata raporunun metinsel olmayan alanlarını (meta özellikler, örneğin zaman, önem derecesi ve öncelik) ve hata raporunun metin içeriğini (metinsel özellikler, özet alanlarındaki metin) içeren bir hata raporunda yer alan birden çok bilgi türünü kullanın. Bu özelliklere dayanarak doğal dil işleme ve makine öğrenmesi teknikleri yoluyla SBR'leri otomatik olarak belirlemek için bir model oluşturuyorlar. [8] çalışmasında yazarlar benzer bir analiz yapıyor ama buna ek olarak denetimli ve denetimsiz makine öğrenmesi tekniklerinin performansını karşılaştırıyor ve modellerini eğitmek için ne kadar veri gerektiğini inceliyor.

[2] çalışmasında yazarlar kendi açıklamaları temelinde hataları SBR ve NSBR (Güvenlik Dışındaki Hata Raporu) olarak sınıflandırmak için farklı makine öğrenmesi tekniklerini de araştırıyor. TFIDF temelinde veri işleme ve model eğitimi için bir işlem hattı öneriyorlar. Önerilen işlem hattını kelime torbası ve basit Bayes'i temel alan bir modelle karşılaştırıyorlar. Wijayasekara ve diğer yazarlar [16] Gizli Etki Hatalarını (HIB) belirlemek üzere sık kullanılan sözcükler temelinde her hata raporunun özellik vektörünü oluşturmak için de metin madenciliği tekniklerini kullandı. Yang ve diğer yazarlar [17] Terim Sıklığı (TF) ve basit Bayes'in yardımıyla yüksek etkili hata raporlarını (örneğin SBR) belirlediklerini iddia ettiler. [9] yazarları hatanın önem derecesini tahmin etmek için bir model önerdiler.

ETİKET KİRLİLİĞİ

Etiket kirliliği olan veri kümeleriyle ilgilenme sorunu üzerinde kapsamlı çalışmalar yapıldı. Frenay ve Verleysen [6] çalışmalarında farklı kirli etiket türleri arasında ayrım yapmak için bir etiket kirliliği taksonomisi önerdi. Yazarlar üç farklı kirlilik türü öneriyordu: gerçek sınıftan ve örnek özelliklerinin değerlerinden bağımsız gerçekleşen etiket kirliliği, yalnızca gerçek etikete bağlı olan etiket kirliliği ve yanlış etiketleme olasılığının özellik değerlerine de bağlı olduğu etiket kirliliği. Biz çalışmamızda ilk iki kirlilik türünü inceliyoruz. Teorik açıdan bakıldığında bazı özel durumlar [14] dışında etiket kirliliği genellikle modelin performansını [10] düşürür. Güçlü yöntemler genel olarak etiket kirliliğini işlemek için fazla uygunluktan kaçınmaya dayanır [15]. Daha önce uydu görüntüsü sınıflandırma [13], yazılım kalitesi sınıflandırma [4] ve tıbbi etki alanı sınıflandırma [12] gibi birçok alanda kirliliğin sınıflandırma üzerindeki etkileri incelenmişti. Bildiğimiz kadarıyla SBR'leri sınıflandırma sorununda kirli etiketlerin etkilerini tam olarak ölçen bir çalışma yayımlanmadı. Bu senaryoda kirlik etiketler, kirlilik türleri ve performans düşüşü arasındaki ilişki tam olarak belirlenmedi. Üstelik kirlilik söz konusu olduğunda farklı sınıflandırıcıların nasıl davrandığını anlamak yararlı olur. Daha genel anlamda, bilgimiz dahilinde yazılım hata raporları bağlamında kirli veri kümelerinin farklı makine öğrenmesi algoritmalarının performansı üzerindeki etkisini sistematik olarak araştıran bir çalışma yok.

III. VERİ KÜMESİ TANIMI

Veri kümemiz 1.073.149 hata başlığından oluşuyor; bunlardan 552.073'ü SBR'lere ve 521.076'sı NSBR'lere karşılık geliyor. Veriler 2015, 2016, 2017 ve 2018 yıllarında Microsoft'taki çeşitli ekiplerden toplandı. Etiketlerin tümü imza tabanlı hata doğrulama sistemlerinden veya insan etiketlerinden elde edildi. Veri kümemizdeki hata başlıkları soruna genel bir bakış sağlayan yaklaşık 10 sözcükten oluşturulmuş çok kısa metinler.

A. Veri Ön İşlemesi Her hata başlığını boşluklarına göre ayrıştırdık ve sonuçta bir belirteç listesi elde edildi. Her belirteç listesini şöyle işledik:

  • Dosya yolu olan tüm belirteçleri kaldır

  • Şu simgelerin bulunduğu belirteçleri böl: { , (, ), -, }, {, [, ], }

  • Durdurma sözcüklerini, yalnızca sayısal karakterlerden oluşan belirteçleri ve yapının tamamında 5 kereden az tekrarlanan belirteçleri kaldır.

IV. METODOLOJİ

Makine öğrenmesi modellerimizi eğitme işlemi iki ana adımdan oluşuyor: verileri özellik vektörlerine kodlama ve denetimli makine öğrenmesi sınıflandırıcılarını eğitme.

A. Özellik Vektörleri ve Makine Öğrenmesi Teknikleri

İlk bölümde [2] çalışmasında kullanıldığı gibi terim sıklığı ters belge sıklığı algoritmasını (TF-IDF) kullanarak veriler özellik vektörlerine kodlanıyor. TF-IDF, terim sıklığının (TF) ve onun ters belge sıklığının (IDF) ağırlığını ölçen bilgilendirici bir alma tekniğidir. Her sözcük veya terime karşılık gelen bir TF ve IDF puanı vardır. TF-IDF algoritması bu sözcüğe belgede görünme sayısına göre önem derecesini atar ve daha da önemlisi anahtar sözcüğün veri kümesindeki tüm başlık koleksiyonuyla ne kadar ilgili olduğunu denetler. Üç sınıflandırma tekniğini eğittik ve karşılaştırdık: basit Bayes (NB), artırılmış karar ağaçları (AdaBoost) ve lojistik regresyon (LR). Bu teknikleri seçtik çünkü literatürdeki raporun tamamına dayanarak güvenlik hata raporlarını belirleme olan ilgili görev için bunlar iyi performans gösteriyordu. Bu sonuçlar, bu üç sınıflandırıcının destek vektörü makineleri ve rastgele ormanlara göre çok daha iyi performans gösterdiği ön analizde onaylandı. Denemelerimizde kodlama ve model eğitimi için scikit-learn kitaplığını kullandık.

B. Kirlilik Türleri

Bu çalışmada araştırılan kirlilik, eğitim verilerinde sınıf etiketinin kirliliğine işaret eder. Bu tür bir kirlilik var olduğunda, sonuç olarak öğrenme süreci ve elde edilen model yanlış etiketlenmiş örneklerden zarar görür. Sınıf bilgilerine uygulanmış farklı kirlilik düzeylerinin etkisini analiz ederiz. Etiket kirliliği türleri daha önce literatürde çeşitli terminolojiler kullanılarak açıklanmıştı. Biz çalışmamızda, sınıflandırıcılarımızda iki farklı etiket kirliliğinin etkilerini analiz ediyoruz: örnekleri rastgele seçip etiketlerini değiştirerek oluşturulan sınıftan bağımsız etiket kirliliği ve sınıfların kirlilik içerme olasılığının farklı olduğu sınıfa bağlı kirlilik.

a) Sınıftan bağımsız kirlilik: Sınıftan bağımsız kirlilik, örneklerin gerçek sınıfından bağımsız olarak oluşan gürültüyü ifade eder. Bu tür kirlilikte pbr yanlış etiketleme olasılığı veri kümesindeki tüm örnekler için aynıdır. Veri kümelerimize sınıftan bağımsız kirlilik eklemek için veri kümemizdeki her etiketi pbr olasılığıyla rastgele çevirdik.

b) Sınıfa bağlı kirlilik: Sınıfa bağımlı kirlilik, örneklerin gerçek sınıfına bağlı olan gürültüyü ifade eder. Bu tür kirlilikte SBR sınıfında yanlış etiketleme olasılığı psbr ve NSBR sınıfında yanlış etiketleme olasılığı nsbr olur. Veri kümemize sınıfa bağlı kirlilik eklemek için veri kümemizde doğru etiketi SBR olan her girdiyi psbr olasılığıyla çevirdik. Benzer biçimde NSBR sınıf etiketi örneklerini pnsbr olasılığıyla çevirdik.

c) Tek sınıflı kirlilik: Tek sınıflı kirlilik, p nsbr = 0 ve psbr> 0'ın bulunduğu sınıfa bağlı gürültünün özel bir örneğidir. Sınıftan bağımsız kirlilikte psbr = pnsbr = pbr olduğunu unutmayın.

C. Kirlilik Oluşturma

Denemelerimiz, farklı kirlilik türleri ve düzeylerinin SBR sınıflandırıcılarının eğitimi üzerindeki etkisini araştırıyor. Denemelerimizde veri kümesinin %25'ini test verileri, %10'unu doğrulama ve %65'ini de eğitim verileri olarak ayarladık.

Eğitim ve doğrulama veri kümelerimize farklı pbr, psbr ve pnsbr düzeylerinde kirlilik ekledik. Test veri kümesinde hiçbir değişiklik yapmadık. Kullanılan farklı kirlilik düzeyleri P = {0,05 × i|0 < i < 10} şeklindedir.

Sınıftan bağımsız kirlilik denemelerinde pbr ∈ P için şunları yaptık:

  • Eğitim ve doğrulama veri kümeleri için kirlilik oluşturduk;

  • Eğitim veri kümesini (kirlilik içeren) kullanarak lojistik regresyon, basit Bayes ve AdaBoost modellerini eğittik; * Doğrulama veri kümesini (kirlilik içeren) kullanarak modellerde ayarlama yaptık;

  • Test veri kümesini (kirlilik içermeyen) kullanarak modelleri test ettik.

Sınıfa bağlı kirlilik denemelerinde psbr ∈ P ve pnsbr ∈ P için şunları yaptık (tüm psbr ve pnsbr bileşimleri için):

  • Eğitim ve doğrulama veri kümeleri için kirlilik oluşturduk;

  • Eğitim veri kümesini (kirlilik içeren) kullanarak lojistik regresyon, basit Bayes ve AdaBoost modellerini eğittik;

  • Doğrulama veri kümesini (kirlilik içeren) kullanarak modellerde ayarlama yaptık;

  • Test veri kümesini (kirlilik içermeyen) kullanarak modelleri test ettik.

V. DENEYSEL SONUÇLAR

Bu bölümde, IV. bölümde açıklanan metodolojiye göre yürütülen denemelerin sonuçları analiz ediliyor.

a) Eğitim veri kümesinde gürültü olmadan model performansı: Bu makalenin katkılarından biri, yalnızca hatanın başlığını karar vermek için veri olarak kullanarak güvenlik hatalarını tanımlamak için bir makine öğrenmesi modeli teklifidir. Bu sayede geliştirme ekipleri hassas veriler içerdiği için hata raporlarının tamamını paylaşmak istemediklerinde bile makine öğrenmesi modelleri eğitilebilir. Yalnızca hata başlıkları kullanılarak eğitilen üç makine öğrenmesi modelinin performansını karşılaştırdık.

Lojistik regresyon modeli en iyi performans gösteren sınıflandırıcı oldu. Bu sınıflandırıcı en yüksek AUC değerine (0,9826), 0,0735 FPR değeri için 0,9353 duyarlılığa sahipti. Basit Bayes sınıflandırıcısı 0,9779 AUC ve 0.0769 FPR için 0,9189 duyarlılıkla lojistik regresyondan biraz daha düşük performans gösterdi. AdaBoost sınıflandırıcısı ise yukarıda adı geçen iki sınıflandırıcıya göre daha düşük bir performansa sahipti. 0,9143 AUC değerine ve 0,0774 FPR için 0,7018 duyarlılığa ulaştı. ROC eğrisinin (AUC) altındaki alan, TPR ile FPR ilişkisini tek bir değerde özetlediğinden, çeşitli modellerin performansını karşılaştırmak için iyi bir ölçümdür. Sonraki analizde, karşılaştırmalı analizimizi AUC değerleriyle sınırlandıracağız.

Tablo I

A. Sınıf Kirliliği: tek sınıf

Tüm hataların varsayılan olarak NSBR sınıfına atandığı ve ancak hata deposunu inceleyen bir güvenlik uzmanının mevcut olması durumunda hatanın SBR sınıfına atanacağı bir senaryo düşünülebilir. Bu senaryo, p nsbr = 0 ve <0 psbr< 0.5 olduğunu varsaydığımız tek sınıflı deneysel ayarda temsil edilir.

Tablo II

Tablo II'de üç sınıflandırıcı için de AUC'de çok küçük bir etki gözlemledik. psbr = 0 ile eğitilen bir modelin AUC-ROC değeri psbr = 0,25 olan modelin AUC-ROC ile karşılaştırıldığında lojistik regresyonda 0,003, basit Bayes'te 0,006 ve AdaBoost'ta 0,006 fark görüldü. psbr = 0,50 olduğu durumda modellerin her birinde ölçülen AUC'nin psbr = 0 ile eğitilen modelden farkı lojistik regresyonda 0,007, basit Bayes'te 0,011 ve AdaBoost'ta 0,010'du. Tek sınıf kirliliği söz konusuyken eğitilen lojistik regresyon sınıflandırıcısı AUC ölçümünde en küçük varyasyonu gösterdi; bu da basit Bayes ve AdaBoost sınıflandırıcılarımıza göre daha güçlü bir davranış anlamına geliyordu.

B. Sınıf Kirliliği: sınıftan bağımsız

Eğitim kümesinin sınıftan bağımsız bir kirlilikle bozulduğu durumda üç sınıflandırıcımızın performansını karşılaştırdık. Her biri eğitim verilerinde farklı pbr düzeyleriyle eğitilen modellerde AUC'yi ölçtük.

Tablo III

Tablo III'te deneydeki her kirlilik artışında AUC-ROC'de düşüş gözlemledik. Kirlilik içermeyen verilerle eğitilmiş bir modelden ölçülen AUC-ROC'nin pbr = 0,25 sınıftan bağımsız kirlilikle eğitilen modelin AUC-ROC'den farkı lojistik regresyonda 0,011, basit Bayes'te 0,008 ve AdaBoost'ta 0,0038'di. Kirlilik düzeyleri %40'ın altında olduğunda etiket kirliliğinin basit Bayes ve AdaBoost sınıflandırıcılarının AUC değerini önemli ölçüde etkilemediğini gözlemledik. Öte yandan lojistik regresyon sınıflandırıcısında %30'un üzerindeki etiket kirliliği düzeylerinde AUC ölçüsü etkilendi.

AUC Varyasyonu

Şekil 1. Sınıftan bağımsız gürültüde AUC-ROC varyasyonu. Kirlilik düzeyi pbr =0,5 olduğunda sınıflandırıcı rastgele bir sınıflandırıcı gibi davrandı (AUC≈0,5). Ama düşük kirlilik düzeylerinde (pbr ≤0,30), lojistik regresyon öğreniminin diğer iki modele göre daha iyi performans gösterdiğini gözlemleyebildik. Öte yandan 0,35≤ pbr ≤0,45 düzeyinde basit Bayes öğrenimi daha iyi AUCROC ölçümleri ortaya koydu.

C. Sınıf Kirliliği: sınıfa bağlı

Denemelerin son kümesinde, farklı sınıfların farklı kirlilik düzeyleri (p sbr ≠ pnsbr)içerdiği bir senaryoyu ele alıyoruz. Sistematik bir şekilde eğitim verilerinde psbr ve pnsbr değerlerini bağımsız olarak 0,05 artırdık ve üç sınıflandırıcısının davranışındaki değişimi gözlemledik.

Lojistik RegresyonSade BayesAdaBoost

Tablo IV, V, VI'da her sınıfta kirlilik farklı düzeylerde artırıldığında AUC'deki varyasyon gösteriliyor (Tablo IV'te lojistik regresyon, Tablo V'te basit Bayes ve Tablo VI'da AdaBoost). Tüm sınıflandırıcılar için, her iki sınıfta da kirlilik düzeyi %30'un üzerinde olduğunda AUC ölçümünde bir etki gözlemledik. En sağlam davranış gösteren basit Bayes'ti. Negatif sınıfın kirli etiketlerin %30'unu veya daha azını içermesi durumunda, pozitif sınıfta etiketlerin %50'si çevrildiğinde bile AUC üzerindeki etki çok küçüktü. Bu durumda AUC'deki düşüş 0,03'tü. AdaBoost üç sınıflandırıcı arasında en sağlam davranışı gösterdi. AUC'de ancak her iki sınıfta da kirlilik düzeyleri %45'in üzerinde olduğunda önemli bir değişiklik gerçekleşti. Bu durumda, 0,02'den büyük bir AUC düşüşü gözlemlemeye başladık.

D. Özgün Veri Kümesinde Artık Kirliliğin Varlığı

Veri kümemiz imza tabanlı otomatik sistemler ve insan uzmanlar tarafından etiketlendi. Üstelik tüm hata raporları insan uzmanlar tarafından bir kez daha incelendi ve kapatıldı. Veri kümemizdeki kirlilik miktarının çok az olmasını ve istatistiksel olarak önemli olmamasını bekliyorduk ve artık kirliliğin varlığı sonuçlarımızı geçersiz kılmadı. Aslında, çizim açısından, özgün veri kümesinin her giriş için 0 < p < 1/2'ye eşit ve aynı şekilde dağıtılmış (i.i.d) sınıftan bağımsız bir kirlilikle bozulduğunu varsayalım.

Özgün kirliliğin üzerine olasılığı pbr i.i.d olan bir sınıftan bağımsız kirlilik eklersek, sonuçta girdi başına kirlilik p∗ = p(1 − pbr )+(1 − p)pbr olacaktır. 0 < p,pbr< 1/2 için p∗ etiket başına gerçek kirlilik, p br veri kümesineyapay olarak eklediğimiz gürültüden kesinlikle daha büyük. Dolayısıyla sınıflandırıcılarımız en baştan hiç kirlilik içermeyen bir veri kümesiyle (p = 0) eğitilmiş olsaydı, performansları daha da iyi olacaktı. Özetle, gerçek veri kümesinde artık kirliliğin varlığı, sınıflandırıcılarımızın kirliliğe karşı burada gösterilen sonuçlardan daha dayanıklı olduğu anlamına gelir. Üstelik veri kümemizdeki artık kirlilik istatistiksel olarak uygulanabilir olsaydı, sınıflandırıcılarımızın AUC değeri kesinlikle 0,5'ten düşük bir kirlilik düzeyi için 0,5 (rastgele bir tahmin) olabilirdi. Sonuçlarımızda böyle bir davranış gözlemlemedik.

VI. SONUÇLAR VE GELECEK ÇALIŞMALAR

Bu çalışmada iki yönlü bir katkıda bulunduk.

İlk olarak hata raporunun yalnızca başlığına dayanarak güvenlik hata raporu sınıflandırmasının yapılabileceğini gösterdik. Bu özellikle gizlilik kısıtlamalarından dolayı hata raporunun tamamının kullanılamadığı senaryolara uygundur. Bizim örneğimizde hata raporları parola ve şifreleme anahtarı gibi gizli bilgiler içeriyordu ve sınıflandırıcıları eğitmek için kullanılamıyordu. Elde ettiğimiz sonuç, yalnızca rapor başlıklarının kullanılabildiği durumlarda bile yüksem bir doğruluk düzeyiyle SBR belirleme işleminin yapılabilirliğini gösterdi. TF-IDF ile lojistik regresyonun bir bileşimini kullanan sınıflandırma modelimiz 0,9831 AUC düzeyinde performans gösterdi.

İkincisi, yanlış etiketlenmiş eğitim ve doğrulama verilerinin etkisini analiz ettik. Üç makine öğrenmesi sınıflandırma tekniğini (basit Bayes, lojistik regresyon ve AdaBoost), farklı kirlilik türleri ve kirlilik düzeylerine karşı sağlamlıkları açısından karşılaştırdık. Üç sınıflandırıcı da tek sınıf kirliliğine karşı sağlamdı. Eğitim verilerindeki kirliliğin sonuçta elde edilen sınıflandırıcı üzerinde önemli bir etkisi olmadı. %50 kirlilik düzeyi için AUC değerindeki düşüş çok küçüktü ( 0,01). Her iki sınıfta da var olan ve sınıftan bağımsız olan kirlilik için, ancak kirlilik düzeyleri %40'ı aşan veri kümeleriyle eğitildiklerinde basit Bayes ve AdaBoost modellerinde AUC değerinde önemli varyasyonlar oldu.

Son olarak sınıfa bağlı kirlilik, ancak her iki sınıfta da kirlilik düzeyi %35'ten yüksek olduğunda AUC'yi önemli ölçüde etkiledi. En fazla sağlamlık gösteren AdaBoost oldu. Negatif sınıf kirli etiketlerin %45'ini vaya daha azını içerdiğinde, pozitif sınıfın etiketlerinin %50'si kirli olduğunda bile AUC üzerindeki etki çok küçüktü. Bu durumda AUC'deki düşüş 0,03'ten azdı. Bildiğimiz kadarıyla bu, güvenlik hata raporu belirleme işleminde kirli veri kümelerinin etkisi üzerine yapılan ilk sistematik çalışmadır.

GELECEK ÇALIŞMALAR

Bu çalışmada güvenlik hatalarını belirlerken makine öğrenmesi sınıflandırıcılarının performansında kirliliğin etkileriyle ilgili sistematik bir araştırma başlattık. Bu çalışmanın devamı niteliğinde çeşitli ilginç incelemeler vardır: güvenlik hatasının önem düzeyini saptarken kirli veri kümelerinin etkisini inceleme; eğitilmiş modellerin kirliliğe karşı dayanıklılığında sınıf dengesizliğinin etkisini anlama; veri kümesine saldırgan olarak eklenen kirliliğin etkisini anlama.

BAŞVURULAR

[1] John Anvik, Lyndon Hiew ve Gail C Murphy. Bu hatayı kimler düzeltmeli? 28. Uluslararası yazılım mühendisliği konferansının toplantı tutanakları, sayfa 361–370. ACM, 2006.

[2] Diksha Behl, Sahil Handa ve Anuja Arora. Basit bayes ve tf-idf kullanarak güvenlik hatalarını belirlemek ve analiz etmek için bir hata madenciliği aracı. İyileştirme, Güvenilirlik ve Bilgi Teknolojisi (ICROIT), 2014 Uluslararası Konferansı, sayfa 294–299. IEEE, 2014.

[3] Nicolas Bettenburg, Rahul Premraj, Thomas Zimmermann ve Sunghun Kim. Yinelenen hata raporları gerçekten zararlı mı kabul edilir? Yazılım bakımı, 2008. ICSM 2008. IEEE uluslararası konferansı, sayfa 337-345. IEEE, 2008.

[4] Andres Folleco, Taghi M Khoshgoftaar, Jason Van Hulse ve Lofton Bullard. Düşük kaliteli verilere karşı sağlam olan öğrenimleri belirleme. Bilgilerin Yeniden Kullanımı ve Tümleştirme bölümünde, 2008. IRI 2008. IEEE Uluslararası Konferansı, sayfa 190-195. IEEE, 2008.

[5] Benoˆıt Frenay.´ Makine öğrenmesinde belirsizlik ve etiket kirliliği. Doktora tezi, Louvain Katolik Üniversitesi, Louvain-la-Neuve, Belçika, 2013.

[6] Benoˆıt Frenay ve Michel Verleysen. Etiket kirliliğinin varlığında sınıflandırma: araştırma. Sinir ağları ve öğrenme sistemlerinde IEEE işlemleri, 25(5):845–869, 2014.

[7] Michael Gegick, Pete Rotella ve Tao Xie. Metin madenciliği aracılığıyla güvenlik hata raporlarını tanımlama: Endüstriyel örnek olay incelemesi. Madencilik yazılımı depoları (MSR), 2010 7. IEEE çalışma konferansı, sayfa 11–20. IEEE, 2010.

[8] Katerina Goseva-Popstojanova ve Jacob Tyo. Denetimli ve denetimsiz sınıflandırma kullanarak metin madenciliği yoluyla güvenlikle ilgili hata raporlarını belirleme. In 2018 IEEE Uluslararası Yazılım, Kalitesi, Güvenilirliği ve Güvenliği (QRS) Konferansı, sayfa 344–355, 2018.

[9] Ahmed Lamkanfi, Serge Demeyer, Emanuel Giger ve Bart Goethals. Raporlanan hatanın önem derecesini tahmin etme. Madencilik Yazılımı Depoları (MSR), 2010 7. IEEE Çalışma Konferansı, sayfa 1–10. IEEE, 2010.

[10] Naresh Manwani ve PS Sastry. Risk azaltma kapsamında kirlilik toleransı. IEEE sibernetik işlemleri, 43(3):1146–1151, 2013.

[11] G Murphy ve D Cubranic. Metni kategorilere ayırmayı kullanarak otomatik hata önceliklendirme. On Altıncı Uluslararası Yazılım Mühendisliği ve Bilgi Mühendisliği Konferansı Toplantı Tutanakları. Citeseer, 2004.

[12] Mykola Pechenizkiy, Alexey Tsymbal, Seppo Puuronen ve Oleksandr Pechenizkiy. Tıbbi alanlarda sınıf gürültüsü ve denetimli öğrenme: Özellik ayıklamanın etkisi. null, sayfa 708–713. IEEE, 2006.

[13] Charlotte Pelletier, Silvia Valero, Jordi Inglada, Nicolas Champion, Claire Marais Sicre ve Gerard Dedieu.´ Uydu görüntüsü zaman serisiyle arazi haritalama için sınıf etiketi kirliliği eğitiminin sınıflandırma performansları üzerindeki etkisi. Uzaktan Algılama, 9(2):173, 2017.

[14] PS Sastry, GD Nagendra ve Naresh Manwani. Yarım uzayların kirliliğe dayanıklı öğrenimi için sürekli eylem öğrenim otomasyonu. IEEE Sistemler, İnsan ve Sibernetikte İşlemler, Bölüm B (Sibernetik), 40(1):19–28, 2010.

[15] Choh-Man Teng. Kirlilik işleme teknikleri karşılaştırması. FLAIRS Konferansı, sayfa 269–273, 2001.

[16] Dumidu Wijayasekara, Milos Manic ve Miles McQueen. Metin madenciliği hata veritabanları yoluyla güvenlik açığını belirleme ve sınıflandırma. Industrial Electronics Society, IECON 2014-40th Annual Conference of the IEEE, pages 3612–3618. IEEE, 2014.

[17] Xinli Yang, David Lo, Qiao Huang, Xin Xia ve Jianling Sun. Dengesiz öğrenme stratejilerinden yararlanılarak yüksek etkili hata raporlarının otomatik olarak belirlenmesi. Bilgisayar Yazılımı ve Uygulamaları Konferansı (COMPSAC), 2016 IEEE 40. Yıllık, cilt 1, sayfa 227–232. IEEE, 2016.

[18] Deqing Zou, Zhijun Deng, Zhen Li ve Hai Jin. Birden çok türde özellik analizi yoluyla güvenlik hata raporlarını otomatik olarak belirleme. Avustralasya Bilgi Güvenliği ve Gizliliği Konferansı, sayfa 619–633. Springer, 2018.