.: Centra wiedzy :. Aktywuj swój bezpłatny dostęp!   .: Computerworld.pl :.
     w 
Zaloguj się
Zarejestruj się
 
KATALOG TEMATYCZNY
 
 
IDG.pl
PC World Komputer
CEO
CIO
CFO
CMO
CSO
NetWorld
Macworld
Playlista
Digit
Kino Domowe - DVD
Tips & Tricks
Gamestar
IT Partner
Internet Standard
Job Universe
ZOOM
Fotografia
Cyber
CyberJoy
Digital Life


 
FELIETONY
Niebezpieczne CV (2005.09.12)
Znalazłem w sieci ofertę osoby poszukującej pracy w zakresie szeroko pojętej działalności webmasterskiej. Do oferty było dołączone portfolio z przykładowymi rozwiązaniami. Po przyjrzeniu się zamieszczonemu tam kodowi źródłowemu doszedłem do wniosku, że czasami lepiej nie ujawniać publicznie, co też się potrafi - a raczej - czego się nie potrafi. Jakże cenne w takich przypadkach okazują się skompilowane wersje programów, gdzie niedostatki kodu nie rzucają się w oczy aż tak łatwo. Rozumiem tym samym, co czują przeciwnicy jawności oprogramowania.

Każdy, kto kiedykolwiek parał się wytwarzaniem oprogramowania, wie z własnego podwórka, jak niedoskonałe były pierwsze jego produkty. Takie szkolne błędy popełniają wszyscy początkujący i chyba nie ma na to rady. Stąd też wynajmowanie studentów do tworzenia kodu jest działaniem obarczonym sporym ryzykiem - chyba, że istnieje doskonała kontrola jakości, w co szczerze wątpię. Tak czy siak, na czymś trzeba się uczyć. Udając się do pracy w "młodym, dynamicznym zespole" adept sztuki programistycznej może liczyć na całkowite pobłażanie. A także na niskie zarobki - jak zauważono na pewnej liście dyskusyjnej, zastanawiając się po jakiego grzyba w anonsach zamieszcza się tego typu uwarunkowania. Właśnie dlatego, że chodzi o pracowników bez doświadczenia, a więc też bez wygórowanych (czytaj: adekwatnych do umiejętności) żądań zarobkowych.

Niejeden obcy kod programu dane mi było w życiu analizować. Ostatnio czasy sprzyjają otwartości, stąd szerzej udostępniają zainteresowanej publice robótki ręczne zmajstrowane przy pomocy PHP lub Javy. Tak też można sobie to poczytać, jeżeli kogoś interesuje i jeżeli zna owe języki. Mam takiego pecha, że ostatnimi czasy "przerabiałem" studenckie komercyjne knoty w PHP. Ludzie, co tam się wewnątrz nie wyprawia! Co gorsza, produkty takie są sprzedawane i używane - przynajmniej do czasu wystąpienia pierwszych błędów lub konieczności wykonania drobnych zmian.

Wracając do portfolio wzmiankowanego na początku felietonu, pragnę jedynie zwrócić uwagę na fakt, że młody człowiek, przedstawiający się jako świeżo dyplomowany technik informatyk, niemniej z kilkuletnim doświadczeniem, był łaskaw zaprodukować się z fragmentem kodu w PHP. Pechowo dla niego był to motyw dotyczący logowania się do sqlowej bazy danych, a więc temat wybrany niefortunnie przy braku dostatecznej wiedzy dotyczącej bezpieczeństwa tej sekwencji. Już na pierwszy rzut oka było widać, że kod w łatwy sposób dopuszcza przełamanie bariery bezpieczeństwa na zasadzie SQL-injection. I czym się tu chwalić?

Brak należytych zabezpieczeń na tym etapie nie jest li tylko domeną serwisów internetowych. W każdym oprogramowaniu w architekturze klient-serwer, gdzie identyfikator logowania użytkownika musi być zweryfikowany z wartościami zapamiętanymi w tabelach bazy danych, odbywa się to przy pomocy podobnej zasady, a więc programowego podstawienia identyfikatora do instrukcji w języku SQL. I nie otwartość oprogramowania jest tu problemem. Każdy zaś system łatwo przetestować na okoliczność podatności na przełamanie barier ochronnych. Wystarczy sprawdzić, czy w polu identyfikatora użytkownika można dodatkowo podać znak apostrofu, który zazwyczaj skutecznie ucina starania aplikacji o należytą autoryzację. Radzę wykonać tę prostą próbę w swoich firmowych systemach. Każdy poprawnie napisany program powinien zawsze prezentować zasadę, że nigdy nie należy bezkrytycznie ufać danym pochodzącym od użytkowników.


 
 
Zobacz też:
Artykuły



RAPORT
Płace w IT
  • Niedobór czy nadmiar?
    Na rynku pracy dla specjalistów IT mamy dziś specyficzną sytuację. Z jednej strony, od kilku lat do polskich firm trafiają kolejne, liczne roczniki absolwentów studiów informatycznych. Nie ma zatem problemu ze znalezieniem młodych wykształconych kadr. Z drugiej jednak strony, znalezienie doświadczonego informatyka nadal pozostaje nie lada wyzwaniem.
  • Wygrać o włos
    Z dr. Tomaszem Rostkowskim, wykładowcą Szkoły Głównej Handlowej i współpracownikiem Institute of Advanced Managment oraz Jackiem Nowackim z Institute of Advanced Managment rozmawia Antoni Bielewicz.
  • Warszawa - miasto dla menedżera
    Kraków i Wrocław zdetronizowały Warszawę w rankingach najbardziej atrakcyjnych miejsc do inwestycji technologicznych. Stolica nadal jednak pozostaje atrakcyjnym miejscem pracy dla informatyków. Zwłaszcza zainteresowanych karierą menedżerską.
  • Gdańsk - dobre zarobki tylko w IT
    Gdańsk wraz z całym Trójmiastem znalazły się daleko w tyle jeśli chodzi o wynagrodzenia dla specjalistów IT. Informatyk ma jednak szansę na dobrą pensję przede wszystkim w renomowanych firmach technologicznych.



 
Wiadomości     Wywiady     Badania i analizy     Case Study     Felietony     Archiwum     Raporty     Programy     White Papers
O nas | Kontakt | Redakcja | Regulamin | Reklama | Ochrona prywatności
Zasoby premium - nie masz uprawnień dostępu: zapłać SMSem, zarejestruj się
Zasoby premium - dostęp przyznany
Copyright 1999 - 2008 IDG Poland SA. Wszelkie prawa zastrzeżone. Publikacja całości lub części zamieszczonych materiałów w jakiejkolwiek formie bez pisemnej zgody IDG Poland SA jest zabroniona. Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.

Korzystanie z serwisu Computerworld Online jest jednoznaczne z wyrażeniem zgody na następujące warunki obsługi. Serwis realizuje wytyczne ASME oraz uzupełnienia IDG dotyczące zasad publikacji w mediach elektronicznych. Prosimy też o zapoznanie się z ochroną prywatności.


Computerworld na świecie: Niemcy: Computerwoche | USA: Computerworld |