Cytat(lukaskolista @ 27.08.2016, 11:25:12 )
Ustalmy kilka faktów:
- base64 encode i decode nie ma nic wspólnego z bezpieczeństwem
- wrażliwych danych nie trzyma się w cookie nawet "zaszyfrowanych"
- kohana 3 to prehistoria
Zostawmy może KO3, dałem przykład (ze źródeł) tylko po to żeby łatwo każdy czytelnik mógł sobie przeanalizować kod i jak się realizuje taką ochronę przed ręczną modyfikacją ciasteczek. Tylko i wyłącznie.
Na ile łatwy do złamania jest Rijndael? No jest jeszcze kwestia tego co uważasz za wrażliwe dane, bo jeśli chodzi o logowanie to nawet session id, które jest trzymane w ciasteczku można by uznać za wrażliwe. Base64 to kodowanie transportowe, oczywiście że nie ma to nic wspólnego z bezpieczeństwem, bo można łatwo to zidentyfikować i równie łatwo rozkodować (nawet bez znajomości PHP bo są serwisy online). Ale jakoś trzeba te dane (nie prosty string) zapisać, bo jak sprawdzałem to na mcrypt to mi wychodziły jakieś krzaczki ale i bez tego jest to też stosowane. W tym sensie z założenia żeby była tylko możliwość a nie koniecznie że jest zalecane czy nie zalecane składowanie złożonych danych.
Cytat
A trzymanie zserializowanych danych w ciasku to niby nie...
Odnosząc się do tego co wyżej:
1. Jak łatwo rozszyfrować Rijndael i ile to zajmie czasu?
2. Skoro jest używany hash (np. SHA1) do kontroli oraz sól (której haker nie zna) a jest zapisana gdzieś w tym przypadku w Kohanie w bootstrap.php w postaci (przykładowa wartość):
Cookie::$salt = 'yhpyRbFPj9PPj6Fb'
oczywiście na serwerze, gdzie nie ma (no chyba że się włamie) dostępu do kodu, to nawet jeśli spróbuje zmodyfikować ciasteczko, to FW tego nie przyjmie. Przynajmniej częściowa ochrona.
Napisałem tylko że istnieje możliwość przetrzymywania sesji w Cookie, KO3 oraz pewnie inne frameworki mają do tego swoje klasy do obsługi tego typu sesji. Jakich więc wrażliwych danych nie należy przetrzymywać w cookie?
A w dalszej części wypowiedzi chodziło mi o to, że łatwo można się przejechać logując się w serwisie zaznaczając przez nieuwagę albo bo tak jest wygodniej checkbox "zapamiętaj mnie", na jakimś innym laptopie. Wydaje mi się że w dużej mierze problem z bezpieczeństwem to nie tylko kwestie techniczne ale i zwykłe naturalne (albo rutynowe) zachowania użytkowników o których hakerzy doskonale wiedzą.