본문 바로가기

정보처리기사/필기

과목5 - 소프트웨어 개발 보안 설계

  • SW 개발 보안 3요소
    • 기밀성 : 허가된 사용자만 정보에 접근
    • 무결성 : 허가된 방법으로만 제어(수정, 삭제, 추가) 의미
    • 가용성 : 어디서 언제던지 접속
  • 입력 데이터 검증의 정의
    • 사본 오류(Transcription Error) - 잘못된 숫자
    • 전위 오류(Transposition Error) - 잘못된 위치
    • 더블 전위 오류(Transpostion Error) - 이중 잘못된 위치
    • 랜덤 오류 - 마구자비
    • 생략 오류(Omission Error) - 빠진거
    • 첨가 오류 - 추가로 들어간거
  • SQL 삽입 - SQL문 삽입
  • XSS - 스크립 삽입
    • 이스케이프 처리
  • 보안 기능
    • 인증 취약점 : 2단계 인증
    • 권한 관리 취약점
    • 입력 검증 취약점
    • 암호화 취약점
  • 비밀번호 관리
    • 하드코드 : 다른 approperties, 환경변수에 관리하는 것이 아니라, 바로 코드에 노출
    • 솔트 : 암호화 되지 않은 데이터를 해싱하기전.... 노출 가능
      • 기존 비밀번호에 솔트를 추가하여 새로운 비밀번호 적용
        • 이때 암호공격을 막기 위해 똑같은 패스워드들이 다른 암호 값으로 저장되도록 추가되는 값을 의하는 것
      • 헤싱 : 암호화시키는 것
        • abcd123 -> fwfwgvw23wg53w2rf 하는것
  • 세션 설계시 고려사항
    • 복잡한 알고리즘으로 발급받기
    • 만료시간이 존재해야함
    • 새로 발급시 변경되어 발급하기