Geliştiriciler olarak müşterilerimize geliştirdiğimiz yazılımların güvenlik standartlarına da uygun olmasına özen göstermeliyiz. Siber güvenlik, dijital dünyanın diğer bütün kollarında olduğu kadar robotik süreç geliştirme dünyasında da önemli bir yer tutuyor. Robot makinalarımız çoğunlukla bir şirkette görev alan üst düzey IT yöneticilerinden bile fazla yetkiye sahip olabiliyor. Bu durumun kötü niyetli kişiler tarafından istismar edilmesinin önlenmesi adına alınabilecek tedbirlere yer vereceğim, UiPath ile Güvenli Yazılım Geliştirme başlığıyla bir yazı dizisi hazırlamaya karar verdim. Bu yazı dizisinde güvenlik riskleri, alınacak önlemler ve piyasadaki en iyi pratiklere(best practices) yer vereceğim.
Giriş kısmında da bahsettiğim gibi, dijital dünyadaki diğer ortamlarda olduğu gibi robotik süreç otomasyonları da güvenlik açıkları bulundurabilir. UiPath, yazılan süreçlerin ve ortamın devamlı olarak güvenli kalması için pek çok özellik geliştirmektedir. UiPath 40 farklı devlete ait kuruluşların kullandığı bir yazılım ve NASA’nın da UiPath kullandığını belirtmekte yarar var. Bu kuruluşların UiPath’i kullanmaya karar vermesindeki en büyük etkenlerden biri de elbette güvenli özellikler sağlaması. Biz yazılım geliştiricilerin sorumluluğu da bu güvenli geliştirme metotlarını öğrenip, süreçlerimizde uygulamaktır.
Yazı dizimizin ilk bölümünde UiPath ekosistemini daha yakından tanıyacağız ve taşıdığı potansiyel güvenlik risklerini inceleyeceğiz. Sonraki yazılarda bu risklere atıfta bulunarak alınması gereken tedbirleri ve en iyi pratikleri öğreniyor olacağız.
UiPath Mimarisini Tanıyalım
UiPath ile gerçekleştirilen robotik süreç otomasyonları Studio, Robot ve Orchestrator’dan oluşmaktadır.
Kısaca özetlersek Studio yazılımın geliştirildiği ortamı, Robot tamamlanan yazılımın üzerinde koşturulduğu ortamı, Orchestrator çalışan süreçlerin takibinin, kontrolünün ve ayarlamalarının yapıldığı ortamdır.
UiPath Studio programı yazılımcının bilgisayarında ya da bir Work-Station sunucuda çalışmaktadır. Geliştirme ve test işlemleri burada gerçekleştirilir.
UiPath Robot bir servis yazılımıdır ve robot makinesi olan bir sunucu cihazında kuruludur. Production ortamındaki süreçler bu yazılım sayesinde o makine üzerinde koşturulur.
UiPath Orchestrator bir web uygulamasıdır. IIS (Web uygulama sunucusu) üzerinde kuruludur. Kullanıcılar browser üzerinden orchestrator’a ulaşabilirler. Aynı zamanda Orchestrator API yoluyla robot makinelerde bulunan UiPath Robot servis uygulamalarıyla da sürekli olarak haberleşme halindedir.
Güvenlik Riski Oluşturan Durumlar
Robotların, normalde personellerin kullandığı kullanıcı adı ve şifre bilgilerine erişime sahip olması
UiPath üzerinde geliştirdiğimiz otomasyon projesi, müşterimizin kullandığı yazılımlar üzerinde varolan ya da robota özel oluşturulan ve pek çok yetkiyi içeren kullanıcı bilgilerine(credentials) sahiptirler. Bu bilgileri ilgili yazılıma giriş yaparken kullanmak zorunda olduğu için, çalışma esnasında robot bu bilgiyi elde eder ve ilgili giriş ekranındaki alanları doldurur.
Bu aşamada Robot’un bu kullanıcı bilgilerini(credentials) elde yöntemi ve giriş ekranını doldurma yöntemi, kötü niyetli kişilerin bu bilgilere ulaşmasına engel olmak için güvenli bir şekilde geliştirilmelidir.
Geliştirme veya test aşamalarında otomasyon iş akışlarının onaysız modifikasyonları
Bir robotik süreç otomasyonu yazılımının geliştirme ve test aşamaları UiPath Studio ortamında gerçekleştirilir. Yazılım geliştiricinin, geliştirdiği ya da test ettiği yazılıma, kötü niyetli bir kişinin erişip, varolan parçaları değiştirmesi veya zararlı parçalar eklemesi istenmeyen bir durumdur ve bir takım tedbirler almayı gerektirir.
Ayrıcalıklı bilgilere erişimi olan robotlar: şirket personelinin kişisel verileri, finansal veriler
Robotlar üzerinde onlarca belki yüzlerce farklı süreç koşabilmektedir. Bu süreçler müşterimize ait pek çok önemli bilgi ve veriye de ulaşabilme kabiliyetine sahipdir. Bu verilere kötü niyetli kişiler tarafından erişilememesi için de belirli kısıtlamalar gerekmektedir.
Production ortamında otomasyon akışlarının veya çalışma zamanı parametrelerinin izinsiz değiştirilmesi.
Bu bölüm Orchestrator web uygulamasının kullanılmasıyla ilgili. Orchestrator uygulaması web tarayıcısı üzerinden erişilebilen bir uygulamadır. Giriş yapan kullanıcının yetkisine bağlı olarak, süreç çalıştırma, süreç pakedini değiştirme, süreç silme, süreç zamanlaması değiştirme, kuyruk oluşturma, kuyruk verileri görme, logları okuma, robot ekleme, robot silme vs. çok etkili imtiyazlara sahip olabilir. Bu derece kritik öneme sahip bir uygulamanın potansiyel güvenlik risklerine karşı iyi bir şekilde korunması son derece önemlidir.