Kötüye kullanım durumu - Misuse case

Güvenlik gereksinimlerini yakalama hakkında düşünürken kullanılabilecek Kötüye Kullanım durumu ilkesi örneği.

Kötüye kullanım durumu bir iş süreci modellemesi yazılım geliştirme sektöründe kullanılan araç. Dönem Yanlış Kullanım Durumu veya yanlış kullanım durumu türetilmiştir ve tersidir kullanım durumu.[1] Terim ilk olarak 1990'larda, Guttorm Sindre tarafından kullanıldı. Norveç Bilim ve Teknoloji Üniversitesi, ve Andreas L. Opdahl of Bergen Üniversitesi, Norveç. Bir sisteme karşı kötü niyetli bir eylemin gerçekleştirilmesi sürecini açıklarken, kullanım durumu sistem tarafından gerçekleştirilen herhangi bir eylemi tanımlamak için kullanılabilir.[2]

Genel Bakış

Kullanım durumları yazılımın ve geliştirilmekte olan diğer ürünlerin gerekli davranışını belirtin ve temelde yapılandırılmış hikayelerdir veya senaryolar yazılımın normal davranışını ve kullanımını detaylandırmak. Öte yandan bir Yanlış Kullanım Durumu, olmaması gereken bir şeyi (yani bir Negatif Senaryo) vurgular ve bu nedenle tanımlanan tehditler, yeni Kullanım Örnekleri olarak ifade edilen yeni gereksinimlerin tanımlanmasına yardımcı olur.

Bu modelleme aracının birkaç güçlü yönü vardır:

  • Diğer araçlarla mümkün olmayan işlevsel ve işlevsel olmayan gereksinimlere (örn. Güvenlik gereksinimleri, platform gereksinimleri, vb.) Eşit ağırlık sağlanmasına izin verir.
  • Tasarım sürecinin başından itibaren güvenliği vurgular ve erken tasarım kararlarından kaçınmaya yardımcı olur.
  • Geliştiriciler ve paydaşlar arasındaki iletişimi iyileştirmek için bir araçtır ve hem kritik sistem çözümleri hem de Takas analizi konusunda hemfikir olmalarını sağlamak açısından değerlidir.[3]
  • Yanlış kullanım durumları yaratmak, genellikle işlevsel ve işlevsel olmayan gereksinimlerin tanımlanmasını kolaylaştıran bir zincirleme reaksiyonu tetikler. Kötüye kullanım durumunun keşfi, genellikle karşı önlem olarak hareket eden yeni bir kullanım senaryosunun oluşturulmasına yol açacaktır. Bu da yeni bir yanlış kullanım vakasının konusu olabilir.[4]
  • Diğer araçlarla karşılaştırıldığında, vakaları kullanmak daha iyidir ve UML modelin sorunsuz çalışmasını kolaylaştırır.

En büyük zayıflığı basitliğidir. Bir projenin yürütülmesi için uygun bir plan oluşturmak için daha güçlü araçlarla birleştirilmesi gerekir. Diğer bir zayıflık, yapı ve anlambilim eksikliğidir.

Kullanımdan yanlış kullanıma kadar

Bir sektörde, bir sistemin dışarıdan gelen bir talebe yanıt verdiğinde davranışını tanımlamak önemlidir: kullanım durumları [5] gereksinimler için popüler hale geldi [1] Mühendisler arasında görsel modelleme tekniği gibi özellikleri sayesinde, bir sistemi bir oyuncunun bakış açısından tanımlarlar ve formatı, her bir oyuncunun hedeflerini ve bunları gerçekleştirmek için sistemin uygulaması gereken akışları açıkça aktarır.[6]

Bir soyutlama düzeyi kullanım durumu modeli kullanımı sayesinde tasarım faaliyetleri için uygun bir başlangıç ​​noktası yapar UML durum diyagramlarını ve son kullanıcının veya alan uzmanının dilini kullanın. Ancak yazılım güvenliği analizleri için geliştiricilerin olumsuz senaryolara dikkat etmesi ve bunları anlaması gerekir. Bu nedenle 1990'larda "kullanım durumunun tersi" kavramı Norveç.

Yanlış kullanım durumu ile kullanım durumu amaç şudur: kötüye kullanım durumu, bir sistemin paydaşlarının kabul edilemez bulduğu potansiyel sistem davranışlarını veya Guttorm Sindre ve Andreas L. Opdahl'ın dediği gibi, "sistemin izin vermemesi gereken bir işlevi" tanımlar.[1]Bu farklılık senaryolarda da geçerlidir: "olumlu" bir senaryo, bir kişi veya kuruluş tarafından istenen bir Hedefe götüren bir eylemler dizisidir; "olumsuz" ise, hedefi söz konusu kuruluş tarafından gerçekleşmemesi istenen bir senaryodur. veya düşmanca bir ajan tarafından istenir (insan olması gerekmez).[7]

Farkın başka bir açıklaması şudur: [8] bir kullanım senaryosunu, kullanıcıya daha fazla değer veren tamamlanmış bir eylemler dizisi olarak tanımlayan, bir yanlış kullanım durumu, kuruluş veya bazı belirli paydaşlar için kayıpla sonuçlanan tamamlanmış bir eylem dizisi olarak tanımlanabilir.

"İyi" ve "kötü" durum arasında senaryoyu temsil eden dil yaygındır: kullanım durumu diyagramları resmi olarak, Aman Tanrım: Birleştirilmiş Modelleme Dili (UML) ve Sistem Modelleme Dili (SysML) ve senaryonun aracıları ve yanlış kullanım durumlarını çizmenin bu kullanımı, dikkatin ona odaklanmasına yardımcı olur.[9]

Kullanım alanı

Kötüye kullanım durumu en çok güvenlik alanında kullanılır.[10] BT sisteminin gittikçe artan önemi ile, her şirketin verilerini koruma kabiliyetini geliştirmesi hayati hale geldi.[11]

Bu nedenle, örneğin bir bilgisayar korsanının sistemle ne yapmak isteyeceğini tanımlamak ve gereksinimlerini tanımlamak için bir kötüye kullanım durumu kullanılabilir. Bir geliştirici veya tasarımcı, daha sonra kullanıcının ve bilgisayar korsanının gereksinimlerini aynı UML diyagramında tanımlayabilir ve bu da sistemin güvenlik risklerinin belirlenmesine yardımcı olur.[12]

Temel konseptler

Bir yanlış kullanım durumu diyagramı, karşılık gelen bir kullanım durumu diyagramıyla birlikte oluşturulur. Model, 2 yeni önemli varlığı tanıtmaktadır (geleneksel kullanım senaryosu modelindekilere ek olarak, kullanım durumu ve aktör:

  • Kötüye kullanım durumu : Sisteme zarar vermek için herhangi bir kişi veya kuruluş tarafından gerçekleştirilebilecek eylemler dizisi.
  • Yanlış kullanıcı : Kötüye kullanım durumunu başlatan aktör. Bu, isteyerek veya istemeyerek yapılabilir.

Diyagramlar

Kötüye kullanım durumu modeli, kullanım senaryosu modelinde bulunan ilişki türlerini kullanır; Dahil etmek, uzatmak, genellemek ve bağlantı. Ek olarak, diyagramda kullanılacak iki yeni ilişki sunar:

hafifletiyor
Kullanım senaryosu, kötüye kullanım durumunun başarıyla tamamlanma olasılığını azaltabilir.
tehdit ediyor
Kötüye kullanım durumu, kullanım durumunu tehdit edebilir, ör. onu sömürerek veya hedeflerine ulaşmasını engelleyerek.

Bu yeni kavramlar, kullanım durumundan mevcut olanlarla birlikte, şekil olarak da bulunan aşağıdaki meta modeli verir. 2, Sindre ve Opdahl'de (2004).[2]

Açıklamalar

Bir yanlış kullanım durumunu metinsel olarak tanımlamanın iki farklı yolu vardır; biri, kullanım durumu açıklama şablonuna yerleştirilmiştir - burada ekstra bir açıklama alanı Tehditler eklenebilir. Bu, yanlış kullanım durumu adımlarının (ve alternatif adımların) doldurulabileceği alandır. Bu, hafif bir yanlış kullanım durumunu açıklama modu.

Bir yanlış kullanım durumunu açıklamanın diğer yolu, yalnızca bu amaç için ayrı bir şablon kullanmaktır. Alanın bir kısmının kullanım senaryosu açıklamasından devralınması önerilir (İsim, Özet, Yazar ve Tarih). Ayrıca alanları uyarlar Temel yol ve Alternatif yol, şimdi kullanım durumları yerine kötüye kullanım durumlarının yollarını açıklıyorlar. Buna ek olarak, birkaç başka alanın da kullanılması önerilmektedir:

  • Yanlış kullanım durumu adı
  • Özet
  • Yazar
  • Tarih
  • Temel yol
  • Alternatif yollar
  • Etki azaltma noktaları
  • Uzatma noktaları
  • Tetikleyiciler
  • Ön koşullar
  • Varsayımlar
  • Azaltma garantisi
  • İlgili iş kuralları
  • Olası yanlış kullanıcı profili
  • Paydaşlar ve tehditler
  • Terminoloji ve açıklamalar
  • Dürbün
  • Soyutlama seviyesi
  • Hassaslık seviyesi

Anlaşılabileceği gibi, yukarıdaki liste her seferinde tamamen doldurulamayacak kadar kapsamlı. Başlangıçta tüm alanların doldurulması gerekli değildir ve bu nedenle canlı bir belge olarak görülmelidir. Ayrıca diyagramlarla mı başlamak yoksa açıklamalarla mı başlamak gerektiği konusunda bazı tartışmalar olmuştur. Bu konuda Sindre ve Opdahl tarafından verilen öneri, kullanım durumlarında olduğu gibi yapılması gerektiğidir.

Sindre ve Opdahl, güvenlik gereksinimlerini belirlemek için kötüye kullanım durumlarını kullanmak için aşağıdaki 5 adımı önerir:

  1. Kritik varlıkları tanımlayın Sistemde
  2. Güvenlik hedeflerini tanımlayın her varlık için
  3. Tehditleri belirleyin sisteme zarar vermek isteyebilecek paydaşları belirleyerek bu güvenlik hedeflerinin her birine
  4. Tanımlayın ve analiz edin tehditler için riskler, Risk değerlendirmesi
  5. Güvenlik gereksinimlerini tanımlayın riskler için.

Bu 5 aşamalı süreçte destek olarak yeniden kullanılabilir yanlış kullanım durumlarının bulunduğu bir havuzun kullanılması önerilir.

Araştırma

Güncel araştırma alanı

Kötüye kullanım vakalarıyla ilgili güncel araştırmalar, öncelikle bir projeye, özellikle yazılım projelerine getirebilecekleri güvenlik iyileştirmelerine odaklanmaktadır. Uygulama geliştirmenin daha önceki aşamalarında kötüye kullanım durumu geliştirme uygulamasının yaygın olarak benimsenmesini artırmanın yolları değerlendirilmektedir: bir kusur ne kadar erken bulunursa, bir yama bulmak o kadar kolay olur ve etki, nihai maliyet üzerinde o kadar düşük olur. proje.

Diğer araştırmalar, nihai hedefine ulaşmak için kötüye kullanım durumunu iyileştirmeye odaklanmaktadır: [13] "Başvuru sürecinde bir eksiklik var ve sonuçlar çok genel ve kavramlarının eksik tanımlanmasına veya yanlış yorumlanmasına neden olabilir". Ayrıca, "kötüye kullanım durumunu bir referans model ışığında görmeyi öneriyorlar bilgi sistemi güvenlik risk yönetimi (ISSRM) "bir güvenlik riski yönetimi süreci elde etmek için.

Gelecek iyileştirme

Kötüye kullanım vakaları, araştırmacı popülasyonu tarafından iyi bilinmektedir. Konuyla ilgili araştırma grubu bilgiyi gösterir, ancak akademik dünyanın ötesinde kötüye kullanım durumu geniş çapta benimsenmemiştir.

Sindre ve Opdahl'ın (kötüye kullanım vakası konseptinin ebeveynleri) öne sürdüğü gibi: "Daha fazla çalışma için bir diğer önemli hedef, kötüye kullanım vakalarının daha geniş endüstriyel olarak benimsenmesini kolaylaştırmaktır".[2] Aynı makalede, kötüye kullanım durumunu bir kullanım senaryosu modelleme aracına yerleştirmeyi ve yazılım mimarlarına yardımcı olmak için standart yanlış kullanım durumlarının bir "veri tabanını" oluşturmayı teklif ediyorlar. Sistem paydaşları, kendi sorun alanlarına özgü gereksinimler için kendi kötüye kullanım durum çizelgelerini oluşturmalıdır. Bir bilgi veritabanı geliştirildikten sonra, lambda bilgisayar korsanları tarafından kullanılan standart güvenlik açıklarının miktarını azaltabilir.

Diğer araştırmalar, kötüye kullanım durumunun olası eksik somut çözümlerine odaklanmıştır: [14] "Bu yaklaşım, güvenlik gereksinimlerinin üst düzeyde ortaya çıkarılmasına yardımcı olabilirken, kötüye kullanım durumlarının meşru davranış ve somut varlıklarla nasıl ilişkilendirileceğini göstermez; bu nedenle, hangi kötüye kullanım durumunun ne de hangi bağlamda dikkate alınması gerektiği açık değildir. ". Bu eleştiriler, emsal bölümünde sunulan öneriler ve iyileştirmelerle ele alınabilir.

Kötüye kullanım durumunun UML gösteriminin bir parçası olarak standardizasyonu, proje geliştirmenin zorunlu bir parçası haline gelmesine izin verebilir. "Güvenlik açıklarını ve tehditleri azaltmak için güvenlik işlevselliği veya eklenmiş karşı önlemler için belirli bir gösterim oluşturmak faydalı olabilir."[15]

Ayrıca bakınız

Referanslar

  1. ^ a b c Sindre ve Opdahl (2001). "Yanlış Kullanım Durumlarıyla Güvenlik Gereksinimlerini Yakalama "
  2. ^ a b c Sindre ve Opdahl (2004)."Kötüye kullanım durumlarıyla güvenlik gereksinimlerini ortaya çıkarma Arşivlendi 2011-07-16'da Wayback Makinesi "
  3. ^ Takas Analizinde Kötüye Kullanım Vakalarının İlk Endüstriyel Deneyimi (2002, Ian Alexander) Arşivlendi 2008-04-30 Wayback Makinesi
  4. ^ Ian Alexander, Kötüye Kullanım Vakaları: Düşmanca Niyet İçeren Kullanım Vakaları. IEEE Yazılımı, Cilt 20, Sayı 1, Ocak-Şubat 2003, 58-66. DOI: 10.1109 / MS.2003.1159030
  5. ^ Jacobson, "Nesne yönelimli yazılım mühendisliği: kullanım durumu odaklı yaklaşım", 1992 Addison-Wesley, Boston
  6. ^ Gunnar Peterson, John Steven "Geliştirme Sürecinde Kötüye Kullanımın Tanımlanması", IEEE GÜVENLİK & GİZLİLİK, KASIM / ARALIK 2006
  7. ^ Ian Alexander "Kötüye kullanım durumu: düşmanca niyetle kullanım durumları", sunum
  8. ^ Guttorm Sindre, Andreas L. Opdahl, "Yanlış Kullanım Durumunun Açıklaması için Şablonlar"
  9. ^ Ian Alexander "Kötüye kullanım vakası: düşmanca niyetle vakaları kullanın"
  10. ^ Asoke K. Talukder; Manish Chaitanya (17 Aralık 2008). Güvenli Yazılım Sistemlerinin Mimarisi. CRC Basın. s. 47. ISBN  978-1-4200-8784-0. Alındı 5 Ekim 2016.
  11. ^ Jesper M. Johansson; Steve Riley (27 Mayıs 2005). Windows Ağınızı Koruyun: Çevreden Veriye. Addison-Wesley Profesyonel. s.491. ISBN  978-0-321-33643-9. Alındı 5 Ekim 2016.
  12. ^ Asoke K. Talukder; Manish Chaitanya (17 Aralık 2008). Güvenli Yazılım Sistemlerinin Mimarisi. CRC Basın. s. 50. ISBN  978-1-4200-8784-0. Alındı 5 Ekim 2016.
  13. ^ Raimundas Matulevičius, Nicolas Mayer, Patrick Heymans, "Kötüye Kullanım Vakalarının Güvenlik Riski Yönetimi ile Uyumlaştırılması"
  14. ^ Fabricio A. Braz, Eduardo B. Fernandez, Michael VanHilst, "Kötüye Kullanım Faaliyetleri Yoluyla Güvenlik Gereksinimlerini Ortaya Çıkarma"
  15. ^ Lillian Røstad, "Genişletilmiş bir yanlış kullanım durumu notasyonu: Güvenlik açıkları ve içeriden gelen tehdit dahil"