살다

python 시큐어코딩 가이드 본문

프로그래밍

python 시큐어코딩 가이드

텅스텐필름 2023. 6. 12. 10:04

Python_시큐어코딩_가이드(2022년_개정본) (1).pdf
4.65MB

 

  1. 입력 유효성 검사: 사용자 입력은 악의적인 코드나 해킹 시도를 포함할 수 있습니다. 사용자 입력을 받을 때, 반드시 유효성을 검사하고 제한해야 합니다. 입력의 길이, 데이터 형식, 특수 문자 등을 확인하여 잠재적인 보안 취약점을 방지할 수 있습니다. 이를 위해 정규표현식, 라이브러리 함수 또는 서드파티 라이브러리를 사용하세요.
  2. 인증과 권한 부여: 애플리케이션에 접근할 수 있는 사용자를 인증하고 권한을 부여하는 것은 매우 중요합니다. 사용자 인증을 위한 안전한 메커니즘을 구현하고, 접근 권한을 세밀하게 관리해야 합니다. 사용자 비밀번호의 안전한 저장, 세션 관리, 접근 제어 등을 고려해야 합니다. 보안 라이브러리나 프레임워크를 활용하세요.
  3. SQL 삽입 공격 방지: 파이썬 애플리케이션에서 데이터베이스를 사용할 때 SQL 삽입 공격에 취약할 수 있습니다. SQL 쿼리를 구성할 때 사용자 입력을 적절히 이스케이프하거나 매개변수화하여 삽입 공격을 방지해야 합니다. 파라미터화된 쿼리나 ORM(Object Relational Mapping) 라이브러리를 사용하세요.
  4. 중요한 데이터 보호: 파이썬 애플리케이션에서 중요한 데이터는 안전하게 보호되어야 합니다. 비밀번호, API 토큰, 암호화된 데이터 등을 적절히 저장하고 처리하는 방법을 고려해야 합니다. 암호화 알고리즘과 안전한 키 관리 방법을 사용하여 데이터를 암호화하고, 데이터 전송 시에는 안전한 프로토콜(예: HTTPS)을 사용해야 합니다. 민감한 데이터를 로그에 기록할 때는 마스킹 또는 익명화를 고려해야 하며, 데이터베이스에 저장할 때도 암호화를 고려해야 합니다. 또한, 데이터 백업과 복원에 대한 정책을 수립하여 데이터 유실을 방지하고, 필요하지 않은 데이터는 적시에 삭제해야 합니다.
  5. 취약한 종속성 관리: 파이썬 애플리케이션은 종속성(의존성)을 가질 수 있습니다. 하지만 취약한 종속성은 보안 위협이 될 수 있습니다. 정기적으로 종속성을 업데이트하고 취약점을 확인하여 보안 패치를 적용해야 합니다. 새로운 버전의 패키지를 사용할 때는 보안과 호환성을 고려해야 하며, 신뢰할 수 있는 공식 패키지 저장소를 사용하는 것이 좋습니다.

이렇게 다섯 가지 주요 전략을 사용하여 파이썬 애플리케이션의 보안을 강화할 수 있습니다. 보안 취약점을 미리 예방하고 해결함으로써 사용자의 개인 정보와 시스템의 안전을 보호할 수 있습니다.

 

아래는 KISA 인터넷 보호나라에 올라와 있는 파이썬 보안코딩 가이드 입니다.

---------------------------------------------------

과학기술정보통신부와 한국인터넷진흥원은 개발 단계에서부터 SW개발보안(시큐어코딩)을 적용하여

기업에서 개발하는 SW의 보안성을 높이고 개발자의 개발보안 역량을 강화할 수 있도록 기술안내서를 보급하고 있습니다.

 

출처 : KISA 인터넷 보호나라 (https://boho.or.kr/kr/bbs/view.do?bbsId=B0000127&pageIndex=1&nttId=71002&menuNo=205021)

 

 

 

반응형