상세 컨텐츠

본문 제목

[한국인터넷진흥원][정보보호] JavaScript 시큐어코딩 가이드 (2022.12)

정보보호 자료실/가이드라인

by 황컴플라이언스 2025. 1. 27. 15:36

본문

반응형

안녕하세요. 황컴플라이언스 입니다.

[한국인터넷진흥원][정보보호] JavaScript 시큐어코딩 가이드 (2022.12) 입니다.

업무에 참고하시기 바랍니다.

 

○ 자료명 : JavaScript 시큐어코딩 가이드

○ 발행일 : 2022년 12월

○ 주관부처 : 한국인터넷진흥원


[개요]

□ 추진배경

      • 빠른 실행과 반짝이는 서비스를 앞세운 스타트업들의 성장은 IT 생태계 전반에 큰 영향을 미쳤다.
      • 체계적이고 큰 규모의 프로젝트를 중심으로 자리 잡았던 소프트웨어 개발 문화도 빠른 제품 개발과 고객의 요구사항 대응을 위해 더욱 가볍고 효율적인 방법을 모색하고 지속적으로 진화 했다.
      • 이러한 변화의 흐름의 중심에는 웹 기술의 발전이 큰 부분을 차지했다. 웹은 컴파일 기반의 여타 제품들에 비해 빠르고 가볍게 개발이 가능하며, 별도의 배로 및 설치 없이도 고객의 PC 또는 스마트폰으로 서비스 제공이 가능하다.
      • 컴퓨터 하드웨어와 브라우저 성능이 뒷받침되지 않았던 상황에서, 초창기 웹 서비스는 웹 서버를 중심으로 동작했다.
      • 클라이언트는 단순히 필요나 정보를 요청하고 응답을 화면에 보여주는 수준에 그쳤다. 하지만 하드웨어 성능의 비약적인 발전과 더불어 웹 생태계를 구성하는 엔진이 고도화되면서 클라이언트의 비중도 함께 커지게 되었다.
      • 별도의 독립 파일 또는 패키지 형태로 배포되고 관리되는 일반적인 소프트웨어의 달리 웹은 브라우저라는 특수한 환경 위에서 동작하는 구조이다. 이에 사용자와 맞닿아 있는 인터페이스와 서비스의 핵심 데이터를 제공하는 서버 사이의 거리가 매우 멀고, 동시에 많은 사용자들이 이용한다는 특성을 가진다.
      • 초기 웹 서비스는 클라이언트의 비중이 그리 높지 않았다. 이에 서버의 핵심 자원을 안전하게 보호하는 것에 초점이 맞춰졌다. 하지만 웹 생태계가 거대해지고 복잡해지면서 클라이언트의 역할 또한 커지고 있다.

Javascript_시큐어코딩_가이드2023년_개정본.pdf
7.35MB
JavaScript 시큐어코딩 가이드 (2022.12) : 한국인터넷진흥원, 과학기술정보통신부


[목차]

제1장 개요

제1절 배경

제2절 왜 자바스크립트인가

제3절 가이드 목적 및 구성

제2장 시큐어코딩 가이드

제1절 입력데이터 검증 및 표현

  • SQL 삽입
  • 코드 삽입
  • 경로 조작 및 자원 삽입
  • 크로스사이트 스크립트(XSS)
  • 운영체제 명령어 삽입
  • 위험한 형식 파일 업로드
  • 신뢰되지 않은 URL 주소로 자동접속 연결
  • 부적절한 XML 외부 개체 참조
  • XML 삽입
  • LDAP 삽입
  • 크로스사이트 요청 위조(CSRF)
  • 서버사이트 요청 위조
  • 보안기능 결정에 사용되는 부적절한 입력값
  • 제2절 보안기능
  • 적절한 인증 없는 중요 기능 허용
  • 부적절한 인가
  • 중요한 자원에 대한 잘못된 권한 설정
  • 취약한 암호화 알고리즘 사용
  • 암호화되지 않은 중요정보
  • 하드코드된 중요정보
  • 충분하지 않은 키 길이 사용
  • 적절하지 않은 난수 값 사용
  • 취약한 패스워드 허용
  • 부적절한 전자서명 확인
  • 부적절한 인증서 유효성 검증
  • 사용자 하드디스크에 저장되는 쿠키를 통한 정보 노출
  • 주석문 안에 포함된 시스템 주요정보
  • 솔트 없이 일방향 해쉬 함수 사용
  • 무결성 검사없는 코드 다운로드
  • 반복된 인증시도 제한 기능 부재

제3절 시간 및 상태

  • 중료되지 않는 반복분 또는 재귀 함수

제4절 에러처리

  • 오류 메시지 정보노출
  • 오류상황 대응 부재
  • 부적절한 예외 처리

제5절 코드오류

  • Null Pointer 역참조
  • 부적절한 자원 해제
  • 신뢰할 수 없는 데이터의 역직렬화

제6절 캡슐화

  • 잘못된 세션에 의한 데이터 정보 노출
  • 제거되지 않고 남은 디버그 코드
  • Public 메소드로부터 반환된 Private 배열
  • Private 배열에 Public 데이터 할당

제7절 API 오용

  • DNS Lookup에 의존한 보안결정
  • 취약한 API 사용

제3장 부록

제1절 구현단계 보안약점 제거 기준

  • 입력데이터 검증 및 표현
  • 보안 기능
  • 시간 및 상태
  • 에러처리
  • 코드오류
  • 캡슐화
  • API 오용

제2절 용어정리


 더 많은 자료 찾아보기

 

황컴플라이언스의 공간

개인정보, 개인정보보호, 개인정보보호법, 정보통신망법, 컴플라이언스, 법규준수, 개인정보보호 관리체계

abraham-hwang.tistory.com

반응형

관련글 더보기