일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정보통신유지보수기준
- 공급기업의무
- 정보통신공사업법시행령
- APT해킹
- 정보통신설비 유지보수·관리기준
- 디자인패턴규칙
- 데이터수집방식
- 스마트공장보급확산사업관리지침
- 스마트공장세부관리기준
- 데이터분석전문가
- 데이터아키텍처전문가
- 스마트제조혁신 지원사업 통합공고
- 수준확인등급기준
- SW개발비
- 스마트공장감리
- 스마트공장수준
- 자동반자동수동
- 엔지니어링산업진흥법시행령
- 도입기업의무
- 정보통신공사업법 시행령 일부개정
- 간이법
- SW대가산정
- 기능점수
- 정보통신공사업법시행령시행일자
- 딥페이크
- 스마트공장점검
- 소프트웨어 보안약점기준
- 엔지니어링기술자기술등급기준
- FP산정
- 빅데이터분석기사
Archives
- Today
- Total
Specialist in Software
KISA 소프트웨어 보안약점 기준 본문
728x90
가. (설계단계) 보안설계기준
- 입력 데이터 검증 및 표현
- DBMS 조회 및 결과 검증 : DBMS 조회시 질의문(SQL)내 입력값과 그 조회결과에 대한 유효성 검증방법(필터링 등) 설계 및 유효하지 않은 값에 대한 처리방법 설계
- XML 조회 및 결과 검증 : XML 조회시 질의문(XPath, XQuery 등) 내 입력값과 그 조회결과에 대한 유효성 검증방법(필터링 등) 설계 및 유효하지 않은 값에 대한 처리방법 설계
- 디렉토리 서비스 조회 및 결과 검증 : 디렉토리 서비스(LDAP 등)를 조회할 때 입력값과 그 조회결과에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
- 시스템 자원 접근 및 명령어 수행 입력값 검증 : 시스템 자원접근 및 명령어를 수행할 때 입력값에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
- 웹 서비스 요청 및 결과 검증 : 웹 서비스(게시판 등) 요청(스크립트 게시 등)과 응답결과(스크립트를 포함한 웹 페이지)에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
- 웹 기반 중요 기능 수행 요청 유효성 검증 : 비밀번호 변경, 결제 등 사용자 권한 확인이 필요한 중요기능을 수행할 때 웹 서비스 요청에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
- HTTP 프로토콜 유효성 검증 : 비정상적인 HTTP 헤더, 자동연결 URL 링크 등 사용자가 원하지 않은 결과를 생성하는 HTTP 헤더·응답결과에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
- 허용된 범위내 메모리 접근 : 해당 프로세스에 허용된 범위의 메모리 버퍼에만 접근하여 읽기 또는 쓰기 기능을 하도록 검증방법 설계 및 메모리 접근요청이 허용범위를 벗어났을 때 처리방법 설계
- 보안기능 입력값 검증 : 보안기능(인증, 권한부여 등) 입력값과 함수(또는 메소드)의 외부입력 값 및 수행결과에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
- 업로드·다운로드 파일 검증 : 업로드·다운로드 파일의 무결성, 실행권한 등에 관한 유효성 검증방법 설계 및 부적합한 파일에 대한 처리방법 설계
- 보안기능
- 인증 대상 및 방식 : 중요정보·기능의 특성에 따라 인증방식을 정의하고 정의된 인증방식을 우회하지 못하게 설계
- 인증 수행 제한 : 반복된 인증 시도를 제한하고 인증 실패한 이력을 추적하도록 설계
- 비밀번호 관리 : 생성규칙, 저장방법, 변경주기 등 비밀번호 관리정책별 안전한 적용방법 설계
- 중요자원 접근통제 : 중요자원(프로그램 설정, 민감한 사용자 데이터 등)을 정의하고, 정의된 중요자원에 대한 신뢰할 수 있는 접근통제 방법(권한관리 포함) 설계 및 접근통제 실패 시 처리방법 설계
- 암호키 관리 : 암호키 생성, 분배, 접근, 파기 등 암호키 생명주기별 암호키 관리방법을 안전하게 설계
- 암호연산 : 국제표준 또는 검증필 암호모듈로 등재된 안전한 암호 알고리즘을 선정하고 충분한 암호키 길이, 솔트, 충분한 난수 값을 적용한 안전한 암호연산 수행방법 설계
- 중요정보 저장 : 중요정보(비밀번호, 개인정보 등)를 저장·보관하는 방법이 안전하도록 설계
- 중요정보 전송 : 중요정보(비밀번호, 개인정보, 쿠키 등)를 전송하는 방법이 안전하도록 설계
- 에러처리
- 예외처리 : 오류메시지에 중요정보(개인정보, 시스템 정보, 민감 정보 등)가 노출되거나, 부적절한 에러·오류 처리로 의도치 않은 상황이 발생하지 않도록 설계
- 세션통제
- 세션통제 : 다른 세션 간 데이터 공유금지, 세션ID 노출금지, (재)로그인시 기존 세션ID 재사용 금지 등 안전한 세션 관리방안 설계
나. (구현단계) 보안약점 제거 기준
- 입력 데이터 검증 및 표현
- SQL 삽입
- 코드 삽입
- 경로 조작 및 자원 삽입
- 크로스사이트 스크립트
- 운영체제 명령어 삽입
- 위험한 형식 파일 업로드
- 신뢰되지 않는 URL 주소로 자동접속 연결
- 부적절한 XML 외부 개체 참조
- XML 삽입
- LDAP 삽입
- 크로스사이트 요청 위조
- 서버사이드 요청 위조
- HTTP 응답분할
- 정수형 오버플로우
- 보안기능 결정에 사용되는 부적절한 입력값
- 메모리 버퍼 오버플로우
- 포맷 스트링 삽입
- 보안기능
- 적절한 인증 없는 중요기능 허용
- 부적절한 인가
- 중요한 자원에 대한 잘못된 권한 설정
- 취약한 암호화 알고리즘 사용
- 암호화되지 않은 중요정보
- 하드코드된 중요정보
- 충분하지 않은 키 길이 사용
- 적절하지 않은 난수 값 사용
- 취약한 비밀번호 허용
- 부적절한 전자서명 확인
- 부적절한 인증서 유효성 검증
- 사용자 하드디스크에 저장되는 쿠키를 통한 정보 노출
- 주석문 안에 포함된 시스템 주요정보
- 솔트 없이 일방향 해쉬 함수사용
- 무결성 검사 없는 코드 다운로드
- 반복된 인증시도 제한 기능 부재
- 시간 및 상태
- 경쟁조건: 검사 시점과 사용 시점(TOCTOU)
- 종료되지 않는 반복문 또는 재귀 함수
- 에러처리
- 오류 메시지 정보노출
- 오류상황 대응 부재
- 부적절한 예외 처리
- 코드오류
- Null Pointer 역참조
- 부적절한 자원 해제
- 해제된 자원 사용
- 초기화되지 않은 변수 사용
- 신뢰할 수 없는 데이터의 역직렬화
- 캡슐화
- 잘못된 세션에 의한 데이터 정보 노출
- 제거되지 않고 남은 디버그 코드
- Public 메소드부터 반환된 Private 배열
- Private 배열에 Public 데이터 할당
- API오용
- DNS lookup에 의존한 보안결정
- 취약한 API 사용
출처 : 소프트웨어 보안약점 진단가이드(2021.11.)
'Software Engineering' 카테고리의 다른 글
디자인 패턴 규칙 (1) | 2024.05.08 |
---|---|
SW 대가 산정 방법 중 기능점수 산정법(FP 산정) (0) | 2023.08.10 |