Taka krótka refleksja na temat usability. Wyjątkowo irytuje mnie sytuacja, gdy muszę podawać dane typu PESEL a później data urodzenia. Tak się składa, że data urodzenia jest zakodowana w numerze PESEL, więc wprowadzając najpierw swój numer PESEL już podaję datę urodzenia. Informacja zakodowana w numerze PESEL może i powinna być wykorzystana co najmniej do automatycznego wypełnienia daty urodzenia.
Oczywiście mówię tu o sytuacji, w której te dane muszę podać w trakcie testów jakiejś aplikacji. Nie podaję swoich danych (swojego numeru PESEL zresztą nie pamiętam), tylko wartości wygenerowane narzędziami typu generator numerów PESEL i wyjątkowo irytuje mnie późniejsze wpisywanie daty urodzenia i poprawianie płci. Zgoda, pewną wartością dodaną może być weryfikacja numeru PESEL na zasadzie sprawdzenia go z datą urodzenia oraz płcią (płeć jest również zakodowana w numerze PESEL), które użytkownik deklaruje przy wypełnianiu formularza, ale akurat w tym wypadku mówię o wygodzie użytkowania , a z tym bywa różnie. Może o spotkanych “potworkach” napiszę kiedy indziej :)
W drugim wyzwaniu na bootcamp została wykorzystana serializacja danych do przechowywania stanu sesji (patrz pierwsza część wyjaśnienia do zadania). Przykłady, które prezentuje mają przedstawiać typowe problemy z bezpieczeństwem aplikacji internetowych, a nie z konkretnym środowiskiem/językiem programowania, ten przykład jest praktyczną demonstracją problemu określanego jako CWE-642: External Control of Critical State Data, o czym już kilka razy wspominałem. Warto jednak zatrzymać się na chwilę przy funkcjach serialize/unserialize w PHP.
Poseł zwrócił się także z pytaniem o możliwość, w przypadku braku technicznych możliwości wykrywania sprawców przestępstw pedofilskich popełnionych za pomocą sieci TOR oraz z uwagi na szczególne dobro jakie zamierza się chronić (dobro dzieci), dokonania penalizacji używania oprogramowania umożliwiającego korzystanie z sieci TOR. (...)
Jakieś dodatkowe pomysły co by tu można jeszcze poddać penalizacji? Oczywiście z uwagi na szczególne dobro jakie zamierza się chronić? Przykłady innych przypadków szczególnego dobra również mile widziane.
W ostatnim czasie pojawiły się dwie informacje dotyczące ataków mechanizm BitLocker. Pierwsza z nich to to w zasadzie informacja prasowa Passware Software Cracks BitLocker Encryption Open. Metoda ta opiera się na odzyskaniu klucza wykorzystywanego do szyfrowania danych z pamięci systemu. Jak do pamięci uzyskać dostęp, to zupełnie oddzielna (i ciekawa) kwestia. Nie jest to bynajmniej technika nowatorska, wystarczy wspomnieć o pracy/badaniu Lest We Remember: Cold Boot Attacks on Encryption Keys.
(...) We show that, under certain assumptions, a dedicated attacker can circumvent the protection and break confidentiality with limited effort. Our attacks neither exploit vulnerabilities in the encryption itself nor do they directly attack the TPM. They rather exploit sequences of actions that Trusted Computing fails to prevent, demonstrating limitations of the technology.
Na zakończenie odeślę do wpisu Windows BitLocker Claims poświęconemu obu przypadkom/scenariuszom ataków na mechanizm BitLocker. Po prostu są scenariusze, w których (nie tylko) BitLocker sobie nie radzi. Wątpliwości? Evil Maid goes after TrueCrypt!
W Google Webmaster Tools udostępniona została informacja o szybkości ładowania się strony: Your site's performance in Webmaster Tools . Udostępnione zostało również narzędzie Page Speed wspomagające proces analizy i optymalizacji wydajności strony, w tym przypadku rozumianej jako szybkość jej ładowania. W połączeniu z udostępnionym wcześniej przez Yahoo! narzędziem YSlow narzędzie Firebug (bo oba narzędzia się z nim integrują) otrzymuje spore możliwości w zakresie analizy i optymalizacji wydajności stron. Warto poświęcić chwilę temu zagadnieniu, w końcu bezpieczeństwo to nie wszystko :)
A temu jak Google widzi szybkość ładowania stron do końca ufać nie można, według ich statystyk strony z mojego bloga ładują się średnio ponad 8 sekund. Cóż, mój blog nie jest może demonem prędkości, ale aż tak źle nie jest.
Fascynuje mnie pozycja, którą Google wypracowało sobie w ostatnich latach. Firmie tej udało się osiągnąć sytuację, w której umieszczenie znaczku Google na produkcie powoduje wyłączenie zdolności krytycznej jego oceny u znacznej części użytkowników i potencjalnych użytkowników. Sam korzystam z kilku ich produktów, bo dobrze spełniają swoją rolę. Z kilku innych nie korzystam, bo są kiepskie lub nie oferują żadnej wartości dodanej w porównaniu z tymi narzędziami/produktami/usługami, z których korzystam obecnie. Oczywiście pomijając znaczek Google. Dokładnie z tego powodu nie skorzystam (na razie) z Google Public DNS.
The success of many attacks on computer systems can be traced back to the security engineers not understanding the psychology of the system users they meant to protect.
Cytat ten pochodzi z opracowania Understanding scam victims: seven principles for systems security. Warto się z nim zapoznać, bo temat psychologii użytkowników, zrozumienie sposobów ich myślenia i postępowania nie jest wystarczająco uwzględniany przy projektowaniu systemów informatycznych, w tym ich funkcji bezpieczeństwa.
Jakie jest Wasze zdanie w tym temacie? Czy przy projektowaniu systemu uwzględniacie to, jak użytkownik myśli? Rozważacie zabezpieczenia wyłączenie pod kątem ich technicznych możliwości obejścia, czy uwzględniacie coś więcej?
Ciekawa prezentacja Shocking News in PHP Exploitation (autor: Stefan Esser). W części poświęcona jest ona obchodzeniu WAF głównie na przykładzie ModSecurity ze standardowym zestawem reguł. Mimo wszystko Web Application Firewalls zwiększają bezpieczeństwo aplikacji. Nawet w domyślnej konfiguracji mogą wychwycić sporą część typowych ataków, ale nie wszystkie. Trzeba pamiętać, że nie oferują 100%25 skuteczności, a przed częścią ataków nie chronią wcale.
Pytanie: czy według Was w trakcie testów aplikacji WAF powinien być aktywny?
Oryginał tego wpisu dostępny jest pod adresem O unikaniu WAF