Najbardziej oryginalną (i niestety - jedyną) odpowiedź odnośnie pytania o ukryty sens dobrych praktyk udzielił Kravietz:
Dobre praktyki mają kapitalne znaczenie dla pentesterów, gdyż pozwalają rozdymać raporty nawet gdy nie udaje się znaleźć nic poważniejszego (...)
Wymienione przeze mnie punkty z ASVS mają jednak również praktyczne znaczenie, niestosowanie ich ma realny wpływ na ryzyko, przynajmniej w niektórych scenariuszach. Jakich?
Dla przypomnienia przytoczę jeszcze raz punkty, o których mowa:
- V2.2
- Verify that all password fields do not echo the user’s password when it is entered, and that password fields (or the forms that contain them) have autocomplete disabled.
- V9.1
- Verify that all forms containing sensitive information have disabled client side caching, including autocomplete features.
- V9.4
- Verify that all cached or temporary copies of sensitive data sent to the client are protected from unauthorized access or purged/invalidated after the authorized user accesses the sensitive data (e.g., the proper no-cache and no-store Cache-Control headers are set).
Problemem, którego dotyczą (któremu mają przeciwdziałać powyższe zalecenia) jest pozostawienie istotnych danych po stronie klienta. Najbardziej oczywiste przypadki istotnych danych to oczywiście loginy i hasła (mechanizm autocomplete), ale mogą być to dowolne inne dane wpisywane do formularzy i zapamiętywane przez mechanizm autocomplete, jak również zawartość wyświetlanych przez użytkownika stron.
Dlaczego takie pozostawianie śladów jest uznawane za problem? Mechanizm autocomplete został przecież stworzony właśnie po to, by ułatwiać użytkownikom życie, by użytkownicy nie musieli wielokrotnie wpisywać tych samych danych, pamiętać haseł. Co w tym jest złego? Odpowiedź na to pytanie w zasadzie zawiera się w dwóch słowach: komputery współdzielone. Wszystkie dane zapisane świadomie bądź nie (autocomplete, cache) na takich komputerach dostępne są również dla wszystkich innych użytkowników, którzy z takich komputerów korzystają.
W przypadku bankowości elektronicznej na szczęście tego typu ujawnienie informacji (przejęcie loginu i hasła) prowadzi zwykle do ujawnienia informacji właśnie (np. stan konta, powiązania biznesowe, wykonywane/otrzymywane przelewy), ale nie powinno prowadzić do wyprowadzenia pieniędzy, a to dzięki dodatkowej warstwie obrony, którą jest autoryzacja transakcji (patrz też: Bankowość internetowa - na co patrzeć).
Innym ciekawym przypadkiem są wszelkiego typu serwisy społecznościowe, webmaile, czy gry on-line. W większości wypadków serwisy te nie są wyposażone w drugą linię obrony analogiczną do autoryzacji transakcji.
Na zakończenie, pytanie. Jak często korzystacie z komputerów, których konfiguracji nie kontrolujecie? Jakiego typu są to maszyny (komputer znajomego, komputery w pracy, kafejki internetowe)? Czy korzystając z tego typu niezaufanych komputerów w jakiś sposób się ograniczacie? Zastanawialiście się, ile danych po takiej sesji po sobie zostawiacie? Pytanie to można również rozszerzyć z niezaufanych maszyn do niezaufanych sieci.
Ale jeżeli zdarza mi się korzystać z komputera u klienta itp. to ograniczam się samodzielnie czyli jeżeli nie jest to absolutnie konieczne nie na swojej maszynie nie korzystam z rzczy typu OWA, bankowość, dostęp do rzeczy które uważam za ważne w sieci.
Można się zgodzić i nie zgodzić. Jeśli chodzi o to, że użytkownicy korzystają z jednego komputera + z jednego systemu operacyjnego + z jednego konta - to rzeczywiście to zdanie jest prawdziwe.
Jeśli np. korzystam z innego systemu operacyjnego niż inne osoby korzystające z tego samego komputera i partycję z danymi mam zaszyfrowaną, hasło do mojego profilu znam tylko ja, wydaje mi się, że to zdanie jest równie prawdziwe jak - Każdy może polecieć na Księżyc. W grę wchodzi tutaj znaczenie słowa "dostępne". Rozchodzi się o to, czy dane można nazwać dostępnymi, jeżeli trzeba na ich rozszyfrowanie poświęcić np. 1000 lat. Wydaje mi się, że nie.
Jak często korzystam z komputerów, których konfiguracji nie kontroluję? Prawie co dziennie. Nie loguję się jednak na tych stronach do banku, do sklepów internetowych, itp. Gram co najwyżej w gierki Flash .
W opisywanym przez Ciebie przypadku wcale nie trzeba łamać szyfrowania. Jeśli szyfrowaną masz tylko partycję z danymi, to znaczy, że sam system operacyjny w trybie "offline" mogę spokojnie zmodyfikować, tak by zapisał dla mnie informacje jak się dostać do Twoich zaszyfrowanych danych. Że już o takich wynalazkach jak np. sprzętowe keyloggery nie wspomnę