본문 바로가기
자격증/정보보안기사

[어플리케이션 보안] 기타 어플리케이션 보안

by 푸고배 2021. 3. 10.

1. 전자상거래 보안

(1) 전자화폐

 ▶ 전자화폐

  • 디지털 서명이 있는 금액 가치 정보
  • 전자기기에 전자기호 형태로 화폐적 가치 저장

 ▶ 전자화폐 요구조건

  • 불추적성(사생활 보호, 익명성)
  • 오프라인성
  • 가치이전성(양도성)
  • 분할성
  • 독립성(완전 정보화)
  • 이중사용 방지
  • 익명성 취소

 ▶ EDS(Fraud Detection System) 통제

  • 전자금융거래에서 사용되는 정보를 분석해 금전 및 사적인 이득을 취하기 위해 발생되는 각종 부정 거래행위를 탐지 및 예방

(2) SET

 ▶ SET(secure Eletectronic Transaction)

  • 온라인 신용카드 거래 촉진을 위해 VISA와 MASTER CARD사에서 공동으로 개발한 프로토콜
  • SSL에 비해 상대적으로 느림
  • 전자 서명과 인증서를 이용해 안전한 거래 가능
  • 지급 결제 처리 절차에 한해 정의, 시스템 구축 및 인증 절차 복잡
  • 기밀성, 무결성, 인증, 부인봉쇄

 ▶ SET 이중서명(Dual Signature)

  • SET 이중서명 사용 이유
    • 사용자 : 판매자에게 지불정보(계좌 정보) 공유를 원하지 않음
    • 사용자 : PG(Payment Gateway)로 부터 주문정보(물품명세서)를 숨기고 싶음
    • PG : 판매자가 전송한 결제 요청이 실제 고객이 의뢰한 정보인지 확인 필요
  • SET 장점 : 전자상거래의 사기 방지, 기존의 신용카드 기반 활용
  • SET 단점 : 암호 프로토콜 복잡, RSA 속도 저하, 카드 소지자에게 전자지갑 소프트웨어 요구

(3) SSL

 ▶ SSL(Secures Socket Layer)의 개요

  • SSL(Secures Socket Layer)
    • 개방환경에서 Client와 Server의 안전한 통신을 위해 개발
    • RSA 공개키 알고리즘 사용, X.509 인증서 지원, 443번 포트 사용
    • Transport Layer~Application 계층에서 동작
    • 기밀성, 무결성, 인증
  • SSL 구성요소
    • Change Cipher Spec Protocol : Hand Shake Protocol에서 협의된 암호 알고리즘, 키 교환 알고리즘, MAC 암호화, HASH 알고리즘이 사용될 것을 클라이언트와 웹 서버에게 공지
    • Alert Protocol :  SSL 통신을 하는 도중 클라이언트와 서버 중 누군가의 에러나 세션의 종료로 비정상적인 동작이 발생할 때 사용되는 프로토콜
    • Record Protocol : 데이터를 암호화하고 산출된 데이터를 SSL에서 처리가 가능한 크기의 블록으로 나누고 압축

 ▶ OpenSSL 보안 취약점 

  • 하트블리드(HeartBleed) 취약점 : 웹브라우저가 요청했을 때 데이터 길이를 검증하지 않아 메모리에 저장되어 있는 평문 64Kilo Byte가 노출되는 현상

(4) sHTTP

 ▶ 응용 계층에서 보안 기능 제공

 ▶ 기밀성, 무결성, 전자서명

 

(5) IPSEC

 ▶ IPSEC(IP Security) 개요

  • 인터넷상에 가상 전용 회선을 구축하여 데이터 도청과 같은 행위를 방지하기 위한 통신 규약
  • IPSEC 전송 방법
    • 터널 모드 : 패킷의 출발지에서 일반 패킷이 보내지면 중간에서 IPSec을 탑재한 중계 장비가 패킷 전체를 암호화(인증)하고 중계 장비의 IP 주소를 붙여 전송
    • 전송 모드 : 패킷의 출발지에서 암호화를 하고 목적지에서 복호화가 이루어짐(End-to-End)

(6) OTP

 ▶ OTP(One Time Password) 개요

  • 매번 다른 난수를 생성하여 인증 시 패스워드를 대신하는 방법으로 이론적으로 가장 안전한 방법

 ▶ 동기 방식과 비동기 방식 인증 방법

  • 동기화 방식
    • 시간 동기화(Time Synchronous)
      • OTP 생성 매체가 시간을 기준값으로 비밀번호를 생성하는 형태
      • 일정 시간 동안 OTP 전송 못하면 새로운 OTP 생성 시까지 기다려야함
    • 이벤트 동기화(Event Synchronous)
      • OTP 생성 매체와 인증서버의 동기화된 인증횟수를 기준값으로 생성
  • 비동기 방식 : 질의응답(Challenge-Response)
    • OTP 생성 매체와 인증 서버 사이에 동기화되는 기준값 X
    • 사용자가 직접 임의의 난수를 OTP 생성 매체에 입력해 OTP 생성

(7) 전자문서와 ebXML

 ▶ 전자문서(Electronic Documnents) 유형

  • EDI(Electronic Documnet Interchange)
  • XML/EDI
  • XMI(eXtensible Markup Interchange)
  • ebXML(e-business Extensible Markup Language)

 ▶ ebXML 구성요소

  • 비지니스 프로세스(Business Process)
  • 핵심 컴포넌트(Core Components)
  • 등록저장소(Registry Repository)
  • 거래 당사자(Trading Partners)
  • 전송, 교환 및 패키징(Transport, Routing and Packaging)

2. 기타 어플리케이션 보안

(1) SQL Injection

 ▶ SQL Injection

  • 입력값을 조작하여 사용자 인증을 우회하거나 데이터베이스에 SQL 문을 실행해 인증없이 데이터 베이스의 데이터를 얻는 방법

 ▶ SQL Injection 특징

  • 개념
    • 사용자가 서버에 제출한 데이터가 SQL SQL Query로 사용되어 데이터베이스 및 응용 시스템에 영향을 주는 공격
  • 발생원인 
    • 공격자의 입력 값이 데이터베이스의 쿼리 작성에 이용되는 환경에서 입력 값 미검증 또는 부적절한 검증

 ▶ SQL Injection 유형

  • Blind SQL Injection
    • 문자열을 하나씩 자르고, 참(True)과 거짓(False)으로 반환되는 SQL 실행결과를 이용해 데이터를 알아내는 방법
  • Mass SQL Injection
    • 한 번의 공격으로 대량의 DB값이 변조되어 서비스에 치명적인 악영향을 끼치는 공격
  • Union SQL Injection
    • SQL문 뒤에 Union을 입력해 공격자가 SELECT 문을 붙여 실행하는 공격

(2) 운영체제 명령어 삽입

 ▶ 운영체제 명령어 삽입

  • 입력 값을 검증하지 않아 운영체제 명령을 실행할 수 잇는 취약점
  • Command Injection : 입력 값을 조작해서 명령어를 실행하는 공격

(3) 위험한 파일형식 업로드

 ▶ 공격자가 파일을 웹 서버로 업로드하여 악성 스크립트 실행

 ▶ 웹쉘(Web Shell) : 업로드의 취약점을 이용해 실행되는 스크립트

 

(4) XSS(Cross Site Scripting)

 ▶ XSS(Cross Site Scripting, 크로스 사이트 스크립팅)

  • 공격자가 제공한 실행 가능한 코드를 재전송하도록 하는 공격 기법
  • 서버를 경유하여 조작된 웹 페이지 및 URL을 열람하는 클라이언트를 공격

 ▶ XSS의 종류

  • Stored XSS : 게시판에 악성 스크립트를 올리고 사용자가 클릭하면 악성 스크립트 실행
  • Reflected XSS : 메일로 악성 스크립트가 포함된 첨부파일을 사용자에게 전송, 사용자 클릭 시 악성 스크립트 실행 및 웹 서버 공격

 ▶ 대응 방법 : 스크립트가 실행되지 않게 한다.

 

(5) CSRF(Cross Site Request Forgery, 크로스 사이트 요청 변조)

 

 ▶ 사용자가 인식하지 못한 상황에서 의도하지 않은 공격 행위를 수행하게 하는 공격

 ▶ 입력된 신뢰정보를 기반으로 사용자의 요청을 변조 시켜 해당 사용자의 권한으로 악의적 공격 수행

 ▶ 대응방법

  • 입력 폼 작성 시 POST 방식 사용
  • 입력 폼과 해당 입력 처리 프로그램 간에 토큰 사용
  • 중요한 기능에 대해 세션 검증과 재인증 처리 또는 트랜젝션 서명 수행

(6) 포맷 스트링(Format String)

 ▶ 데이터에 대한 포맷 스트링을 정확하게 정의하지 않아서 발생되는 보안 취약점

 ▶ 메모리 열람, 메모리 변조, 쉘코드(Shell Code) 삽입과 같은 보안 취약점 발생

 

(7) SSO(Single Sign On) 개요

 ▶ SSO(Single Sign On)

  • 다수의 서비스를 한 번의 Login으로 서비스에 접속할 수 있게 해주는 보안 시스템
  • 중앙집중형 접근 관리
  • 단점 : SPOF(Single Point Of Failure, 2 Factor로 예방 가능)

 ▶ SSO 종류

  • Delegation 방식 : 대상 애플리케이션 인증 방식 변경 없이 해당 인증 정보를 에이전트가 관리해 사용자 대신 로그온
  • Propagation 방식 : 대부분의 SSO에서 채탁하는 방식, 통합인증 수행하는 곳에서 인증 받아 애플리케이션으로 전달할 토큰 발급
  • Delegation & Propagation 방식  : 웹 어플리케이션의 변경이 불가하고 사용자 통합이 어려운 경우
  • Web 기반 One Cookie Domain SSO : SSO 대상 서비스와 애플리케이션들이 하나의 Cookie Domain안에 존재할 때 사용

(8) DRM 기술 개념 및 활용

 ▶ DRM(Digital Rights Management) 개요

  • DRM(Digital Rights Management)
    • 디지털 컨텐츠를 안전하게 보호할 목적으로 암호화 기술을 이용해 컨텐츠 저작권 관련 당사자의 권리 및 이익을 지속적으로 보호 및 관리하는 시스템
  • DRM 요소 기술
    • 암호화
    • 인증
    • Watermarking
    • 사용자 Repository
    • 사용자 권한 관리
    • Temper Proofing

(9) 워터마킹(Watermarking)

 ▶ 워터마킹

  • 디지털 정보에 사람이 인지할 수 없는 마크를 삽입해 디지털 컨텐츠에 대한 소유권 추적 기술
  • 정보은닉기술, Steganography 기법 중 하나

 ▶ 워터마킹 특징

  • 비인지성(Fidelity)
  • 강인성(Robustness)
  • 연약성(Effermincy)
  • 위조방지(Tamper-resistance)
  • 키 제한(Key-resistance)

 ▶ 핑거프린트(Fingerprint)

  • 워터마킹 기법 중 하나
  • 디지털 컨텐츠에 원저작자 정보와 함께 디지털 컨텐츠 구매자 정보를 삽입
  • 불법 유통 시 불법적으로 유통시킨 구매자를 확인할 수 있는 추적 기술
  • Dual Watermark

(10) 포렌식(Forensic) 개요

 ▶ 디지털 포렌식(Digital Forensic)

  • 디지털 기기를 대상으로 발생하는 특정 행위의 사실과 관계를 법정에서 증명하기 위한 방법 및 절차이다.
  • 디지털 증거휘발성
    • 디지털 증거
    • 디지털 증거분석
    • 휘발성 증거
    • 비휘발성 증거
  • 디지털 포렌식 원칙
    • 정당성 원칙 : 위법수집 증거 배제법칙, 독수 독과(과실)이론
    • 재현원칙
    • 신속성 원칙
    • 절차 연속성 원칙
    • 무결성 원칙
반응형

댓글