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

Címkék

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ások

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

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)

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.

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."

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.

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

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.

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

"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

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.

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%

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?

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.

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

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