16 정보보안
Section 1. SW개발 보안 설계
1. 정보보안
⑴ 정보보안 개념
- 기업의 정보 및 정보 시스템에 대해서 허가되지 않은 접근, 변경, 삭제 등으로부터 보호하는 것
⑵ 정보보안 요소
■ 기밀성(Confidentiality)
- 인가된 사용자만 정보 자산에 접근할 수 있도록 한다.
■ 무결성(Integrity)
- 적절한 권한을 가진 사용자가 인가된 방법으로만 정보를 변경할 수 있도록 접근 통제한다.
■ 가용성(Availability)
- 원하는 시점에 언제든 정보 자산에 접근이 가능하도록 한다.
■ 인증(Authentication)
- 접속한 사용자가 허가받은 사용자인지 확인하는 것
■ 부인방지(Non-repudiation)
- 정보를 보낸 사람이 나중에 정보를 보냈다는 것을 발뺌(부인)하지 못하도록 하는 것
⑶ 인증제도
① ISMS(정보보호 관리체계 인증)
- 정보통신망의 안전성 확보를 위하여 수립하는 기술적, 물리적, 관리적 보호조치 등 종합적인 정보보호 관리체계에 대한 인증제도
② PIMS(개인정보보호 관리체계 인증)
- 기관 및 기업이 개인정보보호 관리체계를 갖추고 체계적 · 지속적으로 보호 업무를 수행하는지에 대해 객관적으로 심사하여 기준 만족 시 인증 부여
③ ISMS-P(정보보호 및 개인정보보호 관리체계 인증)
- 정보보호 및 개인정보보호를 위한 일련의 조치와 활동이 인증기준에 적합함을 인터넷진흥원 또는 인증기관이
증명하는 제도
ISMS : 회사 인증잘하고잇는지(기술 물리 관리) 마크부여
PIMS: 개인정보중요성 인식후 만들어짐
ISMS-P : ISMS랑 PIMS합침
2. Secure SDLC(Software Development Life Cycle)
⑴ Secure SDLC 의 개념
- 보안상 안전한 소프트웨어를 개발하기 위해 SDLC(Software Development Life Cycle)에 보안 강화를
위한 프로세스를 포함한 것
⑵ Secure SDLC 방법론
① CLASP(Comprehensive, Lightweight Application Security Process)
- SDLC의 초기 단계에서 보안을 강화하기 위해 개발된 방법론
- 현재 운용중인 시스템에 적용하기에 적합함
② MS-SDL
- MS사에서 안전한 소프트웨어 개발을 위해 기존의 SDLC를 개선한 방법론
③ Seven Touchpoints
- 소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론
3. 시큐어 코딩(Secure Coding)
⑴ OWASP(The Open Web Application Security Project)
- 오픈소스 웹 애플리케이션 보안 프로젝트
⑵ 시큐어 코딩 가이드
① 입력 데이터 검증 및 표현
- 프로그램 입력값에 대한 검증 누락 또는 부적절한 검증, 데이터형식을 잘못 지정하여 발생하는 보안 약점
② 보안기능
- 보안 기능을 부적절하게 구현하는 경우 발생할 수 있는 보안 약점
③ 시간 및 상태
- 동시 수행을 지원하는 병렬 시스템이나 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안 약점
④ 에러 처리
- 에러를 처리하지 않거나 불충분하게 처리하여 에러 정보에 중요 정보가 포함될 때 발생할 수 있는 보안 약점
⑤ 코드 오류
- 개발자가 범할 수 있는 코딩 오류로 인해 유발되는 보안 약점
⑥ 캡슐화
- 중요한 데이터 또는 기능성을 불충분하게 캡슐화하거나 잘못 사용해 발생하는 보안 약점
⑦ API 오용
- 의도된 사용에 반하는 방법으로 API를 사용하거나 보안에 취약한 API를 사용하여 발생할 수 있는 보안 약점
API는 외부에서만든거니까 함부로갖다씀 안됨
Section 2. SW개발 보안 구현
1. 암호 알고리즘
-단방향: p에서 c로 왔다갔다 못함
-양방향: p에서 c로 왔다갔다 할수잇음
양방향은 대칭키와 비대칭키로 나눔
대칭키는 암호화키 복호화키 같은거
비대칭키는 암호화키 복호화키 다른거
대칭키에 스트림방식과 블록방식 있음
스트림방식은 쭉쏘면서 XOR연산을 계속 매겨 암호화
블록방식은 덩어리만들면서 암호화
비대칭키에 인수분해.이산대수.타원곡선방정식 있음
대칭키는 속도빠름 많은양암호화가능
비대칭키는 속도느림 양적음
⑴ 암호 방식에 따른 분류
⑵ 대칭키 암호(Symmetric key)
① 대칭키 암호 개념
- 암호화할 때의 키와 복호화할 때의 키가 동일한 암호 시스템
② 블록암호 알고리즘
알고리즘
DES
3-DES
AES
SEED
설명
- 64bit 블록, 56bit 암호화 키 사용
- Feistel 암호 방식을 사용한다.
- 암호화 키 2개를 사용하여 암호화→복호화→암호화 순으로 암호화
- 128bit 평문을 128/192/256bit로 암호화
- SPN 암호 방식을 사용한다.
- 순수 국내기술로 개발한 128비트 및 256비트 대칭 키 블록의 암호 알고리즘
- 국가 보안 기술 연구소(NSRI) 필두로 학계, 국가 정보원 등의 암호 기술 전문가들이 개발한
ARIA
국가 암호화 알고리즘
- AES 알고리즘과 똑같이 128/192/256비트 암호화키를 지원한다.
- 1990년 스위스에서 만들어진 PES를 개량하여 만들어진 블록 암호 알고리즘
IDEA
- 키길이가 128bit, 블로길이가 64bit
- Feistel 방식과 SPN의 중간형태 구조
③ 스트림암호 알고리즘
알고리즘
설명
- LFSR은 현재 상태에서 선형 연산을 통해 다음 상태를 생성하는 레지스터
LFSR
- 스트림 암호의 난수를 생성하는 용도로 많이 사용한다.
- 블록암호에 비해 경량 및 고속 동작이 용이하다.
- 로널드 라이베스트가 만들었다.
RC4
- 각 단계에서 키스트림 한 바이트를 생성한다.
- LFSR의 구조를 가지지 않으며 옥텟 단위를 기반으로 한다.
- 비트 단위의 암호화 보다 실행속도가 빠르다.
A5
- 시프트 레지스터를 기반으로 사용
- GSM 휴대폰 체계에 사용
⑶ 비대칭키 암호
① 비대칭키 암호 개념
Ÿ 암호화와 복호화에 이용하는 키가 다른 방식
Ÿ 공개 키 암호 방식이라고도 한다.
② 비대칭키 알고리즘
구분
설명
RSA
- 대표적인 공개키 암호 알고리즘
소인수 분해 기반
Robin
Diffie-Hellman
이산대수 기반
DSA
ELGamal
타원 곡선
ECC
- 1979년 Robin이 개발, RSA보다 빠르다.
- 키관리 센터 없이 공개키 전달 가능
- 미국의 전자서명 표준
- 같은 평문에서 다른 암호문의 생성이 가능
- 타원 곡선상의 이산대수를 이용
⑷ 단방향 암호화
① 단방향 암호화 개념
- Hash를 이용하여 암호화하는 과정
- 평문을 암호화 할 순 있지만, 복호화는 불가능하다.
② 해시 함수 특성
특성
설명
역상 저항성
- 해시 값이 주어졌을 때, 그 해시 값을 생성하는 입력값을 알아내기가 불가능하다는 특성
제 2역상 저항성
충돌 저항성
- 어떤 입력 값과 동일한 해시 값(결과 값)을 가지는 다른 입력 값을 찾을 수 없어야
한다는 특성
- 해시 값(결과 값)이 같은 두 개를 찾을 수 없다는 특성
③ 해시 함수 종류
종류
설명
- 128 비트 암호학 해시 함수이다.
MD5
- 1991년에 MD4를 대체하기 위해 고안되었다.
- 1996년에 암호화 결함이 발견되었고 2008년에 결함을 이용해 SSL 인증서를 변조하는
것이 가능하다고 발표되었다.
SHA
- 미국 국가안보국(NSA)가 설계 했으며 미국 국가 표준으로 지정되어있다.
- SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
④ 암호학적 해시 함수의 결점
- 무차별 대입 공격(Brute-force attack)
- Rainbow table 공격
⑤ 암호학적 해시 함수의 보완
■ 키 스트레칭(Key Stretching)
- 해시 암호화를 여러 번 반복하여서 암호학적 문제가 발생하는 점을 줄일 수 있다.
- 무차별 대입 공격 을 방지하는 효과가 있다.
■ 솔팅(Salting)
- 데이터 앞/뒤에 임의의 값을 넣어 해시값을 만든다.
- Rainbow Table 공격을 방지하는 효과가 있다.
Section 3. 인증과 접근통제
1. 인증과 인가
⑴ 인증(Authentication)
① 인증의 개념
- 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차
② 인증 유형
- 지식 기반 인증
- 소유 기반 인증
- 생체기반 인증
- 행위기반 인증
- 위치기반 인증
⑵ 인가(Authorization)
- 로그인 후, 인증된 사용자에게 권한을 부여한다.
- 권한에 따라 사용 가능한 기능이 제한된다.
⑶ 인증방식
① 계정 정보를 요청 헤더에 넣는 방식
② Cookie/Session 방식
③ 토큰 기반 인증 방식(JSON Web Token, jwt)
④ SSO(Single Sign-On)
2. 접근 통제
⑴ 접근 통제 개념
- 정당한 사용자에게는 권한을 부여하고 그 외의 다른 사용자는 거부하는 것
⑵ 접근 통제 과정
① 식별(Identification)
- 사용자 ID를 확인하는 과정
② 인증(Authentication)
- 패스워드가 정확한지 확인
③ 인가(Authorization)
- 읽고, 쓰고, 실행시키는 권한을 부여
⑶ 접근 통제 정책
정책
MAC
DAC
RBAC
권한부여
시스템
데이터 소유자
중앙관리자
접근결정
보안등급(Label)
신분(Identity)
역할(Role)
정책변경
고정적(변경 어려움)
변경 용이
변경 용이
장점
안정적, 중앙 집중적
구현 용이, 유연함
관리 용이
⑷ 접근 통제 모델
① 벨-라파둘라 모델(BLP, Bell-LaPadula Confidentiality Model)
- 미 국방부 지원 모델로 기밀성을 강조한 모델이다.
- 정보가 높은 레벨에서 낮은 레벨로 퍼지는 것을 방지한다.
- No Read Up, No Write Down
② 비바 모델(Biba Integrity Model)
- 무결성을 위한 상업용 모델이다.
- 무결성의 3가지 목표 중 비인가자의 데이터 수정 방지 가능
- No Read Down, No Write Up
③ 클락-윌슨 모델(Clark-Wilson Integrity Model)
- 무결성 중심의 상업용 모델이다.
④ 만리장성 모델(Chinese Wall Model, Breswer-Nash Model)
- 충돌을 야기하는 어떠한 정보의 흐름도 차단해야 한다는 모델로 이익 충돌 회피를 위한 모델
- 금융 서비스 제공 회사가 이해 충돌의 발생을 막기 위한 내부 규칙
Section 4. 시스템 보안 구현
1. 취약점 분석
⑴ 보안 취약점
- 정보시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협
⑵ 보안 취약점 점검 분류
① 관리적 관점
② 기술적 관점
③ 물리적 관점
2. 보안관제
⑴ 보안관제 개념
- 24시간 정보자산을 지키기 위해 모니터링하고, 외부의 공격자가 전달하는 패킷을 관측한다.
- 실제 침해사고 시 CERT(Computer Emergency Response Team)팀이 대응함
⑵ 통합로그 분석 장비
- ESM(Enterprise Security Management)
- SIM(Security Information and event Management)
- SOAR
3. 보안 운영체제(Secure-OS), 신뢰성 운영체제(Trusted OS)
⑴ 보안 운영체제 개념
- 컴퓨터 운영체제 상에 내재된 보안상의 결함으로 인하여 발생할 수 있는 각종 해킹으로부터 시스템을 보호하기 위하여 기존의 운영체제 내에 보안 기능을 추가한 운영체제
⑵ 보안 운영체제 목적
① 안정성
- 중단 없는 안정적인 서비스를 지원함
② 신뢰성
- 중요 정보의 안전한 보호를 통한 신뢰성 확보
③ 보안성
- 주요 서버에 대한 침입차단 및 통합 보안관리
4. 보안 솔루션
⑴ 방화벽(firewall)
- 기업이나 조직 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여, 수용/거부/수정하는 기능을
가진 침입차단 시스템
⑵ 웹방화벽(Web Firewall)
- SQL 삽입공격, Cross-Site Scripting(XSS) 등의 웹기반 공격을 방어할 목적으로 만들어진 웹서버 특화
방화벽
방화벽은 와스 앞단에 세우는 물리적장비
웹방화벽은 와스에 세움
⑶ 침입탐지시스템(IDS; Intrusion Detection System)
- 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 "실시간"으로 탐지하는 시스템
탐지만 하고 차단은 못함
■ 침입탐지 방식에 따른 분류
- 오용탐지 : 미리 입력해 둔 공격 패턴이 감지되면 이를 알려준다.
- 이상탐지 : 평균적인 시스템의 상태를 기준으로 비정상적인 행위나 자원의 사용이 감지되면 알려준다.
■ 침입탐지 대상에 따른 분류
- 네트워크 기반 IDS(NIDS) : 네트워크 패킷을 분석하여 침입을 탐지한다.
- 호스트 기반 IDS(HIDS) : 로그 분석과 프로세스 모니터링을 통한 침입을 탐지한다.
⑷ 침입방지시스템(IPS; Intrusion Prevention System)
- 방화벽과 침입탐지시스템을 결합한 것
- 탐지 후 방화벽 가동
⑸ 데이터유출방지(DLP; Data Leakage/Loss Prevention)
- 내부 정보의 외부 유출을 방지하기 위한 보안솔루션
회사자료를 내 유에스비에 복사못함
⑹ VPN(Virtual Private Network, 가상 사설 통신망)
- 인터넷 등 통신 사업자의 공중 네트워크에 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안솔루션
회사아이피는 1번, 집아이피(2번)로 회사자원에 접근못함
재택근무위해 vpn프로그램을 설치하면 2번 아이피를 1번으로 바꿔줌
⑺ NAC(Network Access Control)
- 네트워크에 접속하는 내부PC의 MAC주소(고유랜카드주소)를 IP관리 시스템에 등록한 후 일관된 보안관리 기능을 제공하는 보안솔루션
- 내부PC의 소프트웨어 사용현황을 관리하여 불법적인 소프트웨어 설치를 방지
nac이용해 회사에서 외부시스템 접근 차단
⑻ ESM(Enterprise Security Management)
- 다양한 장비에서 발생하는 로그 및 보안 이벤트(방화벽, IDS, IPS, 웹방화벽, VPN 등)를 통합관리 하는 보안 솔루션
- 종합적인 보완관리체계 수립
5. 방화벽(firewall)
⑴ 구현방식에 따른 유형
유형
설명
- 네트워크 계층과 전송 계층에서 동작한다.
패킷 필터링 (Packet Filtering)
- IP주소, Port주소 등의 데이터를 바탕으로 방화벽 정책을 세워 패킷을 필터링 한다.
- 다른 방화벽에 비해 속도가 빠르다.
애플리케이션 게이트웨이 (Application Gateway)
- 응용계층에서 동작한다.
- 로그에서 다양한 정보를 얻어 여러 기능을 추가할 수 있다.
회선 게이트웨이 (Circuit Gateway)
- 응용계층과 세션 계층 사이에서 동작한다.
상태 기반 패킷 검사 (Stateful Packet Inspection)
- OSI 의 모든 계층에서 패킷을 분석하여 차단하는 기능
- 방화벽 중 가장 강력하다.
혼합형 타입 (Hybrid Type)
- 서비스 종류에 따라 복합적으로 구성한다.
⑵ 방화벽 시스템 구축 유형
① 스크리닝 라우터(Screening Router)
- IP, TCP, UDP의 헤더 부분에 포함된 내용만 분석하여 동작한다.
- 내부 네트워크와 외부 네트워크 사이의 패킷을 허용/거부하는 라우터이다.
- 비용이 적게 들지만, 패킷 내의 데이터는 차단 및 관리 어렵다.
② 베스천 호스트(Bastion Host)
- 내부 네트워크로 진입하기 전에 베스천 호스트를 두어 내부 네트워크를 전체적으로 보호한다.
- 접근 제어를 기본으로 프록시 기능을 사용하며, 인증, 로깅 등의 여러 작업을 수행한다.
- 스크린 라우터보다 안전하고, 로그 생성 관리가 용이하다.
③ 듀얼 홈드 호스트(Dual-Homed Host)
- 2개의 인터페이스를 가진 베스천 호스트로, 하나의 NIC은 내부 네트워크 연결, 다른 NIC는 외부 네트워크와 연결한다.
④ 스크린드 호스트(Screened Host)
- 패킷 필터 라우터와 베스천 호스트로 구성되어 있다.
- 패킷 필터 라우터는 내/외부 패킷을 통과시킬 것인지 결정한다.
- 베스천 호스트는 내/외부 네트워크 시스템에 대한 인증을 담당한다.
⑤ 스크린드 서브넷(Screened Subnet)
- 스크린드 호스트의 보안성 문제점을 해결한 것이다.
- 외부 네트워크와 내부 네트워크 사이에 하나 이상의 경계 네트워크를 두고, 내/외부 네트워크를 분리하기 위한 구조이다.
- 두 개의 스크리닝 라우터와 한 개의 베스천 호스트로 구성되어 있다.
6. 보안 프로토콜
⑴ SSH(Secure Shell Protocol)
- 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜
- 22번 포트를 사용한다.
저쪽컴퓨터에접속해서 원격으로 내컴퓨터처럼
옛날엔 텔넷사용햇는데 얘는 암호화가 안됨
SSH는 원격 및 데이터전송시 암호화
⑵ SSL(Secure Socket Layer)
- 웹 브라우저와 웹 서버 간에 데이터를 안전하게 주고 받기 위한 업계 표준 프로토콜
- SSL이 적용된 웹 페이지는 URL이 https 로 시작되며, 443번 포트를 사용한다.(http는 80포트)
웹브라우저 주소표시줄에 https:// 앞에 자물쇠잠김
아이디 패스워드 입력시 서버로 정보보낼때 평문으로 들어감
https는 암호화시켜 서버에 보내고 서버에서 복호화함
⑶ TLS(Transport Layer Security)
- 전송계층을 기반으로 개발 되었다.
- 데이터의 정보 보호와 무결성을 제공하기 위해 만들어졌다.
⑷ IPSec
① IPSec 개념
- IP계층(네트워크 계층)을 안전하게 보호하기 위한 기법
- 패킷에 대한 보안을 제공한다.
② 동작모드
■ 전송 모드(Transport Mode)
- IP 헤더를 제외한 IP 패킷의 페이로드(Payload)만을 보호한다.
■ 터널 모드(Tunneling Mode)
- IP 패킷 전체를 보호한다.
전송모드 : 세그먼트만 보호
터널모드 : 헤더.세그먼트 다 보호
세그먼트에 헤더(목적지 발신지 아이피주소등)붙임
③ 프로토콜
■ AH(Authentication Header)
- 메세지 인증 코드(MAC)를 이용하며 무결성(Data Integrity)과 인증(Authentication) 기능 제공
■ ESP(Encapsulating Security Payload)
- AH가 가진 무결성과, 인증도 제공하고 추가적으로 대칭키 암호화를 통해 기밀성(Confidentiality) 제공
■ IKE(Internet key Exchange)
- IPSec에서 키 교환에 사용되는 프로토콜
⑸ S-HTTP (Secure HTTP)
- 웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나이다.
- 웹상의 파일들이 안전하게 교환될 수 있도록 해주는 HTTP의 확장판이다.
SSL과 비슷
아이디:데이터 /패스워드:데이터 일때
SSL은 데이터 앞 글자까지 다 암호화
S-HTTP는 데이터만 암호화
7. 스토리지
⑴ 스토리지 개념
- 컴퓨터에 데이터를 저장하는 저장소의 역할을 수행하는 부품
⑵ 스토리지 종류
① DAS(Direct Attachted Storage)
② NAS(Networt Attached Storage)
③ SAN(Storage Area Network)
DAS : 직접 꼽으니 연결수 제한
NAS : 계속확장가능
SAN : 네트워크연결인데 고속광채널
⑶ RAID(Redundant Array of Inexpensive Disks)
① RAID 개념
- 복수의 HDD를 하나의 드라이브와 같이 인식하고 표기한다.
② RAID 구성
- 스트라이핑(Striping) : 논리적으로 연속된 데이터들이 물리적으로 여러 개의 디스크에 라운드로빈 방식으로
저장되는 형태
- 미러링(Mirring) : 데이터를 그대로 복제하는 것으로 신뢰성 확보를 위해 사용됨
③ RAID 형태
■ RAID-0
- 빠른 데이터 입출력을 위해 스트라이핑을 사용하는 방식으로, 디스크의 모든 용량을 사용한다.
■ RAID-1
- 두 개 이상의 디스크를 미러링을 통해 하나의 디스크처럼 사용한다.
■ RAID-2
- 오류 정정을 위한 해밍코드를 사용하는 방식
■ RAID-3
- 하나의 디스크를 패리티(Parity) 정보를 위해 사용하고 나머지 디스크에 데이터를 균등하게 분산 저장
■ RAID-4
- RAID-3 과 같이 패리티 정보를 독립된 디스크에 저장한다.
- 블록(Block)단위로 분산 저장하는 차이가 있다.
■ RAID-5
- 3개 이상의 디스크를 붙여서 하나의 디스크처럼 사용하고 각각의 디스크에 패리티 정보를 가지고 있는 방식
■ RAID-6
- 하나의 패리티를 두 개의 디스크에 분산 저장하는 방식
8. 고가용성(HA, High Availability)
- 서버와 네트워크, 프로그램 등의 정보 시스템이 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질
장애 발생 대비해 액티브서버에 스탠바이서버를 둠
Section 5. 서비스 공격 유형
1. DoS(Denial of Service) 공격
⑴ DoS 공격의 개념
- 대상 시스템이 정상적인 서비스를 할 수 없도록 가용성을 떨어뜨리는 공격
- 대상 시스템에 과도한 트래픽을 보내거나, 트래픽 발생을 유도함으로써 정상적인 운영이나 서비스가 될 수
없게 하는 공격
인가 안된 사용자가 공격
DoS 내가 공격 / DDoS 쫄따구가 공격
⑵ 공격 목표
- 물리적인 파괴 (디스크 및 시스템 파괴)
- 시스템 자원 공격 (CPU , Memory , Disk의 자원고갈)
- 네트워크 자원 공격 (대역폭 고갈)
⑶ DoS 공격 유형
① Smurf Attack
- 여러 호스트들로 하여, 특정 대상에게 다량의 ICMP Echo Request 를 보내게 하는 공격 방법
- IP와 ICMP 의 특성을 이용한다.
- 공격자는 IP 주소를 공격 서버의 IP 주소로 위장하고, ICMP Request 패킷을 브로드캐스트를 통해 다수의
시스템에 전송한다. 이 때 브로드캐스트를 수신한 다수의 시스템은 ICMP Echo Reply 패킷을 공격자가 아닌 공격 대상의 서버로 전송하게 되면서 부하를 발생시킨다.
공격아이피1번 네이버아이피2번
헤드에 발신주소목적지를 1번으로써야하는데 2번으로씀
이것들을 과도하게 공격
② Ping Of Death
- 규정 크기 이상의 ICMP 패킷으로 시스템을 마비시키는 공격 방법
- ICMP 패킷을 정상적인 크기보다 크게 만들어 공격 대상에게 전송하면, 사이즈가 크기 때문에 패킷을
나눠서 보내게 된다. 공격대상은 쪼개진 패킷을 조립하는 과정에서 많은 부하가 발생하고, 재조합 버퍼의 오버플로우가 발생하여 정상적인 서비스가 불가능해진다.
- 반복적으로 들어오는 일정 수 이상의 ICMP 패킷을 무시하는 방법으로 대응한다.
③ Land Attack
- 출발지 IP와 목적지 IP가 같은 패킷을 만들어 보내는 공격 방법
- 수신자가 응답을 보낼 때, 목적지 주소가 자기 자신이므로 SYN 신호가 계속 자신의 서버를 돌게 되어
서버의 자원을 고갈 시켜 가용성을 파괴한다.
- 방화벽에서 출발지와 목적지가 같은 패킷은 모두 제거하여 대응한다.
④ Teardrop Attack
- 재조합을 할 수 있는 fragment number를 위조하는 공격 방법
- 데이터를 보낼 때, 데이터를 나누고, 재조립 할 수 있는 fragment number를 부여 하는데,
fragment number를 위조하여 재조합이 안 되어 다운되게 하는 공격
재조합못하게함
ping of death는 재조합할때 부하걸림
⑤ SYN Flooding
- TCP의 연결과정(3Way Handshaking)의 취약점을 이용한 공격 방법
- 공격자가 SYN 신호만 전달하고, ACK 응답을 받지 않아, Backlog queue에 연결 정보를 계속 쌓게 하여
정상적인 서비스 제공이 불가능하게 만드는 공격
⑥ UDP Flooding
- 다량의 UDP 패킷을 전송하여 네트워크 자원을 고갈시키는 공격
⑦ Ping Flooding
- 특정 사이트에 매우 많은 ICMP Echo를 보내면, 이에 대한 응답(Respond)을 하기 위해 시스템 자원을
모두 사용해버려 시스템이 정상적으로 동작하지 못하도록 하는 공격 방법
2. DDoS(Distributed Denial of Service attack) 공격
⑴ DDoS 공격의 개념
- 특정 서버(컴퓨터)나 네트워크 장비를 대상으로 많은 데이터를 발생시켜 장애를 일으키는 대표적인 서비스
거부 공격
- 분산된 다수의 좀비 PC를 이용하여 공격 대상 시스템의 서비스를 마비시키는 공격 형태
⑵ DDoS 공격 구성
① 공격자(Attacker)
- 해커의 시스템
② 명령 제어(C&C:Command and Control)
- 공격자로부터 공격 명령을 전달 받는 시스템
③ 좀비(Zombie) PC
- C&C의 명령을 받고 실제 공격을 수행하는 다수의 PC
④ 공격 대상(Target)
- 좀비 PC의 공격을 받는 대상 시스템
⑶ DDoS 공격 툴의 종류
① Trinoo(트리누)
- Master/Agent 로 구성되어 있으며 Master의 명령으로 Agent가 작업을 수행하는 DDos 공격 도구
- UDP Flooding 공격을 수행한다.
- 목표 시스템에 대량의 UDP 패킷이 전송되어 시스템을 다운 시킨다.
② TFN(Tribal Flood Network)
- Master와 Agent의 통신에는 ICMP ECHO-REPLY 메시지를 사용한다
③ Stacheldraht(슈타첼드라트)
- Trinoo의 네크워크 구조와 TFN의 다양한 공격방법, Communication 상의 encryption 기능을 포함한 공격도구
3. 기타 해킹 기법
■ 웜(Worm)
- 네트워크를 통해 자신을 복제하고 전파할 수 있는 악성 프로그램
■ 바이러스(Virus)
- 파일, 부트, 메모리 영역에서 스스로를 복사하는 악성프로그램으로 파일 속에 숨어 옮겨 다닌다.
■ 트로이목마(Trojan)
- 겉으로 보기에는 전혀 해를 끼치지 않을 것처럼 보이고 자기 복제 능력이 없지만 실제로는 바이러스 등의
위험인자를 포함하고 있는 프로그램
■ 혹스(Hoax)
- 남을 속이거나 장난을 친다는 뜻으로, 말 그대로 가짜 바이러스를 말한다.
■ 포트 스캐닝(Port Scanning)
- 서버에 열려있는 포트를 확인 후 해당 포트의 취약점을 이용한 공격
- Nmap을 이용해 열린포트, 호스트, 버전 등을 탐지할 수 있다.
■ 스니핑 공격(Sniffing Attack)
- 네트워크로 전송되는 패킷을 훔쳐보는 공격
■ Smishing(SMS phishing)
- 문자메시지를 이용한 피싱
■ Qshing
- QR코드를 통해 악성 링크로 접속을 유도하거나 직접 악성코드를 심는 금융범죄 기법
■ 세션 하이재킹(Session Hijacking)
- 이미 인증을 받아 세션을 생성, 유지하고 있는 연결을 빼앗는 공격
■ IP Spoofing
- 자신의 IP 주소를 속여서 접속하는 공격
■ ARP Spoofing
- ARP 프로토콜의 허점을 이용하여 자신의 MAC(Media Access Control) 주소를 다른 컴퓨터의 MAC인 것처럼 속이는 공격
■ DNS Spoofing
- DNS 서버로 보내는 질문을 가로채서 변조된 결과를 보내주는 것으로 일종의 중간자 공격
■ SQL injection
- 코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격
■ Rainbow Table
- 해시함수(MD-5, SHA-1, SHA-2 등)를 사용하여 만들어낼 수 있는 값들을 대량으로 저장한 테이블
rainbow table 방지 위해 sort
■ Backdoor
- 정상적인 인증 절차를 거치지 않고, 응용프로그램 및 시스템에 접근할 수 있도록 만든 프로그램
- 탐지방법 : 현재 동작 중인 프로세스 및 열린 포트 확인, SetUID 파일 검사, 무결성 검사(tripwire),로그분석 등
■ Password Cracking
- 시스템의 비밀번호를 각종 툴(프로그램)을 통해 알아내는 공격 기법
■ Format String Attack
- 문자열의 출력 포맷을 애매하게 설정할 때의 취약점을 포착하여, 메모리의 RET 위치에 악성코드 주소를 입력하여 공격하는 기법
■ APT(Advanced Persistent Threat)
- 지속적이고 지능적인 해킹 공격의 통칭
■ CSRF(Cross-site requset forgery)
- 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 해킹 공격
■ XSS(Cross-Site Scripting)
- 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법
■ Nucking
- 특정 아이피에 대량의 패킷을 보내 인터넷 접속을 끊는 크래킹의 일종
■ Buffer Overflow
- 버그의 일종 또는 이를 이용한 공격 방법
- 프로그램이 실행될 때 입력받는 값이 버퍼를 가득 채우다 못해 넘쳐흘러 버퍼 이후의 공간을 침범하는 현상
- 방어기법 : 스택가드(Stackguard), 스택쉴드(Stack Shield), ASLR(Address Space Layout Randomization)
■ 부채널 공격(side channel attack)
- 암호 알고리즘을 대상으로 한 물리적 공격 기법
■ Brute Force
- 조합 가능한 모든 문자열을 하나씩 대입해 공격
■ Dictionary Attack
- 암호화되어 저장된 패스워드를 알아내기 위한 공격 방법 중 하나
■ Key Logger Attack
- 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 등 개인의 중요한 정보를 몰래 빼가는 해킹 공격
■ 스파이웨어(Spyware)
- 스파이와 소프트웨어 합성어로, 광고나 마케팅을 목적으로 배포되는게 대부분이어서 애드웨어(Adware)라고도 한다.
■ 랜섬웨어(Ransomware)
- 컴퓨터 시스템을 감염시켜 접근을 제한하고 일종의 몸값을 요구하는 악성 소프트웨어의 한 종류이다.
■ 제로데이 공격(Zero-Day Attack)
- 컴퓨터 소프트웨어의 취약점(exploit)을 공격하는 기술적 위협으로, 해당 취약점에 대한 패치가 나오지 않은 시점에서 이루어지는 공격
■ 사회공학(social engineering)
- 기술적인 방법이 아닌 사람들 간의 기본적인 신뢰를 기반으로 사람을 속여 비밀정보를 획득하는 기법
■ Evil Twin Attack
- 와이파이(WiFi) 무선 네트워크에서 공격자가 가짜 AP(Access Point)를 구축하고 강한 신호를 보내어
사용자가 가짜 AP에 접속하게 함으로써 사용자 정보를 중간에서 가로채는 기법
■ Bluebug
- 블루투스 장비간 취약한 연결관리를 이용한 공격
- 한번 연결되면 이후에는 다시 연결해주지 않아도 자동으로 연결되는 인증 취약점 이용
■ BlueSnarf
- 블루투스 취약점을 이용하여 장비의 임의의 파일에 접근하는 공격
- 인증없이 정보를 교환하는 OPP 기능을 사용하여 파일에 접근
■ BluePrinting
- 블루투스 공격장치의 검색 활동
■ Switch Jamming
- 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장
기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격
■ Honeypot
- 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템
- 침입자를 속여 실제 공격을 당하는 것처럼 보여줌으로써 크래커를 추적 및 공격기법의 정보를 수집하는 역할을 한다.
- 쉽게 공격자에게 노출되어야 하며 쉽게 공격이 가능한 것처럼 취약해 보여야 한다.
17 신기술 용어
Section 1. S/W 개발 동향
1. 중앙 집중식 인프라, 클라우드 서비스
⑴ 클라우드 서비스 개념
- 인터넷 기반의 컴퓨팅
⑵ 서비스 제공 형태
■ 퍼블릭 클라우드(Public Cloud, 공공 클라우드, 개방형 클라우드)
- 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스 모델
■ 프라이빗 클라우드(Private Cloud, 사설 클라우드, 폐쇄 클라우드)
- 제한된 네트워크 상에서 특정 기업이나 특정 사용자만을 대상으로 하는 클라우드
■ 하이브리드 클라우드(Hybrid Cloud)
- 퍼블릭 클라우드와 프라이빗 클라우드를 병행해 사용하는 방식
⑶ 서비스 유형
종류
IaaS (Infrastructure as a Service)
PaaS (Platform as a Service)
SaaS (Software as a Service)
BaaS (Blockchain as a Service)
설명
클라우드로 IT 인프라 자원을 제공하는 서비스
사용자가 소프트웨어를 개발할 수 있는 클라우드 컴퓨팅 플랫폼
사용자가 필요로 하는 소프트웨어를 인터넷상에서 이용하는 클라우드 서비스
블록체인 기술 응용 서비스 개발과 관리를 클라우드 기반으로 더욱 편리하게
지원하는 서비스
⑷ 도커(Docker)
- 컨테이너 응용프로그램의 배포를 자동화하는 오픈소스 엔진
⑸ 하이퍼바이저(컴퓨팅 가상화 솔루션)
- 하나의 호스트 컴퓨터상에서 동시에 다수의 운영체제를 구동시킬 수 있는 하드웨어와 운영체제 사이의 소프트웨어 가상화 플랫폼
2. 소프트웨어 정의 기술(Software-Defined Everything, SDx)
⑴ 소프트웨어 정의 기술 개념
- 다양한 소프트웨어 정의(Software-Defined) 관련 기술을 하나로 통칭하여 부르는 용어
⑵ 종류
종류
SDN (Software-Defined Networking)
SDS (Software-Defined Storage)
설명
- 소프트웨어 정의 네트워킹
- 네트워킹 리소스를 가상화된 시스템으로 추상화하는 IT 인프라에 대한 하나의
접근 방식
- 비용 절감, 우수한 확장성 및 유연성, 관리 간소화
- 소프트웨어 정의 스토리지
- 하드웨어에서 스토리지 소프트웨어를 분리하는 스토리지 아키텍처
- 자동화, 표준 인터페이스, 가상화된 데이터 경로, 확장성, 투명성
SDC (Software-Defined Computing)
- 소프트웨어 정의 컴퓨팅
SDDC (Software-Defined Data Center)
- 소프트웨어 정의 데이터 센터
- 데이터센터의 모든 인프라인 네트워크, 스토리지, 컴퓨터, 보안 등이 가상화 되어
서비스로서 제공되는 차세대의 핵심적인 데이터센터 솔루션
- 인력 개입 없이 소프트웨어 조작만으로 자동 제어 관리한다.
3. 양자컴퓨터(quantum computer)
- 양자역학에서 양자얽힘, 중첩, 텔레포테이션 등의 효과를 이용해 계산하는 컴퓨터
- 기존 컴퓨터가 0과 1만 구분할 수 있는 반면, 양자 컴퓨터는 0과 1을 동시에 공존 시킬 수 있다.
- 현존 최고의 슈퍼 컴퓨터가 수백 년이 걸려도 풀기 힘든 문제도 단 몇 초 이내의 어마어마한 속도로
빠르게 풀 수 있을 것으로 전망된다.
- 양자 컴퓨터에서 자료의 양은 큐비트로 측정된다.
4. 블록체인(Blockchain)
- 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술
- ‘블록’은 개인과 개인의 거래(P2P)의 데이터가 기록되는 장부
- ‘블록’들을 형성된 후 시간의 흐름에 따라 순차적으로 연결된 체인의 구조를 가진다.
- 공공 거래장부 또는 분산 거래장부라고도 한다.
- 비트코인 시스템을 개발하면서 발생하는 문제를 블록체인을 개발, 적용함으로써 해결함
5. 인공지능(Artificial Intelligence)
⑴ 인공지능 개념
- 인간이 지닌 지적 능력의 일부 또는 전체, 혹은 그렇게 생각되는 능력을 인공적으로 구현한 것
⑵ 인공지능 분야의 기술
■ 기계 학습(Machine Learning)
- 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야
■ 인공 신경망
- 인간의 뉴런 구조를 본떠 만든 기계 학습 모델
■ 딥 러닝(Deap Learning)
- 머신러닝 알고리즘 중에 인공 신경망을 기반으로 한 방법들을 통칭
- 인공 신경망이라고도 하며, 텐서플로와 파이토치가 대표적인 라이브러리이다.
⑶ 인공지능 키워드
■ 사이킷런(scikit-learn)
- 2007년 구글 썸머 코드에서 처음 구현되었으며, 가장 널리 사용되는 머신러닝 패키지 중 하나
■ 텐서플로(TensorFlow)
- 구글이 만든 딥러닝 라이브러리
- CPU와 GPU를 사용해 인공신경망 모델을 효율적으로 훈련하며 모델 구축과 서비스에 필요한 다양한
도구를 제공
■ 파이토치(Pytorch)
- Facebook에서 개발하여 2016년 공개한 파이썬 기반의 오픈소스 머신러닝 라이브러리
■ 케라스(Keras)
- 2015년에 공개된 파이썬 기반의 오픈소스 신경망 라이브러리
6. 신속한 애플리케이션 개발
■ No Code
- 코드를 사용하지 않고 애플리케이션을 개발하는 것
- 코드를 전혀 모르는 사람들을 위해 뭔가를 쉽게 만들게 해주는 도구들
■ Low-Code
- 필요한 부품을 간단한 명령으로 조합하여 시스템을 만드는 개발 방법
- 디자이너, 제품담당자, 창업자, 엔지니어들이 (약간의 기술지식을 가지고) 빠르고 편하게 생산성을 향상
7. 클라이언트 측 웹 프레임워크
⑴ React
- 페이스북에서 개발
⑵ Vue.js
- Evan You에 의해 개발
⑶ AngularJS
- 구글에서 개발
⑷ Ajax(Asynchronous JavaScript and XML)
- 비동기적인 웹 애플리케이션의 제작을 위한 웹 개발 기법
8. 시맨틱 웹(semantic web)
⑴ 시맨틱 웹 개념
- 컴퓨터가 이해할 수 있는 방식으로 인터넷 웹사이트를 제작함으로써 인터넷에 존재하는 다양한 정보를
컴퓨터가 쉽게 이해하고 해석할 수 있도록 하는 것
⑵ 시맨틱 웹을 위한 HTML 태그(구조)
종류
header
nav
aside
설명
- 헤더
- 네비게이션
- 사이드에 위치하며 부차적인 내용을 담는 태그
section
- 본문의 여러 내용(article)을 포함하는 공간
article
- 본문의 주 내용이 들어가는 공간
footer
- 푸터
9. 온톨로지(Ontology)
⑴ 온톨로지 개념
- 사람들이 세상에 대해 느끼고 생각하며 합의한 바를 컴퓨터에서 다룰 수 있는 형태로 표현한 모델
⑵ 구성
- 클래스(Class)
- 인스턴스(Instance)
- 속성(Property)
- 관계(Relation)
10. 매시업(Mashup)
- 웹으로 제공하고 있는 정보와 서비스를 융합하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 것
- 기존의 자원을 활용하여 만들기 때문에 서비스 구축을 위한 비용이 적게 든다.
- 구글 지도에 부동산 매물 정보를 결합한 서비스인 구글의 하우징 맵스 등으로 활용된다.
11. 디지털 트윈(Digital Twin)
- 물리적 자산, 시스템 또는 프로세스를 소프트웨어로 표현하는 것
12. 메타버스(Metaverse)
- 가상을 의미하는 meta와 세계를 의미하는 universe의 합성어
Section 2. 네트워크 / 데이터베이스 신기술 용어
1. 네트워크 신기술 용어
■ IoT(Internet of Things), 사물 인터넷
- 실세계와 가상세계의 다양한 사물들을 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 시설
- 센싱 기술, 유무선 통신 및 네트워크 인프라 기술, 사물 인터넷 인터페이스 기술, 사물 인터넷을 통한 서비스 기술 등이 있다.
■ M2M(Machine to Machine), 사물 통신
- 기계와 기계 사이의 통신
- 기계, 센서, 컴퓨터 등 다양한 장치들이 유무선 통신 기술을 이용해 서로 정보를 교환한다.
■ BLE(Bluetooth Low Energy), 저전력 블루투스
- 2.4 GHz 주파수 대역 기반의 저전력 저용량 데이터 송수신이 가능한 블루투스 기술
- 대부분의 시간은 슬립 모드(sleep mode)로 있어 전력 소모가 매우 적다.
- 시계나 장난감, 비컨(beacon), 그리고 착용 컴퓨터(웨어러블 기기) 등에 많이 사용된다.
■ NFC(Near Field Communication), 근접 무선 통신
- 13.56 MHz 주파수를 이용한 자기 유도결합 기반의 근거리 자기장 통신 기술
- 수 cm 이내의 거리에서 개인 간 통신(P2P: Peer-To-Peer)을 지원하는 전파 식별(RFID) 기술의 일종
■ RFID(Radio Frequency IDentification), 전파 식별
- 전파 신호를 통해 비접촉식으로 사물에 부착된 얇은 평면 형태의 태그를 식별하여 정보를 처리하는 시스템
■ ZigBee, 지그비
- 저속, 저비용, 저전력의 무선망을 위한 기술
■ 지능형 초연결망
- 네트워크 전체에 소프트웨어 정의 기술(SDE)을 적용하는 차세대 국가망
■ Ad-hoc Network, 애드 혹 네트워크
- 노드(node)들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크
- 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서의 군사 네트워크 등이 있다.
■ Mesh Network
- 기존 무선 랜의 한계 극복을 위해 등장
- 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈네트워킹, 공공 안전 등의 특수목적을 위한 새로운 방식의 네트워크 기술
■ Mobile Computing, 이동 컴퓨팅
- 휴대형 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 있는 환경
■ 지능형 전력망
- 전력 에너지의 효율성을 증대하고 전력 품질을 고도화하고, 전력시스템의 안정성을 제공하기 위하여 기존의
전력 시스템에 IT 기술을 부가하는 새로운 개념의 IT 융합 기술
■ Smart Grid, 스마트 그리드
- 전기 및 정보통신기술을 활용하여 전력망을 지능화, 고도화함으로써 고품질의 전력서비스를 제공하고 에너지 이용효율을 극대화하는 전력망
■ Wi-Sun
- 스마트 그리드 서비스를 제공하기 위한 와이파이 기반의 저전력 장거리 통신기술
■ NDN(Named Data Networking), 근접 무선 통신
- 인터넷에서 콘텐츠 자체의 정보와 라우터 기능만을 이용하여 목적지로 데이터를 전송하는 기술
■ Piconet
- 여러 개의 독립된 통신 장치가 블루투스 기술이나 초광대역 무선(UWB) 통신기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
- 무선랜(WLAN)과 달리 전송을 위한 기반 구조가 미리 설정되지 않고 상황에 따라 기기들 간에 조정 프로토콜에 의하여 네트워크를 형성한다.
■ UWB(Ultra-WideBand technology), 초 광대역 기술
- 기존의 스펙트럼에 비해 매우 넓은 대역에 걸쳐 낮은 전력으로 대용량의 정보를 전송하는 무선통신 기술
- 대역폭이 500 MHz 이상이거나 비대역폭(FBW: Fractional Band Width)이 20% 이상인 신호를 이용한 근거리 무선 기술
■ SON(Self-Organizing Network), 자동 구성 네트워크
- 주변 상황에 자동적으로 적응하여 스스로 망을 구성하는 네트워크
■ GIS(Geographical Information System), 지리 정보 시스템
- 지도에 관한 속성 정보를 컴퓨터를 이용해서 해석하는 시스템
■ USN(Ubiquitous Sensor Network), 유비쿼터스 센서 네트워크
- 각종 센서에서 감지한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
■ WPAN(Wireless Personal Area Network), 무선 사설망
- 무선을 이용하는 개인영역네트워크
■ WDM(Wavelength Division Multiplexer), 파장 분할 다중화기
- 하나의 광섬유 채널을 빛의 파장에 의해서 분할하여 복수의 통신로로 사용할 수 있게 하는 장치
■ VPN(Virtual Private Network), 가상 사설 통신망
- 인터넷과 같은 공중망에 사설망을 구축하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션
■ MQTT(Message Queuing Telemetry Transport)
- TCP/IP 기반 네트워크에서 동작하는 발행-구독 기반의 메시징 프로토콜
- 사물통신, 사물인터넷과 같이 대역폭이 제한된 통신환경에 최적화하여 개발된 푸시기술 기반의 경량 메시지 전송 프로토콜
■ N-Screen
- 동일한 콘텐츠를 N 개의 이종 단말기에서 자유롭게 이용할 수 있는 서비스
- 하나의 콘텐츠를 TV나 PC, 태블릿 PC, 스마트 폰 등 다양한 기기에서도 끊김 없이 이용할 수 있게 해주는 서비스
■ Vlan(Virtual Local Area Network)
- 물리적 배치와 상관없이 논리적으로 LAN을 구성할 수 있는 기술
- 네트워크 리소스 보안을 높이고, 비용을 절감할 수 있다.
2. 데이터베이스 신기술 용어
■ 빅데이터(Big Data)
- 디지털 환경에서 발생하는 대량의 모든 데이터
- 기존 데이터베이스 관리 도구의 능력을 넘어서 데이터에서 가치를 추출하고 결과를 분석하는 기술
- 빅데이터의 특징 : 규모(Volume), 다양성(Variety), 속도(Velocity), 정확성(Veracity)과 가치(Value)
■ 정형 데이터(Structured data)
- 미리 정해 놓은 형식과 구조에 따라 저장되도록 구성된 데이터
■ 비정형 데이터(Unstructured data)
- 정의된 구조가 없이 정형화되지 않은 데이터
■ 메타 데이터(Meta Data)
- 데이터에 대한 데이터
- 데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해 주는 데이터
■ 데이터웨어하우스(Data Warehouse)
- 기간시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스
- 정보에 입각한 의사 결정을 내릴 수 있도록 분석 가능한 정보의 중앙 리포지토리
■ 데이터 마트(Data Mart)
- 데이터의 한 부분으로서 특정 사용자가 관심을 갖는 데이터들을 담은 비교적 작은 규모의 데이터 웨어하우스
■ 데이터 마이닝(Data Mining)
- 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 것
- 수많은 데이터에서 가치있는 유용한 정보를 찾아내는 것
■ 텍스트 마이닝(Text Mining)
- 자연어로 구성된 비정형 텍스트 데이터에서 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 것
■ 하둡(High-availability distributed object-oriented platform, Hadoop)
- 다수의 범용 컴퓨터를 연결하여 하나의 시스템처럼 작동하도록 묶어 대용량의 다양한 데이터들을 분산
처리하는 공개 소스 프레임워크
■ Sqoop(SQL to Hadoop)
- 관계형 데이터베이스(RDB)와 분산 파일 시스템(HDFS) 사이의 양방향 데이터 전송을 위해 설계된 툴
■ 맵리듀스(MapReduce)
- 분산 컴퓨팅에서 대용량 데이터를 병렬 처리하기 위해 개발된 소프트웨어 프레임워크
- 구글이 수집한 문서와 로그 등 방대한 데이터들을 분석하기 위해 2004년에 발표한 소프트웨어 프레임워크
- 방대한 입력 데이터를 분할하여 여러 머신들이 분산 처리하는 맵(Map) 함수 단계와 이를 다시 하나의 결과로
합치는 리듀스(Reduce) 함수 단계로 나뉜다.
■ 타조(Tajo)
- 아파치 하둡(Apache Hadoop) 기반의 분산 데이터 웨어하우스 프로젝트
■ R
- 양이 많은 정보(데이터)를 통계적 방법으로 분석할 때 사용된다.
■ OLAP(On-Line Analytical Processing)
- 이용자가 직접 데이터베이스를 검색, 분석해서 문제점이나 해결책을 찾는 분석형 애플리케이션 개념이다.
■ NoSQL(Not only SQL)
- 기존 관계형 DBMS가 갖고 있는 특성뿐만 아니라, 다른 특성들을 부가적으로 지원