Az Apple esete a "megpiszkált" DTrace-szel

 ( trey | 2008. január 21., hétfő - 0:19 )

Az Apple annak idején nagydobra verte, hogy portolta a Sun által kifejlesztett, DTrace névre hallgató "dinamikus instrumentálási technológiát" Mac OS X-re. Azonban azt elfelejtette közölni, hogy egy kicsit "megpiszkálta" a stuffot... Pechjére azonban Adam Leventhal, a DTrace egyik fejlesztője eljátszott a DTrace-szel Mac OS X-en és figyelmes lett egy érdekes viselkedésre.

"Tick probe"-ot használt arra, hogy periodikusan adatokat nyerjen ki a rendszerből. Írt egy scriptet, amely 10 másodpercenként jelentette azt a 10 file-t, amelyhez leggyakrabban fért hozzá a rendszer. Adam azt figyelte meg, hogy bizonyos alkalmazások háttérben futásakor egy-egy 10 másodperces ciklus kimarad. Furcsa volt a dolog, ezért nyomozásba kezdett. A vizsgálata arra derített fényt, hogy bizonyos alkalmazások "rejtettek" maradnak a DTrace előtt. Ilyen alkalmazás például az iTunes.

Ez még jobban felkeltette az érdeklődését, ezért elkezdte vizsgálni DTrace-szel, hogy mit csinál az iTunes. A vizsgálata eredményeként egy nagy semmit kapott.

Elkezdett gondolkozni azon, hogy vajon az Apple letiltotta-e bizonyos alkalmazások DTrace-szel való monitorozhatóságát. Nekiesett a DTrace forrásának, és abban megtalálta amit keresett. Az Apple belekódolt egy olyan részt a DTrace forrásába, amely határozottan megtiltja a DTrace számára az olyan processzek monitorozását és a vele kapcsolatos adatok rögzítését, amelyet az Apple nem szeretne, hogy megfigyeljenek.

Adam szerint ez ellentétes a DTrace céljaival szemben, ellentétes az open source szellemével szemben. Mint írja, biztos abban, hogy ez a kódpiszkálás a független szoftvergyártók (ISV-k) nyomására történt, de mint írja, ettől még nem könnyebb lenyelni a pirulát.

A fejlesztő szerint meg kellene győzni az Apple-t arról, hogy végezze el rendesen a DTrace portolását.

A blogbejegyzés elolvasható itt.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Szép. Marketingben jól mutat a DTrace portolva, de azért vigyázunk rá, hogy túl sokat ne tudjon meg a titkos dolgainkról...

--
trey @ gépház

Jah, gondolom az iTunes DRM sz*r*saval kapcsolatos, de ugy tunik nehany embert atvettek a Sony-tol :)

Ujsagiro szobatars itt sir mellettem, ezen:

"független szoftvergyártók nyomására történt"

Az iTunes gyartoja nem feltetlenul fuggetlen az Apple-tol :)

Inkabb azert tortenhetett, hogy nehogy megint feltorjek az iTunes-t, szoval a nyomas a copyright holderek miatt volt inkabb.

Feltorek volna? A QTFairUse nem tori fel, csak megvarja amig lezaljik a decrypt es utanna streameli ki, immaron DRM nelkul. Mindenestre a QTFairUse mukodik a legujabb iTunes 7.5-el is, de sajna csak Windows-on, szoval a OSX DTrace/Don'Trace nem befolyasolja.

Persze lehet, hogy lemaradtam egy iTunes toresrol. Kerlek vilagositsatok fel! :)

Ez áll az eredeti blogbejegyzésben (I'm sure this was inserted under pressure from ISVs,). Én nem is csodálom, hogy a blogbejegyzés készítője kicsit óvatosan fogalmaz. Az Apple mindenkit ügyvédekkel fenyeget meg, aki olyant mer állítani, ami az Apple-re nem éppen kedvező. Az volt az érzésem, hogy a "To say that Apple has crippled DTrace on Mac OS X would be a bit alarmist" is ezért került így megfogalmazásra.

--
trey @ gépház

Tuti, hogy erről van szó, mert egyébként nonszensz az egész - máshol senkit se zavart.
Mit féltenek annyira, az ipod protokollját? Miért kellett egyáltalán zártnak csinálni, mindenki másnak jó volt a külső USB storage.

Steve Jobs = golyó
Apple = megvehetné az Alienware
(igen, van mac-em, még ppc-s)

ember 7x leirtad, hogy fejleszto :)

fejlesztés terhe mellett ..
khm (bocs) :D

Fejlesztok, fejlesztok, fejlesztok, fejlesztok!

ez magyarul mennyire nem jo :)

Te meg voltál elég kocka, hogy megszámold. Talán még szkriptet is írtál rá? :)

nem azt nem traceli, amit az apple nem szeretne, úgy tűnik nekem, hogy bármit le lehet tiltani, ha be van kapcsolva az a flag. így sem szép dolog, de legalább igazságosabb egy kicsit :)

--
joco voltam szevasz

Én se vesszek Apple cuccot ezek után.

miert, te mit tettel volna az apple helyebe?

teljesen helyenvalo hogy vedik a sajat cuccaikat.

objdump -t is letiltottam volna egy binutils patchel, valamint gdb -t is :)

Az ellen nem véd.

De ez a probálkozás sokat elárul.

gdb-t hozza lehet csatlakoztatni az iTunes-hoz, de a gdb Mac OSX-re a xcode csomagban az Apple-tol jon direktben, szoval ki tudja...

"An apple a day", ezert ne mondj le az alma vasarlasrol :)

Gyorsan átfutottam a linkelt blogbejegyzés hozzászólásain és mintha azt olvastam volna, hogy a gdb-ről is gondoskodtak :))

--
trey @ gépház

Tiszta hülyék! Csak lejáratják magukat. És valószínűleg több időt töltöttek a "gondoskodással", mint a blog írója a "break ptrace" kiagyalásával.

Azon morfondíroztam, hogy az iTunes-t fejlesztő Apple fejlesztőknek szükségük van egy patkolatlan gdb-re...

Összességében: szánalmas ez a tetves Apple.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Épp poénból akartam ezt kommentelni, de úgy látszik az Apple előbbre jár...

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Akkor mere jó a DTrace?
Vagy legalább publikálni kellene, hogy OK. használható a DTrace, de nem érzékeli az ez és ez által a program által folytatott tevékenységeket.
Ja, hogy akkor meg önlelelplezéssel járna a dolog? Szerinetm meg ez legalább tisztességes lenne. Ezt és ezt nem akarjuk, hogy lásd, de mást megfigyelhetsz.

A probléma teljesen érthető a DTrace készítőjének részéről. Valaki elkezd debug-olni vele, aztán azt látja, hogy szar az egész, mert nem működik. Ha lusta / nem ért annyira hozzá, akkor nem fogja kinyomozni, hogy az Apple nyomorította meg.

--
trey @ gépház

Le kell védetnie a DTrace nevet. Mást nem igazán tehet.

aki dtracet hasznal, az ert hozza. aki meg nem, az ne hasznalja.

Hogyne. Akkor két eset lehetséges:

- eddig senki sem használta a DTrace-t Mac OS X-en az Apple emberein kívül, hogy nem tűnt fel a dolog
- feltűnt volna, csak aki eddig használta az marhára nem értett hozzá

Tekintve, hogy csak most bukott ki az egész história.

--
trey @ gépház

az elso a valoszinu ;)

vagy senki nem akarta az apple cuccait dtracelni, mert volt annyi sutnivalojuk, hogy gondoltak hogy az apple modositja, es nem rantelnek hogy rohadt alma igy, rohadt alma ugy, meg "lopas omfg44!!"

Rohadtul nem helyénvaló. A Sun-nak vannak (voltak, most már sok minden open source vagy lesz) olyan szoftverei, amiből 1 db többe kerül, mint amennyi pénzt az apple egy vonatnyi ipod eladásával csinál. Ők mégse raktak bele ilyet, és az ISV-ket se zavarta, egy suncluster-t, SAS-t, Oracle-t, SAP-t (stb stb stb) tekintsünk már komolyabbnak mint egy szaros média lejátszót.

Mivel az itunes borzalmasan működik windows-on, és az open source ipod kezelőkkel is szoktak lenni időnként (apróbb) gondok, lehet, hogy van akinek csábító lehet emiatt egy Mac, mert azon rendesen működik. ((marha fontos munkát végezhet a számítógépen, ha ez a fő szempont)) De ez egy elég elavult üzleti hozzáállás.

A fő gondja a dtrace fejlesztőnek, hogy úgy csinálták meg a "védelmet", egy nagy darab if () continue -val, gány módon, hogy ha olyan alkalmazás fut a háttérben, amit "védeni" kell, akkor egy rakás dtrace script megbízhatatlanul működik, nem csak akkor, ha "azokat" az alkalmazásokat szeretnéd monitorozni.

Azért azt vedd figyelembe, hogy a sz*os médialejátszóból annyi vonatnyit adtak el, hogy sokak szerint ez volt az évtized üzlete...

Mico írta:
Mivel az itunes borzalmasan működik windows-on

WORKSFORME (tm), semmi bajom nem volt vele.

A szaros médialejátszó meg lehet, hogy neked nem komoly, de azzal gennyesre keresték magukat, Jobs mindig ki tudta szagolni, mi kell a népnek, és egyébként az iPod egy jó dolog.


It doesn't matter if you like my song as long as you can hear me sing

thanks god, nano v1-em van. azon még megy a rockbox...

ertemen ezt az oldalt is, viszont drm szempontjabol az applenek vedenie kell a cuccait, es eleg nagy biznic. persze az oracle meg ezek se kicsik.. :)

"applenek vedenie kell a cuccait, es eleg nagy biznic"

Ühm, ezért olyan DTrace-t kell szállítani, amivel mindent lehet csinálni, csak _jól trace-elni_ nem, ugye? Nem csak arról van szó, hogy az Apple szarjait nem lehet vele monitorozni, hanem arról is, hogy ha egy nem monitorozható alkalmazás fut a háttérben, akkor fals eredmények születnek. A megoldás az lenne, hogy ha nem akarnak ilyesmit, akkor egyáltalán nem szállítanak DTrace-t. De a DTrace kell, mert az ugye jól mutat a sajtóanyagban, így lett egy ilyen nyomorék DTrace.

--
trey @ gépház

tudtommal csak annyi tortent, hogy belehet allitani egy flaget, es ha az app ilyen flaggel fut, akkor nem dtracelheto. ettol miert adna masra hibas eredmenyt?

Olvasd el a linkelt blogot - egy if/continue -t raktak be gány módon, így sok olyan script hibás eredményt ad, ami nem egy adott processzt trace-el, hanem a rendszert átfogóan. Talán ezeket használják a legtöbben, legalábbis nekem csak ilyenek vannak a home-omban (iotop, rwsnoop, iosnoop, tcptop stb).

A dtrace fejlesztőnek nem is az volt a baja, hogy az apple ilyet csinál, hanem az, hogy csinálják normálisan, tegyék be a védelmet akár a dtrace-en belül oda, ahova kell, de ne gányolják szét.

Én? Pear!

nem portoltam volna a cuccot, hanem kussoltam volna inkább

kb ilyesmi van nállam is :D
ubuntu festy, firefox, böngészés, flash weboldal(aqua.hu)
proci 100% dübörög (gdeslets), és a beépitett monitorozásnál a folyamatoknál kb 30-40%os a gnash...többi 0 és megeszi a gépemet, meg főlleg az idegemet
de nem vágom hogy lesz a 30%ból 100%

Bocs, de te ezt most mire írtad? :think:

-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."

Fél hétig nem jött a hetes busz.. mentem taxival.

kb... :-)

Ezentúl gondolni kell majd a licencek szövegezésénél a "butított" módosítások terjesztésének tiltására is?

Erre mar regen gondolni kell(ett volna)... lasd hasznalhatatlansagig lebutitott mplayer esete a suse linuxszal par eve. Nem veletlen tiltottuk a binaris terjesztest, amig csak lehetett.

A'rpi

"lasd hasznalhatatlansagig lebutitott mplayer esete a suse linuxszal par eve"

Erről hol lehet olvasni?

Amúgy azt hittem, az egyetlen ok, amiért nem teszik bele a disztrókba, az a codecek. Nem tudtam, hogy tiltottátok a bináris terjesztést...

EZ A ROHADT, ALJAS MS! Tele vannak biztonsági kiskapukkal és hibákkal a programjaik! Hülyének nézik, kizsákmányolják a fölhasználóikat! Minden médiát ötvenszer is meg akarnak vetetni a vásárlókkal és mindenféle nyakatekert DRM-mel védetik le! A SZEMETEK!

Őőőő, izé, várjunk csak egy percet... :)))

--
Sokan nincsenek tudatában annak, / hogy egyszer mindenki meghal. / Akik ráébrednek erre, / azonnal abbahagyják az ellenségeskedést.

Rohad az alma az ablak alatt :-)

--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!

Es meg bele is haraptak :-)

ja, érdekes, hogy sokaknak van gusztusuk olyan almát venni, amibe már vki belezabált... :)

Nem dollárjellel írtad, lebuktál! :)

honnan gondoltam, hogy ez a cikk visszakoszon ram majd itt? :O

-. . - -... ... -..

Hja. Egy az egyben olyan, mint ahogy iPhone-t kell hekkelni kmem rw-hez. :) Eleg gusztus mentes huzas volt ez az appletol. Nem csak az, hogy fosul csinaltak meg.

---
pontscho / fresh!mindworkz