본문 바로가기
정보시스템 구축관리정보처리기사 · 2020년08월22일 · 97/100

97.다음 JAVA코드에서 밑줄로 표시된 부분에는 어떤 보안 약점이 존재하는가? (단, key는 암호화 키를 저장하는 변수이다.)

정보처리기사 97번 문제 이미지
1
무결성 검사 없는 코드 다운로드
2
중요 자원에 대한 잘못된 권한 설정
3
하드코드된 암호화 키 사용정답
4
적절한 인증없는 중요 기능 허용

해설

소스 코드 내부에 암호화 키를 상수 형태로 하드코딩하여 사용하면 악의적인 공격자에게 암호화 키가 노출될 위협이 있다. 안전하지 않은 코드의 예 JAVA import javax.crypto.KeyGenerator; import javax.crypto.spec.SecretKeySpec; import javax.crypto.Cipher; …… public String encriptString(String usr) { ***//암호화 키를 소스코드 내부에 사용하는 것은 안전하지 않다.//****** String key = "22df3023sf~2;asn!@#/>as"; if (key != null) { byte[] bToEncrypt = usr.getBytes("UTF-8"); SecretKeySpec sKeySpec = new SecretKeySpec(key.getBytes(), "AES") 출처 : 전자정부 SW 개발·운영자를 위한 소프트웨어 개발보안 가이드(2019.11)

이 시험을 직접 풀어보세요

실전과 동일한 CBT 환경에서 시간 제한 연습

회원가입 없이 CBT 풀기