Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Secure Boot

Başlatan mr.engineer, 28 Mart 2022, 19:35:28

mr.engineer

Merhaba,
Esp32'de secure boot'u aktif ettim. Bootloader ve diğer app'leri imzalayıp yüklüyor.
Şöyle bir sorun var ki, secure boot olmadan hazırlanmış (imzasız) binary dosyaları yüklemeye çalıştığımda yüklemeyi yapıyor ama loga bakınca secure boot verify failed gibi hata çıkıyor sürekli.

Benim istediğim yüklemeye çalıştığım binary dosyayı imzasına bakıp hiç yuklememesiydi.

Bu haliyele nasıl bir güvenlik sağlıyor anlamadım. İsteyen kendi kodunu yükleyip cihazı bozabilir. Uart flash download modu tamamen disable edebiliriz ama bu sefer de hiç kod yukleyemem diye yapmadım.

Benim istediğim sadece kendi kodumu yüklemek.


MrDarK

Esp update yapabilmek için https server tavsiye ediyor. Eğer sizin sertifika ile oluşturulmamış bir server'a update talebi ile giderseniz zaten bağlantı saglanmayacaktir. Özetle eğer ssl server bilgileri uyuşuyor ise yükleme yapılması doğal diye düşünüyorum
Picproje Eğitim Gönüllüleri ~ MrDarK

mr.engineer

Alıntı yapılan: MrDarK - 28 Mart 2022, 20:11:23Esp update yapabilmek için https server tavsiye ediyor. Eğer sizin sertifika ile oluşturulmamış bir server'a update talebi ile giderseniz zaten bağlantı saglanmayacaktir. Özetle eğer ssl server bilgileri uyuşuyor ise yükleme yapılması doğal diye düşünüyorum

Ota dan bahsetmiyorum hocam. Normal kablo ile flasha kodu yüklemekten bahsettim.

Bu arada ota ile secure boot düzgün çalışıyor. Eğer imzasız yazılım gelmişse onu yüklemiyor ya da yükleyip siliyor ve eski yazılımı kullanmaya devam ediyor. Aynısını kendim uart ile kodu atarken yapmasını istiyorum

ziyaretci

#3
Bahsettiğiniz konuyla alakalı herhangi bir deneyimim yok yalnız en yakın(güvenlik olarak) smtp ile e-posta gönderme hakkında benzer güvenlik kaygısını yaşadım. Dedim; "probu RX TX hattına dayayan ve az buçuk smtp protokolüne hakim olanın önüne altın tepsiyle sunacağız e-posta adresini...". Hani geçtim probu, güvenlik kodunu IC'ye gömüp oradan bile salsa yine kar etmez. Ulaşmak isteyen teknolojiyi kullanır ve ulaşır. Burada aydınlandım.  :du:  :D


Sözü şuraya getirmek istiyorum; "şifremi bilen bir başkası, hesabıma girebilir. Bu güvenlik açığını nasıl kapatacağım..?" gibi bir durumla karşı karşıya olabilirsiniz.  :D

Eğer flash'a kodu yüklerken koşma yapılabiliyorsa, ek olarak kendinizin koyacağı bir anahtar kodu kontrol edip 2B güvenlik oluşturabilirsiniz.

Dediğim gibi öylesine yazdım, olurluğunu bilmiyorum.

Takıldığım bir diğer nokta(detayını bilmiyorum tabiiki..) kodunuz çalınmıyorsa bırakın başkası yüklesin. Yeniden güncellemeye para alırsınız.



MrDarK

Alıntı yapılan: mr.engineer - 28 Mart 2022, 20:53:31Ota dan bahsetmiyorum hocam. Normal kablo ile flasha kodu yüklemekten bahsettim.

Bu durumun aslında pek secure boot fonksiyonu ile alakalı değil olarak görüyorum. Eğer birisi senin cihazını açıyor ise zaten cihazı programlama moduna alarak kodunu değiştirip bozabilir. Eğer yazılımın bozulmasın istiyorsan one time programming özelliğini aktif etmen gerekir. Tabi bu seferde sen ota yapamayabilirsin. Aynı durum Arm mimarisinde de var swd pinleri ortada kodu silme, başka birşey yükleme şansın var.

Bir başka öneri de şu olabilir espleri pcbye programlı yüklersen pcbde yükleme pinleri koymana gerek kalmaz rahat edersin.
Picproje Eğitim Gönüllüleri ~ MrDarK

mr.engineer

Alıntı yapılan: MrDarK - 29 Mart 2022, 07:52:39Bu durumun aslında pek secure boot fonksiyonu ile alakalı değil olarak görüyorum. Eğer birisi senin cihazını açıyor ise zaten cihazı programlama moduna alarak kodunu değiştirip bozabilir. Eğer yazılımın bozulmasın istiyorsan one time programming özelliğini aktif etmen gerekir. Tabi bu seferde sen ota yapamayabilirsin. Aynı durum Arm mimarisinde de var swd pinleri ortada kodu silme, başka birşey yükleme şansın var.

Bir başka öneri de şu olabilir espleri pcbye programlı yüklersen pcbde yükleme pinleri koymana gerek kalmaz rahat edersin.

Okuduğum kadarıyla flash encryption veya one time program da yapsak OTA çalışıyor galiba. Bu durumda sadece kablo ile program atılmıyor.

Secure boot ile sadece benim kodum çalışıyor, başkası kod yuklese de çalıştırmıyor ama benim kodum da silinmiş oluyor:)

İstediğim sadece kablo ile kendim kod atabilmek istiyorum. Başkası kod atmaya çalışınca atamasin ve benim kodum bozulmasın. Bu da olmuyor galiba:)