Hem mobil hem de masaüstünde güvenli yazılım nasıl oluşturulur?

Yayınlanan: 2019-03-06

Modern dünyada, güvenlik endişeleri her zamankinden daha fazla dikkat çekiyor. Madeni para başına yüzlerce ve binlerce dolar değerindeki kripto para birimlerinin yükselişi ile çeşitli bilgisayar korsanları ve dolandırıcılar gelişmeye başladı. Ünlülerin hassas verileri, bankacılık kimlik bilgileri, para transferleri veya yeni teknolojiler hakkında bilgiler - insanlar temel koruma önlemlerini göz ardı etme eğiliminde oldukları için çevrimiçi sahtekarlar her şeyden yararlanır.

Ancak, bir balık baştan aşağı kokar. Yazılım geliştiriciler tarafından tasarlanan uygun güvenlik özellikleri olmadan, verilerinizi istemci tarafında korumanız mümkün değildir. Masaüstü/web platformları en üst sıralarda yer alırken, sürekli artan işlevler nedeniyle mobil cihazların daha fazla popülerlik kazandığı gerçeğini göz önünde bulundurarak, yazarların ürünlerini nasıl uyumlu ve güvenli hale getirebileceklerini keşfetmek istiyoruz. Son bölümde kullanıcılar için ipuçları bulacaksınız.

Özetle Güvenlik

İlk olarak, uygulama güvenliği ve güvenlik yazılımı arasında ayrım yapalım. Bu terimler eş anlamlı görünebilir, ancak ilk tanımın serbest bırakılan ürünün genel güvenliğini temsil ettiği ve ikinci tanımın hem dağıtım sonrası hem de dağıtım öncesi aşamaları kapsadığı farklı yönlerle ilgilidir.

Temel olarak, yazılım uygulamaları, kullanıcıların mobil araçlar veya masaüstü platformları aracılığıyla verilerle etkileşime girmesine yardımcı olan basit araçlardır. Diyelim ki, bir sağlık kaydını kontrol etmek veya son işlemleriniz hakkında bilgi almak istiyorsanız, bu yerleri aramak veya ziyaret etmek yerine bir akıllı telefon veya hastane/banka web sitesi kullanmak çok daha uygun.

Sorun, yazılımın duyarlılığına göre sınıflandırılan veri türlerini tanımamasıdır. Manuel olarak programlanmış kategoriler ve erişimler olmadan uygulamalar, adınızı kredi kartınızın CVV/CVC numaralarından ayırt edemez. Bu nedenle, ilk geliştirme aşamalarından itibaren uygun bir güvenlik sistemi oluşturmaya başlamak önemlidir. İşte bu süreçle ilgili bazı ipuçları:

  • Güvenli kodlama gerçekleştirin.
  • Verileri sınıflandırın ve yetkilendirme gereksinimlerini belirleyin.
  • Hataları bulun ve onlardan kurtulun.
  • Her geliştirme aşamasında güvenliği değerlendirin.
  • Üçüncü taraf öğelerinin güvenilirliğini kontrol edin.
  • Geliştiricileri dolandırıcılık teknikleri konusunda eğitin.
  • Çalışanlardan 2FA talep edin.
  • Yazılımı yayınlandıktan sonra düzenli olarak yükseltin.

Bilinen Güvenlik Sorunları

Mobil ve masaüstü platformlarının bilgisayar korsanlarına karşı ne kadar savunmasız olduğunu anlamadan, sağlam bir korumalı uygulama oluşturmak pek mümkün değil. Basitçe söylemek gerekirse, farklı mimariye sahip cihazlara giriş yapmak için birkaç geleneksel yaklaşım vardır, bu yüzden onları hemen kontrol etmeyi öneriyoruz. Bu noktalar, hem mobil hem de masaüstü ürünler için en iyi güvenlik önlemlerini planladığınız tasarım aşamasında yardımcı olacaktır.

Akıllı Telefonlar ve Tabletler

On-the-go yaşam tarzı özellikleri mobil cihazlar zorunlu. Böylece, birçok insan artık temel verilerini bilgisayarlardan akıllı telefonlara aktarıyor veya en azından iki platform arasında bilgi senkronize ediyor. Sonuç olarak, dolandırıcıların değerli verilere erişebilecekleri bir nokta daha elde ediyoruz. Teknik olarak, üç savunmasız yön vardır:

  • Cihazın donanımı.
  • Yazılımın kendisi.
  • Genel ağlar.

Örneğin, hırsızlar bir kalabalığın içinde telefonunuzu kolayca çalabilir, rootlayabilir ve sistem içindeki her şeye erişebilir. Resmi olmayan distribütörlerden gadget satın alırsanız, donanım da düzenlenebilir. Bu zayıf nokta dışında, bilgisayar korsanlarının korumasız halka açık Wi-Fi ağları aracılığıyla akıllı telefonlara ve tabletlere girdiği bilinmektedir. Son olarak, resmi olmayan bir mağazadan indirildiyse, sıradan bir oyun veya medya uygulaması aracılığıyla kötü amaçlı yazılım yüklemenin hiçbir anlamı yoktur.

Web ve Masaüstü

Hem tarayıcılar hem de indirilen yazılımlar, İnternet bağlantısı gerektiriyorsa genellikle benzer şekilde çalışır. Burada uygulama, ana veritabanı (ve web sitelerinde gezinmek için bir tarayıcı kullanıyorsanız arayüzler) bağlı sunucudayken istekleri gönderen ve sonuçları alan bir istemci tarafı gibi davranır. Bu nedenle, güvenlik sorunları üç bölüme ayrılır:

  • Müşteri tarafı.
  • Sunucu tarafı.
  • Veri alışverişi süreci.

En tehlikeli sorun, eski yazılımlarla ilgilidir, çünkü çevrimiçi sahtekarlar, artık güncellenmiş sistemler tarafından korunmayan eski arayüzlere kolayca girebilir. Ayrıca, sayfa önbelleğe alma, kötü şifreleme hizmetleri ve tanımlama bilgileri tarafından açığa çıkarılan adresler/hassas bilgiler, bilgisayar korsanları tarafından kullanılabilecek potansiyel zayıf bağlantılardır.

Güvenli Yazılım Geliştirme

Şimdi soru şu: Bu kadar farklı zaaflara sahiplerse, her iki platform için de güvenilir bir sistem nasıl oluşturulur? Genel olarak üç yaklaşım vardır. En uygun olanı seçebilirsiniz, ancak her örneğin artılarını ve eksilerini göz önünde bulundurduğunuzdan emin olun.

Mobil VE Masaüstü

Bu durumda geliştiriciler (mobil platformlar ve tarayıcılar/masaüstüler için) birbirinden ayrı iki ürün oluşturmalıdır. Uygulamalar birbirine bağlı veya senkronize değil, bu nedenle ekibinizin iki kat daha fazla kaynak yatırması gerekeceğinden hem para hem de zaman açısından yüksek harcamalara hazır olun. Sonuç olarak, her biri özel olarak hedef platformlar için tasarlanmış kendi korumasına sahip iki ayrı uygulama piyasaya sürülecek.

Masaüstü İLE Mobil

Bu seçenek, yüksek düzeyde uyarlanabilir bir web sitesi başlatmayı sağlar, böylece tüm öğeleri web ve mobil kullanıcılar için düzgün bir şekilde görüntüleyecektir. Sonuç olarak, yukarıda açıklanan web güvenlik açıklarına dayalı olarak yalnızca bir zayıf noktası olan tek bir platform elde edersiniz. Bununla birlikte, nihai ürün yerel mobil platformlardan daha az işlevsel olacak, içerik daha yavaş yüklenecek ve genel özellikler sınırlı olacaktır.

Mobil PLUS Masaüstü

Ayrı projeler oluşturmak veya mobil uyumlu bir web sitesi tasarlamak yerine, en verimli ve güvenli seçenek var. Diceus.com geliştiricileri de dahil olmak üzere çeşitli ekipler bu yaklaşımı kullanır. Tek bir arka uç platformu oluşturmak ancak bunun üzerine iki farklı ön uç sistemi kurmak gerekiyor.

Örneğin, hem mobil hem de masaüstü bilgisayarlar için ölçeklenebilir mimariyi destekleyen RESTful API kullanılarak temel yazılımlar gerçekleştirilebilir. Ayrıca, React.js web ön yüzü için iyi bir seçimdir, Xamarin veya Cordova çerçeveleri ise mobil platformlar arası geliştiricilerin ihtiyaçlarını karşılayacaktır.

Güvenlik önlemlerine geçerken, mobil masaüstü yaklaşımı için zaman içinde kanıtlanmış birkaç yöntem vardır:

  • Birinci sınıf şifreleme sağlayın. Web sürümleri için, hack'leri önleyen gerçek şifreleme teknolojisine sahip olmak gerekir.
  • Algılamaları dahil et. Ön uç sistemlerin arka uç platformuyla güçlü bir bağlantısı varsa, kötü amaçlı yazılımları istediğiniz zaman tespit edebileceksiniz.
  • Kendini korumayı içerir. Uygulamalar, etkin olmayan oturumlardan vazgeçme veya hata bildirimleri gibi çalışma zamanı özelliklerini kullanabilir.
  • Yazılımı düzenli olarak test edin. Kod testi için SAST, uygulamalar ve altyapılar için DAST ve veri kontrolleri için IAST kullanın.
  • Ürünleri güncelleyin ve destekleyin. Düzenbazlar yeni saldırılar icat ederken, yeni savunma önlemleriyle hızlı bir şekilde yanıt vermek daha iyidir.

Tanımlanan geliştirme modeli, kaynaklar, özellikler ve güvenlik açısından en dengeli olanıdır. Dört ayrı ürün öğesi yerine üç noktayı (bir arka uç ve iki ön uç) oluşturup korumanız gerekir, ancak neredeyse aynı işlevselliğe sahip olursunuz.

Kullanıcı Odaklı Koruma

Günün sonunda, istemci tarafı güvenliği unutmayın. Geliştiriciler mümkün olan en iyi sistemi oluşturabilir, ancak kullanıcıların ihmali her şeyi mahveder. Türü ne olursa olsun belirli bir yazılımı kullanırken, İnternet hijyenini unutmayın: şüpheli e-postalara güvenmeyin, web sitelerinin şifreleme sertifikalarını iki kez kontrol edin, virüsten koruma programları kullanın, vb. SMS veya kimlik doğrulama uygulamaları aracılığıyla ekstra doğrulama kodları almak için her zaman 2FA'yı etkinleştirin. Akıllı telefonlar ve tabletler için parmak izi veya yüz algılama gibi biyometrik tanımlama araçlarını kullanın.

Genel olarak, hem geliştiriciler hem de kullanıcılar nasıl yapılacağını bildiğinde verileri korumak zor değildir. Hepimiz güvenlik kurallarına sıkı sıkıya uysaydık, bilgisayar korsanları işlerini kaybederdi.

Bu konuda herhangi bir fikriniz var mı? Aşağıdaki yorumlarda bize bildirin veya tartışmayı Twitter veya Facebook'a taşıyın.

Editörün Önerileri:

  • Akış yazılımı şirketi Lightstream'in CEO'su Stu Grubbs ile röportaj
  • 2019'da takip etmeniz gereken 10 yazılım geliştiricisi
  • En popüler oyun yazılımı sağlayıcılarından 5'i
  • İşte en büyük ve en başarılı iGaming yazılım sağlayıcıları
  • Virüsten koruma yazılımınız internet hızınızı yavaşlatabilir mi?