Secure SDLC : 비용 최소화, SW 개발 생명주기 방법론에 보안 프로세스 포함
Secure Coding : 구현 단계에서 위협 요소들 고려하며 코딩
세션 : 서버와 클라이언트 연결, 요구사항 분석/설계 단계에서 실행
● 입력 데이터 검증 및 보안 약점
-> SQL 삽입 : 필터링
-> 경로 조작 및 자원 삽입 : 필터 사용
-> XSS : HTML 태그 사용 제한, 특수 문자를 다른 문자로 치환
-> OS 명령어 삽입 : 외부 입력 값을 검증 없이 내부 명령어로 사용 X
-> 위험한 형식 파일 업로드 : 사이트와 서버 경로 분리, 실행 속성 제거
-> 비신뢰 URL 자동 접속 : 화이트 리스트로 관리
● 교착상태 예방 불가능
● TOCTOU 경쟁 조건 : 검사 시점과 사용 시점을 고려하지 않고 코딩 시 발생
● Race Condition : 두 개 이상의 프로세스가 공용 자원을 획득하기 위해 경쟁하는 상황
에러 처리 : 오류 메시지를 통한 정보노출, 오류 상황 대응 부재, 부적절한 예외처리
코드 오류
널 포인트 역참조 – 널 값 검사
부적절한 자원 해제 – 예외처리에 관계없이 자원 반환되도록 코딩
해제된 자원 사용 – 포인터 초기화
초기화되지 않은 변수 사용 – 메모리 초기화
캡슐화 :
잘못된 세션에 의한 정보 노출 – 레이스컨디션으로 동기화 오류 발생
방지법 : 멤버 변수 보다 지역 변수 활용
제거되지 않고 남은 디버그 코드 - 공격자가 악용 가능
방지법 : 남아있는 디버그 코드 삭제
시스템 데이터 정보 노출 – 시스템 메시지를 외부로 출력하도록 코딩 시 발생
방지법 : 노출되는 메시지는 최소한의 정보만 제공
● Public 메소드로부터 반환된 Private 배열 : 배열의 주소가 외부로 공개되어 외부에서 접근 가능
-> Private 배열을 별도 메소드를 통해 조작
● Private 배열에 Public 데이터 할당 : Private 배열을 외부에서 접근할 수 있게 된다.
-> 래퍼런스가 아닌 값을 직접 저장
API 오용
보안 취약한 API 사용 시 발생 ex. strcat(), strcpy()
방지법 : 안전한 함수로 대체, 보안 보장되는 인터페이스 사용
API를 잘못된 방식으로 사용 시 발생
도메인 명을 통해 보안 결정 내릴 때 발생 : DNS Lookup
방지법 : 도메인 이름을 비교하지 않고 IP 주소를 직접 입력해 방지
● DES 알고리즘 : 평문 -> 64bit / 실제 키 -> 56bit
● RSA 기법 : 암호화/복호화에 서로 다른 별도의 키 사용
● 해시 : 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환
● SEED : KISA에서 개발
'자격증 > 정보처리기사 - 필기' 카테고리의 다른 글
정보시스템 구축 관리 - 시스템 보안 구축 (0) | 2020.07.18 |
---|---|
정보시스템 구축 관리 - IT 프로젝트 정보시스템 구축 관리 (0) | 2020.02.28 |
정보시스템 구축 관리 - SW 개발 방법론 활용 (0) | 2020.02.27 |
프로그래밍 언어 활용 - 응용 SW 기초 기술 활용 (0) | 2020.02.26 |
프로그래밍 언어 활용 - 프로그래밍 언어 활용 (0) | 2020.02.25 |