Some PCI Auditors can be more "annal" about strict PCI Authentication
and Session Compliance. I too, had an issue with one because there is
really not much you can do about a compromised user. But there is a
point I missed and that is you do want to mitigate the problem by
reducing the potential for exploitation.
We solved it by having two cookies -
Authentication (login) cookie with a X minute life span
Authorization (session) cookie with Y minute timeout
So you have two Authentication and Authorization (AA) cookies. Example
X, Y values may be 2 minutes and 15 minutes.
What is critically important is that the cookies are unique and never
repeatable - the NONCE concept. This generally requires a
cache/storage concept and some management of the cache as well. Some
systems will create a batch of the unique values to be used for AA.
When exhausted, a new batch generated. Some system will dynamically
generate them on the fly and manage them on the fly, like we do.
The goal is to prevent replays of the AA keys and if you can do show
this in your test, it is enough to pass your (PCI?) penetration test.
--
Hector Santos
http://www.santronics.com
Ronnie R wrote:
> Hi there
>
> We have recently been the subject of a penetration test that has highlighted
> a vunerability in an ASP.NET 2.0 application that is described as the
> following...
>
> "The authentication cookie is generated when the user logs into the
> application. This cookie is not regenerated the next time a user logs into
> the application. A malicious user can abuse this functionality by accessing
> the login page and receiving an authentication cookie. The malicious user
> then would leave the browser unattended and wait for the next user to login
> to the application. When a legitimate user logs into the application, the
> malicious user can use the same retrieved authentication cookie to hijack the
> user session."
>
> Considering that sessions have a timeout of say 20 mins, isn't this
> something that is unavoidable, Ie if someone decides to hover around a
> machine withint his 20 second period, grab the cookie and then craft a 'POST'
> using this cookie, what is there that can be done to do prevent this. Or
> perhaps I'm missing the point here 
>
> I have done some reading and implemented
> 'ViewStateUserKey = Session.SessionID' as recommended here
> http://msdn.microsoft.com/en-us/library/ms972969.aspx
>
> If anyone has any thoughts on this I would be very greatful for feeback and
> your experiences
>
> Regards