본문 바로가기

시큐어코딩2

[SK shieldus Rookies 19기][애플리케이션 보안] - Python 시큐어코딩 가이드 2 1. 보안 기능 보안과 관련한 기능을 구현하지 않거나 부적절하게 구현한 경우 발생 인증, 인가, 접근통제, 암호화, 권한관리 등을 부적절하게 구현 시 발생하는 보안 약점은 적절한 인증 없는 중요기능 허용, 부적절한 인가 등이 있다. 중요한 정보가 있을 때, 이 중요한 정보를 보호하기 위해서는 인가된 사용자만 접근할 수 있도록 접근 통제를 하고, 식별, 인증, 인가를 해야 한다. 접근 통제에 문제가 생기는 것은 중요 정보에 권한이 없는 사용자에게 중요 정보가 노출된다고 한다. 권한이 없는 사용자가 중요 정보를 획득했을 때 중요 정보를 알지 못하도록 방어하기 위해서 암호화한다. 1) 적절한 인증 없는 중요 기능 허용 인증된 사용자인지 확인하지 않고 기능을 제공할 때 발생 Django 에서 기본적인 인증 로그.. 2024. 4. 2.
[SK shieldus Rookies 19기][애플리케이션 보안] - Python 시큐어코딩 가이드 1 1. 입력데이터 검증 및 표현 Python 시큐어코딩 가이드 프로그램 입력값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식 지정, 일관되지 않은 언어셋 사용 등으로 인해 발생하는 보안 약점으로 SQL 삽입, XSS 등의 공격을 유발할 수 있다. 1) SQL 삽입 입력값에 쿼리 조작 문자열을 확인하지 않고 쿼리문 생성 및 실행에 사용하는 경우 발생 쿼리가 조작되어 실행되기 때문에 권한 밖의 데이터에 접근할 수 있고, 쿼리 실행을 통해서 제공되는 기능을 우회해서 사용해 해당하는 시스템의 제어권을 탈취할 수 있다. (1) 안전한 코딩 기법 DB API 사용 시 인자(arguments)를 통해 외부 입력값을 바인딩해서 사용하면 SQL 삽입 공격으로부터 안전하게 보호할 수 있다. 구조를 정의하고 정.. 2024. 4. 1.