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

2024. 10. 16. 15:46·Certifications/정보처리기사 실기

🤖 SW개발 보안의 3대 요소

  • 기밀성 (Confidenfally)
    - 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성.
    => 시스탬 내 정보 자원은 인가된 사용자에게만 접근 허용

  • 무결성 (Integrity)
    - 인가된 사용자에 대해서만 자원 수정이 가능하며 전송중인 정보는 수정되지 않아야 하는 특성
    => 오직 인가된 사용자만이 시스템 내 정보 수정 가능

  • 가용성 (Availability)
    - 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능해야 하는 특성

 

 

🤖 암호 알고리즘

암호화 방식
양방향 단방향
개인키 (대칭 암호 기법) 공개키 (비대칭 암호 기법) hash (해시 알고리즘)
동일한 키로 암/복호화 암호화 키 : DB 사용자에게 공개
복호화 키 : 비밀키로 관리자만 앎

RSA, Rabin
해시 함수로 변환된 값/키를 해시값/키라고 함
임의의 길이의 입력 데이터를 받아 고정된 길이의 해시 값을 변환한다.

SHA 시리즈, MD5, N-NASH, SNEFRU
stream 방식 block 방식
1bit씩 연산

RC4, LFSR
2bit씩 연산

DES, AES, SEED

 

 

 

🤖 서비스 공격 유형 (DoS)
DoS (Denial Of Service)
: 대량의 데이터를 한 곳의 서버에 집중적으로 전송하여 표적이 되는 서버의 정상적인 기능을 방해

Ping Of Death (죽음의 핑) 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 네트워크를 마비시키는 서비스 거부 공격 방법
(ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 전송)
Smurfing (스머핑) IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법
Ping Flooding 과도한 ICMP 메시지에 의한 응답 과다로 시스템 에러 유
SYN Flooding 3-way-handshake 과정을 의도적으로 중단시킴으로써 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법
SYN 패킷만 보내 점유하여, 다른 사용자가 서버를 사용 불가능하게 만듬
UDP Flooding 대량의 UDP 패킷을 만들어 응답 메시지(ICMP)를 생성하여 네트워크 자원 고갈하게 만듬
TearDrop Offset 값을 변경시켜 수신 측에 과부하를 발생시킴으로써 시스템이 다운되도록 하는 공격 방법
Land Attack 패킷을 전송할 때 송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로 하여 자신에 대해 무한히 응답하게 하는 공격
DDoS (분산 서비스) 공격 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 서비스 거부 공격을 수행하는 것

 

 

 

🤖 네트워크 침해 공격

세션 하이재킹
(Session Hijacking)
서버에 접속하고 있는 클라이언트들의 세션 정보를 가로채는 공격 기법
ARP 스푸핑 자신의 물리적 주소를 공격 대상의 것으로 변조하여 공격 대상에게 도달해야 하는 데이터 패킷을 가로채거나 방해
스미싱 문자 메시지(SMS)를 이용해 개인 신용 정보를 빼내는 수법
사회 공학
(Social Engineering)
인간 상호 작용의 깊은 신뢰를 바탕으로 사람을 속여 정상 보안 절차를 깨트리기 위한 비기술적 시스템 침입 수단
다크 데이터 활용되지 않고 저장만 되어있는 대량의 데이터
타이포스쿼팅
(Typosquatting)
사용자가 웹 URL 주소를 잘못 입력하는 실수를 악용
스피어 피싱 불특정 다수에게 메일 발송 후 가짜 위장 사이트로 유인한 후 금융기관 관련 개인 정보를 빼내는 행위
APT
(Advanced Persistent Threat; 지능형 지속 위협)
특정 개인 및 조직을 타겟으로 침투 후 내부 서버 제어권을 획득하여 무력화된 시스템 상의 데이터 수집
Qshing (큐싱) QR코드를 통해 악성 앱 다운을 유도하거나 설치
SQL 삽입 공격
(SQL Injection Attack)
임의의 SQL문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 코드 삽입 공격
XSS
(Cross-Site Scripting,
크로스 사이트 스크립팅)
브라우저 스크립트 취약점을 악용하여 특정 링크 클릭 시 악성 스크립트가 실행되어 개인 정보 탈취
스니핑 네트워크의 중간에서 남의 패킷을 엿보면서 계정 정보(ID/PW)를 가로채는 행위

 

 

 

🤖 정보 보안 침해 공격

Watering Hole Attack
(워터링 홀 공격)
목표 조직이 자주 방문하는 웹 사이트를 사전에 감염시킨 후 해당 타겟이 감염된 웹 사이트를 방문할 때까지 기다리는 공격
좀비 PC 악성코드에 감염되어 다른 컴퓨터를 조종하는 행위
C&C 서버 해커가 감염된 좀비 PC에 명령을 내리고 악성코드를 제거하기 위한 용도로 사용하는 서버
웜 (Worm) 다른 컴퓨터의 취약점을 이용하여 스스로 전파하거나 메일로 전파되며 스스로를 증식
제로 데이 공격 발견된 취약점의 존재를 공표하기 전에 해당 취약점으로 이용한 보안 공격 (해킹의 신속성)
키로거 공격 키 입력 캐치 프로그램을 이용하여 개인정보를 빼내어 악용하는 행위
사용자의 키보드 움직임을 탐지
랜섬웨어 내부 문서 파일 등을 암호화하여 사용자가 열지 못하도록 하고 이를 인질로 금전을 요구하는데 사용되는 악성 프로그램
백도어 보안이 제거된 비밀통로로 무단 접근을 위한 통로
트로이 목마 정상 프로그램으로 위장하여 숨어있는 바이러스

 

 

 

🤖 정보 보안 솔루션

방화벽 내부의 네트워크와 인터넷 간에 전송되는 정보를 수용/거부/수정하는 기능을 가진 침입 차단 시스템
내부 -> 외부로 나가는 패킷은 통과
외부 -> 내부로 유입되는 패킷은 인증된 패킷만 통과
웹 방화벽 일반 방화벽은 탐지 불가능한 SQL 삽입 공격, XSS 등 웹 기반 공격을 방어하는 목적으로 웹 서버에 특화된 방화벽
침입 탐지 시스템
(IDS; Intrusion Detection System)
시스템의 비정상적인 사용/오용/남용 등을 실시간 탐지
ex) 오용 탐지, 이상 탐지
침입 방지 시스템
(IPS; Intrusion Prevention System)
방화벽 + IDS
비정상적인 트래픽을 능동적으로 차단하고 격리하는 보안 솔루션
데이터 유출 방지
(DLP; Data Loss Prevention)
내부 정보의 외부 유출을 방지하는 보안 솔루션
사내 직원이 사용하는 시스템의 모든 정보를 탐지/통제
VPN (가상 사설 통신망) 공중 네트워크 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션
NAC (Network Access Control) 네트워크에 접속하는 내부 PC의 MAX 주소를 IP 관리 시스템에 등록한 후 일관된 보안 관리 기능을 제공하는 보안 솔루션
ESM
(Enterprise Security Management)
상기 보안 솔루션에서 발행한 로그 기록을 통합하여 관리
SIEM
(Security Information
& Event Management)
보안 경고의 실시간 분석 제공
로그 및 이벤트 통합 관리 / 빅테이터 기반 보안 솔루션

 

 

 

🤖 정보 보안 프로토콜

SSH (Secure SHell) 서로 연결된 컴퓨터 간 원격 명령실행 및 셀 서비스 수행
키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 함
전송 데이터는 암호화되며, 기본적으로 22번 포트 사용
SSL (Secure Scoket Layer) 웹 브라우저와 서버 간 안전한 데이터 전송 목적
TLS (Transport Layer Security) 인터넷 커뮤니케이션을 위한 개인 정보와 데이터 무결성을 제공하는 보안 프로토콜
SSL의 개선 버전
IPSec IP 네트워크 계층을 안전하게 보호하기 위한 보안 프로토콜
인증(AH) 프로토콜 / 암호화(ESP) 프로토콜 / 키 관리(IKE) 프로토콜
S-HTTP
(Secure Hypertext Transfer Protocol)
모든 메시지를 암호화하여 전송하는 기술,
HTTP를 사용한 어플리케이션에 한하여 보호
TKIP
(Temporal Key Integrity Protocol)
임시 키 무결성 프로토콜
암호 알고리즘의 입력 키 길이를 128비트로 늘림

 

 

 

참고

https://eune7.tistory.com/112

 

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

도서 내용 중 중요하다 여겨지는 것만 작성합니다 영리목적이 아닌 공유목적입니다 출처 : 2023 시나공 정보처리기사 실기 (저자: 김정준, 강윤석, 김용갑, 김우경 | 출판사: 길벗) '기출문제는 시

eune7.tistory.com

 

저작자표시 비영리 변경금지 (새창열림)

'Certifications > 정보처리기사 실기' 카테고리의 다른 글

[정보처리기사 실기] 응용 SW 기초 기술 활용 _ 네트워크 기초 활용  (5) 2024.10.11
[정보처리기사 실기] 응용 SW 기초 기술 활용 _ 운영체제 특징  (1) 2024.10.10
[정보처리기사 실기] 서버 프로그램 구현  (3) 2024.10.10
[정보처리기사 실기] 데이터 입출력 구현  (2) 2024.10.08
[정보처리기사 실기] 화면 설계  (5) 2024.10.06
'Certifications/정보처리기사 실기' 카테고리의 다른 글
  • [정보처리기사 실기] 응용 SW 기초 기술 활용 _ 네트워크 기초 활용
  • [정보처리기사 실기] 응용 SW 기초 기술 활용 _ 운영체제 특징
  • [정보처리기사 실기] 서버 프로그램 구현
  • [정보처리기사 실기] 데이터 입출력 구현
기만나🐸
기만나🐸
공부한 내용을 기록합시다 🔥🔥🔥
  • 기만나🐸
    기만나의 공부 기록 🤓
    기만나🐸
  • 전체
    오늘
    어제
    • ALL (147)
      • TIL (Today I Learned) (56)
      • Dev Projects (15)
      • Algorithm Solving (67)
        • Java (52)
        • SQL (15)
      • Certifications (8)
        • 정보처리기사 실기 (8)
  • 인기 글

  • 태그

    BFS
    websocket
    programmers
    HTML
    CSS
    완전탐색
    백트래킹
    jQuery
    백준
    DFS
    join
    Firebase
    그리디
    dp
    자료구조
    bootstrap
    시뮬레이션
    jpa
    jwt
    java
    BOJ
    GROUP BY
    sql
    Subquery
    greedy
    Google Fonts
    프로그래머스
    다이나믹프로그래밍
    javascript
    mysql
  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
기만나🐸
[정보처리기사 실기] 소프트웨어 개발 보안 구축
상단으로

티스토리툴바