정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 에러처리 — 입력 검증과 보안 서비스

Secure 코딩의 출발점은 외부 입력을 검증하는 일이다. 검증이 빠지면 SQL 삽입과 크로스사이트 스크립트, 운영체제 명령어 삽입이 생긴다. 보안 서비스는 인증, 암호화, 부인 방지처럼 저마다 다른 목적을 맡는다.

2026-11-08 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「에러처리」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
입력 검증 약점 판별1외부 입력 검증 부재와 무관한 취약점 설명 가리기
SQL 삽입 기법 보편성1DBMS 종류에 따른 공격 기법 차이 판단
웹 보안 프로젝트 식별1웹 취약점 연구 오픈소스 프로젝트 이름 가리기

뜻

보안 코딩에서 입력 데이터 처리는 핵심이다. SQL 삽입은 데이터베이스 쿼리를 조작하는 공격이고, 크로스사이트 스크립트는 브라우저에서 악성 코드를 실행하게 하는 공격이며, 운영체제 명령어 삽입은 서버의 명령어를 직접 실행하게 하는 공격이다. 이들은 모두 외부 입력값을 적절히 검증하지 않아 생기는 보안 약점이다. 자원 고갈은 주로 외부에서 대량의 요청을 보내 시스템 자원을 소모시키는 방식으로 일어나며, 내부 입력으로 불가능한 자원을 입력하는 공격으로 설명하지 않는다.

SQL 삽입은 사용자의 입력값이 검증 없이 SQL 문에 그대로 삽입되는 취약점을 이용한다. 다만 DBMS마다 지원 함수와 구문 구조, 주석 처리 방식이 달라 공격 기법이 모두 같지는 않다. Oracle과 MySQL의 문법이 다른 점이 그 예다. 입력 검증이 빠진 취약점으로는 SQL 삽입, 크로스사이트 스크립트, 운영체제 명령어 삽입이 함께 묶인다.

웹 애플리케이션 보안 취약점 연구를 주도하는 오픈소스 프로젝트는 OWASP다. OWASP는 Open Web Application Security Project의 약자로, 웹 보안 표준과 가이드라인을 만들고 취약점 목록을 공개한다. WWW는 월드 와이드 웹이라는 인터넷 서비스 자체이고, ITU는 통신 표준을 정하는 국제 기구이므로 보안 연구 프로젝트가 아니다.

보안 서비스는 목적마다 다르다. 부인 방지는 송수신 사실을 입증하는 전자적 증거를 제공하여 당사자가 자기 행위를 부정하지 못하게 한다. 인증은 신원을 확인하고, 암호화는 내용을 숨기며, 위험 탐지는 공격을 찾아낸다. 암호화 기법에서는 암호화 키와 해독 키가 같은지 다른지로 대칭과 비대칭을 가른다.

공중키 암호화 기법은 암호화 알고리즘과 암호화 키를 공개하고, 복호화에 쓰이는 알고리즘과 열쇠는 외부에 드러내지 않는다. 공개키로 암호화한 데이터는 비밀 키를 가진 사람만 해독한다. 공개키 시스템은 공개키를 쉽게 배포할 수 있어 비밀키 시스템보다 키 분배가 용이하다. DES는 대칭키 방식이고, 대체 암호화와 전치 암호화는 단순한 치환이나 위치 변경을 이용한 고전적 방식이다.

예제

에러처리와 보안 문제는 용어의 목적을 뒤바꾼다. 송수신 사실의 부인을 막는 기능을 인증이나 암호화로 돌리면 틀리고, 공개키 시스템이 키 분배가 어렵다고 하면 반대다. SQL 삽입 기법이 모든 DBMS에서 동일하다는 설명도 문법 차이를 무시한 함정이다. 자원 고갈을 내부 입력으로 불가능한 자원을 넣는 공격으로 설명하는 선지 역시 공격 경로와 어긋난다.

대표 기출 3문항

SQL Injection 공격과 관련한 설명으로 틀린것은?

  1. SQL Injection은 임의로 작성한 SQL 구문을 애플리케이션에 삽입하는 공격방식이다.
  2. SQL Injection 취약점이 발생하는 곳은 주로웹 애플리케이션과 데이터베이스가 연동되는 부분이다.
  3. DBMS의 종류와 관계없이 SQL Injection공격 기법은 모두 동일하다.
  4. 로그인과 같이 웹에서 사용자의 입력 값을 받아 데이터베이스 SQL문으로 데이터를요청하는 경우 SQL Injection을 수행할 수 있다.
정답과 해설 보기

정답 ③ · 웹 애플리케이션과 데이터베이스 간의 입력값 검증 부실로 발생하는 SQL 인젝션 공격의 특성을 묻는 문제이다. SQL 인젝션 공격은 공격 대상이 되는 DBMS(오라클, MySQL, MS-SQL 등)의 종류에 따라 지원하는 내장 함수, 주석 기호, 시스템 테이블 구조 등이 다르기 때문에 공격 기법과 구문이 달라진다.

SQL Injection 공격 기법은 DBMS 종류(Oracle, MySQL 등)에 따라 사용 가능한 함수나 구문이 다르므로 동일하지 않습니다.

오픈소스 웹 애플리케이션 보안 프로젝트로서 주로 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 곳은?

  1. WWW
  2. OWASP
  3. WBSEC
  4. ITU
정답과 해설 보기

정답 ② · 웹 애플리케이션 보안 취약점을 연구하는 오픈소스 프로젝트의 명칭을 묻는 문제이다. OWASP는 Open Web Application Security Project의 약자로, 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 국제 오픈소스 프로젝트이다.

웹 애플리케이션 보안 취약점 연구를 주도하는 오픈소스 프로젝트는 OWASP이다.

Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으로 틀린 것은?

  1. SQL 삽입 : 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
  2. 크로스사이트 스크립트 : 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행
  3. 운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작
  4. 자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생
정답과 해설 보기

정답 ④ · 이 문제는 입력 데이터 검증 관련 보안 약점 설명 중 틀린 것을 찾는 문제이다. 자원 삽입은 시스템 자원을 임의로 사용하는 공격으로, 외부 입력 값으로 시스템이 허용하지 않은 자원을 지정해 발생하는 취약점이지 설명처럼 내부 입력 값으로 시스템에 과부하를 일으키는 것이 아니다.

자원 삽입(Resource Exhaustion)은 외부 입력이 아닌 시스템 자원을 고갈시키는 공격 유형이며, 설명이 부정확합니다.

자주 묻는 물음

SQL 삽입 공격 기법은 모든 DBMS에서 같은가?
같지 않다. DBMS 종류에 따라 지원 함수와 구문 구조가 달라 사용 가능한 기법이 달라진다.
송수신 사실을 부정하지 못하게 하는 보안 메커니즘은 무엇인가?
부인 방지다. 전자 서명이나 로그 기록으로 송수신 사실을 객관적으로 입증하여 당사자의 부인을 막는다.
공개키 시스템의 키 분배는 비밀키 시스템과 어떻게 다른가?
공개키 시스템은 공개키를 쉽게 배포할 수 있어 키 분배가 용이하고, 비밀키 시스템은 같은 키를 공유해야 하므로 키 전달이 어렵다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.