'전체 글'에 해당되는 글 117건

  1. 2022.07.12 보안기능
  2. 2022.07.12 SW보안약점
  3. 2022.07.12 시간 및 상태
  4. 2022.07.12 에러처리
  5. 2022.07.12 코드오류
  6. 2022.07.12 API 오용
  7. 2022.07.12 캡슐화
  8. 2022.06.30 SW보안약점진단원 양성과정 교육 신청
보안약점 설명
2.1 적절한 인증없는 중요 기능 허용
적절한 인증 없이 중요정보(금융정보, 개인정보, 인증정보 등)를 열람(또는 변경)할 수 있게 하는 보안약점

=>최소권한 할당, R,W,E
2.2 부적절한 인가
적절한 접근제어 없이 외부입력값을 포함한 문자열로 중요자원에 접근할 수 있는 보안약점

=> DES, MD5 보다는 AES, SHA 사용
2.3 중요한 자원에 대한 잘못된 권한 설정
중요자원(프로그램 설정, 민감한 사용자 데이터 등)에 대한 적절한 접근권한을 부여하지 않아, 인가되지 않은 사용자 등에 의해 중요정보가 노출·수정되는 보안약점
2.4 취약한 암호화 알고리즘 사용
중요정보(금융정보, 개인정보, 인증정보 등)의 기밀성을 보장할 수 없는 취약 한 암호화 알고리즘을 사용하여 정보가 노출될 수 있는 보안약점
2.5 중요정보 평문 저장 중요정보(비밀번호, 개인정보 등)를 암호화하여 저장하지 않아 정보가 노출될 수 있는 보안약점

=>중요정보는 암호화해서 저장
2.6 중요정보 평문전송
중요정보(비밀번호, 개인정보 등) 전송시 암호화하지 않거나 안전한 통신채널 을 이용하지 않아 정보가 노출될 수 있는 보안약점

=>중요정보는 암호화해서 전송. SSL, HTTPS 사용.
2.7 하드코드된 비밀번호
소스코드 내에 비밀번호가 하드코딩 되어 소스코드 유출시 노출 우려 및 주기적 변경 등 수정(관리자 변경 등)이 용이하지 않는 보안약점

=>코드에 패스워드 작성 금지, 
2.8 충분하지 않은 키 길이 사용
데이터의 기밀성, 무결성 보장을 위해 사용되는 키의 길이가 충분하지 않아 기밀정보 누출, 무결성이 깨지는 보안약점

=>RSA는 2048 비트 이상
2.9 적절하지 않은 난수값 사용
예측 가능한 난수사용으로 공격자로 하여금 다음 숫자 등을 예상하여 시스템 공격이 가능한 보안약점


=>Random이 아닌 SecureRandom을 사용
2.10 하드코드된 암호화 키
소스코드 내에 암호화키가 하드코딩 되어 소스코드 유출시 노출 우려 및 키 변경이 용이하지 않는 보안약점

=>암호키는 외부파일에 암호화된 형태로 저장
2.11 취약한 비밀번호 허용
비밀번호 조합규칙(영문, 숫자, 특수문자 등) 미흡 및 길이가 충분하지 않아 노출될 수 있는 보안약점

=>비밀번호 작성규칙 적용(영문+숫자 10자리이상, 영문+숫자+특수문자 8자리 이상)
2.12 사용자 하드디스크 저장되는 쿠키를 통한 정보노출
쿠키(세션 ID, 사용자 권한정보 등 중요정보)를 사용자 하드디스크에 저장함 으로써 개인정보 등 기밀정보가 노출될 수 있는 보안약점

=>쿠키 만료기간 짧게, 
2.13 주석문 안에 포함된 시스템 주요정보
소스코드내의 주석문에 인증정보 등 시스템 주요정보가 포함되어 소스코드 유출시 노출될 수 있는 보안약점

=>주석에 비밀번호 등 중요정보 저장금지
2.14 솔트 없이 일방향 해쉬 함수 사용
공격자가 솔트 없이 생성된 해시값을 얻게 된 경우, 미리 계산된 레인보우 테이블 을 이용하여 원문을 찾을 수 있는 보안약점

=>패스워드 저장시 솔트값을 추가한 해쉬값을 저장
2.15 무결성 검사없는 코드 다운로드
원격으로부터 소스코드 또는 실행파일을 무결성 검사 없이 다운로드 받고 이를 실행하는 경우, 공격자가 악의적인 코드를 실행할 수 있는 보안약점

=>서버에서 개인키로 암호화후, 클라에서 공개키로 복호화.
2.16 반복된 인증시도 제한 기능 부재 인증시도의 수를 제한하지 않아 공격자가 무작위 인증시도를 통해 계정접근 권한을 얻을 수 있는 보안약점

=>인증실패시 재시도 시간 지연 또는 재시도 횟수 제한.

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

2022 3차 SW 보안약점진단원 양성교육  (0) 2022.08.22
입력데이터 검증 및 표현  (0) 2022.07.12
SW보안약점  (0) 2022.07.12
시간 및 상태  (0) 2022.07.12
에러처리  (0) 2022.07.12
Posted by Lumasca
,

 

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

입력데이터 검증 및 표현  (0) 2022.07.12
보안기능  (0) 2022.07.12
시간 및 상태  (0) 2022.07.12
에러처리  (0) 2022.07.12
코드오류  (0) 2022.07.12
Posted by Lumasca
,
보안약점 설명
3.1 검사시점과 사용시점 멀티 프로세스 상에서 자원을 검사하는 시점과 사용하는 시점이 달라서 발생 하는 보안약점

동시성 제어: synchronized, mutex, semaphore
3.2 종료되지 않은 반복문 또는 재귀 함수 종료조건 없는 제어문 사용으로 반복문 또는 재귀함수가 무한히 반복되어 발생 할 수 있는 보안약점

탈출조건을 지정

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

보안기능  (0) 2022.07.12
SW보안약점  (0) 2022.07.12
에러처리  (0) 2022.07.12
코드오류  (0) 2022.07.12
API 오용  (0) 2022.07.12
Posted by Lumasca
,
보안약점 설명
4.1 오류 메시지를 통한 정보노출 개발자가 생성한 오류 메시지에 시스템 내부구조 등이 포함되어 민감한 정보 가 노출될 수 있는 보안약점

try{
}catch(IOException e) {
   e.printStackTrace();//스택 정보 노출
}


try{
}catch(IOException e) {
   logger.e(e);
}
4.2 오류 상황 대응 부재
시스템에서 발생하는 오류 상황을 처리하지 않아 프로그램 실행정지 등 의도 하지 않은 상황이 발생할 수 있는 보안약점

try{
}catch(NullPointerException e){
//오류 발생시 대응을 안하면 정상인것처럼 동작
}


try{
}catch(NullPointerException e){
   logger.e(e.getMessage());
   return false;  
}
4.3 부적절한 예외 처리 예외에 대한 부적절한 처리로 인해 의도하지 않은 상황이 발생될 수 있는 보안 약점

try{
}catch(Exception e){//광범위한 예외처리
}

//예외처리 세분화
try{
}catch(IOException e){
}catch(ParseException e){
}

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

SW보안약점  (0) 2022.07.12
시간 및 상태  (0) 2022.07.12
코드오류  (0) 2022.07.12
API 오용  (0) 2022.07.12
캡슐화  (0) 2022.07.12
Posted by Lumasca
,
보안약점 설명
5.1 Null Pointer 역참조 Null로 설정된 변수의 주소값을 참조했을 때 발생하는 보안약점

String url = request.getParameter("url");

//url 에 null이 들어오면 문제 발생
if(url.equals(""))


if(url != null || url.equals(""))
5.2 부적절한 자원 해제
사용된 자원을 적절히 해제하지 않으면 자원 누수 등이 발생하고, 자원이 부족 하여 새로운 입력을 처리할 수 없게 되는 보안약점

in = new FileInputStream(inputFile)
out = new FileOutputStream(outputFile);

FileCopy.copy(in, out);
//실행중에 오류가 나면 자원반환이 안됨.
in.close();

try{
}catch(){
}finally{
in.close();
out.close();
}
5.3 해제된 자원 사용
메모리 등 해제된 자원을 참조하여 예기치 않은 오류가 발생될 수 있는 보안 약점
char *temp;

free(tem);

stmcpy(temp, "1234", size); //예기치 않은 취약점 발생
5.4 초기화되지 않은 변수 사용 변수를 초기화하지 않고 사용하여 예기치 않은 오류가 발생될 수 있는 보안 약점

int x;

초기화되지 않은 변수는 위조가 가능.
int x=1;

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

시간 및 상태  (0) 2022.07.12
에러처리  (0) 2022.07.12
API 오용  (0) 2022.07.12
캡슐화  (0) 2022.07.12
SW보안약점진단원 양성과정 교육 신청  (0) 2022.06.30
Posted by Lumasca
,
보안약점 설명
7.1 DNS Lookup에 의존한 보안결정 DNS는 공격자에 의해 DNS 스푸핑 공격 등이 가능하므로 보안 결정을 DNS 이름에 의존할 경우, 보안결정 등이 노출되는 보안 약점

ex)도메인명으로 신뢰성을 검증하지 말고 IP주소를 사용하여 DNS변조에 대응
7.2 취약한 API 사용 취약하다고 알려진 함수를 사용함으로써 예기치 않은 보안위협에 노출될 수 있는 보안약점


ex) socket = new Socket("127.0.0.1", 10000);
보안기능이 없는 소켓을 직접 사용.

프레임워크에서 제공하는 클래스를 이용
URL url = "http://127.0.0.1:10000");
URLConnection conn = url.openConnection();

 

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

시간 및 상태  (0) 2022.07.12
에러처리  (0) 2022.07.12
코드오류  (0) 2022.07.12
캡슐화  (0) 2022.07.12
SW보안약점진단원 양성과정 교육 신청  (0) 2022.06.30
Posted by Lumasca
,
보안약점 설명
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
,

이번에 2022년 SW보안약점 진단원 양성과정 3차 교육을 신청했다.

교육기간이 평일이라 휴가를 5일이나 내야하는 부담이 있다.

 

KISA의 연간 교육 계획을 확인한다.

https://academy.kisa.or.kr/edu/planning03.kisa

 

KISA LMS

 

academy.kisa.or.kr

 

원하는 차수를 클릭하면 교육신청 페이지로 이동하는데 접수기간이 아니면 상태는 '접수마감'이다.

상태는 접수기간 시작일 오전 10시 정각에 신청하기(?) 버튼으로 변경된다.

마감이 빨리된다는 글을 봐서 빨리 진행하느라 신청페이지는 캡쳐하지 못했다.

신청페이지는 개인정보 몇개를 입력해야한다. 

 

접수가 되면 메일이 온다.

경력 증빙서류는 발신자 메일주소(edu@kisec.com)로 보내면 된다.

 

나의 경우는 교육신청서, 자격확인신청서, 건강보험자격득실확인서랑 소프트웨어 기술자 경력증명서를 제출했다.

소프트웨어 기술자 경력증명서는 KOSA 관리하는 경력관리시스템을 통해 발급받을 수 있다.

이 시스템은 등록시에도 돈을 지불해야하고 증명서발급에도 2천원을 결제해야 한다.

오래전 근무하던 회사 다닐때 등록해두었는데 몇번 경력증빙이 필요한 경우에 대체 증빙으로 사용할때 요긴하다.

 

https://career.sw.or.kr/

 

소프트웨어기술자 경력관리시스템

SW기술자 경력확인 한번으로 두고두고 편리한 경력관리 SW기술자 경력확인제도는 SW기술자의 경력 입증의 어려움을 해소하고, 지속적인 경력관리를 통해 공신력있는 경력증빙 및 권익보호를 위

career.sw.or.kr

 

자격확인신청서(엑셀)는 아래와 같은 양식으로 되어 있다.

현재소속된 정보를 작성하고 노란색 소속기관에 근무했던 회사, 개발경력 프로젝트에는 근무했던 회사에서 수행한 프로젝트를 기입했다. 진단경력 프로젝트는 없으니 공백으로 처리했다.

서류상 제출이 어려운 경력은 우측에 별도로 기입하도록 구성되어 있다.

 

교육신청서(한글)는 자격확인신청서에 작성한 개발경력프로젝트를 개발경력란에 그대로 기입하고 인쇄한 다음,

개인정보활용 동의서에 서명한후, 사진을 찍어서 pdf 파일로 만들었다.

이렇게 준비된 파일을 메일로 보내면 이렇게 답장이 온다. (15분정도후)

 

 

 

교육후기(https://lumasca.tistory.com/1149)

 

시험준비(https://lumasca.tistory.com/1150)

 

시험후기(https://lumasca.tistory.com/1151)

 

최종합격(https://lumasca.tistory.com/1153)

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

시간 및 상태  (0) 2022.07.12
에러처리  (0) 2022.07.12
코드오류  (0) 2022.07.12
API 오용  (0) 2022.07.12
캡슐화  (0) 2022.07.12
Posted by Lumasca
,