Son yıllarda, bilgisayar ağlarını daha esnek bir hale getirmeyi amaçlayan Yazılım Tanımlı Ağ yaklaşımı ortaya çıkmıştır. Google'ın iç ağındaki Yazılım tanımlı ağ uygulaması, Yazılım Tanımlı Ağ (SDN) yaklaşımının kullanışlılığını ve gelecek vadeden bir teknoloji olacağını kanıtlamasına rağmen güvenlik konusu göz ardı edilemeyecek hayati bir sorundur. SDN mimarisinde, Veri Düzlemini Kontrol Düzleminden ayrıldığı için saldırganlar artık üç düzlemden herhangi birinden ağa saldırabilirler. Makine öğrenimi algoritmaları, bilgisayar ağlarına yapılan saldırıları ve izinsiz girişleri tespit etmede kullanılan yöntemlerdir ve Yazılım Tanımlı Ağlar için de kullanılabilir. Bu çalışmada Yazılım Tanımlı Ağlarda anomali tespiti için yeni bir test ortamı oluşturulmuştur. Oluşturulan test ortamının POX denetleyici, POX içerisinde geliştirilmiş bir IDS modülü ve eğitilmiş makine öğrenimi algortiması gibi çeşitli bileşenleri vardır. Sistem OpenFlow anahtarı tarafından gönderilen akış istatistiklerini inceleyerek bu akışa ait yararlı ya da zararlı kararını verir. Zararlı bir akış tespit edilmesi durumunda Yazılım Tanımlı Ağ denetleyici saldırganın ağ ile iletişiminin kesilmesi için anahtara akış düzenleme mesajı gönderir. Geliştirilen test ortamının doğrulanması için ping saldırısı uygulandı ve zararlı akışların sistem tarafından başarıyla tespit edilerek engellendiği görüldü. Elde edilen deneysel sonuçlar, makine öğrenimini kullanarak, Yazılım Tanımlı Ağlarda akış tabanlı anomali tespitinin gerçekleştirilebileceğini göstermektedir.
In recent years, the Software-Defined Networking (SDN) approach has emerged with the aims of making computer networks more flexible. Although the SDN application on Google's internal network demonstrates the usefulness of the Software-Defined Network approach and the promise of future technology, security is a vital concern that cannot be ignored. In the SDN architecture, the attacker can now attack the network from any of the three planes because the Data Plane is separated from the Control Plane. Machine learning algorithms are methods used to detect attacks and intrusions on computer networks and can also be used for SDN. In this study, a new testbed has been implemented for anomaly detection in SDN. The testbed formed has several components such the POX controller, an IDS module implemented in POX, and a trained machine learning algorithm. The system examines flow statistics sent by OpenFlow switches and decides whether they are benign or malicious. In case a malicious flow has been detected, the controller will send a flow modification message, instructing the switch to block the attacking host from communicating in the network. To validate the testbed, a ping flood attack has been launched and malicious flows were detected and successfully blocked. Experimental results show that using machine learning, flow-based anomaly detection in SDN can be realized.