Ters Kod Mühendisliğine Giriş Sınavı

Akademik Bilişim 2017 ilk duyurulduğunda katılma niyetindeyim ama o sırada finalleri ve proje teslimleri olan beşinci dönemimde aldığım yüksek sayıdaki ders epey bunalttığı için son güne kadar başvuru yapma konusunda emin olamadım.

Bununla birlikte Düzce Üniversitesi'nden pek çok arkadaşım/tanıdığım başvuru yapınca benim de isteğim tazelendi ve bir iki yazdır katılmak için fırsat bulamadığım Linux Yaz Kampı'ndaki Kriptografi ve TersKod Mühendisliğine Giriş'in bir benzeri olan Ters Kod Mühendisliğine Giriş'e başvurumu yaptım.

Yapılan başvuru sayısını kurs için belirlenen kişi sayısına yakınsamak için küçük bir sınav gerçekleştirildi. Soruları cevaplamak için de yaklaşık iki gün verildi, daha sonra zaman bulamayacağımı hesap ettiğim için sorularla buluşur buluşmaz aşağıdaki gibi cevaplayıp gönderdim.

2017 Akademik Bilişim Konferansı, Ters Kod Mühendisliğine Giriş eğitimine alımlar bu sorulara verilen cevaplar üzerinden yapılacaktır.

1. Soru: Unix, Unix-like, GNU ve Linux kavramlarini 2-3 cumle ile aciklayiniz
UNIX: 60'ların sonlarında Ken Thompson, Dennis Ritchie ve daha birçok güzel insan tarafından Bell Laboratuvarları'nda geliştirilmiş, çok kullanıcılı, çok görevli yapıyı destekleyen bir bilgisayar işletim sistemidir.

UNIX Benzeri: Single UNIX Specification'ın herhangi bir sürümüyle sertifikalanmış olmasa veya bu belirtimlere tam uymasa bile UNIX sistemine benzer şekilde çalışan işletim sistemleridir. Terimi tanımlayan belli bir standart yoktur, belli bir dereceye kadar fikir ayrılıkları vardır. Örneğin Linus Torvalds tarafından temelleri atılan Linux, bir UNIX türevidir.

GNU: 1983 Eylül'ünde Richard Stallman tarafından duyurulan çekirdeği, sistem araçlarını, açıcılarını, kütüphanelerini ve son kullanıcı yazılımlarını içeren bir işletim sistemidir. İsminin açılımı "GNU's Not Unix"dir ve arkasındaki hikaye tasarımının Unix'e benzerken kendisinin özgür yazılım olması ve herhangi bir UNIX kodunu içermemesidir. İsmi geçtiği zaman akıllara sadece bir işletim sistemini değil aynı zamanda özgür yazılım hareketini ve özgür yazılım lisanslarını da getirmektedir.

Linux: Linux çekirdeği ve çeşitli GNU araçları üzerine kurulmuş, açık kaynak kodlu, özgür ve ücretsiz işletim sistemlerinin genel adıdır. Linux, ilk olarak Linus Torvalds tarafından 17 Eylül 1991'de duyurulmuştur. Günümüzde sunucu bilgisayarlardan araç içi sistemlere kadar akla gelebilecek her tür bilgisayar üzerinde çalışabilen Linux, dağıtımlarıyla her gün yeni kullanıcılara ulaşmaya devam ediyor.

Kaynaklar:

2. Soru: Ters Kod Mühendisliği / Tersine Mühendislik kavramlarını duyunca aklınızda ne canlanıyor?
Lokantada yenilen ve çok beğenilen yemeğin nasıl yapıldığını anlamak için baş aşçıyı çağırma zahmetine girmek yerine damakta bıraktığı tattan, önceki yemek deneyimlerinden ve sonrasında da onlarca deneme yanılmayla aynı yemeği elde etme diye biraz değişik bir örnek verebilirim gecenin bu ne aç ne tok olduğum saatlerinde. Ortaya çıkmış bir ürünü tekrar oluşturmak, çalışmasını anlamak veya başka amaçlarla derinlemesine inceleyip analiz etme geliyor aklıma düşüncelerimi genelleştirirsem.

3. Soru: Jdeuorg'wow hycugwjo wgegcoqoe? (Ipucu: http://138.197.80.112/)
İpucuyu anlamadım ve kullanılan şifrelemeyi şu an araştırıp çözmeye uğraşamadım çünkü daha yarına yetiştirmem gereken makine öğrenmesi final projem var ama bu soru cümlesini görür görmez Türkiye'nin başkenti neresidir? diye soruyor gibi geldi. İkisini alt alta yazdım:

Jdeuorg'wow hycugwjo wgegcoqoe?
Türkiye'nin başkenti neresidir?

Kontrol ettiğim birkaç harf eşleşince tahminimin doğru olduğu sonucuna vardım. Bu tahminime dayanarak cevabım da (şehri karıştırıyormuşum bir de):

Ankara
Ywuyey

Bonus: Arkadaşıma bir dosya göndereceğim. Bu dosyayı önce şifreleyip sonra mı sıkıştırayım, önce sıkıştırıp ardından mı şifreleyeyim?
Bu dosyayı şifreleyip de mi RAR'lasak, yoksa RAR'layıp da mı şifrelesek? (şarkı sözlerinden sonra tekerlemeleri de mahvetmeye başladım)

Açıkçası güvenliğe gerektiği kadar önem vermediğim için daha önceden sorgulamadığım bir konuydu bu, yaptığım kısa bir araştırma neticesinde aralarındaki farkları biraz da olsa anlayacak kadar bilgi edindim.

Eğer şifreleme doğru şekilde yapılırsa sonuç temel olarak tamamen rastgele verilerden ibaret olacağından, çoğu şıkıştırma yöntemi de verilerdeki örüntüleri bulma temeline dayandığı ve eğer doğru bir şifreleme yapıldıysa ortada artık örüntü mörüntü kalmayacağından şifrelenmiş verinin sıkıştırılması mümkün olmayacaktır. Yani önce sıkıştırıp sonra şifrelemek daha mantıklıdır.

Kaynaklar:
Cevaplarım değiştirilmemiş şekilde yukarıdaki gibi. Özellikle üçüncü soruyu daha düzgün şekilde cevaplamak isterdim ama o zaman için bu mümkün olmadı. Sorular hakkında yorumlarımı da kursla ilgili açılan Telegram grubunda paylaşmıştım, buraya da ekleyeyim:
Sorular genel olarak kolay, araştırması zevkli ve olması gerektiği gibi zor değil, adayların kursa ne kadar ilgili olduğunu ölçer cinstendi. Bence güzeldi. 
Üçüncü soruda verilen ipucunun cevaba yönelik bu kadar doğrudan yardımcı olacağını cevaplarımı göndermeden önce fark edemedim. Farklı olarak da nasıl kullanabileceğimi çözemediğim için ipucundan yararlanamadım. Ama soru cümlesiyle başka bir şifreleme ile ilgili kitap veya sitede mi karşılaşmıştım yoksa o an bir şekilde mi gördüm bilmiyorum ama doğru olan cevabı buldum sanırım :) 
Soruları ve cevaplarımızı internette paylaşmamızın bir sakıncası var mı (herkes cevaplarını gönderdikten ve sonuçlar açıklandıktan sonra)? Kursa kabul edilsem de edilmesem de deneyimimle ilgili bir günlük yazısı yazmayı düşünüyorum, orada kullanabilirim eğer sorun değilse.
Yarın ya da öbür gün de bilet işini halledeceğim. Sonrasında ver elini Aksaray, oradan da altıncı döneme başlamak üzere Düzce. Aynı zamanda aynı yerlerde olursak görüşmek üzere.

Yorumlar

Bu blogdaki popüler yayınlar

Fedora 24'te GRUB 2 Önyükleyici Temasını Değiştirme

Diğer Dillerde Hoşçakal

Müfettiş Gadget'taki Kötü Adamın Yüzü Açığa Çıkmış