본문 바로가기

정보처리기사 실기/2020 정처기 암기 모음

[2020 정보처리기사 실기 암기] 5-2. 인터페이스 기능 구현

 

* 컴포넌트 명세서

개요 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세를 정의

 

* 인터페이스 기능 구현

 1) 모듈간 세부 설계서 확인 : 컴포넌트 명세서, 인터페이스 명세서세부 설계서 확인하여 필요한 기능 확인

 2) 일관되고 정형화된 인터페이스 기능 정의 : 기능, 데이터 표준, 모듈 설계 명세서로 정형화된 인터페이스 기능 정의

 3) 정의된 인터페이스 기능에 대한 정형화 : 프로세스 형태나 유스케이스 다이어그램 형태로 작성

 

* 인터페이스 기능

 1) 인터페이스 데이터 전송 : 레스트REST 방식, DB 커넥션으로 DB프로시저, 트리거 등 활용하여 전송

 2) 인터페이스 데이터 수신 : 수신하고 형식이 맞는지 점검

 3) 인터페이스 데이터 파싱 : 인터페이스 객체를 파서를 이용하여 파싱하거나 인터페이스 테이블에서 선택

 4) 인터페이스 데이터 검증 : 포맷과 제약조건의 오류 검사

 5) 후속 기능 수행 : 각 세부 데이터 활용으로 수신 시스템에서 정의된 동작 진행

 

* 인터페이스 객체 생성

데이터베이스에 있는 정보를 SQL을 통해 선택하고 이를 제이슨으로 생성

인터페이스 객체 전송 후 전송 결과를 수신 측에서 반환 받도록 구현

 

* 인터페이스 구현 방법

 1) 데이터 통신을 이용하여 인터페이스를 구현하는 방법

    SQL을 통해 선택하고 제이슨으로 생성, 제이슨으로 작성된 인터페이스 객체를 AIAX 기술로 송신

 2) 인터페이스 객체를 이용하여 인터페이스를 구현하는 방법

    인터페이스 이벤트 발생 시 기록되도록 구현, DB 커넥션으로 테이블과 연계, 프로시저, 트리거, 배치작업으로 전송

 

* 송신 인터페이스 테이블에서 예외 처리

 1) 인터페이스 데이터 생성 : 선택 SQL 프로그램 오류, 데이터 객체 생성 오류

 2) 인터페이스 테이블 입력 : 입력 SQL 오류, 데이터 정합성 오류

 

* 송신 측 인터페이스 객체를 수신 측에 송신하기 위해 사용되는 AJAX 기술

자바스크립트를 사용한 비동기 통신기술, 클라이언트와 서버 간 XML 데이터를 주고 받는 기술

 

* 수신 인터페이스 테이블에서 예외 처리

 1) 인터페이스데이터 read : 인터페이스 테이블이 예외 사항 기록

 2) 데이터 트랜잭션 : 인터페이스 테이블에 예외 사항 기록

 3) 처리 결과 응답 : 송수신자에게 예외 사항 발생 메일 등을 통해 알림

 

* 스니핑 : 데이터만 몰래 들여다 보는 수동적인 기법

 

* 시큐어 코딩 가이드 적용대상인 입력데이터 검증, 표현에 대한 약점과 방안

 1) 보안 약점 : 프로그램 입력 값에 대한 검증 누락, 부적절한 검증, 잘못된 형식 지정 시 발생

 2) 대응 방안 : 사용자, 프로그램 입력 데이터에 대한 유효성 검증체계를 수립하고 실패 시 처리하도록 설계하고 구

 

* 시큐어 코딩 가이드 적용 대상

입력데이터 검증 및 표현, 보안 기능, 시간 및 상태, 에러처리, 코드오류, 캡슐화, API 오용

 

* 에러처리

 1) 보안 약점 : 에러 미처리, 불충분한 처리로 에러 메시지에 중요 정보가 포함

 

* 캡슐화

 1) 보안 정책 : 기능성이 충분한 캡슐화로 인해 인가되지 않은 사용자에게 데이터 누출

 2) 대응 방안 : 디버거 코드 제거와 필수 정보 와의 클래스 내 프라이빗 접근자 지정

 

* 데이터베이스 암호화 알고리즘

 1) 비대칭키 암호화 알고리즘 : RSA, ECC, ECDSA

 2) 해시 암호화 알고리즘 : SHA-256/384/512, HAS-160

 3) 대칭키 암호화 알고리즘 : ARIA 128/192/256, SEED

 

* 데이터베이스 암호화 기법

 1) API 방식 : 애플리케이션 레벨에서 암호 모듈을 적용하는 애플리케이션 수정 방식

                    서버에 암복호화, 정책관리, 키관리 등 부하 발생

 2) PLUG-IN 방식 : DB레벨 확정성 프로시저 기능 이용, DBMSPLUG-IN 모듈로 동작

                         DB 서버에 암복호화 정책관리, 키관리 등 부하 발생

 3) 하이브리드 방식 : API 방식과 PLUG-IN 방식 결합, DB서버와 애플리케이션 서버로 부하 분산

 

* 데이터베이스 보안 기능

 1) 데이터베이스 접근 권한 : 데이터베이스, 스키마, 엔티티의 접근 권한 관리 강화

 2) 악의적 코드 삽입 금지 : 프로시저, 트리거, 배치 등 데이터베이스 객체의 동작 시 악의적 코드 삽입 안되도록 방어

 3) 민감 데이터 관리 : 암복호화나 익명화 처리로 관리

 4) 악의적 시도 시 에러처리 : 공격 패턴에 대한 사용자 정의 예외 처리를 적용, 에러처리 내용이 조회되지 않도록 함

 

* 애플리케이션 보안 기능

 1) 비인가자 접근 : 객체 접근 권한을 고려하여 비인가자 접근 제한되도록 구현

                           변수를 직접 처리할 수 없게 하고 접근 권한 가진 메서드만 접근하도록 구현

 2) 악의적 코드 삽입 : 특수문자를 통한 QL 변조 시도 등 공격 패턴을 입력하지 않도록 사전 방지

 3) 악의적 시도 시 에러처리 : 악의적 공격 시도 시 사용자 정의 예외 처리 적용