[정보처리산업기사] 62강 보안 및 API

DongHo Im·2022년 1월 25일
0

정보처리산업기사

목록 보기
62/86

1. 소프트웨어 개발 보안의 개요

소프트웨어 개발 보안은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미한다.

  • 데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 한다.

  • 정부에서 제공하는 소프트웨어 개발 보안 가이드를 참고하여 보안 항목들을 점검한다.

  • 보안 요소

    • 기밀성 : 정보와 자원은 인가된 사용자에게만 접근이 허용
    • 무결성 : 오직 인가된 사용자만 수정 가능
    • 가용성 : 인가받은 사용자는 언제든 사용 가능
    • 인증 : 사용하려는 사용자가 합적인지 확인하는 모든 행위
    • 부인 방지 : 데이터를 송/수신한 사용자가 사실을 부인할 수 없도록 증거를 제공

2. 소프트웨어 개발 보안 점검 항목

  • 세션 통제 : 세션은 서버와 클라이언트의 연결을 말한다. 세션의 연결과 연결로 인해 발생하는 정보를 관리하는 것

  • 입력 데이터 검증 및 표현 : 입력 데이터에 대한 유효성 검증체계를 갖추고, 검증 실패 시 이를 처리할 수 있도록 코딩하는 것

  • 보안 기능 : 인증, 접근제어, 기밀성, 암호화등의 기능

  • 시간 및 상태 : 병렬 처리 시스템이나 다수의 프로세스가 동작하는 환경에서 시간과 실행 상태를 관리하여 시스템이 원활히 동작되도록 코딩하는 것

  • 에러처리 : 오류들을 사전에 정의하여 에러로 인해 발생하는 문제들을 예빵

  • 코드 오류 : 형변환, 자원의 반환 등을 고려하여 코딩하는 것

  • 캡슐화 : 데이터와 데이터를 처리하는 함수를 하나의 객체로 묶어 코딩하는 것

  • API 오용 : API를 잘못 사용하거나 보안에 취약한 API를 사용하지 않도록 고려하여 코딩하는 것


3. API(Application Programming Interface)

API는 응용 프로그램 개발 시 운영체제나 프로그래밍 언어 등에 있는 라이브러리를 이용할 수 있도록 규칙 등을 정의해 놓은 인터페이스를 의미한다.

  • 프로그래밍 언어에서 특정한 작업을 수행하기 위해 사용하거나, 운영체제의 파일 제어, 화상 처리등의 기능을 활용하기 위해 사용한다.

  • 개발에 필요한 여러 도구를 제공하기 때문에 이를 이용하면 원하는 기능을 쉽고 효율적으로 구현할 수 있다.

  • API의 종류에는 Windows API, 단일 유닉스 규격(SUS), Java API, 웹 API 등이 있으며, 누구나 무료로 사용할 수 있는 API를 Open API라고 한다.

profile
[DATABASE] 비전공자 출신의 개발 도전!

0개의 댓글