✏️ Java 코드 에디터
취약한 코드
public void updateSoftware(String url, String expectedHash) {
File file = download(url);
// [취약점] 파일의 무결성(해시값) 검증 없이 바로 실행
// 중간에 파일이 변조되었을 경우(MITM 등) 악성코드가 실행될 수 있음
execute(file);
}
💡 수정 가이드
1. 해시 비교 로직 추가
다운로드한 파일의 해시를 계산하고 예상된 해시값과 비교하세요.
if (!calculateHash(file).equals(expectedHash)) { throw ... }
📊 분석 결과
🎯 목표
외부에서 파일을 다운로드할 때는 반드시 원본 파일이 변조되지 않았는지(무결성) 검증해야 합니다. 해시값 비교 로직을 추가하세요.