반응형
* 시큐어 코딩 : 잠재적 보안 약점을 제거하는 보안을 고려한 소프트웨어 설계 및 구현 활동
* 시큐어 코딩 참조
- KISA에서 '소프트웨어 개발 보안 가이드' 지속 업데이트 및 배포
- 해당 자료는 2019년 11월 기준 설계 단계(총 20개) / 구현 단계(총 47개) 구성
* 시큐어 코딩 설계 단계 : 개발 진행 전 설계 산출물을 기반으로 확인하는 단계
종류 | 내용 |
입력 데이터 검증 및 표현 | 입력에 의해 발생하는 취약점을 제거 |
보안 기능 | 접근 제어, 권한 관리, 비밀번호 설계 취약점 제거 |
에러 처리 | 에러 및 오류 상황의 불충분한 사전 정의로 데이터 유출 |
세션 통제 | 세션 간 데이터 공유 / 미허가 사용자 접근 / 만료 시간 미산정 약점 제거 |
* 시큐어 코딩 구현 단계 : 코드를 이용해 보안 약점을 제거하는 단계
단계 | 내용 | 예시 |
입력 데이터 검증 및 표현 | 검증 누락 / 부적절한 검증/ 잘못된 형식 검증 | XSS, SQL Injection |
보안 기능 | 보안 기능(인증, 접근제어, 기밀성, 암호화 등)의 설정 미흡을 제거 | 중요 정보 평문 저장, 하드 코딩된 비밀번호 등 |
시간 및 상태 | 병렬 프로세스나 스레드 환경의 취약점 제거 | 경쟁 조건, 종료되지 않은 반복문 또는 재귀 함수 |
에러 처리 | 처리하지 않거나 불충분 처리한 에러를 제거, 관리 | 부적절한 예외 처리, 오류 상황 대응 부재 |
코드 품질 | 복잡한 소스, 가독성 저하, 코드 오류 취약점 제거 | Null Pointer 역참조 |
캡슐화 | 중요 데이터의 불충분한 캡슐화로 인한 비인가자 접근 허용 방지 | 퍼블릭 메서드로부터 반한된 프라이빗 배열 |
API 오용 | 의도된 용도에 맞지 않는 취약한 API 사용 방지 | DNS 룩업에 의존한 보안 결정 |
반응형
'Information Security > Hacking' 카테고리의 다른 글
정적, 동적 분석 (Static, Dynamic Analysis) (0) | 2021.01.09 |
---|---|
시큐어 SDLC (Secure Software Development Life Cycle) (0) | 2021.01.09 |
사이버 표적 공격 역추적 (Advanced Persistent Threat Traceback) (0) | 2021.01.09 |
Security Action Cycle(SAC - 시점별 보안 활동) (0) | 2021.01.09 |
Tamper Proofing (0) | 2021.01.07 |