**Yazılım adli bilişimi**, fikri mülkiyet ihlali veya hırsızlığın meydana gelip gelmediğini belirlemek için yazılım kaynak kodu veya ikili kod analiz etme bilimidir. Şirketler, yazılım patentleri, telif hakları ve ticari sırlar ile ilgili konularda anlaşmazlığa düştüğünde davaların, duruşmaların ve uzlaşmaların merkezinde yer alır. Yazılım adli bilişim araçları, bir yazılım adli bilişim uzmanına rehberlik etmek için kullanılabilecek bir ölçü olan korelasyonu belirlemek amacıyla kodu analiz ederek karşılaştırabilir.

Geçmiş yazılım adli bilişim yöntemleri
--------------------------------------

Geçmiş kod karşılaştırma yöntemleri arasında hashing, statik analiz, metin eşleştirme ve belirteçleştirme yer almaktadır. Bu yöntemler yazılım kodunu karşılaştırmış ve kopyalamanın gerçekleşip gerçekleşmediğini gösteren tek bir ölçü üretmiştir. Ancak, bu ölçümler mahkemede kabul edilebilecek kadar doğru değildi çünkü sonuçlar çok doğru değildi, algoritmalar koddaki basit değişikliklerle kolayca kandırılabilirdi ve yöntemler kodun kopyalama dışındaki nedenlerle benzer olabileceği gerçeğini hesaba katmıyordu.

Telif hakkı ihlali
------------------

Korelasyon miktarını belirlemek üzere kodu karşılaştırmak için yazılım araçlarının kullanılmasının ardından, bir uzman, korelasyonlu kodun üçüncü taraf kodundan, kod oluşturma araçlarından, yaygın olarak kullanılan isimlerden, ortak algoritmalardan, ortak programcılardan veya kopyalamadan kaynaklandığını belirlemek için yinelemeli bir filtreleme süreci kullanabilir. Eğer korelasyon kopyalamadan kaynaklanıyorsa ve kopyalayan kişi hak sahibinden yetki almamışsa, telif hakkı ihlali gerçekleşmiş demektir.

Ticari sırların korunması ve ihlali
-----------------------------------

Yazılım, bir işletmeye rekabet avantajı sağlayan ticari sırlar içerebilir. Ticari sır hırsızlığını belirlemek için, telif hakkı ihlalini tespit etmek için kullanılan araç ve süreçlerin aynısı kullanılabilir. Kod, yetkisiz bir şekilde kopyalanmışsa ve bu kod ticari sır niteliği taşıyorsa -genel olarak bilinmiyorsa, işletme bunu gizli tutuyorsa ve gizliliği işletme için değerini koruyorsa- kopyalanan kod ticari sır hırsızlığı teşkil eder.

Ticari sır hırsızlığı, kodun tam anlamıyla kopyalanmadan kod işlevselliğinin alınmasını da içerebilir. Kod işlevselliğini karşılaştırmak, henüz herhangi bir algoritma tarafından makul bir sürede başarılamamış çok zor bir problemdir. Bu nedenle, kod işlevselliği hırsızlığını bulmak hala çoğunlukla manuel yönetilen bir süreçtir.

Patent ihlali
-------------

Ticari sır niteliğinde olduğu gibi, yazılım patentleri belirli kaynak kodundan ziyade genel uygulamayı kapsadığından, yazılım patenti ihlalini bilimsel olarak tespit etmek şu anda mümkün değildir. Örneğin, patentli bir buluşu uygulayan bir program, farklı fonksiyon adları ve değişken adları kullanılarak ve farklı sıralarda işlemler gerçekleştirilerek mevcut birçok programlama dilinde yazılabilir. Buluşları yazılımda uygulamak için o kadar çok kombinasyon vardır ki, en güçlü modern bilgisayarlar bile bir patenti ihlal edebilecek tüm kod kombinasyonlarını dikkate alamaz. Bu iş, hala bilgi ve deneyimlerini kullanan insan uzmanlara bırakılmıştır, ancak bu, yazılım adli bilişim alanındaki birçok kişinin bir algoritma bularak veya süreci basitleştirerek otomatikleştirmeye çalıştığı bir sorundur.

Nesnel gerçekler öznel kanıtlardan önce gelir
---------------------------------------------

Herhangi bir adli analizin önemli bir kuralı, önce nesnel gerçeklerin dikkate alınması gerektiğidir. Koddaki yorumları incelemek veya kodu dağıtan şirketler ve kodu yazan programcılar hakkında bilgi bulmak için internette arama yapmak, ancak korelasyonla ilgili nesnel gerçekler dikkate alındıktan sonra yararlıdır. Adli araçlar ve prosedürler kullanılarak bir analiz yapıldıktan sonra analistler koddaki yorumlar gibi öznel kanıtlara bakmaya başlayabilir. Bu öznel kanıttaki bilgiler nesnel analizle çelişiyorsa, analistlerin öznel kanıttan şüphe etmeleri gerekir. Kopyalamayı gizlemek için kopyalama gerçekleştikten sonra kaynak koda eklenen sahte telif hakkı bildirimleri, açık kaynak bildirimleri veya programcı adları, gerçek dünyadaki kod hırsızlığı vakalarında nadir değildir.

Kaynakça
--------

1. ↑  Mengya Zheng, Xingyu Pan & David Lillis, "CodEX: Source Code Plagiarism Detection Based on Abstract Syntax Trees" (PDF), *CEUR Workshop Proceedings*, cilt 2259, 4 Şubat 2022 tarihinde kaynağından arşivlendi (PDF), erişim tarihi: 3 Nisan 2023
2. ↑  Warren Toomey, *Code Similarity Detection in Multiple Large Source Trees using Token Hashes* (PDF), 22 Şubat 2023 tarihinde kaynağından arşivlendi (PDF), erişim tarihi: 3 Nisan 2023

Konuyla ilgili yayınlar
-----------------------

* Ragkhitwetsagul, C. Krinke, J. & Clark, D. (2018). "A comparison of code similarity analysers". *Empir. Software Eng*. **23**: 2464-2519. doi:10.1007/s10664-017-9564-7.
* Chanchal K. Roya, James R. Cordy, Rainer Koschke (2009). "Comparison and evaluation of code clone detection techniques and tools: A qualitative approach" (PDF). *Science of Computer Programming*. **74**: 470-495.
* Baojiang Cui, Jiansong Li, Tao Guo, Jianxin Wang & Ding Ma (2010). "Code Comparison System based on Abstract Syntax Tree". *3rd IEEE International Conference on Broadband Network and Multimedia Technology (IC-BNMT)*. Pekin: 668-673. doi:10.1109/ICBNMT.2010.5705174.

| * g
* t
* d
Adli bilişim |
| --- |
| Dallar | 
* Bilgisayar adli bilişimi
* Mobil cihaz adli bilişimi
* Ağ adli bilişimi
* Veri tabanı adli bilişimi

 |
| Donanım | 
* Adli bilişim disk kontrolcüsü

 |
| Yazılım | 
* ADF Solutions Digital Evidence Investigator
* EnCase
* Foremost
* FTK
* PTK Forensics
* The Sleuth Kit
* The Coroner's Toolkit
* COFEE
* HashKeeper
* Xplico

 |
| Linux dağıtımları | 
* CAINE Linux
* Kali Linux
* Parrot OS
* Athena OS
* BackBox
* BlackArch
* Pentoo

 |
| Sertifikasyon | 
* Certified Forensic Computer Examiner (CFCE)
* Global Information Assurance Certification

 |
| Süreç | 
* Adli bilişim süreci
* Veri toplama
* Sayısal kanıt
* eKeşif
* Ters adli bilişim

 |
| Organizasyonlar | 
* National Software Reference Library
* Department of Defense Cyber Crime Center
* National Hi-Tech Crime Unit (NHTCU)
* Australian High Tech Crime Centre (AHTCC)

 |
| İnsanlar | 
* Mary Aiken
* Annie Antón
* Rebecca Bace
* Josh Brunty
* Eoghan Casey
* Hany Farid
* Simson Garfinkel
* Clifford Stoll
* Robert Zeidman

 |
| 
* Adli bilişim terimleri sözlüğü

 |