24/6/2010
Hiszpański odpowiednik FBI bada sprawę firmy, która celowo wprowadzała błędy programistyczne w sprzedawanej przez siebie aplikacji. Kiedy program się zawieszał, klient musiał skorzystać z płatnej pomocy technicznej. Brzmi jak wspaniały business-model, prawda?
Bomby czasowe
Stosowaniem “czasowych bomb” (ang. time-bomb) hiszpańska firma o uroczej nazwie CIPSA, wydymała 1000 klientów ;-) Kiedy nadchodził zdefiniowany w programie czas, aplikacja wysypywała się i polecała skorzystać z supportu — oczywiście płatnego. Ten błąd naprawiał, ale do systemu wprowadzał kolejny błąd…
Sielanka firmy trwała od 1998 roku. Po anonimowym zgłoszeniu, sprawą zajęło się hiszpańskie FBI i CIPSY dostały wyroki. Jedno mnie zastanawia, firma przez 10 lat dorobiła się tylko 1000 klientów? Ten soft musiał się cieszyć naprawdę dobrą opinią :>
Popularna praktyka programistów?
Kilku internautów komentujących to wydarzenie przyznało się do stosowania czasowych bomb w swoich programach. Pierwszy z przypadków dotyczył sprzedaży oprogramowania do afrykańskiego kraju, który wymigiwał się od zapłacenia za program w całości (tłumacząc się, że nie przynosi on przewidywanych zysków). Drugi dotyczył programisty, którego klient co chwila prosił o nowe funkcje, ale z płatnościami spóźniał się przez kilka miesięcy. W obu przypadkach aktywacja bomby spowodowała natychmiastową spłatę zaległości…
P.S. Jak mi ktoś w komentarzach napisze, że gdyby ten soft był Open Source, to nie byłoby takiego problemu, to polecam do analizy poniższy fragment “otwartego” kodu:
*(&z + z) |= ~tqq + m ? u9 >> 2: 741 | w & 0x8F ? ~(~t11) : foo
Od razu wiadomo, o co chodzi, prawda? :-)
Przeczytaj także:







To oczywiste, że problem dalej by był. Sprzedawałem już soft opensource, zgadnij, czy klient zaglądał do źródeł? Pewnie dlatego zatrudnili kolesia do pisania. :)
A propos klientów, jeśli sprzedajesz na przykład soft klasy ERP, ERPII, to tysiąc klientów jest moim zdaniem dość sporą liczbą. Koszt oprogramowania może sięgnąć kilkuset tysięcy euro, włącznie z wdrożeniem w dużej firmie może przekroczyć miliony.
Ten Open Source’owy przykład to coś z Klingońskiego? :)
No ale pomysł na biznes goście mieli niezły :) Ciekawe ilu takich biznesmenów mamy w kraju :)
1000 klientów to może być sporo – wszystko zależy od tego jakie to było oprogramowanie.
Przykładowy kod jest strasznie zaciemniony i tylko fragmentaryczny – wątpię czy jakikolwiek projekt open source przyjął taki kod.
Nasunęło mi się skojarzenie w związku z P.S.em:
http://en.wikipedia.org/wiki/Obfuscated_Perl_Contest
I jak tu nie wierzyć, że ten język powstał przez rzucenie kotem na klawiaturę…
vi.curry pracuje w korpo, które sprzedaje 1000 licencji na soft dziennie, więc ma trochę zaburzony punkt odniesienia ;P
swoja droga, ciekawe, czy np. microsoft nie wprowadza do zrodel exploitowalnych bledow na zlecenie NSA/CIA, etc — nikt nie moze ich wtedy oskarzyc o instalowanie backdoorow, a efekt jest ten sam :)
@PK. Można pracować gdziekolwiek, ale horyzonty myslowe zachowac w miare ogólne. Te “hiszpańskie FBI” to też jakiś dziwny tekst, jakby punktem odniesienia było oglądanie seriali kryminalnych.
@zaciemniony przykład
Nazwa jednej ze zmiennych sugeruje, że przykład jest sztuczny. No chyba, że ktoś się zasugerował lekturą podrecznikow i zaczął w praktycznym kodzie nazywać zmienne foo i bar. :)
Nie trzeba zaraz takiego bełkotu. Wystarczy, że kodu jest dużo, zależności jest dużo i do ogarnięcia potrzeba wiele czasu. Można celowo zabugowac kod, który wygląda “czysto”. Nie musi to być jakiś wskaźnikowy, obfuscatorowy hardcore.
To już teraz wiem po co są(rekrutacja) konkursy na złośliwy kod wyglądający możliwie poprawnie i prosto, tak, że nawet jakby ktoś błąd znalazł to można się wytłumaczyć jakimś częstym błędem.
Taki błąd pewnie można łatwo wprowadzić. Wystarczy instrukcja warunkowa, gdzie “omyłkowo” użyje się zamiast operatora porównania operator przypisania. = zamiast == Ot – literówka.
Ja uwielbiam takie dawniejsze, niesamowicie przejrzyste programy:
http://tajemnice.atari8.info/8_91/czekaj.gif
Pomysł na biznes nie zbyt błyskotliwy. I na pewno niezbyt etyczny.
Nie wiem, ale wydaje mi się, że bardzo duży odsetek programistów zostawia sobie backdoory. Raz, to z poczucia satysfakcji a dwa, że może to rzeczywiście być to dobry bat na niewypłacalnych.
Ale co innego backdoor a co innego specjalnie zostawiony bug by wyłudzić kolejne pieniądze.
Dlaczego napisałem, że to niezbyt błyskotliwy pomysł? – Myślę, że takie rozwiązanie przynajmniej raz przyszło do głowy każdemu tyle, że nie każdy od razu ma zamiar to wykorzystać.
przeciez microsoft to samo robi. W dodatku myslicie dlaczego systemy operacyjne wypuszczane tak często (srednio co 2 lata) – zamiast dopracowac w pelni system – chodzi o kase. Firmy wykupują support bo ciągle cos sie w nich sypie..
o wlasnie “pytajnik” wyjał mi słowa spod palcy! wystarczy wiecej wyrafinowania i przekret jest juz “legalny”
@pytajnik
Masz rację! To oburzające aby komercyjna firma chciała zarobić! Powinni brać przykład z open source i wydawać nowe wersje tak rzadko jak np. robi to Canonical Ltd z ich systemem! I nie powinni dodawać exploitowalnych fragmentów kodu! Ponownie, niech biorą przykład np. z FreeBSD czy OSX w których błędów exploitowalnych nie uświadczysz! Im chodzi tylko o kasę…
;DDDDDD
Piotrze: ale ten kod OpenSource przynajmniej MOŻESZ przeanalizować (bez sięgania do assemblera). Poza tym byle uczniak jest wstanie powiedzieć, co tam jest w tej linijce ;) Co ona robi – tego nie da się powiedzieć bez znajomości reszty kodu.
Niestety obawiam się, że to co robiły CIPSY to dość częsta i powszechna praktyka. Co więcej, stosowana z całej masy przyczyn:
- przez firmy uczciwe inaczej (jak w przypadku opisanym),
- przez firmy mające podpisane stosowne umowy z agendami rządowymi (dotyczy dużych korporacji, które bronią w ten sposób takiego czy innego “bezpieczeństwa narodowego”),
- przez programistów, którzy nie widzą innej szansy na zapewnienie, że pieniądze za swoją pracę jednak otrzymają… (nawet murarze mają podobny patent: wmurowują kurze jajo w sobie znane miejsce w ścianie np. salonu w domu klienta.. jeśli ten ich wyrzuci i nie zapłaci.. zapominają o jaju.. zgadnijcie co się dzieje w takim salonie za jakiś czas? ;-))))