Mobil banka dolandırıcılığı algılama

Azure Machine Learning
Azure Synapse Analytics
Azure Event Hubs
Azure Key Vault
Azure SQL Database

Tipik bir çevrimiçi dolandırıcılık durumunda hırsız birden fazla işlem yapar ve binlerce dolar kaybına yol açar. Bu nedenle sahtekarlık algılama neredeyse gerçek zamanlı olmalıdır. Mobil uygulamaları 800 milyondan fazla kişi kullanıyor. Bu sayı arttıkça mobil banka dolandırıcılığı da artar. Finans sektörü, mobil platformlardan erişimin neden olduğu kayıplarda yıldan yıla yüzde 100 artış yaşıyor. Ama bir risk azaltma var. Bu makalede, iki saniye içinde sahte bir mobil banka işlemini tahmin etmek için Azure teknolojisini kullanan bir çözüm sunulur. Burada sunulan mimari gerçek bir çözümü temel alır.

Zorluklar: Nadir sahtekarlık örnekleri ve katı kurallar

Çoğu mobil sahtekarlık, bir cep telefonu numarasını tehlikeye atmak için bir SIM değiştirme saldırısı kullanıldığında ortaya çıkar. Telefon numarası kopyalanır ve suçlu, kurbanın mobil cihazına gönderilen SMS bildirimlerini ve aramaları alır. Suçlu daha sonra sosyal mühendislik, kimlik avı, kimlik avı (kimlik avı için telefon kullanarak) veya virüslü indirilen bir uygulama kullanarak oturum açma kimlik bilgilerini alır. Bu bilgilerle, suçlu bir banka müşterisinin kimliğine bürünebilir, mobil erişime kaydolabilir ve hemen fon transferleri ve para çekme işlemleri oluşturabilir.

Mobil sahtekarlığı tespit etmek zordur ve tüketiciler ve bankalar için pahalıdır. İlk zorluk nadir olmasıdır. Tüm işlemlerin yüzde 1'inden daha azı sahtedir, bu nedenle bir sahtekarlık veya olay yönetimi ekibinin sahte işlemleri belirlemek için potansiyel olarak sahte işlemleri elemesi zaman alabilir. İkinci bir zorluk da birçok sahtekarlık izleme çözümünün kural tabanlı altyapılara güvenmesidir. Geleneksel olarak kural tabanlı altyapılar, riskli IP adreslerinden veya yeni bir hesapta kısa bir süre içinde oluşturulan birden çok işlemden oluşturulan sahtekârlığa benzer işlemlerin yerleşik düzenlerini algılamada etkilidir. Ancak kural tabanlı altyapıların önemli bir sınırlaması vardır: kurallar yeni veya gelişen saldırı türlerine hızla uyum sağlamaz. Bunlar aşağıdaki yollarla kısıtlanır:

  • Algılama gerçek zamanlı değildir, bu nedenle mali bir kayıp meydana geldikten sonra sahtekarlık algılanır.
  • Kurallar ikilidir ve sınırlıdır. Bunlar, değerlendirilebilecek giriş değişkenlerinin karmaşıklığını ve birleşimlerini barındırmaz. Bu sınırlama, çok sayıda hatalı pozitif sonuçlara neden olur.
  • Kurallar iş mantığına sabit kodlanır. Kuralların derlenmesi, yeni veri kaynaklarının birleştirilmesi veya yeni dolandırıcılık desenlerinin eklenmesi genellikle bir iş sürecini etkileyen uygulama değişiklikleri gerektirir. İş süreci boyunca değişiklikleri yaymak zahmetli ve pahalı olabilir.

Yapay zeka modelleri sahtekarlık algılama oranlarını ve algılama sürelerini önemli ölçüde iyileştirebilir. Bankalar, kayıpları azaltmak için bu modelleri diğer yaklaşımlarla birlikte kullanıyor. Burada açıklanan işlem üç öğeyi temel alır:

  • Türetilmiş bir davranış özellikleri kümesine göre hareket eden bir yapay zeka modeli
  • Makine öğrenmesi için bir metodoloji
  • Bir sahtekarlık yöneticisi tarafından portföyü değerlendirmek için kullanılan model değerlendirme işlemi

İşlem bağlamı

Bu çözümün temel alındığı banka için, müşteriler dijital hizmetlerin kullanımını artırdıkça mobil kanalda sahtekarlıkta bir artış oldu. Bankanın sahtekarlık algılama ve önleme yaklaşımını yeniden gözden geçirme zamanı geldi. Bu çözüm, dolandırıcılık sürecini ve kararlarını etkileyen sorularla başladı:

  • Hangi etkinlikler veya işlemler sahte olabilir?
  • Hangi hesapların güvenliği aşıldı?
  • Hangi etkinliklerin daha fazla araştırılıp olay yönetimine ihtiyacı vardır?

Çözümün değer sunabilmesi için mobil banka dolandırıcılığı operasyonel ortamda nasıl belirgin hale geldiğinin net bir şekilde anlaşılması gerekir:

  • Platformda ne tür sahtekarlıklar devam ettirilir?
  • Nasıl işleniyor?
  • Sahte etkinlikler ve işlemlerdeki desenler nelerdir?

Bu soruların yanıtları, sahtekarlığa işaret eden davranış türlerinin anlaşılmasını sağladı. Veri öznitelikleri, tanımlanan davranışlarla ilişkili mobil uygulama ağ geçitlerinden toplanan iletilere eşlendi. Dolandırıcılığı belirlemeye en uygun hesap davranışı daha sonra profili oluşturulmuştu.

Aşağıdaki tabloda risk türleri, sahtekarlığa işaret eden veri öznitelikleri ve bankayla ilgili davranışlar tanımlanmıştır:

Kimlik bilgileri risk altında* Cihaz güvenliği ihlalleri Finansal riskler İşlem Dışı riskler
Kullanılan yöntemler Kimlik avı, kimlik avı. SIM değiştirme, sanallaştırma, kötü amaçlı yazılım, jailbreak, cihaz öykünücüleri. Hesap kimlik bilgilerinin, cihaz ve kullanıcı dijital tanımlayıcılarının (e-posta ve fiziksel adresler gibi) kullanımı. Hesaba yeni kullanıcılar ekleme, kart veya hesap sınırlarını artırma, hesap ayrıntılarını ve müşteri profili bilgilerini veya parolayı değiştirme.
Veri E-posta veya parola, kredi kartı veya banka kartı numaraları, müşteri tarafından seçilen veya tek seferlik PIN'ler. Cihaz kimliği, SIM kart numarası, coğrafi konum ve IP. İşlem tutarları, transfer, para çekme veya ödeme lehtarları. Hesap ayrıntıları.
Desenler Mevcut bir kart ve PIN ile yeni dijital müşteri (daha önce kaydedilmedi).

Mevcut olmayan veya bilinmeyen kullanıcılar için başarısız oturum açma işlemleri.

Hesap için olağan dışı olan zaman çerçeveleri sırasında oturum açma işlemleri.

Oturum açma parolalarını değiştirmek için birden çok deneme.
Coğrafi düzensizlikler (olağan dışı bir konumdan erişim).

Kısa bir süre içinde birden çok cihazdan erişim.
İşlemlerdeki desenler. Örneğin, aynı hesap için kısa süre içinde günlüğe kaydedilen birçok küçük işlem, bazen büyük bir para çekme işlemiyle devam eder. Ya da izin verilen maksimum tutarlar için yapılan ödemeler, para çekme işlemleri veya aktarımlar.

Olağan dışı işlem sıklığı.
Oturum açma işlemleri ve etkinlik dizisindeki desenler. Örneğin, kısa bir süre içinde birden çok oturum açma, kişi bilgilerini değiştirme veya olağan dışı bir zaman diliminde cihaz ekleme girişimleri.

* En yaygın uzlaşma göstergesi. Finansal ve finansal olmayan tavizlerden önce.

Davranış boyutu, mobil dolandırıcılığı algılamak için kritik öneme sahiptir. Davranış tabanlı profiller, bir hesap için tipik davranış desenleri oluşturmaya yardımcı olabilir. Analiz, normun dışında görünen etkinliği işaret edebilir. Profili oluşturulabilecek davranış türlerine bazı örnekler şunlardır:

  • Cihazla ilişkili kaç hesap var?
  • Hesapla ilişkili kaç cihaz var? Ne sıklıkta bırakılıyor veya ekleniyor?
  • Cihaz veya müşteri ne sıklıkta oturum açar?
  • Müşteri parolaları ne sıklıkta değiştiriyor?
  • Hesaptan ortalama para transferi veya para çekme tutarı nedir?
  • Hesaptan ne sıklıkta para çekme işlemleri yapılır?

Çözüm, aşağıdakileri temel alan bir yaklaşım kullanır:

  • Müşteriler ve hesaplar için davranış profilleri oluşturmak için özellik mühendisliği.
  • Azure makine öğrenmesi, şüpheli veya tutarsız hesap davranışı için bir sahtekarlık sınıflandırma modeli oluşturur.
  • Gerçek zamanlı olay işleme ve uçtan uca iş akışı için Azure hizmetleri.

Üst düzey mimari

Diagram that shows an architecture for detecting mobile bank fraud.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

Bu mimaride üç iş akışı vardır:

  • Olay odaklı işlem hattı günlük verilerini alır ve işler, davranışsal hesap profilleri oluşturup korur, bir sahtekarlık sınıflandırma modeli içerir ve tahmine dayalı bir puan oluşturur. Bu işlem hattındaki çoğu adım bir Azure işleviyle başlar. Azure işlevleri sunucusuz olduğundan, kolayca ölçeklendirildiğinden ve zamanlandığından kullanılır. Bu iş yükü, milyonlarca gelen mobil işlemin işlenmesini ve bunların neredeyse gerçek zamanlı sahtekarlık açısından değerlendirilmesi gerektirir.

  • Model eğitimi iş akışı, şirket içi geçmiş sahtekarlık verilerini ve alınan günlük verilerini birleştirir. Bu iş yükü toplu iş odaklıdır ve model eğitimi ve yeniden eğitme için kullanılır. Azure Data Factory aşağıdakiler dahil olmak üzere işleme adımlarını düzenler:

    • Şirket içi kaynaklardan etiketlenmiş geçmiş sahtekarlık verilerini karşıya yükleme.
    • Tüm işlemler için veri özellik kümelerinin ve puan geçmişinin arşivi.
    • Özellik mühendisliği ve model yeniden eğitme ve değerlendirme için olayların ve iletilerin yapılandırılmış bir biçimde ayıklanması.
    • Azure Machine Learning aracılığıyla bir sahtekarlık modelini eğitme ve yeniden eğitme.
  • Üçüncü iş akışı arka uç iş süreçleriyle tümleşir. Sahtekarlık yönetimi olayı oluşturmak, hesap erişimini askıya almak veya bir telefon kişisi oluşturmak üzere şirket içi sisteme bağlanmak ve eşitlemek için Azure Logic Apps'i kullanabilirsiniz.

Bu mimarinin merkezi, bu makalenin devamında daha ayrıntılı olarak ele alınan veri işlem hattı ve yapay zeka modelidir.

Çözüm, kurumsal hizmet veri yolu (ESB) ve performanslı bir ağ bağlantısı kullanarak bankanın şirket içi ortamıyla tümleşir.

Veri işlem hattı ve otomasyon

Bir suçlu mobil uygulama aracılığıyla banka hesabına eriştiğinde, dakikalar içinde finansal kayıp oluşabilir. Suçlu mobil uygulamayla etkileşim kurarken ve parasal bir işlem gerçekleşmeden önce sahtekarlık etkinliğinin etkili bir şekilde algılanması gerekir. Sahte bir işleme tepki vermek için gereken süre, ne kadar finansal kaybın önlenebileceğini doğrudan etkiler. Algılama ne kadar erken gerçekleşirse, finansal kayıp da o kadar az olur.

İki saniyeden kısa ve ideal olarak çok daha azı, mobil bankacılık etkinliğinin dolandırıcılık için değerlendirilmesi gereken işlem için iletilmesinden sonraki maksimum süredir. Bu iki saniye boyunca olması gereken şey budur:

  • Karmaşık bir JSON olayı toplayın.
  • JSON'ı doğrulayın, kimlik doğrulaması, ayrıştırma ve dönüştürme.
  • Veri özniteliklerinden hesap özellikleri oluşturun.
  • Çıkarım için işlemi gönderin.
  • Dolandırıcılık puanını alın.
  • Arka uç servis talebi yönetim sistemiyle eşitleyin.

Sahtekarlık algılama çözümünde gecikme süresi ve yanıt süreleri kritik önem taşır. Bunu destekleyecek altyapının hızlı ve ölçeklenebilir olması gerekir.

Olay işleme

Bankanın mobil ve İnternet uygulaması ağ geçitlerinden gelen telemetri olayları, gevşek tanımlanmış bir şemayla JSON dosyaları olarak biçimlendirilir. Bu olaylar Azure Event Hubs'a uygulama telemetrisi olarak akışla gönderilir ve ayrılmış bir App Service Ortamı azure işlevi işlemeyi düzenler.

Aşağıdaki diyagramda, bu altyapıdaki bir Azure işlevinin temel etkileşimleri gösterilmektedir:

Diagram that shows the event-processing infrastructure.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

  1. Event Hubs'dan ham JSON olay yükünü alın ve Azure Key Vault'tan alınan bir SSL sertifikası kullanarak kimlik doğrulaması yapın.
  2. Azure Data Lake'te ham JSON iletilerinin seri durumdan çıkarma, ayrıştırma, depolama ve günlüğe kaydetme işlemlerini ve Azure SQL Veritabanı kullanıcı finansal işlem geçmişini koordine edin.
  3. SQL Veritabanı ve Data Lake'ten kullanıcı hesabı ve cihaz profillerini güncelleştirin ve alın.
  4. Tahmine dayalı bir model çalıştırmak ve dolandırıcılık puanı almak için bir Azure Machine Learning uç noktasını çağırabilirsiniz. Çıkarım sonucunu işletimsel analiz için bir veri gölünde kalıcı hale getirme.
  5. Gerçek zamanlı operasyonel analiz panosu için Azure Synapse Analytics aracılığıyla Power BI'ı Data Lake'e Bağlan.
  6. Daha fazla dolandırıcılık araştırması ve yönetim etkinliği için puanlanan sonuçları bir olay olarak şirket içi sisteme gönderin.

Veri ön işleme ve JSON dönüşümü

Bu çözümün temel alındığı gerçek dünya senaryosunda, verilerin önceden işlenmesi, makine öğrenmesi modellerinin geliştirilmesi ve eğitimi için verileri biçimlendirmenin ayrılmaz bir adımıydı. JSON biçimindeki uygulama ağ geçidi telemetrisindeki işlem verileri de dahil olmak üzere yıllar boyunca geçmiş mobil ve internet bankacılığı etkinlikleri yapıldı. Makine öğrenmesi modelini eğitmek için seri durumdan çıkarılıp düzleştirilmesi ve temizlenmesi gereken birden çok olay içeren yüz binlerce dosya vardı.

Her uygulama ağ geçidi bir kullanıcının etkileşiminden telemetri oluşturarak işletim sistemi, mobil cihaz meta verileri, hesap verileri ve işlem istekleri ile yanıtları gibi bilgileri yakalar. JSON dosyaları ve öznitelikleri arasında çeşitleme vardı ve veri türleri birbirinden farklı ve tutarsızdı. JSON dosyalarının bir diğer komplikasyonu da, uygulama güncelleştirmeleri ağ geçitlerine gönderildikçe ve özellikler kaldırıldı, değiştirildi veya eklendikçe özniteliklerin ve veri türlerinin beklenmedik şekilde değişebiliyor olmasıydı. Şemalarla ilgili veri dönüştürme zorlukları şunları içerir:

  • JSON dosyası bir veya daha fazla cep telefonu etkileşimi içerebilir. Her etkileşimin ayrı bir ileti olarak ayıklanması gerekir.
  • Alanlar farklı adlandırılabilir veya temsil edilebilir.
  • Yeni satırlar veya satır başı gibi karakterler iletilerde tutarsız bir şekilde eklenir.
  • E-posta adresleri gibi öznitelikler eksik veya kısmen biçimlendirilmiş olabilir.
  • Karmaşık, iç içe özellikler ve değerler olabilir.

Spark havuzu, geçmiş JSON dosyalarını işlemek ve cihaz ile işlem özniteliklerini seri durumdan çıkarmak, düzleştirmek ve ayıklamak için soğuk yolun bir parçası olarak kullanılır. Her JSON dosyası doğrulanır ve ayrıştırılır ve işlem öznitelikleri ayıklanır ve bir veri gölünde kalıcı hale getirir ve işlemin tarihine göre bölümlenir.

Bu öznitelikler daha sonra sahtekarlık sınıflandırıcısı için özellikler oluşturmak için kullanılır. Bu çözümün gücü, JSON verilerinin davranış profilleri oluşturmak için standartlaştırılma, birleştirilebilme ve geçmiş verilerle toplanabilir hale getirilebilmesine bağlıdır.

SQL Veritabanı ile neredeyse gerçek zamanlı veri işleme ve özellik kazandırma

Bu çözümde, olaylar kimlik doğrulama kayıtları, müşteri bilgileri ve demografik bilgileri, işlem kayıtları ve mobil cihazlardan gelen günlük ve etkinlik verileri gibi birden çok kaynaktan oluşturulur. SQL Veritabanı, SQL birçok geliştiriciye aşina olduğundan gerçek zamanlı veri ayrıştırma, ön işleme ve özellik geliştirme gerçekleştirmek için kullanılır.

HTAP işlevi, özellikleri düşük gecikme süresiyle neredeyse gerçek zamanlı olarak hesaplamak için önceki yedi gün içinde belirli bir cihazın kullanıcı hesabı davranış geçmişini almak için gereklidir. SQL Veritabanı bu karma işlem/analitik işleme (HTAP) özellikleri kullanılır:

  • Bellek için iyileştirilmiş tablolar hesap profillerini depolar. Bellek için iyileştirilmiş tablolar, ana bellekte oluşturulduğundan ve bunlara erişildiğinden geleneksel SQL tablolarına göre avantajlara sahiptir. Disk erişiminin gecikme süresi ve ek yükü önlenir. Bu çözümün gereksinimi 300 JSON iletisini/saniyesini işlemektir. Bellek için iyileştirilmiş tablolar bu aktarım hızı düzeyini sağlar.
  • Bellek için iyileştirilmiş tablolara en verimli şekilde yerel olarak derlenmiş saklı yordamlardan erişilir. Yorumlanan saklı yordamlardan farklı olarak, yerel olarak derlenmiş saklı yordamlar ilk oluşturulduğunda derlenir.
  • Zamansal tablo, değişiklik geçmişini otomatik olarak koruyan bir tablodur. Satır eklendiğinde veya güncelleştirildiğinde, sürüm oluşturulur ve geçmiş tablosuna yazılır. Bu çözümde, hesap profilleri 7 günlük bekletme ilkesine sahip bir zamana bağlı tabloda depolanır, bu nedenle bekletme süresinden sonra satırlar otomatik olarak kaldırılır.

Bu yaklaşım şu avantajları da sağlar:

  • operasyonel analiz, makine öğrenmesi modelini yeniden eğitme ve sahtekarlık doğrulaması için arşivlenmiş verilere erişim
  • Uzun süreli depolamaya basitleştirilmiş veri arşivleme
  • Parçalama verileri ve elastik veritabanı kullanımı yoluyla ölçeklenebilirlik

Olay şeması yönetimi

Şema yönetiminin otomasyonu, bu çözüm için çözülmesi gereken bir diğer zorlukdur. JSON, kısmen verilerle birlikte bir şema depolanmadığından esnek ve taşınabilir bir dosya biçimidir. JSON dosyalarının ayrıştırılması, seri durumdan çıkarılması ve işlenmesi gerektiğinde, veri özelliklerini ve veri türlerini doğrulamak için JSON'un yapısını temsil eden bir şemanın bir yere kodlanması gerekir. Şema gelen JSON iletisiyle eşitlenmemişse JSON doğrulaması başarısız olur ve veriler ayıklanmaz.

Yeni uygulama işlevselliği nedeniyle JSON iletilerinin yapısı değiştiğinde zorluk ortaya çıkar. Özgün çözümünde, bu çözümün oluşturulduğu banka her biri kendi kullanıcı arabirimi, işlevsellik, telemetri ve JSON ileti yapısına sahip birden çok uygulama ağ geçidi dağıttı. Şema gelen JSON verileriyle eşitlenmemiş olduğunda, tutarsızlıklar sahtekarlık algılama için veri kaybına ve işleme gecikmelerine neden oldu.

Bankanın bu olaylar için tanımlanmış resmi bir şeması yoktu ve JSON dosyalarının yapısındaki sürekli dalgalanmalar çözümün her yinelemesinde teknik borç oluşturdu. Bu çözüm, bu olaylar için bir şema oluşturup Azure Schema Registry'yi kullanarak bu sorunu çözer. Azure Schema Registry , olaylar için merkezi bir şema deposu ve üreticilerin ve tüketici uygulamalarının şemayı yönetmeye ve paylaşmaya gerek kalmadan veri alışverişi için esneklik sağlar. Yeniden kullanılabilir şemalar için sunduğu basit idare çerçevesi ve gruplandırma yapıları (şema grupları) aracılığıyla şemalar arasında tanımladığı ilişki önemli teknik borcu ortadan kaldırabilir, uyumluluğu zorunlu kılabilir ve değişen şemalar arasında geriye dönük uyumluluk sağlayabilir.

Makine öğrenmesi için özellik mühendisliği

Özellikler , farklı zaman ölçeklerinde etkinliği toplayarak hesap davranışının profilini oluşturmanın bir yolunu sağlar. Bunlar işlemsel, işlem dışı ve cihaz davranışını temsil eden uygulama günlüklerindeki verilerden oluşturulur. İşlem davranışı, ödemeler ve para çekme işlemleri gibi parasal işlem etkinliklerini içerir. İşlem dışı davranış, oturum açma girişimleri ve parola değişiklikleri gibi kullanıcı eylemlerini içerir. Cihaz davranışı, cihaz ekleme veya kaldırma gibi mobil cihaz içeren etkinlikleri içerir. Özellikler, aşağıdakiler dahil olmak üzere geçerli ve geçmiş hesap davranışını temsil etmek için kullanılır:

  • Belirli bir cihazdan yeni kullanıcı kaydı denemeleri.
  • Başarılı ve başarısız oturum açma girişimleri.
  • Üçüncü taraf alacaklı veya yararlanıcı ekleme istekleri.
  • Hesap veya kredi kartı sınırlarını artırma istekleri.
  • Parola değişiklikleri.

Hesap profili tablosu ileti kimliği, işlem türü, ödeme tutarı, haftanın günü ve günün saati gibi JSON işlemlerinden öznitelikler içerir. Etkinlikler bir saat, bir gün ve yedi gün gibi birden çok zaman diliminde toplanır ve her hesap için davranış geçmişi olarak depolanır. Tablodaki her satır tek bir hesabı temsil eder. Özelliklerden bazıları şunlardır:

Table that lists example features, including number of changed password messages in the past seven days and average withdrawal in the past day.

Hesap özellikleri hesaplanıp profil güncelleştirildikten sonra Azure işlevi rest API aracılığıyla puanlama için makine öğrenmesi modelini çağırarak şu soruyu yanıtlar: Gördüğümüz davranışa bağlı olarak bu hesabın sahtekarlık durumunda olma olasılığı nedir?

AutoML

AutoML , hızlı ve kullanımı kolay olduğundan çözümde kullanılır. AutoML, özel bilgi veya kurulum gerektirmediğinden hızlı bulma ve öğrenme için yararlı bir başlangıç noktası olabilir. Makine öğrenmesi modeli geliştirmenin zaman alan ve yinelemeli görevlerini otomatikleştirir. Veri bilimcileri, analistler ve geliştiriciler bunu kullanarak yüksek ölçeklenebilirlik, verimlilik ve üretkenlik ile makine öğrenmesi modelleri oluşturabilir ve model kalitesini sürdürebilir.

AutoML, bir makine öğrenmesi işleminde aşağıdaki görevleri gerçekleştirebilir:

  • Verileri eğitim ve doğrulama veri kümelerine bölme
  • Seçilen ölçüme göre eğitimi iyileştirme
  • Çapraz doğrulama gerçekleştirme
  • Özellik oluşturma
  • Eksik değerleri açma/kapatma
  • Tek etkin kodlama ve çeşitli ölçeklendiriciler gerçekleştirme

Veri dengesizliği

Ciddi sınıf dengesizliği nedeniyle sahtekarlık sınıflandırması zordur. Bir sahtekarlık veri kümesinde, sahte işlemlerden çok daha fazla sahte olmayan işlem vardır. Genellikle bir veri kümesinin yüzde 1'inden azı sahte işlemler içerir. Bu sorun giderilmezse, tüm işlemler sahte olmayan olarak sınıflandırılabileceğinden bu dengesizlik modelde güvenilirlik sorununa neden olabilir. Model tüm sahte işlemleri tamamen kaçırabilir ve yine de yüzde 99 doğruluk oranı elde edebilir.

AutoML verileri yeniden dağıtmaya yardımcı olabilir ve sahte ve sahte olmayan işlemler arasında daha iyi bir denge oluşturabilir:

  • AutoML, giriş olarak bir ağırlık sütunu eklemeyi destekler ve bu da verilerdeki satırların yukarı veya aşağı ağırlıklı olmasına neden olur ve bu da sınıfı daha az önemli hale getirir. AutoML tarafından kullanılan algoritmalar, azınlık sınıfındaki örnek sayısının çoğunluk sınıfındaki örnek sayısının yüzde 20'sine eşit veya daha az olması durumunda dengesizliği algılar. Daha sonra AutoML, alt örneklenmiş verilerle denemeyi çalıştırarak sınıf ağırlıklarının kullanılmasının bu sorunu giderip çözmediğini ve performansı iyileştirip geliştirmediğini denetler. Deneme nedeniyle performansın daha iyi olduğunu belirlerse, çözüm uygulanır.
  • Dengesiz verileri daha iyi işleyen bir performans ölçümü ölçümü kullanabilirsiniz. Örneğin, modelinizin hatalı negatiflere duyarlı olması gerekiyorsa kullanın recall. Modelin hatalı pozitiflere duyarlı olması gerektiğinde kullanın precision. F1 puanı da kullanabilirsiniz. Bu puan ile recallarasındaki precision harmonik ortalamadır, bu nedenle çok sayıda gerçek pozitif veya gerçek negatiften etkilenmez. Test aşamasında bazı ölçümleri el ile hesaplamanız gerekebilir.

Alternatif olarak, sahte olarak sınıflandırılan işlemlerin sayısını artırmak için Yapay Azınlık Oversampling Technique (SMOTE) adlı bir tekniği el ile kullanabilirsiniz. SMOTE, azınlık sınıfının örneklerini üretmek için bootstrapping ve k-nearest komşu (KNN) kullanan istatistiksel bir tekniktir.

Model eğitimi

Python SDK'sı model eğitimi için pandas veri çerçevesi biçiminde veya Azure Machine Learning tablolu veri kümesi olarak veri bekler. Tahmin etmek istediğiniz değerin veri kümesinde olması gerekir. Eğitim işini oluştururken y sütununu parametre olarak geçirirsiniz.

Açıklamalar içeren bir kod örneği aşağıda verilmiştir:

data = https://automlsamplenotebookdata.blob.core.windows.net/automl-sample-notebook-data/creditcard.csv
dataset = Dataset.Tabular.from_delimited_files(data)
training_data, validation_data = dataset.random_split(percentage=0.7)
label_column_name = "Class"

automl_settings = {
    "n_cross_validations": 3, # Number of cross validation splits.
    "primary_metric": "average_precision_score_weighted", # This is the metric that you want to optimize.
    "experiment_timeout_hours": 0.25, # Percentage of an hour you want this to run.
    "verbosity": logging.INFO, # Logging info level, debug, info, warning, error, critical.
    "enable_stack_ensemble": False, # VotingEnsembled is enabled by default.
}

automl_config = AutoMLConfig(
    task="classification",
    debug_log="automl_errors.log",
    training_data=training_data,
    label_column_name=label_column_name,
    **automl_settings,
)

local_run = experiment.submit(automl_config, show_output=True)

Kodda:

  1. Veri kümesini bir Azure Machine Learning tablolu veri kümesine veya pandas veri çerçevesine yükleyin.
  2. Veri kümesini yüzde 70 eğitim ve yüzde 30 doğrulamaya bölün.
  3. Tahmin etmek istediğiniz sütun için bir değişken oluşturun.
  4. AutoML parametrelerini oluşturmaya başlayın.
  5. öğesini yapılandırın AutoMLConfig.
    1. task yapmak istediğiniz makine öğrenmesi türüdür: classification veya regression. Bu örnekte hazırlama kullanın.
    2. debug_log hata ayıklama bilgilerinin yazıldığı konumdur.
    3. training_data , eğitim verilerinin yüklendiği veri çerçevesi veya tablosal nesnedir.
    4. label_column_name tahmin etmek istediğiniz sütundur.
  6. Makine öğrenmesi işini çalıştırın.

Modeli değerlendirme

İyi bir model gerçekçi ve eyleme dönüştürülebilir sonuçlar üretir. Sahtekarlık algılama modelinin karşılaştığı zorluklardan biri de bu. Sahtekarlık algılama modellerinin çoğu, bir işlemin sahte olup olmadığını belirlemek için ikili bir karar oluşturur. Karar iki faktöre dayanır:

  • Sınıflandırma algoritması tarafından döndürülen 0 ile 100 arasında bir olasılık puanı
  • İşletme tarafından oluşturulan bir olasılık eşiği. Eşiğin üzerinde sahte olarak kabul edilir ve eşiğin altında sahte olmayan kabul edilir.

Olasılık, herhangi bir sınıflandırma modeli için standart bir ölçümdür. Ancak daha fazla kaybı önlemek için bir hesabın engellenip engellenmeyeceğine ilişkin kararlar almak için dolandırıcılık senaryosunda genellikle yeterli değildir.

Bu çözümde, hesap düzeyinde ölçümler oluşturulur ve işletmenin bir hesabı engellemek için eylemde bulunup bulunmayacağı kararına dahil edilir. Hesap düzeyindeki ölçümler şu endüstri standardı ölçümlere göre tanımlanır:

Sahtekarlık yöneticisi endişesi Metrik Sistem Açıklama
Sahtekarlık algılıyorum mu? Sahtekarlık Hesabı Algılama Oranı (ADR) Tüm sahtekarlık hesaplarında algılanan sahtekarlık hesaplarının yüzdesi.
Ne kadar para biriktiriyorum (kayıp önleme)? Uyarı maliyetine tepki vermede ne kadar gecikme olur? Değer Algılama Oranı (VDR) Geçerli sahtekarlık işleminin sonraki işlemlerde tüm dolandırıcılık kayıpları üzerinde bir engelleme eylemi tetiklediği varsayılarak parasal tasarruf yüzdesi.
Kaç iyi müşteri rahatsız ediyorum? Hesap Yanlış Pozitif Oranı (AFPR) Algılanan her gerçek sahtekarlık için (günlük) bayrak eklenmiş sahte olmayan hesapların sayısı. Algılanan hatalı pozitif hesapların algılanan sahte hesaplar üzerindeki oranı.

Bu ölçümler bir sahtekarlık yöneticisi için değerli veri noktalarıdır. Yönetici bunları kullanarak hesap riskinin daha eksiksiz bir resmini alır ve düzeltmeye karar verir.

Model kullanıma hazır hale getirme ve yeniden eğitme

Tahmine dayalı modellerin düzenli aralıklarla güncelleştirilmiş olması gerekir. Zaman içinde ve yeni ve farklı veriler kullanıma sunuldukça tahmine dayalı bir modelin yeniden eğitilmesi gerekir. Bu, özellikle yeni suç faaliyeti düzenlerinin sık olduğu sahtekarlık algılama modelleri için geçerlidir. Ayrıca, uygulama ağ geçidine gönderilen değişiklikler nedeniyle mobil uygulama günlüklerindeki telemetri değiştiğinde de gerekli hale gelir. Bu çözümde yeniden eğitim sağlamak için analiz için gönderilen her işlem ve ilgili model değerlendirme ölçümleri günlüğe kaydedilir. Zaman içinde model performansı izlenir. Düzeyi düşürülmüş gibi göründüğünde yeniden eğitme iş akışı tetikleniyor. Yeniden eğitme iş akışında birkaç Azure hizmeti kullanılır:

  • Geçmiş müşteri verilerini depolamak için Azure Synapse Analytics'i veya Azure Data Lake'i kullanabilirsiniz. Bu hizmetleri, şirket içi kaynaklardan yüklenen bilinen sahte işlemleri ve azure Machine Learning web hizmetinden arşivlenen verileri (işlemler, tahminler ve model değerlendirme ölçümleri dahil) depolamak için kullanabilirsiniz. Yeniden eğitme için gereken veriler bu veri deposunda depolanır.

  • Data Factory veya Azure Synapse işlem hatlarını kullanarak veri akışını ve yeniden eğitme sürecini düzenleyebilirsiniz; örneğin:

    • Şirket içi sistemlerden geçmiş verileri ve günlük dosyalarını ayıklama.
    • JSON seri durumdan çıkarma işlemi.
    • Veri ön işleme mantığı.

    Ayrıntılı bilgi için bkz . Azure Machine Learning modellerini Azure Data Factory ile yeniden eğitme ve güncelleştirme.

  • Azure Machine Learning'de mavi-yeşil dağıtımları kullanabilirsiniz. En düşük kapalı kalma süresiyle yeni bir model dağıtma hakkında bilgi için bkz. Çevrimiçi uç noktalar için Kasa dağıtımı.

Bileşenler

  • Azure İşlevleri olay odaklı sunucusuz kod işlevleri ve uçtan uca geliştirme deneyimi sağlar.
  • Event Hubs , tam olarak yönetilen, gerçek zamanlı bir veri alımı hizmetidir. Herhangi bir kaynaktan saniyede milyonlarca olay akışı yapmak için bunu kullanabilirsiniz.
  • Key Vault , bulut uygulamaları ve hizmetleri tarafından kullanılan şifreleme anahtarlarını ve diğer gizli dizileri şifreler.
  • Azure Machine Learning , uçtan uca makine öğrenmesi yaşam döngüsü için kurumsal düzeyde bir hizmettir.
  • AutoML , makine öğrenmesi modeli geliştirmenin zaman alan ve yinelemeli görevlerini otomatikleştirmeye yönelik bir süreçtir.
  • Azure SQL Veritabanı, bulut için oluşturulmuş, her zaman güncel, tam olarak yönetilen bir ilişkisel veritabanı hizmetidir.
  • Azure Synapse Analytics , veri tümleştirmesi, kurumsal veri ambarı ve büyük veri analizini bir araya getiren sınırsız bir analiz hizmetidir.

Teknik olarak dikkat edilmesi gereken konular

Sahtekarlık algılama için sürekli çalışan bulut tabanlı bir altyapı için doğru teknoloji bileşenlerini seçmek için, mevcut ve bazen belirsiz gereksinimleri anlamanız gerekir. Bu çözümün teknoloji seçimleri, benzer kararlar almanıza yardımcı olabilecek önemli noktalara dayanır.

Beceri kümeleri

Çözümü tasarlayan, uygulayan ve koruyan ekiplerin mevcut teknoloji beceri kümelerini göz önünde bulundurun. Bulut ve yapay zeka teknolojileri, çözüm uygulamak için kullanılabilecek seçenekleri genişletir. Örneğin, ekibiniz temel veri bilimi becerilerine sahipse Azure Machine Learning model oluşturma ve uç nokta için iyi bir seçimdir. Event Hubs'ı kullanma kararı başka bir örnektir. Event Hubs, kurulumu ve bakımı kolay yönetilen bir hizmettir. Kafka gibi bir alternatif kullanmanın teknik avantajları vardır, ancak bunu yapmak için eğitim gerekebilir.

Hibrit işletim ortamı

Bu çözümün dağıtımı, şirket içi ortamı ve Azure ortamını kapsar. Hizmetlerin, ağların, uygulamaların ve iletişimin iş yükünü desteklemek için her iki altyapıda da etkili bir şekilde çalışması gerekir. Teknoloji kararları şunlardır:

  • Ortamlar nasıl tümleştirilir?
  • Azure veri merkezi ile şirket içi altyapı arasındaki ağ bağlantısı gereksinimleri nelerdir? Azure ExpressRoute, çift çizgiler, yedeklilik ve yük devretme sağladığından kullanılır. Siteden siteye VPN, iş yükü için gereken güvenliği veya Hizmet Kalitesi'ni (QoS) sağlamaz.
  • Sahtekarlık algılama puanları arka uç sistemleriyle nasıl tümleşir? Puanlama yanıtları, müşterilerle veya diğer olay yönetimi etkinlikleriyle işlemlerin doğrulanmasını otomatikleştirmek için arka uç sahtekarlık iş akışlarıyla tümleştirilmelidir. Azure hizmetlerini şirket içi sistemlerle tümleştirmek için Azure İşlevleri veya Logic Apps kullanabilirsiniz.

Güvenlik

Bulutta bir çözüm barındırmak yeni güvenlik sorumlulukları oluşturur. Bulutta güvenlik, bulut satıcısıyla müşteri kiracısı arasında paylaşılan bir sorumluluktır. İş yükü sorumlulukları, iş yükünün SaaS, PaaS veya IaaS hizmeti olmasına bağlı olarak değişir. Daha fazla bilgi için bkz . Bulutta paylaşılan sorumluluk.

İster Sıfır Güven bir yaklaşıma doğru ilerlerken ister mevzuat uyumluluğu gereksinimlerini uygulamak için çalışıyor olun, çözümün uçtan uca güvenliğini sağlamak için dikkatli planlama ve dikkate alınması gerekir. Tasarım ve dağıtım için, Sıfır Güven bir yaklaşımla tutarlı olan güvenlik ilkelerini benimsemenizi öneririz. Açıkça doğrulama, en az ayrıcalık erişimi kullanma ve ihlali varsayma gibi ilkeleri benimsemek iş yükü güvenliğini güçlendirir.

Erişim isteğinin çeşitli yönlerini inceleme ve değerlendirme işleminin açıkça doğrulandığından emin olun. İlkelerden bazıları şunlardır:

  • Microsoft Entra ID gibi güçlü bir kimlik platformu kullanın.
  • Her bulut hizmeti için güvenlik modelini ve verilerin ve erişimin nasıl güvenli hale getirildiğinden emin olun.
  • Mümkün olduğunda, bulut hizmetlerine erişimi denetlemek için yönetilen kimlik ve hizmet sorumlularını kullanın.
  • AnahtarLar, gizli diziler, sertifikalar ve veritabanı dizeleri, REST uç nokta URL'leri ve API anahtarları gibi uygulama yapıtlarını Key Vault'ta depolayın.

En az ayrıcalık erişimi kullan, izinlerin yalnızca uygun bir ortamdan uygun bir istemciye belirli iş gereksinimlerini karşılamak için verildiğinden emin olunmasını sağlar. İlkelerden bazıları şunlardır:

  • Rol atamaları veya ağ erişimi aracılığıyla bir bileşenin veya kaynağın ne kadar erişimi olduğunu sınırlayarak iş yüklerini bölümlere ayırın.
  • Uç noktalara ve hizmetlere genel erişime izin verme. Hizmetiniz genel erişim gerektirmediği sürece hizmetlerinizin korunmasına yardımcı olmak için özel uç noktaları kullanın.
  • Sanal ağları kullanarak hizmet uç noktalarının güvenliğini sağlamaya veya iş yüklerini yalıtmaya yardımcı olmak için güvenlik duvarı kurallarını kullanın.

İhlal , tasarım ve dağıtım kararlarına yol gösteren bir stratejidir. Strateji, bir çözümün gizliliğinin ihlal edildiğini varsaymaktır. Bir güvenlik tehdidinin algılanması, yanıtlanması ve düzeltilmesi planlanarak iş yükünde dayanıklılık oluşturmaya yönelik bir yaklaşımdır. Tasarım ve dağıtım kararları için şunları ifade eder:

  • İş yükü bileşenleri yalıtılmış ve segmentlere ayrılmıştır, böylece bir bileşenin güvenliğinin aşılmış olması yukarı akış veya aşağı akış bileşenleri üzerindeki etkiyi en aza indirir.
  • Telemetri, anomalileri ve olası tehditleri belirlemek için proaktif olarak yakalanır ve analiz edilir.
  • Otomasyon, bir tehdidi algılamak, yanıtlamak ve düzeltmek için gerçekleştirilir.

Dikkate alınması gereken bazı yönergeler şunlardır:

  • Bekleyen ve aktarımdaki verileri şifreleyin.
  • Hizmetler için denetimi etkinleştirin.
  • Analiz ve bağıntıyı kolaylaştırmak için denetim günlüklerini ve telemetriyi tek bir günlük çalışma alanında yakalayın ve merkezileştirin.
  • güvenlik açığı olabilecek yapılandırmaları taramak ve olası güvenlik sorunları için erken uyarı sağlamak için Bulut için Microsoft Defender etkinleştirin.

Ağ, en önemli güvenlik faktörlerinden biridir. Varsayılan olarak Azure Synapse çalışma alanı uç noktaları genel uç noktalardır. Bu, bunlara herhangi bir genel ağdan erişilebileceği anlamına gelir, bu nedenle çalışma alanına genel erişimi devre dışı bırakmanızı kesinlikle öneririz. Çalışma alanınızla diğer Azure hizmetleri arasında bir yalıtım katmanı eklemek için Yönetilen Sanal Ağ özelliği etkinken Azure Synapse'i dağıtmayı göz önünde bulundurun. Yönetilen Sanal Ağ ve diğer güvenlik faktörleri hakkında daha fazla bilgi için bkz. Azure Synapse Analytics güvenlik teknik incelemesi: Ağ güvenliği.

Diagram that shows the networking considerations for the solution.

Bu mimarinin bir Visio dosyasını indirin.

Banka çözümündeki her çözüm bileşenine özgü güvenlik kılavuzu aşağıdaki tabloda yer alır. İyi bir başlangıç noktası için her bir Azure hizmeti için güvenlik temellerini içeren Azure Güvenlik Karşılaştırması'nı gözden geçirin. Güvenlik temeli önerileri, her hizmet için güvenlik yapılandırma ayarlarını seçmenize yardımcı olabilir.

Event Hubs kümeleri Anahtar Kasası Azure Data Lake Storage 2. Nesil Azure Synapse Analytics çalışma alanı: Spark havuzları Azure SQL Azure Functions
Veri koruma
- Bekleme sırasında şifreleme Yerleşik Yerleşik Yerleşik Yerleşik Yerleşik Yerleşik
- Aktarım sırasında şifreleme TLS 1.2 TLS 1.2 TLS 1.2 TLS 1.2 TLS 1.2, istemcileri SQL Veritabanı güvenli bir şekilde bağlanacak şekilde yapılandırın TLS 1.2'ye zorlama
- Veri sınıflandırması Amaç Purview veya Azure SQL Veri Bulma ve Sınıflandırma
Erişim denetimi Microsoft Entra RBAC, paylaşılan erişim imzaları Microsoft Entra RBAC, Koşullu Erişim RBAC (kaba taneli), ACL (ayrıntılı), paylaşılan erişim imzaları, Paylaşılan Anahtar yetkilendirmesi Azure Synapse RBAC SQL RBAC, Görev Ayrımı Azure RBAC, işlev ve konak anahtarları, uç noktalar
Kimlik Doğrulaması Microsoft Entra seçenekleri Microsoft Entra Id, Atanmış sorumlu olarak önerilen Microsoft Entra güvenlik grubu Microsoft Entra Id, çok faktörlü kimlik doğrulaması, yönetilen kimlik Microsoft Entra ID Yönetilen kimlik (hem kullanıcı tarafından atanan hem de sistem tarafından atananlar desteklenir)
Günlüğe kaydetme ve izleme Event Hubs'ı izleme Key Vault'ı izleme, günlüğe kaydetme İzleme Azure Blob Depolama Günlüğe kaydetmeyi, tanılama ayarlarını etkinleştirme İzleme, günlüğe kaydetme ve denetleme Günlük ve izleme
Koruma ve algılama
- Azure güvenlik temeli Event Hubs Anahtar Kasası Azure Depolama Synapse Analytics Çalışma Alanı SQL Veritabanı Azure Functions
- Önerilen güvenlik uygulamaları Anahtar Kasası Azure Depolama Azure Synapse Analytics güvenlik teknik incelemesi Ortak güvenlik gereksinimleri için Playbook Azure İşlevleri güvenliğini sağlama
- Bulut için Defender kullanarak güvenlik duruşu ve yapılandırmasını izleme Evet Evet Evet Evet Evet Evet
- Gelişmiş tehdit algılama Yerel hizmet yok. Günlükleri Log Analytics Çalışma Alanına / Sentinel'e iletme seçeneği. Key Vault için Defender Depolama için Defender Yerel hizmet yok. Günlükleri Log Analytics Çalışma Alanına / Sentinel'e iletme seçeneği. SQL için Defender Yerel hizmet yok. Günlükleri Log Analytics Çalışma Alanına / Sentinel'e iletme seçeneği.

Daha fazla bilgi için bkz. Sıfır Güven Rehberlik Merkezi.

Ölçeklenebilirlik

Çözümün yoğun zamanlarda uçtan uca gerçekleştirmesi gerekir. Milyonlarca sürekli gelen olayı işlemek için akış iş akışı yüksek aktarım hızına ihtiyaç duyar. Teknoloji bileşenlerinin gerekli gecikme sürelerini karşılayacak şekilde yapılandırıldığından ve ayarlandığından emin olmak için birimi ve eşzamanlılığı simüle eden bir test sistemi oluşturmayı planlayın. Ölçeklenebilirlik testi özellikle bu bileşenler için önemlidir:

  • Eşzamanlı veri akışlarını işlemek için veri alımı. Bu mimaride Event Hubs, birden çok örneğinin dağıtılabilmesi ve farklı tüketici gruplarına atanabilmesi nedeniyle kullanılır. Ölçeği büyütmek kilitlenmeye neden olabileceği için ölçeği genişletme yaklaşımı daha iyi bir seçenektir. Mobil bankacılıktan dolandırıcılık algılamayı İnternet bankacılığı kanalını içerecek şekilde genişletmeyi planlıyorsanız ölçeği genişletme yaklaşımı da daha uygundur.
  • İşlem akışını yönetmek ve zamanlamak için bir çerçeve. Azure İşlevleri iş akışını yönetmek için kullanılır. geliştirilmiş aktarım hızı için iletiler mikro toplu işler halinde işlenir ve işlev çağrısı başına bir ileti işlemek yerine tek bir Azure işlevi aracılığıyla işlenir.
  • Ayrıştırma, ön işleme, toplamalar ve depolamayı işlemek için düşük gecikme süreli bir veri işlemi. Bu makalenin temel alındığı gerçek dünya çözümünde bellek içi iyileştirilmiş SQL işlevlerinin özellikleri ölçeklenebilirlik ve eşzamanlılık gereksinimlerini karşılar.
  • Eşzamanlı istekleri işlemek için model puanlaması. Azure Machine Learning web hizmetleriyle ölçeklendirme için iki seçeneğiniz vardır:
    • API eşzamanlılık iş yükünü desteklemek için bir üretim web katmanı seçin.
    • 200'den fazla eşzamanlı isteği desteklemeniz gerekiyorsa web hizmetine birden çok uç nokta ekleyin.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazarlar:

Diğer katkıda bulunan:

Sonraki adımlar