Veracode CWE ID 311:加密问题
Veracode CWE ID 311: Cryptographic Issue
Veracode 密码问题:CWE ID:311
说明:应用程序通过将数据传递给未加密的函数来暴露潜在的敏感数据。这可能会导致私人数据(例如密钥)或其他敏感信息被错误地公开。
建议:确保应用程序保护所有敏感数据免遭不必要的暴露。
错误指向:
[[NSFileManager defaultManager] setAttributes:@{NSFileModificationDate: [NSDate date]} ofItemAtPath:path error:nil];
有什么建议,如何解决这个问题?
- (NSData*)loadContentsFromSecureFile:(NSString*)name ofType:(HCFileType)type
{
NSString *path = [self pathForFile:name ofType:type];
NSData *encryptedData = [NSData dataWithContentsOfFile:path];
if (encryptedData == nil) {
DebugLog(@"No secure data found: %@", path);
return nil;
}
NSData *data = [encryptedData AES256DecryptWithKey:[self.profile getFileKeyBytes]];
if (data == nil) {
DebugLog(@"Unable to decrypt data, deleting: %@", path);
[[NSFileManager defaultManager] removeItemAtPath:path error:nil];
return nil;
}
// Error pointed on this below line.
[[NSFileManager defaultManager] setAttributes:@{NSFileModificationDate: [NSDate date]} ofItemAtPath:path error:nil];
return data;
}
尝试添加具有用户名权限的属性,这将限制任何人读写文件。
// 错误指向这一行
NSDictionary *attrib = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:0], NSFileGroupOwnerAccountID,
[NSNumber numberWithInt:0], NSFileOwnerAccountID,
@"username", NSFileGroupOwnerAccountName,
@"username", NSFileOwnerAccountName, NSFileModificationDate, [NSDate date]];
[[NSFileManager defaultManager] setAttributes:attrib ofItemAtPath:path error:nil];
Veracode 密码问题:CWE ID:311
说明:应用程序通过将数据传递给未加密的函数来暴露潜在的敏感数据。这可能会导致私人数据(例如密钥)或其他敏感信息被错误地公开。
建议:确保应用程序保护所有敏感数据免遭不必要的暴露。
错误指向: [[NSFileManager defaultManager] setAttributes:@{NSFileModificationDate: [NSDate date]} ofItemAtPath:path error:nil];
有什么建议,如何解决这个问题?
- (NSData*)loadContentsFromSecureFile:(NSString*)name ofType:(HCFileType)type
{
NSString *path = [self pathForFile:name ofType:type];
NSData *encryptedData = [NSData dataWithContentsOfFile:path];
if (encryptedData == nil) {
DebugLog(@"No secure data found: %@", path);
return nil;
}
NSData *data = [encryptedData AES256DecryptWithKey:[self.profile getFileKeyBytes]];
if (data == nil) {
DebugLog(@"Unable to decrypt data, deleting: %@", path);
[[NSFileManager defaultManager] removeItemAtPath:path error:nil];
return nil;
}
// Error pointed on this below line.
[[NSFileManager defaultManager] setAttributes:@{NSFileModificationDate: [NSDate date]} ofItemAtPath:path error:nil];
return data;
}
尝试添加具有用户名权限的属性,这将限制任何人读写文件。
// 错误指向这一行
NSDictionary *attrib = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:0], NSFileGroupOwnerAccountID,
[NSNumber numberWithInt:0], NSFileOwnerAccountID,
@"username", NSFileGroupOwnerAccountName,
@"username", NSFileOwnerAccountName, NSFileModificationDate, [NSDate date]];
[[NSFileManager defaultManager] setAttributes:attrib ofItemAtPath:path error:nil];