반응형
보안
1. 소프트웨어 개발 보안
- 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미
시큐어 코딩(Secure Coding)
안전한 소프트웨어 개발을 위해 소스 코드 등에 존재할 수 있는 잠재적인 보안 취약점을 제거, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동
- 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability) 유지하는 것을 목표
- 정부에서 제공하는 소프트웨어 개발 보안 가이드를 참고하여 소프트웨어 개발 과정에서 점검해야 할 보안 항목들을 점검
2. 소프트웨어 개발 보안 점검 항목 #세입보시 에코캡아
보안 점검 항목 | 내용 | 보안 약점 |
세션 통제 | 세션의 연결과 연결로 인해 발생하는 정보를 관리하는 것 | 불충분한 세션 관리, 잘못된 세션에 의한 정보 노출 |
입력 데이터 검증 및 표현 | 입력 데이터에 대한 유효성 검증체계, 실패 시 처리할 수 있도록 코딩 | SQL 삽입, 경로 조작 및 자원 삽입, XSS(Cross-Site Scripting), 운영체제 명령어 삽입, 위험한 형식 파일 업로드, 신뢰되지 않는 URL 주소로 자동접속 연결 |
보안 기능 | 인증, 접근제어, 기밀성, 암호화 | 적절한 인증 없는 중요기능 허용, 부적절한 인가, 사이트 간 요청 위조(CSRF, Cross-Site Request Forgery) , 취약한 암호화 알고리즘 사용, 중요정보 평문 저장 및 전송, 하드코드 된 암호화 키 사용 |
시간 및 상태 | 동시 수행을 지원하는 병렬 처리 시스템/ 다수의 프로세스가 동작하는 환경에서 시간과 실행 상태를 관리하여 시스템이 원활히 동작되도록 코딩 | 종료되지 않는 반복문 또는 재귀함수, 검사 시점과 사용 시점(TOCTOU; Time of Check Time of Use) 경쟁조건 |
에러처리 | 소프트웨어 실행 중 발생할 수 있는 오류들을 사전에 정의하여 에러로 인해 발생할 수 있는 문제들을 예방 | 오류 메시지를 통한 정보 노출, 오류 상황 대응 부재 |
코드 오류 | 개발자들이 코딩 중 실수하기 쉬운 타입 변환, 자원의 반환 등을 고려하며 코딩 | 부적절한 자원 해제, 널 포인터(Null Pointer) 역참조 |
캡슐화 | 데이터(속성)와 데이터를 처리하는 함수를 하나의 객체로 묶어 코딩 | 제거되지 않고 남은 디버그 코드, 잘못된 세션에 의한 데이터 정보 노출 |
API 오용 | API를 잘못 사용하거나 보안에 취약한 API를 사용하지 않도록 고려하여 코딩 | 취약한 API 사용, DNS lookup에 의존한 보안결정 |
세션(Session): 서버와 클라이언트의 연결
API(Application Programming Interface): 응용 프로그램 개발 시 운영체제나 프로그래밍 언어 등에 있는 라이브러리를 이용할 수 있도록 함으로써 효율적인 소프트웨어 구현을 도와주는 인터페이스
2.1 코드 기입 오류
> 생략오류(Ommision) 22년 3회 필기 1자리 이상 빼먹음
> 필사(Transcription) 임의 한자리 잘못 입력
> 전위(Transposition) 좌우 자리 바뀜
> 이중 전위(Double Transposition) 전위 오류 2가지 이상
> 추가 (Addition) 한자리 추가로 기록
> 임의(Random) 위 오류 2가지 이상 발견
반응형
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/패키지 소프트웨어 (0) | 2022.07.02 |
---|---|
[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/배치 프로그램 (0) | 2022.07.02 |
[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/서버 개발 (0) | 2022.07.02 |
[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/개발환경 구축 (0) | 2022.07.02 |
[정보처리기사]3.데이터베이스 구축/물리 데이터베이스 설계/데이터베이스 회복(Database Recovery) (0) | 2022.07.02 |