정보보안기사 필기 · 2023년 2회 · 59번

Q.59202323과목 · 어플리케이션 보안

다음 코드에서 시큐어코딩을 통해 보안약점을 제거하였다. 코드에 대한 설명으로 옳은 것은?

public static void main(String[] args) {
        List<String> allowedCommands = new ArrayList<String>();
        allowedCommands.add("notepad");
        allowedCommands.add("calc");
        String cmd = args[0];
        if(allowedCommands.contains(cmd)) {
                System.err.println("허용되지 않은 명령어입니다.");
                return;
        }
        Process ps = null;
        try {
                ps = Runtime.getRuntime().exec(cmd);
        }catch(Exception e) {
        // ... 생략...
        }
}
  • 1허용된 프로그램이 아닌 경우 에러 메시지를 출력한다.
  • 2실행할 수 있는 프로그램을 제한하였다.
  • 3보안약점이 제거되지 않아 추가 수정이 필요하다.
  • 4해당 어플리케이션에서 노트패드를 실행할 수 있다.

정답: 3 · 보안약점이 제거되지 않아 추가 수정이 필요하다.

해설
해설 불러오는 중…
이 회차 문제 풀어보기 →정보보안기사 필기 더 풀기