UI설계원칙 : 직관성, 유연성, 유효성, 학습성
UI유형 : CLI, GUI, NUI, OUI
UI품질 요구사항 : 사용성, 기능성, 신뢰성, 효율성, 이식성, 유지보수성,
UML 특징 : 가시화, 구축화, 명세화, 문서화
UML구성요소 : 사물, 관계, 다이어그램
DBMS특징 : 무결성, 일관성, 회복성, 보안성, 효율성
트랜잭션 특징 : 원자성, 일관성, 격리성, 영속성
키 : 기본키, 대체키, 후보키(유일성o, 최소성o), 슈퍼키(유일성o), 외래키
데이터베이스 파일 구조
인덱스 : <키,값> 쌍으로 구성
해시 : 키값을 해시함수에 대입해서
순차 방법 : 레코드 물리적 순서 -> 논리적 순서
논리 데이터 모델 구성요소 : 개체, 속성, 관계
논리 데이터 모델 종류 : 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델
SW 보안 3요소 : 기밀성, 무결성(정당한 방법이 아니면 수정x) ,가용성
서버접근 통제 : 식별 - 인증 - 인가 - 책임추적
3A : Authentication, Authorization, Accounting
프로토콜 3요소 : 구문, 의미, 타이밍
애플리케이션 성능 측정 지표
처리량
응답시간 : 입력~응답출력 시작
경과시간 : 입력~결과출력 완료
자원사용률
리팩토링 : 유지보수성 향상, 유연한 시스템, 생산성 향상, 품질 향상
소프트웨어 테스트 원리
결함존재 증명
완벽한 테스팅은 불가능
초기집중(초반 스노우볼)
결함 집중(파레토)
살충제 패러독스
정황 의심
오류-부재 궤변 : 요구사항 충족 못하면 오류 없어도 의미 없음
빅데이터 : Volume + Variety _+ Velocity(속도) / Value + Veracity(정확성)
UML(Unified Modeling Language) : 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화 할 때 사용
구조적 다이어그램(정적 다이어그램)
클래스 다이어그램 : 클래스, 속성, 연산, 접근 제한자
컴포넌트 다이어그램 : 인터페이스, 의존관계 표현
패키지 다이어그램 : 패키지 간 의존관계 표현 (파일모양)
배치 다이어그램 : 물리적 요소들의 위치 표현
행위적 다이어그램(동적. 다이어그램)
유스케이스 다이어그램 : 유스케이스, 액터, 시스템, 시나리오, 이벤트 흐름
상태 다이어그램 : 클래스 상태변화 or 다른 객체와 상호작용하는 상태 변화
활동 다이어그램 : 객체의 처리나 로직, 조건에 따른 처리흐름 순서대로 표현
시퀀스 다이어그램 : 객체 상호간 메시지 흐름과 객체사이 메시지 보내는 시간, 구성요소(객체, 생명선, 실행, 메시지)
커뮤니케이션 다이어그램 : 동작에 참여하는 객체들 간 메시지 표현, 구성요소(액터, 객체, 링크., 메시지)
타이밍 다이어그램 : 객체 상태변화 + 시간 제약 명시적 표현
럼바우 객체 지향 분석
객체 모델링 : ERD
동적 모델링 : 상태 다이어그램
기능 모델링 : 자료흐름도(DFD)
모델링 절차
개념 모델링 : 추상화, 핵심데이터 간 관계 정의
논리 모델링 : 관계, 속성, 키 도출
물리 모델링 : DBMS 특성에 맞게 스키마 만듬
공통 모듈 구현 저차
DTO : 가변 클래스, 프로세스 사이에서 데이터 전송하는 객체, 데이터 저장 , 회수 기능만 있음
VO : 고정 클래스
DAO : 세부내용 노출 없이 데이터 조작, 특정 타입의 데이터베이스에 추상적 인터페이스 제공하는 객체
MVC 패턴 : 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션 시각적 요수나 그 이면 비즈니스 로직을 서로 영향 없이 쉽게 고침
생성 패턴
Builder : 복합객체 생성시 객체와 생성 분리, 동일 생성절차 -> 다른 결과
Prototype : 처음부터 일반적인 원형 만들고, 필요시 부분 수정
Factory Method : 상위 클래스에서 객체 생성 인스턴스 정의, 하위 클래스에서 인스턴스 생성
Abstract Factory : 구체적인 클래스에 의존x, 동일한 주체의 다른 팩토리 묶음
Singleton : 객체를 어디서든 참조가능, but 여러 프로세스가 동시 참조는 불가능
구조 패턴
Bridge : 서로가 독립적으로 확장할 수 있도록 구성한 패턴
Facade : 복잡한 시스템에 단순한 인터페이스 제공, 리모컨만으로 복잡한 명령을 수행
Decorater : 객체 간의 결합으로 기능 확장 가능, 기존에 구현되어 있는 클래스에 기능 추가
Proxy : 실제 객체에 대한 대리 객체로 접근 전에 필요한 행동 취하도록 해줌
Flyweight : 다수 객체 생성시 모두가 갖는 본질적 요소 클래스화해서 메모리절약, 클래스 경량화
Composite : 복합객체와 단일 객체 구분없이 다루고자 할 때
Adapter : 클래스들의 호환성이 맞도록 변환해주는 패턴
행위 패턴
Mediator : 중간에 “중재자” 주고 모두 중재자한테 요청해서 통신 빈도수 줄임
Memento : 객체를 이전 상태로 북구시혀야하는 경우 사용(Undo)
Template Method : ㅅ아위 작업 구조를 바꾸지 않으면서 서브클래스로 이부분 수행, 상위클래스 골격, 하위 클래스 세부처리를 구체화, 방법을 큰 틀로 묶음, 유지보수 용이
Visitor : 해당 클래스의 메서드가 각 클래스 돌아다니며 특정 작업 수행
State : 객체 상태 캡슐화 해서 클래스화, 참조 방식 상태에 따라 다르게 처리
Command : 실행기능 캡슐화 해서 재사용성 높임
Strategy : 행위 클래스화 해서 행위 자유롭게 바꿈
Interpreter : 구체적 구문을 나누고, 구문 해석 클래스 작성, 여러 형태 언어 구문 해석 만듬
Iterator : 내부 구조 노출x, 복합객체 순차적 접근
Observer
Chain of Responsibility
소프트웨어 4+1 뷰
유스케이스 뷰 : 유스케이스 or 아키텍처 도출 및 설계, 다른 뷰 검증에 사용
논리 뷰 : 기능적 요구사항이 어떻게 제공되는지 설명
프로세스 뷰 : 시스템의 비기능적인 속성으로서 자원의 효율적인 사용, 병행실행 및 비동기, 이벤트 처리 등
구현 뷰 : 개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 보여줌
배포 뷰 : 컴포넌트가 물리적인 아키텍처에 어떻게 배치 되는 가를 보여줌
소프트웨어 아키텍처 패턴
계층화 패턴 : 시스템을 계층으로 구분하여 구성하는 패턴, 서로 마주보는 두 계층 사이에서만 상호작용 이뤄짐
클라이언트 - 서버 패턴 : 하나의 서버와 다수의 클라이언트로 구성된 패턴
파이프 - 필터 패턴 : 서브 시스템이 입력 데이터를 받아 처리하고, 결과를 다음 서브 시스템으로 넘기기 반복하는 패턴
브로커 패턴 : 분산 시스템에서 사용, 브로커 컴포넌트는 컴포넌트 간의 통신을 조절하는 역할 수행
MNV패턴 : 모델 - 뷰 - 컨트롤러
응집도 : 하나의 모듈의 독립성 나타냄
우연적 응집도(Coincidential) : 연관성이 낮은 것들의 모임
논리적 응집도 : 성격이나 특징 같은게 비슷한 것들이 모임
시간적 응집도(Temporal) : 같은 시간대 처리되는 거 모임
절차적 응집도(Procedure) : 기능이 ‘순차적으로’ 수행되는거 모임
교환적 응집도 : 동일한 입출력으로 다른 결과 모임
순차적 응집도(Sequential) : 모듈에서 나온거 다른 모듈이 가져다 쓸 때
기능적 응집도 : 모듈 내부 기능이 단일 목적을 위해 수행
결합도 : 모듈간 상호 의존성 나타냄
내용 결합도 : 다른 모듈 내부의 변수,기능 사용
공유 결합도 : 공유되는 공통 데이터 영역 사용, 파라미터가 모듈 밖에서 선언되어 전역변수 참조
외부 결합도 : 어떤 모듈에서 반환 겂을 다른 모듈에서 참조해서 사용하는 경우
제어 결합도 : 어떤 모듈이 다른 모듈 내부 논리 조직 제어하기위해 제어신호 통신하는 경우
스탬프 결합도 : 모듈간 인터페이스로 배열이나 오브젝트 등이 전달 되는 경우
자료 결합도 : 모듈간 인터페이스로 전달되는 파라미터를 통해서만 상호작용
검정 : 소프트웨어 개발”과정”에서 개발자 관점에서 테스트
확인 : 소프트웨어 개발”완료”에서 사용자 관점에서 테스트
회복 테스트 : 고의로 실패 유도 -> 정상복귀 여부 테스트
안전 테스트 : 불법 프로그램 접근하지 못하도록 ‘점검’
성능 테스트 : 사용자 요구에 시스템이 반응하는 속도 측정
부하 테스트 : 부하를 줘서 임계값 찾는 테스트
스트레스 테스트 : 임계값 이상 줘서 버티는거 테스트
스파이크 테스트 : 단시간에 몰아붙이는 테스트
내구성 테스트 : 오랜시겐 스트레스 주는 테스트
구조 테스트 : 시스템 내부 논리 경로, ‘복잡도’테스트
회귀 테스트 : 오류 제거나 수정으로 새로 생긴 오류가 없는지 반복적으로 테스트
병행 테스트 : 기존코드와 변경코드 변화 없는지 테스트
V모델
단위테스트 : 사용자 요구사항에 대한 단위 모듈, 서브루틴 테스트
통합 테스트 : 단위 테스트 통과한 모듈의 인터페이스 테스트 ex. 상향식(드라이브), 하향식(스텁), 샌드위치, 빅뱅
시스템 테스트 : 통합 시스템이 정상적으로 수행되는지 테스트
인수 테스트 : 계약상의 요구사항의 제대로 반영되었는지 테스트
테스트 오라클 : 테스트 결과 판단 위해 사전에 정의된 참 값 입력
참 오라클 : 모든 값에 대한 결과 제공
샘플링 오라클 : 샘플 값에 대한 결과 제공
휴리스틱 오라클 : 일부값은 샘플 값 나머지는 추정 값 제공
일관성 검사 오라클 : 애프리케이션 변경이 있을 때 수정 전후가 같은지 확인
정적 테스트
리뷰 : 동료검토, 임스펙션, 워크스루
정적 분석 : 코딩표준, 복잡도 측정, 자료흐름 분석
동적 테스트(화이트박스 테스트)
기본 경로 커버리지 : 수행 가능한 모든 경로 테스트
구문커버리지(문장커버리지) : 모든 명력문 적어도 한 번 실행
결정커버리지 : 전체 조건식이 적어도 한 번은 참/거짓 수행
조건 커버리지 : 부분 조건식도 적어도 한 번은 참/거짓 수행
조건/결정 커버리지 : 조건+결정로 최소 조합 달성
변졍 조건/결정 커버리지
다중 조건 커버리지
제어 흐름 테스트 : 제어 구조 + 로직 그래프 통해 테스트
데이터 흐름 테스트 : 제어흐름 + 데이터 사용 현황 그래프 통해 테스트
동적 테스트(블랙박스 테스트)
동등분할 분석 : 그룹 내 값들이 시스템에 의해 동일하게 취급된다는 특성 이용한 테스트
경계 값 분석 : 경계값에 있는 데이터로 테스트
결정 테이블 : 요구사항 논리, 발생조건 테이블로 나열 -> 조건,행위 모두 조합해 테스트
상태전이 테스트
유스케이스 테스트
분류트리 : 소프트웨어 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트
페어와이즈 : 테스트 데이터 값들 간에 최소한 한 번씩 조합해서 테스트
경험 기반 테스트(블랙박스 테스트)
탐색적 테스트 : 테스트 케이스 작성 x 경험에 기반해서
오류 추정 : 자주 하는 실수 오류로 정해놓고 테스트 케이스 만들어서 테스트
일방향 암호 방식
MAC : 키사용o 메시지 코드, 무결성, 인증
MDC : 키사용x 변경감지코드, 무결성o ex. MD5. SHA
해시 암호화 알고리즘
MD5 : 128bit 해시 암호 생성 64라운드 / MD4는 48라운드
SHA-1 : NSA미국 표준 지정 DSA에서 사용, 160bit, 80라운드 해시함수
SHA-256/384/512 : AES에 대응해서 늘린거
HAS-160 : 국내 서명 표준, MD5 + SHA
HAVAL : 1024bit 메시지 블록 다누이
양방향 암호 방식
3. 대칭키 암호화 알고리즘
DES : 64bit
SEED : 국내 개발 128bit
AES : 미국 NIST에서 계발
ARIA : 국정원 + 산학
IDEA : DES 대체하기위해서 스위스에서 개발, 128bit, 8라운드
LFSR(Linear Feedback Shift Register) : 선형 되먹임 시프트 레지스터, 선형 함수로 계산되는 스트림 암호화 기법
비대칭키 암호화 알고리즘
디피-헬만
RSA : MIT공대 3명이서 개발
ECC : 타원곡선군의 이산 대수 문제 기초,
EIGamal : 이산대수 계산 어려움에 기초,
데이터 암호화 전송
IPSec : 인증해드(AH) 무결성, 인증 / 암호화(ESP) 기밀성 / 키관리(IKE)
SSL/TLS : 4계층 ~ 7계층에서
S-HTTP : 메시지 통제로 암호화
데이터 베이스 암호화 기법
API방식 : 애플리케이션 차원에서 보안
Plug-in방식 : DB서버에서 보안
TDE방식 : DB 커널에서 보안
하이브리드 방식 : API + Plug-in
서버접근 통제 유형
임의적 접근 통제(DAC) : 그룹 기만 통제
강제적 접근 통제(MAC) : 규칙 기반 통제
역할기반 접근 통제(RBAC). : 역할 기반 통제
접근 통제 보호 모델
벨-라파둘라 모델(BLP) : 위에서 아래 못 수정, 아래서 위 못 읽음
비바모델 : 아래서 위 못 수정, 아래서 위 못 읽음
클락-윌슨 모델 :
만리장성 모델 : 그냥 가능성 있으면 다 통제
콘텐츠 유출 방지 보안 솔루션
보안 USB : 사용자 식별/인증, 데이터 암/복호화, 임의 복제 방지, 분시시 데이터 삭제 가능
데이터 유출 방지 DLP : 정보유출방지, 정보 흐름 모니터링
디지털 저작권 관리 DRM : 파일 자체에 암호 걸어 권한 없는 사용자 사용 못함
인증 기술 유형
지식기반 인증
소지기반 인증
생체기반 인증(지문, 홍채)
특징기반 인증(걸음걸이, 서명)
비즈니스 연속성 계획 관련 용어
BIA : 비즈니스 영향력 분석
BCP : 비즈니스 연속성 유지 계획
RTP : 재해 복구 시간 선정
RPO : 재해 복구 지점 선정
DRP : 재난 복구 계획
DRS : 재난 복구 시스템
정규화
1NF : 도메인이 원자값
2NF : 부분함수 종속제거, 완전함수종속관계
3NF : 이행함수 종속제거
BCNF : 결정자함수 종속제거
4NF : 다치 종속제거
5NF : 조인 종속제거
파티션 : 테이블 또는 인덱스 등을 나누어둔 단위 (파티셔닝 : 성능 개선 및 관리를 위해 테이블 또는 인덱스 등을 파티션이라는 단위로 나누어 저장하는 설계 기법)
레인지 파티셔닝 : 연속적 숫자나 날짜를 기준으로 하는 파티셔닝
해시 파티셔닝 : 파티션 키의 해시함수 값에 의한 파티셔닝
컴포지트 파티셔닝 : 범위 분할 + 해시함수 적용 재분할 하는 파티셔닝 리스트 파티셔닝 : 특정 파티션에 저장될 데이터에 대한 “명시적 제어가 가능한” 파티셔닝
라운드로빈 파티셔닝 : 라운트로빈 분할로 회전하면서 새로운 행이 파티션에 할당
병행제어 : 다수 사용자 환경에서 여러 트랜잭션을 수행할 때 ,DB일관성 유지를 위해 상호작용을 제어하는 기법
로킹 : 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 ‘직렬화 기법’
낙관적 검증 : 우선 트랜잭션하고, 트랜잭션 종료시 검증하여 DB에 반영
타임 스탬프 순서 : 트랜잭션 실행전 타임스탬프를 부여하여 부여된 시간에 따라 트랜잭션 작업 수행
다중 버전 동시제어(MVCC) : 트랜잭션의 타임스탬프와 접근하려는 데이터의 타임스탬프를 비교하여 직결 가능성이 보장되는 버전 선택하여 접근
병행제어 미보장시 문제점
갱신손실 : 먼저 실행 결과 덮어쓰임
모순성 : 두 트랜잭션 동시 실행 -> 일관성 결여
현황파악오류 : 트랜잭션 중간 결과 다른애 참조 오류
연쇄복귀 : 특정 트랜잭션이 처리 취소 시, 처리한 곳의 부분 취소하지 못하는 경우
회복기법 : 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터를 손상되기 이전의 정상적인 상태로 복구시키는 기법
로그기반 - 지연갱신기법 : 트랜잭션 완료전까지 DB 기록
- 즉각갱신기법 : 트랜잭션 수행 중 갱신 결과 즉각 반영
세이브포인트기반 : 장애발생 이전 SavePoint로 복구
그림자페이징기반 : 트랜잭션 수행시 복제본을 생성하여 장애 발생시 이를 이용하여 회복
절차형SQL
프로시저 : 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리 집합
사용자 정의 함수 : 일련의 SQL처리를 수행하고, 수행 결과를 단일 값으로 반환
트리거 : 데이터베이스에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행
선점형 스케줄링 알고리즘 : 새치기 가능
라운드 로빈(Round Robin) : 균등한 점유시간, 시분할 시스템 사용
SRT(Shortest Remaining Time First) : 짧은 수행시간 프로세스 우선 수행
다단계 큐 : 작업 그룹 분할, 여러큐 사용, 독립된 스케줄링
다단계 피드백 큐 : FCFS + RR
비선점형 스케줄링 알고리즘 : 새치기 불가능
우선순위 : 우선순위 정하고 주요 긴급서비스에 대한 우선순위 처리
기한부 : 기한 정하고 그 기한내 마무리 되게 스케줄링
FCFS(FIFO) : 먼저온 거 먼저 처리
SJF(Shortest Job First) : “도착하는 시점에 따라 그 당시에” 프로세스 수행시간 가장 짧은거 수행 <- 기아현상 발생 가능
HRN(Highest Response Ratio Next) (대기시간 + 서비스 시간) / 서비스 시간 <- 기아현상 최소화
페이지 교체 알고리즘
FIFO : 온 순서대로 교체해서 나감
LRU(Least Recently Used) : 가장 오래 사용 하지 않은 페이지 교체
LFU(Least Frequently Used) : 가장 오래 참조되지 않은 페이지 교체
MFU(Most Frequently Used) :가장 많이 참조된 페이지 교체
메모리 관리
반입기법 : 주기억 장치에 적재할 다음 프로세서의 반입 시기 결정 (When)
예상반입 기법, 요구 반입 기법
배치기법 : 디스크에 있는 프로세서를 주기억장치의 어느 위치에 저장할지 결정 (Where)
First-fit, Best-fit, Worst-fit
할당기법 : 실행해야할 프로세스를 주기억 장치에 어떤 방법으로 할당할 것인지 결정 (How)
교체기법 : 재배치 기법으로 주기억장치에 있는 프로세스중 어떤 프로세스를 재거할 것인지 결정 (Who)
OSI 7계층
응용계층 : 사용자와 네트워크 서비스 간 응용 서비스 연결, 데이터 생성 HTTP, FTP
표현계층 : 인코딩/디코딩, 압축/해제, 암호화/복호화, 부호교환, 데이터 형식 결정 JPEG, MPEG
세션계층 : 송수신 간의 “논리적”연결 생성 및 제어 RPC, NetBIOS
전송계층 : 종단간 신뢰성 있는 데이터 전송 담당, 재조합, 연결제어, 흐름제어, 오류제어, 혼잡제어 TCP(연결성), UDP(비연결성)
네트워크계층 : 종단간 전성을 위한 경로 설정 담당, 최적화된 경로 제공 IP, ICMP
데이터링크 계층 : 인접 노드간 신뢰성 있는 전송 제어, 흐름제어, 오류제어, 회선제어 수행 HDLC, PPP
물리 계층 : 물리적 장치의 전기적, 전자적 연결, 주소개념x, 디지털 데이터를 아날로그적인 전기신호로 변환하여 물리적 전송 RC-232C
데이터링크 프로토콜
HDLC(High-level Data Link Control) : 점대점 링크 및 멀티포인트 링크, ISO에서 표준화한 “동기식 비트” 중심 프로토콜
PPP(Point to Point Protocol) : 두 통신 노드간 직접적인 연결을 위해 사용
X.25 : 연결형 프로토콜 흐름제어, 오류제어기능 있음, 신뢰성 높고, 한 회선에 장애가 발생해도 우회 전송 가능,
ATM(Asynchronous Transport Mode) : 정보전달 기본 단위 “53”바이트, 비동기식 시분할 다중화 방식
네트워크 계층 프로토콜
IP : 송수신 간 패킷 단위로 데이터 주고받을 때 사용
IPv4 : 10진수, 12자리, 0~255, 32비트(8비트씩 4개)
IPv6 : 16진수, 128비트(16비트씩 8부분)
ICMP : IP패킷 처리할 때 발생되는 문제 알려줌, 네트워크 상태 진단
IGMP : 인터넷 그룹 관리 프로토콜, 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 형성시 사용 IPTV등
ARP : IP -> MAC(물리적 주소) 변환
RARP : MAC는 알지만 IP는 모를 때 역순 주소 결정
라우팅 프로토콜
RIP : 거리 백터 알고리즘 기반, 목적지까지 거리 방향 결정
OSFP : 상태링크알고리즘 기반, 다익스트라 알고리즘 기반, 최단 경로 트리 구성
BGP : 거리 백터알고리즘, 변경 발생시 대상까지 가장 짧은 경로
세션 계층 프로토콜
RPC(Remote Procedure Call) : 원격 프로시저 호출, 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에 함수나 프로시저 실행
NetBIOS : 7계층에 API를 제공하여 상호 통신할 수 있게 해줌
응용 계층 프로토콜
HTTP : 하이퍼텍스트 빨리 교환하기 위한 프로토콜
FTP : 파일 전송 프로토콜
SMTP : 메일 보내는 프로토콜, MQTT(iot에 사용)
POP3 : 메일 가져오는데 포트번호 110
IMAP : 메일 가져오는데 포트번호 143, 온/오프라인 모두 지원
Telnet : 인터넷이나 로컬영역에서 네트워크 연결에 사용
SSH : Telnet보다 강력한 원격 접속 지원
SNMP(Simple Network Management Protocol) : 네트워크 관리 프로토콜
직접 연계 방식
DB링크 : 수신 측에서 DBㄹ이크 송신측에 직접 참조
DB연결 : 수신 WAS에서 송신 커넥션풀 생성, 연계시스템이 연결
API : 송신 시스템의 DB에서 데이터 읽어서 제공
JDBC : 자바에서 DB 접속할 수 있게 해주는 자바 API
하이퍼링크
간접 연계 방식
EAI : 애플리케이션 간 ‘단단한 결합’ Point to Point, Hub&Spoke, Message bus, Hybrid
ESB : 애플리케이션 간 ‘느슨한 결합’, 지능형라우터, 포맷변환, 개방형 표준 <- 기업 내부 + 외부
웹서비스 : 네트워크에 분산 된 정보를 서비스 형태로 개방하여 표준화된 방식으로 공유
SOAP : HTTP, HTTPS, SMTP등을 사용하영 XML 기반 메시지를 네트워크 상태에서 교환하는 프로토콜
WSDL : 웹 서비스에 대한 상세정보가 기술되어 있는 XML형식으로 구현된 언어
UDDI : WSDL을 등록하고 접근하기 위한 저장소, 공개적으로 접근,검색이 가능한 레지스트리 이자 표준
IPC(Inter Process Communication)방식 : 프로세스간 서로 데이터를 주고받기 위한 통신 기술
소켓 : 네트워크를 경유하는 ‘프로세스 간 통신의 접속점’
DOS : 혼자서 서버 과부하 만들어서 서비스 거절 시키는 공격
DDOS : 좀비PC 이용해서 하는 DOS공격
DRDOS : 어쩌고 저쩌고 반사시켜 추적 어렵게 공격하는 DDOS 공격
죽음의 핑 (PoD) : ICMP패킷 아주 작게 쪼개서 보내서 패킷 재조합과정에서 버퍼오버플로우 발생시킴
티어드롭 : IP 단편의 offset 값을 서로 중첩되도록 조작하여 이를 재조합하는 상대에게 에러 유발
랜드어택 : 서버가 자기 자신에게 응답하도록 유도
스머프 : 여러 곳에서 서버로 요청이 들어오도록 공격
봉크 : 시퀀스번호 같은거 계속 보냄
보잉크 : 시퀀스 번호 중간에 빈공간 보냄
SYN-Flooding : 다량의 TCP SYN 보내서 시스템 마비
UDP-Flooding : 다량의 UDP 보내서 시스템 마비
HTTP GET Flodding : 다량의 GET메시지로 시스템 마비
세션 하이재킹 : 특정 상태 를 가로챔 예를 들어 로그인 상태 그런거 / TCP 취약점 이용한 건 TCP세션하이재킹
Slow HTTP GET DOS : 헤더에 문장 끝 알려주는 기호 빼서 전송해서 장기간 접속 유지
Slow HTTP POST DOS : 요청 헤더 Content-lengh. 비정상적으로 크게 설정해 장기간 접속 유지
Slow HTTP Read DOS : 데이터 처리율을 감소시키고 (제로 윈도우 어쩌고) 다수 HTTP 패킷을 보내 장기간 접속 유지
Hulk DOS : 공격 대상 URL 변경하면서 다량 GET 요청
Hash DOS : 수많은 파라미터 POST 방식으로 여러개 보내서 해쉬 충돌 유발
스니핑 : 정보 훔쳐보는 수동적 공격 기법
스니퍼 : 네트워크 취약점 살펴보는 도구
IP 스푸핑 : IP 인증된 사용자 처럼 속여서 스니핑 하는 거
ARP 스푸핑 : ARP Reply만들어서 MAC 주소 바꿔서 스니핑 하는 거
ICMP Redirect : ICMP Redirect 를 바꿔서 특정 목적지로 가는 패킷 스니핑 하는 거
패스워드 크래킹
무차별 크래킹(아무거나입력)
사전 크래킹(사전 만들어두고 크래킹)
패스워드 하이브리드 공격(무차별 + 사전)
레인보우 테이블 공격(해시값 미리 생성해두고 해시값 역추적)
버퍼오버 플로우 : 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력해 프로세스 흐름 변경, 악성코드 실행
스택카드 : 오버플로우 발생시 카나리 어쩌고로 비교
스택쉴드 : Global RET에 저장해서 비교
ASLR : 메모리 공격 방어하기 우해 주소 공간 배치 난수화, 리눅스 설정 가능
백도어 : 정상적인 절차를 우회하는 방법
포맷 스트링 공격. : 포맷 스트링을 인자로하는 함수 어쩌고 RET위치 어쩌고 쉘 읽어오는 거
레이스컨디션 공격 : 둘이상의 스레드가 동시에 어쩌고 순서 꼬일 때 어쩌고 오류 발생하는 거
키로거 공격 : 키보드 움직임 읽어서 정보 빼오는 거
루트킷 : 불법 해킹 사용되는 도구모음
스피어 피싱 : 한 사람 정해놓고 계속 메일 보내고 어쩌고해서 해킹 하려는 거
스미싱 : SMS + Pising 합성어
큐싱 : QRcode + Pishing 합성어
악성봇 : 좀비 PC
봇넷 : 좀비 pc 들의 네트워크
웜 : 자가복제, 네트워크 연결로 전파 됨
공급망 공격 : 정상 공급망에 있는 파일이나 소스코드 악성코드로 바꿔서 공격
제로데이 공격 : 버그 뜬거 패치하기전에 공격
이블 트윈 : 합법적인 wifi인 것 처럼 속이는 거
APT공격 : 특수 목적으로 하나의 조직이 한 대상에게 집중적으로 총 공세하는 거
사이버 킬체인 : 공격형 방위 시스템 7단계 보안 모델 어쩌고
XSS : 악의적 스크립트 넣어두고 페이지 들어오면 실행
SQL Injection : 외부 입력값 sql 쿼리문에 삽입해서 공격하는 거
CSRF : 사이트간 ‘요청 위조’, 자신과 무관하게 공격자가 의도하는 요청을 특정사이트에 요청