- YAML(YAML Ain’t Markup Language) : 데이터를 사람이 쉽게 읽을 수 있는 형태로 표현하기 위해 사용하는 데이터 직렬화 양식이다.
- 온라인 분석 처리(Online Analytical Processing; OLAP) : 데이터 웨어하우스의 데이터를 전략적인 정보로 변환시켜서 의사결정을 지원하는 역할을 하는 시스템은 OLAP이다.
- 시멘틱 웹(Semantic Web) : 인터넷과 같은 분산 환경에서 리소스에 대한 정보와 자원 사이의 관계-의미 정보를 기계(컴퓨터)가 처리할 수 있는 온톨로지 형태로 표현하고, 이를 자동화된 기계(컴퓨터)가 처리하도록 하는 지능형 웹
- 온톨로지(Ontology) : 실세계에 존재하는 모든 개념과 개념들의 속성, 그리고 개념 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 개념화 명세서
- 다단계 피드백 큐(MLFQ; Multi Level Feedback Queue) : 다단계 피드백 큐는 FCFS(FIFO)와 라운드 로빈 스케줄링 기법을 혼합한 것으로, 새로운 프로세스는 높은 우선순위, 프로세스의 실행시간이 길어질수록 점점 낮은 우선순위 큐로 이동하고 마지막 단계는 라운드 로빈 방식을 적용한 알고리즘이다.
- 자료사전 기호
- =
- 자료의 정의로서 ‘~으로 구성되어(is Composed of) 있다.’는 것을 나타냄
- 정의는 주석을 사용하여 의미를 기술하며, 자료 흐름과 자료저장소에 대한 구성 내역을 설명하고, 자료 원소에 대하여 값이나 단위를 나타냄
-
-
- 자료의 연결(and, along with)을 나타냄
-
- ( )
- 자료 생략 가능함을 나타냄
- { }
- 자료의 반복을 나타냄
- 반복 횟수를 기록하는데 { }에서 좌측에는 최소 반복 횟수를 기록하고, 우측에는 최대 반복 횟수를 기록
- 반복 횟수를 기록하지 않을 때는 디폴트(Default)로 최소는 0, 최대는 무한대를 나타냄
- [ ]
- 자료의 선택을 나타냄
- **
- 자료의 설명을 나타냄
- 주석(Comment)
- GRANT
- 데이터베이스 관리자(DBA; Database Administrator)가 사용자에게 데이터베이스에 대한 권한을 부여하는 명령어이다.
- “그온투” 로 외우기 - GRANT 권한 ON 테이블 TO 사용자;
GRANT 권한 ON 테이블 TO 사용자 [WITH 권한옵션]; GRANT ALL ON STUDENT TO A_SYS WITH GRANT OPTION;- 관리자에게 사용자에게 테이블에 대한 권한을 부여.
- WITH GRANT OPTION 은 사용자가 권한을 받고 난 후 다른 사람들과 권한을 나누어 가질 수 있는 옵션
- =
- GROUP BY
- GROUP BY절은 속성값을 그룹으로 분류하고자 할 때 사용한다.
- GROUP BY절의 속성값에 해당하는 값들끼리 그룹을 형성하고, SUM(급여)를 통해서 그룹별 합계를 구할 수 있다.
SELECT 부서, SUM(급여) AS 급여합계 FROM 직원 GROUP BY 부서; - 대칭 키 암호화 알고리즘의 종류
- DES(Data Encryption Standard)
- 1975년 미국의 연방 표준국(NIST)에서 발표한 대칭 키 기반의 블록 암호화 알고리즘
- 블록 크기는 64bit, 키 길이는 56bit인 페이스텔(Feistel) 구조
- DES를 3번 적용하여 보안을 더욱 강화한 3 DES(Triple DES)도 활용됨
- SEED
- 1999년 국내 한국인터넷진흥원(KISA)이 개발한 블록 암호화 알고리즘
- 128bit 비밀키로부터 생성된 16개의 64bit 라운드 키를 사용하여 총 16회의 라운드를 거쳐 128bit의 평문 블록을 128bit 암호문 블록으로 암호화하여 출력하는 방식
- 블록 크기를 128bit이며, 키 길이에 따라 128bit, 256bit로 분류
- AES(Advanced Encryption Standard)
- 2001년 미국 표준 기술 연구소(NIST)에서 발표한 블록 암호화 알고리즘
- DES의 개인 키에 대한 전사적 공격이 가능해지고, 3 DES의 성능문제를 극복하기 위해 개발
- 블록 크기는 128bit이며, 키 길이에 따라 128bit, 192bit, 256bit로 분류
- AES의 라운드 수는 10, 12, 14라운드로 분류되며, 한 라운드는 SubBytes, ShiftRows, MixColumns, AddRoundKey의 4가지 계층으로 구성
- ARIA(Academy, Research Institute, Agency)
- 2004년 국가정보원과 산학연구협회가 개발한 블록 암호화 알고리즘
- ARIA는 학계(Academy), 연구기관(Research Institute), 정부(Agency)의 영문 앞글자로 구성
- 블록 크기는 128bit이며, 키 길이에 따라 128bit, 192bit, 256bit로 분류
- ARIA는 경량 환경 및 하드웨어에서의 효율성 향상을 위해 개발되었으며, ARIA가 사용하는 대부분의 연산은 XOR과 같은 단순한 바이트 단위 연산으로 구성
- IDEA(International Data Enryption Algorithm)
- DES를 대체하기 위해 스위스 연방기술 기관에서 개발한 블록 암호화 알고리즘
- 128bit의 키를 사용하여 64bit의 평문을 8라운드에 거쳐 64bit의 암호문을 만듦
- LFSR(Linear Feedback Shift register)
- 선형 되먹임 시프트 레지스터(LFSR)는 시프트 레지스터의 일종으로, 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조로 되어 있는 스트림 암호화 알고리즘
- 이때 사용되는 선형 함수는 주로 배타적 논리합(XOR)이고, LFSR의 초기 비트 값은 시드(Seed)라고 함
- DES(Data Encryption Standard)
- 변수 출력 포맷 스트링
- 문자형
- %c : 문자 출력
- %s : 문자열 출력
- 정수형
- %d : 10진수 출력
- %[-][0][전체자리수]d
- 10진수 출력
- [-]를 붙이면 왼쪽 정렬
- [0]을 붙이면 전체 자릿수에서 앞에 빈 공간만큼 0으로 채움
- [전체자리수]만큼 공간이 확보됨
- %x : 16진수 출력
- %o : 8진수 출력
- 실수형
- %f : 실수 출력
- %[전체자리수].[소수점자리수]f
- 문자형
- OSI 7계층 (”아파서 티내다, 피나다” A P S T N Da Phy)
- 응용 계층(Application Layer) : 사용자와 네트워크 간 응용 서비스 연결, 데이터 생성 (HTTP, FTP)
- 표현 계층(Presentation Layer) : 데이터 형식 설정, 부호교환, 암복호화 (JPEG, MPEG)
- 세션 계층(Session Layer) : 송수신 간의 논리적인 연결, 연결 접속, 동기제어 (RPC,NetBIOS)
- 전송 계층(Transport Layer) : 송수신 프로세스 간의 연결, 신뢰성 있는 통신 보장, 데이터 분할, 재조립, 흐름 제어, 오류 제어, 혼잡 제어 (TCP, UDP)
- 네트워크 계층(Network Layer) : 단말기 간 데이터 전송을 위한 최적화된 경로 제공 (IP, CMP)
- 데이터링크 계층(Data Link Layer) : 인접 시스템 간 데이터 전송, 전송 오류 제어, 동기화, 오류 제어, 흐름 제어, 회성 제어 (HDLC, PPP)
- 물리 계층(Physical Layer) : 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
- 라우팅 프로토콜
- RIP(Routing Information Protocol)
- AS(Autonomous System, 자치 시스템, 자율 시스템)내에서 사용하는 거리 벡트 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
- 거리 벡터 라우팅 기반 메트릭(Metric) 정보를 인접 라우터와 주기적으로 교환하여 라우팅 테이블을 갱신하고 라우팅 테이블을 구성/계산하는 데 Bellman-Ford 알고리즘을 사용하는 내부 라우팅 프로토콜
- 최대 홉 수(Hop Count)를 15개로 제한
- 사용 포트로는 UDP를 사용(UDP 포트 번호 520 사용)
- 30초마다 전체 라우팅 정보를 브로드캐스팅
- OSPF(Open Shortest Path First)
- 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜
- 링크 상태 라우팅 기반 메트릭(Metric) 정보를 한 지역(Area) 내 모든 라우터에 변경이 발생했을 때만 보내(Flooding)고 라우팅 테이블을 구성/계산하는데 다익스트라(Dijkstra) 알고리즘을 사용하는 내부 라우팅 크로토콜
- 최소 지연, 최대 처리량 등 관리자가 라우팅 메트릭 지정
- AS를 지역(Area)으로 나누어 라우팅을 효과적으로 관리 가능
- 홉 카운트에 제한이 없음
- BGP(Border GateWay Protocol)
- 자치 시스템(AS) 상호 간(Inter-AS 또는 Inter-Domain)에 경로 정보를 교환하기 위한 라우팅 프로토콜
- 변경 발생 시 대상까지의 가장 짧은 경로를 경로 벡터(Path Vector) 알고리즘을 통해 선정하고, TCP 연결(port 179)을 통해 자치 시스템(AS)으로 라우팅 정보를 신뢰성 있게 전달
- ISP 사업자들 상호 간에 주로 사용되는 라우팅 프로토콜
- 순환을 피할 수 있도록 목적지까지 가는 경로 정보를 제공
- 라우팅 비용(CPU 부하)이 크고, 라우팅 테이블의 크기가 커서 메모리 사용량이 많음
- RIP(Routing Information Protocol)
- 트랜잭션 연산
- 커밋(Commit) : 하나의 트랜잭션이 성공적으로 끝나고, 데이터베이스가 일관성 있는 상태에 있거나 하나의 트랜잭션이 끝났을 때 사용하는 연산
- 롤백(Rollback) : 하나의 트랜잭션이 비정상적으로 종료되어 트랜잭션 원자성이 깨질 경우 처음부터 다시 시작하거나, 부분적으로 연산을 취소하는 연산
- 입력 데이터 검증 및 표현 취약점
- XSS(Corss Site Script)
- 검증되지 않은 외부 입력 데이터가 포함된 웹 페이지가 전송되는 경우, 사용자가 해당 웹 페이지를 열람함으로써 웹 페이지에 포함된 부적절한 스크립트가 실행되는 공격
- 대책
- 특수문자 등록을 방지하기 위해 특수 문자 필터링
- HTML 태그 사용 금지(특히, < 문자 사용 시 <로 변환처리)
- 자바스크립트로 시작하는 문자열은 모두 문자열 변환처리
- 사이트 간 요청 위조(CSRF; Cross Site Request Forgery)
- 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격
- 대책
- 입력화면 폼을 작성 시 GET 방식보다 POST 방식 사용
- 입력 폼과 입력처리 프로그램에서 세션별 CSRF 토큰을 사용하여 점검
- 중요기능의 경우 재인증을 통해 안전하게 실제 요청 여부를 확인하도록 구현
- SQL 삽입(Injection)
- 응용 프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문으르 삽입, 실행시켜서 데이터베이스(DB)의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격 기법
- 대책
- 바인딩 매개변수 방식 적용하여 사전에 변수타입을 명시적으로 지정
- 사용자로부터 입력될 수 있는 모든 값을 체크하여 필터링
- Servlet Filter 기능 적용(Java에서만 적용)
- XSS(Corss Site Script)
'스터디 > 웹개발' 카테고리의 다른 글
| 221010 TIL : 정보처리기사 실기 요약하기 (0) | 2022.10.12 |
|---|---|
| 221009 TIL - 정보처리기사 실기 요약 정리. 암기 내용 정리 (0) | 2022.10.10 |
| 221008 TIL - 정보처리기사 실기 정리 - 문제 체크, 소프트웨어 개발 방법론 (0) | 2022.10.09 |
| 221005 TIL - 정보처리기사 - 응용 SQL 활용 (집계성 SQL, 집계 함수, 그룹 함수, 윈도 함수) (0) | 2022.10.09 |
| 221003(2) TIL 정보처리기사 실기 - SQL 응용 (2) | 2022.10.07 |