ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보처리기사 실기 요약[인터페이스 구현 - Chapter5](정처기)
    정보처리기사 2021. 6. 2. 21:06
    반응형

    정보처리기사 실기 정리는 제가 직접 수기로 작성하여 요약한 내용이기 때문에 조금의 오타가 있을 수 있습니다.

    Chapter10 - 프로그래밍 언어 활용

    Chapter11 - 응용 SW 기초 기술 활용

    Chapter2 - 데이터 입출력 구현

    본 3파트는 학교 OS, DB 수업과 코딩 테스트를 준비하면서 다른 과목들의 암기 시간을 늘리기 위해 정리(암기)하지 않고 갔습니다.

    하지만 양이 많고, 가장 중요하면서 최소 4문제 이상 나오는 파트이기 때문에 준비를 잘해야하는 파트입니다.

    시간이 된다면 추후에 추가하겠습니다.

     

    인터페이스 구현

    Chapter5

    인터페이스 개념
    애플리케이션 개발 단계에 정의된 내/외부 모듈 및 컴포넌트 간의 데이터 교환과 데이터 처리를 위한 기능

    인터페이스 설계서(정의서)
    시스템이 갖는 인터페이스 목록과 세부 인터페이스를 명세하는 설계문서
    구성 : 정적, 동적 모형을 통한 설계서 + 데이터 정의를 통한 설계서

    모듈 연계
    시스템 인터페이스를 목적으로 내부 모듈-외부 모듈 or 내부 모듈-내부 모듈 간 인터페이스를 위한 관계를 설정하는것
    ESB, EAI 방식

    ESB
    특징 : 멀티 프로토콜 지원, loosely coupled, BPM(기업 업무 프로세스 관리하는 경영 기법)지원, 이벤트/표준 지향적
    구성요소 : 어댑터 혀태 레거시 연동 컴포넌트, 메시지 변환 및 가공, BPM, 통합 개발환경, 컨트롤과 모니터링

    내/외부 모듈 간 인터페이스 데이터 표준 확인
    모듈간 교환되는 데이터 사이의 형식과 표준을 정의하는 것
    JSON, DB, XML 등 다양한 표준으로 인터페이스 모듈 표현 가능

    XML
    데이터 통신을 이용해 인터페이스 구현에 사용되는 다목적 마크업 언어
    HTML문법과 웹 브라우저와 호환 문제와 SGML의 복잡성을 해결하기 위해 개발
    특징
    XML 선언 : XML문서는 자신에 대한 정보 일부를 선언하는 것으로 시작
    유니코드 문자 : XML 문서는 문자로 이루어짐, 거의 모든 올바른 유니코드 문자는 XML에 나타남
    엘리먼트 : 문서 논리 요소로서, 시작 태크로 시작해 올바른 유니코드 문자는 XML에 나타날 수 있음
    어트리뷰트 : 엘리먼트 태그 속에 위치하는 속성 정보
    마크업과 내용 : '<' 로 시작 , '>'로 끝나거나 '&' 로 시작하여 문자';'로 끝남
    XML 파서 : 마크업을 분석하고 필요한 정보를 추출해 애플리케이션으로 전송

    웹에서 사용되는 Scripts 언어 종류
    HTML, ASP(MS사 개발, Windows Server 플랫폼만 지원), PHP, JSP(JAVA기반, SUN사에서 개발)


    인터페이스 구현
    1. 데이터 통신을 이용한 인터페이스 구현
    애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송하고 이를 수신측에서 해석하는 방법
    JSON, XML 형식의 데이터 포멧을 사용
    2. 인터페이스 엔티티를 이용한 인터페이스 구현
    인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식

    모듈간 세부 설계서
    컴포넌트 명세서(컴포넌트의 구성요소와 동작을 표현) + 인터페이스 명세서(컴포넌트간 상호작용을 정의)

    컴포넌트
    기능을 수행하기 위해 독립적으로 개발되어 보급되는, 다른 컴포넌트와 조립되어 응용시스템을 구축하기 위해 사용되는 SW

    인터페이스 구현
    인터페이스 객체 사용해서 구현하는 방법, 데이터 통신을 사용하는 방법

    AJAX
    JavaScript를 사용한 비동기 통신 기술, 클라이언트와 서버간에 XML 데이터를 주고받는 기술
    브라우저가 가지고 있는 XML Http Request 객체를 이용해 전체 페이지를 새로고침 않고도 페이지 일부만을 위한 데이터를 로드하는 기법
    장점 : 웹 페이지 속도 향상, 서버 처리 기다리지 않고 처리, 전체적 코딩양 줄어듬, 다양한 UI가능
    단점 : 히스토리 관리X, 페이지 이동 없는 통신으로 보안상 문제, 연속으로 데이터 요청하면 서버 부하 증가, HTTP클라이언트 기능이 한정, 디버깅 어려움, Cross-Domain 문제로 다른 도메인과 통신 불가, 지원하는 Charset 한정

    jQuery
    HTML 내에서 클라이언트 사이드 스크립트 언어를 단순화하도록 설계된 브라우저 호환성 있는 JavaScript 라이브러리
    기능 : DOM 요소 선택기의 파생 프로젝트, DOM 탐색 및 수정, CSS 셀렉터에 기반한 DOM 조작, 노드 요소 및 노드 속성을 셀렉터 생성을 위한 기준으로 사용, 멀티브라우저 지원, 이벤트, 특수효과 및 애니매이션, AJAX, JSON 파싱, 플러그인을 통한 확장성 제공, inArray(), each() 등 유틸리티, 호환성 메소드 지원

    DOM
    객체 지향 모델로서 구조화된 문서를 표현하는 형식
    플랫폼/언어 중립적으로 구조화된 문서를 표현한느 W3C의 공식 표준 모델 

    보안 3요소 : 무결성, 기밀성, 가용성

    시큐어 코딩 가이드
    보안에 안전할 수 있는 프로그램 코드를 적용해 프로그램을 코딩하는 것

    CWE
    SW 보안 약점은 7개 큰항목과 47개 세부 항목으로 구분

    1) 입력 데이터 검증 및 표현
    프로그램에 입력되는 데이터로 인해 여러 보안 약점 발생가능
    종류
    1. SQL 삽입(SQL injection) : DB 연동된  웹에서 데이터에 대한 유효성 검증 하지 않을경우, URL입력란에 SQL로 DB열람이나 조작 가능
    2. 경로 조작 및 자원 삽입 : 검시스템 자원 접근 경로를 조작하거나 시스템 자원에 삽입되어 공격할 수 있는 보안 약점
    3. 크로스 사이트 스크립트(XSS) : 사용자 브라우저에서 악의적인 스크립트가 실행될 수 있는 보안 약점
    4. 운영체제 명령어 삽입 : 운영체제 명령어에 삽입되어 공격할 수 있는 보안 약점
    5. 위험한 형식 파일 업로드 : 서버측에서 실행될 수 있는 검증되지 않은 형식의 파일이 업로드 되어 발생할 수 있는 보안 약점
    6. 신뢰되지 않은 URL주소로 자동 접속 연결 : URL 주소로 사용되어 악의적인 사이트에 자동으로 접속될 수 있는 보안 약점
    7. XQuery 삽입 : XQuery를 사용해 XML데이터에 대한 동적 쿼리 생성 시 쿼리문 구조 변경에 사용될 수 있는 보안 약점
    8. XPath 삽입 : XPath 쿼리문을 생성해 쿼리문의 의미나 구조가 변경될 수 있는 보안 약점
    9. LDAP 삽입 : LDAP쿼리문의 구성 변경에 사용될 수 있는 보안 약점

    2) 보안 기능
    인증, 접근제어, 기밀성, 암호화, 권한 관리 등의 보안 기능을 부적절하게 구현해 보안약점 발생가능
    1. 적절한 인증 없는 중요 기능 허용
    2. 부적절한 인가
    3. 중요한 자원에 대한 잘못된 권한 설정
    4. 취약한 암호화 알고리즘 사용
    5. 중요 정보 평문 저장
    6. 중요 정보 평문 전송
    7. 하드 코드된 비밀번호
    8. 충분하지 않은 키 길이 사용
    9. 적절하지 않은 난수값 사용

    3) 시간 및 상태
    동시 수행을 지원하는 병렬 시스템이나 여러 개의 프로세스가 동작하는 멀티 프로세스 환경에서 시간 및 상태를 부적절하게 사용해 보안 약점 발생 가능
    1. 경쟁 조건 : 검사 시점과 사용 시점(TOC - 자원 검사 시점, TOU - 자원 사용 시점)
    2. 종료되지 않는 반복문 또는 재귀함수

    4) 에러 처리
    발생한 에러를 처리하지 않거나 완전하게 처리하지 않아 에러 정보에 중요 정보가 포함되어 보안 약점 발생 가능
    1. 에러 메시지를 통한 정보 노출
    2. 에러 상황 대응 부재
    3. 부적절한 예외처리

    5) 코드 오류
    개발자의 실수로 프로그램 오류 발생으로 보안 약점 발생 가능
    1. Null Pointer
    2. 부적절한 자원 해제
    3. 해제된 자원 사용
    4. 초기화되지 않은 변수 사용

    6) 캡슐화
    중요한 데이터나 기능성을 잘못 캡슐화하거나 잘못 사용하면 여러 보안 약점 발생 가능
    1. 잘못된 세션에 의한 데이터 정보 노출
    2. 제거되지 않고 남은 디버그 코드
    3. 시스템 데이터 정보 노출
    4. public 메소드로부터 반환된 private 배열
    5. private 배열에 public 데이터 할당

    7) API 오용
    서비스에서 제공되는 사용법에 반하는 방법으로 API 사용하면 어려 보안 약점 발생 가능
    1. DNS lookup에 의존한 보안 결정
    2. 취약한 API 사용

    보안 적용
    1. 분석 정보를 통한 인터페이스 보안 기능 적용 - 분석한 인터페이스 구현 현황, 기능, 보안 취약점 분석내용 근거로 기능 적용
    2. 네트워크 보안 적용 - Transport 계층(IPSec AH : IP 데이터그램에 대한 메시지 Checksum을 활용한 데이터인증과 비연결형 무결성을 보장해주는 프로토콜, IPSec ESP), Application 계층(SSL, S-HTTP)
    3. 애플리케이션 보안 적용 - 비인가자 접근 권한 관리, 악의적 코드 삽입 금지, 악의적 시도시 에러 처리
    4. 데이터베이스 보안 적용 - (IPSec, SSL/TSL 등 보안 채널로 전송함.)  비인가자 접근 권한 관리, 악의적 코드 삽입 금지, 민감 데이터 관리, 악의적 시도시 에러 처리
    데이터베이스 암호화 기법
    API 방식, Filter(Plug-in)방식, Hybrid 방식

    IPSec
    IP 패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜(IP) 통신을 위한 프로토콜

    어플라이언스
    각종 기업용 SW를 서버와 스토리지 등을 HW에 최적화해 통합한 장비

    연계 테스트 케이스
    송/수신 시스템에서 데이터와 프로세스의 흐름을 분석해 확인사항을 도출하는 과정
    송/수신 시스템 각각에서 연계 응용 프로그램의 단위 테스트 케이스, 연계 테스트 케이스 작성

    연계 테스트 분류
    1. 소프트웨어 연계 테스트 구간
    2. 소프트웨어 연계 단위 테스트
    3. 소프트웨어 연계 통합 테스트
    테스트 진행 순서
    연계 테스트 케이스 작성 - 연계 테스트 환경 구축 - 연계 테스트 수행 - 연계 테스트 수행 결과 검증

    구현 검증 도구 종류
    Watir(Ruby기반), xUnit, FitNesse, STAPH, NTAF Naver, Selenium(다양한 브라우저/개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크 + 테스를 위한 스크립트 언어 습득 없이 플레이백 도구 제공)

    구현 감시 도구
    APM : 애플리케이션 모니터링 툴
    스카우터 : 대표적인 인터페이스 감시 도구, 애플리케이션 모니터링 및 DB Agent를 통해 오픈소스 DB 모니터링 기능, 인터페이스 감시 기능 제공
    제니퍼

    인터페이스 구현 검증 시 활용하는 설계 산출물
    단위 테스트 케이스, 통합 테스트 케이스

    모듈 세부 설계서 2가지 구성
    컴포넌트 명세서, 인터페이스 명세서

    연계 모듈 상태 확인
    검증 : 요구사항 명세서의 내용이 분석 및 설계에 반영되었는지, 분석 설계 내용이 프로그램에 구현되었는지 단계별로 확인하는 작업
    확인 : "올바른 제품을 생성하고 있는가?", 사용자 시각에서 검토, 사용자 요구사항대로 구현되었는지 확인

    모니터링 도구
    외부 시스템과 연계 모듈의 동작 상태를 감시하는 도구
    모니터링을 위한 관리 작업 시행 순서
    성능 및 상태 측정 - 성능, 상태에 대한 분석 작업 시행 - 시스템 구성요소 조정 및 검증 시행

    장애 및 오류 처리 절차
    인터페이스 오류 처리 순서
    사용자 화면에서 오류 발생 - 인터페이스 오류 로그 생성 - 인터페이스 관련 테이블에 오류 사항 기록

    인터페이스 오류 처리 기록 방법
    1. 사용자 화면에서 오류를 인지하도록 구현하는 방법
    2. 인터페이스 오류 로그를 별도로 작성하는 방법
    3. 인터페이스 관련 테이블에 오류 사항을 기록하는 방법

    반응형
Designed by Tistory.