모든 강의를 무료로 볼 수 있어요. 회원가입 없이도 학습 가능합니다.

10강 / 전체 13강

성능 최적화와 시큐어 코딩

6분 읽기 조회 2

소프트웨어 성능 4대 지표와 OWASP Top 10 보안 취약점을 체계적으로 정리하고 시큐어 코딩 13가지 분류를 완벽히 이해합니다.

📊 소프트웨어 성능 4대 지표

이 섹션에서는 소프트웨어 성능을 측정하는 4가지 핵심 지표를 살펴보겠습니다.

성능(Performance)은 소프트웨어가 주어진 조건에서 얼마나 효율적으로 작동하는지를 나타냅니다. 정보처리기사 기출에서는 성능 지표의 이름과 정의를 1:1로 연결하는 문제가 자주 출제됩니다.

지표영문정의단위
처리량Throughput단위 시간 내 처리 가능한 요청 수TPS(Transaction/sec)
응답 시간Response Time요청 후 첫 응답까지 걸리는 시간초(ms)
자원 사용률Resource UtilizationCPU·메모리·디스크·네트워크 사용 비율%(퍼센트)
가용성Availability전체 시간 중 정상 운영 시간의 비율%(예: 99.9%)

암기법: "처응자가" — 처리량·응답시간·자원사용률·가용성 4가지를 묶어 기억합니다.

가용성 계산: 가용성(%) = (가동 시간 / 전체 시간) × 100. 99.9%는 연간 약 8.76시간 다운타임을 허용합니다. "파이브 나인(99.999%)"은 연간 약 5.26분 이하 다운타임을 요구합니다.

성능 분석 기법: 코드 인스펙션(Code Inspection)은 작성자 외 다른 개발자가 코드를 검토하는 정적 기법입니다. 정적 분석(Static Analysis)은 실행 없이 코드를 분석하여 잠재적 결함을 찾습니다. 동적 분석(Dynamic Analysis)은 실제 실행 중에 프로파일링으로 병목 지점을 찾습니다.

🔐 OWASP Top 10 (2021) 전체 정리

이 섹션에서는 오픈 웹 애플리케이션 보안 프로젝트(OWASP)가 선정한 2021년 Top 10 보안 취약점을 살펴보겠습니다.

OWASP Top 10은 웹 애플리케이션 보안에서 가장 심각한 10가지 취약점을 선정한 것으로, 기출에서 A01~A10의 이름과 설명을 연결하는 문제가 출제됩니다.

순위취약점핵심 내용
A01접근 통제 취약점(Broken Access Control)권한 없는 사용자가 제한된 기능/데이터에 접근
A02암호화 실패(Cryptographic Failures)민감 데이터가 평문으로 저장/전송됨
A03인젝션(Injection)SQL·OS·LDAP 등 해석기에 악성 데이터 삽입
A04안전하지 않은 설계(Insecure Design)설계 단계의 보안 결함
A05보안 설정 오류(Security Misconfiguration)기본 설정·불필요 포트·오류 메시지 노출
A06취약한 구성요소(Vulnerable Components)알려진 취약점의 라이브러리·프레임워크 사용
A07인증 실패(Identification and Authentication Failures)약한 패스워드·세션 고정·크리덴셜 스터핑
A08무결성 실패(Software and Data Integrity Failures)신뢰할 수 없는 소스의 업데이트·직렬화
A09로깅·모니터링 실패(Security Logging Failures)공격 탐지·대응 실패
A10SSRF(Server-Side Request Forgery)서버가 공격자가 지정한 내부 URL에 요청

기출 함정: 2021년 기준으로 접근 통제 취약점(A01)이 1위입니다. 2017년 버전과 달리 인젝션은 A03으로 내려갔습니다. 시험에서 연도를 명시하면 해당 버전으로 답해야 합니다.

💉 3대 웹 공격 — SQL 인젝션·XSS·CSRF

이 섹션에서는 실무와 기출 모두에서 가장 중요한 세 가지 웹 공격 원리와 방어 방법을 살펴보겠습니다.

SQL 인젝션(SQL Injection)은 사용자 입력에 SQL 구문을 삽입하여 데이터베이스를 조작하는 공격입니다. 예를 들어 로그인 폼에 ID로 "admin' OR '1'='1"을 입력하면 WHERE 조건이 항상 참이 되어 인증을 우회할 수 있습니다. 방어: 준비된 구문(Prepared Statement)·파라미터화된 쿼리 사용, 입력값 이스케이프, 최소 권한 DB 계정 사용.

XSS(Cross-Site Scripting)는 악성 스크립트를 웹 페이지에 삽입하여 다른 사용자의 브라우저에서 실행시키는 공격입니다. 저장형(Stored) XSS는 서버 DB에 스크립트를 저장하고, 반사형(Reflected) XSS는 URL 파라미터에 스크립트를 포함합니다. 방어: 출력 시 HTML 이스케이프(&·<·>·" 등), CSP(Content Security Policy) 헤더 설정.

CSRF(Cross-Site Request Forgery)는 인증된 사용자가 의도하지 않은 요청을 전송하도록 유도하는 공격입니다. 사용자가 로그인한 상태에서 악성 사이트의 이미지나 링크를 클릭하면 은행 이체 등의 요청이 자동으로 전송됩니다. 방어: CSRF 토큰 사용, SameSite 쿠키 속성, Referer 헤더 검증.

공격공격 대상핵심 원리주요 방어
SQL 인젝션데이터베이스SQL 구문 삽입Prepared Statement
XSS사용자 브라우저스크립트 삽입/실행HTML 이스케이프
CSRF인증된 사용자위조 요청 전송CSRF 토큰

🛡️ 시큐어 코딩 13가지 보안 약점 분류

이 섹션에서는 행정안전부(KISA)가 제시한 소프트웨어 보안 약점 13가지 분류를 살펴보겠습니다.

한국인터넷진흥원(KISA)의 소프트웨어 보안 약점 기준은 공공기관 소프트웨어 개발 시 의무적으로 적용되며, 정보처리기사 기출에서도 분류명과 설명을 연결하는 문제가 출제됩니다.

  • 입력 데이터 검증 및 표현: SQL 인젝션·XSS 등 입력값 검증 부재로 인한 취약점
  • 보안 기능: 인증·권한·암호화·세션 관리 미흡
  • 시간 및 상태: 경쟁 조건(Race Condition), TOCTOU 취약점
  • 에러 처리: 오류 메시지에 민감 정보 포함
  • 코드 품질: NULL 포인터 역참조, 메모리 누수
  • 캡슐화: 중요 정보 노출, 잘못된 접근 제한
  • API 오용: 보안에 취약한 함수 사용 (예: gets())

암기법: "입보시에코캡API" — 입력·보안·시간·에러·코드·캡슐화·API 7가지 대분류(실제 13가지 세분류). 기출에서는 주로 분류명 식별과 대표 사례 연결을 묻습니다.

기출 함정: "CSRF는 XSS의 일종이다" → 틀림. 둘은 다른 공격입니다. "SQL 인젝션은 입력 데이터 검증 분류에 속한다" → 맞음. "OWASP Top 10은 데이터베이스 취약점만 다룬다" → 틀림. 웹 애플리케이션 전체 보안을 다룹니다.

📌 10강 핵심 요약과 11강 예고

이 섹션에서는 10강 핵심 내용을 압축 정리합니다.

성능 4지표: 처리량(TPS)·응답시간(ms)·자원사용률(%)·가용성(%). 분석 기법: 인스펙션(정적·사람)·정적분석(도구)·동적분석(실행 중).

OWASP 2021 순위: A01 접근통제→A02 암호화실패→A03 인젝션→A04 안전하지않은설계→A05 보안설정오류. 3대 공격: SQL인젝션(PreparedStatement)·XSS(이스케이프)·CSRF(CSRF토큰).

시큐어코딩 대분류: 입보시에코캡API. 입력 검증이 가장 중요한 1순위입니다.

다음 11강에서는 데이터베이스 개념과 관계 모델 — DBMS 특성, 3단계 스키마, 관계 데이터 모델의 핵심 개념, 키 5종, 무결성 4종, 관계 대수 6연산을 완벽히 정리합니다.

관련 주제

  • 처리량 응답시간 자원사용률 가용성
  • 코드 인스펙션 정적 분석
  • OWASP Top 10
  • SQL 인젝션 XSS CSRF
  • 시큐어 코딩 13가지
  • 입력값 검증
  • 자격증
  • 자격증 강의
  • 정보처리기사 필기 25강 — 핵심이론·기출 완전정복
  • 무료강의
  • 무료 온라인 강의
  • NUGUNA
  • 누구나

📚 시리즈 전체 공유

정보처리기사 필기 25강 — 핵심이론·기출 완전정복

이 강의가 속한 시리즈는 총 13강, 모두 무료입니다. 처음부터 배우려는 동료에게 시리즈 전체를 알려 주세요.

댓글

0/1000

불러오는 중...