Kaspersky Lab ma problemy z testowaniem własnego kodu

Kaspersky Lab ma problemy z testowaniem własnego kodu25.10.2013 10:48

W minionym tygodniu użytkownicy narzędzia Kaspersky PasswordManager, służącego do automatyzacji procesu logowania do witryninternetowych, przy jednoczesnym zwiększeniu bezpieczeństwa tegoprocesu, otrzymali jego aktualizację. Aktualizacja popsuła menedżerahaseł, przy okazji obnażając wstydliwą sprawę – oprogramowanietego producenta najwyraźniej nie przechodzi testów regresji. Kiedy użytkownik potrzebuje hasła z Password Managera, otwiera goza pomocą głównego hasła, kopiuje potrzebne hasło (które w formularzuwidoczne jest w postaci kropek), a następnie zamyka narzędzie. Nowehasła dodawać można przez prosty formularz, w którym ustawić możnam.in. datę wygaśnięcia hasła (czy też zaznaczyć, że hasło nie wygasanigdy). Gdy jednak Password Manager otrzymał łatkę „C”,nagle okazałosię, że wszystkie zapisane w nim hasła wygasły 1 stycznia… 1601 roku. Co gorsza, niemożliwe było wprowadzenie jakichkolwiekzmian – opcja była wygaszona. [img=kaspersky]Wkrótce po tym, jak z różnych części świata zaczęły spływaćdoniesienia o niespodziewanej regresji, producent poinformował, żeproblem sprawdzi i niebawem wyda łatkę „D” – miałasię ona pojawić 24 października. Błędy zdarzają się każdemu, i wzasadzie nie byłoby tu o co kruszyć kopii, gdyby nie analizaproblemu, którą przeprowadził Andrew Binstock, redaktordeweloperskiego serwisu Dr Dobbs. Jego zdaniem usterka dowodzi, żeKaspersky nie stosuje żadnych solidnych praktyk testowaniaoprogramowania.Binstock może być oczywiście uprzedzony do sprawy –przyznaje, że jednym z jego autorytetów jest Robert „Uncle Bob”Martin, współautor manifestu zwinnego programowania i wyznawcapodporządkowania procesu deweloperskiego testom. Z drugiej jednakstrony przypomina, że jeszcze do niedawna mówiło się, że skoro możnabyło bez testów deweloperskich wysłać człowieka na Księżyc, to równiedobrze można pisać dobrej jakości kod bez testów. Taką postawę mawciąż wielu programistów. Skąd jednak mogą oni wiedzieć, jakwprowadzane przez nich zmiany nie wypływają niekorzystnie nadziałanie istniejącego już kodu? Testy, działając jako czujnikimonitorujące zachowanie kodu, pozwalają w porę to wychwycić –tłumaczy redaktor Dr Dobbsa.Skąd jednak podejrzenia, że Kaspersky nie testuje swojegooprogramowania? Po pierwsze – zasięg problemu, dotyczącyróżnych konfiguracji Windows 7, w tym takich, na których byłyzainstalowane wyłącznie aplikacje Microsoftu, po drugie – taciekawa data wygaśnięcia ważności hasła, która wskazuje na małoprzemyślane wykorzystanie przez programistów Kasperskiego inwariantów(czyli tych warunków programu, które zawsze są prawdziwe). W tymwypadku inwariantem programu, jak pisze Binstock, powinno byćzałożenie, że data wygaśnięcia haseł nie może być wcześniejsza, niżdata wydania oprogramowania. Jeśli przykładowo Password Managerzostał wydany 1 lipca 2011 roku, to użytkownik nie mógłby podaćwcześniejszej daty wygaśnięcia. Wszelkie odstępstwa od tego sąprzejawem błędu.Tymczasem pojawiająca się data z 1601 roku pokazuje, żewykorzystano niewłaściwe dane jako coś w rodzaju kodu błędu.Wykorzystywanie pól określonego typu do reprezentacji kompletnieodmiennych danych nie jest praktyką nieznaną – stosowało się jączęsto w systemach wbudowanych o minimalnej ilości pamięci. Jednakdla aplikacji desktopowych to niedopuszczalny błąd. Z jednej stronywyświetla się użytkownikowi bezsensowne dane, z drugiej psuje sięinwariant, tak więc wszystkie testy muszą dodatkowo testować wartościzmiennych pod kątem wszystkich nietypowych wartości, które zperspektywy programisty są jednak dopuszczalne. Właściwą praktyką,jak wyjaśnia redaktor Dr Dobbsa, byłoby stosowanie oddzielnych póldla błędów, z niezależną diagnostyką. Utrzymuje to spójność testów ipozwala zachować czystość i przejrzystość kodu.Co najgorsze, reakcja pracowników Kasperskiego wygląda niezbytciekawie – na forum nie ma żadnych wyjaśnień poza zapowiedziąwydania kolejnej łatki... która właśnie została odsunięta w czasie,do 29 października. To kolejny dowód na to, że pakiet testów dlaPassword Managera nie wygląda najlepiej – a jak jest z innymiaplikacjami tego uznanego dostawcy rozwiązań z zakresu bezpieczeństwaIT?

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.