정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 세션통제 — 입력 검증과 암호화 원칙

세션통제는 사용자와 시스템 사이의 연결과 데이터 흐름을 안전하게 관리하는 일이다. 외부 입력을 검증하지 않으면 SQL 삽입과 크로스사이트 스크립트 같은 공격이 발생하고, 데이터를 보호하려면 암호화와 부인 방지 같은 보안 원칙이 함께 갖춰져야 한다.

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

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

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

시험에 이렇게 나온다

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

묻는 꼴문제 수무엇을 묻나
입력 검증 취약점 판별1자원 삽입 설명의 오류를 가려내기
SQL 삽입 성질 판단1DBMS별 기법 차이를 묻는 선지 가리기
웹 보안 프로젝트 식별1취약점 연구 오픈소스 프로젝트 고르기

뜻

입력 데이터의 보안 약점은 외부에서 들어오는 값을 제대로 검증하지 않을 때 생긴다. SQL 삽입은 데이터베이스 쿼리를 조작하는 공격이고, 크로스사이트 스크립트는 브라우저에서 악성 코드를 실행하게 하는 공격이며, 운영체제 명령어 삽입은 서버의 명령어를 직접 실행하게 하는 공격이다. 모두 외부 입력 검증 부재와 관련이 있다. 자원 고갈은 주로 외부에서 대량의 요청을 보내 시스템 자원을 소모시키는 방식이므로, 내부 입력 값을 통해 불가능한 자원을 입력한다는 설명은 성립하지 않는다.

SQL 삽입은 사용자의 입력값이 검증 없이 SQL 문에 그대로 삽입되는 취약점을 이용한다. 다만 DBMS 종류에 따라 사용할 수 있는 함수나 구문이 다르므로 공격 기법이 모두 동일하지는 않다.

웹 애플리케이션의 보안 취약점과 악성 스크립트를 연구하는 오픈소스 프로젝트는 OWASP다. 전 세계적으로 웹 보안 표준과 가이드라인을 만들고 취약점 목록을 공개한다. WWW는 인터넷 서비스 자체이고, ITU는 통신 표준을 정하는 국제 기구이므로 보안 연구 프로젝트와 구별한다.

보안 메커니즘은 목적에 따라 나뉜다. 부인 방지는 송수신 사실을 입증하는 전자적 증거를 제공하여 당사자가 자신의 행위를 부정하지 못하게 한다. 인증은 신원을 확인하고, 암호화는 내용을 숨기며, 위험 탐지는 공격을 찾아낸다.

암호화는 키를 어떻게 쓰는지로 갈린다. 대칭키 방식은 암호화와 해독에 같은 키를 쓰며 DES, SEED, RC2가 여기에 속한다. 공개키 방식은 암호화키인 공개키와 해독키인 개인키가 서로 다르므로 공개키는 공개되어도 되고 개인키만 비밀로 유지한다. 키 분배가 용이하고, RSA가 대표적인 공개키 알고리즘이다. DES는 평문을 64비트 블록으로 나누어 처리하며, 64비트 키 가운데 8비트는 패리티 비트로 제외하고 실제 유효 키 길이는 56비트를 쓴다.

객체지향의 캡슐화는 데이터와 처리 로직을 묶어 정보를 은닉하고 결합도를 낮추어 재사용성을 높인다. 재사용이 불가능해진다는 설명은 캡슐화의 목적과 정반대다.

예제

세션통제 문제는 용어의 정의와 성질을 뒤바꾸는 함정이 많다. SQL 삽입 기법이 DBMS 종류와 무관하게 모두 동일하다고 하거나, 자원 삽입을 자원 고갈과 같은 것으로 보면 틀린다. 공개키 시스템에서 공개키까지 보안해야 한다고 하거나, 재사용이 불가능해진다고 하는 선지도 함정이다. 부인 방지 대신 인증이나 암호화를 고르게 하는 문제, DES의 블록 크기와 유효 키 길이를 뒤섞는 문제도 자주 나온다. 암호화·인증·부인 방지의 목적어를 기준으로 선지를 소거한다.

대표 기출 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 종류에 따라 사용할 수 있는 함수나 구문이 다르므로 공격 기법이 모두 동일하지 않다.
공개키 시스템에서 보안해야 하는 키는 무엇인가?
오직 개인키만 비밀로 유지한다. 공개키는 공개되어도 해독키 유출로 이어지지 않아 키 분배가 용이하다.
DES 알고리즘의 블록 크기와 실제 유효 키 길이는 얼마인가?
평문을 64비트 블록으로 처리하고, 64비트 키 가운데 8비트 패리티를 제외한 56비트를 실제 키로 쓴다.
이 개념 문제 10개 풀기 회원용

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