{"id":15508,"date":"2026-04-06T17:54:45","date_gmt":"2026-04-06T14:54:45","guid":{"rendered":"https:\/\/www.ihs.com.tr\/blog\/?p=15508"},"modified":"2026-04-06T17:54:45","modified_gmt":"2026-04-06T14:54:45","slug":"buffer-overflow-arabellek-tasmasi-nedir","status":"publish","type":"post","link":"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/","title":{"rendered":"Buffer Overflow (Arabellek Ta\u015fmas\u0131) Nedir? RAM Belle\u011fine A\u015f\u0131r\u0131 Y\u00fcklenerek \u00c7\u00f6kertme"},"content":{"rendered":"<p>Dijital d\u00fcnyan\u0131n temel yap\u0131 ta\u015flar\u0131 olan yaz\u0131l\u0131mlar, belirli g\u00f6revleri yerine getirmek i\u00e7in tasarlanm\u0131\u015f karma\u015f\u0131k kod b\u00fct\u00fcnleridir. Bu kodlar \u00e7al\u0131\u015f\u0131rken, verileri ge\u00e7ici olarak saklamak ve i\u015flemek i\u00e7in bilgisayar\u0131n belle\u011fini, yani RAM&#8217;i kullan\u0131rlar. Ancak bu s\u00fcre\u00e7te, programc\u0131lar\u0131n g\u00f6zden ka\u00e7\u0131rd\u0131\u011f\u0131 k\u00fc\u00e7\u00fck bir hata, &#8220;Buffer Overflow&#8221; ya da T\u00fcrk\u00e7e ad\u0131yla &#8220;Arabellek Ta\u015fmas\u0131&#8221; olarak bilinen ciddi bir g\u00fcvenlik zafiyetine yol a\u00e7abilir. Bu zafiyet, bir uygulaman\u0131n \u00e7\u00f6kmesinden, t\u00fcm sistemin kontrol\u00fcn\u00fcn siber sald\u0131rganlar\u0131n eline ge\u00e7mesine kadar varan y\u0131k\u0131c\u0131 sonu\u00e7lar do\u011furabilir. Bu makalede, arabellek ta\u015fmas\u0131n\u0131n ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, t\u00fcrlerini, tehlikelerini ve en \u00f6nemlisi bu t\u00fcr sald\u0131r\u0131lardan korunma y\u00f6ntemlerini derinlemesine inceleyece\u011fiz.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_77 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0130\u00e7erik Tablosu<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69d4597310df9\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\" id=\"ez-toc-cssicon-toggle-item-69d4597310df9\" aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Bellek-ve-Arabellek-Temel-Kavramlar\" >Bellek ve Arabellek: Temel Kavramlar<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Bilgisayarin-Gecici-Hafizasi-RAM-Nedir\" >Bilgisayar\u0131n Ge\u00e7ici Haf\u0131zas\u0131 RAM Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Arabellek-Buffer-Nedir-ve-Programlarda-Neden-Kullanilir\" >Arabellek (Buffer) Nedir ve Programlarda Neden Kullan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Verilerin-Bellek-Uzerindeki-Organizasyonu\" >Verilerin Bellek \u00dczerindeki Organizasyonu<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Buffer-Overflow-Arabellek-Tasmasi-Zafiyeti-Nedir\" >Buffer Overflow (Arabellek Ta\u015fmas\u0131) Zafiyeti Nedir?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Arabellek-Tasmasinin-Calisma-Prensibi-Kapasiteyi-Asmak\" >Arabellek Ta\u015fmas\u0131n\u0131n \u00c7al\u0131\u015fma Prensibi: Kapasiteyi A\u015fmak<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Bir-Analoji-ile-Buffer-Overflow-Dolu-Bir-Bardaga-Su-Koymak\" >Bir Analoji ile Buffer Overflow: Dolu Bir Barda\u011fa Su Koymak<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Zafiyetin-Kaynagi-Guvensiz-Programlama-Aliskanliklari\" >Zafiyetin Kayna\u011f\u0131: G\u00fcvensiz Programlama Al\u0131\u015fkanl\u0131klar\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Arabellek-Tasmasinin-Teknik-Anatomisi-ve-Turleri\" >Arabellek Ta\u015fmas\u0131n\u0131n Teknik Anatomisi ve T\u00fcrleri<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Yigin-Stack-Tabanli-Arabellek-Tasmasi\" >Y\u0131\u011f\u0131n (Stack) Tabanl\u0131 Arabellek Ta\u015fmas\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Obek-Heap-Tabanli-Arabellek-Tasmasi\" >\u00d6bek (Heap) Tabanl\u0131 Arabellek Ta\u015fmas\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Buffer-Overflow-Saldirilarinin-Yikici-Etkileri\" >Buffer Overflow Sald\u0131r\u0131lar\u0131n\u0131n Y\u0131k\u0131c\u0131 Etkileri<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Hizmet-Reddi-Denial-of-Service-%E2%80%93-DoS-Uygulamayi-Cokertme\" >Hizmet Reddi (Denial of Service &#8211; DoS): Uygulamay\u0131 \u00c7\u00f6kertme<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Keyfi-Kod-Yurutme-Arbitrary-Code-Execution-Sistemin-Kontrolunu-Ele-Gecirme\" >Keyfi Kod Y\u00fcr\u00fctme (Arbitrary Code Execution): Sistemin Kontrol\u00fcn\u00fc Ele Ge\u00e7irme<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Yetki-Yukseltme-Privilege-Escalation-Dusuk-Yetkili-Kullanicidan-Yonetici-Haklarina-Gecis\" >Yetki Y\u00fckseltme (Privilege Escalation): D\u00fc\u015f\u00fck Yetkili Kullan\u0131c\u0131dan Y\u00f6netici Haklar\u0131na Ge\u00e7i\u015f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Hassas-Verilerin-Sizdirilmasi\" >Hassas Verilerin S\u0131zd\u0131r\u0131lmas\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Tarihe-Gecmis-Onemli-Buffer-Overflow-Ornekleri\" >Tarihe Ge\u00e7mi\u015f \u00d6nemli Buffer Overflow \u00d6rnekleri<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Interneti-Durma-Noktasina-Getiren-Morris-Solucani\" >\u0130nterneti Durma Noktas\u0131na Getiren Morris Solucan\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Code-Red-ve-Nimda-Solucanlarinin-Etkileri\" >Code Red ve Nimda Solucanlar\u0131n\u0131n Etkileri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#SQL-Slammer-Solucani-ve-Hizli-Yayilimi\" >SQL Slammer Solucan\u0131 ve H\u0131zl\u0131 Yay\u0131l\u0131m\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Buffer-Overflow-Zafiyetine-Karsi-Korunma-ve-Onleme-Yontemleri\" >Buffer Overflow Zafiyetine Kar\u015f\u0131 Korunma ve \u00d6nleme Y\u00f6ntemleri<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Yazilim-Gelistiriciler-Icin-Onlemler-Guvenli-Kodlama\" >Yaz\u0131l\u0131m Geli\u015ftiriciler \u0130\u00e7in \u00d6nlemler: G\u00fcvenli Kodlama<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Derleyici-Seviyesinde-Modern-Korumalar\" >Derleyici Seviyesinde Modern Korumalar<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Isletim-Sistemi-Seviyesinde-Korumalar\" >\u0130\u015fletim Sistemi Seviyesinde Korumalar<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Modern-Programlama-Dilleri-ve-Buffer-Overflow-Riski\" >Modern Programlama Dilleri ve Buffer Overflow Riski<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#C-ve-C-Gibi-Dillerde-Risk-Neden-Daha-Yuksek\" >C ve C++ Gibi Dillerde Risk Neden Daha Y\u00fcksek?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Java-Python-C-Gibi-Yonetilen-Managed-Diller-Guvende-mi\" >Java, Python, C# Gibi Y\u00f6netilen (Managed) Diller G\u00fcvende mi?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Guvenli-Dillerde-Dahi-Ortaya-Cikabilecek-Istisnai-Durumlar\" >G\u00fcvenli Dillerde Dahi Ortaya \u00c7\u0131kabilecek \u0130stisnai Durumlar<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Buffer-Overflow-Saldirilarindan-Korunma-Icin-Neden-IHS-Telekomu-Tercih-Etmelisiniz\" >Buffer Overflow Sald\u0131r\u0131lar\u0131ndan Korunma \u0130\u00e7in Neden \u0130HS Telekom&#8217;u Tercih Etmelisiniz?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Gelismis-Guvenlik-Duvari-Firewall-ve-WAF-Web-Application-Firewall-Cozumleri\" >Geli\u015fmi\u015f G\u00fcvenlik Duvar\u0131 (Firewall) ve WAF (Web Application Firewall) \u00c7\u00f6z\u00fcmleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Saldiri-Tespit-ve-Onleme-Sistemleri-IDSIPS-ile-Proaktif-Koruma\" >Sald\u0131r\u0131 Tespit ve \u00d6nleme Sistemleri (IDS\/IPS) ile Proaktif Koruma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Guvenli-Sunucu-Barindirma-Hosting-Altyapisi-ve-Periyodik-Zafiyet-Taramalari\" >G\u00fcvenli Sunucu Bar\u0131nd\u0131rma (Hosting) Altyap\u0131s\u0131 ve Periyodik Zafiyet Taramalar\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/www.ihs.com.tr\/blog\/buffer-overflow-arabellek-tasmasi-nedir\/#Uygulama-Katmani-DDoS-Saldirilarina-Karsi-Koruma-Hizmetleri\" >Uygulama Katman\u0131 DDoS Sald\u0131r\u0131lar\u0131na Kar\u015f\u0131 Koruma Hizmetleri<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Bellek-ve-Arabellek-Temel-Kavramlar\"><\/span>Bellek ve Arabellek: Temel Kavramlar<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Buffer Overflow zafiyetini tam olarak anlayabilmek i\u00e7in \u00f6ncelikle bilgisayar belle\u011finin ve programlar\u0131n bu belle\u011fi nas\u0131l kulland\u0131\u011f\u0131n\u0131n temellerini bilmek gerekir. Her program, \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan verileri ve komutlar\u0131 belle\u011fin farkl\u0131 b\u00f6lgelerinde saklar. Bu b\u00f6lgelerin nas\u0131l organize edildi\u011fi ve y\u00f6netildi\u011fi, zafiyetin ortaya \u00e7\u0131k\u0131\u015f noktas\u0131n\u0131 olu\u015fturur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bilgisayarin-Gecici-Hafizasi-RAM-Nedir\"><\/span>Bilgisayar\u0131n Ge\u00e7ici Haf\u0131zas\u0131 RAM Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>RAM (Random Access Memory &#8211; Rastgele Eri\u015fimli Bellek), bilgisayar\u0131n i\u015flemcisinin aktif olarak kulland\u0131\u011f\u0131 verilere h\u0131zla eri\u015fmesini sa\u011flayan ge\u00e7ici bir depolama alan\u0131d\u0131r. Bilgisayar kapat\u0131ld\u0131\u011f\u0131nda i\u00e7indeki t\u00fcm veriler silinir. Bir uygulama \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda, i\u015fletim sistemi o uygulama i\u00e7in RAM \u00fczerinde belirli bir alan ay\u0131r\u0131r. Bu alan, uygulaman\u0131n komutlar\u0131n\u0131, de\u011fi\u015fkenlerini ve ge\u00e7ici verilerini tutar. RAM&#8217;in h\u0131z\u0131, sistemin genel performans\u0131n\u0131 do\u011frudan etkiler.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Arabellek-Buffer-Nedir-ve-Programlarda-Neden-Kullanilir\"><\/span>Arabellek (Buffer) Nedir ve Programlarda Neden Kullan\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Arabellek veya ingilizce ad\u0131yla &#8220;Buffer&#8221;, bellekte (RAM&#8217;de) ayr\u0131lm\u0131\u015f sabit boyutlu bir depolama alan\u0131d\u0131r. Programlar, verileri bir yerden ba\u015fka bir yere ta\u015f\u0131rken veya i\u015flemeden \u00f6nce ge\u00e7ici olarak depolamak i\u00e7in arabellekleri kullan\u0131r. \u00d6rne\u011fin, bir web formuna girdi\u011finiz kullan\u0131c\u0131 ad\u0131, program taraf\u0131ndan i\u015flenmeden \u00f6nce bir arabellek i\u00e7inde tutulur. Arabellekler, veri ak\u0131\u015f\u0131n\u0131 d\u00fczenlemek ve farkl\u0131 h\u0131zlarda \u00e7al\u0131\u015fan bile\u015fenler (\u00f6rne\u011fin, a\u011fdan gelen veri ile i\u015flemci) aras\u0131nda bir k\u00f6pr\u00fc g\u00f6revi g\u00f6rmek i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Verilerin-Bellek-Uzerindeki-Organizasyonu\"><\/span>Verilerin Bellek \u00dczerindeki Organizasyonu<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bir program \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, i\u015fletim sistemi taraf\u0131ndan kendisine ayr\u0131lan bellek alan\u0131 genellikle birka\u00e7 ana b\u00f6lgeye ayr\u0131l\u0131r. Bunlar; kod (Text), ba\u015flat\u0131lm\u0131\u015f veriler (Data), ba\u015flat\u0131lmam\u0131\u015f veriler (BSS), y\u0131\u011f\u0131n (Stack) ve \u00f6bek (Heap) b\u00f6lgeleridir. Y\u0131\u011f\u0131n ve \u00f6bek, dinamik olarak de\u011fi\u015fen veri depolama ihtiya\u00e7lar\u0131 i\u00e7in kullan\u0131l\u0131r ve Buffer Overflow zafiyetinin en s\u0131k meydana geldi\u011fi iki ana bellek b\u00f6lgesidir. Verilerin bu b\u00f6lgelerde nas\u0131l sakland\u0131\u011f\u0131 ve y\u00f6netildi\u011fi, zafiyetin anatomisini anlamada kilit rol oynar.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Buffer-Overflow-Arabellek-Tasmasi-Zafiyeti-Nedir\"><\/span>Buffer Overflow (Arabellek Ta\u015fmas\u0131) Zafiyeti Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Temel bellek kavramlar\u0131n\u0131 anlad\u0131ktan sonra, \u015fimdi arabellek ta\u015fmas\u0131n\u0131n ne oldu\u011funu daha net bir \u015fekilde tan\u0131mlayabiliriz. Bu zafiyet, en eski ve en tehlikeli yaz\u0131l\u0131m g\u00fcvenlik a\u00e7\u0131klar\u0131ndan biridir ve temelinde basit bir programlama hatas\u0131 yatar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Arabellek-Tasmasinin-Calisma-Prensibi-Kapasiteyi-Asmak\"><\/span>Arabellek Ta\u015fmas\u0131n\u0131n \u00c7al\u0131\u015fma Prensibi: Kapasiteyi A\u015fmak<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Buffer Overflow, bir program\u0131n, bir arabelle\u011fe kapasitesinden daha fazla veri yazmaya \u00e7al\u0131\u015fmas\u0131 durumunda ortaya \u00e7\u0131kar. \u00d6rne\u011fin, 10 karakterlik bir kullan\u0131c\u0131 ad\u0131 alan\u0131 i\u00e7in ayr\u0131lm\u0131\u015f bir arabelle\u011fe, kullan\u0131c\u0131 20 karakterlik bir veri girdi\u011finde bu ta\u015fma meydana gelir. Fazladan girilen 10 karakter, arabellek i\u00e7in ayr\u0131lan bellek alan\u0131n\u0131n d\u0131\u015f\u0131na ta\u015farak, kom\u015fu bellek b\u00f6lgelerindeki verilerin \u00fczerine yaz\u0131l\u0131r. Bu durum, program\u0131n beklenmedik \u015fekilde davranmas\u0131na veya \u00e7\u00f6kmesine neden olur. Daha da k\u00f6t\u00fcs\u00fc, siber sald\u0131rganlar bu durumu bilin\u00e7li olarak tetikleyerek sistemde istedikleri kodu \u00e7al\u0131\u015ft\u0131rabilirler.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bir-Analoji-ile-Buffer-Overflow-Dolu-Bir-Bardaga-Su-Koymak\"><\/span>Bir Analoji ile Buffer Overflow: Dolu Bir Barda\u011fa Su Koymak<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Arabellek ta\u015fmas\u0131n\u0131 anlaman\u0131n en kolay yollar\u0131ndan biri &#8220;dolu bardak&#8221; analojisidir. Bir barda\u011f\u0131 (arabellek) a\u011fz\u0131na kadar su (veri) ile doldurdu\u011funuzu d\u00fc\u015f\u00fcn\u00fcn. Barda\u011f\u0131n bir kapasitesi vard\u0131r. E\u011fer bu barda\u011fa su eklemeye devam ederseniz ne olur? Su, barda\u011f\u0131n kenarlar\u0131ndan ta\u015far ve etraf\u0131ndaki masay\u0131 (kom\u015fu bellek alanlar\u0131) \u0131slat\u0131r. \u0130\u015fte Buffer Overflow da tam olarak budur. Arabelle\u011fe s\u0131\u011fmayan veriler, ta\u015farak biti\u015fi\u011findeki kritik verilerin (\u00f6rne\u011fin program\u0131n bir sonraki ad\u0131mda ne yapaca\u011f\u0131n\u0131 s\u00f6yleyen komutlar\u0131n) \u00fczerine yaz\u0131larak onlar\u0131n yap\u0131s\u0131n\u0131 bozar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Zafiyetin-Kaynagi-Guvensiz-Programlama-Aliskanliklari\"><\/span>Zafiyetin Kayna\u011f\u0131: G\u00fcvensiz Programlama Al\u0131\u015fkanl\u0131klar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Buffer Overflow zafiyetinin temel nedeni, programlama dillerinde bulunan ve s\u0131n\u0131r kontrol\u00fc yapmayan g\u00fcvensiz fonksiyonlar\u0131n kullan\u0131lmas\u0131d\u0131r. \u00d6zellikle C ve C++ gibi dillerde, `strcpy()`, `gets()`, `sprintf()` gibi fonksiyonlar, kendilerine verilen verinin hedef arabelle\u011fe s\u0131\u011f\u0131p s\u0131\u011fmad\u0131\u011f\u0131n\u0131 kontrol etmezler. Programc\u0131, kullan\u0131c\u0131dan gelen verinin boyutunu do\u011frulamadan bu fonksiyonlar\u0131 kulland\u0131\u011f\u0131nda, potansiyel bir arabellek ta\u015fmas\u0131 zafiyetine kap\u0131 aralam\u0131\u015f olur. Bu nedenle <a href=\"https:\/\/www.ihs.com.tr\/blog\/programlama-dillerinin-guvenlik-riskleri\/\" target=\"_blank\">programlama dillerinin g\u00fcvenlik riskleri<\/a> hakk\u0131nda bilgi sahibi olmak ve g\u00fcvenli kodlama pratiklerini benimsemek hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Arabellek-Tasmasinin-Teknik-Anatomisi-ve-Turleri\"><\/span>Arabellek Ta\u015fmas\u0131n\u0131n Teknik Anatomisi ve T\u00fcrleri<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Arabellek ta\u015fmas\u0131, ger\u00e7ekle\u015fti\u011fi bellek b\u00f6lgesine g\u00f6re temelde iki ana kategoriye ayr\u0131l\u0131r: Y\u0131\u011f\u0131n (Stack) tabanl\u0131 ve \u00d6bek (Heap) tabanl\u0131. Her ikisi de ayn\u0131 temel prensibe dayansa da, s\u00f6m\u00fcr\u00fclme y\u00f6ntemleri ve hedefleri a\u00e7\u0131s\u0131ndan farkl\u0131l\u0131k g\u00f6sterirler. Bu sald\u0131r\u0131lar\u0131n teknik detaylar\u0131n\u0131 anlamak, korunma y\u00f6ntemlerinin neden \u00f6nemli oldu\u011funu kavramam\u0131za yard\u0131mc\u0131 olur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yigin-Stack-Tabanli-Arabellek-Tasmasi\"><\/span>Y\u0131\u011f\u0131n (Stack) Tabanl\u0131 Arabellek Ta\u015fmas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>En yayg\u0131n ve klasik arabellek ta\u015fmas\u0131 t\u00fcr\u00fcd\u00fcr. Y\u0131\u011f\u0131n bellek b\u00f6lgesi, fonksiyon \u00e7a\u011fr\u0131lar\u0131n\u0131 ve yerel de\u011fi\u015fkenleri y\u00f6netmek i\u00e7in kullan\u0131l\u0131r ve bu b\u00f6lgedeki verilerin \u00fczerine yazarak program\u0131n ak\u0131\u015f\u0131n\u0131 kontrol etmek hedeflenir.<\/p>\n<h4>Y\u0131\u011f\u0131n Bellek B\u00f6lgesi Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h4>\n<p>Y\u0131\u011f\u0131n (Stack), &#8220;Son Giren \u0130lk \u00c7\u0131kar&#8221; (Last-In, First-Out &#8211; LIFO) prensibiyle \u00e7al\u0131\u015fan bir veri yap\u0131s\u0131d\u0131r. Bir programda bir fonksiyon \u00e7a\u011fr\u0131ld\u0131\u011f\u0131nda, o fonksiyona ait yerel de\u011fi\u015fkenler, parametreler ve en \u00f6nemlisi, fonksiyon i\u015fini bitirdikten sonra program\u0131n kald\u0131\u011f\u0131 yerden devam etmesini sa\u011flayan &#8220;geri d\u00f6n\u00fc\u015f adresi&#8221; (return address) y\u0131\u011f\u0131na eklenir. Fonksiyon tamamland\u0131\u011f\u0131nda ise bu bilgiler y\u0131\u011f\u0131ndan \u00e7\u0131kar\u0131l\u0131r ve program, geri d\u00f6n\u00fc\u015f adresinin g\u00f6sterdi\u011fi komuttan \u00e7al\u0131\u015fmaya devam eder.<\/p>\n<h4>Fonksiyon Geri D\u00f6n\u00fc\u015f Adresinin (Return Address) De\u011fi\u015ftirilmesi<\/h4>\n<p>Stack tabanl\u0131 bir buffer overflow sald\u0131r\u0131s\u0131nda sald\u0131rgan\u0131n temel amac\u0131, bir fonksiyondaki arabelle\u011fi ta\u015f\u0131rmak suretiyle y\u0131\u011f\u0131ndaki geri d\u00f6n\u00fc\u015f adresinin \u00fczerine yazmakt\u0131r. Sald\u0131rgan, arabelle\u011fe normalden \u00e7ok daha uzun bir veri g\u00f6nderir. Bu veri, \u00f6nce arabelle\u011fi doldurur, ard\u0131ndan ta\u015farak y\u0131\u011f\u0131nda kendisinden sonra gelen geri d\u00f6n\u00fc\u015f adresinin \u00fczerine kendi istedi\u011fi bir bellek adresini yazar. B\u00f6ylece, fonksiyon i\u015fini bitirdi\u011finde program, normal ak\u0131\u015f\u0131na d\u00f6nmek yerine, sald\u0131rgan\u0131n belirtti\u011fi adrese atlar.<\/p>\n<h4>Zararl\u0131 Kod (Shellcode) Enjeksiyonu<\/h4>\n<p>Sald\u0131rgan, geri d\u00f6n\u00fc\u015f adresini de\u011fi\u015ftirdikten sonra, program\u0131n atlayaca\u011f\u0131 bu yeni adrese kendi zararl\u0131 kodunu yerle\u015ftirir. Genellikle &#8220;shellcode&#8221; olarak adland\u0131r\u0131lan bu k\u00fc\u00e7\u00fck kod par\u00e7as\u0131, sisteme bir komut sat\u0131r\u0131 (shell) eri\u015fimi sa\u011flamay\u0131, yeni bir kullan\u0131c\u0131 olu\u015fturmay\u0131 veya sisteme uzaktan eri\u015fim kap\u0131s\u0131 a\u00e7may\u0131 ama\u00e7lar. Geri d\u00f6n\u00fc\u015f adresi bu shellcode&#8217;un ba\u015flang\u0131c\u0131n\u0131 g\u00f6sterecek \u015fekilde ayarland\u0131\u011f\u0131nda, program fark\u0131nda olmadan sald\u0131rgan\u0131n kodunu kendi yetkileriyle \u00e7al\u0131\u015ft\u0131rm\u0131\u015f olur ve sistemin kontrol\u00fc ele ge\u00e7irilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Obek-Heap-Tabanli-Arabellek-Tasmasi\"><\/span>\u00d6bek (Heap) Tabanl\u0131 Arabellek Ta\u015fmas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Heap tabanl\u0131 ta\u015fmalar, Stack tabanl\u0131 olanlara g\u00f6re daha karma\u015f\u0131kt\u0131r ancak ayn\u0131 derecede tehlikelidir. Hedef, program\u0131n dinamik olarak olu\u015fturdu\u011fu ve y\u00f6netti\u011fi veri yap\u0131lar\u0131n\u0131 bozmakt\u0131r.<\/p>\n<h4>\u00d6bek Bellek B\u00f6lgesi Nedir ve Dinamik Bellek Y\u00f6netimi<\/h4>\n<p>\u00d6bek (Heap), program\u0131n \u00e7al\u0131\u015fma zaman\u0131nda, ihtiya\u00e7 duydu\u011fu boyutta bellek ay\u0131rmak i\u00e7in kulland\u0131\u011f\u0131 daha esnek bir bellek alan\u0131d\u0131r. `malloc()` veya `new` gibi komutlarla bu b\u00f6lgeden bellek talep edilir. Programc\u0131, bu belle\u011fi ne zaman isteyece\u011fini ve ne zaman serbest b\u0131rakaca\u011f\u0131n\u0131 (`free()` veya `delete` ile) kendisi y\u00f6netir. \u00d6bek, program\u0131n ne kadar s\u00fcrece\u011fi \u00f6nceden bilinmeyen verileri (\u00f6rne\u011fin bir dosyan\u0131n i\u00e7eri\u011fi) saklamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>Bellek Y\u00f6netim Yap\u0131lar\u0131n\u0131n Bozulmas\u0131<\/h4>\n<p>Heap b\u00f6lgesindeki bellek bloklar\u0131, kendilerini y\u00f6neten k\u00fc\u00e7\u00fck meta veriler i\u00e7erir. Bu meta veriler, blo\u011fun boyutunu ve bir sonraki veya \u00f6nceki blo\u011fun nerede oldu\u011funu belirten i\u015faret\u00e7iler (pointer) tutar. Heap tabanl\u0131 bir buffer overflow sald\u0131r\u0131s\u0131nda sald\u0131rgan, bir bellek blo\u011fundaki arabelle\u011fi ta\u015f\u0131rarak bu y\u00f6netim meta verilerinin \u00fczerine yazar. Bu, belle\u011fi serbest b\u0131rakma (free) i\u015flemi s\u0131ras\u0131nda program\u0131n kafas\u0131n\u0131n kar\u0131\u015fmas\u0131na ve sald\u0131rgan\u0131n kontrol\u00fcndeki bir bellek alan\u0131na yazma i\u015flemi yapmas\u0131na neden olabilir.<\/p>\n<h4>Fonksiyon G\u00f6stericilerinin (Function Pointers) Hedef Al\u0131nmas\u0131<\/h4>\n<p>Heap tabanl\u0131 sald\u0131r\u0131lardaki bir di\u011fer pop\u00fcler teknik, \u00f6bek \u00fczerinde tutulan fonksiyon g\u00f6stericilerinin (function pointers) hedef al\u0131nmas\u0131d\u0131r. Bir fonksiyon g\u00f6stericisi, bir fonksiyonun bellek adresini tutan bir de\u011fi\u015fkendir. Sald\u0131rgan, arabellek ta\u015fmas\u0131 yoluyla bu g\u00f6stericinin de\u011ferini kendi shellcode&#8217;unun adresiyle de\u011fi\u015ftirirse, program o fonksiyonu \u00e7a\u011f\u0131rmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131nda asl\u0131nda sald\u0131rgan\u0131n kodunu y\u00fcr\u00fctm\u00fc\u015f olur. Bu y\u00f6ntem, geri d\u00f6n\u00fc\u015f adresini de\u011fi\u015ftirmeden keyfi kod y\u00fcr\u00fctmeye olanak tan\u0131r.<\/p>\n<div class=\"karsilastirma\">\n<table>\n<thead>\n<tr>\n<th>\u00d6zellik<\/th>\n<th>Y\u0131\u011f\u0131n (Stack) Tabanl\u0131 Ta\u015fma<\/th>\n<th>\u00d6bek (Heap) Tabanl\u0131 Ta\u015fma<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Hedef<\/strong><\/td>\n<td>Fonksiyon geri d\u00f6n\u00fc\u015f adresi (Return Address)<\/td>\n<td>Bellek y\u00f6netim meta verileri, fonksiyon g\u00f6stericileri (Function Pointers)<\/td>\n<\/tr>\n<tr>\n<td><strong>Karma\u015f\u0131kl\u0131k<\/strong><\/td>\n<td>Daha basit ve anla\u015f\u0131l\u0131r<\/td>\n<td>Daha karma\u015f\u0131k ve s\u00f6m\u00fcrmesi zor<\/td>\n<\/tr>\n<tr>\n<td><strong>Bellek Yap\u0131s\u0131<\/strong><\/td>\n<td>LIFO (Son Giren, \u0130lk \u00c7\u0131kar) yap\u0131s\u0131, tahmin edilebilir<\/td>\n<td>Dinamik ve daha az tahmin edilebilir bellek d\u00fczeni<\/td>\n<\/tr>\n<tr>\n<td><strong>Yayg\u0131nl\u0131k<\/strong><\/td>\n<td>Tarihsel olarak daha yayg\u0131n ve bilinen bir t\u00fcrd\u00fcr<\/td>\n<td>Modern sistemlerde ve karma\u015f\u0131k uygulamalarda artmaktad\u0131r<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Buffer-Overflow-Saldirilarinin-Yikici-Etkileri\"><\/span>Buffer Overflow Sald\u0131r\u0131lar\u0131n\u0131n Y\u0131k\u0131c\u0131 Etkileri<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ba\u015far\u0131l\u0131 bir arabellek ta\u015fmas\u0131 sald\u0131r\u0131s\u0131, basit bir program hatas\u0131ndan \u00e7ok daha fazlas\u0131d\u0131r. Sald\u0131rgan\u0131n niyetine ve zafiyetin t\u00fcr\u00fcne ba\u011fl\u0131 olarak, sonu\u00e7lar bir web sitesinin ge\u00e7ici olarak hizmet d\u0131\u015f\u0131 kalmas\u0131ndan, t\u00fcm bir sunucu altyap\u0131s\u0131n\u0131n ele ge\u00e7irilmesine kadar de\u011fi\u015febilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hizmet-Reddi-Denial-of-Service-%E2%80%93-DoS-Uygulamayi-Cokertme\"><\/span>Hizmet Reddi (Denial of Service &#8211; DoS): Uygulamay\u0131 \u00c7\u00f6kertme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Buffer Overflow&#8217;un en basit ve en yayg\u0131n sonucu hizmet reddi sald\u0131r\u0131s\u0131d\u0131r. Sald\u0131rgan, kas\u0131tl\u0131 olarak bir arabelle\u011fi ta\u015f\u0131rarak program\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in hayati olan bellek b\u00f6lgelerini (\u00f6rne\u011fin y\u0131\u011f\u0131ndaki kritik verileri) bozdu\u011funda, program karars\u0131z hale gelir ve genellikle \u00e7\u00f6ker. E\u011fer bu program bir web sunucusu veya kritik bir sistem hizmeti ise, bu hizmet art\u0131k eri\u015filemez hale gelir. Bu durum, \u00f6zellikle s\u00fcrekli \u00e7al\u0131\u015fmas\u0131 gereken sistemler i\u00e7in ciddi bir problemdir. <a href=\"https:\/\/www.ihs.com.tr\/blog\/ddos-saldirilarinin-ortalama-boyutu-yuzde-52-artti\/\" target=\"_blank\">DDoS sald\u0131r\u0131lar\u0131n\u0131n<\/a> bir alt t\u00fcr\u00fc olarak da g\u00f6r\u00fclebilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Keyfi-Kod-Yurutme-Arbitrary-Code-Execution-Sistemin-Kontrolunu-Ele-Gecirme\"><\/span>Keyfi Kod Y\u00fcr\u00fctme (Arbitrary Code Execution): Sistemin Kontrol\u00fcn\u00fc Ele Ge\u00e7irme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu, arabellek ta\u015fmas\u0131 zafiyetinin en tehlikeli sonucudur. Y\u0131\u011f\u0131n veya \u00f6bek tabanl\u0131 ta\u015fma tekniklerini kullanan yetenekli bir sald\u0131rgan, program\u0131n normal ak\u0131\u015f\u0131n\u0131 bozarak kendi zararl\u0131 kodunu (shellcode) sisteme enjekte edebilir ve \u00e7al\u0131\u015ft\u0131rabilir. Bu, sald\u0131rgana program\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 yetkilerle sistem \u00fczerinde tam kontrol sa\u011flar. Sald\u0131rgan bu noktadan sonra dosyalar\u0131 silebilir, de\u011fi\u015ftirebilir, yeni kullan\u0131c\u0131lar ekleyebilir, sisteme bir arka kap\u0131 (backdoor) yerle\u015ftirebilir veya a\u011f\u0131 daha derinlemesine taramak i\u00e7in bu sistemi bir s\u0131\u00e7rama tahtas\u0131 olarak kullanabilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yetki-Yukseltme-Privilege-Escalation-Dusuk-Yetkili-Kullanicidan-Yonetici-Haklarina-Gecis\"><\/span>Yetki Y\u00fckseltme (Privilege Escalation): D\u00fc\u015f\u00fck Yetkili Kullan\u0131c\u0131dan Y\u00f6netici Haklar\u0131na Ge\u00e7i\u015f<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bazen sald\u0131rgan, sisteme zaten d\u00fc\u015f\u00fck yetkili bir kullan\u0131c\u0131 olarak eri\u015fim sa\u011flam\u0131\u015f olabilir. Bu durumda, y\u00f6netici (root veya administrator) haklar\u0131yla \u00e7al\u0131\u015fan bir programda (\u00f6rne\u011fin bir sistem hizmeti veya SUID biti ayarl\u0131 bir uygulama) bir arabellek ta\u015fmas\u0131 zafiyeti bularak bunu s\u00f6m\u00fcrebilir. Zafiyeti ba\u015far\u0131yla s\u00f6m\u00fcrd\u00fc\u011f\u00fcnde, enjekte etti\u011fi kod y\u00f6netici yetkileriyle \u00e7al\u0131\u015f\u0131r. Bu, sald\u0131rgan\u0131n d\u00fc\u015f\u00fck yetkili bir hesaptan sistemin en yetkili kullan\u0131c\u0131s\u0131 haline gelmesini sa\u011flar, bu duruma &#8220;Yetki Y\u00fckseltme&#8221; denir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hassas-Verilerin-Sizdirilmasi\"><\/span>Hassas Verilerin S\u0131zd\u0131r\u0131lmas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Her Buffer Overflow sald\u0131r\u0131s\u0131 keyfi kod \u00e7al\u0131\u015ft\u0131rma ile sonu\u00e7lanmaz. Bazen, ta\u015fan veriler program\u0131n belle\u011findeki di\u011fer \u00f6nemli de\u011fi\u015fkenlerin \u00fczerine yazarak istenmeyen davran\u0131\u015flara neden olabilir. Sald\u0131rgan, bu durumu manip\u00fcle ederek program\u0131n normalde gizli kalmas\u0131 gereken bilgileri (\u00f6rne\u011fin, kullan\u0131c\u0131 parolalar\u0131, \u015fifreleme anahtarlar\u0131, ki\u015fisel veriler) bir hata mesaj\u0131 i\u00e7inde veya ba\u015fka bir yolla d\u0131\u015far\u0131 s\u0131zd\u0131rmas\u0131n\u0131 sa\u011flayabilir. Bu, do\u011frudan sistem kontrol\u00fc sa\u011flamasa da \u00e7ok ciddi bir veri ihlaline yol a\u00e7abilir.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tarihe-Gecmis-Onemli-Buffer-Overflow-Ornekleri\"><\/span>Tarihe Ge\u00e7mi\u015f \u00d6nemli Buffer Overflow \u00d6rnekleri<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Buffer Overflow zafiyeti, teorik bir tehdit olman\u0131n \u00e7ok \u00f6tesinde, internet tarihinde b\u00fcy\u00fck hasara yol a\u00e7m\u0131\u015f bir\u00e7ok siber sald\u0131r\u0131n\u0131n temelini olu\u015fturmu\u015ftur. Bu \u00f6rnekler, basit bir kodlama hatas\u0131n\u0131n ne kadar geni\u015f kapsaml\u0131 ve y\u0131k\u0131c\u0131 sonu\u00e7lar do\u011furabilece\u011fini g\u00f6stermektedir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Interneti-Durma-Noktasina-Getiren-Morris-Solucani\"><\/span>\u0130nterneti Durma Noktas\u0131na Getiren Morris Solucan\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>1988 y\u0131l\u0131nda ortaya \u00e7\u0131kan Morris Solucan\u0131, siber g\u00fcvenlik d\u00fcnyas\u0131n\u0131n d\u00f6n\u00fcm noktalar\u0131ndan biri olarak kabul edilir. Cornell \u00dcniversitesi \u00f6\u011frencisi Robert Tappan Morris taraf\u0131ndan yaz\u0131lan bu solucan, internetin ilk b\u00fcy\u00fck \u00f6l\u00e7ekli sald\u0131r\u0131lar\u0131ndan birini ger\u00e7ekle\u015ftirmi\u015ftir. Solucan\u0131n yay\u0131lmak i\u00e7in kulland\u0131\u011f\u0131 y\u00f6ntemlerden biri, UNIX sistemlerindeki Finger hizmetinde (fingerd) bulunan bir arabellek ta\u015fmas\u0131 zafiyetiydi. Solucan, bu zafiyeti s\u00f6m\u00fcrerek kendini di\u011fer makinelere kopyal\u0131yor ve h\u0131zla yay\u0131l\u0131yordu. Tahminlere g\u00f6re o d\u00f6nemde internete ba\u011fl\u0131 bilgisayarlar\u0131n yakla\u015f\u0131k %10&#8217;unu etkileyerek b\u00fcy\u00fck bir yava\u015flamaya ve hizmet kesintisine neden oldu.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Code-Red-ve-Nimda-Solucanlarinin-Etkileri\"><\/span>Code Red ve Nimda Solucanlar\u0131n\u0131n Etkileri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>2001 y\u0131l\u0131, Buffer Overflow tabanl\u0131 solucanlar\u0131n zirve yapt\u0131\u011f\u0131 bir d\u00f6nemdi. Code Red solucan\u0131, Microsoft&#8217;un IIS (Internet Information Services) web sunucusundaki bir arabellek ta\u015fmas\u0131 zafiyetini hedef ald\u0131. Zafiyetli sunuculara bula\u015ft\u0131ktan sonra, web sitelerinin i\u00e7eri\u011fini &#8220;Hacked By Chinese!&#8221; mesaj\u0131yla de\u011fi\u015ftiriyor ve di\u011fer savunmas\u0131z sunucular\u0131 tarayarak yay\u0131l\u0131yordu. K\u0131sa bir s\u00fcre sonra ortaya \u00e7\u0131kan Nimda solucan\u0131 ise \u00e7ok daha karma\u015f\u0131kt\u0131. Code Red&#8217;in kulland\u0131\u011f\u0131 zafiyetin yan\u0131 s\u0131ra e-posta ve a\u011f payla\u015f\u0131mlar\u0131 gibi birden \u00e7ok yay\u0131lma vekt\u00f6r\u00fc kullanarak internet trafi\u011finde devasa bir art\u0131\u015fa ve sistemlerde ciddi yava\u015flamalara neden oldu.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"SQL-Slammer-Solucani-ve-Hizli-Yayilimi\"><\/span>SQL Slammer Solucan\u0131 ve H\u0131zl\u0131 Yay\u0131l\u0131m\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>2003 y\u0131l\u0131nda ortaya \u00e7\u0131kan SQL Slammer (veya Sapphire), ne kadar h\u0131zl\u0131 bir sald\u0131r\u0131n\u0131n ger\u00e7ekle\u015febilece\u011fini g\u00f6zler \u00f6n\u00fcne serdi. Microsoft SQL Server 2000&#8217;deki bir arabellek ta\u015fmas\u0131 a\u00e7\u0131\u011f\u0131n\u0131 kullanan bu solucan, inan\u0131lmaz bir yay\u0131lma h\u0131z\u0131na sahipti. Sadece 10 dakika i\u00e7inde d\u00fcnya genelindeki 75.000&#8217;den fazla sunucuya bula\u015ft\u0131. Solucan\u0131n olu\u015fturdu\u011fu yo\u011fun a\u011f trafi\u011fi, G\u00fcney Kore gibi baz\u0131 \u00fclkelerde interneti tamamen durma noktas\u0131na getirdi, ATM a\u011flar\u0131nda ve hatta u\u00e7u\u015f sistemlerinde aksakl\u0131klara yol a\u00e7t\u0131. SQL Slammer, k\u00fc\u00e7\u00fck boyutlu olmas\u0131 (sadece 376 byte) ve do\u011frudan bellek i\u00e7inde \u00e7al\u0131\u015fmas\u0131 nedeniyle tespiti ve durdurulmas\u0131 olduk\u00e7a zor bir tehditti.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Buffer-Overflow-Zafiyetine-Karsi-Korunma-ve-Onleme-Yontemleri\"><\/span>Buffer Overflow Zafiyetine Kar\u015f\u0131 Korunma ve \u00d6nleme Y\u00f6ntemleri<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Arabellek ta\u015fmas\u0131 gibi k\u00f6kl\u00fc ve tehlikeli bir zafiyete kar\u015f\u0131 m\u00fccadele, tek bir katmanda de\u011fil, yaz\u0131l\u0131m geli\u015ftirme ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn her a\u015famas\u0131nda ve sistemin farkl\u0131 seviyelerinde \u00f6nlemler almay\u0131 gerektirir. Geli\u015ftiricilerden derleyicilere, i\u015fletim sistemlerinden a\u011f g\u00fcvenli\u011fi cihazlar\u0131na kadar herkesin bu m\u00fccadelede bir rol\u00fc vard\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yazilim-Gelistiriciler-Icin-Onlemler-Guvenli-Kodlama\"><\/span>Yaz\u0131l\u0131m Geli\u015ftiriciler \u0130\u00e7in \u00d6nlemler: G\u00fcvenli Kodlama<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Savunman\u0131n ilk ve en \u00f6nemli hatt\u0131, kodu yazan geli\u015ftiricidir. G\u00fcvenli kodlama al\u0131\u015fkanl\u0131klar\u0131, zafiyetin en ba\u015fta ortaya \u00e7\u0131kmas\u0131n\u0131 engelleyebilir.<\/p>\n<h4>S\u0131n\u0131r Kontrol\u00fc Yapan G\u00fcvenli Fonksiyonlar\u0131n Tercih Edilmesi<\/h4>\n<p>C\/C++ gibi dillerde, `strcpy()`, `gets()` gibi tehlikeli fonksiyonlar yerine, kopyalanacak veri miktar\u0131n\u0131 bir parametre olarak alan ve s\u0131n\u0131r kontrol\u00fc yapan g\u00fcvenli alternatifleri (`strncpy()`, `fgets()`, `snprintf()`) kullan\u0131lmal\u0131d\u0131r. Bu fonksiyonlar, verinin hedef arabelle\u011fin boyutunu a\u015fmamas\u0131n\u0131 garanti ederek ta\u015fmay\u0131 en ba\u015f\u0131ndan engeller. Modern k\u00fct\u00fcphaneler genellikle bu t\u00fcr daha g\u00fcvenli fonksiyonlar sunar.<\/p>\n<h4>Kullan\u0131c\u0131 Girdilerinin Titizlikle Do\u011frulanmas\u0131 (Input Validation)<\/h4>\n<p>Bir program, d\u0131\u015f kaynaklardan (kullan\u0131c\u0131, dosya, a\u011f vb.) ald\u0131\u011f\u0131 hi\u00e7bir veriye g\u00fcvenmemelidir. Gelen her t\u00fcrl\u00fc girdi, beklenen format, t\u00fcr ve uzunluk a\u00e7\u0131s\u0131ndan titizlikle kontrol edilmelidir. \u00d6rne\u011fin, bir telefon numaras\u0131 alan\u0131 sadece rakamlar\u0131 ve belirli bir uzunlu\u011fu kabul etmeli, bir kullan\u0131c\u0131 ad\u0131 alan\u0131 ise makul bir karakter s\u0131n\u0131r\u0131n\u0131 a\u015fmamal\u0131d\u0131r. Bu do\u011frulama, k\u00f6t\u00fc niyetli girdilerin arabelle\u011fe ula\u015fmadan \u00f6nce reddedilmesini sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Derleyici-Seviyesinde-Modern-Korumalar\"><\/span>Derleyici Seviyesinde Modern Korumalar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Modern derleyiciler (GCC, Clang, MSVC vb.), program\u0131 makine koduna \u00e7evirirken otomatik olarak ekleyebildikleri baz\u0131 koruma mekanizmalar\u0131 sunar. Bu korumalar, geli\u015ftiricinin hatas\u0131n\u0131 telafi edebilir.<\/p>\n<h4>Stack Canaries (Y\u0131\u011f\u0131n Kanaryalar\u0131)<\/h4>\n<p>Bu teknikte derleyici, y\u0131\u011f\u0131n \u00fczerinde geri d\u00f6n\u00fc\u015f adresinin hemen \u00f6ncesine &#8220;kanarya&#8221; ad\u0131 verilen rastgele bir de\u011fer yerle\u015ftirir. Bir arabellek ta\u015fmas\u0131 meydana gelip geri d\u00f6n\u00fc\u015f adresinin \u00fczerine yazmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, bu kanarya de\u011ferinin de \u00fczerine yaz\u0131lacakt\u0131r. Fonksiyon sona ermeden hemen \u00f6nce, program bu kanarya de\u011ferinin de\u011fi\u015fip de\u011fi\u015fmedi\u011fini kontrol eder. E\u011fer kanarya de\u011feri bozulmu\u015fsa, bir sald\u0131r\u0131 giri\u015fiminin oldu\u011funu anlar ve program\u0131 g\u00fcvenli bir \u015fekilde sonland\u0131r\u0131r. Bu, sald\u0131rgan\u0131n zararl\u0131 kodu \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 engeller.<\/p>\n<h4>Adres Alan\u0131 D\u00fczeni Rastgelele\u015ftirme (ASLR)<\/h4>\n<p>ASLR (Address Space Layout Randomization), bir program her \u00e7al\u0131\u015ft\u0131\u011f\u0131nda y\u0131\u011f\u0131n, \u00f6bek ve k\u00fct\u00fcphaneler gibi \u00f6nemli bellek b\u00f6lgelerinin ba\u015flang\u0131\u00e7 adreslerini rastgele bir konuma yerle\u015ftirir. Bu, sald\u0131rgan\u0131n geri d\u00f6n\u00fc\u015f adresini nereye y\u00f6nlendirece\u011fini veya shellcode&#8217;unu nereye yerle\u015ftirece\u011fini \u00f6nceden bilmesini neredeyse imkans\u0131z hale getirir. Sald\u0131rgan, atlayaca\u011f\u0131 adresi tahmin edemedi\u011fi i\u00e7in sald\u0131r\u0131 ba\u015far\u0131s\u0131z olur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Isletim-Sistemi-Seviyesinde-Korumalar\"><\/span>\u0130\u015fletim Sistemi Seviyesinde Korumalar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Modern i\u015fletim sistemleri de donan\u0131m deste\u011fi ile birlikte arabellek ta\u015fmas\u0131 sald\u0131r\u0131lar\u0131n\u0131 zorla\u015ft\u0131ran \u00f6nemli korumalar i\u00e7erir.<\/p>\n<h4>Veri Y\u00fcr\u00fctme Engellemesi (DEP \/ NX Bit)<\/h4>\n<p>DEP (Data Execution Prevention) veya NX (No-eXecute) biti, donan\u0131m (CPU) taraf\u0131ndan desteklenen bir \u00f6zelliktir. Bu \u00f6zellik sayesinde i\u015fletim sistemi, belle\u011fin belirli b\u00f6lgelerini &#8220;veri&#8221; i\u00e7in, belirli b\u00f6lgelerini ise &#8220;\u00e7al\u0131\u015ft\u0131r\u0131labilir kod&#8221; i\u00e7in olarak i\u015faretleyebilir. Y\u0131\u011f\u0131n ve \u00f6bek gibi normalde sadece veri i\u00e7ermesi gereken bellek b\u00f6lgeleri &#8220;\u00e7al\u0131\u015ft\u0131r\u0131lamaz&#8221; olarak i\u015faretlenir. Bu sayede, sald\u0131rgan bir arabellek ta\u015fmas\u0131 ile bu b\u00f6lgelere shellcode enjekte etmeyi ba\u015farsa bile, i\u015flemci bu veriyi \u00e7al\u0131\u015ft\u0131rmay\u0131 reddeder ve sald\u0131r\u0131 engellenmi\u015f olur.<\/p>\n<div class=\"karsilastirma\">\n<table>\n<thead>\n<tr>\n<th>Koruma Y\u00f6ntemi<\/th>\n<th>Seviye<\/th>\n<th>\u00c7al\u0131\u015fma Prensibi<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>G\u00fcvenli Fonksiyon Kullan\u0131m\u0131<\/strong><\/td>\n<td>Yaz\u0131l\u0131m Geli\u015ftirici<\/td>\n<td>Veri kopyalama i\u015flemlerinde s\u0131n\u0131r kontrol\u00fc yaparak ta\u015fmay\u0131 \u00f6nler.<\/td>\n<\/tr>\n<tr>\n<td><strong>Stack Canaries<\/strong><\/td>\n<td>Derleyici<\/td>\n<td>Geri d\u00f6n\u00fc\u015f adresinin \u00f6n\u00fcne rastgele bir de\u011fer koyarak \u00fczerine yaz\u0131l\u0131p yaz\u0131lmad\u0131\u011f\u0131n\u0131 kontrol eder.<\/td>\n<\/tr>\n<tr>\n<td><strong>ASLR<\/strong><\/td>\n<td>\u0130\u015fletim Sistemi<\/td>\n<td>Bellek b\u00f6lgelerinin adreslerini rastgelele\u015ftirerek sald\u0131rgan\u0131n hedef adresi bilmesini engeller.<\/td>\n<\/tr>\n<tr>\n<td><strong>DEP \/ NX Bit<\/strong><\/td>\n<td>\u0130\u015fletim Sistemi \/ Donan\u0131m<\/td>\n<td>Veri saklanan bellek b\u00f6lgelerinin (\u00f6rn: Stack) \u00e7al\u0131\u015ft\u0131r\u0131labilir kod i\u00e7ermesini engeller.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Modern-Programlama-Dilleri-ve-Buffer-Overflow-Riski\"><\/span>Modern Programlama Dilleri ve Buffer Overflow Riski<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Arabellek ta\u015fmas\u0131 zafiyeti, belirli programlama dilleriyle daha yak\u0131ndan ili\u015fkilidir. Modern dillerin bir\u00e7o\u011fu, bu t\u00fcr hatalar\u0131 en aza indirmek i\u00e7in tasarlanm\u0131\u015f mekanizmalar i\u00e7erse de, risk hi\u00e7bir zaman tamamen s\u0131f\u0131r de\u011fildir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"C-ve-C-Gibi-Dillerde-Risk-Neden-Daha-Yuksek\"><\/span>C ve C++ Gibi Dillerde Risk Neden Daha Y\u00fcksek?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Buffer Overflow zafiyetlerinin b\u00fcy\u00fck \u00e7o\u011funlu\u011fu C ve C++ dillerinde yaz\u0131lm\u0131\u015f programlarda bulunur. Bunun temel nedeni, bu dillerin programc\u0131ya bellek \u00fczerinde do\u011frudan ve d\u00fc\u015f\u00fck seviyeli kontrol imkan\u0131 tan\u0131mas\u0131d\u0131r. Bu esneklik, y\u00fcksek performansl\u0131 uygulamalar (i\u015fletim sistemleri, oyun motorlar\u0131, g\u00f6m\u00fcl\u00fc sistemler) geli\u015ftirmek i\u00e7in b\u00fcy\u00fck bir avantaj olsa da, ayn\u0131 zamanda b\u00fcy\u00fck bir sorumluluk getirir. C ve C++, otomatik bellek y\u00f6netimi veya yerle\u015fik s\u0131n\u0131r kontrol\u00fc mekanizmalar\u0131na sahip de\u011fildir. Programc\u0131, bellek ay\u0131rma, kullanma ve serbest b\u0131rakma i\u015flemlerini manuel olarak yapmak zorundad\u0131r. `strcpy()`, `sprintf()` gibi fonksiyonlar\u0131n s\u0131n\u0131r kontrol\u00fc yapmadan \u00e7al\u0131\u015fmas\u0131, bu dilleri arabellek ta\u015fmas\u0131 hatalar\u0131na kar\u015f\u0131 do\u011fal olarak daha savunmas\u0131z hale getirir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Java-Python-C-Gibi-Yonetilen-Managed-Diller-Guvende-mi\"><\/span>Java, Python, C# Gibi Y\u00f6netilen (Managed) Diller G\u00fcvende mi?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Java, Python, C#, Ruby gibi modern ve &#8220;y\u00f6netilen&#8221; diller, arabellek ta\u015fmas\u0131 riskini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. Bu diller, bir sanal makine (JVM, CLR gibi) veya yorumlay\u0131c\u0131 \u00fczerinde \u00e7al\u0131\u015f\u0131r. Bu ara katman, bellek y\u00f6netimini otomatik olarak ger\u00e7ekle\u015ftirir (\u00c7\u00f6p Toplama &#8211; Garbage Collection) ve dizi veya arabellek eri\u015fimlerinde s\u0131n\u0131r kontrol\u00fcn\u00fc zorunlu k\u0131lar. E\u011fer bir program, bir dizinin s\u0131n\u0131rlar\u0131 d\u0131\u015f\u0131ndaki bir elemana eri\u015fmeye \u00e7al\u0131\u015f\u0131rsa, kodun belirsiz bir \u015fekilde \u00e7al\u0131\u015fmas\u0131na izin vermek yerine bir istisna (exception) f\u0131rlatarak program\u0131 g\u00fcvenli bir \u015fekilde durdurur. Bu nedenle, tamamen bu dillerle yaz\u0131lm\u0131\u015f bir uygulamada klasik bir Stack veya Heap tabanl\u0131 arabellek ta\u015fmas\u0131 zafiyeti bulmak neredeyse imkans\u0131zd\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Guvenli-Dillerde-Dahi-Ortaya-Cikabilecek-Istisnai-Durumlar\"><\/span>G\u00fcvenli Dillerde Dahi Ortaya \u00c7\u0131kabilecek \u0130stisnai Durumlar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Y\u00f6netilen dillerin sa\u011flad\u0131\u011f\u0131 g\u00fcvenli\u011fe ra\u011fmen, riskin tamamen ortadan kalkt\u0131\u011f\u0131n\u0131 s\u00f6ylemek do\u011fru olmaz. Bu diller, performans gerektiren durumlarda veya donan\u0131ma do\u011frudan eri\u015fim ihtiyac\u0131 oldu\u011funda, C\/C++ ile yaz\u0131lm\u0131\u015f harici k\u00fct\u00fcphaneleri (native libraries) \u00e7a\u011f\u0131rabilir. \u00d6rne\u011fin, Python&#8217;da bir bilimsel hesaplama k\u00fct\u00fcphanesi veya Java&#8217;da bir grafik i\u015fleme k\u00fct\u00fcphanesi, arka planda C ile yaz\u0131lm\u0131\u015f kodu kullanabilir. E\u011fer bu \u00e7a\u011fr\u0131lan &#8220;native&#8221; kod i\u00e7erisinde bir arabellek ta\u015fmas\u0131 zafiyeti varsa, g\u00fcvenli dil ile yaz\u0131lm\u0131\u015f ana uygulama \u00fczerinden bu zafiyet tetiklenebilir. Dolay\u0131s\u0131yla, bir <a href=\"https:\/\/www.ihs.com.tr\/blog\/web-sitesi-nasil-yapilir\/\" target=\"_blank\">web sitesi<\/a> veya uygulama geli\u015ftirirken kullan\u0131lan t\u00fcm bile\u015fenlerin g\u00fcvenli\u011finden emin olmak \u00f6nemlidir.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Buffer-Overflow-Saldirilarindan-Korunma-Icin-Neden-IHS-Telekomu-Tercih-Etmelisiniz\"><\/span>Buffer Overflow Sald\u0131r\u0131lar\u0131ndan Korunma \u0130\u00e7in Neden \u0130HS Telekom&#8217;u Tercih Etmelisiniz?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Buffer Overflow gibi karma\u015f\u0131k ve y\u0131k\u0131c\u0131 sald\u0131r\u0131lara kar\u015f\u0131 tam koruma, sadece g\u00fcvenli kod yazmaktan ibaret de\u011fildir. Uygulamalar\u0131n\u0131z\u0131n ve verilerinizin bar\u0131nd\u0131r\u0131ld\u0131\u011f\u0131 altyap\u0131n\u0131n da \u00e7ok katmanl\u0131 bir g\u00fcvenlik anlay\u0131\u015f\u0131yla korunmas\u0131 gerekir. \u0130HS Telekom, sundu\u011fu geli\u015fmi\u015f g\u00fcvenlik hizmetleri ve sa\u011flam altyap\u0131s\u0131yla dijital varl\u0131klar\u0131n\u0131z\u0131 bu t\u00fcr tehditlere kar\u015f\u0131 g\u00fcvence alt\u0131na al\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Gelismis-Guvenlik-Duvari-Firewall-ve-WAF-Web-Application-Firewall-Cozumleri\"><\/span>Geli\u015fmi\u015f G\u00fcvenlik Duvar\u0131 (Firewall) ve WAF (Web Application Firewall) \u00c7\u00f6z\u00fcmleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Sald\u0131r\u0131lar\u0131n b\u00fcy\u00fck bir k\u0131sm\u0131 a\u011f \u00fczerinden gelir. \u0130HS Telekom&#8217;un sundu\u011fu geli\u015fmi\u015f <a href=\"https:\/\/www.ihs.com.tr\/blog\/firewall-nedir-ne-ise-yarar\/\" target=\"_blank\">Firewall<\/a> (G\u00fcvenlik Duvar\u0131) hizmetleri, sunucular\u0131n\u0131za gelen ve giden trafi\u011fi denetleyerek \u015f\u00fcpheli aktiviteleri engeller. \u00d6zellikle Web Uygulama G\u00fcvenlik Duvar\u0131 (WAF), HTTP trafi\u011fini derinlemesine analiz ederek SQL enjeksiyonu ve Buffer Overflow gibi uygulama katman\u0131 sald\u0131r\u0131lar\u0131n\u0131, k\u00f6t\u00fc niyetli istekler sunucunuza ula\u015fmadan \u00f6nce tespit edip bloke eder. Bu, uygulaman\u0131zda fark\u0131nda olmad\u0131\u011f\u0131n\u0131z bir zafiyet olsa bile ek bir koruma katman\u0131 sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Saldiri-Tespit-ve-Onleme-Sistemleri-IDSIPS-ile-Proaktif-Koruma\"><\/span>Sald\u0131r\u0131 Tespit ve \u00d6nleme Sistemleri (IDS\/IPS) ile Proaktif Koruma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0130HS Telekom altyap\u0131s\u0131, a\u011f trafi\u011fini s\u00fcrekli olarak izleyen Sald\u0131r\u0131 Tespit Sistemleri (IDS) ve Sald\u0131r\u0131 \u00d6nleme Sistemleri (IPS) ile donat\u0131lm\u0131\u015ft\u0131r. Bu sistemler, arabellek ta\u015fmas\u0131 sald\u0131r\u0131lar\u0131nda kullan\u0131lan bilinen sald\u0131r\u0131 kal\u0131plar\u0131n\u0131 (shellcode imzalar\u0131, anormal istekler vb.) tan\u0131yabilir. Bir sald\u0131r\u0131 giri\u015fimi tespit edildi\u011finde, IPS proaktif olarak devreye girerek sald\u0131rgan\u0131n ba\u011flant\u0131s\u0131n\u0131 an\u0131nda keser ve sald\u0131r\u0131y\u0131 durdurur. Bu, tehditlere kar\u015f\u0131 reaktif de\u011fil, proaktif bir savunma sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Guvenli-Sunucu-Barindirma-Hosting-Altyapisi-ve-Periyodik-Zafiyet-Taramalari\"><\/span>G\u00fcvenli Sunucu Bar\u0131nd\u0131rma (Hosting) Altyap\u0131s\u0131 ve Periyodik Zafiyet Taramalar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>G\u00fcvenlik, altyap\u0131n\u0131n temelinden ba\u015flar. \u0130HS Telekom, sundu\u011fu <a href=\"https:\/\/www.ihs.com.tr\/web-hosting\/\" target=\"_blank\">hosting<\/a> ve <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/\" target=\"_blank\">sunucu<\/a> hizmetlerinde en g\u00fcncel ve g\u00fcvenli\u011fi sa\u011flanm\u0131\u015f i\u015fletim sistemlerini kullan\u0131r. \u0130\u015fletim sistemi seviyesindeki ASLR ve DEP gibi modern koruma mekanizmalar\u0131 standart olarak aktiftir. Ayr\u0131ca, d\u00fczenli olarak ger\u00e7ekle\u015ftirilen zafiyet taramalar\u0131 ile sistemlerdeki potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131 proaktif olarak tespit edilir ve gerekli yamalar uygulan\u0131r. \u0130ster payla\u015f\u0131ml\u0131 bir <a href=\"https:\/\/www.ihs.com.tr\/web-hosting\/wordpress-hosting.html\" target=\"_blank\">wordpress hosting<\/a> hizmeti, ister bir <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/vps-server.html\" target=\"_blank\">vps<\/a> veya <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/vds-sunucu.html\" target=\"_blank\">vds<\/a> olsun, altyap\u0131 g\u00fcvenli\u011fi en \u00fcst d\u00fczeyde tutulur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Uygulama-Katmani-DDoS-Saldirilarina-Karsi-Koruma-Hizmetleri\"><\/span>Uygulama Katman\u0131 DDoS Sald\u0131r\u0131lar\u0131na Kar\u015f\u0131 Koruma Hizmetleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Buffer Overflow zafiyetleri, hizmet reddi (DoS) sald\u0131r\u0131lar\u0131 i\u00e7in de kullan\u0131labilir. \u0130HS Telekom, hem a\u011f katman\u0131nda hem de uygulama katman\u0131nda geli\u015fmi\u015f DDoS koruma hizmetleri sunar. Bu hizmetler, sunucunuzun kaynaklar\u0131n\u0131 t\u00fcketmeyi ama\u00e7layan ve arabellek ta\u015fmas\u0131 gibi tekniklerle uygulamay\u0131 \u00e7\u00f6kertmeye \u00e7al\u0131\u015fan sald\u0131r\u0131 trafi\u011fini analiz eder, me\u015fru kullan\u0131c\u0131 trafi\u011finden ay\u0131r\u0131r ve yaln\u0131zca temiz trafi\u011fin sunucunuza ula\u015fmas\u0131n\u0131 sa\u011flar. Bu sayede, sald\u0131r\u0131 an\u0131nda bile web sitenizin ve online hizmetlerinizin kesintisiz \u00e7al\u0131\u015fmaya devam etmesi sa\u011flan\u0131r ve bir <a href=\"https:\/\/www.ihs.com.tr\/ssl\/\" target=\"_blank\">ssl sertifikas\u0131<\/a> ile g\u00fcvenli\u011fi per\u00e7inlenir. Projeniz i\u00e7in bir <a href=\"https:\/\/www.ihs.com.tr\/domain\/alan-adi-domain-tescili.html\" target=\"_blank\">alan ad\u0131<\/a> se\u00e7erek g\u00fcvenli altyap\u0131m\u0131zda bar\u0131nd\u0131rmaya ba\u015flayabilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dijital d\u00fcnyan\u0131n temel yap\u0131 ta\u015flar\u0131 olan yaz\u0131l\u0131mlar, belirli g\u00f6revleri yerine getirmek i\u00e7in tasarlanm\u0131\u015f karma\u015f\u0131k kod b\u00fct\u00fcnleridir. Bu kodlar \u00e7al\u0131\u015f\u0131rken, verileri ge\u00e7ici olarak&hellip;<\/p>\n","protected":false},"author":3,"featured_media":15509,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[466],"tags":[],"class_list":["post-15508","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bilgi-guvenligi"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/15508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=15508"}],"version-history":[{"count":1,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/15508\/revisions"}],"predecessor-version":[{"id":15510,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/15508\/revisions\/15510"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media\/15509"}],"wp:attachment":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=15508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=15508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=15508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}