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 생성 매체와 인증서버의 동기화된 인증횟수를 기준값으로 생성
- 시간 동기화(Time Synchronous)
- 비동기 방식 : 질의응답(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)
- 디지털 기기를 대상으로 발생하는 특정 행위의 사실과 관계를 법정에서 증명하기 위한 방법 및 절차이다.
- 디지털 증거휘발성
- 디지털 증거
- 디지털 증거분석
- 휘발성 증거
- 비휘발성 증거
- 디지털 포렌식 원칙
- 정당성 원칙 : 위법수집 증거 배제법칙, 독수 독과(과실)이론
- 재현원칙
- 신속성 원칙
- 절차 연속성 원칙
- 무결성 원칙
'자격증 > 정보보안기사' 카테고리의 다른 글
Cross-Site Request Forgery(CSRF)이란? (0) | 2021.11.29 |
---|---|
Cross Site Scripting(XSS)이란? (0) | 2021.11.27 |
[어플리케이션 보안] 인터넷 응용 & 데이터베이스 보안 (0) | 2021.03.09 |
[네트워크 보안] 네트워크 기반 공격 기술 및 대응 기술 (0) | 2021.03.07 |
[네트워크 보안] 네트워크 일반 및 활용 (0) | 2021.03.06 |
댓글