{"id":33837,"date":"2025-11-07T20:01:03","date_gmt":"2025-11-07T17:01:03","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/"},"modified":"2025-11-07T20:01:03","modified_gmt":"2025-11-07T17:01:03","slug":"mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/","title":{"rendered":"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber"},"content":{"rendered":"<p><body><\/p>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn birbirine ba\u011fl\u0131 d\u00fcnyas\u0131nda, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenli\u011fi hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Peki, cihazlar\u0131n\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n her zaman orijinal ve kurcalanmam\u0131\u015f oldu\u011fundan nas\u0131l emin olabilirsiniz? MCUboot, bu sorunu \u00e7\u00f6zen, g\u00fcvenli yaz\u0131l\u0131m g\u00fcncellemeleri ve \u00f6ny\u00fckleme mekanizmalar\u0131 sunan a\u00e7\u0131k kaynakl\u0131 bir bootloader \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu makale, MCUboot&#8217;un derinliklerine inerek, cihazlar\u0131n\u0131z i\u00e7in sa\u011flam bir g\u00fcvenlik temeli olu\u015fturman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.<\/p>\n<p>G\u00f6m\u00fcl\u00fc sistemler, ak\u0131ll\u0131 ev cihazlar\u0131ndan end\u00fcstriyel kontrol \u00fcnitelerine, hatta otomotiv elektroni\u011fine kadar geni\u015f bir yelpazede hayat\u0131m\u0131z\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015ftir. Bu cihazlar\u0131n g\u00fcvenli\u011fi, sadece kullan\u0131c\u0131 verilerinin korunmas\u0131 a\u00e7\u0131s\u0131ndan de\u011fil, ayn\u0131 zamanda cihaz\u0131n do\u011fru ve beklendi\u011fi gibi \u00e7al\u0131\u015fmas\u0131 i\u00e7in de b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. Bir cihaz\u0131n yaz\u0131l\u0131m\u0131 ele ge\u00e7irilirse veya k\u00f6t\u00fc ama\u00e7l\u0131 kodlarla de\u011fi\u015ftirilirse, bu durum ciddi g\u00fcvenlik a\u00e7\u0131klar\u0131 yaratabilir, veri kayb\u0131na yol a\u00e7abilir veya cihaz\u0131n tamamen kullan\u0131lamaz hale gelmesine neden olabilir. \u0130\u015fte tam da bu noktada, MCUboot gibi g\u00fcvenli bir \u00f6ny\u00fckleyici (bootloader) devreye girer.<\/p>\n<p>MCUboot, \u00f6zellikle k\u0131s\u0131tl\u0131 kaynaklara sahip mikrodenetleyici (MCU) tabanl\u0131 sistemler i\u00e7in tasarlanm\u0131\u015f, g\u00fcvenli bir \u00f6ny\u00fckleme \u00e7\u00f6z\u00fcm\u00fc sunan a\u00e7\u0131k kaynakl\u0131 bir projedir. Temel amac\u0131, cihaz\u0131n a\u00e7\u0131l\u0131\u015f an\u0131ndan itibaren \u00e7al\u0131\u015fan yaz\u0131l\u0131m\u0131n (firmware) b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve orijinalli\u011fini do\u011frulamakt\u0131r. Bunu yaparken, kriptografik imzalar kullanarak yaz\u0131l\u0131m\u0131n yetkisiz ki\u015filer taraf\u0131ndan de\u011fi\u015ftirilmedi\u011finden emin olur. Bir anlamda, cihaz\u0131n\u0131z\u0131n i\u015fletim sisteminin veya uygulamas\u0131n\u0131n ba\u015flamadan \u00f6nce kimlik kontrol\u00fcn\u00fc yapan bir g\u00fcvenlik g\u00f6revlisi gibidir. E\u011fer yaz\u0131l\u0131m\u0131n imzas\u0131 ge\u00e7erliyse, \u00f6ny\u00fckleme i\u015flemi devam eder; aksi takdirde cihaz g\u00fcvenli bir \u015fekilde ba\u015flar veya bir hata durumu bildirir.<\/p>\n<p>MCUboot&#8217;un hayati \u00f6nemi sadece ilk \u00f6ny\u00fckleme g\u00fcvenli\u011fiyle s\u0131n\u0131rl\u0131 de\u011fildir. G\u00fcn\u00fcm\u00fcz cihazlar\u0131 s\u00fcrekli olarak g\u00fcncellenme ihtiyac\u0131 duyar. Hata d\u00fczeltmeleri, yeni \u00f6zellikler veya g\u00fcvenlik yamalar\u0131 yay\u0131nland\u0131\u011f\u0131nda, bu g\u00fcncellemelerin cihaza g\u00fcvenli bir \u015fekilde ula\u015ft\u0131r\u0131lmas\u0131 ve uygulanmas\u0131 gerekir. Bu s\u00fcrece genellikle &#8220;Over-the-Air&#8221; (OTA) veya &#8220;uzaktan g\u00fcncelleme&#8221; denir. MCUboot, A\/B g\u00fcncelleme mekanizmas\u0131 sayesinde bu OTA g\u00fcncellemelerini son derece g\u00fcvenli ve kesintisiz bir \u015fekilde yap\u0131lmas\u0131na olanak tan\u0131r. Bu y\u00f6ntemle, cihaz \u00e7al\u0131\u015f\u0131rken yeni yaz\u0131l\u0131m ayr\u0131 bir &#8220;slot&#8221;a yaz\u0131l\u0131r ve do\u011fruland\u0131ktan sonra bir sonraki yeniden ba\u015flatmada aktif hale getirilir. Herhangi bir sorun ya\u015fanmas\u0131 durumunda, cihaz kolayca eski, \u00e7al\u0131\u015fan s\u00fcr\u00fcme geri d\u00f6nebilir (rollback). Bu \u00f6zellik, kritik sistemlerde ar\u0131za s\u00fcresini minimuma indirir ve g\u00fcncelleme riskini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. K\u0131sacas\u0131, MCUboot modern g\u00f6m\u00fcl\u00fc sistemlerin g\u00fcvenli\u011fi ve s\u00fcrd\u00fcr\u00fclebilirli\u011fi i\u00e7in vazge\u00e7ilmez bir bile\u015fendir.<\/p>\n<h2>MCUboot&#8217;un Temel Ta\u015flar\u0131 Nelerdir ve Nas\u0131l Bir G\u00fcvenlik Zinciri Olu\u015fturur?<\/h2>\n<p>MCUboot&#8217;u anlamak i\u00e7in, onun mimarisini olu\u015fturan temel bile\u015fenleri ve bu bile\u015fenlerin bir araya gelerek nas\u0131l bir g\u00fcvenlik zinciri olu\u015fturdu\u011funu kavramak \u00f6nemlidir. Bu yap\u0131lar, cihaz\u0131n\u0131z\u0131n donan\u0131m\u0131ndan ba\u015flayan ve en \u00fcst seviye uygulama yaz\u0131l\u0131m\u0131na kadar uzanan bir g\u00fcven ortam\u0131 in\u015fa eder.<\/p>\n<h3>G\u00fcvenli \u00d6ny\u00fckleme Zinciri Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>MCUboot, cihaz\u0131n a\u00e7\u0131l\u0131\u015f\u0131nda ilk \u00e7al\u0131\u015fan kod par\u00e7as\u0131d\u0131r. Geleneksel \u00f6ny\u00fckleyicilerden farkl\u0131 olarak, MCUboot sadece bir sonraki kodu y\u00fcklemekle kalmaz, ayn\u0131 zamanda bu kodun b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve orijinalli\u011fini de kontrol eder. Bu kontrol mekanizmas\u0131 genellikle kriptografik imzalar ve hash fonksiyonlar\u0131 kullan\u0131larak ger\u00e7ekle\u015ftirilir. S\u00fcre\u00e7, temel olarak a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 i\u00e7erir:<\/p>\n<ol>\n<li><strong>S\u0131f\u0131r\u0131nc\u0131 A\u015fama \u00d6ny\u00fckleyici (Stage 0 Bootloader\/ROM Bootloader):<\/strong> Cihaz\u0131n g\u00fc\u00e7 d\u00fc\u011fmesine bas\u0131ld\u0131\u011f\u0131nda veya s\u0131f\u0131rland\u0131\u011f\u0131nda, ilk \u00e7al\u0131\u015fan kod mikrodenetleyicinin salt okunur haf\u0131zas\u0131nda (ROM) bulunan, \u00fcretici taraf\u0131ndan sa\u011flanm\u0131\u015f bir bootloader&#8217;d\u0131r. Bu a\u015fama, genellikle de\u011fi\u015ftirilemezdir ve sistemin ilk g\u00fcven k\u00f6k\u00fcn\u00fc (Root of Trust) olu\u015fturur. ROM bootloader&#8217;\u0131n g\u00f6revi, MCUboot&#8217;un y\u00fckl\u00fc oldu\u011fu flash belle\u011fe atlamak ve kontrol\u00fc ona devretmektir.<\/li>\n<li><strong>MCUboot (A\u015fama 1 \u00d6ny\u00fckleyici):<\/strong> Kontrol\u00fc ele alan MCUboot, ilk olarak kendi kodunun (e\u011fer flash&#8217;ta bir k\u0131sm\u0131 varsa) b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc kontrol edebilir. Daha sonra, \u00e7al\u0131\u015ft\u0131r\u0131lacak uygulama yaz\u0131l\u0131m\u0131n\u0131n (firmware) haf\u0131zadaki konumunu bulur.<\/li>\n<li><strong>\u0130mza Do\u011frulamas\u0131:<\/strong> Uygulama yaz\u0131l\u0131m\u0131, derleme a\u015famas\u0131nda \u00f6zel bir anahtarla kriptografik olarak imzalan\u0131r. MCUboot, bu imzay\u0131 kontrol eder. Uygulaman\u0131n hash de\u011feri hesaplan\u0131r ve bu hash de\u011feri, uygulaman\u0131n dijital imzas\u0131nda bulunan hash de\u011feriyle kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r. E\u011fer ikisi e\u015fle\u015firse ve imza, MCUboot&#8217;un g\u00fcvendi\u011fi bir anahtar \u00e7iftiyle do\u011frulanabilirse, uygulama ge\u00e7erli kabul edilir.<\/li>\n<li><strong>Uygulaman\u0131n Ba\u015flat\u0131lmas\u0131:<\/strong> \u0130mza do\u011frulamas\u0131 ba\u015far\u0131l\u0131 olursa, MCUboot kontrol\u00fc g\u00fcvenli oldu\u011fu onaylanm\u0131\u015f uygulama yaz\u0131l\u0131m\u0131na devreder ve uygulama \u00e7al\u0131\u015fmaya ba\u015flar. E\u011fer do\u011frulama ba\u015far\u0131s\u0131z olursa, MCUboot genellikle bir hata durumu bildirir, mevcut \u00e7al\u0131\u015fan imaj\u0131 (e\u011fer varsa) geri y\u00fckler veya cihaz\u0131 g\u00fcvenli bir moda sokar.<\/li>\n<\/ol>\n<p>Bu s\u0131ral\u0131 do\u011frulama ad\u0131mlar\u0131, bir &#8220;g\u00fcven zinciri&#8221; olu\u015fturur. Zincirin her halkas\u0131, bir sonraki halkay\u0131 do\u011frular ve bu \u015fekilde, donan\u0131mdan uygulamaya kadar t\u00fcm yaz\u0131l\u0131m y\u0131\u011f\u0131n\u0131n\u0131n g\u00fcvenilir oldu\u011fu garanti alt\u0131na al\u0131n\u0131r.<\/p>\n<h3>Image Slotlar\u0131 ve Yaz\u0131l\u0131m G\u00fcncelleme Mekanizmas\u0131: A\/B G\u00fcncelleme Nedir?<\/h3>\n<p>MCUboot&#8217;un en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, g\u00fcvenli ve esnek yaz\u0131l\u0131m g\u00fcncelleme yetene\u011fidir. Bunu, &#8220;image slotlar\u0131&#8221; ve &#8220;A\/B g\u00fcncelleme&#8221; ad\u0131 verilen bir mekanizma ile ba\u015far\u0131r. Flash bellekte genellikle iki ana &#8220;slot&#8221; veya b\u00f6l\u00fcm bulunur:<\/p>\n<ul>\n<li><strong>Birincil Slot (Primary Slot):<\/strong> Cihaz\u0131n \u015fu anda \u00e7al\u0131\u015ft\u0131\u011f\u0131, aktif firmware imaj\u0131n\u0131 bar\u0131nd\u0131ran b\u00f6l\u00fcmd\u00fcr.<\/li>\n<li><strong>\u0130kincil Slot (Secondary Slot):<\/strong> Yeni firmware g\u00fcncellemelerinin ge\u00e7ici olarak depoland\u0131\u011f\u0131 b\u00f6l\u00fcmd\u00fcr.<\/li>\n<\/ul>\n<p>A\/B g\u00fcncelleme s\u00fcreci a\u015fa\u011f\u0131daki gibidir:<\/p>\n<ol>\n<li><strong>Yeni \u0130maj Y\u00fckleme:<\/strong> Bir OTA g\u00fcncellemesi geldi\u011finde, yeni firmware imaj\u0131 ikincil slota indirilir ve orada depolan\u0131r. Cihaz bu s\u0131rada birincil slottaki eski imajla \u00e7al\u0131\u015fmaya devam eder.<\/li>\n<li><strong>\u0130mza ve B\u00fct\u00fcnl\u00fck Do\u011frulamas\u0131:<\/strong> \u0130kincil slota yazma i\u015flemi tamamland\u0131ktan sonra, MCUboot veya uygulama katman\u0131 taraf\u0131ndan yeni imaj\u0131n imzas\u0131 ve b\u00fct\u00fcnl\u00fc\u011f\u00fc do\u011frulan\u0131r. Bu, indirilen imaj\u0131n orijinal ve bozulmam\u0131\u015f oldu\u011fundan emin olunmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>\u0130maj De\u011fi\u015fimi (Swap):<\/strong> Do\u011frulama ba\u015far\u0131l\u0131 olduktan sonra, bir sonraki yeniden ba\u015flatmada MCUboot, birincil ve ikincil slotlardaki imajlar\u0131 &#8220;swap&#8221; eder. Bu, dahili olarak \u00f6zel bir &#8220;swap&#8221; mekanizmas\u0131 veya imajlar\u0131n yerlerinin de\u011fi\u015ftirilmesiyle ger\u00e7ekle\u015febilir. Baz\u0131 MCUboot yap\u0131land\u0131rmalar\u0131, imajlar\u0131 ger\u00e7ekten kopyalamak yerine, sadece bir sonraki \u00f6ny\u00fcklemede hangi slotun aktif olaca\u011f\u0131n\u0131 belirten bir bayrak ayarlayabilir.<\/li>\n<li><strong>Yeni \u0130majla \u00d6ny\u00fckleme:<\/strong> Cihaz yeni imajla ba\u015flat\u0131l\u0131r. E\u011fer yeni imaj sorunsuz bir \u015fekilde \u00e7al\u0131\u015f\u0131r ve bir s\u00fcre stabilitesini kan\u0131tlarsa, MCUboot bu imaj\u0131 &#8220;kal\u0131c\u0131&#8221; (permanent) olarak i\u015faretler.<\/li>\n<li><strong>Geri Alma (Rollback) Yetene\u011fi:<\/strong> En kritik \u00f6zelliklerden biri budur. E\u011fer yeni imajla bir sorun ya\u015fan\u0131rsa (\u00f6rne\u011fin, uygulama ba\u015flamaz veya kritik bir hata olu\u015fur), MCUboot bu durumu alg\u0131layabilir ve otomatik olarak bir \u00f6nceki, bilinen iyi durumdaki imaj\u0131 (yani birincil slottaki eski imaj\u0131) tekrar aktif hale getirerek cihaza geri d\u00f6nebilir. Bu &#8220;rollback&#8221; mekanizmas\u0131, uzaktan g\u00fcncellemelerin neden olabilece\u011fi riskleri b\u00fcy\u00fck \u00f6l\u00e7\u00fcde azalt\u0131r ve cihaz\u0131n \u00e7al\u0131\u015f\u0131r durumda kalmas\u0131n\u0131 sa\u011flar.<\/li>\n<\/ol>\n<p>Bu \u00e7ift slotlu ve rollback destekli mekanizma, g\u00fcncelleme s\u0131ras\u0131nda meydana gelebilecek olas\u0131 hatalara kar\u015f\u0131 g\u00fc\u00e7l\u00fc bir koruma sa\u011flar. B\u00f6ylece, cihazlar g\u00fcvenli bir \u015fekilde g\u00fcncel tutulabilirken, ar\u0131za s\u00fcresi minimuma indirilir. Modern IoT cihazlar\u0131n\u0131n g\u00fcvenilirli\u011fi ve s\u00fcrd\u00fcr\u00fclebilirli\u011fi i\u00e7in bu t\u00fcr bir g\u00fcncelleme stratejisi vazge\u00e7ilmezdir.<\/p>\n<h2>MCUboot Ortam\u0131n\u0131z\u0131 Nas\u0131l Haz\u0131rlars\u0131n\u0131z ve \u0130lk Projenizi Nas\u0131l Olu\u015fturursunuz?<\/h2>\n<p>MCUboot&#8217;u kendi projelerinizde kullanmaya ba\u015flamak, do\u011fru geli\u015ftirme ortam\u0131n\u0131 kurmak ve temel ad\u0131mlar\u0131 takip etmekle m\u00fcmk\u00fcnd\u00fcr. \u00d6zellikle Zephyr RTOS gibi pop\u00fcler g\u00f6m\u00fcl\u00fc sistem i\u015fletim sistemleri ile entegrasyonu olduk\u00e7a kolayd\u0131r. Bu b\u00f6l\u00fcmde, bir MCUboot projesine ba\u015flamak i\u00e7in gerekenleri ve basit bir uygulama imaj\u0131n\u0131 nas\u0131l imzalayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h3>Geli\u015ftirme Ortam\u0131 Kurulumu: Ad\u0131m Ad\u0131m Rehber<\/h3>\n<p>MCUboot genellikle bir Real-Time Operating System (RTOS) ile birlikte kullan\u0131l\u0131r. Zephyr RTOS, MCUboot ile g\u00fc\u00e7l\u00fc bir entegrasyona sahip oldu\u011fundan, \u00f6rnek kurulum i\u00e7in Zephyr&#8217;i ele alaca\u011f\u0131z. Ancak temel prensipler di\u011fer RTOS&#8217;lar (\u00f6rn. Apache Mynewt) i\u00e7in de benzerdir.<\/p>\n<ol>\n<li><strong>\u00d6n Gereksinimler:<\/strong>\n<ul>\n<li><strong>\u0130\u015fletim Sistemi:<\/strong> Linux (Ubuntu \u00f6nerilir), macOS veya Windows Subsystem for Linux (WSL).<\/li>\n<li><strong>Python:<\/strong> S\u00fcr\u00fcm 3.8 veya \u00fczeri.<\/li>\n<li><strong>Git:<\/strong> Versiyon kontrol sistemi.<\/li>\n<li><strong>CMake:<\/strong> Derleme sistemi.<\/li>\n<li><strong>Ninja:<\/strong> H\u0131zl\u0131 derleme arac\u0131 (iste\u011fe ba\u011fl\u0131 ama \u00f6nerilir).<\/li>\n<li><strong>Derleyici (Toolchain):<\/strong> Hedef mikrodenetleyiciniz i\u00e7in (\u00f6rn. ARM GNU Embedded Toolchain).<\/li>\n<\/ul>\n<\/li>\n<li><strong>Zephyr Geli\u015ftirme Ortam\u0131n\u0131 Kurma:<\/strong>\n<p>Zephyr&#8217;in <code>west<\/code> arac\u0131, t\u00fcm depolar\u0131 ve ara\u00e7lar\u0131 y\u00f6netmek i\u00e7in kullan\u0131l\u0131r. Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">\n# west'i y\u00fckleyin\npip3 install --user west\n\n# west PATH'e ekle (genellikle .bashrc veya .zshrc dosyas\u0131na eklenir)\necho 'export PATH=$HOME\/.local\/bin:$PATH' >> ~\/.bashrc\nsource ~\/.bashrc\n\n# Zephyr ana deposunu klonlay\u0131n ve mod\u00fclleri indirin\nwest init ~\/zephyrproject\ncd ~\/zephyrproject\nwest update\n\n# Gerekli Python ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fckleyin\npip3 install --user -r zephyr\/scripts\/requirements.txt\n\n# Zephyr SDK'y\u0131 indirin ve kurun (derleyiciyi i\u00e7erir)\nwget https:\/\/github.com\/zephyrproject-rtos\/sdk-ng\/releases\/download\/v0.16.1\/zephyr-sdk-0.16.1_linux-x86_64.tar.xz\nwget https:\/\/github.com\/zephyrproject-rtos\/sdk-ng\/releases\/download\/v0.16.1\/zephyr-sdk-0.16.1_setup.run\nchmod +x zephyr-sdk-0.16.1_setup.run\n.\/zephyr-sdk-0.16.1_setup.run -- -d ~\/zephyr-sdk-0.16.1\n\n# SDK ortam de\u011fi\u015fkenini ayarlay\u0131n (genellikle .bashrc veya .zshrc dosyas\u0131na eklenir)\necho 'export ZEPHYR_TOOLCHAIN_VARIANT=zephyr' >> ~\/.bashrc\necho 'export ZEPHYR_SDK_INSTALL_DIR=~\/zephyr-sdk-0.16.1' >> ~\/.bashrc\nsource ~\/.bashrc\n            <\/pre>\n<p><\/code><\/p>\n<p>Bu ad\u0131mlar, Zephyr'i ve dolay\u0131s\u0131yla MCUboot'u derlemek ve kullanmak i\u00e7in temel ortam\u0131n\u0131z\u0131 haz\u0131rlar.<\/p>\n<\/li>\n<\/ol>\n<h3>\u0130lk MCUboot Projenizi Olu\u015fturma ve \u0130mzalama: Bir \"Blinky\" \u00d6rne\u011fi<\/h3>\n<p>\u015eimdi Zephyr ve MCUboot ile basit bir LED yak\u0131p s\u00f6nd\u00fcrme (blinky) uygulamas\u0131n\u0131 nas\u0131l derleyece\u011finizi ve imzalayaca\u011f\u0131n\u0131z\u0131 g\u00f6relim. Genellikle, MCUboot'un kendisi ayr\u0131 bir proje olarak derlenir ve cihaz\u0131n flash'\u0131n\u0131n ba\u015flang\u0131c\u0131na yerle\u015ftirilir. Uygulama imaj\u0131 ise daha sonraki bir b\u00f6l\u00fcme y\u00fcklenir.<\/p>\n<ol>\n<li><strong>MCUboot Derlemesi:<\/strong>\n<p>Zephyr projenizin i\u00e7inde, MCUboot'u hedef kart\u0131n\u0131z i\u00e7in derleyin. \u00d6rne\u011fin, <code>nrf52840dk_nrf52840<\/code> kart\u0131 i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">\ncd ~\/zephyrproject\/bootloader\/mcuboot\/boot\/zephyr\nwest build -b nrf52840dk_nrf52840\n            <\/pre>\n<p><\/code><\/p>\n<p>Bu komut, MCUboot'u derleyecek ve <code>build\/zephyr\/zephyr.hex<\/code> gibi dosyalar olu\u015fturacakt\u0131r. Bu dosyay\u0131 cihaz\u0131n\u0131z\u0131n flash belle\u011fine yazacaks\u0131n\u0131z.<\/p>\n<\/li>\n<li><strong>Uygulama \u0130maj\u0131 Olu\u015fturma ve \u0130mzalama:<\/strong>\n<p>\u015eimdi basit bir Zephyr \"blinky\" uygulamas\u0131n\u0131 derleyip imzalayal\u0131m. Varsay\u0131lan olarak Zephyr, MCUboot entegrasyonu i\u00e7in gerekli ad\u0131mlar\u0131 zaten i\u00e7erir.<\/p>\n<pre><code class=\"language-bash\">\ncd ~\/zephyrproject\/zephyr\/samples\/basic\/blinky\nwest build -b nrf52840dk_nrf52840\n            <\/pre>\n<p><\/code><\/p>\n<p>Bu komut, blinky uygulamas\u0131n\u0131 derleyecektir. Ancak, MCUboot'un do\u011frulamas\u0131 i\u00e7in bu imaj\u0131n imzalanmas\u0131 gerekmektedir. Zephyr'in derleme sistemi, MCUboot i\u00e7in gerekli olan imzalama ad\u0131mlar\u0131n\u0131 otomatik olarak tetikler. \u0130mzalama i\u015flemi i\u00e7in <code>imgtool.py<\/code> ad\u0131 verilen bir Python arac\u0131 kullan\u0131l\u0131r. Bu ara\u00e7, uygulaman\u0131z\u0131n ikili (binary) dosyas\u0131n\u0131 al\u0131r, hash'ini hesaplar ve \u00f6zel bir anahtarla imzalar. Olu\u015fan \u00e7\u0131kt\u0131 dosyas\u0131, genellikle <code>zephyr.signed.bin<\/code> veya <code>zephyr.signed.hex<\/code> \u015feklinde olur ve MCUboot taraf\u0131ndan tan\u0131nabilir.<\/p>\n<aside class=\"expert-tip\">Uzman \u0130pucu: \u0130mzalama i\u015flemi i\u00e7in kullan\u0131lan anahtar \u00e7ifti (\u00f6zel ve a\u00e7\u0131k anahtar), g\u00fcvenli bir \u015fekilde saklanmal\u0131d\u0131r. Geli\u015ftirme s\u0131ras\u0131nda test anahtarlar\u0131 kullanmak uygun olsa da, \u00fcretim ortam\u0131nda anahtarlar\u0131n HSM (Donan\u0131m G\u00fcvenlik Mod\u00fcl\u00fc) gibi donan\u0131msal \u00e7\u00f6z\u00fcmlerle korunmas\u0131 \u015fiddetle tavsiye edilir.<\/aside>\n<p>Varsay\u0131lan anahtarlar Zephyr SDK i\u00e7inde bulunur. Kendi anahtar\u0131n\u0131z\u0131 olu\u015fturmak isterseniz:<\/p>\n<pre><code class=\"language-bash\">\nimgtool keygen -k my_signing_key.pem -t rsa-2048 # RSA 2048 bit anahtar olu\u015ftur\n            <\/pre>\n<p><\/code><\/p>\n<p>Ve derleme s\u0131ras\u0131nda bu anahtar\u0131 kullanmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">\nwest build -b nrf52840dk_nrf52840 -- -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE=\"my_signing_key.pem\"\n            <\/pre>\n<p><\/code>\n        <\/li>\n<li><strong>Cihaza Yazma (Flashing):<\/strong>\n<p>\u00d6nce derlenmi\u015f MCUboot imaj\u0131n\u0131 cihaz\u0131n\u0131z\u0131n flash belle\u011fine yaz\u0131n. Ard\u0131ndan, imzalanm\u0131\u015f uygulama imaj\u0131n\u0131 ikincil slota (veya do\u011frudan birincil slota, ilk \u00f6ny\u00fcklemede do\u011frulanacak \u015fekilde) yaz\u0131n. Flash yazma i\u015flemi genellikle J-Link, OpenOCD veya hedef karta \u00f6zg\u00fc bir ara\u00e7 (\u00f6rn. nrfjprog) ile yap\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">\n# MCUboot'u flash'a yazma (\u00f6rnek)\nnrfjprog --eraseall\nnrfjprog --program ~\/zephyrproject\/bootloader\/mcuboot\/boot\/zephyr\/build\/zephyr\/zephyr.hex --sectorerase -f NRF52\nnrfjprog --reset\n\n# \u0130mzalanm\u0131\u015f uygulamay\u0131 ikincil slota yazma (\u00f6rnek, flash haritas\u0131na g\u00f6re adres de\u011fi\u015fir)\n# Genellikle 'flash-app' veya 'flash-app-signed' gibi hedefler west build taraf\u0131ndan otomatik olarak olu\u015fturulur.\n# Bu \u00f6rnek, do\u011frudan ikincil slota yazma i\u00e7in manuel bir yakla\u015f\u0131md\u0131r.\n# Adres, kart\u0131n ve flash_map'in yap\u0131land\u0131rmas\u0131na ba\u011fl\u0131d\u0131r.\n# \u00d6rne\u011fin: 0x80000 (ikincil slot ba\u015flang\u0131c\u0131)\nnrfjprog --program ~\/zephyrproject\/zephyr\/samples\/basic\/blinky\/build\/zephyr\/zephyr.signed.bin --sectorerase --address 0x80000 -f NRF52\nnrfjprog --reset\n            <\/pre>\n<p><\/code><\/p>\n<p>Cihaz yeniden ba\u015flad\u0131\u011f\u0131nda, MCUboot \u00f6nce kendi b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc, ard\u0131ndan ikincil slottaki blinky uygulamas\u0131n\u0131n imzas\u0131n\u0131 do\u011frulayacak ve e\u011fer her \u015fey yolundaysa, blinky uygulamas\u0131 \u00e7al\u0131\u015fmaya ba\u015flayacakt\u0131r. Bu ad\u0131mlar, g\u00fcvenli \u00f6ny\u00fckleme ve g\u00fcncelleme yeteneklerine sahip bir cihaz geli\u015ftirmek i\u00e7in sa\u011flam bir temel olu\u015fturur.<\/p>\n<p>Bu kurulum ve ilk proje olu\u015fturma ad\u0131mlar\u0131, MCUboot'un sa\u011flad\u0131\u011f\u0131 temel g\u00fcvenli\u011fi somut bir \u015fekilde deneyimlemenizi sa\u011flar. Gelecekteki geli\u015ftirmelerde, bu temel \u00fczerine in\u015fa ederek daha karma\u015f\u0131k uygulamalar\u0131 g\u00fcvenli bir \u015fekilde da\u011f\u0131tabilir ve g\u00fcncelleyebilirsiniz.<\/p>\n<h2>MCUboot G\u00fcvenli\u011fini Daha \u0130leriye Ta\u015f\u0131mak: \u00dcretim Ortam\u0131nda Anahtar Y\u00f6netimi ve OTA Entegrasyonu<\/h2>\n<p>MCUboot'un temel i\u015flevselli\u011fini anlad\u0131ktan ve bir geli\u015ftirme ortam\u0131nda \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, s\u0131ra onu ger\u00e7ek d\u00fcnya senaryolar\u0131na ve \u00fcretim ortamlar\u0131na uygun hale getirmeye gelir. Bu a\u015famada, g\u00fcvenlik en \u00fcst \u00f6ncelik haline gelir ve \u00f6zellikle anahtar y\u00f6netimi ile Over-the-Air (OTA) g\u00fcncelleme stratejileri kritik \u00f6neme sahiptir.<\/p>\n<h3>\u00dcretim Ortam\u0131nda Anahtar Y\u00f6netimi: En \u0130yi Uygulamalar<\/h3>\n<p>MCUboot'un g\u00fcvenli\u011fi, b\u00fcy\u00fck \u00f6l\u00e7\u00fcde imzalama i\u015flemi i\u00e7in kullan\u0131lan kriptografik anahtarlar\u0131n g\u00fcvenli\u011fine ba\u011fl\u0131d\u0131r. E\u011fer bir sald\u0131rgan \u00f6zel imzalama anahtar\u0131n\u0131z\u0131 ele ge\u00e7irirse, istedi\u011fi k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m\u0131 imzalamak ve cihazlar\u0131n\u0131za y\u00fcklemek i\u00e7in kullanabilir. Bu nedenle, \u00fcretim ortam\u0131nda anahtar y\u00f6netimi i\u00e7in en iyi uygulamalar\u0131n titizlikle takip edilmesi gerekmektedir.<\/p>\n<ul>\n<li><strong>Donan\u0131m G\u00fcvenlik Mod\u00fclleri (HSM) veya G\u00fcvenli Elementler:<\/strong> En g\u00fc\u00e7l\u00fc anahtar koruma y\u00f6ntemlerinden biri, \u00f6zel anahtarlar\u0131n HSM'ler veya g\u00fcvenli elementler i\u00e7inde saklanmas\u0131d\u0131r. Bu donan\u0131mlar, anahtarlar\u0131 fiziksel kurcalamaya kar\u015f\u0131 korur ve \u00f6zel anahtar\u0131n asla mod\u00fcl d\u0131\u015f\u0131na \u00e7\u0131kmamas\u0131n\u0131 sa\u011flar. \u0130mzalama i\u015flemleri HSM'nin i\u00e7inde ger\u00e7ekle\u015fir, bu da \u00f6zel anahtar\u0131n hi\u00e7bir zaman a\u00e7\u0131k metin olarak eri\u015filebilir olmamas\u0131n\u0131 garantiler.<\/li>\n<li><strong>Anahtar Rotasyonu ve Yedekleme:<\/strong> Anahtarlar\u0131n belirli aral\u0131klarla de\u011fi\u015ftirilmesi (rotasyon), olas\u0131 bir anahtar s\u0131z\u0131nt\u0131s\u0131n\u0131n etkisini s\u0131n\u0131rlayabilir. Ayr\u0131ca, felaket kurtarma senaryolar\u0131 i\u00e7in anahtarlar\u0131n g\u00fcvenli bir \u015fekilde yedeklenmesi kritik \u00f6neme sahiptir. Yedeklemeler de HSM'ler veya di\u011fer g\u00fcvenli depolama \u00e7\u00f6z\u00fcmleri kullan\u0131larak korunmal\u0131d\u0131r.<\/li>\n<li><strong>Eri\u015fim Kontrol\u00fc ve Yetkilendirme:<\/strong> \u0130mzalama anahtarlar\u0131na eri\u015fim, s\u0131k\u0131 eri\u015fim kontrol politikalar\u0131yla s\u0131n\u0131rland\u0131r\u0131lmal\u0131d\u0131r. Sadece yetkili personel ve otomatik sistemler bu anahtarlar\u0131 kullanabilmelidir. Multi-factor authentication (MFA) gibi y\u00f6ntemler, anahtar y\u00f6netimi sistemlerine eri\u015fimi daha da g\u00fc\u00e7lendirebilir.<\/li>\n<li><strong>Anahtar \u0130ptali (Revocation):<\/strong> Bir anahtar\u0131n g\u00fcvenli\u011finin ihlal edildi\u011fine dair \u015f\u00fcphe durumunda, o anahtar\u0131n an\u0131nda iptal edilebilmesi i\u00e7in bir mekanizma bulunmal\u0131d\u0131r. Bu, gelecekteki firmware g\u00fcncellemelerinin bu anahtarla imzalanm\u0131\u015f eski imajlar\u0131 kabul etmemesini sa\u011flar.<\/li>\n<\/ul>\n<h3>Over-the-Air (OTA) G\u00fcncellemeleri ve MCUboot Entegrasyonu: Bir IoT Vaka Analizi<\/h3>\n<p>Modern IoT cihazlar\u0131 genellikle uzaktan g\u00fcncellemelerle bak\u0131m g\u00f6r\u00fcr. MCUboot'un A\/B g\u00fcncelleme yetene\u011fi, bu s\u00fcreci g\u00fcvenli ve dayan\u0131kl\u0131 hale getirir. Bir ak\u0131ll\u0131 ev termostat\u0131 \u00f6rne\u011fi \u00fczerinden bu entegrasyonu inceleyelim:<\/p>\n<h4>Vaka Analizi: Ak\u0131ll\u0131 Termostat\u0131n G\u00fcvenli OTA G\u00fcncellemesi<\/h4>\n<p><strong>Senaryo:<\/strong> Bir ak\u0131ll\u0131 ev termostat\u0131 \u015firketi, cihazlar\u0131na yeni \u00f6zellikler eklemek ve bulunan bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131 yamamak istemektedir. Binlerce cihaz sahada da\u011f\u0131t\u0131lm\u0131\u015f durumdad\u0131r ve manuel m\u00fcdahale m\u00fcmk\u00fcn de\u011fildir. G\u00fcncelleme s\u00fcrecinin hem g\u00fcvenli hem de cihaza zarar vermeyecek \u015fekilde ger\u00e7ekle\u015fmesi gerekmektedir.<\/p>\n<ol>\n<li><strong>Problem:<\/strong>\n<ul>\n<li>Uzak cihazlara g\u00fcvenli bir \u015fekilde firmware g\u00fcncellemesi nas\u0131l ula\u015ft\u0131r\u0131l\u0131r?<\/li>\n<li>G\u00fcncelleme s\u0131ras\u0131nda elektrik kesintisi veya a\u011f ba\u011flant\u0131s\u0131 kayb\u0131 olursa cihaz bozulur mu?<\/li>\n<li>K\u00f6t\u00fc ama\u00e7l\u0131 bir yaz\u0131l\u0131m\u0131n cihaza y\u00fcklenmesi nas\u0131l engellenir?<\/li>\n<li>G\u00fcncelleme ba\u015far\u0131s\u0131z olursa cihaza nas\u0131l geri d\u00f6n\u00fcl\u00fcr?<\/li>\n<\/ul>\n<\/li>\n<li><strong>MCUboot ve OTA \u00c7\u00f6z\u00fcm\u00fc:<\/strong>\n<p>\u015eirket, termostat yaz\u0131l\u0131m\u0131n\u0131 MCUboot ile g\u00fcvenli \u00f6ny\u00fcklemeyi ve A\/B g\u00fcncellemeyi destekleyecek \u015fekilde tasarlad\u0131. OTA altyap\u0131s\u0131 a\u015fa\u011f\u0131daki bile\u015fenlerden olu\u015fuyordu:<\/p>\n<ul>\n<li><strong>OTA Sunucusu:<\/strong> Yeni firmware imajlar\u0131n\u0131 bar\u0131nd\u0131ran ve cihaza g\u00fcncelleme bildirimleri g\u00f6nderen g\u00fcvenli bir sunucu (HTTPS \u00fczerinden ileti\u015fim).<\/li>\n<li><strong>Cihazdaki OTA \u0130stemcisi:<\/strong> Termostat \u00fczerinde \u00e7al\u0131\u015fan, OTA sunucusuyla ileti\u015fim kuran, yeni imaj\u0131 indiren ve flash'\u0131n ikincil slotuna yazan bir uygulama bile\u015feni.<\/li>\n<li><strong>MCUboot:<\/strong> Cihaz\u0131n flash'\u0131n\u0131n ba\u015flang\u0131c\u0131nda yer alan ve gelen imajlar\u0131n imzalar\u0131n\u0131 do\u011frulayan, A\/B swap'\u0131n\u0131 y\u00f6neten bootloader.<\/li>\n<\/ul>\n<\/li>\n<li><strong>G\u00fcncelleme S\u00fcreci:<\/strong>\n<ol>\n<li>Yeni firmware imaj\u0131, \u015firketin \u00f6zel anahtar\u0131yla imzalan\u0131r ve OTA sunucusuna y\u00fcklenir.<\/li>\n<li>Termostat, OTA sunucusundan bir g\u00fcncelleme bildirimi al\u0131r.<\/li>\n<li>Termostat\u0131n OTA istemcisi, yeni imaj\u0131 g\u00fcvenli (HTTPS) bir ba\u011flant\u0131 \u00fczerinden indirir ve flash belle\u011fin ikincil slotuna yazar. Bu s\u0131rada cihaz eski firmware ile \u00e7al\u0131\u015fmaya devam eder.<\/li>\n<li>\u0130ndirme tamamland\u0131\u011f\u0131nda, istemci MCUboot'a yeni imaj\u0131n haz\u0131r oldu\u011funu bildirir.<\/li>\n<li>MCUboot, bir sonraki yeniden ba\u015flatmada ikincil slottaki imaj\u0131n imzas\u0131n\u0131 do\u011frulayacak \u015fekilde i\u015faretleme yapar.<\/li>\n<li>Cihaz manuel veya otomatik olarak yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda, MCUboot devreye girer:\n<ul>\n<li>Yeni imaj\u0131n imzas\u0131n\u0131 do\u011frular.<\/li>\n<li>Do\u011frulama ba\u015far\u0131l\u0131 olursa, aktif slotlar\u0131 de\u011fi\u015ftirir (swap).<\/li>\n<li>Yeni firmware ile ba\u015flat\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li>E\u011fer yeni firmware ba\u015far\u0131yla ba\u015flar ve bir \"test s\u00fcresi\" boyunca stabil \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frularsa, MCUboot bu imaj\u0131 kal\u0131c\u0131 olarak i\u015faretler.<\/li>\n<li>Herhangi bir nedenle yeni firmware ba\u015flat\u0131lamazsa veya bir kritik hata olu\u015fursa, MCUboot otomatik olarak eski, \u00e7al\u0131\u015fan imaja geri d\u00f6ner (rollback), b\u00f6ylece cihaz\u0131n \u00e7al\u0131\u015f\u0131r durumda kalmas\u0131 sa\u011flan\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Sonu\u00e7lar:<\/strong>\n<ul>\n<li><strong>G\u00fcvenlik Art\u0131\u015f\u0131:<\/strong> MCUboot sayesinde sadece yetkili ve imzal\u0131 firmware'ler cihaza y\u00fcklenebildi, bu da k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m sald\u0131r\u0131lar\u0131n\u0131 engelledi.<\/li>\n<li><strong>Kesintisiz \u00c7al\u0131\u015fma:<\/strong> A\/B g\u00fcncelleme sayesinde, g\u00fcncelleme s\u0131ras\u0131nda termostat\u0131n \u00e7al\u0131\u015fmas\u0131 kesintiye u\u011framad\u0131.<\/li>\n<li><strong>Hata Tolerans\u0131:<\/strong> Rollback yetene\u011fi, ba\u015far\u0131s\u0131z g\u00fcncellemelerden sonra cihazlar\u0131n kurtar\u0131lmas\u0131n\u0131 sa\u011flad\u0131, b\u00f6ylece m\u00fc\u015fteri memnuniyetsizli\u011fi ve servis maliyetleri azald\u0131.<\/li>\n<li><strong>Uzun \u00d6m\u00fcrl\u00fc Cihazlar:<\/strong> Cihazlar uzaktan g\u00fcvenli bir \u015fekilde g\u00fcncel tutulabildi\u011fi i\u00e7in kullan\u0131m \u00f6mr\u00fc uzad\u0131 ve s\u00fcrekli yeni \u00f6zellikler eklenebildi.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Bu vaka analizi, MCUboot'un sadece \u00f6ny\u00fckleme g\u00fcvenli\u011fi sa\u011flamakla kalmay\u0131p, ayn\u0131 zamanda modern IoT cihazlar\u0131n\u0131n s\u00fcrd\u00fcr\u00fclebilirli\u011fi ve bak\u0131m s\u00fcre\u00e7leri i\u00e7in de temel bir bile\u015fen oldu\u011funu g\u00f6stermektedir. Do\u011fru anahtar y\u00f6netimi ve sa\u011flam bir OTA altyap\u0131s\u0131 ile birle\u015fti\u011finde, MCUboot, g\u00fcvenli ve g\u00fcvenilir bir g\u00f6m\u00fcl\u00fc sistem ekosistemi i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelir.<\/p>\n<h2>MCUboot ile G\u00fcvenli Gelece\u011fe Ad\u0131m At\u0131n<\/h2>\n<p>Bu makalede, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131 kapatan, modern ve g\u00fcvenilir bir \u00e7\u00f6z\u00fcm olan MCUboot'u derinlemesine inceledik. Ba\u015flang\u0131\u00e7ta MCUboot'un ne oldu\u011funu, neden bu kadar hayati bir role sahip oldu\u011funu ve cihazlar\u0131m\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc nas\u0131l korudu\u011funu anlamaya \u00e7al\u0131\u015ft\u0131k. Ard\u0131ndan, MCUboot'un temelini olu\u015fturan g\u00fcvenli \u00f6ny\u00fckleme zinciri mekanizmas\u0131n\u0131, imza do\u011frulamay\u0131 ve \u00f6zellikle OTA g\u00fcncellemeleri i\u00e7in devrim niteli\u011findeki A\/B g\u00fcncelleme stratejisini detayland\u0131rd\u0131k. Bu mekanizmalar, cihazlar\u0131n sadece g\u00fcvenli bir \u015fekilde ba\u015flamas\u0131n\u0131 sa\u011flamakla kalm\u0131yor, ayn\u0131 zamanda ba\u015far\u0131s\u0131z g\u00fcncellemelerde bile eski, \u00e7al\u0131\u015fan s\u00fcr\u00fcme g\u00fcvenli bir \u015fekilde geri d\u00f6nme (rollback) yetene\u011fi sunarak kesintisiz bir kullan\u0131c\u0131 deneyimi garanti ediyor.<\/p>\n<p>Pratik ad\u0131mlarla, Zephyr RTOS gibi pop\u00fcler bir platform \u00fczerinde MCUboot geli\u015ftirme ortam\u0131n\u0131n nas\u0131l kurulaca\u011f\u0131n\u0131 ve basit bir uygulaman\u0131n nas\u0131l imzalan\u0131p cihaza y\u00fcklenece\u011fini g\u00f6sterdik. Bu ad\u0131mlar, okuyuculara kendi projelerinde MCUboot'u uygulama konusunda sa\u011flam bir ba\u015flang\u0131\u00e7 noktas\u0131 sunmay\u0131 ama\u00e7lam\u0131\u015ft\u0131r. Daha ileri d\u00fczey konulara ge\u00e7erken, \u00fcretim ortam\u0131nda anahtar y\u00f6netiminin kritikli\u011fini vurgulad\u0131k ve Donan\u0131m G\u00fcvenlik Mod\u00fclleri (HSM) gibi geli\u015fmi\u015f g\u00fcvenlik \u00f6nlemlerinin \u00f6nemine dikkat \u00e7ektik. Ayr\u0131ca, bir ak\u0131ll\u0131 termostat \u00f6rne\u011fi \u00fczerinden MCUboot'un OTA g\u00fcncellemeleriyle nas\u0131l entegre edildi\u011fini ve bu entegrasyonun g\u00fcvenlik, dayan\u0131kl\u0131l\u0131k ve operasyonel verimlilik a\u00e7\u0131s\u0131ndan sa\u011flad\u0131\u011f\u0131 somut faydalar\u0131 bir vaka analiziyle peki\u015ftirdik.<\/p>\n<p>Sonu\u00e7 olarak, MCUboot, g\u00f6m\u00fcl\u00fc sistem geli\u015ftiricilerinin, IoT cihaz \u00fcreticilerinin ve bu teknolojileri kullanan herkesin g\u00fcvenli\u011fini ciddiye almas\u0131 i\u00e7in sa\u011flam bir temel sunar. Siber tehditlerin s\u00fcrekli geli\u015fti\u011fi bir d\u00fcnyada, cihazlar\u0131n\u0131z\u0131n \u00f6ny\u00fckleme an\u0131ndan itibaren korundu\u011fundan emin olmak, sadece bir \u00f6zellik de\u011fil, bir zorunluluktur. MCUboot, g\u00fcvenli \u00f6ny\u00fckleme, do\u011frulanm\u0131\u015f yaz\u0131l\u0131m b\u00fct\u00fcnl\u00fc\u011f\u00fc ve hataya dayan\u0131kl\u0131 g\u00fcncelleme yetenekleri ile cihazlar\u0131n\u0131z\u0131n gelece\u011fe g\u00fcvenle ad\u0131m atmas\u0131n\u0131 sa\u011flar. Bu teknolojiye yat\u0131r\u0131m yapmak, uzun vadede \u00fcr\u00fcnlerinizin g\u00fcvenli\u011fini ve itibar\u0131n\u0131 koruman\u0131n en ak\u0131ll\u0131 yollar\u0131ndan biridir.<\/p>\n<h3>MCUboot Hakk\u0131nda S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ul>\n<li>\n            <strong>MCUboot sadece Zephyr RTOS ile mi kullan\u0131l\u0131yor?<\/strong><\/p>\n<p>Hay\u0131r, MCUboot Zephyr RTOS ile olduk\u00e7a iyi entegre edilmi\u015f olsa da, Zephyr'e \u00f6zel de\u011fildir. Apache Mynewt, RIOT gibi di\u011fer RTOS'lar ve hatta bare-metal (i\u015fletim sistemi olmadan) projelerle de kullan\u0131labilir. Esnek mimarisi sayesinde farkl\u0131 platformlara ve donan\u0131mlara adapte edilebilir.<\/p>\n<\/li>\n<li>\n            <strong>MCUboot hangi i\u015flemci mimarilerini destekler?<\/strong><\/p>\n<p>MCUboot ba\u015fl\u0131ca ARM Cortex-M serisi mikrodenetleyicileri destekler, ancak esnek yap\u0131s\u0131 sayesinde RISC-V gibi di\u011fer mimarilere de uyarlanabilir. Destekledi\u011fi mimariler, temel olarak mikrodenetleyicinin flash belle\u011fine eri\u015fim ve \u00f6ny\u00fckleme mekanizmalar\u0131na ba\u011fl\u0131d\u0131r.<\/p>\n<\/li>\n<li>\n            <strong>OTA g\u00fcncelleme s\u0131ras\u0131nda cihaz\u0131m\u0131n elektri\u011fi kesilirse ne olur?<\/strong><\/p>\n<p>MCUboot'un A\/B g\u00fcncelleme mekanizmas\u0131 tam da bu t\u00fcr senaryolar i\u00e7in tasarlanm\u0131\u015ft\u0131r. E\u011fer g\u00fcncelleme s\u0131ras\u0131nda elektrik kesilirse veya bir hata olu\u015fursa, yeni imaj ikincil slotta bozulmu\u015f olabilir. Ancak MCUboot, bir sonraki \u00f6ny\u00fcklemede yeni imaj\u0131 do\u011frulayamazsa, otomatik olarak birincil slottaki bilinen iyi durumdaki eski imaja geri d\u00f6ner (rollback). Bu, cihaz\u0131n\u0131z\u0131n brick olmas\u0131n\u0131 (kullan\u0131lamaz hale gelmesini) \u00f6nler.<\/p>\n<\/li>\n<li>\n            <strong>\u0130mzalama anahtarlar\u0131m \u00e7al\u0131n\u0131rsa ne yapmal\u0131y\u0131m?<\/strong><\/p>\n<p>\u0130mzalama anahtarlar\u0131n\u0131z\u0131n \u00e7al\u0131nmas\u0131, bir felaket senaryosudur. B\u00f6yle bir durumda, \u00e7al\u0131nan anahtar\u0131 derhal iptal etmeli ve t\u00fcm yeni firmware'leri farkl\u0131, g\u00fcvenli bir anahtar \u00e7iftiyle imzalamal\u0131s\u0131n\u0131z. Ayr\u0131ca, cihazlar\u0131n\u0131z\u0131, \u00e7al\u0131nan anahtarla imzalanm\u0131\u015f eski veya yeni t\u00fcm firmware'leri reddedecek \u015fekilde g\u00fcncellemeniz gerekir. Bu nedenle, \u00fcretim anahtarlar\u0131n\u0131n HSM'ler gibi \u00e7ok g\u00fcvenli ortamlarda saklanmas\u0131 b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r.<\/p>\n<\/li>\n<\/ul>\n<style>\n        \/* Responsive tasar\u0131m i\u00e7in temel stil \u00f6rne\u011fi *\/\n        body {\n            font-family: Arial, sans-serif;\n            line-height: 1.6;\n            margin: 0 auto;\n            max-width: 800px;\n            padding: 20px;\n            color: #333;\n        }<\/p>\n<p>        h2, h3 {\n            color: #2c3e50;\n        }<\/p>\n<p>        pre {\n            background-color: #ecf0f1;\n            padding: 15px;\n            border-radius: 5px;\n            overflow-x: auto;\n        }<\/p>\n<p>        code {\n            font-family: \"Courier New\", Courier, monospace;\n            background-color: #ecf0f1;\n            padding: 2px 4px;\n            border-radius: 3px;\n        }<\/p>\n<p>        .expert-tip {\n            background-color: #e8f5e9; \/* Light green *\/\n            border-left: 5px solid #4CAF50; \/* Green border *\/\n            padding: 15px;\n            margin: 20px 0;\n            border-radius: 5px;\n            font-style: italic;\n            color: #388e3c; \/* Darker green text *\/\n        }<\/p>\n<p>        \/* Mobil uyumluluk i\u00e7in media query \u00f6rne\u011fi *\/\n        @media (max-width: 600px) {\n            body {\n                padding: 15px;\n            }\n            h2 {\n                font-size: 1.8em;\n            }\n            h3 {\n                font-size: 1.3em;\n            }\n            .expert-tip {\n                margin: 15px 0;\n                padding: 10px;\n            }\n        }\n    <\/style>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"G\u00fcn\u00fcm\u00fcz\u00fcn birbirine ba\u011fl\u0131 d\u00fcnyas\u0131nda, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenli\u011fi hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Peki, cihazlar\u0131n\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-33837","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber<\/title>\n<meta name=\"description\" content=\"G\u00fcn\u00fcm\u00fcz\u00fcn birbirine ba\u011fl\u0131 d\u00fcnyas\u0131nda, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenli\u011fi hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Peki, cihazlar\u0131n\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n her zaman orijinal ve kurcalanmam\u0131\u015f oldu\u011fundan nas\u0131l emin olabilirsiniz? MCUboot, bu sorunu \u00e7\u00f6zen, g\u00fcvenli yaz\u0131l\u0131m g\u00fcncellemeleri ve \u00f6ny\u00fckleme mekanizmalar\u0131 sunan a\u00e7\u0131k kaynakl\u0131 bir bootloader \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu makale, MCUboot&#039;un derinliklerine inerek, cihazlar\u0131n\u0131z i\u00e7in sa\u011flam bir g\u00fcvenlik temeli olu\u015fturman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber\" \/>\n<meta property=\"og:description\" content=\"G\u00fcn\u00fcm\u00fcz\u00fcn birbirine ba\u011fl\u0131 d\u00fcnyas\u0131nda, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenli\u011fi hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Peki, cihazlar\u0131n\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n her zaman orijinal ve kurcalanmam\u0131\u015f oldu\u011fundan nas\u0131l emin olabilirsiniz? MCUboot, bu sorunu \u00e7\u00f6zen, g\u00fcvenli yaz\u0131l\u0131m g\u00fcncellemeleri ve \u00f6ny\u00fckleme mekanizmalar\u0131 sunan a\u00e7\u0131k kaynakl\u0131 bir bootloader \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu makale, MCUboot&#039;un derinliklerine inerek, cihazlar\u0131n\u0131z i\u00e7in sa\u011flam bir g\u00fcvenlik temeli olu\u015fturman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-07T17:01:03+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber\",\"datePublished\":\"2025-11-07T17:01:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/\"},\"wordCount\":3931,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/\",\"name\":\"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-07T17:01:03+00:00\",\"description\":\"G\u00fcn\u00fcm\u00fcz\u00fcn birbirine ba\u011fl\u0131 d\u00fcnyas\u0131nda, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenli\u011fi hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Peki, cihazlar\u0131n\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n her zaman orijinal ve kurcalanmam\u0131\u015f oldu\u011fundan nas\u0131l emin olabilirsiniz? MCUboot, bu sorunu \u00e7\u00f6zen, g\u00fcvenli yaz\u0131l\u0131m g\u00fcncellemeleri ve \u00f6ny\u00fckleme mekanizmalar\u0131 sunan a\u00e7\u0131k kaynakl\u0131 bir bootloader \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu makale, MCUboot'un derinliklerine inerek, cihazlar\u0131n\u0131z i\u00e7in sa\u011flam bir g\u00fcvenlik temeli olu\u015fturman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber","description":"G\u00fcn\u00fcm\u00fcz\u00fcn birbirine ba\u011fl\u0131 d\u00fcnyas\u0131nda, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenli\u011fi hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Peki, cihazlar\u0131n\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n her zaman orijinal ve kurcalanmam\u0131\u015f oldu\u011fundan nas\u0131l emin olabilirsiniz? MCUboot, bu sorunu \u00e7\u00f6zen, g\u00fcvenli yaz\u0131l\u0131m g\u00fcncellemeleri ve \u00f6ny\u00fckleme mekanizmalar\u0131 sunan a\u00e7\u0131k kaynakl\u0131 bir bootloader \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu makale, MCUboot'un derinliklerine inerek, cihazlar\u0131n\u0131z i\u00e7in sa\u011flam bir g\u00fcvenlik temeli olu\u015fturman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber","og_description":"G\u00fcn\u00fcm\u00fcz\u00fcn birbirine ba\u011fl\u0131 d\u00fcnyas\u0131nda, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenli\u011fi hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Peki, cihazlar\u0131n\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n her zaman orijinal ve kurcalanmam\u0131\u015f oldu\u011fundan nas\u0131l emin olabilirsiniz? MCUboot, bu sorunu \u00e7\u00f6zen, g\u00fcvenli yaz\u0131l\u0131m g\u00fcncellemeleri ve \u00f6ny\u00fckleme mekanizmalar\u0131 sunan a\u00e7\u0131k kaynakl\u0131 bir bootloader \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu makale, MCUboot'un derinliklerine inerek, cihazlar\u0131n\u0131z i\u00e7in sa\u011flam bir g\u00fcvenlik temeli olu\u015fturman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-07T17:01:03+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber","datePublished":"2025-11-07T17:01:03+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/"},"wordCount":3931,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/","name":"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-07T17:01:03+00:00","description":"G\u00fcn\u00fcm\u00fcz\u00fcn birbirine ba\u011fl\u0131 d\u00fcnyas\u0131nda, g\u00f6m\u00fcl\u00fc sistemlerin ve IoT cihazlar\u0131n\u0131n g\u00fcvenli\u011fi hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Peki, cihazlar\u0131n\u0131z\u0131n yaz\u0131l\u0131mlar\u0131n\u0131n her zaman orijinal ve kurcalanmam\u0131\u015f oldu\u011fundan nas\u0131l emin olabilirsiniz? MCUboot, bu sorunu \u00e7\u00f6zen, g\u00fcvenli yaz\u0131l\u0131m g\u00fcncellemeleri ve \u00f6ny\u00fckleme mekanizmalar\u0131 sunan a\u00e7\u0131k kaynakl\u0131 bir bootloader \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Bu makale, MCUboot'un derinliklerine inerek, cihazlar\u0131n\u0131z i\u00e7in sa\u011flam bir g\u00fcvenlik temeli olu\u015fturman\u0131n yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/mcuboot-guvenli-onyukleme-yolculugunda-adim-adim-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MCUboot: G\u00fcvenli \u00d6ny\u00fckleme Yolculu\u011funda Ad\u0131m Ad\u0131m Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=33837"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33837\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}