본문 바로가기
정보보안기사, 정보보안산업기사

[정보보안기사/산업기사] 어플리케이션 보안 과목 요약 정리

by 시스코킹 2020. 10. 16.
반응형

<어플리케이션 보안>

 

* DRM (Digital Right Management)

- 디지털 콘텐츠의 불법 복제와 유포를 막고, 저작권 보유자의 이익과 권리를 보호해 주는 기술과 서비스를 말한다.

 

- DRM은 파일을 저장할 때, 암호화를 사용한다.

 

- DRM 탬퍼 방지(tamper resistance) 기술은 의도적으로 오작동하거나 방해하는 행위를 방지하는 것을 의미, 리버스 엔지니어링이 어렵도록 하거나, 코드 난독화 등이 있음

 

- DRM은 온라인 음악 서비스, 인터넷 동영상 서비스, 전자책 CD/DVD 등의 분야에서 불법 복제 방지 기술로 활용된다.

 

 

 

* 패키저:

콘텐츠를 메타데이터와 함께 시큐어 컨테이너 포맷 구조로 만드는 묘듈

 

 

 

* 디지털 포렌식 휘발성 증거들의 수집 순서: ( 래, 캐 – 시 – 임 –디 )

레지스터와 캐시 > 시스템 메모리의 내용 > 임시파일시스템 > 디스크의 데이터

 

 

 

* 디지털포렌식 절차

1. 사전 준비 단계: 사건이 일어나기 전에 행해지는 활동으로 도구의 준비, 검증, 분석 교육 등의 활동

2. 증거 수집 단계: 사건과 관련된 디지털기기에서 디지털 데이터를 수집하는 과정으로 수집 과정에서 데이터가 변조되지 않아야 함

3. 포장 및 이송 단계: 수집된 데이터를 포장하여 분석실로 이송하는 과정으로 외부의 요인에 의해 변조되지 않아야 함

4. 조사 분석 단계: 수집한 디지털 데이터를 분석하는 과정으로 다양한 디지털포렌식 분석 기술이 사용된다. 흔히, 디지털포렌식은 이 분야의 연구를 지칭

5. 정밀 검토 단계: 분석되기까지의 각 단계의 검증을 비롯하여 분석 결과가 정확한지 검토하는 단계

6. 보고서 작성 단계: 정밀 검토를 마친 결과를 바탕으로 분석된 결과를 법정에 제출하기 위해 객관적인 보고서를 작성하는 단계

 

 

 

* 로카르드의 교환 법칙 (Locard's exchange Principle)

-접촉하는 두 개체는 서로 흔적을 주고 받는다는 원칙

-누구든 간에 동작 중인 시스템을 다루게 되면 해당 시스템은 변화가 발생한다

 

 

 

* 크리덴셜 스터핑 (Credential stuffing)

공격자가 이미 확보한 크리덴셜(로그인 정보 등 개인 신상과 관련해 암호화한 정보)을 다른 계정들에 마구 대입하는(stuffing) 방식으로 이용자 정보를 침해하는 행위

->한 비밀번호 여러 계정에 쓰면 크리덴셜 스터핑에 당한다.

 

 

 

*SET (Secure Electronic Transaction)

- VISA Master Card사에 의해 개발

- 1997년 발표된 신용카드 기반의 전자지불 프로토콜

- 공개키 암호화를 이용 (RSA)

- 전자서명을 사용한 전문의 무결성과 인증

- 전세계 표준 전자상거래 프로토콜로 호환성이 뛰어남

① 전자결제 시 교환되는 정보의 비밀 보장을 위해 공개키, 비밀키 암호 알고리즘을 사용한다.

② 데이터의 무결성을 확보하고자 전자서명과 해시 알고리즘을 사용한다.

③ 주문 정보는 상점의 공개키로, 지불 정보는 은행의 공개키로 암호화한다.

 

 

 

* SET 구성요소

- 고객(Card Holder): 카드 소지자

- 상점(Merchant): 인터넷상에서 상품이나 정보서비스 제공자

- 지불중계관(Payment Gateway): 판매자가 요청한 고객의 지불정보로 금융기관에 승인 및 결재를 요청하는 자

- 발급사(Issuer): 고객카드를 발급하고 고객계좌가 개설된 금융기관

- 매입사(Acquirer): 상점을 가맹점으로 승인하고 상점 계좌가 열린 금융기관

- 인증기관(CA): 참여 기관에게 전자적인 인증서를 발급하는 기관

 

 

* SET 단점

- 상점과 지불게이트웨이 거래를 전산적으로 처리하기 위한 별도의 소프트웨어, 하드웨어가 필요

* 이중 서명

SET에서 고객의 프라이버시 보호 및 거래의 정당성 인증을 위해 고안된 전자서명 프로토콜

SET에서는 고객의 결제정보가 판매자를 통하여 해당 지급정보중계기관(PG)으로 전송됨에따라 고객의 결제정보가 판매자에게 노출될 가능성과 판매자에 의한 결제 정보의 위·변조의 가능성이 있으므로, 판매자에게 결제정보를 노출시키지 않으면서도 판매자가 해당 고객의 정당성 및 구매내용의 정당성을 확인 할 수 있고 PG는 판매자가 전송한 결제요청이 실제고객이 의뢰한 전문인지를 확인할 수 있도록 하는 이중서명 기술 도입이 필요하게 됨

 

- 이중 서명 특징

① 분쟁에 대한 대비를 위해 두 메시지 간의 연관성이 구현되어야 함

② 구매자의 자세한 주문정보와 지불정보를 판매자와 금융기관에 필요 이상으로 전달하지 않아야 함

③ 구매자는 최종 메시지 다이제스트를 자신의 개인 서명키로 암호화 하여 이중서명을 생성함

 

 

 

 

* 전자화폐 절차

-인출 단계(withdrawal phase)

사용자 - 금융기관

-지불 단계(payment phase)

상점서버 - 사용자

-예치 단계(deposit phase)

상점서버 - 금융기관

결제 단계라고도 한다.

 

 

 

* 전자화폐 요구사항

-안전성(Security): 물리적 안전성으로 위조의 어려움이 있어야하고 논리적으로도 안정적이어야 함

-프라이버시(Privacy): 사용자의 거래 내용은 상점은 물론 은행에서도 추적 할 수 없어야 함

-불추적성(Untraceability)

-불연계성(Unlinkability)

-이중사용방지: 부정한 사용자가 전자화폐를 불법적으로 복사하여 여러번 반복적으로 사용 할 수 없어야 함

-양도성(Transferability): 타인에게 즉시 양도할 수 있어야 한다.

-분할성(Divisibility): 큰 단위 화폐를 작은 단위의 화폐로 분할할 수 있어야 함

-n회 사용가능(N-Spendability): 여러번 나누어 사용 가능해야함

 

 

 

* 전자화폐 종류

-네트워크형: eCash, netcash, Payme

-IC카드형: Mondex, Visa Cash, PC Pay  (M V P)

 

 

* eCash (이캐시)

-데이비드 차움이

-1990년에 개발한

-은닉 서명을 이용한 네트워크형 전자 화폐

-중앙집중식 전자 화폐

-익명성과 프라이버시에 중점을 두고 개발됨

-신용카드 활성화와 맞물려 활성화되지 않음

* 전자상거래 이중서명

* 전자투표은닉서명

 

 

 

* TFTP (Trivial File Transfer Protocol)

- 자체 디스크가 없는 OS에서 부팅에 필요한 데이터를 가져오기 위한 간소화된 FTP

- 신속한 파일의 전송을 원할 경우에는 FTP보다 활용이 용이하다.

- 보안에 매우 취약한 프로토콜이므로 가급적 사용하지 않는다.

- 비밀번호 인증 과정이 없다.

- secure mode로 운영해야 한다.

- UDP 69번 포트를 사용한다.

 

 

 

 

* FTP (File Transfer Protocol)

파일을 주고 받기 위해 사용되는 대표적인 프로토콜

OSI 계층상에서 7Layer(애플리케이션 계층)에 위치한다.

디폴트는 active 모드이며, passive 모드로의 변경은 FTP 클라이언트가 결정한다.

- FTP사용포트

1. 제어 포트: 21

2. 데이터 전송용 포트

    액티브 모드인 경우: 20

    패시브 모드인 경우: 1024번 이상의 임의의 포트 (PASV 명령어를 사용)

 

 

* FTP접속 시 PORT 명령으로 보기와 같은 내용을 확인 하였다. 다음접속 포트는 몇 번인가?

208.163.132.1, 9, 17

=(9 X 256) + 17 = 2304 + 17 = 2,321

 

 

 

* FTP Bounce Attack

FTP서버가 데이터를 전송할 때 목적지가 어디인지 검사하지 않는 설계상의 문제점을 이용한 공격

FTP서버의 전송 목적지 주소를 임의로 지정하여, FTP 서버를 경유해 임의의 목적지로 메시지나 자료를 전송하도록 할 수 있다.

ㅇ 익명 FTP 서버를 이용하고 그 FTP 서버를 경유하여 호스트를 스캔한다.

FTP 포트 명령어를 이용한다.

FTP 서버를 통해 임의의 네트워크 접속을 릴레이하여 수행한다.

ㅇ 네트워크 포트를 스캐닝하는 데 사용한다.

FTP 프로토콜의 취약점을 이용한 공격이다.

-포트 스캐닝

FTP 바운스 공격은 포트 스캐닝에 많이 사용된다.

FTP 서버를 통해 FTP PORT 명령을 임의의 서버로 replay하여 포트의 open여부를 확인한다.

 

 

 

-FTP 등을 통해 파일이 전송된 기록이 저장된 로그 파일: xferlog

위치: /var/log/xferlog

 

 

 

-FTP 로그 ( /var/log/xferlog)

Thu May 17 11:54:41 2018 6 q.fran.kr 1234567 /home/user/test1.mp3 b _ i r itwiki ftp 0 * c

 

(Thu May 17 11:54:41 2018) (6) (q.fran.kr) (1234567) (/home/user/test1.mp3) (b) (_) (i) (r) (itwiki) (ftp) (0) (*) (c)

 

1. 전송 날짜와 시간(Thu May 17 11:54:41 2018)

 

2. 전송 시간 (6)

 

3. 원격 호스트 주소 (q.fran.kr)

 

4. 전송된 파일의 크기 (1234567)바이트

 

5. 전송 파일명-파일의 전체경로 (/home/user/test1.mp3)

 

6. 전송 파일 유형 (b)

2가지가 존재

a=ascii(문자, 텍스트)

b=binary(파일)

 

7. 액션플래그 (_)

_=행위가 일어나지 않음

C=파일이 압축된 경우

U=파일이 압축되지 않은 경우

T=tar로 묶여 있음

 

8. 전송 방향 ( i )

종류: i,o,d가 있습니다.

i = 파일을 업로드하여 서버로 들어오는 것(incoming)

o = 파일을 다운로드하여 서버에서 나가는 것(outgoing)

d = 파일을 삭제(delete)하는 것을 나타냅니다.

 

9. 엑세스 모드 ( r )

사용자가 접근한 방식이나 형태를 나타내는 것

종류: r,a,g

r = 시스템의 사용자 계정

a = 익명사용자(anonymous)

g = 비밀번호가 있는 게스트 계정

10. 사용자명 ( itwiki )

로그인한 사용자명

 

11. 서비스명 ( ftp )

호출된 서비스를 나타내는 것으로, 일반적으로 FTP

 

12. 사용자의 인증 방식 (0)

사용자의 인증 방법

0인 경우 없음을 나타내고 1인 경우 RFC 931 authentication

 

13. 인증 사용자 ID ( * )

인증 메소드가 되돌려주는 사용자 ID입니다. *는 인증된 사용자 ID를 사용할 수 없는 경우

 

14. 완료 상태 ( c )

전송의 완료 상태를 나타내 줍니다.

c = 전송이 완료된 상태를 나타냅니다. (complete)

i - 전송이 실패된 상태를 나타냅니다. (incomplete)

 

 

 

* FTP 명령어

ABOR : 현재 전송 중인 파일 전송 중단

CWD : 작업 디렉터리 변경

DELE : 원격지 파일 삭제

LIST : 원격지 파일 목록

MDTM : 파일의 수정 시간 확인

MKD : 원격 디렉토리 생성

MODE : 전송 모드 변경

NLST : 원격 디렉터리 목록

NOOP : 아무 작업 안함

PASS : 패스워드 전송

PASV : Passive모드로 변환

PORT : data 포트 열기

PWD : 작업 디렉토리 표시

QUIT : 연결 종료

RETR : 원격지 파일 가져오기

RMD : 원격지 디렉터리 제거

SIZE : 파일 사이즈 리턴

STOR : 원격지 파일 저장

USER : 사용자명 전송

 

 

* E-Mail 메시지 인증 ( ->   -> )

 

 

* 이메일 프로토콜

SMTP : TCP 25번 포트

서버와 서버간의 통신이다.

 

 

* SMTP 인증방식

SMTP-AUTH(송신자 인증 서비스),

ESMTP(SASL을 이용한 보안 연결),

MIME(non-ascii 데이터 전송 포맷)

 

* 109 – TCP POP2

 

POP3 : TCP 110번 포트  /  995 - TCP SSL 위의 POP3 (암호화 전송)

서버와 클라이언트간의 통신이다. 메일서버에 있는 메일을 가져온다. 메일 서버에 있던 메일은 삭제된다.

 

IMAP4 : TCP 143번 포트  /  993 – TCP SSL 위의 IMAP4 (암호화 전송)

POP3와 같은 역할이나 좀 더 진보된 프로토콜이다. 대표적인 차이는 메일 서버에 있던 메일을 삭제하지 않는다는 것이다.

 

 

 

* 이메일 전달 시스템

- MUA (Mail User Agent) : 사용자가 메일을 송수신하기 위해 사용하는 프로그램

 

- MTA (Mail Transfer Agent) : MUA로 부터 전달받은 메일을 다른 MTA로 전송하는 서버프로그램(목적지는 수신자의 MTA)

 

- MDA (Mail Delivery Agent) : 최종 MTA에 도착한 후, 수신된 메일을 사용자의 메일함에 저장하는 프로그램(POP IMAP방식)

 

- MRA (Mail Retrieval Agent) : MDA가 저장한 메일을 MUA로 가져오는 프로그램 / 아이디와 패스워드로 사용자 인증도함

 

 

 

* 액티브 콘텐츠 (Active Contents) 공격

- 메일 열람시 HTML 기능이 있는 이메일 클라이언트나 웹브라우저를 사용하는 이용자를 대상으로 공격하는 기법을 말한다.

- 스크립트 기능을 이용하여 피해자의 컴퓨터에서 정보를 유출하거나 악성 프로그램을 실행시키게 된다.

이러한 공격의 간단한 예로는 사용자가 메시지를 열어볼 때 음란사이트나 광고 사이트를 보여주도록 하거나 또는 시스템을 마비시키는 서비스거부공격 공격 형태를 보여준다.

- 이런 공격은 E-mail 클라이언트 프로그램의 버그나 시스템의 버그를 이용하는 것이 아니기 때문에 보안 패치로써 해결하지 못한다.

 

 

 

* 이메일 보안 프로토콜

- PEM (Privacy Enhanced Mail)

IETF에서 채택

기밀성, 인증, 무결성, 부인방지를 지원

구현 어려움

-중앙 집중화 된 키 인증

-군사용, 은행용 시스템에 주로 이용

 

 

- PGP (Pretty Good Privacy)

메시지 인증지원

IDEA 이용

송신자가 세션키(128비트 랜덤키) 생성

Phil Zimmermann이 개발한 대표적인 전자우편 프로토콜

전자서명을 이용하여 인증을 제공

ZIP알고리즘으로 압축을 지원

기수-64(radix-64) 부호화를 이용해 전자우편 호환성을 제공

단편화, 재조립을 통해 길이가 긴 전자우편 데이터를 전송할 수 있다.

기밀성

RFC4880

 

 

- S/MIME (Secure Multipurpose Internet Mail Extension)

RSA Data Security, INC 개발

전자우편 메세지 표준 기반

다양한 상용툴킷

X.509 지원

 

 

 

* 스팸 필터 솔루션

- 메일 서버 앞단에 위치하며 프락시 메일 서버로 동작한다.

- SMTP 프로토콜을 이용한 DoS 공격이나 폭탄 메일, 스팸메일을 차단한다.

- 첨부파일 필터링 기능을 이용하여 특정 확장자를 가진 파일만 전송되도록 설정할 수 있다.

 

 

 

* SpamAssassin (오픈소스 스팸 필터링 도구)

-기능

① 첨부파일 검사

② 제목·본문 규칙 검사

③ 베이시언 필터링

 

 

 

* DNSSEC(DNS Security Extensions)

- 데이터 위-변조 침해공격"에 취약한 DNS의 문제점을 근본적으로 보완 개선하기 위해

- 국제인터넷표준화기구 IETF

- 기존의 DNS에 공개키 암호화 방식의 보안기능을 추가 부여하여 DNS의 보안성을 대폭 강화

 

 

 

* Blind SQL injection (블라인드 SQL 인젝션)

문자열 단위로 문자열의 일치 여부(/거짓) 값 만을 반환 받는 과정을 수없이 반복하여 테이블 정보나 데이터 값을 추출해내는 공격법

 

 

* SQL Injection

- 사용자로부터 파라미터를 입력받아 동적으로 SQL Query를 만드는 웹 페이지에서

임의의 SQL Ojery Command를 삽입하여 웹 사이트를 해킹하는 기법

 

 

 

* SQL 인젝션 공격에 대한 보호 대책

① 사용자 입력이 직접 SQL 문장으로 사용되지 않도록 한다.

SQL 서버의 에러 메시지를 사용자에게 보여주지 않게 설정한다. (원시 ODBC 에러)

③ 모든 스크립트에 대힌 모든 파라미터를 점검하여 사용자 입력 값이 공격에 사용되지 않도록 한다.

④ 데이터베이스 애플리케이션을 최소 권한으로 구동

* Race Condition (경쟁상태)

- 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도할 때 접근의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태

- 프로세스 간의 자원 경쟁을 유발하여 권한을 획득하는 기법으로 활용된다.

ex) 버그를 갖고 있는 System Program과 침입자의 Exploit Program이 거의 같은 시간대에 실행되어 System Program이 갖는 권한으로 Exploit Program이 실행되는 경우

 

 

 

* Race Condition 일반적인 절차

1. 취약 프로그램이 생성하는 임시 파일의 이름을 파악

2. 생성될 임시 파일과 같은 이름의 파일을 생성하고 이에 대한 심볼릭 링크를 생성

3. 원본 파일을 지운 채 취약프로그램이 심볼릭 링크를 건 파일과 같은 파일이 생성할 때까지 대기

4. 생성되는 순간, 심볼릭 링크를 이용해 파일 내용을 변경

5. 시스템은 변경된 파일을 자신이 생성한 임시 파일로 생각하고 프로세스를 진행시킬 것이고, 공격자는 관리자권한으로 실행되는 프로그램에 끼어들어 무언가를 할수 있음

-SetUID가 설정되어 있어야 한다.

 

 

* 오탐 (False Positive) : 정상적인 접근을 비정상적인 접근이라고 잘못 판단

* 미탐 (False Negative) : 비정상적인 접근을 정상적인 접근이라고 잘못 판단

 

 

 

* 지식기반탐지 (오용탐지): 시그니처, 페트리넷, 상태전이, 유전

-비정상 행위에 대한 패턴을 입력하여 일치하는 패턴을 탐지한다.

전문가 시스템(Expert System)

상태전이 모델

패턴 매칭(Signature-based Detection)

Knowledge Base

 

- 지식기반탐지 장단점

오탐률이 낮다, 새로운 패턴은 탐지 불가, 속도 느림

 

 

* 행위기반 침입탐지 (이상탐지): 통계적, 면역학, 데이터 마이닝, HMM, 기계학습

-정상 행위와 비정상 행위를 프로파일링 하여 통계 및 AI를 이용하여 정상/비정상을 구분한다.

통계적 분석

예측 가능한 패턴 생성

신경망 모델

Behavior Detection / Statistical Detection

 

- 행위기반 침입탐지 장단점

패턴 자동 업데이트, 새로운 패턴(제로데이 공격 등) 탐지 가능, 오탐률이 높음, 정상/비정상 기준 수립이 힘듦

* 메시지 인증 코드 (Message Authentication Code)

- 목표: 메시지의 무결성 (integrity)과 메시지 인증 (authentication)

 

 

* 메시지 인증코드로 막을 수 있는 것들

- H A인척하고 B에게 메시지를 보낸다.

- A B에게 보내는 메시지를 H가 중간에서 조작한다.

 

 

* 재전송 공격

- 프로토콜 상 메시지를 복사한 후 재전송함으로써 승인된 사용자로 오인하게 만들어 공격하는 방법

 

 

* 재전송 공격 시나리오

A B에게 보내는 송금의뢰 메시지와 메시지 인증 코드를 H가 가로챈다.

H는 그 메시지와 메시지 인증 코드를 그대로 다시 전송함으로써 A가 아님에도 송금 요청을 할 수 있다.

-> 암호화된 인증정보를 전송하여 정상적인 인증이 이루어지는 트래픽을 탈취하였다. 인증정보를 암호화되어 있어 파악할 수 없지만 동일한 인증정보를 보냄으로써 인증을 시도할 수 있다

 

 

* 재전송 대응방안

순서 번호 (sequence number): 송신 메시지에 매회 1씩 증가하는 번호를 함께 전달

타임스탬프 (timestamp) 사용: 송신 메시지에 현재 시각을 함께 전달

비표 (nonce) 사용: 메시지를 수신하기에 앞서 수신자는 송신자에게 일회용의 랜덤한 값(비표) 전달

 

 

 

* XSS 클라이언트 / CSRF 서버

 

* XSS 공격 절차

1. HTML 사용이 가능한 게시판, 프로필, 댓글 등에 악성 스크립트(javascript )를 삽입

2. 사용자가 사이트를 방문하여 저장되어 있는 페이지에 정보를 요청할 때(게시판 글 읽기 등)

3. 서버는 악성 스크립트를 사용자에게 전달하여 사용자 브라우저에서 스크립트가 실행되면서 공격

 

 

* XSS 보안 대책

- 외부입력값에 스크립트가 삽입되지 못하도록 문자변환 함수 또는 메서드를 사용하여 < > & “ 등을 < > & " 로 치환

- HTML태그를 허용하는 게시판에서는 허용되는 HTML 태그들을 화이트리스트로 만들어 해당 태그만 지원하도록 한다.

 

 

* CSRF -서버에서 악성코드 실행

- 공격자가 사용자의 cookie 값이나 session 정보를 의 도한 사이트로 보내거나 특정한 동작을 유발하는 스크립트를 글에 삽입하여 사용자가 게시물 등을 클릭할 경우 공격자가 원하는 동작(계좌이체, 물건주문 등)이 실행되게 하는 취약점 (, 공격 대상자가 사이트에 로그인해 있거나 유효한 cookie, session 정보를 가지고 있어야 공격이 성공할 수 있음)

 

 

*  CSRF 특징

① 특정 소수가 아닌 불특정 다수를 대상으로 한다.

② 원래 의도된 기능이 아닌, 데이터 변경, 삭제등이 가능해진다.

XSS에서 진보한 공격이라고 보는 의견이 있다.

 

 

* CSRF 보안대책

입력화면 폼 작성 시 (GET) 방식보다는 (POST) 방식을 사용하고,

입력화면 폼과 해당 입력을 처리하는 프로그램 사이에 (토큰)을 사용하여,

공격자의 직접적인 URL 사용이 동작하지 않도록 한다.

특히 중요한 기능에 대해서는 (사용자 세션 검증)과 더불어 (재인증)을 유도한다.

 

 

 

* OWASP Top 10 - 2017 (4년에 한번 발표하는 웹취약점)

A1:2017 – 인젝션

A2:2017 – 취약한 인증

A3:2017 – 민감한 데이터 노출

A4:2017 – XML 외부 개체 (XXE) [신규]

A5:2017 – 취약한 접근 통제 [합침]

A6:2017 – 잘못된 보안 구성

A7:2017 – 크로스 사이트 스크립팅 (XSS)

A8:2017 – 안전하지 않은 역직렬화 [신규, 커뮤니티]

A9:2017 – 알려진 취약점이 있는 구성요소 사용

A10:2017 – 불충분한 로깅 및 모니터링 [신규, 커뮤니티]

 

 

 

* 쿠키/세션 위조 공격방지 방법

- 세션 등 모든 정보를 서버 내에서 저장, 관리하는 서버사이드 세션을 사용하도록 구현한다.

- SMS 인증과 같은 2차 인증을 이용하도록 구현한다.

- 사용자 PC에 저장되는 쿠키정보는 안전하지 않으므로 암호화하여 변조를 방지한다.

 

 

 

* 공급망 공격 (Supply Chain Attack)

- 소프트웨어 공급망에 침투하여 악성코드를 배포하는 공격으로, SW빌드 및 배포 과정에 악성코드를 삽입하여 선의의 소프트웨어를 통해 이용자들을 공격

 

- 공급망 공격 시나리오

1. 소스코드 수정

S/W 개발사의 네트워크에 침투하여 소스 코드를 수정하여 악의적인 목적의 코드를 삽입

2. 배포서버 공격

배포를 위한 서버에 접근하여 파일을 악의적으로 조작

3. 인증서 유출 및 악용

개발사의 인증서를 취득하거나 위조하여 악성코드가 삽입된 앱을 개발사의 권한으로 배포

 

 

* 도메인(Domain)

-관계형 데이터베이스 모델의 구성요소 중 한 릴레이션에서 특정 속성이 가질 수 있는 모든 가능한 값의 집합

 

 

* 데이터베이스 뷰(View)

-사용자에게 접근이 허용된 제한된 데이터만 보여주기 위해 구성

 

-저장장치 내에 물리적으로 존재하지 않지만 사용자 입장에선 동일하게 보여짐

 

-데이터 임시 열람, 보안적인 목적으로 제한된 범위 내 데이터 제공 등 목적으로 사용될 수 있다.

 

 

 

* 데이터베이스 공격

-집성(Aggregation) 공격: 낮은 보안등급의 정보조각을 조합하여 높은 등급의 정보를 알아내는 것.

) 공개된 지사별 영업실적으로 1등급인 총 매출액을 유추해낼 수 있다.

 

-추론(Inference) 공격: 보안으로 분류되지 않은 정보에 접근한 후 기밀정보를 유추하는 것

 

-데이터 디들링(Data Diddling): 처리할 자료를 다른 자료와 바꿔서 처리하는 공격. 즉 입력값이나 출력값을 부정한 의도로 수정하여 잘못된 결과가 나오도록 유도하는 방법

 

 

 

* 데이터베이스 보안 요구사항

-부적절한 접근방지

모든 사용자의 접근요청을 DBMS가 검사하고 승인된 사용자만 접근토록 해야 함

 

-추론방지

일반적 데이터로부터 비밀정보를 획득하는 추론이 불가능하도록 해야 함

 

-운영적 무결성 보장

트랜잭션의 병행처리 동안에 데이터에 대한 논리적인 일관성을 보장해야 함

로킹(Locking) 기법 등과 같은 병행 수행 제어 기법 등이 사용되어야 함

로킹기법 : 고유 가능한 데이터에 대한 접근을 상호배타적으로 통제하는 병행수행제어기법으로 데이터의 논리적 일관성 보장

 

-의미적 무결성 보장

데이터베이스는 데이터에 대한 허용값을 통제함으로써 변경 데이터의 논리적 일관성을 보장해야 함

 

-감사기능

데이터베이스에 대한 모든 접근에 대한 감사기록을 생성해야 함

 

-사용자 인증

DBMS는 운영체제의 사용자 인증과 별개로 엄격한 인증이 요구됨

 

 

 

* Downloader

- 특수한 형태의 악성코드로, 감염이 되고 나면 지정된 주소에 접속하여 추가 악성코드를 다운받아 실행시킨다.

- 백신을 우회하는 목적으로 사용된다.

 

 

 

* Dropper

-파일에서 새로운 악성코드를 생성하는 악성 프로그램

-지정한 주소로 들어가 악성코드를 다운로드 하는 다운로더와 다르게 자신의 내부에 압축해서 가지고 있던 코드를 이용하여 새로운 악성코드를 생성하여 시스템을 감염시킨다.

-코드가 압축된 형태로 저장되어 있어 백신에서 탐지가 어렵다.

 

 

* Injector

-특수한 형태의 드롭퍼로 악성코드 파일을 새로 생성하는 것이 아니라, 가지고 있는 코드를 이용해 바로 프로세스를 만들어 메모리에 상주시킨다.

 

 

* 바이러스나 웜에 감염되었을 때 숨기기 쉬운 파일

-일반 시스템 프로세스로 쓰이기 때문에 일부 악성 코드가 이따금씩 스스로를 가장하여 "svchost.exe"라는 프로세스 이름을 사용하는 경우가 있다.

 

 

 

* 블록체인 (Blockchain)

-많은 노드가 P2P 네트워크로 연결되어 사용자의 트랜잭션을 처리하는 시스템으로서, 트랜잭션에 대한 기록을 순차적으로 저장하는 일종의 분산 데이터베이스

-특징

한 번 기록된 내용은 변경이 거의 불가능함

모든 노드가 동일한 트랜잭션에 대한 처리 기록을 가지도록 하여야 함

 

반응형

댓글