※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
소프트웨어 개발 보안의 개요
소프트웨어 개발 보안은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점(Security Vulnerability)을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미합니다.
- 소프트웨어 개발 보안은 데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 합니다.
- 정부에서 제공하는 소프트웨어 개발 보안 가이드를 참고하여 소프트웨어 개발 과정에서 점검해야 할 보안 항목들을 점검합니다.
보안 요소
보안 요소는 소프트웨어 개발에 있어 충족시켜야할 요소 및 요건을 의미합니다.
- 보안 3대 요소에는 기밀성(Contidentiality), 무결성(Integrity), 가용성(Availability)이 있으며, 그 외에도 인증(Authentication), 부인 방지(NonRepudiation) 등이 있습니다.
※ 보안 취약점(Security Vulnerability)
보안 취약점은 시스템 기능이나 설계, 구현 단계에서의 문제점 등으로 인해 시스템이 가지게 되는 약점을 의미합니다.
※ 소프트웨어 개발 보안 가이드
소프트웨어 개발 보안 가이드는 안전한 소프트웨어 개발을 위해 정부에서 제작하여 배포하고 있는 지침으로, 한국인터넷진흥원 사이트(kisa,or.kr)에서 다운받을 수 있습니다.
소프트웨어 개발 보안 점검 항목
소프트웨어 개발 보안 점검 항목은 소프트웨어 개발의 각 단계에서 점검되어야 할 보안 항목들을 말합니다.
※ SQL 삽입(SQL Injection)
SQL 삽입은 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약점입니다.
※ 크로스사이트 스크립팅(XSS, Cross Site Scripting)
크로스사이트 스크립팅은 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수령을 유발하는 보안 약점입니다.
API(Application Programming Interface)
API는 응용 프로그램 개발 시 운영체제나 프로그래밍 언어 등에 있는 라이브러리를 이용할 수 있도록 규칙 등을 정의해 놓은 인터페이스를 의미합니다.
- API는 프로그래밍 언어에서 특정한 작업을 수행하기 위해 사용되거나, 운영체제의 파일 제어, 화상 처리, 문자 제어 등의 기능을 활용하기 위해 사용합니다.
- API는 개발에 필요한 여러 도구를 제공하기 때문에 이를 이용하면 원하는 기능을 쉽고 효율적으로 구현할 수 있습니다.
- API의 종류에는 Windows API, 단일 유닉스 규격(SUS), Java API, 웹 API 등이 있으며, 누구나 무료로 사용할 수 있게 공개된 API를 Open API라고 합니다.
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - 데이터베이스 이해 - 트리(Tree) (0) | 2024.09.05 |
---|---|
정보처리산업기사 - 데이터베이스 이해 - 자료 구조 (0) | 2024.09.04 |
정보처리산업기사 - 프로그래램 구현 - 공통 모듈 (2) | 2024.09.02 |
정보처리산업기사 - 프로그래램 구현 - 모듈 (4) | 2024.09.01 |
정보처리산업기사 - 프로그래램 구현 - 서버 개발 (0) | 2024.08.31 |