software defects security