Study/정보처리기사
[실기] - 9장 소프트웨어 개발 보안 구축
ETIT
2020. 11. 16. 19:14
보안
기밀성 : 시스템 내 정보 및 자원은 인가된 사용자만 사용가능하며, 정보 전송 중 노출되더라도 데이터를 읽을 수 없게 만든다.
무결성 : 시스템 내 정보는 오직 인가된 사용자만 수정 가능
가용성 : 인가 받은 사용자는 언제라도 사용 가능
- 입력 데이터 검증 및 표현
SQL 삽입 | 약점 : 입력란에 sql 무단 삽입해서 조회 혹은 조작 방어책 : 동적 쿼리에 입력 데이터에 예약어 및 특수문자 입력 안되게 필터링 |
경로 조작 및 자원 삽입 | 약점 : 1. 공격(데이터의 입출력 경로를 조작) 2. 결과(서버 자원을 수정 삭제할 수 있는 약점) 방어책 : 사용자의 입력 데이터를 식별자로 사용하는 경우.... 경로 순회 공격 막음 |
크로스사이트 스크립팅 | 약점 : 1. 공격(웹 -> 악의적인 스크립트 삽입) 2. 결과(방문자들 정보 탈취 및 비 정상적인 기능 수행) 방어책 : 1. HTML 태크 사용 제한 2. < > & 등의 문자를 다른 문자로 치환 |
운영체제 명령어 삽입 | 약점 : 1. 공격(외부 입력값을 통해 시스템 명령어의 실행을 유도) 2. 결과(권한을 탈취하거나 시스템 장애 유발) 방어책 : 웹 인터페이스로 전달되지 않도록 하고, 외부 입력값을 검증 없이 내부 명령어로 사용하지 않게 함 |
위험한 형식 파일 업로드 | 약점 : 1. 공격(악의적인 명령어가 포함된 스크립트 파일을 업로드) 2. 결과(시스템에 손상을 주거나 시스템 제어할 수 있음) 방어책 : 업로드 되는 파일의 확장자 제한, 파일명의 암호화, 웹 사이트와 파일 서버의 경로 분리, 실행 속성을 제거하는 등의 방법으로 방지 |
에러처리
소프트웨어 실행 중 발생하는 오류들을 사전에 정의하여 오류로 인해 발생할 수 있는 문제들을 예방하기 위해