Secure SDLC
Seven touch points : 소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론이다.
보안 요소
- 기밀성 : 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용된다.
- 무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있음
- 가용성 : 인사받은 사용자는 언제라도 사용할 수 있음
입력 데이터 검증 및 표현
보안 약점 종류
- SQL injection : sql을 삽입하려 내부 DB서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 보안 약점
- 경로조작 및 자원삽입 : 데이터 입출력 경조 조작으로 자원을 수정,삭제할 수 있는 보안 약점
- 크로스사이트스크립팅 : 웹 페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취 및 비정상적인 기능 수행을 유발한다.
- OS명령어 삽입 : 외부 입력값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유발하는 보안 약점
- 메모리 버퍼 오버플로 : 아웃오브 바운드와 비슷
코드 오류
스택 가드 : 스택에서 발생하는 보안 약점을 막는 기술 중 하나임 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술은?
암호 알고리즘
- 개인키 암호화 기법 : 동일한 키로 데이터를 암호화하고 복호화 함
- 장점 : 알고리즘 단순, 파일크기 작음,
- 단점 :사용자 증가에 따라 관리해야 할 키의 수가 많아짐
- 키의 개수 = n(n-1) / 2
- 공개 키 암호화 기법 : 공개키로 암호화 및 개인키는 비밀리에 보관
- 장점 : 키의 분배가 용이함
- 속도가 느림, 알고리즘이 복잡, 파일의 크기가 큼
- 키의 개수 = 2n
양방향 알고리즘 종류