Checkmarxは、パスワードプロパティの文字列に関するヒープ検査の脆弱性を報告しました。このプロパティは、ログインフォームを送信するときにバインドされるモデルの一部です。フォームからパスワードをバインドするために、通常の文字列以外のものを使用する方法がASP.NET MVCにありますか?MVC viewmodelのヒープ検査の脆弱性を解決するには?
これまでは、プロパティの型をchar []またはSecureStringに変更しようとしましたが、その場合、フォームはデータをバインドしません。
public class LoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
ハッカーがWebサーバのメモリへのアクセスを持っている場合、あなたはすでに別の問題を抱えています。 – CodeCaster
SecureStringはそれを達成する最良の方法ですが、時間を無駄にするだけです。健康的な環境ではほとんど不可能です。 –
関連:[SecureStringはこれまでC#アプリケーションで実用的でしたか?](http://stackoverflow.com/questions/26190938/is-securestring-ever-practical-in-ac-sharp-application)、[Heap Inspection Security Vulnerability] (http://stackoverflow.com/questions/30341327/heap-inspection-security-vulnerability)。 – CodeCaster