SDLC
: 소프트웨어 개발 수명 주기 (Software Development Life Cycle)
종류 | 보안 약점 | 해결 방법 |
---|---|---|
SQL 삽입 | 입력란에 SQL을 삽입하여 무단으로 DB를 조회, 조작 | 동적 쿼리에 사용되는 입력 데이터에 예약어 및 특수문자가 입력되지 않게 필터링 되도록 설정 |
경로 조작 및 자원 삽입 | 데이터 입출력 경로를 조작하여 서버 자원을 수정, 삭제 | 경로 순회 공격을 막는 필터 사용 |
크로스사이트 필터링(XSS) | 웹페이지에 악성 스크립트를 삽입하여 방문자의 정보 탈취. 비정상적 기능 수행 유발 | HTML 태그 사용을 제한 <,>,& 등의 문자를 다른 문자로 치환 |
운영체제 명령어 삽입 | 외부 입력값을 통해 시스템 명령어 실행을 유도하여 권한을 탈취하거나 시스템 장애 유발 | 웹 인터페이스를 통해 시스템 명령어 전달 방지 외부 입력값을 검증없이 내부 명령어로 사용하지 않음 |
위험한 형식 파일 업로드 | 악의적인 명령어가 포함된 스크립트 파일을 업로드하여 시스템에 손상을 입히거나 제어 | 업로드되는 파일의 확장자 제한 파일명의 암호화 웹사이트와 파일 서버의 경로 분리 실행 속성 제거 |
신뢰되지 않는 URL 주소로 연결 | 입력값으로 사이트 주소를 받는 경우 이를 조작하여 피싱 사이트로 유도 | 연결되는 외부 사이트의 주소를 화이트 리스트로 관리 |
종류 | 보안 약점 | 해결 방법 |
---|---|---|
적절한 인가 없이 중요기능 허용 | 보안검사를 우회하여 인증과정 없이 중요 정보 또는 기능에 접근 및 변경 가능 | 중요 정보나 기능을 수행하는 페이지에는 재인증 기능을 수행 |
부적절한 인가 | 접근제어 기능이 없는 실행경로를 통해 정보 또는 권한 탈취 | 모든 실행 경로에 대해 접근 제어 검사 수행 사용자에게는 반드시 필요한 접근 권한만 부여 |
중요한 자원에 대한 잘못된 권한 설정 | 권한 설정이 잘못된 자원에 접근하여 임의로 사용 | 관리자만 자원들에 접근하도록 설정 인가되지 않은 사용자의 중요 자원 접근 여부 검사 |
취약한 암호화 알고리즘 사용 | 암호화된 환경설정 파일을 해독하여 중요정보 탈취 | 안전한 암호화 알고리즘 사용 IT보안인증사무국이 안정성을 확인한 암호모듈을 이용 |
중요정보 평문 저장 및 전송 | 암호화되지 않은 평문 데이터를 탈취해 중요 정보 획득 | 중요 정보 저장, 전송 시 암호화 과정을 거침 보안 채널 이용 |
하드코드된 비밀번호 | 소스코드 유출 시 내부에 하드코드된 패스워드 이용 | 패스워드를 암호화하여 별도 파일 저장 기본 설정 패스워드나 키의 사용을 피함 |
##3# 코드 오류의 개요
표적이 되는 서버의 자원을 고갈시킬 목적으로 다수의 공격자 또는 시스템에서 대량의 데이터를 한 곳의 서버에 집중적으로 전송함으로써 표적이 되는 서버의 정상적인 기능을 방해
Ping of Death
SMURFING
SYN Flooding
TearDrop
Land
DDos(Distributed Denial of Service, 분산 서비스 거부) 공격
다중 사용자 컴퓨터 / 네트워크 시스템에서 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차
지식 기반 인증
소유 기반 인증
생체 기반 인증
기타 인증 방법
시스템 사용에 대한 모든 내역을 기록하여 시스템 침해 사고 발생 시, 해킹 흔적이나 공격 기법을 파악할 수 있음
방화벽
침입 탐지 시스템(IDS)
침입 방지 시스템(IPS)
데이터 유출 방지(DLS)
웹 방화벽
VPN(가상 사설 통신망)
NAC
ESM