nickmorohe 2024. 4. 24. 17:43

1. 캡슐화

정보 은닉이 중요한 데이터와 기능을 불완전하게 캡슐화하거나 잘못 사용함으로써 발생할 수 있는 문제를 예방하기 위한 보안 점검 항목

 

* 캡슐화의 보안 약점

1) 잘못된 세션에 의한 정보 노출

- 다중 스레드 환경에서 멤버 변수에 정보를 저장할 때 발생하는 보안 약점

- 멤버 변수보다 지역 변수를 활용하여 변수의 범위를 제한함으로써 방지

 

2) 제거되지 않고 남은 디버그 코드

- 개발 중 버그 수정이나 결과값 확인을 위해 남겨둔 코드들로 인해 발생하는 보안 약점

- 소프트웨어 배포 전 코드 검사를 수해앟여 남은 디버그 코드를 삭제하여 방지

 

3) 시스템 데이터 정보 노출

- 시스템 내부 저옵를 시스템 메시지 등을 통해 외부로 출력하도록 코딩하였을 때 발생하는 보안 약점

- 노출되는 메시지에는  최소한의 정보만을 제공함으로써 방지

 

4) Public 메소드로부터 반환된 Private 배열

- 선언된 클래스 내에서만 접근 가능한 Private 배열을 모든 클래스에서 접근 가능한 Public 메소드에서 반환할 때 발생하는 보안 약점

- Private 배열을 별도의 메소드를 통해 조작하거나, 동일한 형태의 복제본으로 반환 받은 후 값을 전달하는 방식으로 방지

 

5) Private 배열에 Public 데이터 할당

- Private 배열에 Public으로 선언된 데이터 또는 메소드의 파라미터를 저장할 때 발생하는 보안 약점

- Public 으로 선언된 데이터를 Private 배열에 저장 시 레퍼런스가 아닌 값을 직접 지정함으로써 방지

 

2. 접근 제어자

외부로부터 접근을 제한하기 위해 사용되는 예약어

 

접근 제어자 클래스 내부 패키지 내부 하위 클래스 패키지 외부
Public O O O O
Protected O O O X
Default O O X X
Private O X X X

 

 

출처 :  정보처리기사 실기 2024 기본서 / 저자 : 길벗알앤디(김정준, 강윤석, 김용갑, 김우경)  / 출판사 : 길벗