문제
다음 JAVA 코드에서 밑줄로 표시된 부분에는 어떤 보안 약점이 존재하는가? (단, key는 암호화 키를 저장하는 변수이다.)
① 무결성 검사 없는 코드 다운로드 ② 중요 자원에 대한 잘못된 권한 설정 ③ 하드코드된 암호화 키 사용 ④ 적절한 인증없는 중요 기능 허용
정답
3번
해설
정답: 3. 암호화 키를 소스 코드에 직접 문자열로 작성한 것은 하드코드된 암호화 키 사용 취약점이다.
오답 풀이
- 1번: 무결성 검사 없는 코드 다운로드와는 무관하다.
- 2번: 자원 권한 설정 오류와는 무관하다.
- 3번: 키를 소스에 직접 기재한 하드코드 키 사용 취약점이다.
- 4번: 인증 없는 기능 허용과는 무관하다.
보충 개념 하드코드된 키·비밀번호는 소스 노출 시 즉시 유출되므로 외부 설정·키 저장소로 분리해야 한다.