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