Monday, November 11, 2019
Saturday, August 3, 2019
Sunday, July 28, 2019
Thursday, July 25, 2019
Sunday, July 21, 2019
Saturday, July 20, 2019
Wednesday, July 17, 2019
Friday, July 12, 2019
Friday, June 28, 2019
Thursday, June 13, 2019
Monday, June 10, 2019
Sakuga Booru.
Sunday, June 9, 2019
Playstation classic hack.
If web access part cannot work, should install samsung ndis driver
https://developer.samsung.com
Monday, June 3, 2019
Saturday, June 1, 2019
Thursday, May 30, 2019
Flaws: cyber security.
_____ _ ____ __ __ _____ | || | / || |__| |/ ___/ | __|| | | o || | | ( \_ | |_ | |___ | || | | |\__ | | _] | || _ || ` ' |/ \ | | | | || | | \ / \ | |__| |_____||__|__| \_/\_/ \___|
Thursday, May 23, 2019
Sunday, May 19, 2019
Wednesday, May 15, 2019
Chocolate Doom.
"Chocolate Doom is a Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s." |
Saturday, May 11, 2019
Friday, May 10, 2019
Thursday, May 9, 2019
Wednesday, May 8, 2019
Monday, May 6, 2019
Sunday, May 5, 2019
Saturday, May 4, 2019
Friday, May 3, 2019
Wednesday, May 1, 2019
Friday, April 26, 2019
Richard Stallman 9/27/83 Free Unix!
9/27/83
Free Unix!
Starting this Thanksgiving I am going to write a complete
Unix-compatible software system called GNU (for Gnu's Not Unix), and
give it away free to everyone who can use it. Contributions of time,
money, programs and equipment are greatly needed.
write and run C programs: editor, shell, C compiler, linker,
assembler, and a few other things. After this we will add a text
formatter, a YACC, an Empire game, a spreadsheet, and hundreds of
other things. We hope to supply, eventually, everything useful that
normally comes with a Unix system, and anything else useful, including
on-line and hardcopy documentation.
GNU will be able to run Unix programs, but will not be identical
to Unix. We will make all improvements that are convenient, based
on our experience with other operating systems. In particular,
we plan to have longer filenames, file version numbers, a crashproof
file system, filename completion perhaps, terminal-independent
display support, and eventually a Lisp-based window system through
which several Lisp programs and ordinary Unix programs can share a screen.
Both C and Lisp will be available as system programming languages.
We will have network software based on MIT's chaosnet protocol,
far superior to UUCP. We may also have something compatible
with UUCP.
Who Am I?
I am Richard Stallman, inventor of the original much-imitated EMACS
editor, now at the Artificial Intelligence Lab at MIT. I have worked
extensively on compilers, editors, debuggers, command interpreters, the
Incompatible Timesharing System and the Lisp Machine operating system.
I pioneered terminal-independent display support in ITS. In addition I
have implemented one crashproof file system and two window systems for
Lisp machines.
Why I Must Write GNU
I consider that the golden rule requires that if I like a program I
must share it with other people who like it. I cannot in good
conscience sign a nondisclosure agreement or a software license
agreement.
So that I can continue to use computers without violating my principles,
I have decided to put together a sufficient body of free software so that
I will be able to get along without any software that is not free.
How You Can Contribute
I am asking computer manufacturers for donations of machines and money.
I'm asking individuals for donations of programs and work.
One computer manufacturer has already offered to provide a machine. But
we could use more. One consequence you can expect if you donate
machines is that GNU will run on them at an early date. The machine had
better be able to operate in a residential area, and not require
sophisticated cooling or power.
Individual programmers can contribute by writing a compatible duplicate
of some Unix utility and giving it to me. For most projects, such
part-time distributed work would be very hard to coordinate; the
independently-written parts would not work together. But for the
particular task of replacing Unix, this problem is absent. Most
interface specifications are fixed by Unix compatibility. If each
contribution works with the rest of Unix, it will probably work
with the rest of GNU.
If I get donations of money, I may be able to hire a few people full or
part time. The salary won't be high, but I'm looking for people for
whom knowing they are helping humanity is as important as money. I view
this as a way of enabling dedicated people to devote their full energies to
working on GNU by sparing them the need to make a living in another way.
For more information, contact me.
Arpanet mail:
RMS@MIT-MC.ARPA
Usenet:
...!mit-eddie!RMS@OZ
...!mit-vax!RMS@OZ
US Snail:
Richard Stallman
166 Prospect St
Cambridge, MA 02139
https://groups.google.com
Thursday, April 25, 2019
Friday, April 12, 2019
Thursday, April 11, 2019
Wednesday, April 10, 2019
Monday, April 8, 2019
How the PS3 hypervisor was hacked.
Orijinal doküman:
https://rdist.root.org/
Türkçe tercüme:
PS3 Hypervisor’ının Nasıl Hacklendiği
27 Ocak 2010 ~ Nate Lawson
George Hotz, daha önce iPhone'u hacklemesiyle tanınan biri, Playstation 3'ü hacklediğini açıkladı ve ardından exploit detaylarını paylaştı. Bu konuda birçok makale yazıldı ancak hiçbirinde aslında kodun analizi yapılmadı. Çeşitli çelişkili raporlar nedeniyle, bu exploitin anlaşılmasına yardımcı olacak bazı ek analizler sunmak istiyorum.
PS3, Xbox 360 gibi güvenlik denetimi için bir hypervisor'a (sanallaştırma denetleyicisi) dayanıyor. Ancak, 360'tan farklı olarak, PS3 kullanıcıların dilerlerse Linux çalıştırmasına izin veriyor, fakat bu yine de hypervisor tarafından yönetiliyor. Hypervisor, Linux çekirdeğinin GPU gibi bazı donanımlara erişmesini engelliyor. Hypervisor’ın ele geçirilmesiyle donanıma doğrudan erişim sağlanabilir ve daha düşük yetkili kodlar izlenip kontrol edilebilir.
Hypervisor'ı hacklemek, korsan oyunlar çalıştırmak için gereken tek adım değil. Her oyunun, ROM Mark adı verilen bir diskte bulunan bir şifreleme anahtarı vardır. Sürücü yazılımı bu anahtarı okur ve oyunun yüklenmesi sırasında şifreyi çözmek için hypervisor’a iletir. Bu anahtarı ortaya çıkarmak için hypervisor’ın alt edilmesi gereklidir. Bir başka yaklaşım, Blu-ray sürücü yazılımını ele geçirmek veya anahtarları çıkarmadan şifre çözme kodunu köle olarak kullanıp her oyunun şifresini çözmektir. Bunun ardından, oyundaki yazılım koruma önlemleri devre dışı bırakılmalıdır. Şifrelemenin altındaki bazı kendi kendini koruma önlemlerinin olup olmadığı bilinmiyor. Bazı geliştiriciler sadece şifrelemeye güvenebilirken, diğerleri SecuROM gibi bir şey kullanabilir.
Hypervisor kodu, ana CPU (PPE) ve yedi Cell yardımcı işlemcisinden (SPE) biri üzerinde çalışır. SPE thread’inin izole modda başlatıldığı görülüyor; bu, özel koduna ve veri belleğine erişimin hypervisor’dan bile engellendiği anlamına gelir. Önyükleyici ve ardından hypervisor’ı şifre çözmek için kullanılan kök donanım anahtarları yalnızca donanımda bulunur, muhtemelen eFUSE'lar aracılığıyla. Bu aynı zamanda her Cell işlemcisinin bazı benzersiz anahtarlara sahip olabileceği ve şifre çözmenin tek bir global kök anahtara bağlı olmayabileceği anlamına gelir (bazı makalelerde global bir kök anahtar olduğu iddia edilse de).
George’un hack’i, “OtherOS” özelliği aracılığıyla Linux başlattıktan sonra hypervisor’ı etkisiz hale getirir. Bu exploit, keyfi okuma/yazma RAM erişim işlevleri eklemek ve hypervisor’ı dökümlemek için kullanılmıştır. Lv1'e erişim, sürücü yazılımına veya oyunlara karşı diğer saldırıları başlatmak için gerekli ilk adımdır.
Yaklaşımı zekice ve “glitching attack” (hata enjeksiyonu saldırısı) olarak bilinir. Bu tür bir donanım saldırısı, donanımın bir şekilde işe yarayacak şekilde yanlış davranmasına neden olmak için dikkatlice zamanlanmış bir voltaj darbesi göndermeyi içerir. Bu, akıllı kart korsanları tarafından uzun süredir kartları kilitsiz hale getirmek için kullanılan bir yöntemdir. Tipik olarak, korsanlar döngü bitirme koşulunu hedef alacak şekilde darbe zamanlamasını yapar, döngünün sonsuza kadar devam etmesine ve gizli ROM’un içeriğini erişilebilir bir veriyoluna dökmesine neden olur. Saat hattı genellikle hataya uğratılır ancak bazı veri hatları da kullanılabilir bir hedeftir. Darbe zamanlaması her zaman kesin olmak zorunda değildir, çünkü donanım, spesifikasyon dışı bazı koşullara tolerans gösterecek şekilde tasarlanmıştır ve saldırı genellikle birçok kez tekrarlanabilir ve sonunda başarıya ulaşır.
George, PS3’ünün bellek yoluna tek bir hat üzerinden bir FPGA bağladı. Çipe çok basit bir mantıkla programlama yaptı: tetiklendiğinde çıkış pinine 40 ns'lik bir darbe gönder. Bu, birkaç satır Verilog ile yapılabilir. Darbe süresi nispeten kısa olsa da (PS3’ün yaklaşık 100 bellek saat döngüsü kadar), tetikleme son derece belirsizdir. Ancak, RAM'i başarı olasılığını artırmak için yazılım kullandı.
Amacı, tüm belleği (hypervisor dahil) haritalayan ana segmenti okumak/yazmak için erişim sağlamak amacıyla, hashlenmiş sayfa tablosunu (HTAB) ele geçirmekti. Exploit, bellek yönetimiyle ilgili hypervisor’daki çeşitli sistem çağrılarını yapan bir Linux çekirdek modülüdür. Bir sanal segment için HTAB olarak kullanmak üzere tahsis eder, tahsisi iptal eder ve ardından tahsis edilen belleği kullanmaya çalışır. Glitch, hypervisor’ı RAM’in gerçek durumundan ayırmayı başarırsa, saldırganın etkin HTAB’yi üzerine yazmasına ve böylece herhangi bir bellek bölgesine erişimi kontrol etmesine izin verir. Bunu biraz daha açalım.
İlk adım bir tampon ayırmaktır. Exploit, ardından hypervisor’dan bu tamponu işaret eden birçok HTAB eşlemeleri oluşturmasını ister. Bu eşlemelerden herhangi biri, tamponu okumak veya yazmak için kullanılabilir, bu sorun değildir çünkü çekirdek buna sahiptir. Unix terimleriyle düşünürsek, bunlar tek bir geçici dosyaya sahip birden fazla dosya tanıtıcısı gibidir. Herhangi bir dosya tanıtıcısı kapatılabilir, ancak tek bir açık dosya tanıtıcısı kaldığı sürece dosyanın verilerine erişilebilir.
Sonraki adım, tüm eşlemeler serbest bırakılmadan tamponun tahsisinin iptal edilmesidir. Bu sorun değildir, çünkü hypervisor her bir eşlemeyi yok eder ve ardından geri döner. Lv1_release_memory() çağrıldıktan hemen sonra, exploit kullanıcıya hata tetikleme düğmesine basmasını söyler. Bu tampona bu kadar çok HTAB eşlemesi olduğundan, kullanıcı glitch tetiklemesini hypervisor bir eşlemeyi serbest bırakırken başarılı bir şekilde gerçekleştirme şansına sahiptir. Glitch, muhtemelen hypervisor’un bir veya daha fazla yazma döngüsünün belleğe ulaşmasını engeller. Bu yazmalar, her bir eşlemeyi serbest bırakmak için tasarlanmıştır, ancak başarısız olurlarsa eşlemeler bozulmadan kalır.
Bu noktada, hypervisor artık serbest bırakılmış bir tamponu işaret eden bir veya daha fazla okuma/yazma eşlemesi bulunan bir HTAB’ye sahiptir. Böylece, çekirdek artık bu tampona sahip değil ve onu yazamaması gerekir. Ancak, çekirdek hala bu tampona işaret eden bir veya daha fazla geçerli eşlemeye sahiptir ve aslında içeriğini değiştirebilir. Ancak bu henüz yararlı değildir, çünkü bu sadece boş bir bellektir.
Exploit daha sonra bir sanal segment oluşturur ve ilişkilendirilmiş HTAB'nin serbest bırakılan tamponun adresini kapsayan bir bölgede olup olmadığını kontrol eder. Değilse, biri bunu yapana kadar sanal segmentler oluşturmaya devam eder. Artık kullanıcı, hypervisor’ın bunu tek başına kontrol etmesi yerine, doğrudan bu HTAB’ye yazma yeteneğine sahiptir. Exploit, ana segmente tam erişim sağlayacak bazı HTAB girdilerini yazar ve bu, tüm belleği haritalar. Hypervisor bu sanal segmente geçtiğinde, saldırgan artık tüm belleği ve dolayısıyla hypervisor’ı kontrol eder. Exploit, herhangi bir bellek adresine doğrudan okuma/yazma erişimi sağlayan iki sistem çağrısı kurar ve ardından çekirdeğe geri döner.
Bu saldırının bir modçip içine paketlenmesi oldukça olasıdır, çünkü glitch, dar bir aralıkta olsa da, çok hassas bir şekilde zamanlanmak zorunda değildir. Bir mikrodenetleyici ve darbe için biraz analog devre ile bu oldukça güvenilir olabilir. Bununla birlikte, dump’lanan hypervisor’ın tersine mühendisliği yapıldıktan sonra bir yazılım hatası bulunmasının daha olası olduğu ve bunun kitleler tarafından kullanılmak üzere dağıtılacağı düşünülüyor.
Sony, PS3’ün güvenliği konusunda oldukça iyi bir iş çıkarmış görünüyor. Her şey oldukça uyumlu bir şekilde bir araya geliyor, belirgin zayıf noktalar yok. Ancak, konuk işletim sistemi çekirdeklerine verilen düşük seviyeli erişim, hypervisor’daki herhangi bir hatanın, sunduğu geniş API nedeniyle saldırgan kod tarafından erişilebilir olma olasılığını artırıyor. Basit bir çözüm, her bir eşlemeyi değiştirdikten sonra durumu tekrar okumak olabilir. Eğer yazma herhangi bir nedenle başarısız olursa, hypervisor bunu görür ve durur.
Sony'nin bu tür saldırıları önlemek için gelecekteki güncellemelerle nasıl yanıt vereceğini görmek ilginç olacak.
[Düzenleme: geohot'un yorumuna dayalı olarak sanal segment tahsisi tanımını düzelttim.]