본문 바로가기

정보처리기사 실기/소프트웨어 개발 보안 구축

입력 데이터 검증 및 표현

1. 입력 데이터 검증 및 표현

(1) SQL 삽입(Injection)

- 웹 응용 프로그램에 SQL을 삽입하여 내부 DB 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약점

- 동적 쿼리에 사용되는 입력 데이터에 예약어 및 특수문자가 입력되지 않게 필터링 되도록 설정하여 방지

 

(2) 경로 조작 및 자원 삽입

- 데이터 입출력 경로를 조작하여 서버 자원을 수정·삭제 할 수 있는 보안 약점

- 사용자 입력값을 식별자로 사용하는 경우, 경로 순회 공격을 막는 필터를 사용하여 방지

 

(3) 크로스사이트 스크립팅(XSS)

- 웹 페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 보안 약점

- HTML 태그 사용을 제한하거나 스크립트에 삽입되지 안도록 다른 문자로 치환함으로써 방지

 

(4) 운영체제 명령어 삽입

- 외부 입력값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유바랗는 보안 약점

- 웹 인터페이스를 통해 시스템 명령어가 전달되지 않도록 하고, 외부 입력값을 검증 없이 내부 명령어로 사용하지 않음으로써 방지

 

(5) 위험한 형식 파일 업로드

- 악의적인 명령어가 포함된 스크립트 파일을 업로드함으로써 시스템에 손상을 주거나, 시스템을 제어할 수 있는 보안 약점

- 업로드 파일의 확장자 제한, 파일명의 암호화, 웹 사이트와 파일 서버 경로 분리, 실행 속성을 제거하는 등의 방법으로 방지

 

(6) 신뢰되지 않는 URL 주소로 자동접속 연결

- 입력 값으로 사이트 주소를 받는 경우 이를 조작하여 방문자를 피싱 사이트로 유도하는 보안 약점

- 연결되는 외부 사이트 주소를 화이트 리스트로 관리함으로써 방지

 

(7) 메모리 버퍼 오버플로

- 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에서 자료를 읽거나 쓰려고 할 때 발생하는 보안 약점

- 메모리 버퍼를 사용할 경우 적절한 버퍼 크기를 설정하고, 설정 범위 메모리 내에서 올바르게 읽거나 쓸수 있게 하여 방지

 

출처 :  정보처리기사 실기 2024 기본서 / 저자 : 길벗알앤디(김정준, 강윤석, 김용갑, 김우경)  / 출판사 : 길벗

 

'정보처리기사 실기 > 소프트웨어 개발 보안 구축' 카테고리의 다른 글

암호 알고리즘  (0) 2024.04.24
캡슐화  (0) 2024.04.24
코드 오류  (0) 2024.04.24
보안 기능  (0) 2024.04.23
Secure SDLC  (0) 2024.04.23