Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

It's not a bug, it's a feature

To zdanie obiegło już cały Internet. Spora grupa ludzi cały czas się z niego naśmiewa, tak naprawdę nie rozumiejąc co ono znaczyło. A kryje się za tym zdaniem sporo dobrze wykonanej pracy.

Trochę historii.

Cały szum rozpoczął się od wykrycia luki w Word 2007. Osoby które ją wykryły okrzyknęły że odkryły poważny błąd w Word 2007 i są w stanie dzięki modyfikacji pliku docx zawiesić Word-a. No i rzeczywiście ich plik powodował że Word 2007 się zamykał.

A teraz technologia.

Proszę zwrócić uwagę na poprzednie zdanie. Napisałem że Word się zamykał. Tak, tak to nie pomyłka, Word się zamknął a nie powiesił. Wykonał instrukcję która była wcześniej zaprogramowana.
Otóż programiści w Microsofcie są tylko ludźmi i wiedzą to. Założyli więc że w produkcie są błędy. Poza ochroną polegającą na wbudowaniu mechanizmów do aktualizacji postanowili pójść o krok dalej (co wcześniej uczynili też w systemie Windows Vista). Postanowili zabezpieczyć użytkownika przed błędami. Jednym z tych zabezpieczeń jest właśnie zamykanie aplikacji Word, w momencie gdy zaczyna ona nieprawidłowo pracować. W tym przypadku nieprawidłową pracę powodował zmodyfikowany plik docx, te nieprawidłowości wykrywał mechanizm wbudowany w pakiet Office i zamykał Word-a.
Ale po co go zamykał?
Otóż nieprawidłowa praca wywołana atakiem ma na celu zazwyczaj przejęcie kontroli nad komputerem, wykradzenie jakichś danych itp. Włamywacze nie są ludźmi honoru i nie wyszukują luk tylko żyją z przestępstwa. Więc skoro potencjalnie szkody jakie chce się wywołać są tak niebezpieczne, to lepiej jest zamknąć aplikację (co przecież nie jest przyjemne) przez którą włamywacze chcą uzyskać dostęp niż za wszelką cenę starać się podtrzymać ją przy działaniu i potencjalnie dopuścić do ataku.

r   e   k   l   a   m   a

Po co w ogóle takie zabezpieczenie może się ktoś zapytać, czy nie lepiej od razu stworzyć produkt który nie zawiera błędów? Cóż może i było by tak lepiej ale w Microsofcie pracują ludzie a ci się mylą, dobrze jest więc moim zdaniem zbudować zabezpieczenie które będzie częściowo eliminować ludzkie pomyłki (bo nie oszukujmy się, wszystkich pomyłek nie da się w ten sposób zabezpieczyć).

Więc następnym razem gdy ktoś z was zacznie przywoływać owe sławne zdanie niech najpierw proszę pomyśli o pewnym sprytnym rozwiązaniu zabezpieczającym a nie naśmiewa się z programistów i deweloperów, którzy akurat tutaj odwalili kawał dobrej roboty. 

Komentarze