위험SW-SF-16CWE-330🔐 SW-SF 보안기능
적절하지 않은 난수값 사용
Use of Insufficiently Random Values
보안에 예측 가능한 난수 생성 함수를 사용하여 세션 토큰, 암호화 키 등을 생성하는 취약점
⚡ 발생 원인
Math.random(), rand() 등 비암호학적 난수 사용
💥 보안 영향
세션 토큰 예측, 암호화 키 추측으로 보안 우회
취약한 코드 vs 안전한 코드
취약한 코드 (javascript)
// 취약한 코드 - Math.random() 으로 토큰 생성 const sessionToken = Math.random().toString(36).substr(2); const resetToken = Date.now().toString(16); // 예측 가능 const otp = Math.floor(Math.random() * 1000000); // 예측 가능
안전한 코드 (javascript)
// 안전한 코드 - crypto 모듈 사용
import { randomBytes, randomInt } from 'crypto';
// 세션 토큰: 암호학적 안전 난수
const sessionToken = randomBytes(32).toString('hex');
// OTP: 암호학적 안전 정수
const otp = randomInt(100000, 999999);
// UUID v4도 안전
import { randomUUID } from 'crypto';
const id = randomUUID();🛡️
ISMS-P 인증기준 연계
2.7.1 암호정책 적용
🔬 AI 코드 진단
내 코드에 적절하지 않은 난수값 사용 취약점이 있는지 바로 확인하세요
코드를 붙여넣으면 AI가 KISA 7대 보안약점 기준으로 적절하지 않은 난수값 사용 등 취약점을 자동 분석합니다.
AI 코드 진단 실습 →전문가 보안 점검
적절하지 않은 난수값 사용 등 SW 보안약점을 전문가가 직접 점검해드립니다
ISMS-P 선임심사원이 직접 수행하는 수탁사 보안성 검토 서비스입니다.
KISA SW 개발보안 가이드 기준으로 코드·시스템 전체를 점검하고 ISMS-P 심사 증적을 제공합니다.