1.입력데이터 검증 및 표현
번호 |
보안약점 |
설명 |
1 |
SQL 삽입 |
사용자의 입력 값등 외부 입력값이 SQL 쿼리에 삽이되어 공격자가 쿼리를 조작해 공격할 수 있는 보안 약점 |
2 |
자원 삽입 |
외부 입력값에 대한 검증이 없거나 혹은 잘못된 검증을 거쳐서 시스템 자원에 접근하는 경로 등의 정보로 이용될 때 발생하는 보안약점 |
3 |
크로스 사이트 스크립팅 |
검증되지 않은 외부 입력값에 의해 브라우저에서 악의적인 코드가 실행되는 보안약점 |
4 |
운영체제 명령어 삽입 |
운영체제 명령어를 구성하는 외부 입력값이 적절한 필터링을 거치지 않고 쓰여져서 공격자가 운영체제 명령어를 조작할 수 있는 보안 약점 |
5 |
위험한 형식 파일 업로드 |
파일의 확장자 등 파일형식에 대한 검증 없이 업로드를 허용하여 발생하는 보안약점 |
6 |
신뢰되지 않는 URL주소로 자동 접속 연결 |
사용자의 입력값 등 외부 입력값이 링크 표현에 사용되고 이 링크를 이용하여 악의적인 사이트로 리다이렉트되는 보안 약점 |
7 |
XQuery삽입 |
사용자의 입력값 등 외부 입력값이 XQuery표현에 삽입되어 악의적인 쿼리가 실행되는 보안약점 |
8 |
XPath삽입 |
사용자의 입력값 등 외부 입력값이 XPath표현에 삽입되어 악의적인 쿼리가 실행되는 보안약점 |
9 |
LDAP삽입 |
검증되지 않은 입력값을 사용해서 동적으로 생성된 LDAP문에 의해 악의 적인 LDAP명령이 실행되는 보안약점 |
10 |
크로스사이트 요청 위조 |
검증되지 않은 외부 입력값에 의해 브라우저에서 악의적인 코드가 실행되어 공격자가 원하는 요청(request)이 다른 사용자(관리자등)의 권한으로 서버로 전송되는 보안약점 |
11 |
디렉토리 경로 조작 |
지정된 경로 밖의 파일 시스템 경로에 접근하게 되는 보안 약점 |
12 |
HTTP 응답분할 |
사용자의 입력값 등 외부 입력값이 HTTP 응답헤더에 삽입되어 악의적인 코드가 실행되는 보안약점 |
13 |
정수 오버플로우 |
정수를 사용한 연산의 결과가 정수값의 범위를 넘어서는 경우 프로그램이 예기치 않게 동작될 수 있는 보안약점 |
14 |
보안메커니즘을 우회할 수 있는 입력값 변조 |
사용자에 의해 변경될 수 있는 값을 사용하여 보안결정(인증/인가/권한부여)을 수행하여 보안 메카니즘이 우회될 수 있는 보안 약점 |
2.보안기능
번호 |
보안약점 |
설명 |
1 |
적절한 인증없는 중요기능 허용 |
적절한 인증 없이 중요정보(계좌이체 정보, 개인정보 등)를 열람(또는 변경) 할 수 있게 하는 보안 약점 |
2 |
부적절한 인가 |
적절한 접근제어 없이 외부 입력값을 포함한 문자열로 서버 자원에 접근(혹은 서버실행 인가)을 할 수 있게 하는 보안약점 |
3 |
중요한 자원에 대한 잘못된 권한 설정 |
중요자원(프로그램 설정, 민감한 사용자 데이터 등)에 대한 적절한 접근 권한을 부여하지 않아 의도하지 않는 사용자에 의해 중요정보가 노출 수정 되는 보안약점 |
4 |
취약한 암호화 알고리즘 사용 |
중요정보(패스워드, 개인정보 등)의 기밀성을 보장할 수 없는 취약한 암호화 알고리즘을 사용하여 정보가 노출될 수 있는 보안 약점 |
5 |
사용자 중요정보 평문저장(또는 전송) |
중요정보(패스워드,개인정보 등) 저장(또는 전송)시 암호화 하지 않아 공격자에게 누출 될 수 있는 보안약점 |
6 |
하드코드된 패스워드 |
소스코드 내에 비밀번호를 하드코딩함에 따라 관리자 비밀번호가 노출되거나 주기적 변경 등 수정(관리자 변경 등)이 용이하지 않는 보안약점 |
7 |
충분하지 않은 키 길이 사용 |
데이터 기밀성, 무결성 보장을 위해 사용하는 키의 길이가 충분하지 않아 기밀정보 누출, 무결성이 깨지는 보안 약점 |
8 |
적절하지 않은 난수값사용 |
예측가능한 난수 사용으로 공격자로 하여금 다음 숫자 등을 예상하여 시스템 공격이 가능한 보안약점 |
9 |
패스워드 평문 저장 |
기밀 정보인 비밀번호를 암호화하지 않아 노출 될 수 있는 보안 약점 |
10 |
하드코드된 암호화 키 |
소스코드 내 암호화키를 하드코딩 하는 경우, 향후 노출될 수 있으며, 키 변경 등 수정이 용이하지 않는 보안약점 |
11 |
취약한 패스워드 허용 |
비밀번호 조함규칙(영문, 숫자, 특수문자) 및 길이가 충분하지 않아 노출될 수 있는 보안약점 |
12 |
사용자 하드디스크에 저장되는 쿠키를 통한 정보 노출 |
쿠키(세션ID, 사용자 권한 정보 등 중요 정보)를 사용자 하드디스크에 저장함으로써 개인정보 등 기밀정보가 노출될 수 있는 보안약점 |
13 |
보안속성 미적용으로 인한 쿠키 노출 |
쿠키에 보안속석을 적용하지 않은 경우, 쿠키에 저장된 중요 데이터가 공격자에 노출될 수 있는 보안약점 |
14 |
주석문 안에 포함된 패스워드 시스템 주요정보 |
소스코드 내의 주석문에 비밀번호가 하드코딩되어 비밀번호가 노출될 수 있는 보안약점 |
15 |
솔트 없이 일방향 해쉬 함수 사용 |
공격자가 솔트 없이 생성된 해쉬값을 얻게 된 경우 미리 계산된 레인보우 테이블을 이용하여 원문을 찾을 수 있는 보안 약점 |
16 |
무결성 검사 없는 코드 다운로드 |
원격으로부터 소스코드 또는 실행파일을 무결성 검사 없이 다운로드 받고 이를 실행하는 경우 공격자가 악의적인 코드를 실행할 수 있는 보안약점 |
3.시간 및 상태
번호 |
보안약점 |
설명 |
1 |
경쟁조건 검사시점과 사용시점 |
멀티 프로세스 상에서 자원을 검사하는 시점과 사용하는 시점이 달라서 발생하는 보안약점 |
2 |
제어문을 사용하지 않는 재귀함수 |
적절한 제어문 사용이 없는 재귀함수에서 무한 재귀가 발생하는 보안약점 |
4.에러 처리
번호 |
보안약점 |
설명 |
1 |
오류 메시지 통한 정보 노출 |
개발시 활용을 위한 오류정보의 출력 메시지를 배포될 버전의 SW에 포함시킬 때 발생하는 보안약점 |
2 |
오류상황 대응 부재 | 시스템에서 발생하는 오류 상황을 처리하지 않아 프로그램 다운 등 의도하지 않은 상황이 발생할 수 있는 보안 약점 |
3 |
적절하지 않은 예외처리 |
예외에 대한 부적절한 처리로 인해 의도하지 않은 상황이 발생될 수있는 보안약점 |
5.코드 오류
번호 |
보안약점 |
설명 |
1 |
널(NULL) 포인터 역 참조 |
Null로 설정된 변수의 주소값을 참조했을 때 발생하는 보안약점 |
2 |
부적절한 자원해제 | 사용된 자원을 적절히 해제하지 않으면 자원의 누수 등이 발생하고 자원이 모자라 새로운 입력에 처리 못하게 되는 보안 약점 |
6.캡슐화
번호 |
보안약점 |
설명 |
1 |
잘못된 세션에 의한 데이터 정보노출 |
잘못된 세션에 의해 권한 없는 사용자에게 데이터 노출이 일어날 수 있는 보안약점 |
2 |
제거되지 않고 남은디버그 코드 |
디버깅을 위해 작성된 코드를 통해 권한 없는 사용자 인증 우회(또는 중요정보) 접근이 가능해지는 보안 약점 |
3 |
시스템 데이터 정보 노출 |
사용자가 볼 수 있는 오류 메시지나 스택 정보에 시스템 내부 데이터나 디버깅 관련 정보가 공개되는 보안약점 |
4 |
public 메소드부터 반환된 private배열 |
private로 선언된 배열을 public으로 선언된 메소드를 통해 반환하면 그 배열의 레퍼런스가 외부에 공개되어 외부에서 배열의 수정 될 수 있는 보안약점 |
5 |
private 배열에 public데이터 할당 |
public으로 선언된 데이터 또는 메소드의 인자가 private 선언된 배열에 저장되면 private배열을 외부에서 접근할 수 있게 되는 보안약점 |
7.API오용
번호 |
보안약점 |
설명 |
1 |
DNS lookup에 의존 한 보안 결정 |
DNS는 공격자에 의해 DNS스푸핑 공격 등이 가능하므로 보안결정을 DNS이름에 의존할 경우 보안결정 등이 노출되는 보안 약점 |
'Certificate > 정보보안기사' 카테고리의 다른 글
대책 구현 및 운영 (0) | 2014.09.19 |
---|---|
위험 관리 (0) | 2014.09.19 |
업무연속성 관리와 재난 복구 (0) | 2014.09.19 |
Email Security (0) | 2014.09.17 |
FTP Security (0) | 2014.09.17 |