Secure SDLC
정의
보안상 안전한 소프트웨어 개발을 위해, 기존 소프트웨어 개발 생명주기(SDLC)에 보안 강화를 위한 프로세스를 포함한 것
(SDLC : 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수)
대표적 방법론
SW 개발 보안 요소
기밀성, 무결성, 가용성 → 보안의 3대 요소
암호 알고리즘
양방향
개인키(대칭키)
동일한 키로 데이터 암복호화
암복호화 속도가 빠르지만, 관리해야할 키의 수가 많음
공개키(비대칭키)
암호화 할 때 사용하는 공개키는 사용자에게 공개, 복호화 할 때의 비밀키는 공개X
관리해야할 키의 수가 적지만, 암복호화 속도가 느림
대표적 기법 → RSA, ECC, 디피 헬만, EIGamal
단방향
해시(Hash)
임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환
암호화, 무결성 검증 등에도 사용
대표적 기법 → SHA 시리즈, MD5, HAS-160, HAVAL
서비스 공격 유형
Ping of Death
Ping 명령을 전송할 때, 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여, 공격 대상의 네트워크를 마비
Smurfing (스머핑)
IP나 ICMP의 특성을 악용, 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만듬
SYN Flooding
공격자 가상의 클라이언트로 위장하여, 3-Way-Handshake 과정을 의도적으로 중단시킴으로써 서버(공격 대상자)가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 함
TearDrop
데이터 송수신 과정에서 패킷이 분할되어 전송될 때 Fragment Offset(분할 순서를 알 수 있도록)값을 함께 전송하는데, 이 Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시켜 시스템이 다운되도록 함
Land Attack
패킷 전송 시 송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로 하여 공격 대상에게 전송해, 자신에 대해 무한히 응답하도록 함
DDoS (분산 서비스 거부) 공격
여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행. 네트워크에서 취약점이 있는 호스트들을 탐색한 후, 이들 호스트들에 분산 서비스 공격용 툴을 설치하여 Agent로 만든 후 DDoS 공격에 활용
보안 솔루션
방화벽
기업이나 조직 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 기능을 가진 침입 차단 시스템
침입 탐지 시스템 (IDS)
컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템
- 오용 탐지 : 미리 입력해 둔 공격 패턴이 감지되면, 이를 알려줌
- 이상 탐지 : 평균적인 시스템 상태를 기준으로 비정상적인 행위나 자원이 사용이 감지되면, 이를 알려줌
침입 방지 시스템 (IPS)
비정상적인 트래픽을 능동적으로 차단하고 격리하는 등의 방어 조치를 취하는 보안 솔루션
(방화벽과 침입 탐지 시스템을 결합)
데이터 유출 방지 (DLP)
내부 정보의 외부 유출을 방지하는 보안 솔루션
웹 방화벽
웹 기반 공격(SQL 삽입, Cross-Site-Scripting 등)을 방어할 목적으로 만들어진, 웹 서버에 특화된 방화벽
VPN
인터넷 등 통신 사업자의 공중 네트워크와 암호화 기술을 이용하여, 인터넷망을 전용 사설망을 구축한 것처럼 이용할 수 있게 해주는 보안 솔루션
NAC
네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록한 후, 일관된 보안 관리 기능을 제공하는 보안 솔루션
ESM
다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합하여 관리하는 보안 솔루션
네트워크 침해 공격 관련 용어
스미싱 (Smishing)
- 문자 메시지를 이용해 사용자의 개인 신용 정보를 빼내는 수법
스피어 피싱
- 특정 대상을 선정한 후, 그 대상에게 일반적인 이메일을 위장한 메일을 지속적으로 발송
크로스 사이트 스크립팅 (XSS : Cross Site Scripting)
- script의 취약점을 이용한 해킹 기법
- 사용자가 특정 게시물이나 이메일의 링크 클릭 시, 악성 스크립트가 실행되어 공격
SQL 삽입 공격
- DB 조작 명령어를 삽입하여 임의로 데이터 조작해 공격
스니핑 (Sniffing)
- 네트워크 중간에서 남의 패킷 정보를 도청
정보 보안 침해 공격 관련 용어
웜
- 네트워크를 통해 연속적으로 자기를 복제하여 시스템의 부하를 높임으로써 시스템을 다운시키는 바이러스
- 분산 서비스 공격, 버퍼 오버플로 공격(버퍼 크기보다 많은 데이터를 입력해 비정상 동작 유도) , 슬래머 등
랜섬웨어
- 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램
- 암호 해독용 프로그램 조건으로 한 돈 요구
백도어
- 시스템 설계자가 프로그래머의 엑세스 편의를 위해 시스템 보안을 제거하여 만들어 둔 비밀 통로
트로이목마
- 정상적 기능을 하는 프로그램으로 위장하여 프로그램 내에 숨어있다가, 해당 프로그램이 동작할 때 활성화되어 부작용 일으킴
'source-code > software' 카테고리의 다른 글
[정보처리기사 실기] C언어 (0) | 2023.09.27 |
---|---|
[정보처리기사 실기] 인터페이스 구현 (0) | 2023.09.21 |
[정보처리기사 실기] DBMS (0) | 2023.09.13 |
[정보처리기사 실기] 애플리케이션 테스트 (0) | 2023.09.12 |
[정보처리기사 실기] GoF 디자인 패턴 (0) | 2023.09.11 |