※ Secure SDLC
: SDLC에 보안 강화를 위한 프로세스를 포함한 것을 의미
※ 소프트웨어 개발 보안 요소
- 기밀성 : 인가된 사용자만 접근이 허용
- 무결성 : 인가된 사용자만 수정 가능
- 가용성 : 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용할 수 있다.
- 인증
- 부인 방지 : 데이터를 송수신한 자가 송수신 사실을 부인할 수 없도록 송수신 증거를 제공
※ 시큐어 코딩
: 시큐어 코딩(Secure Coding)은 구현 단계에서 발생할 수 있는 보안 취약점들을 최소화하기 위해 보안 요소들을 고려하며 코딩하는 것
※ SQL 삽입
: SQL 삽입(Injection)은 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약점
※ 크로스사이트 스크립팅 [XSS]
: 웹 페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 보안 약점
※ 메모리 버퍼 오버플로
: 할당된 메모리의 범위를 넘어선 위치에서 자료를 읽거나 쓰려고 할 때 발생하는 보안 약점
※ 보안 기능 관련 용어
- HTTPS(Hypertext Transfer Protocol Secure) : 웹 브라우저와 서버 간의 안전한 통신을 위해 HTTP와 암호 통신 규약을 결합한 것
- SSL(Secure Sockets Layer) : 데이터를 송-수신하는 두 컴퓨터 사이, 종단 간, 즉 TCP/IP 계층와 애플리케이션 계층(HTTP, TELNET, FTP 등) 사이에 위치하여 인증,암호화,무결성을 보장하는 업계 표준 프로토콜
- 하드 코딩(Hard-coding) : 데이터를 코드 내부에 직접 입력하여 프로그래밍하는 방식
※ 스택 가드
- 널 포인터 역참조와 같이 주소가 저장되는 스택에서 발생하는 보안 약점을 막는 기술 중 하나
- 메모리 상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장한 후 그 값이 변경되었을 경우 오버플로우 상태로 판단
※ 접근 제어자
: 외부로부터의 접근을 제한하기 위해 사용되는 예약어
접근 제어자 | 클래스 내부 | 패키지 내부 | 하위 클래스 | 패키지 외부 |
Public | O | O | O | O |
Protected | O | O | O | X |
Default | O | O | X | X |
Private | O | X | X | X |
※ 개인키 암호화 기법
: 동일한 키로 데이터를 암호화하고 복호화하는 암호화 기법
- 암호화와 복호화 속도가 빠르다
- 관리해야 할 키의 수가 많다
- 스트림 암호화 방식 : 평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화하는 방식
- 블록 암호화 방식 : 한 번에 하나의 데이터 블록을 암호화 하는 방식
※ 공개키 암호화 기법
: 암호화 할 때 사용하는 공개키(Public Key)는 사용자에게 공개하고, 복호화할 때의 비밀키(Secret Key)는 관리자가 비밀리에 관리하는 암호화
- RSA 알고리즘
※ DES
- 블록 크기는 64비트, 키 길이는 56비트, 16회의 라운드 수행
※ AES
- 블록 크기는 128비트, 키 길이에 따라 AES-128, AES-192, AES-256으로 분류
※ 해시
- 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것을 의미
- SHA 시리즈, HAVAL, MD4, MD5, N-NASH, SNERFU 등
※ TKIP
- 기존의 무선 랜 보안 프로토콜인 WEP의 취약성을 보완한 데이터 보안 프로토콜
- 암호 알고리즘의 입력 키 길이를 128비트로 늘리고 패킷 당 키 할당, 키값 재설정 등의 키 관리 방식을 개선
※ 인증
- 지식 기반 인증 [Something You Know] : 고정된 패스워드, 패스 프레이즈, 아이핀(i-Pin)
- 소유 기반 인증 [Something You Have] : 신분증, 메모리 카드, 스마트 카드, OTP
- 생체 기반 인증 [Something You Are] : 지문, 얼굴, 정맥
- 위치 기반 인증 [Somewhere You Are] : GPS, IP
- 행위 기반 인증 [Something You Do] : 서명, 동작
※ 침입 탐지 시스템 [IDS : Intrusion Detection System]
: 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템
- 오용 탐지(Misuse Detection) : 미리 입력해 둔 공격 패턴이 감지되면 이를 알려줌
- 이상 탐지(Anomaly Detection) : 비정상적인 행위나 자원의 사용 감지
※ 침입 방지 시스템 [IDS : Intrusion Prevention System]
: 비정상적인 트래픽을 능동적으로 차단하고 격리하는 등의 방어 조치를 취하는 보안 솔루션
- 침입 탐지 기능으로 패킷을 하나씩 검사한 후 비정상적인 패킷이 탐지되면 방화벽 기능으로 해당 패킷을 차단
※ 웹 방화벽 [Web Firewall]
- 웹 기반 공격을 방어할 목적으로 만들어진 웹 서버에 특화된 방화벽
※ VPN [Virtual Private Network, 가상 사설 통신망]
: 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션
※ NAC [Network Access Control]
: 네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록한 후 일관된 보안 관리 기능을 제공하는 보안 솔루션
※ AAA [=3A]
- 인증 [Authentication]
- 인가 [Authorization]
- 과금 [Accounting]
※ 정보보호 관리 체계 [ISMS : Information Security Management System]
: 정보 자산을 안전하게 보호하기 위한 보호 절차와 대책
※ Ping of Death
: 패킷의 크기를 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법
※ SMURFING
: SMURFING(스머핑)은 IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법
※ SYN Flooding
: 3-way-handshake 과정을 의도적으로 중단시킴으로써 서버가 정상적인 서비스를 수행하지 못하게 하는 공격 방법
※ LAND Attack
: 패킷을 전송할 때 송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로 하여 자신에 대해 무한히 응답하게 하는 공격 방법
※ DDoS 공격
: 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 서비스 거부 공격을 수행하는 것
※ 세션 하이재킹
: 상호 인증 과정을 거친 후 접속해 있는 서버와 클라이언트 사이의 세션 정보를 가로채는 공격 기법
TCP 3-Way-handshake 과정에 끼어듦으로써 클라이언트와 서버 간의 동기화된 시퀀스 번호를 가로채 서버에 무단으로 접근하는 TCP 세션 하이재킹이 대표적인 예
※ ARP 스푸핑
: ARP 스푸핑(ARP Spoofing)은 자신의 물리적 주소(MAC)을 공격대상의 것으로 변조하여 데이터 패킷을 가로채거나 방해하는 기법
- ARP(Address Resolution Protocol) : 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 변환해주는 프로토콜
※ 스니핑 [Sniffing]
: 네트워크의 중간에서 남의 패킷 정보를 도청하는 해킹 유형
※ 워터링 홀 [Watering Hole]
: 자주 방문하는 웹 사이트를 사전에 감염시켜 사이트에 방문했을 때 악성 코드에 감염되게 하는 공격
※ 키로거 공격 [Key Logger Attack]
: 컴퓨터 사용자의 키보드 움직임을 탐지해 정보를 몰래 빼가는 해킹 유형
※ 백도어 [Back Door]
: 시스템 설계자가 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로
- 백도어 탐지 방법 : 무결성 검사, 열린 포트 확인, 로그 분석, SetUID 파일 검사 등
▶ 소프트웨어 개발 보안과 관련된 내용 중 Secure SDLC의 개념을 간략히 서술하시오.
: 보안상 안전한 소프트웨어를 개발하기 위해 SDLC에 보안 강화를 위한 프로세스를 포함하는 것
▶ TLS 연결을 SSL 3.0으로 낮춰 SSL 3.0의 취약점을 이용하여 암호문을 해독하는 공격 기법은?
: POODLE 공격
▶ QR코드와 '개인정보 및 금융정보를 낚는다'를 의미하는 'Fishing'의 합성 신조어로, QR코드를 통해 악성 앱의 다운로드를 유도하거나 악성 프로그램을 설치하도록 하는 금융 사기 기법은?
: 큐싱
▶ 다음에서 설명하는 정보 보안 관련 용어를 작성하시오
- 전사적 IT인프라에 대한 위협정보들을 수집, 분석, 경보, 관리하는 정보보호 통합 관리 시스템
- 실시간으로 공신력 있는 대외 정보보호기관의 위협 정보들을 수집/분석하여 정보보호 관리자에게 제공한다.
→ TMS
▶ 악성코드에 감염되어 다른 프로그램이나 컴퓨터를 조종하도록 만들어진 컴퓨터로, C&C(Command & Control) 서버의 제어를 받아 주로 DDoS 공격 등에 이용되는 컴퓨터는?
: Zombie PC
▶ 다음에서 설명하는 정보 보안 관련 용어를 작성하시오.
- Windows 7부터 지원되기 시작한 Windows 전용의 볼륨 암호화 기능이다.
- TPM(Trusted Platform Module, 신뢰할 수 있는 플랫폼 모듈)과 AES-128 알고리즘을 사용한다.
→ 비트로커
▶ 악성 소프트웨어를 뜻하는 멀웨어와 광고의 합성어로, 온라인 광고를 통해 악성코드를 유포시키는 행위는?
: 멀버타이징 (Malvertising)
▶ 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태를 의미하는 용어는?
: 봇넷
'CS > CS' 카테고리의 다른 글
[5, 6장] 인터페이스 구현 / 화면 설계 (0) | 2023.07.16 |
---|---|
[12장] 제품 소프트웨어 패키징 (0) | 2023.07.16 |
[11장] 응용 SW 기초 기술 활용 (2) (1) | 2023.07.16 |
[11장] 응용 SW 기초 기술 활용 (1) (0) | 2023.07.16 |
[7장] 애플리케이션 테스트 관리 (0) | 2023.07.16 |