Mikroservis ve UPA güvenliği için karma yöntem tasarımı
Hybrid design for microservice and API security
Yazar: MEHMET NAZIM TAT
Danışman: PROF. DR. İBRAHİM SOĞUKPINAR
Gebze Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Bilim ve Teknoloji = Science and Technology
Dizin: Kimlik doğrulama = Identification verify ; Siber güvenlik = Cyber security ; Web servisleri = Web services

Özet:
Günümüzde teknolojik hadiselerin, kötücül davranışların, uygulama ve ağ güvenlik zafiyetlerinin farklı boyutları ve türleriyle her geçen gün daha fazla karşılaşılmaktadır. Bu hadiselerin yanı sıra siber saldırı yöntemleri de teknolojinin gelişmesine paralel olarak artmaktadır. Siber güvenlik önlemleri sayesinde teknolojinin içinde bulunan birçok hata ve zafiyet tespit edilerek bunlara çözüm üretilmektedir. 
Yazılım dünyasının yekpare (monolith) mimariden mikroservis mimarisine evrildiği bugünlerde mikroservis mimarisinin güvenlik açısından tekrar gözden geçirilmesi elzem hale gelmiştir. Mikroservis mimarisi, servis odaklı yaklaşımı temel alan bir felsefeden doğduğu için, servis odaklı yaklaşımın mevcut zafiyetlerini de barındırmaktadır. Bu bağlamda, mikroservislerin tasarımında yer alan servislerin ve UPA'ların güvenliğinin daha fazla artırılması gerekmektedir.
Bu çalışmada, mikroservis ve UPA'ların güvenliğinin artırılması amacıyla karma yöntem güvenlik tasarımı önerilmiştir. Tezimizin temelini oluşturan bu tasarım; sertifika, bilet ve e-imza tabanlı üç farklı güvenlik yönteminin hibrit bir şekilde, birlikte uygulanmasıyla geliştirilmiştir. Öncelikle servisler arası ağ güvenliğini sağlamak için karşılıklı TLS sertifikası kurulumu yöntemi (mTLS) uygulanılmış olup, sonrasında servisler arası yapılan istek içerisine bilet bilgisi de eklenerek servisler arası bilet kontrolü yapılmıştır. Son aşama olarak yapılan istek, bilet bilgisini de içerecek şekilde elektronik imza ile CAdES formatında şifrelenmiştir. Böylece siber saldırılara karşı daha efektif bir koruma ve mimari tasarım oluşturulmuştur. Ayrıca karma yöntem tasarımında uygulanan güvenlik yöntemlerinin mevcutta var olan ortadaki adam saldırısı, siteler arası istek sahtekarlığı ve oturum korsanlığı gibi açıklıklarının ve zafiyetlerinin de önüne geçilmek suretiyle sistemin güvenlik seviyesinin artırılması sağlanmıştır.

Abstract:
Today, technological incidents, malicious behavior, application and network security vulnerabilities are encountered more and more with different dimensions and types. In addition to these events, cyber-attack methods are also increasing in parallel with the development of technology. Thanks to cyber security measures, many errors and weaknesses in the technology are detected and solutions are produced.
Nowadays, when the software world has evolved from monolith architecture to microservice architecture, it has become essential to review the microservice architecture in terms of security. Since microservice architecture is born from a philosophy based on a service-oriented architecture, it also contains the current vulnerabilities of the service-oriented approach. Therefore, the security of services and APIs included in the design of microservices should be further increased.
In this study, hybrid method security design is proposed to increase the security of microservices and APIs. This design, which forms the basis of our thesis; It was developed by applying three different security methods based on certificate, token and e-signature in a hybrid manner. First, the mutual TLS certificate setup method (mTLS) was applied to ensure inter-service network security, and then the inter-service token control was carried out by adding token information to the inter-service request. As the last step, the request was encrypted in CAdES format with an electronic signature, including the token information. Thus, a more effective protection and architectural design against cyber-attacks has been created. In addition, the security level of the system has been increased by preventing the vulnerabilities and vulnerabilities of the security methods applied in the hybrid method design such as man-in-the-middle attack, cross-site request forgery and session riding.