List

데이터 조작 공격이 일어나는 방식과 막는 법

#웹가이드

Web GuideSQL 인젝션데이터 유출입력값 검증
데이터 조작 공격이 일어나는 방식과 막는 법
검색창 하나로 회원 정보가 전부 빠져나갈 수 있습니다.
가장 오래된 공격이지만 여전히 가장 많은 피해를 만듭니다.
데이터 조작 공격이 일어나는 방식과 막는 법 관련 사진
01어떻게 일어나나
사용자가 입력한 내용을 그대로 데이터베이스 명령에 붙이면 문제가 생깁니다.
공격자는 입력칸에 명령의 일부가 되는 문자를 넣습니다.
STEP 01
입력
공격자가 특수한 문자를 입력합니다
STEP 02
결합
입력값이 명령에 그대로 붙습니다
STEP 03
실행
의도하지 않은 명령이 실행됩니다
02가능한 피해
정보 조회에 그치지 않습니다.
01
전체 회원 정보 유출
가장 흔하고 치명적입니다.
02
로그인 우회
비밀번호 없이 로그인합니다.
03
데이터 변조
주문 금액이나 권한을 바꿉니다.
04
데이터 삭제
테이블 전체를 지울 수도 있습니다.
05
서버 장악
설정에 따라 서버 명령까지 실행됩니다.
03막는 방법
개발 단계에서 방식을 정하면 대부분 막을 수 있습니다.
값 분리 처리
입력값을 명령과 분리해 전달하는 방식을 씁니다.
입력 검증
숫자 칸에는 숫자만 받게 합니다.
권한 최소화
웹에서 쓰는 계정에 삭제 권한을 주지 않습니다.
오류 숨김
데이터베이스 오류를 화면에 보이지 않게 합니다.
웹방화벽
알려진 공격 패턴을 걸러냅니다.
점검
정기적으로 취약점 점검을 받습니다.
04발주자 확인 사항
코드를 볼 수 없어도 확인할 방법이 있습니다.
처리 방식 질문
입력값을 어떻게 처리하는지 물어봅니다.
오류 화면 확인
이상한 값을 넣었을 때 오류가 노출되는지 봅니다.
점검 이력
보안 점검을 받은 적이 있는지 확인합니다.
계정 권한
웹 계정에 과도한 권한이 없는지 확인합니다.
계약 반영
취약점 발견 시 조치 책임을 명시합니다.
정기 점검
연 1회 점검을 계약에 포함합니다.
CHECK POINT
□  입력값을 명령과 분리해 처리하는지 확인했는가
□  입력 형식 검증이 이루어지는가
□  데이터베이스 오류가 화면에 노출되지 않는가
□  웹에서 쓰는 계정의 권한이 최소화되어 있는가
□  웹방화벽 도입을 검토했는가
□  보안 점검을 받은 이력이 있는가
□  취약점 조치 책임이 계약에 있는가
검색창 하나로 회원 정보 전체가 빠져나갈 수 있습니다.
가장 오래된 공격이지만 지금도 가장 많은 유출 사고의 원인입니다.
#SQL 인젝션#데이터 유출#입력값 검증#회원정보#웹방화벽#취약점 점검#개발 보안#보안#웹비스타#홈페이지 제작
목록보기