본문 바로가기
정처기

정보처리기기사 실기 정리 9. 소프트웨어 개발 보안 구축

by 롱2롱 2023. 4. 22.

- Secure SDLC란?
SDLC에 보안 강화를 위한 프로세스를 포함한 것

방법론 : CLASP, SDL, Seven Touchpoint



- 소프트웨어 개발 보안 요소
1. 기밀성 : 시스템 내의 정보와 자원은 인가된 사용자에게만 접근 허용

2. 무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있음

3. 가용성 : 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용할 수 있음

4. 인증 : 시스템 내의 정보와 자원을 사용하려는 사용자가 합법적인 사용자인지를 확인하는 모든 행위

5. 부인 방지 : 송 수신 증거를 제공



- SQL 삽입(Injection)이란?

웹 응용 프로그램에 SQL을 삽입하여 내부 디비 서버의 데이터를 유출 및 변조, 관리자 인증을 우회하는 보안 약점



- 크로스 사이트 스크립팅(XSS)란?

웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취 or 비정상적인 기능 수행을 유발하는 보안 약점



- 메모리 버퍼 오버 플로란?

할당된 메모리의 범위를 넘어선 위치에서 자료를 읽거나 쓰려고 할 때 발생하는 보안 약점



- 스택가드란?

주소가 저장되는 스택에서 발생하는 보안 약점을 막는 기술



- 접근 제어자

public > protected > default > private

패키지외부 - 하위클래스 -  패키지내부 - 클래스 내부





암호화!

- 개인키 암호화 기법

동일한키로 데이터를 암호화->복호화, 대칭 암호기법, 속도 빠름, 관리해야 할 키의 수 많음

 스트림 암호화 방식 : 평문과 동일한 길이의 스트림 생성 -> 비트단위 암호화 ex) LFSR, RC4
블록 암호화 방식 : 한 번에 하나의 데이터 블록을 암호화  ex) DES, SEED, AES, ARIA


-공개키 암호화 기법

암호화할 때 공개키는 사용자에게 공개, 복호화할 때의 비밀키는 관리자가 관리, 비대칭 암호기법, 속도느림, 관리해야할 키 수 적음 대표적으로 RSA



- 해시

입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것

ex) SHA시리즈, HAVAL, MD4, MD5, N-NASH, SNEFRU






SEED (개인키)  1999년, 한국인터넷진흥원개발, 블록 암호화
블록 크기 128비트
ARIA (개인키)  2004년, 국가정보원+산학연협회 개발 ,블록 암호화
학계+연구소+정부기관 앞글자 따서 만듦
AES 암호화 알고리즘 규격 따름
DES (개인키)  1975년, 미국 NBS 개발, 개인키+블록 암호화 
블록 크기 64비트, DES를 4번 적용한 3DES가 있음
AES (개인키)  2001년, 미국 표준 기술 연구소(NIST)개발, 블록 암호화
DES업그레이드 버전
블록크기 128비트
RSA (공개키)  1978년, MIT개발, 공개키 암호화 알고리즘
큰숫자는 소인수분해하기 어렵다는 기반에서 만들어짐
SHA 시리즈 (해시)  1993년, 미국 국가안보국(NSA)+미국 국립표준기술 연구소(NIST)
MD5 (해시)  1991년, MD4업그레이드
블록크기는 512비트
N-NASH (해시)  1989년, 일본의 전신전화주식회사(NTT)
블록크기 키길이 128비트
SNEFRU (해시)  1990년, R.C.Merkel
32비트 프로세서에서 구현 용이 위해
TKIP  기존의 무선 랜 보안 프로토콜인 WEP의 취약성을 보완한 데이터 보안 프로토콜
암호 알고리즘의 입력 키 길이를 128비트로 늘리고 키 관리 방식 개선함



- 침입 탐지 시스템이란?
컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템 

  • 오용 탐지 : 미리 입력해 둔 공격 패턴이 감지되면 알려줌
  • 이상 탐지 : 평균적인 시스템의 상태를 기준으로 비정상적인 행위나 자원의 사용이 감지되면 이를 알려줌

 

- 침입 방지 시스템이란?
침입탐지+방화벽 


- 웹 방화벽
SQL삽입공격과 XSS(cross-site scriping) 등의 웹 기반 공격을 방어할 목저긍로 만들어진 웹 서버에 특화된 방화벽

-VPN
사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션

- AAA
Authentication (인증) : 접근하는 사용자의 신원을 검증하는 기능
Authorization (권한) : 신원이 검증된 사용자에게 특정된 권한과 서비스 허용
Accounting (과금)  : 사용자가 어떤 종류의 서비스를 이요했고 얼마만큼의 자원을 사용했는지 기록 및 보관


- 정보보호 관리 체계 (ISMS / Information Security Management System)
정보 자산을 안전하게 보호하기 위한 보호 절차와 대책



- LAND Attack
패킷을 전송할 때 (송신 IP 주소) = (수신 IP주소) = (공격 대상의 IP주소)로 해서
자신에 대해 무한히 응답하게 하는 공격 방법

- 세션 하이재킹 (Session Hijacking)
상호 인증 과정 거친 후 -> 접속해 있는 서버 --session-- 클라이언트 
저 session 정보를 가로채는 공격 기법 



- ARP 스푸핑
자신의 물리적 주소(MAC)을 공격대상의 것으로 변조해 공격 대상에게 도달해야 하는 데이터 패킷을 가로 채거나 방해하는 기법

- 스니핑(Sniffing)
네트워크의 중간에서 남의 패킷 정보 도청 (스니핑은 킁킁 거리다는 뜻임 중간에 킁킁 정보 훔쳐들음)

 

- 워터링 홀(Watering Hole)

웹사이트를 사전에 감염시켜 대상이 해당 사이트에 방문하면 악성 코드에 감염되게 하는 웹 기반 공격

 

- 키로거 공격 (Key Logger Attack)

컴퓨터 사용자의 키보드 움직임 탐지해 공격

 

- 랜섬웨어

내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는거 

 

- 백도어

시스템 설계자가 엑세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로

탐지방법 : 무결성 검사, SetUID파일 검사, 로그분석, 열린포트확인

 

 

댓글