Tersine Mühendislik İnceleme

CH

Asistan Moderatör
28 Ocak 2019
1,512
692
Kaer Morhen
biIWbE.png


Herkese Selamlar,
Konumuzda Tersine Mühendisliği genel anlamda ele alacağız.


BCd3Sn9d_o.png


Konumuza başlamadan önce, Tersine Mühendislik Nedir ? Kısaca tanıyalım,
Tersine mühendislik (reverse engineering), bir ürünün, yazılımın, donanımın veya bir sürecin çalışma şeklini anlamak için geriye doğru analiz ve inceleme yapma sürecidir. Bu yöntem, mevcut bir ürünün veya teknolojinin iç yapısını, tasarımını veya işleyişini keşfetmeyi amaçlar.

gBPwFuWw_o.png


Hangi Amaçlarla Kullanılıyor ?

Ürün İyileştirme ve Uyum
Bir ürünün çalışma prensibini anlamak ve daha iyi bir sürümünü oluşturmak için kullanılabilir. Ayrıca, bir ürünü farklı bir platform veya sistemle uyumlu hale getirmek için de kullanılabilir.

Rakip Analizi
Rakip ürünlerin veya teknolojilerin işleyişini anlamak ve kendi ürününüzü geliştirmek veya rekabet avantajı elde etmek amacıyla kullanılabilir.

Bilgi Edinme
Eğer bir ürünün veya teknolojinin belgeleri veya açıklamaları eksikse, tersine mühendislik bu bilgileri elde etmek için kullanılabilir.

Yazılım ve Donanım Analizi
Tersine mühendislik, yazılım programlarının veya donanım cihazlarının işleyişini anlamak veya bunların içindeki hataları bulmak amacıyla kullanılabilir.

Güvenlik Değerlendirmesi
Tersine mühendislik, bir ürünün veya yazılımın güvenliğini test etmek veya güvenlik açıklarını tespit etmek için kullanılabilir.

Tersine mühendislik yasal ve etik açıdan bazı zorlukları beraberinde getirebilir. Birçok ülkede telif hakları, fikri mülkiyet hakları ve ticari sırlar gibi yasal konular bu süreci etkileyebilir. Yasalara ve etik standartlara uygun şekilde çalışmak önemlidir. Genel olarak, tersine mühendislik, mevcut bilgileri genişletmek, ürünleri geliştirmek veya güvenlik açıklarını tespit etmek amacıyla kullanılan bir teknik ve süreçtir.

Kullanılan Araçlar
Tersine mühendislik sürecinde farklı araçlar ve yöntemler kullanılabilir, bu araçlar genellikle inceleme ve analiz süreçlerini desteklemek amacıyla kullanılır.

gBPwFuWw_o.png


Yaygın olarak kullanılan bazı tersine mühendislik araçları:

Disassembler ve Decompilerlar
Bu araçlar, derlenmiş bir programın veya yazılımın kaynak koduna benzer bir düzeye geri dönüştürülmesine yardımcı olur. İşlemcinin anladığı düşük seviyeli makine kodunu daha okunabilir bir formata çevirir.

jd-gui.png


Debuggerlar
Debuggerlar, bir programın çalışma zamanında adım adım izlenmesini ve hata ayıklama sürecini sağlar. Programın çalışma sırasında bellek durumu, değişkenler ve işlemci durumu gibi bilgileri izleyerek analiz yapmayı kolaylaştırır.

slide2.png


Static Analysis Araçları
Statik analiz araçları, kaynak kodu veya derlenmiş kod üzerinde analiz yaparak potansiyel hataları veya güvenlik açıklarını tespit etmeye yardımcı olur.

1*I37Ucsq8h-6M8cu7Mxbwfg.png


Dynamic Analysis Araçları
Dinamik analiz araçları, bir programın gerçek çalışma ortamında nasıl davrandığını ve hangi kaynakları kullandığını izler. Bu, davranış tabanlı analiz ve güvenlik açıkları tespiti için kullanılır.

dynamic-code-analysis-2.jpg


Hex Editorler
Hex editorler, dosyaların alt seviyeli veri içeriğini inceleme ve düzenleme yeteneği sağlar. Özellikle dosya biçimlerini ve yapısını anlamak için kullanılır.

e4e22d20-6a6e-403a-b7cb-10a3b94a8e63


Memory Dump Analiz Araçları
Bellek dökümleri (memory dumps), bir programın veya işletim sisteminin bellek durumunu içerir. Memory dump analiz araçları, çöken bir programın veya sistemin nedenini anlamak için kullanılır.

process-exp.jpg


Network Analysis Araçları
Ağ trafiği analiz araçları, ağ üzerinden gelen ve giden veriyi izleyerek protokol analizi ve güvenlik sorunlarını tespit etmeye yardımcı olur.

network-analyst-dersleri.jpg


Reversing Frameworkler
Bu tür çerçeveler, tersine mühendislik sürecini daha yapılandırılmış bir şekilde yönetmeye yardımcı olur. Örnek olarak, OllyDbg ve IDA Pro gibi çerçeveler yaygın olarak kullanılır.

An-MDA-based-Reverse-Engineering-Framework.png


Sandbox Ortamları
Yazılımın güvenli bir ortamda çalıştığı sandbox (kum havuzu) sistemleri, potansiyel zararlı etkileri incelemek için kullanılır.

Bu sadece birkaç örnek. Tersine mühendislik projeleri genellikle projenin türüne, hedeflenen sonuca ve kullanılan teknolojiye göre farklı araçlar gerektirebilir.

Tersine Mühendislik Maddi Kazanç Sağlar mı ?
Tersine mühendislik yapmanın maddi kazanç sağlayıp sağlamayacağı, duruma ve niyetinize bağlı olarak değişebilir. Tersine mühendislik, birçok farklı amaçla kullanılabilir ve bazı durumlarda maddi kazanç elde etmeye yardımcı olabilirken, diğer durumlarda yasal veya etik sorunlara neden olabilir.

gBPwFuWw_o.png


Maddi kazanç sağlama potansiyeli:

Ürün İyileştirme ve Geliştirme
Tersine mühendislik yaparak mevcut ürünleri daha iyi hale getirebilir ve bu iyileştirmeleri pazarlayarak maddi kazanç elde edebilirsiniz. Örneğin, eski bir ürünü modern teknolojilere uyumlu hale getirerek tekrar satışa sunabilirsiniz.

Yazılım ve Teknoloji Geliştirme
Bir yazılımın veya teknolojinin iç yapısını anlayarak, daha gelişmiş veya özelleştirilmiş sürümlerini oluşturabilir ve bunları satarak maddi kazanç sağlayabilirsiniz.

Güvenlik Danışmanlığı ve Hizmetleri
Tersine mühendislik, güvenlik açıklarını tespit etmek veya kötü amaçlı yazılımları analiz etmek için kullanılır. Bu tür güvenlik hizmetlerini sunarak kazanç elde edebilirsiniz.

Ürün ve Teknoloji Analizi
Tersine mühendislik yaparak, rekabet analizi veya pazardaki yeni fırsatları belirlemek gibi bilgi sağlayan analiz raporları hazırlayarak müşterilere satabilirsiniz.

gBPwFuWw_o.png


Ancak unutulmaması gereken önemli noktalar:

Yasal ve Etik Sorunlar
Tersine mühendislik, bir ürünün, yazılımın veya teknolojinin telif haklarına veya fikri mülkiyet haklarına aykırı bir şekilde incelenmesine neden olabilir. Yasalara ve etik standartlara uymak önemlidir. Yasadışı veya etik dışı faaliyetlerden kaçının.

Lisans ve İzinler
Eğer incelenen ürün veya teknolojiye sahip değilseniz veya lisansınız yoksa, tersine mühendislik yapmak yasal sorunlara yol açabilir. Lisans ve izin gereksinimlerini göz önünde bulundurmalısınız.

Rekabet ve Güvenilirlik
Başka birinin ürününü veya teknolojisini tersine mühendislik yaparak kendi ürününüzü geliştirmek, rekabet açısından avantaj sağlayabilir. Ancak bu, güvenilirlik ve etik konularını göz önünde bulundurmanızı gerektirir.

Sonuç olarak, tersine mühendislik potansiyel olarak maddi kazanç sağlayabilir, ancak yasal ve etik sorunlar göz önünde bulundurulmalıdır. Yasalara ve etik standartlara uymak, işinizi riske atmamanız için önemlidir.


gBPwFuWw_o.png


app-areas.jpg


Herkes Tersine Mühendislik Yapabilir mi ?
Tersine mühendislik, teknik beceri ve bilgi gerektiren bir süreçtir ve herkesin kolayca yapabileceği bir iş değildir. Tersine mühendislik yapabilmek için aşağıdaki yeteneklere ve bilgilere ihtiyaç vardır:

gBPwFuWw_o.png


Programlama Bilgisi
Tersine mühendislik genellikle yazılım kodunu inceleme ve anlama sürecini içerir. Temel düzeyde programlama bilgisi, derlenmiş kodu okuma ve analiz etme konusunda önemlidir.

Donanım Bilgisi
Donanımın işleyişini anlayabilmek ve donanım bileşenlerini incelemek için temel donanım bilgisine ihtiyaç vardır.

Bilgisayar Mimarisi Bilgisi
İşlemci, bellek ve diğer bileşenlerin nasıl çalıştığını anlamak için bilgisayar mimarisi konusunda bilgi sahibi olmak önemlidir.

Low-Level Bilgisi
Tersine mühendislik genellikle düşük seviyeli (low-level) kodu, özellikle makine kodunu inceleme gerektirir. Bu tür kodları anlamak için düşük seviye bilgisi önemlidir.

Araç Kullanma Yeteneği
Tersine mühendislik araçları, disassemblerlar, debuggerlar gibi yazılımları kullanmayı gerektirir. Bu araçları etkili bir şekilde kullanabilmek için yetenek gerekir.

Güvenlik Bilgisi
Güvenlik açıklarını tespit etmek veya güvenlik tehditlerini anlamak için güvenlik konusunda temel bilgi sahibi olmak önemlidir.

Yasal ve Etik Bilinç
Tersine mühendislik yaparken yasal ve etik standartlara uymak, başkalarının haklarına saygı göstermek ve yasal sorunlardan kaçınmak önemlidir.

Sabır ve Araştırma Yeteneği
Tersine mühendislik süreci bazen karmaşık olabilir ve ayrıntılarını anlamak zaman alabilir. Sabırlı olmak ve araştırma yapma yeteneği gereklidir.

gBPwFuWw_o.png


Tersine mühendislik, teknik becerilere sahip olanlar için uygundur, ancak herkesin yapabileceği bir iş değildir. Bu nedenle, tersine mühendislik yapmadan önce sahip olduğunuz yetenekleri ve bilgi seviyenizi değerlendirmek önemlidir.








ocgh09a.gif
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.