빙응의 공부 블로그
[정처기]실기 9장 - 소프트웨어 개발 보안 구축 본문
📝109. Secure SDLC
- 소프트웨어 개발 생명 주기에 보안 강화를 위한 프로세스를 포함한 것을 의미한다.
- 대표적인 방법론
- CLASP
- SDL
- SevenTouchpoints
- 소프트웨어 개발 보안 요소
- 기밀성 : 인간된 사용자만 접근을 허용
- 무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정
- 가용성 : 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용 가능
- 시큐어 코딩
- 보안 요소들을 고려하여 코딩하는 것을 의미한다.
문제 1. 데이터베이스 보안에서 가용성에 대한 설명을 간단히 서술하시오
정답 :인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용 가능
📝110. 입력 데이터 검증 및 표현
- 입력 데이터 검증 및 표현의 약점
- SQL 삽입(Injection)
- 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 것
- 경로 조작 및 자원 삽입
- 데이터 입출력 경로를 조작하여 서버 자원을 수정 삭제하는 보안 약점
- 크로스사이트스크립팅(XSS)
- 웹페이지에 악의적인 스크립트를 삽입하여 정보를 탈취하거나 비정상적인 기능 수행을 유발하는 보안 약점
- 운영체제 명령어 삽입
- SQL 삽입(Injection)
문제 1. SQL Injection에 대해 간략하게 서술하시오
정답 : 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스의 유출 및 변조를 하고 관리자 인증을 우회하는 것을 말함
📝111. 보안 기능
- 보안 약점
- 적절한 인증 없이 중요기능 허용
- 부적절한 인가
- 중요한 자원의 대한 잘못된 권한 설정
- 취약한 암호화 알고리즘 사용
- 중요정보 평문 저장 및 전송
- 하드코드된 암호화 키
📝112. 코드 오류
- 코드 오류의 보안 약점
- 널프인트 역참조
- 부적절한 자원 해제
- 해제된 자원 사용
- 초기화되지 않은 변수 사용
- 스택 가드
- 주소가 저장되는 스택에서 발생하는 보안 약점을 막는 기술
📝113. 캡슐화
- 캡슐화 보안 약점
- 잘못된 세션에 의한 정보 노출
- 제거되지 않고 남은 디버그 코드
- 시스템 데이터 정보 노출
- public 메소드로부터 반환된 Private 배열
- Prvate 배열에 Public 데이터 할당
- 접근 제어자
- public
- protected
- default
- private
📝114. 암호 알고리즘
- 중요한 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법을 의미한다.
- 개인키 암호화 기법
- 동일한 키로 데이터를 암호화하고 복호화한다.
- 속도는 빠르지만, 관리해야 할 키의 수가 많다.
- 종류
- 스트림 암호화 방식
- 평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화 하는 방식
- 종류 : LFSR, RC4, TKIP
- 블록 암호화 방식
- 한 번에 하나의 데이터 블록을 암호화 하는 방식
- 종류 : DES, SEED, AES, ARIA, IDEA, Skipjack
- 스트림 암호화 방식
- 공개키 암호화 기법
- 암호화할 때는 사용하는 공개키는 사용자에게 공개하고, 복호화할 때의 비밀키는 관리자가 관리한다.
- 비대칭 암호화 방식
- 관리해야할 키의 수는 적지만, 암호화/복호화 속도가 느리다.
- 대표적으로 RSA와 ECC 기법이 있다.
- 양방향 알고리즘의 종류
암호화 기법 | 알고리즘 | 특징 |
비밀키 암호화 기법 | SEED | 한국인터넷진흥원이 개발한 블록 암호화 알고리즘 블록 크기는 128비트 |
비밀키 암호화 기법 | ARIA | 2004년 국가정보원과 산학연합회가 개발한 블록 암호화 알고리즘 |
비밀키 암호화 기법 | DES | 미국 NBS에서 발표한 개인키 암호화 알고리즘 블록 크기가 64비트 |
비밀키 암호화 기법 | AES | DES를 보완한 개인키 암호화 알고리즘 블록 크기가 128비트 |
공개키 암호화 기법 | RSA | 큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만들어짐 |
공개키 암호화 기법 | ECC | 이산 대수 문제를 타원곡선으로 옮겨 기밀성과 효율성을 높임 |
비밀키 암호화 기법 | IDEA | 스위스의 라이와 메시가 개발한 PES를 개선한 알고리즘 블록 크기는 64비트 |
비밀키 암호화 기법 | Skipjack | 국가 안전 보장국에서 개발한 암호화 기법 주로 음성 통신 장비에 삽입 클러피 칩 |
비밀키 암호화 기법 | TKIP | 무선랜 보안에 사용된 WEP를 보완한 임시키 무결성 프로토콜 |
- 해시
- 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것을 의미한다.
- 종류
- SHA 시리즈
- 미국 국가보안국이 설계, 미국 국립표준기술연구소에서 발표됨
- MD5
- MD4를 대체하기 위해 고안한 해시 함수
- N-NASH
- 일본 전신전화주식회사에서 발표한 암호화 해시 함수
- SHEFRU
- R.C.Merkle가 발표한 해시 함수
- SHA 시리즈
문제 1. MD4를 개선한 암호화 알고리즘은?
정답 : MD5
문제 2. IBM이 개발하고 NBS에 의해 미국의 국가 표준으로 발표된 암호화 알고리즘으로 해독하기 쉬워지면서 AES로 대체된 것은?
정답 :DES
문제 3. 미국 표준 기술 연구소에서 발표한 대칭키 암호화 알고리즘으로 DES에 한계를 느껴 발표한 것은?
정답 : AES
문제 4. WEP을 보완한 데이터 보안 프로토콜이다. 무선랜에서 사용
정답 : TKIP
문제 5. 스위스의 라이와 메시가 개발한 것으로 PES를 대체하는 것은?
정답 : IDEA
문제 6. 클리퍼 칩이라는 IC 칩이 내장되어 잇는 암호화 알고리즘은?
정답 : Skipjack
📝115. 서비스 공격 유형
- 서비스 거부 공격
- 대량의 데이터를 한 곳의 서버에 집중적으로 전송함으로 써 서버의 기능을 방해하는 것이다.
유형 | 특징 |
Ping of Death | 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 네트워크를 마비시키는 서비스 거부 공격 |
SMURFING | IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크 불능 상태로 만드는 공격 |
SYN Flooding | 3-way-hadshake 과정을 의도적으로 중단시킴으로써 공격 대상지인 서버가 대기 상태로 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법 |
TearDrop | 분할 순서를 알 수 있는 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시키는 공격 |
LAND Attack | 패킷을 전송할 때 송신 ip 주소와 수신 ip 주소를 모두 공격 대상으로 하는 공격 |
DDos | 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 서비스 거부 공격을 수행하는 것 |
- 네트워크 침해 공격 관련 용어
용어 | 의미 |
세션 하이재킹 | 서버와 클라이언트 사이의 세션 정보를 가로채는 공격 기법이다. 접속을 위한 인증 정보 없이도 가로챈 세션을 이용해 데이터 침해를 한다. |
ARP 스푸핑 | ARP 취약점을 이용한 공격 기법 |
스미싱 | 문자 메시지를 이용해 개인 정보를 빼내는 것 |
사회 공학 | 인간 사이의 신뢰를 바탕으로 소경 보안 절차를 깨트리는 것 |
다크 데이터 | 특정 목적을 가지고 데이터를 수집하였으나, 이후 활용되지 않고 저장만 되어 있는 것을 의미한다. |
타이포스쿼팅 (Typosquatting) |
네티즌들이 사이트에 접속할 때 주소를 잘못 입력하는 것을 이용한 것 |
스피어 피싱 | 사회 공학의 한 기법으로 이메일을 이용해 정보를 탈취하는 것 |
ART | 다양한 IT 기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리면서 보안을 무력화시키고 정보를 수집하는 것 |
무작위 대입 공격 (Brute Force Attack) |
암호화된 문서의 함호키를 찾아내기 위해 적용 가능한 모든 값을 대입하는 것 |
큐싱 | QR 코드를 통해 악성 코드를 심는 것 |
스니핑 | 네트워크 중간에 남의 패킷 정보를 도청 |
- 정보 보안 침해 공격 관련 용어
용어 | 의미 |
워터링홀 | 목표 조직이 자주 방문하는 웹 사이트를 사전에 감염시켜 목표 조직의 일원이 웹 사이트에 방문했을 때 악성 코드를 감염되게 하는 웹 기반 공격 |
좀비 PC | |
C&C 서버 | 해커가 원격지에서 좀비 PC에 명령을 내리고 악성코드를 제어하기 위한 용도로 사용되는 서버 |
봇넷 | 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태 |
웜 | 자기 복제를 하여 시스템 부하 |
제로 데이 공격 | 보안 취약점을 통한 신속한 공격 |
키로거 공격 | 키보드 움직임을 이용한 공격 |
랜섬웨어 | |
백도어 | |
트로이 목마 | 정상적인 기능을 하는 프로그램으로 위장하여 숨어있다가 부작용을 일으킴 |
문제 1. 스니핑의 개념을 쓰시오
정답 : 네트워크의 패킷을 중간에 탈취하는 것을 의미한다.
문제 2. 출발지 주소와 도착지 수소를 모두 자신으로 하여 무한히 응답하게 하는 공격은?
정답 : LAND Attack
문제 3. ( 1 )은 컴퓨터 보안에 있어 인간의 상호 작용에서의 신뢰를 이용한 것이다.
( 2 )는 특정 목적을 가지고 데이터를 수집하였으나, 지금은 저장만하고 안쓰는 대량의 데이터를 말한다.
정답 : 사회 공학, 다크데이터
문제 4. 조직이 자주 방문하는 웹 사이트를 사전에 감염시키는 공격 방법은?
정답 : 워터링홀
문제 5. ( )은 네트즌들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠드리는 실수를 이용한 공격이다.
정답 : 타이포스쿼팅
문제 6. ( )은 세션을 가로채다는 의미이다.
정답 : 세션 하이재킹
문제 7. ( ) 스푸핑은 로컬 네트워크에서 사용하는 ( )의 약점을 이용한 공격 기법이다.
정답 : ARP
📝116. 서버 인증
- 보안 서버
- 개인정보를 암호화하여 송수신할 수 있는 기능을 갖춘 서버를 말한다.
- 인증
- 접근 권한을 검증하는 보안 절차
- 인증의 주요 유형
- 지식 기반 인증
- 소유 기반 인증
- 생체 기반 인증
- 위치 기반 인증
📝117. 보안 솔루션
- 외부로부터 불법적인 침입을 막는 기술
- 방화벽
- 기업이나 조직의 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 기능을 가진 침입 차단 시스템
- 침입 차단 시스템(IDS)
- 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템
- 침입 방지 시스템(IPS)
- 비정상적인 트래픽을 능동적으로 차단하고 격리하는 보안 솔루션
- 데이터 유출 방지(DLP)
- 내부 정보의 외부 유출을 방지하는 보안 솔루션
- 웹 방화벽
- VPN
- 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션
- NAC
- 네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록한 후 일관된 보안 기능을 제공하는 보안 솔루션
- SIEM
- 로그 및 보안 이벤트를 통합 관리하는 빅데이터 기반 보안 솔루션
- SSH
- 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜
- 22번 포트 사용
- 템퍼 프루핑(Tamper Proofing)
- 소프트웨어 위변조가 발생할 경우 소프트웨어를 오작동하게 만들어 악용을 방지하는 기술
- OAuth
- 인터넷 애플리케이션에서 사용자 인증에 사용되는 표준 인증 방법 공개 API로 구현
문제 1. ( )은 인터넷 등 통신 사업자의 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션이다.
정답 : VPN
문제 2. 다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합하여 관리할 수 있는 빅데이터 기반 보안 솔루션
정답 : SIEM
문제 3. 다른 컴퓨터에 로그인, 원격 명령 실행 ,파일 복사 등을 수행할 수 있게 해주는 프로토콜로 22번 포트를 사용하는 것은?
정답 :SSH
문제 4. 소프트웨어 데이터의 비정상적인 수정이 감지되면 소프트웨어를 오작동하게 만드는 기술은?
정답 : 템퍼 프루핑
'정처기' 카테고리의 다른 글
[정처기]실기 12장 - 제품 소프트웨어 패키징 (0) | 2024.04.14 |
---|---|
[정처기]실기 11장 - 응용 SW 기초 기술 활용 (0) | 2024.04.12 |
[정처기]실기 8장 - SQL 응용 (0) | 2024.04.09 |
[정처기]실기 7장 - 애플리케이션 테스트 관리 (0) | 2024.04.08 |
[정처기]실기 6장 - 화면 설계 (0) | 2024.04.07 |