Part IX. 소프트웨어 개발 보안 구축
Chapter 02 기술적 보안
01 암호화
1 암호화(Encryption)의 정의
2 암호의 역사
(1) 개요
(2) 고대 암호
(3) 근대 암호
(4) 현대 암호
3 암호 이용의 목적
(1) 기밀성(Confidentiality)
(2) 무결성(Integrity)
(3) 인증(Authentication)
(4) 부인 방지(Non-Repudation)
4 대칭키(비밀키) 암호 방식
(1) 대칭키 암호 방식의 개요
(2) DES(Data Encryption Standard)
(3) 트리플 DES(Triple-DES)
(4) AES(Advanced Encryption Standard)
(5) 기타 대칭키 암호들
5 비대칭키(공개키) 암호 방식
6 해시 함수(Hash Function)
(1) 해시 함수의 특성
(2) 해시 함수의 대표적인 알고리즘 종류
* 암호화는 평문(Plain Text)을 암호화 알고리즘을 통해 암호화된 문장으로 변환하여 비인가자로부터 정보를 보호하는 기술이다.
* 부인 방지는 이전의 통신 내용을 보낸 적이 없다고 속일 수 없도록 한다. 즉, 데이터를 받은 사람은 나중에라도 보낸 사람이 실제로 데이터를 보냈다는 것을 증명할 수 있도록 한다.
* DES는 64비트 평문을 64비트 암호문으로 암호화하는 대칭 암호 알고리즘이다. (키의 비트 길이는 56비트이다.)
* AES는 미국 연방표준 알고리즘으로, DES를 대신하는 차세대 표준 암호화 알고리즘 미국 상무성 산하 NIST 표준 알고리즘이다.
* 해시 함수는 주어진 출력에 대하여 입력값을 구하는 것이 계산상 불가능(One-way Property, 일방향성)하고, 같은 출력을 내는 임의의 서로 다른 두 입력 메시지를 찾는 것이 계산상 불가능(Collision Free Property, 충돌 회피성)하다는 특성을 갖고 있다.
02 네트워크 보안
1 OSI 7계층 참조 모델(ISO Standard 7498)
(1) 정의
(2) 목적
(3) 기본 요소
(4) 각 층의 의미와 역할
(5) 각 계층의 기능을 수행하는 장비
2 TCP/IP 프로토콜
(1) 네트워크 인터페이스(Network Interface) 계층
(2) 인터넷(Internet) 계층
(3) 전송(Transport) 계층
(4) 응용(Application) 계층
3 암호화 프로토콜
(1) 암호화 프로토콜
(2) 데이터 링크 계층의 암호화 프로토콜
(3) 네트워크 계층의 암호화 프로토콜: IPSec(IP Security)
(4) 전송 계층의 암호화 프로토콜: SSL(Secure Socket Layer)
4 네트워크 기반 명령어
(1) Ping
(2) Traceroute
(3) Netstat
(4) TCPDUMP
5 라우팅 프로토콜
(1) 라우팅의 목표
(2) 가장 좋은 경로
(3) 라우팅 프로토콜
(4) 내부 라우팅과 외부 라우팅으로의 분류
6 포트 스캐닝(Port Scanning)
(1) 포트 스캐닝
(2) TCP Connect(open) Scan
(3) TCP Half-Open(syn) Scan
(4) Stealth Scan
(5) UDP Scan
7 네트워크 해킹 유형
(1) DoS(Denial of Serive, 서비스 거부) 공격
(2) 스니핑(Sniffing)
(3) 스푸핑(Spoofing)
(4) 세션 하이재킹
(5) 랜섬웨어(Ransomware)
8 해킹 기술
9 네트워크 보안 장비
(1) 방화벽(Firewall, 침입 차단 시스템)
(2) IDS(Intrusion Detection System, 침입 탐지 시스템)
(3) IPS(Intrusion Prevention System, 침입 방지 시스템)
(4) 가상 사설망(VPN: Virtual Private Network)
* OSI 7계층 참조 모델은 Open System Interconnection(개방형 시스템)의 약자로 개방형 시스템과 상호 접속을 위한 참조 모델이다. 같은 종류의 시스템만이 통신을 하는 것이 아니라 서로 다른 기종이 시스템의 종류, 구현 방법 등에 제약을 받지 않고 통신이 가능하도록 통신에서 요구되는 사항을 정리하여 표준 모델로 정립하였다.
* 전송 계층은 수신 측에 전달되는 데이터에 오류가 없고, 데이터의 순서가 수신 측에 그대로 보존되도록 보장하는 연결 서비스의 역할을 하는 종단 간(End-to-End) 서비스 계층이다.
* IPSec은 안전하지 않은 네트워크상의 두 컴퓨터 사이에 암호화된 안전한 통신을 제공하는 프로토콜이다.
* RIP은 대표적인 내부 라우팅 프로토콜이며, 가장 단순한 라우팅 프로토콜이다. Distance-vector 라우팅을 사용하며, 홉 수를 메트릭으로 사용한다.
* Land 공격은 패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소값을 똑같이 만들어서 공격 대상에게 보내는 공격이다. 이때 조작된 IP 주소값은 공격 대상의 IP 주소여야 한다.
* 스위치 재밍은 스위치의 주소 테이블의 기능을 마비시키는 공격이다. 스위치에 랜덤한 형태로 생성한 MAC을 가진 패킷을 무한대로 보내면 스위치의 MAC 테이블은 자연스레 저장 용량을 넘게 되고, 이는 스위치의 원래 기능을 잃고 더미 허브처럼 작동하게 한다.
* 방화벽(침입 차단 시스템)은 외부로부터 내부망을 보호하기 위한 네트워크 구성 요소 중의 하나로 외부의 불법 침입으로부터 내부의 정보 자산을 보호하고 외부로부터 유해 정보 유입을 차단하기 위한 정책과 이를 지원하는 하드웨어 및 소프트웨어를 말한다.
03 시스템 보안
1 운영체제(OS: Operating System)
(1) 운영체제의 목적
(2) 운영체제의 기능
(3) 운영체제의 구조
2 시스템 보안
(1) 시스템과 관련한 보안 기능
(2) 계정과 패스워드 관리
(3) 운영체제 보안 강화 방향
(4) 운영체제 보안의 주요 제공 기능
3 보안 운영체제(Secure OS)
(1) 보안 운영체제의 개요
(2) 보안 운영체제 시스템 설계 원리
(3) 보안 운영체제의 보안 기능
(4) 커널 설계
(5) 참조 모니터
(6) 신뢰 컴퓨팅 베이스(TCB: Trusted Computing Base)
(7) 시스템 감사(System Audit)
4 유닉스 시스템
(1) 유닉스 시스템 개요
(2) 유닉스 운영체제 종류
(3) 유닉스(UNIX)의 특징
(4) 유닉스 시스템의 핵심 구조
(5) 유닉스 시스템의 로그 관리
(6) 유닉스 시스템 계정 보안
(7) 파일의 속성
* 보안 운영체제는 기존 운영체제의 보안상의 결함으로 인한 각종 침해로부터 시스템을 보호하기 위하여 기존의 운영체제 내에 보안 기능을 통합시킨 보안 커널을 추가적으로 이식한 운영체제이다.
* 참조 모니터는 보안 커널 데이터베이스(SKDB: Security Kernel Data Base)를 참조하여 객체에 대한 접근 허가 여부를 결정한다.
* 쉘(Shell)은 유닉스 시스템과 사용자 사이의 인터페이스를 제공하는 것을 말한다. 즉, 사용자가 문자열들을 입력하면 그것을 해석하여 그에 따르는 명령어를 찾아서 커널에 알맞은 작업을 요청하게 된다.
* SUID은 일반 사용자가 소유자의 권한으로 실행 가능하도록 한다. 보안상 취약한 부분이 존재한다.
04 웹 보안
1 웹 프로토콜
(1) HTTP(Hyper Text Transfer Protocol)
2 웹 취약성 공격
(1) XSS(Cross Site Scripting)
(2) SQL 삽입 공격(SQL Injection)
(3) 크로스 사이트 요청 변조(Cross-Site Request Forgecy)
(4) LDAP 삽입(LDAP Injection)
(5) XML 삽입(XML Injection)
3 웹 보안 프로토콜
(1) SSL
(2) S-HTTP
4 클라우드 보안
(1) 클라우드 컴퓨팅의 개념
(2) 클라우드 컴퓨팅 서비스 분류
(3) 클라우드 컴퓨팅 및 가상화와 관련된 위험
* XSS는 타 사용자의 정보를 추출하기 위해 사용되는 공격 기법으로 게시판이나 검색 부분, 즉 사용자의 입력을 받아들이는 부분에 스크립트 코드를 필터링하지 않음으로써 공격자가 스크립트 코드를 실행할 수 있게 되는 취약점이다.
'study .. > 정보처리기사' 카테고리의 다른 글
Part X. 프로그래밍 언어 활용 Chapter 02 C 언어 (0) | 2025.03.29 |
---|---|
Part X. 프로그래밍 언어 활용 Chapter 01 프로그래밍 언어 (0) | 2025.03.27 |
Part IX. 소프트웨어 개발 보안 구축 Chapter 01 정보보호 (0) | 2025.03.24 |
Part VIII. SQL 응용 Chapter 02 SQL 응용 (0) | 2025.03.22 |
Part VIII. SQL 응용 Chapter 01 SQL 기본 (0) | 2025.03.22 |