본문 바로가기

Study/정보처리기사 실기

[정보처리기사 실기] 인터페이스 구현 _ 인터페이스 기능 구현

인터페이스 기능 구현

- 송, 수신 시스템 간 데이터 교환 및 처리를 실현해주는 작업

- 구현 방법으로는 데이터 통신을 이용한 방법, 인터페이스 개체 (Entity) 이용한 방법 있음

 

1) 데이터 통신 이용한 인터페이스 구현

- 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송하고 수신 측에서

파싱 (Parsing)해 해석하는 방식

- 주로 JSON 및 XML 형식 데이터 포맷 사용해 인터페이스 구현


웹 페이지 전송 기술 : Ajax (Asynchronous JavaScript and XML)

- JavaScript 사용한 비동기 통신, 클라이언트와 서버 간 XML 데이터 주고받는 기술

- 웹 페이지 리로드 시 전체 페이지 새로 고치지 않고도 페이지 일부만을 위한 데이터 로드하는 기법, 자원 낭비 절약 가능

- 클라이언트와 서버 간 자바스크립트 및 XML을 비동기 방식으로 처리하며, 전체 페이지를 새로 고치지 않고도 웹페이지 일부 영역만 업데이트할 수 있도록 하는 기술


웹 페이지 전송 데이터 형식 : XML, JSON

XML

- 웹 브라우저간 호환성 문제와 SGML 복잡함 해결하기 위해 개발된 다목적 마크업 언어

- HTML 단점 보완해 구조화된 데이터 교환하고, 사용자 정의 태그 가능

 

JSON (JavaScript Object Notation)

- 속성-값 쌍 (Attribute-Value Pairs) 이뤄진 구조적 데이터 교환을 위해 인간이 읽을 수 있는 텍스트 사용하는

개방형 표준 포맷

- Javascript에서 객체 만들 때 사용하는 표현식으로 특정 언어에 종속되지 않음

- 비동기 통신 (AJAX) 위해 넓게는 XML 대체하는 주요 데이터 포맷


2) 인터페이스 개체 이용한 인터페이스 구현

- 인터페이스 필요한 시스템 사이에 별도 인터페이스 개체 (entity) 두어 상호 연계하는 방식

- 일반적으로 인터페이스 테이블을 개체로 사용


인터페이스 예외 처리 방안

- 구현된 인터페이스가 동작하는 과정에서 기능상 예외 상황이 발생했을 때 이를 처리하는 절차

- 인터페이스 구현 방법 따라 데이터 통신 이용하는 방법과 인터페이스 개체 이용한 방법으로 구분

 

1) 데이터 통신 이용한 인터페이스 예외 처리

- JSON, XML 등 인터페이스 객체 이용해 구현한 인터페이스 동작 실패한 경우 대비

- 인터페이스 객체 송, 수신 시 발생할 수 있는 예외 케이스를 정의하고 각 예외 케이스마다 예외 처리 방법 기술

송신 측 예외 처리 - AJAX 호출 후 반환값 받아 어떻게 처리할지 호출하는 부분에서 정의
- 반환 케이스는 크게 성공 (success)와 실패(fail)로 구분
수신 측 예외 처리 수신 측에서 받은 JSON 객체를 처리 시 try ~ catch 구문 이용해 발생한 예외를 처리하고 이를 송신 측 전달

2) 인터페이스 개체 이용한 인터페이스 예외 처리

인터페이스 테이블 통해 인터페이스 기능상 문제에서 예외 사항 발생했을 경우 예외 처리 메시지와 함께 예외 처리가

발생한 원인을 인터페이스 이력에 같이 기록

송신 측 예외 처리 - 송신 인터페이스 테이블에 예외 유형에 따른 예외코드와 상세한 원인 함께 입력
- 송신 인터페이스 테이블에 프로시저, 트리거 등 통해 데이터 전송 시 발생하는 예외 유형 정의하고
원인 함께 입력
수신 측 예외 처리 - 데이터 없거나 잘못된 값 읽을 경우 예외 발생
- 예외 발생 시 사전 정의된 예외코드 입력하고 예외 발생 사유 함께 기록

인터페이스 보안 기능 적용

인터페이스 보안 취약점 먼저 파악하고 절절한 보안 기능 선택해야 함

 

1) 인터페이스 보안 취약점 분석

- 인터페이스 기능 수행되는 각 구간들 구현 현황 확인, 각 구간에 어떤 보안 취약점 있는지 분석

- 확인된 인터페이스 기능 기반으로 영역별로 발생할 수 있는 보안 취약점을 시나리오 형태로 작성

- 네트워크 영역, 애플리케이션 영역, 데이터베이스 영역으로 구분

 

(1) 네트워크 영역 취약점

- 스니핑 (Sniffing) : 패킷 엿보기

- 세션하이재킹 : 세션 탈취

- 스푸핑 (Spoofing) : 위장터페이스 기능 구현

- 서비스 거부 (Dos) : 시스템 기능 마비


(2) 애플리케이션 영역 취약점

- 버퍼 오버플로우 : 프로그램 취약점, 복귀 주소 조작

- XSS 공격 : 악성 스크립트 파일을 게시판 등에 삽입해 부전한 기능 수행


(3) 데이터베이스 영역 취약점

- 비인가 접근, 트리거 등 DB 동작 시 보안 취약점 발생

- SQL 인젝션 : 변조한 SQL 구문 삽입해 DB에 불법 접근


2) 인터페이스 보안 기능 적용

(1) 네트워크  영역 보안

보안 프로토콜 기능
S-HTTP 응용 계층에서 동작하는 웹 보안 암호화
SSL 전송 (TCP / IP) ~ 응용 계층에서 동작하는 웹 보안 표준 인증, 암호화, 무결성 수행
IPsec - 네트워크 계층 보안 표준 프로토콜 IP 패킷에 대한 인증, 암호화 수행
- 네트워크 트래픽에 대해 IP (Internet Protocol) 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 네트워크 계층에서의 보안 통신 규약

(2) 애플리케이션 영역 보안

애플리케이션 구현 코드 상 보안 취약점 보완하는 방향으로 애플리케이션 보안 기능 적용


(3) 데이터베이스 영역 보안

데이터베이스 접근 권한, 인증, 익명화 및 암호화 수행