1. A method for resetting a user password on a computer system, comprising:
retrieving a private key from a removable computer-readable medium;
locating an encrypted user password encrypted with a public key that corresponds to the private key;
attempting to decrypt the encrypted user password with the private key;
allowing a user password to be reset if decryption is successful; and
wherein the encrypted user password is the user password that specified by the user during a most recent password change operation.
2. The method as recited in claim 1, further comprising
3. The method as recited in claim 1, further comprising selecting a removable media drive in which the removable computer-readable medium is located prior to retrieving the private key.
4. The method as recited in claim 1, wherein the decryption is successful when a decrypted version of the encrypted password is identical to the user password specified by the user during the most recent password change operation.
5. A computer system, comprising:
a password module configured to receive a user password and to control access to the computer system with the user password;
a disk creator configured to generate a public keyprivate key pair, encrypt the user password with the public key and store the private key on a removable computer-readable medium; and
wherein the removable computer-readable medium can be stored remote from the computer system and subsequently used to retrieve the private key stored therein, decrypt the encrypted user password and, if successful, allow the user password to be reset.
6. The computer system as recited in claim 5, further comprising a password file that contains the public key and a public key encrypted user password.
7. The computer system as recited in claim 6, further comprising a digital signature module configured to digitally sign the password file.
8. The computer system as recited in claim 5, further comprising a password reset module configured to retrieve the private key from the removable computer-readable medium, attempt to decrypt the encrypted user password with the private key and, if the decryption is successful, to reset the user password.
9. The computer system as recited in claim 8, wherein the password module is further configured to query whether to activate the password reset module if an incorrect user password is received.
10. The computer system as recited in claim 8, wherein the password module is further configured to query whether to activate the password reset module if an incorrect user password is received and the private key has been created and stored on the removable computer-readable medium.
11. The computer system as recited in claim 5, wherein the disk creator is further configured to forego encrypting a user password if there is no user password currently set.
12. The computer system as recited in claim 5, wherein the disk creator is further configured to encrypt the user password and store the encrypted user password whenever the user password is changed.
13. A method for creating a password reset disk, comprising:
generating a key pair having a public key and a corresponding private key;
storing the private key on a removable computer readable medium to create the password reset disk;
creating a password file that contains the public key and a user password encrypted with the public key; and
wherein the password reset disk can be stored remote from the password file, and a lost user password can subsequently be replaced by retrieving the private key from the password reset disk and using the private key with the contents of the password file to authorize a user to reset the user password.
14. The method as recited in claim 13, further comprising removing any version of the private key that may exist somewhere other than on the removable computer-readable medium.
15. The method as recited in claim 13, further comprising selecting a removable media drive in which the removable computer-readable medium is located.
16. The method as recited in claim 13, wherein the public key and the encrypted version of the user password are created at different times.
17. A system, comprising:
a password file that contains a public key and an encrypted user password that is created by encrypting a user password with the public key; and
a password reset module configured to:
retrieve a private key from a removable computer-readable medium, the private key corresponding to the public key;
attempt to decrypt the encrypted user password with the private key;
allow the user password to be replaced with a new user password if the attempt to decrypt the encrypted user password is successful.
18. The system as recited in claim 17, wherein the attempt to decrypt the encrypted user password is deemed to be successful if the decryption results in the user password.
19. The system as recited in claim 17, wherein the current user password is present in an encrypted form.
20. The system as recited in claim 17, wherein the private key and the public key were generated contemporaneously, and the user password is the user password that was active when the private key and public key were generated.
21. The system as recited in claim 17, further comprising a removable media drive configured to accept the removable computer-readable medium containing the private key.
22. The system as recited in claim 17, further comprising a key generator configured to generate the private key and the public key.
23. The system as recited in claim 17, further comprising a digital signature module configured to digitally sign the password file.
24. The system as recited in claim 17, further comprising a password module configured to activate the password reset module when an invalid user password is entered to access the system.
25. The system as recited in claim 17, further comprising a password module configured to offer an option to activate the password reset module when an invalid user password is entered to access the system if a password reset disk has previously been created.
26. A removable computer-readable medium, comprising:
a casing designed to fit into a removable drive; and
a computer-readable medium contained within the casing in such a way so that the computer-readable medium may be read by a disk reading device in the disk drive, the computer-readable medium containing a private key;
wherein:
the private key corresponds with a public key which has been used to create an encrypted user password on a computer system; and
a user password on the computer system can be reset by successfully decrypting the encrypted user password with the private key.
27. The computer disk as recited in claim 26, wherein:
the private key and the public key are created at the same time as a key pair; and
if the private key successfully decrypts the encrypted user password, then the computer system allows access to the system to reset the user password.
28. A removable computer-readable medium assembly, comprising:
a casing that is removably insertable into a computer drive; and
a computer-readable medium contained within the casing in such a way so that the computer-readable medium may be read by a reading device in the computer drive, the computer-readable medium containing a private key; and wherein:
the private key corresponds with a public key which has been used to create an encrypted user password on a computer system; and
a user password on the computer system can be set or reset by successfully decrypting the encrypted user password with the private key.
29. The removable computer-readable medium assembly as recited in claim 28, wherein:
the private key and the public key are created at the same time as a key pair; and
if the private key successfully decrypts the encrypted user password, then the computer system allows the user password to be reset.
30. The removable computer-readable medium assembly as recited in claim 28, wherein the removable computer-readable medium assembly comprises one of the following: a magnetic strip card; a memory card; an integrated circuit card; a floppy disk; a computer disk (CD); or a digital versatile disk (DVD).
31. One or more computer-readable media containing computer-executable instructions that, when executed on a computer, performs the following steps:
generating a public keyprivate key pair;
storing the private key on a removable computer-readable medium;
encrypting a user password with the public key to create an encrypted user password; and
wherein a computer system requires the user password to access the computer system except when the private key is retrievable from the removable computer-readable medium, in which case the computer system may be accessed to reset the user password if the private key successfully decrypts the encrypted user password.
32. The one or more computer-readable media as recited in claim 31, further comprising computer-executable instructions to digitally sign the encrypted user password.
33. The one or more computer-readable media as recited in claim 31, further comprising digitally signing a password file that contains the encrypted user password and the public key.
34. The one or more computer-readable media as recited in claim 31, further comprising computer-executable instructions to remove any version of the private key that is not on the removable computer-readable medium.
35. One or more computer-readable media containing computer-executable instructions that, when executed on a computer, perform the following steps:
retrieving a private key from a removable computer-readable medium;
locating an encrypted user password that is a user password that has been encrypted with a public key that corresponds to the private key;
attempting to decrypt the encrypted user password with the private key; and
if the attempted decryption is successful, allowing a current user password to be reset with a new user password that allows access to a computer system.
36. The one or more computer-readable media as recited in claim 35, wherein the decrypted version of the encrypted user password is the same as the current user password.
37. The one or more computer-readable media as recited in claim 35, further comprising validating a digital signature associated with the encrypted user password and proceeding only if the digital signature is valid.
38. The one or more computer-readable media as recited in claim 35, further comprising receiving an indication identifying a removable media drive in which the removable computer-readable medium is located.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computing system comprising:
a server hosting an application under test executing in a real-time modifier that is communicatively coupled to a computing device,
wherein the computing device is to perform a security test on the application under test,
wherein the real-time modifier determines that a function to be executed by the application under test is unsafe, and wherein the real-time modifier causes a portion of the function deemed unsafe to not be executed.
2. The computing system of claim 1, further comprising:
a recognition module to recognize whether the function is unsafe.
3. The computing system of claim 1, wherein the function is considered unsafe based on a type of process to be performed by the portion.
4. The computing system of claim 3, wherein the type of process is configured to perform at least one of the following: delete a database record, modify another database record, pollute a database, send an outgoing message, and exhaust resources of the server.
5. The computing system of claim 1, wherein the function is considered unsafe based on an application programming interface called by the function.
6. The computing system of claim 1, wherein the real-time modifier emulates the function without performing the portion of the function that is deemed unsafe.
7. The computing system of claim 1, wherein when the real-time modifier does not perform the portion of the function deemed unsafe, the real-time modifier blocks the portion from being executed.
8. The computing system of claim 1, wherein the security test is a penetration test, and wherein an observer associated with the real-time modifier further reports a vulnerability associated with the portion to the penetration test.
9. A non-transitory machine-readable storage medium storing instructions that, if executed by at least one processor of a device, cause the device to:
receive communications from a computing device communicatively coupled to an application under test hosted using a real-time modifier to perform a security test on the application under test;
determine, by the real-time modifier, that a portion of a function to be executed by the application under test is unsafe; and
modify, by the real-time modifier, an execution of the application under test to not execute the portion.
10. The non-transitory machine-readable storage medium of claim 9, further comprising instructions that, if executed by the at least one processor, cause the device to:
determine that the portion is unsafe based on a type of a process associated with the portion,
wherein the type of the process is configured to perform at least one of the following: delete a database record, modify another database record, pollute a database, send an outgoing message, and exhaust resources of the device.
11. The non-transitory machine-readable storage medium of claim 9, further comprising instructions that, if executed by the at least one processor, cause the device to:
determine that the portion is unsafe based on an application programming interface called by the function,
wherein the real-time modifier emulates the function without performing the portion of the function that is deemed unsafe.
12. The non-transitory machine-readable storage medium of claim 9, further comprising instructions that, if executed by the at least one processor, cause the device to:
report a vulnerability associated with the portion to the security test,
wherein the security test is a penetration test.
13. A method comprising:
hosting an application under test using a real-time modifier on a server;
receiving communications from a computing device communicatively coupled to the application under test to perform a security test on the application under test;
determining, by the real-time modifier, that a portion of a function to be executed by the application under test is unsafe based on a type of activity caused by the portion; and
modifying, by the real-time modifier, an execution of the application under test to not execute the portion.
14. The method of claim 13, further comprising:
emulating a functionality of the portion to provide a response to the security test.
15. The method of claim 14, further comprising:
reporting a vulnerability caused by the portion to the security test.