상세 컨텐츠

본문 제목

[한국인터넷진흥원][정보보호] Python 시큐어코딩 가이드 (2022.12)

정보보호 자료실/가이드라인

by 황컴플라이언스 2025. 1. 27. 22:25

본문

반응형

안녕하세요. 황컴플라이언스 입니다.

[한국인터넷진흥원][정보보호] Python 시큐어코딩 가이드 (2022.12) 입니다.

업무에 참고하시기 바랍니다.

 

○ 자료명 : Python 시큐어코딩 가이드

○ 발행일 : 2022년 12월

○ 주관부처 : 한국인터넷진흥원


[개요]

□ 추진배경

      • 인공지능, 블록체인 등 혁신적인 기술을 기반으로 하는 기업들이 기존 비즈니스 시장을 흔들고 새로운 트렌드를 만들어 가고 있다. 스마트폰은 전 국민의 일상이 되었으며 비대면 시장의 폭발적인 성장으로 모든 정보의 흐름이 IT 기반 시스템으로 모이고 있다. 정보가 모이는 곳에는 항상 보안 위협이 뒤따르며, 다양한 IT 서비스를 개발하는 기업들 또한 이러한 위협에 노출될 수 밖에 없다. 잘 만들어진 소프트웨어는 안정적인 수입과 성장을 견인하지만 그렇지 못한 경우 기업의 생존에 위협을 줄 수 있다.
      • Ponemon Institute의 보고서에 따르면, 60%의 침해사고가 패치되지 않은 알려진 취약점으로 인한 것이라고 밝혀졌다1). 특히 사용자 정보를 처리하는 웹 애플리케이션 취약점으로 인해 중요정보가 유출되는 침해사고가빈번하게 발생되고 있다.
      • 또한 침해사고 발생 전 까지 취약점이 있다는 사실을 인지하지 못한 기업이 전체의 62%에 달한다는 분석 결과가 나왔다. 보안 사고의 위험성과 중요성을 인지한 많은 기업들이 침입차단 시스템, 안티 바이러스 제품들을 도입해 보안 수준을 강화하고 있지만, 단순 제품 도입만으로는 소프트웨어에 내재된 보안 취약점을 악용하는 공격에 대응할 수 없다.
      • 현실적으로 보안 관점에서 완벽한 소프트웨어를 개발하는 것은 불가능하다. 하지만 제품을 설계하고 개발하는 단계에서부터 보안 위협을 고려하고 분석해 나간다면 소프트웨어에서 발생 가능한 많은 위협을 사전에 차단하거나문제 발생 시 빠르게 대응할 수 있다.
      • 간단한 개발 실수도 대형 보안 사고로 이어질 수 있으며, 개발 프로세스 상에서 보안 취약점을 탐색하고 발견하는 작업이 늦어질수록 수정 비용이 기하급수적으로 증가한다는 연구 결과도공개된 바 있다.

Python_시큐어코딩_가이드2023년_개정본.pdf
5.91MB
Python 시큐어코딩 가이드 (2022.12) : 한국인터넷진흥원, 과학기술정보통신부


[목차]

PART 제1장 개요

제1절 배경

제2절 가이드 목적 및 구성

PART 제2장 시큐어코딩 가이드

제1절 입력데이터 검증 및 표현

  • 1. SQL 삽입
  • 2. 코드 삽입 
  • 3. 경로 조작 및 자원 삽입
  • 4. 크로스사이트 스크립트(XSS) 
  • 5. 운영체제 명령어 삽입
  • 6. 위험한 형식 파일 업로드
  • 7. 신뢰되지 않은 URL주소로 자동접속 연결
  • 8. 부적절한 XML 외부 개체 참조 
  • 9. XML 삽입
  • 10. LDAP 삽입
  • 11. 크로스사이트 요청 위조(CSRF) 
  • 12. 서버사이드 요청 위조
  • 13. HTTP 응답분할 
  • 14. 정수형 오버플로우
  • 15. 보안기능 결정에 사용되는 부적절한 입력값
  • 16. 포맷 스트링 삽입

제2절 보안기능 

  • 1. 적절한 인증 없는 중요 기능 허용 
  • 2. 부적절한 인가
  • 3. 중요한 자원에 대한 잘못된 권한 설정
  • 4. 취약한 암호화 알고리즘 사용
  • 5. 암호화되지 않은 중요정보
  • 6. 하드코드된 중요정보
  • 7. 충분하지 않은 키 길이 사용
  • 8. 적절하지 않은 난수 값 사용
  • 9. 취약한 패스워드 허용 
  • 10. 부적절한 전자서명 확인
  • 11. 부적절한 인증서 유효성 검증 
  • 12. 사용자 하드디스크에 저장되는 쿠키를 통한 정보 노출
  • 13. 주석문 안에 포함된 시스템 주요정보
  • 14. 솔트 없이 일방향 해시 함수 사용 
  • 15. 무결성 검사없는 코드 다운로드
  • 16. 반복된 인증시도 제한 기능 부재

제3절 시간 및 상태 

  • 1. 경쟁조건: 검사시점과 사용시점(TOCTOU) 
  • 2. 종료되지 않는 반복문 또는 재귀 함수 

제4절 에러처리

  • 1. 오류 메시지 정보노출
  • 2. 오류상황 대응 부재
  • 3. 부적절한 예외 처리

제5절 코드오류

  • 1. Null Pointer 역참조
  • 2. 부적절한 자원 해제
  • 3. 신뢰할 수 없는 데이터의 역직렬화 

제6절 캡슐화

  • 1. 잘못된 세션에 의한 데이터 정보 노출 
  • 2. 제거되지 않고 남은 디버그 코드 
  • 3. Public 메소드로부터 반환된 Private 배열 
  • 4. Private 배열에 Public 데이터 할당

제7절 API 오용 

  • 1. DNS lookup에 의존한 보안결정
  • 2. 취약한 API 사용

PART 제3장 부록

제1절 구현단계 보안약점 제거 기준 

  • 1. 입력데이터 검증 및 표현
  • 2. 보안기능
  • 3. 시간 및 상태
  • 4. 에러처리 
  • 5. 코드오류
  • 6. 캡슐화
  • 7. API 오용

제2절 용어정리


 더 많은 자료 찾아보기

 

황컴플라이언스의 공간

개인정보, 개인정보보호, 개인정보보호법, 정보통신망법, 컴플라이언스, 법규준수, 개인정보보호 관리체계

abraham-hwang.tistory.com

반응형

관련글 더보기