Mənası: Obfuskasiya – ilkin kodun və ya yerinə yetirilən kodun proqramın funksionallığı saxlanılmaqla kodun analizini, iş alqoritmlərinin anlaşılmasını və dekompilasiyasını çətinləşdirmək məqsədilə qəsdən qarışdırılması və ya şifrələnməsidir.
İzah
Obfuskasiya, proqram təminatının əks mühəndislikdən (reverse engineering) və ya tərs mühəndislik vasitəsi ilə analizindən qorunması üçün istifadə olunan bir texnikadır. Bu texnika kodun oxunaqlılığını azaltmaqla, onun anlaşılmasını və dəyişdirilməsini çətinləşdirir. Obfuskasiya prosesi, kodun funksionallığını dəyişdirmədən, onun strukturunu və sintaksisini dəyişdirməklə həyata keçirilir. Nəticədə əldə edilən kod insan tərəfindən daha az anlaşılır, lakin hələ də kompüter tərəfindən düzgün işlənir.
İstifadə Sahələri
- Proqram təminatı təhlükəsizliyi: İntellekt mülkiyyətinin qorunması üçün geniş istifadə olunur. Obfuskasiya edilmiş kod, kopyalanmasını və qanunsuz istifadəsini çətinləşdirir.
- Kiber təhlükəsizlik: Zərərli proqram yazanlar öz kodlarını antivirus proqramlarından gizlətmək üçün obfuscasiyadan istifadə edirlər.
- Software Licensing: Lisenziyalaşdırma sistemlərində obfuscasiya proqramın qanunsuz surətlərinin qarşısını almaq üçün istifadə olunur.
- Kompüter elmi: Kodun təhlili və optimizasiyası ilə bağlı tədqiqatlarda istifadə oluna bilər.
Obfuscasiya Texnikaları
- Kodun qarışdırılması (Code obfuscation): Kodun strukturunu dəyişdirmək, adların dəyişdirilməsi, artıq kodların əlavə edilməsi və s.
- Şifrələmə (Encryption): Kodun bir hissəsinin və ya tamamının şifrələnməsi.
- Kontrol axınının qarışdırılması (Control flow obfuscation): Proqramın icra ardıcıllığının dəyişdirilməsi.
- Verilənlərin qarışdırılması (Data obfuscation): Verilənlərin şifrələnməsi və ya maskalanması.
Qeyd: Obfuskasiya mütləq bir qorunma üsulu deyildir. Yeterli səviyyədə bacarıqlı bir mütəxəssis obfuscasiya edilmiş kodu da analiz edə bilər.