보안약점 설명
6.1 잘못된 세션에 의한 데이터 정보노출
잘못된 세션에 의해 인가되지 않은 사용자에게 중요정보가 노출 될 수 있는 보안약점
6.2 제거되지 않고 남은 디버그 코드
디버깅을 위해 작성된 코드를 통해 인가되지 않은 사용자에게 중요정보가 노출될 수 있는 보안약점

logger.d("personal info");

삭제
6.3 시스템 데이터 정보노출
사용자가 볼 수 있는 오류 메시지나 스택 정보에 시스템 내부 데이터나 디버깅 관련 정보가 공개되는 보안약점

logger.e(e.getMessage());
=>
logger.e("NullPointException")
6.4 Public 메소드부터 반환된 Private 배열
Private로 선언된 배열을 Public으로 선언된 메서드를 통해 반환 (return)하면, 그 배열의 레퍼런스가 외부에 공개되어 외부 에서 배열이 수정될 수 있 는 보안약점

ex)
private Data[] datas;
public Data[] getData() {
   return datas;
}

=>
public Data[] getData() {
  Data[] datas=newData[datas.length];
   for(inti =0; i < datas.length; i++){
      datas[i] = this.datas[i].clone();
   }
   return datas;

}

6.5 Private 배열에 Public 데이터 할당 Public으로 선언된 데이터 또는 메서드의 파라미터가 Private로 선언된 배 열에 저장되면, Private 배열을 외부에서 접근할 수 있게 되는 보안약점

ex)
private Data[] datas;
public void setData(Data[] datas) {
   this.datas = datas;
}

=>

public void setData(Data[] datas) {
   this.datas = new Data[datas.length];
   for(int i = 0; i < datas.length; i++){
      this.datas[i] = datas[i].clone();
   }

}

'IT 자격증 > SW보안약점진단원' 카테고리의 다른 글

시간 및 상태  (0) 2022.07.12
에러처리  (0) 2022.07.12
코드오류  (0) 2022.07.12
API 오용  (0) 2022.07.12
SW보안약점진단원 양성과정 교육 신청  (0) 2022.06.30
Posted by Lumasca
,