본문 바로가기
지식 아카이브/정보처리기사

2020 정보처리기사 실기 대비 내용 정리 31-40

by canoe726 2020. 10. 20.
728x90

2020 정보처리기사 실기를 대비하기 위해 보았던 관련 실기 책의 내용을 정리한 노트를 공유하는 포스팅입니다.

 

정보처리기사 실기를 공부하면서 개인적으로 중요하다고 생각되는 부분을 모아 정리하였습니다.

 

2020년 실기 3회 까지는 개념에 대한 설명 (서술형), 설명하는 개념에 대한 정답 서술 (단답형), SQL, 프로그래밍 (C++, Java, Python) 정도의 유형으로 출제되는 것 같습니다.

 

P.S. 전산영어 파트, 컴퓨터 구조와 같이 없어진 과목들을 제외한 범위에서 개정 이전 필기 기출, 2020년도 정보처리기사 필기 책에 있는 개념 들을 익히는 것이 더 많은 실기 문제를 맞추는데 유리할 것 같습니다.

 

 

- 키워드 : 가상화 기술, ISO/IEC9126, 스토리보드, 각종 보안 이슈 (입력데이터 검증 및 표현, 에러처리, 코드 오류, 캡슐화, API 오용, 시간 및 상태)

 


31. 소프트웨어 개발 보안 계획 수립

- 절차 : 시작 단계 -> 분석 -> 설계 -> 구현 -> 시험

 


32. 가상화 기술

- 4대 특징 : 공유, 풀링, 애뮬레이션, 캡슐화

 

- 클라우드 : XaaS (everything as a service)를 지지한다.

 

1) IaaS (Intrastructure as a service) : 가상화 환경을 만들어 인프라 자원을 사용할 수 있게 서비스 제공

 

2) Paas (Platform as a service) : 고객이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼 제공

 

3) SaaS (Software as a service) : 하나의 플랫폼을 이용해 다수의 고객에게 SW 서비스를 제공함

 


33. ISO/IEC 9126 품질 요구사항 (SW 제품 품질)

 

1) 기능성 : 적절성, 정밀성, 상호 운용성, 보안성, 호환성, 준수성

 

2) 신뢰성 : 성숙성, 고장허용성, 회복성, 준수성

 

3) 사용성 : 이해성, 학습성, 운용성, 친밀성, 준수성

 

4) 효율성 : 시간 효율성, 자원 효율성, 준수성

 

5) 유지보수성 : 분석성 변경성, 안정성, 시험성, 준수성

 

6) 이식성 : 적용성, 설치성, 대체성, 공존성, 준수성

 

 

34. 스토리보드 작성기법

- 정의 : 디자이너와 개발자가 최종 참고하는 산출 문서

 

- 절차 : 메뉴구성도 만들기 (순서, 단계, 용어) -> 스타일 확정 (일관성 유지) -> 설계하기

 

 

* 35 ~ 41 까지는 SW 보안을 위한 시큐어 코딩 점검 내역임

35. 입력데이터 검증 및 표현

1) SQL 삽입 (SQL Injection) : SQL 문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 보안 약점

 

2) 경로 조작 및 자원 삽입 : 입력값 조작을 통해 시스템이 보호하는 자원에 임의로 접근할 수 있는 보안 약점

 

3) 크로스사이트 스크립트 (XSS : Cross Site Scripting) : 검증되지 않은 외부 입력이 동적 웹 페이지 생성에 사용되는 경우 스크립트가 실행될 수 있는 보안 약점

 

4) 운영체제 명령어 삽입 : 검증 절차를 거치지 않은 사용자 입력 값이 운영체제 명령어의 일부 또는 전부로 구성되어 실행되는 경우 의도하지 않은 시스템명령어가 실행되는 보안 약점

 

5) 위험한 형식 파일 업로드 : 서버측에서 실행될 수 있는 스크립트 파일이 업로드 가능하고, 이 파일을 공격자가 웹을 통해 직접 실행시킬 수 있는 경우 시스템 내부 명령어가 실행되는 보안 약점

 

6) 신뢰 되지 않는 URL 주소로 자동 접속 연결 : 파라미터 값을 검증하지 않을 경우 피싱 공격 노출 가능성 존재

 

7) XQuery 삽입 : XQuery 를 사용하여 XML 데이터에 대한 쿼리문의 구조 변경 가능

 

8) XPath 삽입 : 외부 입력값을 XPath 쿼리문 생성을 위한 문자열로 사용 시 인가되지 않은 데이터 노출 가능

 

9) LDAP 삽입 : 외부 입력을 통해 LDAP(Lightweight Directory Access Protocol) 명령어 수행 가능

 

10) 크로스사이트 요청 위조 : 사용자의 의도와는 무관하게 공격자가 의도한 행위(수정, 삭제 등)를 요청하게 하는 공격

 

11) HTTP 응답 분할 : 파라미터가 HTTP 응답 헤더에 포함되어 다시 전달 될 때, 개행문자가 존재하면 악성 스크립트가 실행될 수 있는 공격

 

12) 정수형 오버플로우 : 정수 값이 허용 범위 보다 커지는 경우 값이 의도치 않게 음수나 아주 작은 수가 되어 발생

 

13) 보안기능 결정에 사용되는 부적절한 입력값

 

14) 메모리 버퍼 오버 플로우 : 프로그램의 오동작 유발, 악의적 코드 실행

 

15) 포맷 스트링 삽입 : 포맷 문자열을 통한 프로세스, 메모리 읽기 쓰기 가능



36. 에러처리 표현

 

1) 오류 메시지를 통한 정보 노출 : 오류 메시지가 노출 되는 경우, 메시지에 포함된 시스템 정보를 사용하여 2차 공격 가능

 

2) 오류 상황 대응 부재 : 예외 처리를 제대로 하지 않을 경우 오류 상황을 악용하여 동작시키는 공격

 

3) 부적절한 예외 처리 : 예외 조건을 검사하지 않을 경우 의도치 않은 문제 발생 가능

 


37. 코드 오류

1) Null Pointer 역참조 : 널 포인터 역참조로 인해 발생하는 예외상황을 이용하여 추후 공격가능한 위협

 

2) 부적절한 자원 해제 : 사용하지 않는 자원을 반환하지 않는 경우

 

3) 해제된 자원 사용 : 해제된 메모리를 참조하는 경우 의도치 않은 코드 실행가능

 

4) 초기화되지 않은 변수 사용 : 초기화 되지 않은 임의값 사용시 의도치 않은 결과가 유발됨



38. 캡슐화

 

1) 잘못된 세션에 의한 데이터 정보 노출 : 다중 스레드 환경에서는 싱글톤 객체 필드에 경쟁조건 발생 가능, 서로 다른 세션에서 데이터를 공유하지 않도록 해야함

 

2) 제거되지 않고 남은 디버그 코드

 

3) 시스템 데이터 정보 노출 : 시스템의 내부 데이터 유출 시 2차 공격 가능

 

4) Public 메서드로부터 반환된 Private 배열 : 배열 주소값이 공개되어 외부에서 배열 수정가능

 

5) Private 배열에 Public 데이터 할당 : Private 배열을 외부에서 사용 가능하게 됨

 


39. API 오용

1) DNS Lookup 에 의존한 보안 결정 : 도메인명에 의존한 보안 결정을 하지 않아야 함

 

2) 취약한 API 사용 : 보안상 금지된 함수 (banned, deprecated) 사용시 보안 문제 발생 가능



40. 시간 및 상태

 

1) 경쟁 조건 : 하나의 자원에 대하여 동시에 검사시점과 사용시점이 달라 생기는 보안약점, 교착상태 문제점 발생가능

 

2) 종료되지 않는 반복문, 재귀함수 : 귀납 조건이 없는 재귀함수는 무한 루프 유발

 

 

728x90

댓글